Panduan Pengaturcaraan PHP: Kuasai Kaedah Pelaksanaan Modbus TCP Communication

WBOY
Lepaskan: 2023-07-17 13:10:01
asal
1818 orang telah melayarinya

Panduan Pengaturcaraan PHP: Kuasai kaedah pelaksanaan komunikasi Modbus TCP

Modbus TCP ialah protokol komunikasi industri yang biasa digunakan untuk melaksanakan komunikasi antara peranti dalam sistem kawalan automasi industri. Dalam pengaturcaraan PHP, kaedah melaksanakan komunikasi Modbus TCP boleh membawa kemudahan yang besar kepada pembangunan sistem automasi industri. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan komunikasi Modbus TCP, dan melampirkan contoh kod yang sepadan.

  1. Pasang perpustakaan Modbus
    Pertama, anda perlu memasang perpustakaan Modbus dalam PHP. Ia boleh dipasang melalui langkah berikut:

Langkah 1: Muat turun perpustakaan libmodbus
Muat turun versi terkini perpustakaan libmodbus di laman web https://libmodbus.org/ dan ekstraknya ke direktori tempatan.

Langkah 2: Pasang pustaka libmodbus
Gunakan baris arahan untuk memasuki direktori yang dinyahzip, dan kemudian jalankan arahan berikut untuk memasang pustaka libmodbus:

$ ./configure
$ make
$ sudo make install

Langkah 3 : Pasang sambungan PHP
Muat turun versi terkini sambungan php_modbus di https://pecl.php.net/ dan ekstraknya ke direktori tempatan.

Gunakan terminal untuk pergi ke direktori yang tidak dizip dan jalankan arahan berikut untuk memasang sambungan php_modbus:

$ phpize
$ ./configure
$ make
$ sudo make install

  1. Sambung ke pelayan Modbus
    Kod PHP, anda boleh Gunakan kod berikut untuk menyambung ke pelayan Modbus:
<?php
    $ip = "192.168.1.1"; // Modbus服务器IP地址
    $port = 502; // Modbus端口,默认为502

    // 创建Modbus TCP连接
    $connection = modbus_new_tcp($ip, $port);

    if(!$connection) {
        die("无法连接到Modbus服务器");
    }

    // 连接成功后,可以进行通信操作

    // 关闭Modbus连接
    modbus_close($connection);
?>
Salin selepas log masuk
  1. Baca data daftar
    Anda boleh menggunakan kod berikut untuk membaca data daftar dalam pelayan Modbus:
<?php
    // 读取第一个寄存器的值
    $address = 0; // 寄存器地址
    $quantity = 1; // 读取的寄存器数量

    // 读取寄存器数据
    $data = modbus_read_registers($connection, $address, $quantity);

    // 打印读取的数据
    print_r($data);
?>
Salin selepas log masuk
  1. Tulis data daftar
    Anda boleh menggunakan kod berikut untuk menulis data daftar ke pelayan Modbus Tulis data daftar dalam:
<?php
    // 写入第一个寄存器的值为100
    $address = 0; // 寄存器地址
    $value = 100; // 写入的值

    // 写入寄存器数据
    $result = modbus_write_register($connection, $address, $value);

    if($result === FALSE) {
        echo "写入寄存器失败";
    } else {
        echo "写入寄存器成功";
    }
?>
Salin selepas log masuk
  1. Pengendalian pengecualian
    Dalam komunikasi Modbus, anda mungkin menghadapi beberapa situasi tidak normal, seperti kegagalan sambungan, kegagalan membaca dan menulis, dsb. Kod berikut boleh digunakan untuk pengendalian pengecualian:
<?php
    // 创建Modbus TCP连接
    $connection = modbus_new_tcp($ip, $port);

    if(!$connection) {
        die("无法连接到Modbus服务器");
    }

    // 异常处理
    $exception = modbus_errno();
    if($exception) {
        die("Modbus操作异常:".modbus_strerror($exception));
    }

    // 连接成功后,可以进行通信操作

    // 关闭Modbus连接
    modbus_close($connection);
?>
Salin selepas log masuk

Melalui langkah dan contoh kod di atas, kita boleh menguasai kaedah menggunakan bahasa pengaturcaraan PHP untuk melaksanakan komunikasi Modbus TCP. Saya harap artikel ini dapat membantu anda dalam pembangunan sistem kawalan automasi industri.

Atas ialah kandungan terperinci Panduan Pengaturcaraan PHP: Kuasai Kaedah Pelaksanaan Modbus TCP Communication. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan