笔记一 工控采集常用命令总结梳理
1.常用ModBus功能码
由于MODBUS协议来源工控现场PLC等,一些线圈、输入寄存器、保持寄存器的叫法比较混乱,所以做个表格,把RTU下最常用的命令对应成工控采集上常用的DO, DI, AI, AO。
01H 读线圈状态 | READ COIL STATUS |
02H 读输入位状态 | READ INPUT STATUS |
03H 读保持寄存器 | READ HOLDING REGISTER |
04H 读输入寄存器 | READ INPUT REGISTER |
05H 强制单个线圈 | WRITE SINGLE COIL |
06H 预置单个寄存器 | WRITE SINGLE REGISTER |
0FH 强制多个线圈 | WRITE MULTIPLE COIL |
10H 预置多个寄存器 | WRITE MULTIPLE REGISTER
|
2 .DO, DI, AI, AO分类与实际用途:
DO,用来作开关量输出,可以是继电器输出,或者晶体管输出等;可读可写RW;
DI,做开关量输入,比如光耦输入;只读RO;
AI,可以是ADC输入;只读RO;
AO,可以做DAC的输出使用,同时也可以定位为一些内部的控制与功能寄存器;可读可写RW;
3.DO, DI, AI, AO对应的命令码:
类型 | 连续读 R-Multi | 连续写 W-Multi | 单个写 W-One |
Input Status(DI) 位操作 | 02H | \ | \ |
Coil Status(DO) 位操作 | 01H | 0FH(15) | 05H |
Input Register(AI) 字节操作 | 04H | \ | \ |
Hold Register(AO) 字节操作 | 03H | 10H(16) | 06H |
下次把这8个命令的查询和响应的功能代码格式总结下,并举实际的RTU下的例子;