PHP Modbus可以通過使用Modbus TCP或Modbus RTU通信協議來實現數據的讀取操作。以下是一個簡單的示例代碼,用于從Modbus設備中讀取數據:
// Modbus TCP連接信息
$host = '192.168.1.100'; // Modbus設備IP地址
$port = 502; // Modbus設備端口號
// 創建Modbus TCP連接
$connection = new ModbusMaster($host, 'TCP', $port);
// 讀取保持寄存器中的數據
$slaveId = 1; // 設備的Slave ID
$startAddress = 0; // 起始地址
$quantity = 10; // 讀取數據的數量
try {
$data = $connection->readMultipleRegisters($slaveId, $startAddress, $quantity);
// 處理讀取的數據
for ($i = 0; $i < $quantity; $i++) {
echo "Register " . ($startAddress + $i) . ": " . $data[$i] . "\n";
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
在上面的示例中,首先創建了一個Modbus TCP連接,然后使用readMultipleRegisters
方法從Modbus設備的保持寄存器中讀取數據。最后,對讀取的數據進行處理并輸出。
需要注意的是,要使用PHP Modbus庫進行Modbus通信,需要先安裝PHP Modbus庫,并根據具體情況修改連接信息和讀取操作的參數。