西门子ET200模块
技术数据
SIMATIC DP,5 个终端模块 TM-E15S23-01,用于 ET 200S 针对电子模块 15mm 结构宽度,螺钉型接线端子, 2x3 端子接口 不带端子访问至 AUX1, AUX1 已穿联 5 件/包装单位 | ||
尺寸 | ||
宽度 | 15 mm | |
高度 | 120 mm | |
深度 | 43 mm | |
重量 | ||
重量,约 | 55 g | |
供货范围 | ||
供货数量,单位(件) | 5 |
西门子总代理6ES7193-4CB00-0AA0
创建DATA_PTR数据发送、接收缓冲区
通过“程序块”→ “添加新块”,选择“数据块(DB)”创建 DB 块,选择“标准与S7- 300/400兼容” ,点击“确认”键。在DB中创建数据类型为5个字的数组,如下图7所示:
注意:DATA_PTR数据发送、接收缓冲区使用的DB访问类型必须是标准与S7- 300/400兼容。
图7 创建DATA_PTR 数据发送、接收缓冲区
5.调用MB_MASTER指令
在OB1中调用“MB_MASTER”指令,调用该指令时会自动弹出创建相应背景数据块的界面,如下图8所示:西门子ET200模块
图8 调用MB_MASTER指令
点击“确认”为该指令创建背景数据块后,并为各输入/输出引脚分配地址,如下图9所示:
注意:“MB_MASTER”指令的输入位“REQ”必须使用上升沿触发。
以下以S7-1200作为Modbus RTU主站,用F03功能码读取Modbus RTU从站2,从Modbus地址40001开始的五个字,接收的数据存放在缓冲区DB3.DBW0开始区域为例。设置如下所示:MB_ADDR=2,MODE=0,DATA_ADDR=40001,DATA_LEN=5。
地址对应关系如下表2所示:
Modbus RTU主站CPU1215C 数据缓冲区地址 | Modbus RTU从站Modbus地址 |
DB3.DBW0 | 40001 |
DB3.DBW2 | 40002 |
DB3.DBW4 | 40003 |
DB3.DBW6 | 40004 |
DB3.DBW8 | 40005 |
表2 Modbus地址对应关系
图9 MB_MASTER指令
MB_MASTER指令参数意义如下表3所示:
引脚 | 说明 |
EN | 使能端 |
REQ | 在上升沿执行该指令,请求将数据发送或读取到Modbus从站 |
MB_ADDR | Modbus RTU从站地址。默认地址范围:0至247;扩展地址范围:0至65535。值0被保留用于将消息广播到所有Modbus从站。 |
MODE | 模式选择:请求类型 |
DATA_ADDR | 从站中的起始地址:Modbus从站中将供访问的数据的起始地址。 |
DATA_LEN | 数据长度:要在该请求中访问的位数或字数。 |
DATA_PTR | 数据指针: 指向要写入或读取的数据的 M 或 DB 地址(DB访问类型必须是标准与S7-300/400兼容)。 |
DONE | 完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。 |
BUSY | 0 – 无正在进行的 MB_MASTER 操作; 1 – MB_MASTER 操作正在进行 |
EEROR | 错误位: 上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫 |
STATUS | 错误代码 |
表3 MB_MASTER指令参数意义
关于MODE,DATA_ADDR,DATA_LEN可在下表4中查看:
MB_MASTER Modbus功能 | ||||
Modbus地址参数 | 地址类型 | Modbus数据长度参数 | Modbus功能 | |
模式0 | ||||
读取 | 00001到09999 | 输出位 | 1到2000 | 01 |
10001到19999 | 输入位 | 1到2000 | 02 | |
30001到39999 | 输入寄存器 | 1到125 | 04 | |
40001到49999 400001到465535(扩展) | 保持寄存器 | 1到125 | 03 | |
模式1 | ||||
写入 | 00001到09999 | 输出位 | 1(单个位) | 05 |
40001到49999 400001到465535(扩展) | 保持寄存器 | 1(单个字) | 06 | |
00001到09999 | 输出位 | 2到1968 | 15 | |
40001到49999 400001到465535(扩展) | 保持寄存器 | 2到123 | 16 | |
模式2 | ||||
有些Modbus从站不支持使用Modbus功能05H或06H写入单个位或字。在这样的情况下,可通过模式2强制使用Modbus功能15H或16H写入单个位或字 | ||||
写入
| 00001到09999 | 输出位 | 2到1968 | 15 |
40001到49999 400001到465535(扩展) | 保持寄存器 | 1到123 | 16 | |
模式11 | ||||
读出从站的通信状态字和事件计数器:状态字指示指令的执行状态(0:未在执行;0xFFFF:正在执行)。 每次成功传送一条消息时,事件计数器值将递增。使用该功能时,忽略“MB_MASTER”指令的 DATA_ADDR 和 DATA_LEN 参数。 | ||||
模式80 | ||||
通过读取错误代码 (0x0000) 检查从站状态:每个请求1个字 | ||||
模式81 | ||||
通过诊断代码 0x000A 复位从站的事件计数器:每个请求1个字 |
表4 MB_MASTER Modbus功能表
6. Modbus 从站软件设置
注意:Modbus RTU从站采用ModSim软件测试,该软件是第三方软件,可以从 Internet 网络下载。
在打开的ModSim软件中建立连接,并设置RTU模式的参数:波特率Baud=9600,数据位Data=8,停止位S*,校验Parity=NONE,如下图10所示:
图10 建立ModSim连接西门子总代理6ES7193-4CB00-0AA0
选择“File”→“New”打开ModSim通信界面,设置Modbus RTU从站的地址Device Id=2,开始地址Address=0001,数据长度Length=5,Modbus数据类型功能码03。分别双击各Modbus地址后的数据区,出现“Write Register"对话框,在此写入数据值,如下图11所示:
注意:Device Id设置必须与“MB_MASTER”指令中输入引脚“MB_ADDR”设置的地址*。
图11 设置ModSim
7. Modbus RTU测试结果
在STEP 7 Professional V11 UPD4软件中打开该项目CPU1215C DC/DC/DC的“监控表”,触发“MB_MASER”指令的输入位M10.0。Modbus RTU主站将ModSim从站地址40001中的数值11,40002中的数值12,40003中的数值13,40004中的数值14,40005中的数值15,分别读取到了地址DB3.DBW0,DB3.DBW2,DB3.DBW4,DB3.DBW6,DB3.DBW8中,如下图12所示:
图12 Modbus RTU测试结果西门子总代理6ES7193-4CB00-0AA0
所有评论仅代表网友意见,与本站立场无关。