modbus_tcp介绍 ============================ 协议介绍 +++++++++++++++++++++++++ +------------------------+-----------------------------+ | ModbusTcp服务器Server | PLC | | | | | (即Modbus Slave) | | +------------------------+-----------------------------+ | ModbusTcp客户端Client | 上位机PC:XYZ Studio Max | | | | | (即Modbus Master) | | +------------------------+-----------------------------+ | IP地址 | PLC和XYZ Studio Max同一网段 | +------------------------+-----------------------------+ | 端口 | 502(可配置) | +------------------------+-----------------------------+ | 响应周期 | > 200ms | +------------------------+-----------------------------+ 程序运行基本逻辑: 1. PLC是主动请求指令的一端,通信采用周期轮寻的方式进行。 2. PLC根据需要,在合适时机发送相关指令给PC(如拍照、获取点位等),PC根据PLC的命令执行相应功能并返回信息。 3. 为了保持长链接,PC和PLC中间会有个定期运行的心跳包。 交互时序 +++++++++++++++++++++++++ .. figure:: img/sequence_diagram.PNG :width: 823px :align: center 交互时序(可放大查看) 阅读以上时序图的要点: 1. 中间实线箭头表示PLC向PC进行相关数据交互,虚线箭头表示PC(XYZ-Studio-Max)向PLC进行相关数据交互。 2. 第一次阅读时,可以主要从plc角度进行,而暂时忽略掉pc端内部细节,因为plc是逻辑主控。也就是可以主要查看左边PLC内部流程以及中间由PLC发起的通信部分(实线箭头部分)。 3. 上图中涉及信号复位。(本质是上升沿触发) 4. 请严格按照时序图进行信号设置和收发,否则会有时序混乱的风险。