-
Notifications
You must be signed in to change notification settings - Fork 136
5 Modbus.Net.Modbus
Modbus是Modicon公司于1979年推出的串口通讯协议。
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 |
Modbus.Net Hangzhou Delian Science Technology Co.,Ltd. © 2023
-
2 Specification of Modbus.Net main framework
- 2.1 Modbus.Net Architecture
- 2.2 Transmission Control Layer Controller
- 2.3 Transmission Link Layer Connector
- 2.4 Concrete Protocol Layer ProtocolLinker
- 2.5 Abstract Protocol Layer Protocol
- 2.6 Protocol Presentation Layer Utility
- 2.7 Device Application Layer Machine
- 2.8 Task Application Layer MachineJob
-
3 Using Modbus.Net to implement a protocol
- 3.1 Global Tools
- 3.2 Extends Protocol and ProtocolUnit according to protocol specification
- 3.3 Extends Connector to create a link method
- 3.4 Extends Machine and Utility, creating two apis
- 3.5 Extends API methods to Machine and Utility
- 3.6 Extends Formater, Translator and Combiner, Creating Encoding,Decoding,Combining methods for address
- 3.7 Extends Controller, to control message