mightypork / phpmodbus
PhpModbus 带有命名空间且更新至 PHP 7
0.10.1
2017-09-02 12:35 UTC
Requires
- php: ^5.3.2 || ^7.0
- ext-sockets: *
README
使用 PHP 实现基于 Modbus TCP 和 UDP 协议的基本功能。
注意:这是一个分支,用于修复和更新库代码。
新增功能
此分支添加了命名空间并修复了在移植到 PHP 7 时遇到的问题
实现的功能
- Modbus 主站
- 功能码 FC1 - 读取线圈
- 功能码 FC2 - 读取输入离散量
- 功能码 FC3 - 读取保持寄存器
- 功能码 FC4 - 读取保持输入寄存器
- 功能码 FC5 - 写单个线圈
- 功能码 FC6 - 写单个寄存器
- 功能码 FC15 - 写多个线圈
- 功能码 FC16 - 写多个寄存器
- 功能码 FC23 - 读取/写入多个寄存器
要求
- 应启用 PHP 扩展 php_sockets.dll(服务器 php.ini 文件)
示例
use PHPModbus\ModbusMaster;
use PHPModbus\PhpType;
// Modbus master UDP
$modbus = new ModbusMaster("192.168.1.1", "UDP");
// Read multiple registers
try {
$recData = $modbus->readMultipleRegisters(0, 12288, 5);
} catch (Exception $e) {
// Print error information if any
echo $modbus . "\n";
echo $e;
exit;
}
// Print data in string format
echo PhpType::bytes2string($recData);
使用 setTimeout($seconds)
和 setSocketTimeout($read_timeout_sec, $write_timeout_sec)
方法调整等待时间。
大部分代码(在一定程度上)都带有注释并用 PhpDoc 进行了文档化。
GoogleCode 旧版文档和下载
该项目最初托管在 Google Code 上。它仍然在此存档