SIEMENS广东省西门子中国授权代理商-西门子变频器-西门子技术服务|西门子PLC模块

供应商
广东湘恒智能科技有限公司
认证
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
联系电话
18126392341
手机号
15267534595
联系人
梁涛
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
更新时间
2024-06-08 09:10

详细介绍

s7-1200 modbus tcp 通信指令块

step 7 v13 sp1 软件版本中的modbustcp库指令目前新的版本已升至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 tcp通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。表格列出了具体的实验环境:

操作系统

win7 sp1 专业版 64位

编程软件

step 7 professional v13 sp1 update 5

系统硬件

1.cpu1215c   6es7215-1ag40-0xb0   v4.1

2.cpu1212c   6es7212-1ae40-0xb0   v4.1

3.csm1277    6gk7277-1aa10-0aa0

表1. modbus tcp 通信的实验环境


cpu类型

ip地址

端口号

硬件标识符

客户端

cpu 1212c

192.168.0.6

0

64

服务器

cpu 1215c

192.168.0.4

502

64

表2. modbus tcp 通信双方的基本配置

硬件标识符是在“设备组态”中,双击 profinet 接口,然后在“属性”中的“硬件标识符”中查看。

图2. s7-1200设备的profinet接口硬件标识符

s7-1200 modbus tcp 服务器编程

“mb_server”指令将处理 modbus tcp 客户端的连接请求、接收并处理 modbus 请求并发送响应。

1. 在“ 程序块-> ob1"中调用“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 引脚的指针类型

第一步,先创建一个新的全局数据块 db2,如图4所示:

图4. 创建全局数据块

第二步,双击打开新生成的 db2 数据块,定义变量名称为“ss",数据类型为“tcon_ip_v4”(可以将 tcon_ip_v4拷贝到该对话框中),然后点击“回车”按键。该数据类型结构创建完毕。如图5所示:

图5. 创建 mb_server 中的 tcp 连接结构的数据类型

各个引脚定义说明如下:

interfaceid硬件标识符。(设备组态中查询)id

连接id,取值范围1~4095

connection type连接类型。tcp连接默认为:16#0bactiveestablished建立连接。主动为1(客户端),被动为0(服务器)。addr服务器侧的ip地址remoteport远程端口号localport本地端口号

表4. tcon_ip_v4 数据结构的引脚定义

客户端侧的ip地址为192.168.0.6,端口号为0,所以 mb_server 服务器侧该数据结构的各项值如图6所示。

图6. mb_server 服务器侧的 connect 数据结构定义

3. s7-1200 服务器侧 mb_server 编程

调用mb_server指令块,实现被客户端读取2个保持寄存器的值,如图7所示。

图7. mb_server 服务器侧编程

注意:mb_hold_reg 指定的数据缓冲区可以设为 db 块或 m 存储区地址。db块可以为优化的数据块,也可以为标准的数据块结构。

s7-1200 modbus tcp 通信调试

s7-1200 modbus tcp 服务器侧准备数据,用于客户端读访问,如图8所示。

图8. 服务器侧监控表

s7-1200 modbus tcp 客户端侧,给 mb_client 指令块中 req引脚一个上升沿,监控数据读取成功。如图9所示。

图9. 客户端侧监控表


代理商,变频器,PLC,伺服电机,一级代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话