这个modbus从透明好像是纯粹应用级别的书。
我正在写作一本modbus软件开发实战的书。
内容包括创建软件开发环境,开发自己的
modbus通讯库,一步步开发rtu主从端,
开发TCP主从端,开发vb主从端,开发c#主从端,
开发自己的调试软件modbus poll,modbus slave,
全部源码开放。
大家觉得有用吗? 谢谢回复。
很快就要出版了,相信会给大家带来帮助。到时候免费送几本样书。
已经出版了《Modbus软件开发实战指南》
http://www.tup.tsinghua.edu.cn/booksCenter/book_07379901.html
在物联网和互联网+的时代,不懂Modbus如何玩转物联网?全方位解析Modbus软件开发技巧,一书在手轻松搞定Modbus软件开发!干货满满,值得一读。
谢谢谢谢, 就是我最近做的项目是用一个modbus/PROFIBUS网关来代替我们控制版上原来的profibus接口从我们控制板上读写数据。我们用的控制板是贝加莱的PP65,采用的网关是赫优讯的NT 50-DP-EN。 网关一段设置了open modbus/tcp client, 连接我们控制板的以太网接口,网关另一端设置为profibus slave, 连接西门子CPU315-2DP。现在问题在于原来用profibus接口的时候从我们控制板上可以同时读取多组数据, 但是现在换作modbus接口尝试同时读取那么多数据总是会出现延迟或者有些数据直接被忽略。请大神指点下原因,愿意加威信吗?因为这个项目做的时间实在太久了所以比较着急
是采用的标准modbus tcp协议吗?
标准modbus tcp协议有一个MBAP报头,
其中第一项Transaction Identifier为2个字节,是传输标记。
这个值可以设置为自增长的,这样就可以区别每次发送的指令。
比如说,第一发送是,这个值设置为0x01,
第二次发送指令时,设置为0x02。这样就可以区分每次发送的指令。
之所以出现这个现象,和网络传输算法有关系。
当每次发送的字节太少的时候,网络并没有马上发送,而是等好几个
指令过来后,一起打包发送。
可以试着关闭Nagle算法。
参考下面文章的原因和解决方法:
http://jerrypeng.me/2013/08/mythical-40ms-delay-and-tcp-nodelay/