Modbus读写模拟量寄存器具体解释

系统 2188 0

读可读写模拟量寄存器:

 

发送命令(主机向从机)格式:

[ 设备地址 ] [ 命令号 03] [ 起始寄存器地址高 8 ] [ 8 ] [ 读取的寄存器数高 8 ] [ 8 ] [CRC 校验的低 8 ] [CRC 校验的高 8

例: [11][03][00][6B][00][03][CRC ][CRC

意义例如以下:

11 设备地址,样例中的地址是 11 ,溶氧传感器端默认的地址是 1

03 读模拟量的命令号固定为 03 ,这是 Modbus 协议规定的

00 6B 起始地址高 8 00 、低 8 6B :表示想读取的模拟量的起始地址,比方样例中的起始地址为 107 这个 006B 表示一个完整的地址,注意这里的地址是高 8 位在前,低 8 位在后。

00 03 寄存器数高 8 00 、低 8 03 :表示从起始地址開始读多少个模拟量(返回的每个模拟量是用两个字节表示的)。样例中为 3 个模拟量。注意,在返回的信息中一个模拟量须要返回两个字节 同一时候这里的地址也是高 8 位在前,低 8 位在后

[CRC ][CRC ] :帧尾的 CRC-16 校验,尤其须要注意的一点是校验结果的低 8 位在前,高 8 位在后,这个顺序不同于起始地址以及读取深度的地址顺序。

 

设备响应: [ 设备地址 ] [ 命令号 03] [ 返回的字节个数 ][ 数据 1][ 数据 2]...[ 数据 n][CRC 校验的低 8 ] [CRC 校验的高 8

例: [11][03][06][02][2B][00][00][00][64][CRC ][CRC

意义例如以下:

11 设备地址(从机地址)。

03 :命令号。

06 返回的字节个数(不高扩两字节的校验码):表示数据的字节个数,也就是数据 1 2...n 中的 n 的值。样例中返回了 3 个模拟量的数据,由于一个模拟量须要 2 个字节所以共 6 个字节。

数据 1...n :当中 [ 数据 1][ 数据 2] 各自是第 1 个模拟量的高 8 位和低 8 位, [ 数据 3][ 数据 4] 是第 2 个模拟量的高 8 位和低 8 位,以此类推。样例中返回的值各自是 555 0 100

[CRC ][CRC ] :CRC 校验同上。 

 

写单个模拟量寄存器:

 

发送命令(主机向从机)格式:

[ 设备地址 ] [ 命令号 06] [ 需下置的寄存器地址高 8 ] [ 8 ] [ 下置的数据高 8 ] [ 8 ] [CRC 校验的低 8 ] [CRC 校验的高 8

例: [11][06][00][01][00][03][CRC ][CRC

意义例如以下:

11 设备地址和上面的同样。

06 写模拟量的命令号固定为 06

00 01 :要被写入的 寄存器地址高 8 位,低 8 位。

00 03 :要被写入的 数据高 8 位,低 8 。比方样例中就把 1 号寄存器的值设为 3

注意此命令一条仅仅能写入一个模拟量的状态。 

[CRC 校验的低 8 ] [CRC 校验的高 8 ] :同上。

设备响应:假设成功把计算机发送的命令原样返回,否则不响应。

Modbus读写模拟量寄存器具体解释


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论