第1章:工控机编程环境搭建
各位同学,咱们正式开始。工控机编程,说白了就是让机器按你的想法干活。但干活之前,你得先把工具备齐。我见过太多人一上来就写代码,结果编译报错、环境冲突,折腾半天连个Hello World都跑不出来。
这一章,咱们就把Python、C++编译器、远程SSH开发这三个核心工具装好。跟着我来,一步都不要跳。
1.1 安装Python:工控编程的瑞士军刀
Python在工控领域有多火?我去年做的一个产线数据采集项目,上位机程序就是用Python写的。原因很简单:开发快,库多,调试方便。
第一步:下载Python
去Python官网(python.org)下载。注意,别下最新的3.12,我建议用3.10或3.11。为什么?因为有些工控相关的库(比如pyModbus、opcua-asyncio)对新版本支持还不完善。我在项目中就吃过这个亏——3.11刚出时,一个串口库死活装不上,折腾了两天。
第二步:安装时勾选关键选项
安装界面出来时,记得勾选「Add Python to PATH」。这个选项不勾,你后面在命令行里敲python会提示找不到命令。嗯,这里要注意,很多新手就是栽在这一步。
第三步:验证安装
打开命令行(Windows按Win+R,输入cmd),敲:
python --version
pip --version
如果看到版本号,说明装好了。如果提示「不是内部或外部命令」,那就是PATH没配好。别慌,去系统环境变量里手动加上Python的安装路径就行。
python -m venv myenv,然后激活它。
1.2 安装C++编译器:GCC还是MinGW?
工控机上跑C++,性能是王道。但Windows不像Linux自带gcc,你得自己装。这里有两个选择:
| 编译器 | 适用平台 | 特点 |
|---|---|---|
| MinGW-w64 | Windows | 轻量,兼容性好,工控常用 |
| GCC (Linux) | Linux | 原生支持,性能更优 |
Windows用户:安装MinGW-w64
去sourceforge.net搜索MinGW-w64,下载安装包。安装时注意架构选x86_64,线程模型选posix。我刚开始用的时候选了win32线程模型,结果有些多线程库编译不过,后来才搞清楚区别。
装完后,把MinGW的bin目录(比如C:\mingw64\bin)加到系统PATH里。验证方法:
gcc --version
g++ --version
Linux用户:安装GCC
一句话搞定:
sudo apt update
sudo apt install build-essential
build-essential这个包会把gcc、g++、make等工具一次性装好。我在Ubuntu上做工控开发时,每次都先跑这条命令。
1.3 配置远程SSH开发:VS Code Remote
工控机通常没有显示器,你不可能抱着键盘鼠标去现场调试。远程SSH开发是必备技能。说白了,就是你在自己的电脑上写代码,代码在工控机上编译运行。
第一步:工控机开启SSH服务
Linux工控机一般自带SSH服务,检查一下:
sudo systemctl status sshd
如果没启动,执行:
sudo systemctl start sshd
sudo systemctl enable sshd
Windows工控机需要安装OpenSSH。在「设置」→「应用」→「可选功能」里添加OpenSSH服务器。装好后,在服务管理器里启动sshd服务。
第二步:VS Code安装Remote插件
打开VS Code,点左侧扩展图标,搜索「Remote - SSH」,安装。这个插件是微软出的,稳定得很。
第三步:配置连接
按F1,输入Remote-SSH: Connect to Host,然后输入:
ssh 用户名@工控机IP地址
比如:
ssh admin@192.168.1.100
输入密码,就连上了。你会看到VS Code左下角显示「SSH: 192.168.1.100」。这时候你打开的文件夹、终端,都是工控机上的。
重点来了: 配置免密登录能省很多事。在本地电脑生成密钥:
ssh-keygen -t rsa -b 4096
然后把公钥传到工控机:
ssh-copy-id 用户名@工控机IP
以后连接就不用输密码了。我每次部署新工控机,第一件事就是配免密登录,不然调试时反复输密码能烦死人。
1.4 验证环境:写个Hello World
环境搭好了,咱们跑个程序验证一下。
Python版:
print("Hello, 工控世界!")
print("Python环境搭建成功!")
C++版:
#include <iostream>
int main() {
std::cout << "Hello, 工控世界!" << std::endl;
std::cout << "C++环境搭建成功!" << std::endl;
return 0;
}
编译运行:
g++ hello.cpp -o hello
./hello
看到输出,说明你的工控机编程环境已经搭好了。是不是很简单?
我的建议: 把这三个工具装好后,最好写个脚本一键验证环境。比如写个batch文件,依次检查python、gcc、ssh连接状态。这样以后换工控机,跑一遍脚本就知道环境齐不齐。我在项目里就是这么干的,省了不少排查时间。
好了,第一章就到这里。环境搭好了,后面咱们就可以正式开始写工控程序了。下一章,我会带你用Python和C++分别实现一个简单的PLC通信程序,到时候你就知道这两种语言在工控场景下各有什么优势。
记住,工控编程没有捷径,但好的环境配置能让你少走弯路。动手试试吧。