用两台200smart进行modbus_TCP通讯实验,一个作为客户机,另外一台作为服务器。在客户机中,写入多条“MBUS_CLIENT"指令,对同一个服务器进行读写操作,多条MBUS_CLIENT完全没有轮询(RTU中的MSG指令需要建立轮询),就可以与服务器完成读写操作,且没有任何错误。我想问问:modbusTCP通讯,在什么状态下需要进行轮询处理?
再次谢谢各位好心的老师对我的帮助
另外在找答案中,看到有介绍tcp的答案:http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/communication/Ethernet/MODBUS_TCP/modbus_tcp_poll.htm
情景1:S7-200 SMART 作为客户端访问多个服务器:
解决方法:确保连接富余,可以建立多个不同的连接发送请求,调用"MBUS_CLIENT",S7-200 SMART CPU内通过设置的不同的远程IP地址、端口号 尝试建立连接。
这个的含义是不是:不需要轮询,就是把CLIENT指令中的IP地址和端口号与服务器对应就行?
情景2:S7-200 SMART作为客户端,访问同一个服务器,需要进行多次读写操作;
解决方法:借助于同一个连接,考虑客户端做轮询 ,远程IP地址、端口号一致,分时调用“MBUS_CLIENT”指令,具体参考下方的轮询通信例程。
这个的含义是不是:200smart客户机与服务器进行一对一的读写操作,需要用到多个CLIENT指令,多个CLIENT指令需要建立轮询?(如果是我说的意思,那我的实验是不需要轮询的)
另外:文中的 Modbus TCP客户端轮询例程和 Modbus TCP服务器例程,这俩程序一模一样,,这是咋回事啊?没得参考了。。