|
本帖最后由 hixon 于 2021-12-13 15:39 编辑
比如我们要将 0x5dc00这个整数值通过modbus 0x10功能码写入0x6211和0x6212两个地址?
首先我们看一下modbus控件的write方法的定义,参数code是功能码,参数addr是寄存器起始地址,参数values是值数组(8位或16位字节数组),功能码0x10对应的是16位字节数组
ui.form-name.modbus-name.write(code, addr, values);
0x5dc00 我们需要拆成两个16位数 0x0005 和 0xdc00
- var code = 0x10;
- var addr = 0x6211;
- var v = 0x5dc00;
- var values = [(v >> 16) & 0xffff, v & 0xffff];
- ui.form-name.modbus-name.write(code, addr, values);
复制代码
|
|