江西自动化网|江西工控论坛
标题: 西门子S7-1200 Modbus TCP通信指令块 MB_SERVER即Modbus TCP服务器从站指令块使用实例 [打印本页]
作者: 宏微自动化 时间: 2017-1-20 13:59
标题: 西门子S7-1200 Modbus TCP通信指令块 MB_SERVER即Modbus TCP服务器从站指令块使用实例
西门子S7-1200Modbus TCP 通信指令块
MB_SERVER即Modbus TCP服务器(从站)指令块使用实例
Modbus TCP服务器从站指令块使用实例编程实例下载地址:
Modbus TCP客户端主站指令块编程实例下载地址:http://www.jx-auto.cn/thread-11438-1-1.html
STEP 7 V13 SP1 软件版本中的Modbus TCP库指令目前最新的版本已升至V4.0,该版本的使用需要具备以下两个条件:
1. 软件版本: STEP 7 V13 SP1及其以上
2. 固件版本: S7-1200 CPU 的固件版本V4.1
图1.Modbus TCP V4.0 版本指令块
S7-1200 Modbus TCP 实验环境
下面以一台S7-1200作为服务器即从站,Modbus POLL作为客户端即主站之间进行Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。表格列出了具体的实验环境:
操作系统 | WIN7 SP1 专业版 64位 |
编程软件 | STEP 7 Professional V13 SP1 Update 7 |
系统硬件 | 1.CPU1214C 6ES7 214-1BG40-0XB0 V4.1 |
表1.Modbus TCP 通信的实验环境
| CPU类型 | IP地址 | 端口号 | 硬件标识符 |
客户端 | Modbus POLL | 192.168.31.228 | 0 | 64 |
服务器 | CPU 1214C | 192.168.31.12 | 502 | 64 |
表2.Modbus TCP 通信双方的基本配置
硬件标识符是在“设备组态”中,双击 PROFINET 接口,然后在“属性”中的“硬件标识符”中查看。
图2.S7-1200设备的PROFINET接口硬件标识符
S7-1200 Modbus TCP 服务器编程
“MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收并处理 Modbus 请求并发送响应。
1. 在“ 程序块->OB 1"中调用“MB_SERVER”指令块,然后会生成相应的背景DB块,点击确定,如图3所示。
图3.调用MB_SERVER指令块
该功能块的各个引脚定义如下:
DISCONNET | 为0代表被动建立与客户端的通信连接;为1代表终止连接。 |
MB_HOLD_REG | 指向 Modbus 保持寄存器的指针。 |
CONNECT | 指向连接描述结构的指针。TCON_IP_v4(S7-1200) |
NDR | 为0代表无数据;为1代表从 Modbus 客户端写入新的数据。 |
DR | 为0代表无读取的数据;为1代表从 Modbus 客户端读取的数据 |
ERROR | 错误位:0:无错误;1:出现错误,错误原因查看STATUS。 |
STATUS | 指令的详细状态信息。 |
表3.MB_SERVER 各个引脚定义说明
2. CONNECT 引脚的指针类型
第一步,先创建一个新的全局数据块DB3,并命名为MB_SERVER_TCON,如图4所示(注:图中编号可根据实际需要更改,在我们这实例中已经改为DB3):
图4.创建全局数据块
第二步,双击打开新生成的 DB3 数据块,定义变量名称为“sd",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。该数据类型结构创建完毕。如图5所示:
图5.创建 MB_SERVER 中的 TCP 连接结构的数据类型
各个引脚定义说明如下:
InterfaceId | 硬件标识符。(设备组态中查询) |
ID | 连接ID(即从站站号),取值范围1~4095 |
Connection Type | 连接类型。TCP连接默认为:16#0B |
ActiveEstablished | 建立连接。主动为1(客户端),被动为0(服务器)。 |
ADDR | 服务器侧的IP地址 |
RemotePort | 远程端口号 |
LocalPort | 本地端口号 |
表4.TCON_IP_v4 数据结构的引脚定义
客户端侧的IP地址为192.168.31.228,端口号为0,所以 MB_SERVER 服务器侧该数据结构的各项值如图6所示。
图6.MB_SERVER 服务器侧的 CONNECT 数据结构定义
3. S7-1200 服务器侧 MB_SERVER 编程
调用MB_SERVER指令块,实现被客户端读取1000个保持寄存器的值,如图7所示。
图7.MB_SERVER 服务器侧编程
注意:MB_HOLD_REG 指定的数据缓冲区可以设为 DB 块或 M 存储区地址。DB 块可以为优化的数据块,也可以为标准的数据块结构。我们这个测试实例中新建了一个DB2的数据块,并在数据块里面建了一个数组,从而实现客户端能访问1000个保持寄存器。
图8.MB_HOLD_REG数据块
S7-1200 MODBUS TCP 通信调试
S7-1200 MODBUS TCP 服务器侧准备数据,因为初始化中配置的一些数据是0,所以在监控的时候需要将一些配置数据在监控表中写入进去如图9所示:
图中的502服务器端口号,16#0040是硬件标示符的16进制表示方式,16#0001是从站号。
图9配置值写入
客户端连接参数配置,选择TCP/IP,并设定IP地址和端口号,如图10:
图10.客户端连接参数配置
点击确定之后,再点击菜单栏中的安装选择POLL定义,在弹出来如图11中的画面中配置ID号既功能码、起始地址和长度。
图11
之后就显示如图12,图12中已经将40001和40002的值更改:
在服务器中显示的值如图12:
图12.服务器数据监视
这个时候只要在客户端或者服务器段更改数据另外一端就会跟着变化,如此MB_SERVER就测试成功了。
作者: klll 时间: 2017-2-6 11:26
1231131412313
作者: huangzl123 时间: 2017-2-18 10:40
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: whyslc 时间: 2017-2-19 09:38
正需要这个,感谢分享!!
作者: marsjuse 时间: 2017-2-24 23:15
感谢分享~!!!!
作者: vipvop 时间: 2017-2-26 19:24
西门子S7-1200 Modbus TCP通信指令块
作者: cocoon2006 时间: 2017-3-4 23:53
看着modbus有点头痛,看看有没有启发
作者: hw958 时间: 2017-3-27 16:17
谢谢,请给予下载这个程序的权限。
作者: Cortex 时间: 2017-4-1 11:24
也让让他挥戈退日忽然
作者: hgb32001 时间: 2017-4-17 17:13
西门子S7-1200 Modbus TCP通信指令块 MB_CLIENT即Modbus TCP客户端主站指令块实例下载
作者: qumaoliang 时间: 2017-5-21 14:34
MB_SERVER即Modbus TCP服务器从站谢谢
作者: 小小孙 时间: 2017-6-16 10:18
学习了,刚好工作中要用到了
作者: shanhe 时间: 2017-6-19 22:50
多谢楼主的分享
作者: cwj9959 时间: 2017-6-24 22:28
好资料,谢谢
作者: cwj9959 时间: 2017-6-24 22:30
好资料,谢谢
作者: cwj9959 时间: 2017-6-24 22:33
好资料,谢谢
作者: cwj9959 时间: 2017-6-24 22:35
很好的资料,谢谢了
作者: sandy0506 时间: 2017-7-21 08:07
正需要这个,感谢分享!!
作者: kingliz 时间: 2017-8-3 15:39
为什么我看不到图片
作者: 296708132 时间: 2017-8-3 20:03
找了很久终于找到了
作者: wwwcfo 时间: 2017-8-4 08:22
谢谢分享。。
作者: wl090606 时间: 2017-8-4 14:57
想学习下,最近在弄MODBUS TCP通讯
作者: jo胆红素飞 时间: 2017-8-7 11:44
111好1111111111111
作者: yuki0406 时间: 2017-8-13 09:32
刚好在用 还发现了问题 学习下
作者: xxjdk 时间: 2017-8-17 10:54
下载下来看看,测试下实际效果。
作者: xiaoheyidongliu 时间: 2017-8-27 17:44
江西工控论坛
作者: gd_jeffert 时间: 2017-8-31 23:56
TCP通信指令块 MB_SERVER即Modbus TCP服务器从站指令
作者: ygd123 时间: 2017-9-2 05:39
谢谢分享西门子S7-1200Modbus TCP 通信指令块
作者: qredcool 时间: 2017-9-2 09:47
好,学习了。
作者: sunboy1234 时间: 2017-9-3 09:36
正需要这个,感谢分享!!
作者: isliulin 时间: 2017-9-12 11:04
feichangbucuo!
作者: prcfirefly 时间: 2017-9-12 12:13
haohao好好好好
作者: hhb123456 时间: 2017-10-20 09:55
西门子S7-1200 Modbus TCP通信指令块 实例下载
作者: songrunda 时间: 2017-10-26 22:55
正在研究,看看是否能成功完成
作者: clsko 时间: 2017-11-19 08:51
学习学习,谢谢!
作者: 北京捷鸿 时间: 2017-11-22 15:44
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 山豹—电控 时间: 2017-11-22 17:15
谢谢。学习学习正好要用上
作者: time917 时间: 2017-12-11 22:36
密码回复可见密码回复可见
作者: 382232054 时间: 2017-12-15 09:40
好东西,谢谢大神发现
作者: phy14 时间: 2018-3-19 15:27
好像下载不了了!!!!!!
作者: 郭世纪 时间: 2018-3-19 16:35
zhenghaoxuyao
作者: 迷航 时间: 2018-3-20 08:31
Modbus TCP服务器Modbus TCP服务器Modbus TCP服务器Modbus TCP服务器
作者: 刘健 时间: 2018-3-27 23:32
好好学习,学习学习
作者: ttma00 时间: 2018-4-9 16:04
照说明做 报个80B6 下个实例看看! 谢谢分享!
作者: cui_vs7vs 时间: 2018-4-16 20:43
谢谢,请给予下载这个程序的权限。
作者: q1093549437 时间: 2018-4-17 12:44
感谢分享!!!!!!!!!!!!!!!!!!!!!
作者: dsx99_99 时间: 2018-4-20 09:08
好,顶一个
作者: 大江 时间: 2018-5-24 15:36
多谢楼主分享~
作者: 小强-kyler 时间: 2018-5-30 12:21
关于MODBUS tcp 介绍很仔细
作者: jsliyu 时间: 2018-5-31 16:12
学习一下,谢谢
作者: 幽兰物语7 时间: 2018-6-19 08:18
下载下来 学习一下
作者: 不在意,不再忆 时间: 2018-6-24 17:09
;P;P
作者: xingxuesnow 时间: 2018-6-25 21:31
感谢楼主 ,楼主辛苦
作者: dg22021040 时间: 2018-6-28 11:22
我想看看看
作者: romacast 时间: 2018-6-29 13:45
支持楼主,下载下来看看
作者: 老陈 时间: 2018-6-30 23:15
很好!分地方地方更反感
作者: SYuan 时间: 2018-7-14 22:22
66666666666
作者: bokonger 时间: 2018-7-25 14:36
TCP通信指令块 MB_SERVER即Modbus
作者: 一个人的风景 时间: 2018-8-14 12:00
xiexie 很好 xiexie 很好 xiexie 很好 xiexie 很好
作者: 玛雅 时间: 2018-8-14 14:38
你好,看看TCP通信
作者: Accustomed 时间: 2018-8-17 10:25
请问怎么下载呢??
作者: 刘宏平_Js7j3 时间: 2018-9-6 08:39
写的太好了
作者: hechenghui001 时间: 2018-9-10 15:21
不错zvzvz da
作者: gznihao 时间: 2018-9-13 10:38
你好,谢谢分享
作者: 王盛威 时间: 2018-9-22 12:57
成本经济国际化没干嘛木棉花应急救援
作者: weimei 时间: 2018-9-23 18:56
好东西值得分享
作者: 孤心自傲cium 时间: 2018-9-23 21:07
AAAAAAAAAAAAAAAAAAAAAAAAA
作者: 梦境见汐光 时间: 2018-9-30 09:30
谢111111谢
作者: sigler 时间: 2018-10-18 21:36
非常好好好好
作者: Lucky-赵 时间: 2018-10-22 19:54
作者: 阿巴贡590 时间: 2018-10-25 22:55
这好有这方面的需求,感谢楼主的分享。
作者: 小蚂蚁_OMIU0 时间: 2018-10-29 14:36
kan kan kan kan
作者: ark_j 时间: 2018-11-7 15:02
谢谢~!!!!
作者: zhhdadu 时间: 2018-11-11 15:14
这个应该有内容了吧,感谢。
作者: 工控账号666 时间: 2018-11-14 09:33
看一看吧,哈哈
作者: lmrsoa 时间: 2018-12-4 15:04
作者: 997436875 时间: 2018-12-6 14:05
非常好的参考资料!
作者: 乾川 时间: 2018-12-17 15:11
感谢分享,正需要这个
作者: a32013201 时间: 2018-12-18 08:18
好好好好好好好
作者: 梧桐丶_yaba 时间: 2019-1-7 10:28
做了很久,希望这有帮助吧
作者: 陈强 时间: 2019-1-8 15:01
下载通信例子
作者: 陈强 时间: 2019-1-8 15:04
下载例子西门子1200
作者: ziyie 时间: 2019-1-8 20:52
很需要了解一下,谢谢了。
作者: jxltyl 时间: 2019-1-10 09:12
查看实例,谢谢楼主能够分享
作者: zhibingding 时间: 2019-1-14 13:22
购买PLC编程线免费赠送PLC视频教程、PLC编程实例、PLC解密软件、PLC编程手册、PLC学习资料等
说明书是豆丁网的,我们下载不了
作者: 工业小雨 时间: 2019-2-24 16:28
感谢大神感谢大神感谢大神感谢大神感谢大神
作者: Z_D 时间: 2019-3-8 14:49
感谢楼主的分享
作者: Z_D 时间: 2019-3-8 14:55
感谢楼主的分享......
作者: songlei61 时间: 2019-4-3 09:58
谢谢,学习一下,参考参考
作者: jxcad 时间: 2019-4-16 09:47
谢谢分享。
作者: keruse 时间: 2019-4-16 10:14
先下载来看看学习再说
作者: wx_jRL5SDtF 时间: 2019-4-24 22:29
这样可以通讯,我曾经也是这样做的
作者: finiiy 时间: 2019-5-10 15:06
绝对支持号东西啊,
作者: seer123456 时间: 2019-5-15 14:34
PLC初学者,求代码,谢谢大佬,
作者: hlbjy 时间: 2019-5-17 15:49
学习一下,学习楼主
作者: huaihu1217 时间: 2019-5-17 16:19
abc反对反对法
作者: w07351756 时间: 2019-5-20 16:02
谢谢分享感谢楼主
作者: hahaha123456 时间: 2019-5-29 10:04
hebhaodeziliao
作者: husuhong 时间: 2019-5-29 15:26
非常干净专家提供宝贵资料
作者: xiewentao 时间: 2019-6-15 19:32
666666666666666666666666
欢迎光临 江西自动化网|江西工控论坛 (https://www.jx-auto.cn/) |
Powered by Discuz! X3.4 |