西门子S7-200 SMART PLC具备非常大的市场占有量,很多同学在应用200SMART时,经常会遇到PLC作为MODBUS-RTU从站或MODBUS-TCP服务器来进行数据通讯的问题。在这里我进行了一个小结,也是对自己近期工作的一个知识点汇总,抛砖引玉。
一,S7-200SMART做MODBUS-RTU从站时的程序段:
注意事项:
1、MBUS_INIT为参数初始化功能块,只在第一次启动时运行一次,不能一直运行,会导致无法通讯;
2、MBUS_INT的【PORT】参数一定要设置为对应的PORT口,本机的为0,扩展模块的为1;
3、MaxHold的长度是以VW为单位的,所以图中的程序做远程控制的时候,平台主站可以进行读到MODBUS地址保持寄存器长度为300个;
4、一定要记得在程序里面对库分配地址:
二、S7-200SMART做MODBUS-RTU从站时的程序段
注意事项:
1、PLC做MODBUS服务器时,MBS_Connect是一直使能的;
2、IPaddr1到IPaddr4分别对应IP地址的4个字节,比如192.168.0.1,IPaddr1对应192,IPaddr2对应168依次类推。这4个参数共同约定了能够访问此PLC的客户端的IP。比如这4个参数是192.168.0.100,那么不是这个IP的MODBUS客户端就无法与这个PLC建立通讯。设置为0.0.0.0时,任意同网段的客户端就都可以跟PLC建立通讯;
3、MODBUS-TCP通讯是弱化了从站号的,客户端以任意一个从站号给PLC发指令,PLC以该从站号作为通讯回应。也就是说只要TCP通讯通过IP地址建立成功了,那么就可以不用管从站号了。
4、同MOBDUS-RTU从站,一定要记得分配库地址;
三、S7-200SMART内部寄存器对应的MODBUS指令
注意:V区作为MODBUS的保持寄存器区,一个读指令只能读到120个字长度的数据,在平台进行MODBUS指令通道设置时需要注意长度限制;
上面就是此次使用S7-200SMART进行远程监控时使用的方法和注意事项小结,给大家看看效果:
电脑端:
手机端