ホームページ  >  記事  >  バックエンド開発  >  PHPを使用したModbus TCP通信コードの書き方

PHPを使用したModbus TCP通信コードの書き方

WBOY
WBOYオリジナル
2023-07-18 10:17:181556ブラウズ

PHP を使用して Modbus TCP 通信コードを記述する方法

Modbus は産業オートメーションの分野で使用される通信プロトコルであり、PLC (プログラマブル ロジック コントローラー) と他のオートメーション機器間のデータ送信に広く使用されています。 Modbus TCP は、TCP/IP プロトコル スタックをトランスポート層として使用して、ネットワーク経由のリモート通信を可能にする Modbus プロトコルの変種です。

この記事では、PHP を使用して Modbus TCP 通信コードを記述する方法を紹介し、いくつかのコード例を示します。

  1. Modbus TCP をサポートする PHP 拡張機能をインストールする
    まず、Modbus プロトコルを操作するための関数とメソッドを提供する PHP Modbus 拡張機能をインストールする必要があります。 phpmodbus や phpmodbuscli などのさまざまな拡張機能は、PECL (PHP Extension Community Library) Web サイトで見つけることができます。オペレーティング システムと PHP バージョンに応じて、適切な拡張機能を選択してインストールします。
  2. Modbus TCP 接続の作成
    PHP では、modbus_new 関数を使用して Modbus TCP 接続を作成できます。以下はサンプル コードです:
<?php
// 创建Modbus TCP连接
$modbus = modbus_new_tcp("192.168.1.1", 502);
if(!$modbus) {
    die("无法创建Modbus TCP连接");
}
?>

上記のコードでは、modbus_new_tcp 関数を使用して Modbus TCP 接続を作成し、パラメータにはリモート デバイスの IP アドレスとポート番号が含まれています。接続の作成に失敗した場合は、die関数を使用してエラーメッセージを出力し、プログラムを終了します。

  1. Modbus レジスタの読み取り
    Modbus TCP 接続が作成されたら、modbus_read_registers 関数を使用して指定されたレジスタを読み取ることができます。以下はサンプル コードです。
<?php
// 读取Modbus寄存器
$address = 0; // 起始寄存器的地址
$count = 10; // 要读取的寄存器数量
$data = modbus_read_registers($modbus, $address, $count);
if(!$data) {
    die("无法读取Modbus寄存器");
}
?>

上記のコードでは、modbus_read_registers 関数を使用して、指定されたアドレスから開始して指定された数のレジスタを読み取ります。読み込みに失敗した場合は、die関数を使用してエラーメッセージを出力し、プログラムを終了します。

  1. Modbus レジスタの書き込み
    レジスタの読み取りに加えて、modbus_write_register 関数を使用して指定したレジスタに書き込むこともできます。以下はサンプル コードです。
<?php
// 写入Modbus寄存器
$address = 0; // 要写入寄存器的地址
$value = 100; // 要写入的值
$result = modbus_write_register($modbus, $address, $value);
if(!$result) {
    die("无法写入Modbus寄存器");
}
?>

上記のコードでは、modbus_write_register 関数を使用して、指定された値を指定されたレジスタに書き込みます。書き込みに失敗した場合は、die関数を使用してエラーメッセージを出力し、プログラムを終了します。

  1. Modbus TCP 接続を閉じる
    Modbus 通信が完了したら、modbus_close 関数を使用して Modbus TCP 接続を閉じ、リソースを解放する必要があります。以下はサンプル コードです:
<?php
// 关闭Modbus TCP连接
modbus_close($modbus);
?>

上記のコードでは、modbus_close 関数を使用して、前に作成した Modbus TCP 接続を閉じます。

概要
この記事では、PHP を使用して Modbus TCP 通信コードを記述する方法を紹介します。まず、Modbus TCP をサポートする PHP 拡張機能をインストールする必要があります。次に、Modbus TCP 接続を作成し、レジスタの読み取りと書き込みによってデータ転送を実行します。最後に、Modbus TCP 接続を閉じてリソースを解放します。これらのコード例が、PHP で Modbus TCP 通信を実装し、産業オートメーションの分野での応用を見つけるのに役立つことを願っています。

以上がPHPを使用したModbus TCP通信コードの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。