PHP を使用して Modbus TCP データの監視と収集を実装する方法
はじめに:
産業オートメーションの急速な発展に伴い、Modbus プロトコルは一般的に使用される通信プロトコルとして広く使用されています。産業制御の分野。この記事では、PHP 言語を使用して Modbus TCP データを監視および収集する方法を紹介し、読者がすぐに使い始めるのに役立つコード例を使用します。
1. Modbus TCP の概要
Modbus 通信プロトコルはシリアル通信プロトコルであり、Modbus TCP/IP プロトコルを介して TCP/IP プロトコルに変換することでリモート通信を実現できます。 Modbus TCP は、リクエスト/レスポンス モードを採用したコネクション指向のメッセージベースのプロトコルで、マスター ステーションが読み取りおよび書き込みリクエストをスレーブ ステーションに送信し、スレーブ ステーションから応答を取得できるようにします。
2. PHP Modbus ライブラリのインストール
PHP には、Modbus TCP 通信を簡単に実装できるサードパーティ ライブラリがいくつかあります。ここでは phpmodbus ライブラリを選択します。
Composer を使用すると、phpmodbus ライブラリを簡単にインストールできます。プロジェクトのルート ディレクトリにcomposer.json ファイルを作成し、次の内容を追加します。
{ "require": { "mamuesp/phpmodbus": "dev-master" } }
次に、コマンド ラインで composer install
コマンドを実行し、インストールが完了するまで待ちます。
3. 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从站 $modbus->connectTcp($ip, $port); // 读取保持寄存器(地址为0x0001)的值 $data = $modbus->readMultipleRegisters($unitId, 1, 1); // 输出结果 if($data != false) { echo "读取成功! "; echo "寄存器值:".implode(",", $data)." "; } else { echo "读取失败! "; } // 断开连接 $modbus->disconnect();
4. 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从站 $modbus->connectTcp($ip, $port); // 写入保持寄存器(地址为0x0001)的值为100 $modbus->writeSingleRegister($unitId, 1, 100); // 断开连接 $modbus->disconnect();
5. 結論
この記事では、PHP を使用して Modbus TCP データの監視と収集を実装する方法と、読者に対応するコード例を提供します。コード例のデモンストレーションを通じて、読者は phpmodbus ライブラリを使用して Modbus TCP の読み取りおよび書き込み操作を実装する方法を学ぶことができます。この記事が読者の実際の開発に役立ち、産業オートメーション分野のアプリケーションで役割を果たすことができれば幸いです。
以上がPHP を使用して Modbus TCP データの監視と収集を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。