阅读量:0
要实现实时监控和数据采集,可以使用PHP Modbus库与Modbus TCP通信来读取和写入Modbus设备的寄存器。
以下是一个简单的示例代码,演示如何使用PHP Modbus库与Modbus TCP服务器通信:
<?php require_once 'vendor/autoload.php'; use PHPModbus\ModbusMaster; // Modbus TCP服务器的IP地址和端口号 $serverIp = '127.0.0.1'; $serverPort = 502; // 创建ModbusMaster对象 $modbus = new ModbusMaster($serverIp, 'TCP', $serverPort); // 读取寄存器的值 $startAddress = 0; $quantity = 10; try { $data = $modbus->readMultipleRegisters(1, $startAddress, $quantity); var_dump($data); } catch (Exception $e) { echo $e->getMessage(); } // 写入寄存器的值 $startAddress = 0; $data = [1, 2, 3, 4, 5]; try { $modbus->writeMultipleRegisters(1, $startAddress, $data); } catch (Exception $e) { echo $e->getMessage(); }
在上面的示例中,我们首先创建了一个ModbusMaster对象,然后使用该对象读取和写入Modbus设备的寄存器值。您可以根据自己的需求更改寄存器的起始地址和数量,并处理读取和写入操作的结果。
请注意,此示例假定您已经安装了PHP Modbus库并正确配置了Modbus TCP服务器。您需要根据实际情况修改服务器的IP地址和端口号,并确保您具有适当的权限来访问Modbus设备。