一个项目,西门子S7-1200 PLC有比较多的RS232须要接入。目前是利用海康的串口做事器将以太网转多串口通讯。
调试中创造海康串口做事器TCP/IP协议是通过端口号设置区分串口号,而西门子S7-1200PLC PN口只支持8个开放式用户通讯,串口做事器的每个串口都会占用一个连接。按这样常规的配置办法,西门子S7-1200配置一个8口的串口做事器就没有多余的连接与其它设备进行通讯了。
办理方案是将串口做事器每个串口都设置为UDP协议,设置对方端口号都是PLC一个UDP连接的端口号。串口吸收到数据转为UDP协议向这个端口发送,PLC收到的UDP数据中包含发送方的端口号,利用这个端口号区分这个数据是哪个串口发送的。当PLC要发送数据到某个串口时关闭当前连接,重新连接该串口的端口发送数据,完成后再规复前面的连接。
这个方案的效果是PLC只利用了一个连接与串口做事器的所有串口进行双向通讯。测试通讯实时效果良好,发送正常,吸收没有丢失。