Skip to content

5 Modbus.Net.Modbus

parallelbgls edited this page Jun 30, 2017 · 7 revisions

类图Modbus

基本概念

Modbus是Modicon公司于1979年推出的串口通讯协议。

Modbus的地址

Modbus有四种地址类型:线圈(对应输出线圈),离散型输入变量(对应输入线圈),输入型寄存器(对应输入变量)和保持型寄存器(对应存储变量)。

Modbus有两种地址空间:标准的地址空间和扩展的地址空间。

下表说明了Modbus的地址范围。

类型 标准地址空间 扩展地址空间
线圈 00001-09999 000001-065536
离散型输入变量 10001-19999 100001-165536
输入型寄存器 30001-39999 300001-365536
保持型寄存器 40001-49999 400001-465536

Modbus.Net同时支持标准地址空间和扩展地址空间,且默认为扩展地址空间,你需要注意设备的说明书,上面会告诉你设备使用了多大的地址范围。

Modbus.Net使用了不同的地址描述方式,下表说明了Modbus.Net的地址与Modbus之间的关系。

标准的Modbus地址 Modbus.Net里的Modbus地址
00001 0X 1
00002 0X 2
09999 0X 9999
065536 0X 65536
10001 1X 1
30001 3X 1
40001 4X 1

另外,Modbus.Net里的Modbus地址还能同时描述位信息。

标准的Modbus地址 Modbus.Net里的Modbus地址
30001 13 3X 1.12
40133 12 4X 133.11

地址的编码方式

在Modbus.Net.Modbus中, 地址范围的描述位: "0X"(线圈), "1X"(离散型输入), "3X"(输入寄存器), "4X"(保持寄存器)。

请不要忘了在范围和地址之间加一个空格。

如果你想使用子地址,请在地址与子地址之间增加一个"."。

4X 1.12

子地址

0X和1X的放大倍数位0.125,每增加一个地址,增加1个bit。

你只能1X区域中的数据。

0X和1X的子地址永远为0。因此不存在子地址系统。

3X和4X的放大倍数为2,每增加一个地址,增加2个byte。

子地址的范围为0到15.

请注意:Modbus.Net.Modbus与标准Modbus在描述子地址的时候有区别。
Modbus.Net的子地址比标准Modbus少一个。

标准Modbus

1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Modbus.Net.Modbus

1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Home

Clone this wiki locally