Modbus/TCP协议相对于其他通信协议来说是相对比较简单的应用层协议,因此对于用户来说开发应用程序是相对比较容易掌握的。
在本次交流过程中,我们着重讨论了基于用户自己开发和使用软件包的使用,主要涉及到如何使用软件包提供的例子程序在实际项目中利用的一些注意事项,同时大家一起分享了宝贵的现场应用经验。
通过本次讨论,可以看到大家交流了彼此使用的经验,并澄清了一些技术要点,如软件包授权,地址映射等,为以后实际项目中提供宝贵的经验。
下面是根据此次讨论中进行的整理总结:
1) 由于订货号2XV9450-1MB00程序中会占用CPU 较大的装载和工作存储区,因此对于性能比较低特别是S7-300的低端CPU进行通信时必须考虑一定的富余量。
2) 对于SIMATIC S7这边,参数DB_x的数据区必须使用不同的DB 块,使用同一个DB的不同地址区会造成地址编排混乱,另外参数Start_x与END_x 参数不能出现地址叠加情况。
3)建议使用项目中的样例程序,只须修改连接ID,CP的硬件物理地 址及相应的数据存储区等,能减少编程量,只须把样例程序放到一个单独的FC块中即可,样例程序中定义了足够的数据区,连接成功及错误次数、指示等。
4) Modbus TCP每一包的数据最多只能发送125个寄存器或2000个比特位,超过该范围必须进行分包处理。
5) S7-300/400作为Client能与多少个Server建立通信或者作为Server时能与多少个Client通信取决于产品所支持的TCP连接数,Modbus/TCP协议并没有对此进行约束和限制。
本次探讨的发帖整理请参见
此处。
所有探讨参与者都将获得加倍发帖积分和金币,每一位精华帖作者还将获得每星5分的额外经验值奖励!
再次感谢大家!祝大家工作愉快!