机组是modbus TCP。
做一个服务器,去获取机组的运行数据,并且需要控制机组。
问题1:
应该只能是服务器做主站,控制器做从站吧?
如果需要控制机组,只能是服务器做主站吧?
问题2:这个主站发送的命令,应该怎么写?
假如100个从站,主站依次给发送命令,然后等待从站数据返回,各个从站返回数据会包含从站IP,根据IP区分不同数据。如果超时没数据返回,则提示通讯异常。
这样对吗?
http://blog.csdn.net/zhzht19861011/article/details/45849561
我记得modbus应该是master每隔一定时间就向slave发送询问状态的报文,如果某一站几次都没回就判断其通讯发生异常!
而modbus TCP是通过网络传输的,不像modbus那样是通过串行线,所以它的报文发送和接收是并行的,所以如果从站很多的话,可以考虑多线程
问题1:
一般是控制器做服务端,就是你说的从站,通过tcp等通讯协议和客户端(主站)建立通讯,获得运行数据。
问题2:
没做过你的这个项目,发送命令在建立通讯后,调用send函数,超时的话,你可以建立心跳包。