4、上位机开发环境搭建:Python环境配置、pymodbus库安装、串口调试工具准备

好,咱们正式开始动手了。

前面聊了那么多Modbus协议的原理,说实话,光看理论容易犯困。我当年刚入行的时候也是这样,看了三天协议文档,脑子里全是寄存器地址和功能码,就是不知道怎么写代码。后来带我的老师傅说了一句话,我记到现在——「先把环境搭起来,跑通一条指令,比看十遍文档都管用」

所以这一章,咱们就把上位机开发环境搞定。说白了,就是让你的电脑能跟远程IO模块对上话。

4.1 Python环境配置

我个人习惯用Python 3.8以上的版本。为什么?因为pymodbus库在3.8上跑得最稳,我在几个项目里都验证过。当然你用3.9、3.10也行,但别低于3.6,有些库已经放弃老版本支持了。

第一步:下载Python

去Python官网(python.org)下载安装包。别去什么第三方下载站,我吃过这个亏——下载了个带广告的版本,装完系统都卡了。

第二步:安装时勾选关键选项

安装的时候,记得把下面这个勾打上:

Add Python to PATH

这个选项很多人会忽略。如果不勾,后面你在命令行里敲python就会提示找不到命令。我曾经帮一个学员远程调试,折腾了半小时才发现是这个问题。

第三步:验证安装

打开命令行(Windows按Win+R,输入cmd),敲:

python --version

如果看到类似Python 3.9.7这样的输出,说明装好了。

💡 小技巧:如果系统里装了多个Python版本,可以用py -3.9来指定版本运行。我在工控机上经常这么干,因为有些老项目还依赖Python 2.7。

4.2 pymodbus库安装

pymodbus是Python里最流行的Modbus库,没有之一。它支持RTU、ASCII、TCP三种模式,咱们后面都会用到。

安装命令

在命令行里直接敲:

pip install pymodbus

嗯,就这么简单。但这里有个坑——网络问题。如果你在公司内网或者家里网络不好,可能会超时。我遇到过好几次,解决办法是用国内镜像源:

pip install pymodbus -i https://pypi.tuna.tsinghua.edu.cn/simple

清华的源,速度很快,稳定。

验证安装

装完之后,进Python交互环境试试:

python
>>> import pymodbus
>>> print(pymodbus.__version__)

如果没报错,能看到版本号,那就成了。

⚠️ 注意:如果你用的是Python 3.12以上版本,pymodbus可能还没完全适配。我建议先用3.9或3.10,省得后面遇到兼容性问题。

4.3 串口调试工具准备

写代码之前,我强烈建议你先准备一个串口调试工具。为什么?因为你可以先用它手动发一条Modbus指令,看看IO模块有没有反应。这样后面写代码的时候,心里就有底了。

推荐工具:Modbus Poll(Windows)

这个工具是商业软件,但有30天试用期。做咱们这个课程完全够用。界面长这样:

  • 左边设置串口参数(波特率、数据位、停止位、校验位)
  • 右边设置从站地址、功能码、寄存器地址
  • 点一下「Read」,数据就回来了

免费替代方案:

如果你不想装商业软件,也可以用这些:

  • SSCOM(串口调试助手)——老牌工具,轻量好用
  • MThings——国产的,支持Modbus RTU和TCP,界面挺友好
  • 我自己写的Python脚本——后面章节会教你怎么用pymodbus自己写一个调试工具

串口参数怎么设?

这个要跟你的IO模块保持一致。一般默认是:

参数 常见值 说明
波特率 9600 / 19200 / 115200 模块说明书上会写,我一般先用9600
数据位 8 几乎都是8,很少见其他值
停止位 1 也有用2的,但1最常见
校验位 None / Even / Odd None最常见,有些设备用Even

💡 我的经验:第一次连不上,90%是波特率或者校验位设错了。别慌,挨个试一遍,总能通。

4.4 硬件连接检查

环境搭好了,工具也装好了,最后一步——检查硬件连接。

你需要:

  • 一台电脑(带串口或者USB转串口)
  • 一个远程IO模块(比如我们课程里用的那个)
  • 一根串口线(或者USB转485转换器)

接线方式:

RS485是两线制:A(+)接A,B(-)接B。别接反了,接反了也能通,但数据会乱码。我刚开始就犯过这个错,查了半天以为是代码问题,结果就是两根线焊反了。

供电别忘了:

远程IO模块一般需要24V供电。有些模块支持USB供电,但大部分工业级的都得外接电源。我见过有人调试了半天,模块灯都不亮——原来电源没插。

✅ 调试前的自检清单:

  1. Python能正常运行(python --version
  2. pymodbus库已安装(import pymodbus不报错)
  3. 串口调试工具已打开,参数设置正确
  4. IO模块已上电,指示灯正常
  5. 串口线连接正确,电脑能识别到COM口

好,环境搭好了,工具也准备好了。下一章咱们就开始写真正的通讯代码了。说实话,第一次跑通Modbus通讯的时候,那种感觉挺爽的——就像你按下一个开关,灯真的亮了。