Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan pembacaan dan penulisan data Modbus TCP melalui PHP

Bagaimana untuk melaksanakan pembacaan dan penulisan data Modbus TCP melalui PHP

WBOY
WBOYasal
2023-07-17 14:48:141482semak imbas

Cara melaksanakan pembacaan dan penulisan data TCP Modbus melalui PHP

Modbus ialah protokol komunikasi yang biasa digunakan untuk berkomunikasi antara peranti dalam bidang perindustrian. Modbus TCP ialah varian protokol Modbus yang menggunakan protokol TCP/IP untuk berkomunikasi pada rangkaian. Dalam artikel ini, kami akan memperkenalkan cara membaca dan menulis data Modbus TCP melalui PHP.

  1. Pasang sambungan PHP Modbus
    Sebelum menggunakan PHP untuk melaksanakan komunikasi Modbus TCP, kita perlu memasang sambungan PHP Modbus. Sambungan yang biasa digunakan ialah phpmodbus, anda boleh memuat turun kodnya di https://github.com/angeloc/phpmodbus dan menyalin kod tersebut ke dalam projek PHP anda.
  2. Mewujudkan sambungan Modbus TCP
    Mewujudkan sambungan Modbus TCP adalah sangat mudah menggunakan sambungan phpmodbus. Pertama, kita perlu mencipta objek ModbusMaster dan nyatakan alamat IP dan nombor port pelayan Modbus. Contohnya adalah seperti berikut:
require_once('modbus/ModbusMaster.php');

$modbus = new ModbusMaster("192.168.1.1", "TCP");
  1. Baca data Modbus
    Protokol Modbus menyokong pelbagai kaedah membaca data, seperti daftar pegangan membaca (Daftar Pegangan), daftar masukan (Daftar Input), gegelung (Gegelung), dll. Kita boleh menggunakan kaedah readMultipleRegisters() objek ModbusMaster untuk membaca data daftar pegangan. Contohnya adalah seperti berikut:
$startAddress = 0;
$length = 10;

$data = $modbus->readMultipleRegisters(1, $startAddress, $length);

for ($i = 0; $i < $length; $i++) {
    echo "寄存器 " . ($startAddress + $i) . " 的值: " . $data[$i] . "
";
}
  1. Tulis data Modbus
    Jika kita ingin menulis data ke pelayan Modbus, kita boleh menggunakan kaedah writeSingleRegister() atau writeMultipleRegisters() bagi objek ModbusMaster. Contohnya adalah seperti berikut:
$address = 1;
$value = 123;

$modbus->writeSingleRegister($address, $value);

echo "写入成功
";
  1. Pengendalian ralat
    Dalam aplikasi praktikal, kita perlu melakukan pengendalian ralat pada komunikasi Modbus. Setiap kaedah objek ModbusMaster mengembalikan nilai Boolean yang menunjukkan sama ada komunikasi itu berjaya. Jika komunikasi gagal, kami boleh menggunakan kaedah getError() untuk mendapatkan maklumat ralat. Contohnya adalah seperti berikut:
if (!$modbus->writeSingleRegister($address, $value)) {
    echo "写入失败:" . $modbus->getError() . "
";
}

Ringkasnya, kita boleh menggunakan PHP untuk membaca dan menulis data Modbus TCP dengan menggunakan sambungan phpmodbus. Dengan menubuhkan objek ModbusMaster dan memilih kaedah yang sesuai, kami boleh melakukan komunikasi Modbus dengan mudah. Memberi perhatian kepada pengendalian ralat boleh meningkatkan kestabilan dan kebolehpercayaan program.

Walaupun artikel ini hanya menyediakan asas pelaksanaan Modbus TCP dalam PHP, ia memberikan anda titik permulaan yang baik supaya anda boleh mempelajari dan membangunkan aplikasi Modbus yang lebih kompleks. Saya harap anda boleh terus meneroka dan belajar secara praktikal dan memberikan permainan sepenuhnya kepada potensi Modbus!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pembacaan dan penulisan data Modbus TCP melalui PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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