西门子plc Modbus 地址和 S7 您所在的位置:网站首页 西门子plc映射地址 西门子plc Modbus 地址和 S7

西门子plc Modbus 地址和 S7

2024-06-03 09:49| 来源: 网络整理| 查看: 265

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

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

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 ~ 00128 Q0.0 ~ Q15.7 10001 ~ 10128 I0.0 ~ I15.7 30001 ~ 30032 AIW0 ~ AIW62 40001 ~ 4xxxx T ~ 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 从站功能码

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有