SLC (SIMATIC Logical Control) 是西门子的一款小型可编程逻辑控制器,而浙大中控DCS(Distributed Control System)是一种分布式控制系统,通常用于工业自动化领域。Modbus是一种广泛应用的串行通信协议,允许不同设备之间进行数据交换。在本案例中,SLC作为从站与浙大中控DCS作为主站之间通过Modbus协议进行通讯。
1. **硬件连接**:
- CPU226CN是SLC系列中的一员,它内置的PORT0被用作通信接口。通信电缆的一端连接到PLC的9针端口的3针和8针(通常为RXD和TXD,数据发送和接收线),另一端则连接到DCS系统。
2. **编程**:
- 在编程过程中,SLC使用了西门子提供的Modbus从站库,包括`mbus-int`和`mbus-slave`指令,以实现Modbus RTU (Remote Terminal Unit) 协议。这是标准的Modbus通信模式,适合点对点或一点对多点的通信。
3. **参数设置**:
- 设置SLC为从站,其地址设为1,通信波特率设定为9600bps,校验方式选择2(偶校验)。这些设置需与主站DCS保持一致,以确保双方能正确识别和理解对方的信号。
4. **问题与解决**:
- 当PLC的`mbus-slave`指令中的`done`返回值为1,且`error`返回值为10,表示从属性未启用,这通常意味着PLC的Modbus从站功能没有正确配置或启用。检查SLC的Modbus配置,确保从站功能已打开,并与DCS系统匹配。
- 如果通信距离超过50米,可能需要在接收端添加终端电阻,以减少信号衰减。在这个例子中,由于通信距离达到200米,应在接收端A、B线路上短接330Ω的电阻。
- 另一个重要提示是,当主站(DCS)和从站(SLC)的连接和设置完成后,主站需要重启,以识别并建立与新加入的从站的连接。否则,即使设置正确,主站也可能无法检测到从站。
5. **Modbus协议注意事项**:
- S7-200PLC的Modbus库仅支持RTU格式,不支持ASCII模式。如果DCS系统期望使用ASCII模式,需要使用自由口通信模式并自行编写通信协议。
在排查通信问题时,通常应检查硬件连接、参数设置、软件配置以及物理层的信号质量。此外,确认网络中的所有设备都在同一通信模式下工作,并遵循相同的波特率、校验方式和地址。如果仍然遇到问题,可能需要查看详细的错误日志,或者进行网络诊断以确定通信故障的具体位置。