1. 西门子S7-1200 PLC与485信号板的硬件配置要点
第一次使用西门子S7-1200 PLC的485信号板时,我发现这个看似简单的扩展模块其实有不少需要注意的细节。信号板型号通常是CM 1241 RS485(6ES7241-1CH32-0XB0),需要直接插在PLC本体的正面插槽上。这里有个容易忽略的点:信号板安装后需要重新上电PLC才能被识别,热插拔是无效的。
硬件连接时,485信号板的接线端子定义需要特别注意:
- 引脚1(T/R+)对应RS485的A线
- 引脚2(R/T-)对应RS485的B线
- 引脚3(GND)是信号地线
实际接线时我犯过一个错误:把步进电机的485端子直接接到信号板上,结果通讯不稳定。后来发现需要在A、B线之间加一个120Ω的终端电阻(距离超过50米时特别重要),同时信号地线必须可靠连接。建议使用带屏蔽的双绞线,屏蔽层单端接地。
在TIA Portal中配置信号板参数时,有几个关键设置:
- 工作模式选择"RS485(半双工)"
- 波特率要与步进电机保持一致(常用9600、19200)
- 校验方式通常选"无校验"(除非设备特殊要求)
- 流控制选择"无"
特别注意:信号板的硬件标识符(如256)在后续编程中会用到,建议记录下来。我第一次使用时因为没注意这个参数,导致DB块配置出错。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Modbus RTU主站通信的软件实现
在TIA Portal V17中配置Modbus RTU主站需要几个关键步骤。首先要在项目树中添加通信模块:右键PLC→插入对象→通信模块→MODBUS(RTU)。这里有个坑:不同版本的TIA Portal可能菜单位置略有不同,V15之后版本都集成在"通信"选项卡下。
创建DB块时需要注意数据结构。我建议使用以下结构:
code复制STRUCT
"MB_MASTER_DB" : MB_MASTER_DB
"MB_DATA_PTR" : Array[0..49] of Byte
END_STRUCT
主程序调用MB_COMM_LOAD指令配置通信参数:
- REQ:上升沿触发
- PORT:硬件标识符(前面记录的256)
- BAUD:波特率(与硬件配置一致)
- PARITY:校验方式(0=无校验)
- MB_DB:指向刚才创建的DB块
