技术论坛

S7-1200做主站时和三个TCP设备通讯

作者 主题
侠士

经验值: 1292
发帖数: 165
精华帖: 3
主题:【分享】S7-1200做主站时和三个TCP设备通讯
精华帖精华帖星级2级 推荐帖


只看楼主 只看精华 楼主 2020-11-24 12:20:12

不久前做了一个1200的项目,需要扩展I/O,想着用ModbusTCP的方式和多子站的通讯还没试过,决定不用I/O模块,用第三方的子站模块。立马买了几个TCP端口的模块开始试验。很快东西买回来了,硬件配置如下:

l  PLC 1214DC/DC/RLY

l  HMI MT8102IE

l  SubModule:ZKA[E]-8088(8AI/8DI/8DO)

试验的第一步:找关于Protal Modbus tcp 通讯的资料或文档,网上看了,好多除了广告没啥有用的资料,后来在论坛里搜到一篇资料,提到了怎么去Modbus TCP通讯,但当时还是一知半解,后来想着与其看别人的看不明白还要想很长时间,不如自己去动手测试。首先看到支持中心官网有一篇技术文档《Modbus TCP 通信多请求通讯处理》,开头已经讲的很清楚的方法:

单独的客户机连接需要遵循的规则:

1.每个“MB_CLIENT”连接需要使用一个不同的背景数据块;

2.每个“MB_CLIENT”连接必须指定一个服务器IP地址;

3.每个“MB_CLIENT”连接必须指定一个唯一的连接ID;

4.是否需要唯一的IP端口号取决于服务器组态;

5.连接ID和背景数据块组合成对,对每个连接来说组合对都是唯一的。

对于多请求处理,有两种方法:

方法一:如果TCP连接充裕,可以建立多个不同的连接发送请求,即每个请求使用一个独立的连接,调用独立的“MB_CLIENT”功能块,具体操作参考“Modbus TCP”部分。通过不同的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用不同的背景数据块,不同的ID号和不同的端口号。

支持中心官网有一篇技术文档链接:http://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/11-Comm/01-Ethernet/04-Modbus_TCP/03-Modbus_TCP_Multi_Request.htm

按照这个方法开始做备工作:

定义PLC 的IP地址:192.168.1.150

  •  定义智能I/O的IP地址 192.168.1.108—110,3个模块,所有的端口号都为10001


  • l  建立3个 MB_CLENT_DB


  • l  建立3个 TCON_IP_V4静态变量,注意有记号的地方要改不同值,还有IP地址也不能一样


  • l 编写通讯程序



  • l  调用通讯程序(在OB30里调用)


  • 编译无错误后,下载程序,自此程序调试完成,现场图片如下:




赠人玫瑰,手留余香!
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=50&a_id=1652866

至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:S7-1200做主站时和三个TCP设备通讯
推荐帖


只看楼主 只看精华 1楼 2020-11-24 13:18:50

ModbusTCP又不是实时通讯,你怎么能用在IO从站?


工控毁我青春!
以下网友喜欢您的帖子:

  
奇侠

经验值: 8877
发帖数: 2002
精华帖: 12
回复:S7-1200做主站时和三个TCP设备通讯
推荐帖


只看楼主 只看精华 2楼 2020-11-24 15:53:19
以下是引用周杰伦在2020-11-24 13:18:50的发言 >1楼

ModbusTCP又不是实时通讯,你怎么能用在IO从站?

对IO实时性要求不高的场合可以这么用吧,比如就控制个水泵的启停,命令发出后几秒内反馈回来就够了,我在有的项目上发现上位机直接连接MB-TCP的IO模块,用上位机直接输出控制命令,都不用PLC编程序。


污水处理自控工程师,简称污师。
以下网友喜欢您的帖子:

  
侠士

经验值: 1292
发帖数: 165
精华帖: 3
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 楼主 3楼 2020-11-25 06:46:20
三个子站有1S的延时,这种场合实时性要求不高
赠人玫瑰,手留余香!
以下网友喜欢您的帖子:

  
至圣

经验值: 18416
发帖数: 2409
精华帖: 1
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 4楼 2020-11-25 12:52:34

所以实践才是硬道理


 
以下网友喜欢您的帖子:

  
至圣

经验值: 37447
发帖数: 5133
精华帖: 47
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 5楼 2020-11-25 13:01:51
以下是引用周杰伦在2020-11-24 13:18:50的发言 >1楼

ModbusTCP又不是实时通讯,你怎么能用在IO从站?

Modbus本来就是可以带IO的,只是相比PN/DP这些没有什么优势。

要求实时性不高,做好保护,还是可以使用的。同时与3个设备进行通信估计也可以控制在100ms以内。


工业起重机防摇摆 QQ:404136820 AntiSwayControl
以下网友喜欢您的帖子:

  
至圣

经验值: 18926
发帖数: 2108
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 6楼 2020-11-25 13:22:42

不错,学习实践


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13075
发帖数: 1081
精华帖: 8
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 7楼 2020-11-26 09:31:09

两个问题,第一为什么定义为TCP客户端,应该是服务器吧。第二控制器你使用路由器了吗?


做最好的自己!活出自我!
以下网友喜欢您的帖子:

  
至圣

经验值: 10584
发帖数: 1796
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 8楼 2020-11-28 22:43:08


值得学习,谢谢分享。


 
以下网友喜欢您的帖子:

  
新手

经验值: 43
发帖数: 5
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 9楼 2020-12-02 15:21:36

楼主你好,之前你有个帖子关于1200和AB的通讯,现在我也有个项目遇到了,跪求分享~邮箱287055543@qq.com


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1021
发帖数: 29
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 11楼 2020-12-08 12:31:05

现在支持PN的IO模块好多啊 


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1919
发帖数: 7
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 12楼 2020-12-25 21:19:43

今天又学习了! 感谢分享案列。


 
以下网友喜欢您的帖子:

  
游民

经验值: 103
发帖数: 3
精华帖: 0
回复:S7-1200做主站时和三个TCP设备通讯


只看楼主 只看精华 13楼 2020-12-29 13:37:08

值得学习,谢谢分享


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
S7-1200做主站时和三个TCP设备通讯
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。