欢迎来到众智博远官网网站!

7*24小时在线咨询电话

010-52873850

新闻资讯

contact us

24小时免费咨询热线

010-52873850

公司新闻

当前位置: 首页 >> 新闻资讯 >> 公司新闻

西门子G120XA变频器Modbus 通讯代码读写

发布时间:2019-08-24 来源:众智博远

功能代码的读写访问

通过功能代码进行读写访问的基本结构

使用的功能码

在 Modbus 通讯中,主站和从站之间的数据交换采用的是预定义的功能码。

控制单元使用以下 Modbus 功能代码:

FC 03:Holding Register,用于从变频器读取数据

FC 06:Write Single Register,用于单个寄存器的写入

FC 16:Write Multiple Registers,用于多个寄存器的写入

通过 Modbus 功能代码 03 (FC 03) 进行的读任务的结构

每个的寄存器地址都可以作为起始地址。

控制器通过 FC 03 发出读任务时,可能不止一个寄存器响应。响应的寄存器的数量包含在读任务的字节 4 和 5 中。

列表: 读任务的结构,从站号 17,示例

字节

描述

11 h0从站地址
03 h00 h6D h00 h02 h12345功能代码寄存器起始地址“高”(寄存器 40110)寄存器起始地址“低”寄存器“高”的数量(2 个寄存器:40110;40111)寄存器“低”的数量
xx hxx h67CRC “低”CRC “高”

应答返回了对应的数据组:

列表: 从站对读任务的应答,示例

字节

描述

11 h0从站地址
03 h04 h11 h22 h33 h44 h123456功能码字节数量(返回 4 个字节)一个寄存器“高”的数据一个寄存器“低”的数据二个寄存器“高”的数据二个寄存器“低”的数据
xx hxx h78CRC “低”CRC “高”

列表: 无效读任务

读任务

变频器的响应

寄存器地址无效

异常码 02(数据地址无效)

读取一个“只写寄存器”

所有值都置 0 的报文。

读取一个预留的寄存器

不止 125 个寄存器被控制器寻址

异常码 03(数据值无效)

起始地址加上寄存器数量的总和超出定义的寄存器范围

异常码 02(数据地址无效)

通过 Modbus 功能代码 06 (FC 06) 进行的写任务的结构

起始地址是保持寄存器的地址。

通过 FC 06 发出写任务时,始终只有一个寄存器响应。在写任务的字节 4 和 5 中包含了需要被写入该寄存器的数值。

列表: 写任务的结构,从站号 17,示例

字节

描述

11 h0从站地址
06 h 00 h 63 h 55 h 66 h12345功能码寄存器起始地址“高”(写寄存器 40100)寄存器起始地址“低”寄存器数据“高”寄存器数据“低”
xx hxx h67CRC “低”CRC “高”

应答返回了寄存器地址(字节 2 和 3)和上级控制器写入该寄存器的数值(字节 4 和 5)。

列表: 从站对写任务的应答

字节

描述

11 h0从站地址
06 h 00 h 63 h 55 h 66 h12345功能码寄存器起始地址“高”寄存器起始地址“低”寄存器数据“高”寄存器数据“低”
xx hxx h67CRC “低”CRC “高”

列表: 无效写任务

写任务

变频器的响应

地址错误(无保持寄存器地址)

异常码 02 - 数据地址无效

向一个“只读”寄存器写数据

异常码 04 - 设备故障

向一个预留的寄存器写数据

出现异常码 4 时,您可以通过保持寄存器 40499 读出驱动内部的故障代码,其在上次参数访问时通过保持寄存器显示。