在使用 ModbusTCP 方式数据通信时,怎样寻址到作为 Modbus 设备的 SIMATIC S7-1200S7-1500 存储区?

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Modbus 数据模型在结构上是简单的,分为 4 部分存储区(数据类型):
∙离散输入(输入-位方式访问,只读)
∙线圈(输出-位方式访问,读写)
∙输入寄存器(输入数据-字方式访问,只读)
∙保持寄存器(输出数据-字方式访问,读写)
表 01 展示了的存储区和位地址的对照,位地址在 Modbus 设备(应用层)中并在协议(数据链路层)中作为 Modbus 地址传输。

辰达兴 2092892199
表 01
SIMATIC S7 中通过功能块激活 Modbus/TCP 通信。

注意
S7-1200/S7-1500 的 Modbus/TCP 功能块不支持输入寄存器扩展的地址空间。

S7-1200/S7-1500 Modbus 程序块的地址表示
在 SIMATIC S7-1200/S7-1500 中 Modbus 功能块使用应用层的地址。

表 02 展示了 MB_CLIENT 功能块的地址使用方法。

参数 MB_MODE 和 MB_DATA_ADDR 的不同组合决定了当前 Modbus 报文中使用的功能码。

FB MB_CLIENT 的参数FB MB_CLIENT 参数值描述Modbus 设备
中的地址表示
MB_MODE
MB_DATA_ADDR DATA_LEN
MB_DATA_PTR 0(十进制)
40001(十进制)
10(十进制)
"DATA_CON1".MB_DATA_PTR
Modbus 请求:读取
起始地址 = 40001:保持寄
存器
读取数据的单位(字)
Modbus 服务器接收数据或
者发送给 Modbus 服务器的
缓存(数据寄存器)。

例如
在 Modbus 设
备中,保持寄
存器的字 0 至
10 被读取。

数据存储在 DB2 "DATA_CON1"中的变量"MB_DATA_PTR" 中,数据类型为Word 类型的数组Array [0..9]。

MB_MODE
MB_DATA_ADDR DATA_LEN
MB_DATA_PTR 1(十进制)
40005(十进制)
10(十进制)
"DATA_CON2".MB_DATA_PTR
Modbus 请求:写
请求地址 = 40005:保持寄
存器
写入数据的单位(字)
Modbus 服务器接收数据或
者发送给 Modbus 服务器的
缓存(数据寄存器)。

例如
数据存储在 DB3
"DATA_CON2" 中的变量
"MB_DATA_PTR" 中,数据
类型为 Word 类型的数组
Array [0..9]。

在 Modbus 设
备中保持寄存
器的字 4 至
14 被写入。

表 02。

相关文档
最新文档