<?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类建立连接,并成功读取保持寄存器数据。实际使用时,可根据需求对数据进行更灵活的处理。