當前位置: 首頁> 最新文章列表> 如何使用PHP實現Modbus TCP數據監控與採集

如何使用PHP實現Modbus TCP數據監控與採集

M66 2025-07-13

如何使用PHP實現Modbus TCP數據監控與採集

隨著工業自動化的快速發展,Modbus協議作為一種常用的通信協議,在工業控制領域得到廣泛應用。本文將介紹如何使用PHP語言來實現Modbus TCP協議的數據監控與採集,幫助開發者通過代碼示例快速上手。

Modbus TCP簡介

Modbus通信協議是一種串行通信協議,Modbus TCP協議則是將其轉化為TCP/IP協議,支持遠程通信。作為一種面向連接的消息型協議,Modbus TCP採用請求/響應模式,允許主站向從站發送數據請求並獲取響應。

PHP Modbus庫的安裝

為了實現Modbus TCP通信,可以使用第三方PHP庫來簡化開發。我們選擇了phpmodbus庫,該庫可以通過Composer輕鬆安裝。在項目根目錄下創建一個composer.json文件,並添加如下內容:

 {
   "require": {
     "mamuesp/phpmodbus": "dev-master"
   }
 }

然後在命令行中運行composer install 命令,等待安裝完成。

Modbus TCP讀操作示例

以下是使用phpmodbus庫實現Modbus TCP讀操作的示例代碼:

 require_once 'vendor/autoload.php';
 $ip = '192.168.1.1'; // Modbus從站IP地址
 $port = 502; // Modbus從站端口号
 $unitId = 1; // 從站ID
 use PhpmodbusPhpmodbus;
 $modbus = new Phpmodbus();
 $modbus->connectTcp($ip, $port);
 $data = $modbus->readMultipleRegisters($unitId, 1, 1);
 if($data != false) {
   echo "讀取成功!";
   echo "寄存器值:" . implode(",", $data);
 } else {
   echo "讀取失敗!";
 }
 $modbus->disconnect();

Modbus TCP寫操作示例

以下是使用phpmodbus庫實現Modbus TCP寫操作的示例代碼:

 require_once 'vendor/autoload.php';
 $ip = '192.168.1.1'; // Modbus從站IP地址
 $port = 502; // Modbus從站端口号
 $unitId = 1; // 從站ID
 use PhpmodbusPhpmodbus;
 $modbus = new Phpmodbus();
 $modbus->connectTcp($ip, $port);
 $modbus->writeSingleRegister($unitId, 1, 100);
 $modbus->disconnect();

結語

本文介紹瞭如何使用PHP語言通過phpmodbus庫實現Modbus TCP協議的數據監控與採集。通過詳細的代碼示例,讀者可以更清楚地了解如何在工業自動化領域應用Modbus協議的讀寫操作。希望本文對你的開發工作有所幫助。