Modbus是一种协议公开的工业通讯,被广泛使用。通过串口的是Modbus-RTU协议,通过以太网的是Modbus TCP通讯。现在的PLC都开始支持以太网通讯,因此,Modbus TCP也越来越重要。
西门子的S7-200SMART(后称为200)、1200、1500、300、400都支持Modbus TCP协议,西门子官网也有不少解释和教程,照着一步一步做下去,基本可以成功,但是,有些经验还是值得分享一下:
1、西门子PLC作为服务器时的地址映射情况
服务器指对外提供的角色,响应外部的命令。其功能码、地址区间及特别注意的地方见下表:
2、对于老的客户端,1500可能只有CPU上的集成网口可以实现通讯
这是我在一个项目里遇到的情况,客户端是老的INTOUCH9.5,由于1500的集成网口只有一个IP地址,且要用于PN环网,因此,专门配置了一块独立的CP用于和INTOUCH通讯,程序里配置Modbus TCP 服务器的程序,外部用Modbus TCP扫描软件、其他通讯测试软件都能正常访问,但是,INTOUCH的DAServer始终无法建立通讯。设计单位尝试升级了DAServer的驱动程序版本,能够解决,由于没有费用购买授权,所以不能在项目中使用。
咨询西门子,始终不相信存在该问题。
后来,我从别的项目借了一个带有双IP地址的1500CPU,通过CPU上的网口来通讯,就正常了。
由于项目经验有限,其他PLC的情况未知,也不做断言。
总的来说,Modbus TCP还是西门子对外通讯的一个不错选择。
2019年11月5日
说明:
1、本文是实践经验,非严格论文,与相关产品和理论可能不完全相符。
2、原创不易,欢迎转发,让更多朋友看到。转载请注明出处,谢谢!