Modbus Php读取int16

时间:2018-07-24 11:07:40

标签: php modbus plc

我试图访问通过ModbusTcp发送的PLC数据int16,但是我只接收到2x int8(作为两个寄存器而不是一个)。有谁知道如何将可读寄存器从2x int8更改为一个int16? 预先感谢。

https://github.com/krakorj/phpmodbus/blob/cebe783e922232100b9f1b74f33613cdbd4bc809/Phpmodbus/ModbusMaster.php

1 个答案:

答案 0 :(得分:0)

使用PhpType类将接收到的Modbus数据(字节数组)转换为PHP数据类型。

$array = $modbus->readMultipleRegisters(1, 1, 1);
$val_signedInt = PhpType::bytes2signedInt($array);