mightypork/phpmodbus

PhpModbus 带有命名空间且更新至 PHP 7

0.10.1 2017-09-02 12:35 UTC

This package is auto-updated.

Last update: 2024-09-15 06:44:43 UTC


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 上。它仍然在此存档