在北京众多的工业自动化改造项目中,老旧设备的数字化升级是一个常见需求。许多现场仍在使用支持Modbus RTU协议的智能仪表(如流量计、温控表),而主控系统已升级为西门子S7-1500系列PLC。如何实现两者之间的稳定通讯,是工程师面临的首要问题。
硬件配置方面,S7-1500 CPU本身通常不带RS485接口,需要加装通信模块,如CM PtP RS422/485 BA或HF型号。接线时,需注意A线(Data+)和B线(Data-)的正确连接,并在总线两端加装120欧姆终端电阻,以防止信号反射干扰。
在TIA Portal软件中,首先需在硬件组态中添加CM PtP模块,并选择“Modbus RTU”协议。设置波特率(常用9600或19200)、数据位(8位)、停止位(1位)和校验位(偶校验或无校验),这些参数必须与从站仪表完全一致。接着,调用“MB_MASTER”指令块。该指令块的REQ引脚用于触发通讯请求,MODE引脚定义功能码(03读保持寄存器,06写单个寄存器等)。
地址映射是调试的关键。Modbus地址通常以40001起始,但在PLC程序中,需将其转换为从站地址索引。例如,读取仪表的温度值(地址40001),在MB_MASTER指令中DATA_ADDR应设为0。若读取多个连续寄存器,可设置DATA_LEN为所需长度。
故障诊断方面,若通讯超时,首先检查物理接线和波特率设置。利用TIA Portal的在线监控功能,观察MB_MASTER指令的STATUS输出代码。常见错误代码包括:16#80A2(超时)、16#80A3(帧错误)。建议增加看门狗机制,当连续多次通讯失败时,自动复位模块或切换至备用控制逻辑。


