S7-1200(CPU V4.1及以上版本)之间的Modbus TCP通讯教程

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:状态代码

作者简介

工控班长张勇):工业自动化高级讲师,高级技师,多年工业自动化项目现场经验,对工控行业有自己独特的理解,参与并设计/调试了多个国内中大型项目,主导完成了《西门子S7-200SMART综合应用教材》《西门子S7-300、400高级应用》《WinCC7.4高级应用》《EPLAN P7电气制图》等多本自动化行业实训教材,在教学过程中不断的结合自己的项目经验和最新技术发展需求,调整教学方案,学员不但学会了知识,更多的学会了在工业现场处理问题的方法,风趣幽默的讲解方式也深受学员的喜欢。