浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子中国授权代理|PLC模块代理

西门子plc Modbus 地址和 S7-200 存储区地址的映射,从站地址与S7-200的地址对应

Modbus 地址和 S7-200 存储区地址的映射

西门子plc S7-200 通过 Modbus Master 和 Slave 协议库通信时,Modbus 地址和 S7-200 内存储区地址的 映射关系都类似。

Modbus 保持寄存器地址映射举例:

Modbus 保持寄存器地址映射举例 

Modbus 数字量地址映射举例:

位地址(0xxxx 和 1xxxx)数据总是以字节为单位打包读写。个字节中的低有效位对应 Modbus 地址的起始地址。如下图所示:

数字量地址映射举例 

图 4. 数字量地址映射举例

 

 

2.3 Modbus RTU 从站地址与S7-200的地址对应

Modbus地址总是以00001、30004之类的形式出现。S7-200内部的数据存储区与Modbus的0、1、3、4共4类地址的对应关系如下:

表2. Modbus地址对应表

Modbus地址S7-200数据区
00001 ~ 00128Q0.0 ~ Q15.7
10001 ~ 10128I0.0 ~ I15.7
30001 ~ 30032AIW0 ~ AIW62
40001 ~ 4xxxxT ~ T + 2 * (xxxx -1)

其中T为S7-200中的缓冲区起始地址,即 HoldStart。

如果已知S7-200中的V存储区地址,推算Modbus地址的公式如下:

Modbus地址 = 40000 + (T/2+1) ; T为偶数

2.4 Modbus RTU 从站指令库支持的功能码

Modbus RTU 从站指令库支持特定的 Modbus 功能。访问使用此指令库的主站必须遵循这个指令库的要求。

表 3. Modbus RTU 从站功能码

功能码主站使用相应功能码作用于此从站的效用1234561516
读取单个/多个线圈(离散量输出点)状态。 功能 1 返回任意个数输出点(Q)的 ON/OFF 状态。
读取单个/多个触点(离散量输入点)状态。 功能 2 返回任意个数输入点(I)的 ON/OFF 状态。
读取单个/多个保持寄存器。功能 3 返回 V 存储区的内容。在 Modbus 协议下保持寄存器都是"字"值,在一次请求中可以读取多 120 个字的数据。
读取单个/多个输入寄存器。功能 4 返回 S7-200 的模拟量数据值。
写单个线圈(离散量输出点)。功能 5 用于将离散量输出点设置为指定的值。这个点不是被强制的,用户程序可以覆盖 Modbus 通信请求写入的值。
写单个保持寄存器。功能 6 写一个值到 S7-200 的 V 存储区的保持寄存器中。
写多个线圈(离散量输出点)。功能 15 把多个离散量输出点的值写到 S7-200 的输出映像寄存器(Q 区)。输出点的地址必须以字节边界起始(如 Q0.0 或 Q2.0),并且输出点的数目必须是 8 的整数倍。这是此 Modbus RTU 从站指令库的限制。些点不是被强制的,用户程序可以覆盖 Modbus 通信请求写入的值。
些多个保持寄存器。功能 16 写多个值到 S7-200 的 V 存储区的保持寄存器中。在一次请求中可以写多 120 个字的数据。


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话