<?php
require_once "Phpmodbus/ModbusMaster.php";
// 创建ModbusMaster对象
$modbus = new ModbusMaster("192.168.0.1", "TCP");
// 设置Modbus从站ID
$modbus->setSlave(1);
try {
// 读取保持寄存器的数据
$data = $modbus->readMultipleRegisters(0, 10);
// 处理读取到的数据
if ($data) {
$registers = array();
for ($i = 1; $i < count($data); $i++) {
$register_value = $modbus->parseResponse($data[$i], "int");
array_push($registers, $register_value);
}
// 输出寄存器的值
print_r($registers);
} else {
echo "读取失败!";
}
} catch (Exception $e) {
echo $e->getMessage();
}
?>
以上代码示例通过PhpModbus库的ModbusMaster类建立连接,并成功读取保持寄存器数据。实际使用时,可根据需求对数据进行更灵活的处理。