第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上做工控开发时,每次都先跑这条命令。

避坑指南: 我曾经在Windows上装了Cygwin,以为能用gcc,结果编译出来的程序依赖一堆DLL,部署到工控机上直接报错。后来老老实实换回MinGW,再没出过问题。工控环境追求稳定,别整花里胡哨的。

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通信程序,到时候你就知道这两种语言在工控场景下各有什么优势。

记住,工控编程没有捷径,但好的环境配置能让你少走弯路。动手试试吧。