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供电,但大部分工业级的都得外接电源。我见过有人调试了半天,模块灯都不亮——原来电源没插。
✅ 调试前的自检清单:
- Python能正常运行(
python --version) - pymodbus库已安装(
import pymodbus不报错) - 串口调试工具已打开,参数设置正确
- IO模块已上电,指示灯正常
- 串口线连接正确,电脑能识别到COM口
好,环境搭好了,工具也准备好了。下一章咱们就开始写真正的通讯代码了。说实话,第一次跑通Modbus通讯的时候,那种感觉挺爽的——就像你按下一个开关,灯真的亮了。