64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
微网,用于无线传感器等精小型设备之间的组网。
|
||
|
||
特点:
|
||
1,支持双向通讯,有主从之分,但允许从机主动向主机发送。
|
||
2,超短指令格式,使用1字节作为从机标识ID,ID由专门的主机(网关)统一分配
|
||
3,获取标识ID之前,使用4字节物理地址HD进行通讯,此时为学习模式,分为学习请求和学习应答两种指令
|
||
4,通过学习获得ID和4字节密码之后,使用1字节ID进行通讯,此时为工作模式,校验值附加密码参与运算
|
||
|
||
指令格式:
|
||
ID FUN DATA CRC16
|
||
目标标识ID,广播地址为0
|
||
1字节功能码FUN,第一位表示异常,第二位表示响应
|
||
多字节数据DATA
|
||
CRC16为前面数据加上随机密码的校验码
|
||
|
||
1,学习请求
|
||
从机广播,用于寻找网关以获取ID和密码。从机位于学习模式时,不停发送学习请求,直到收到应答进入工作模式为止。
|
||
00 00 00 00 00 HD1 HD2 HD3 HD4 CRC16
|
||
首字节00表示学习模式
|
||
紧接着4字节目标物理地址,4个0表示广播。
|
||
HD1~4表示本地物理地址。
|
||
CRC16为前面数据的校验码
|
||
|
||
2,学习应答
|
||
主机应答从机的登入请求,分配1字节ID和4字节随机密码。从机存好自己的ID和通讯密码。
|
||
00 HD1 HD2 HD3 HD4 MD1 MD2 MD3 MD4 ID PS1 PS2 PS3 PS4 CRC16
|
||
首字节00表示学习模式
|
||
4字节目标从机物理地址
|
||
4字节主机物理地址
|
||
1字节ID
|
||
4字节随机密码
|
||
CRC16为前面数据的校验码
|
||
|
||
3,工作模式通用指令
|
||
ID FUN DATA CRC16
|
||
目标标识ID
|
||
1字节功能码FUN,第一位表示异常,第二位表示响应
|
||
多字节数据DATA
|
||
CRC16为前面数据加上随机密码的校验码
|
||
|
||
4,诊断
|
||
诊断可实现类似于Ping的效果
|
||
请求:0x08|2字节子功能|n*2字节数据功能码08
|
||
响应:0x08|2字节子功能|n*2字节数据
|
||
|
||
5,读线圈
|
||
请求:0x01|2字节起始地址|2字节线圈数量(1~2000)
|
||
响应:0x01|1字节字节计数|n字节线圈状态(n=输出数量/8,如果余数不为0,n=n+1)
|
||
|
||
6,写线圈
|
||
请求:0x05|2字节输出地址|2字节输出值(0x0000/0xFF00)
|
||
响应:0x05|2字节输出地址|2字节输出值(0x0000/0xFF00)
|
||
请求:0x0F|2字节起始地址|2字节输出数量(1~1698)|1字节字节计数|n字节输出值(n=输出数量/8,如果余数不为0,n=n+1)
|
||
响应:0x0F|2字节起始地址|2字节输出数量
|
||
|
||
7,读寄存器
|
||
请求:0x03|2字节起始地址|2字节寄存器数量(1~2000)
|
||
响应:0x03|1字节字节数|n*2字节寄存器值
|
||
|
||
8,写寄存器
|
||
请求:0x06|2字节寄存器地址|2字节寄存器值
|
||
响应:0x06|2字节寄存器地址|2字节寄存器值
|
||
请求:0x10|2字节起始地址|2字节寄存器数量(1~123)|1字节字节计数|n*2寄存器值
|
||
响应:0x10|2字节起始地址|2字节寄存器数量 |