S7-1200根据CPU的版本不同,使用的MODBUS-TCP通讯指令是不一样的,这节给大家介绍V4.1及以上版本的CPU MODBUS-TCP通讯方法,下个星期的文章会给大家介绍V4.1以下版本的CPU MODBUS-TCP通讯方法,敬请期待。
第一步:建立服务器
(1)建立项目,组态好CPU硬件(注意CPU版本V4.1及以上),打开CPU属性
(2)打开OB1,调用服务器指令
DISCONNECT:断开连接,“1”断开连接,“0”通讯继续
MB_HOLD_REG:数据存储区(列如:P#DB1.DBX0.0 WORD 10 注意DB不能优化)
CONNECT:这个针脚比较坑爹,下面有具体解释
NDR:服务器被写入数据指示“1”被写入数据,“0”没有
DR:服务器被读取数据指示“1”被读取数据,“0”没有
ERROR:错误指示灯
STATUS:状态信息
(3)CONNECT参数:
这个参数存储的是网络数据,大家要自己建立一个共享DB,然后建立一个变量,数据类型是:TCON_IP_V4(这个数据类型比较坑爹不能选择,只能人工输入)
InterfaceId:CPU的硬件标示符
ID:连接ID,你自己输入一个数字就行,不要重叠,记一下,到客户机的时候要填写
ConnectionType:连接类型,默认16#0B就是MODBUS-TCP的意思
ActiveEstablished:是否主动建立连接(服务器“0”不主动,客户机“1”主动)
RemoteAddress:服务器连接的客户机IP地址,要是想这个服务器啥客户机都能连就输入0.0.0.0(注意16#格式的)
RemotePort:远程的端口号,默认0
LocalPort:本地的端口号,默认502
第二步:建立客户机
(1)建立项目,组态好CPU硬件(注意CPU版本V4.1及以上),打开CPU属性
(2)打开OB1,调用客户机指令
REQ:通讯激活,“1”开始通讯,“0”停止通讯
DISCONNECT:断开连接,“1”断开连接,“0”通讯继续
MB_MODE:读/写模式,“1”读取数据,“0”写入数据
MB_DATA_ADDR:MODBUS功能码
MB_DATA_LEN:数据长度
MB_DATA_PTR:数据存储区
CONNECT
DONE:完成位
BUSY:正在通讯指示
ERROR:错误指示
STATUS:状态代码