S7-1200集成PN接口MODBUS TCP通信多请求处理
单独的客户机连接需要遵循的规则:
1.每个“MB_CLIENT”连接需要使用一个不同的背景数据块;
2.每个“MB_CLIENT”连接必须指定一个唯一的服务器IP地址;
3.每个“MB_CLIENT”连接必须指定一个唯一的连接ID;
4.是否需要唯一的IP端口 取决于服务器组态;
连接ID和背景数据块组合成对,对每个连接来说,组合对都是唯一的。
对于多请求处理,有两种方法:
方法一:如果TCP连接富余,可以建立多个不同的连接发送请求,即每个请求使用一个独立的连接,调用独立的“MB_CLIENT”功能块,具体操作参考“Modbus TCP”部分。
通过不同的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用不同的背景数据块,不同的ID 和不同的端口 。
方法二:通过公共的连接发送多个请求。
通过公共的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用相同的背景数据块,连接ID ,IP地址和端口 。
在任意时间,只能有一个客户机请求处于激活状态,在一个请求完成执行后,下一个请求再开始执行,轮循处理。
方法二轮循处理的操作如下所示。
一.软硬件要求
MB_Client/Server指令的使用要求:软件 V11 SP1及以上版本,CPU固件版本V1.02及以上版本。
二.测试条件
硬件:CPU 1214C(DC/DC/DC) V2.1 ,电脑(Modbus Slave 串口调试软件);
软件:STEP7 V11 SP1
实验:S7-1200作Modbus TCP客户机,用FC03功能对调试软件进行两次读信 。
三.组态配置
1.S7-1200的IP地址192.168.0.123,将系统存储器字节设置为MB50,如图1.所示。
图1. 1200的IP地址
2.Modbus Slave调试软件设置
服务器采用Modbus Slave软件测试,首先将测试电脑的IP地址设置成192.168.0.210,如图2.所示,打开Modbus Slave软件,在“Set up->Slave Definition”中设置功能码FC03、起始地址、长度等,如图3.所示。
图3.Modbus Slave调试软件的从站设置
在“Connection->connect…”中打开连接属性对话框,选择“TCP/IP”,TCP/IP Server Port本地服务器端口 为502,并且勾选“Ignore Unit ID”选项,如图4.所示。
图6.初始化复位
“manual_set”可以手动触发轮循的开始,“AlwaysTrue”可以在上电或重新下载后启动轮循(不设置掉电保持)。请求2的正常的完成位“Done_2”,故障位“Error_2”,和定时超时位“Time_out_2”(根据实际确定,至少要大于请求响应的时间),这些条件组合置位请求1的触发条件“Req_1”,同时复位请求2的触发条件“Req_2”,如图7.所示。
图8.请求1用功能码03读取服务器2个字
定时超时条件,在请求触发后,一段时间内既没有来完成位,又没有来错误位,就输出定时超时,例子中请求1超时条件“Time_out_1”设定时间10S,该参数根据实际请求间隔修改,需要大于实际请求间隔,如图9.所示。
图10.请求2触发条件
图11.请求2用功能码03读取服务器2个字
请求2的定时超时条件“Time_out_2”,如图12.所示。
图13.测试结果

注意:
1.本例对通讯故障时处理方式是简单的放弃当前操作,并触发下一个作用,实际应用中可根据实际情况判断是否需要重发或进行其他处理;
2.Modbus Slave 做 Modbus TCP server 测试软件,是第三方软件,可以从 internet 络上下载。
相关资源:滚齿机速查挂轮软件2.1版本.zip_插齿机挂轮计算软件-制造文档类…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!