Я пытался получить доступ к данным ПЛК int16, отправленным через ModbusTcp, но я получаю только 2x int8 (как два регистра вместо одного). Кто-нибудь знает, как изменить читаемые регистры с 2x int8 на один int16?
Заранее спасибо.
https://github.com/krakorj/phpmodbus/blob/cebe783e922232100b9f1b74f33613cdbd4bc809/Phpmodbus/ModbusMaster.php
Преобразовать полученные данные Modbus (массив байтов) в тип данных PHP с помощью PhpType учебный класс.
$array = $modbus->readMultipleRegisters(1, 1, 1);
$val_signedInt = PhpType::bytes2signedInt($array);
Других решений пока нет …