一条指令控制多个继电器输出通道动作时:
1、使用写多个线圈寄存器功能码:15功能码(16进制:0F);
2、控制输出的继电器通道必须连续,不能间隔;
3、每个继电器输出通道状态可设置为不一样。
指令(16进制)详解:
字段 | 含义 | 详细说明 |
FE | 设备地址 | 16进制,代表10进制254广播地址 |
0F | 0F指令 | 写多个线圈功能码 |
00 00 | 起始地址 | 从第几路继电器开始,00 00代表第一路 |
00 10 | 控制数量 | 控制的继电器通道数量,16通道 |
2 | 字节长度 | 发送命令字节长度(8路为1个字节) |
FF FF(或00 00) | 全开全关命令 | 具体的控制指令 |
A6 64(或A7 D4) | CRC16 | 校验位 |
具体控制指令说明:
线圈寄存器使用2进制1和0两个状态表示具体继电器的输出状态,写1代表继电器导通,写0代表继电器断开,每8路一个字节。
举例:
①、16通道继电器输出指令中,1,3,5,8,10,12断开,其他为导通状态,则具体的控制指令计算过程如下:
二进制:
16进制控制指令:56(1-8路) AF(9-16路)
全部控制指令如下:
FE 0F 00 00 00 10 02 56 AF D8 08
②、10通道继电器输出指令中,2,4,6,8断开,其他为导通状态,则具体的控制指令计算过程如下:
二进制:
16进制控制指令:AA(1-8路) 03(9-10路)
全部控制指令如下:
FE 0F 00 00 00 0A 02 AA 03 9E 6D