Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP dan Modbus TCP: Bagaimana untuk mewujudkan sambungan komunikasi yang stabil

PHP dan Modbus TCP: Bagaimana untuk mewujudkan sambungan komunikasi yang stabil

WBOY
WBOYasal
2023-07-18 19:30:191581semak imbas

PHP dan Modbus TCP: Cara mewujudkan sambungan komunikasi yang stabil

Abstrak:
Modbus TCP ialah protokol komunikasi yang biasa digunakan untuk komunikasi antara peranti dalam bidang automasi industri. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk mewujudkan sambungan komunikasi yang stabil dengan peranti Modbus TCP dan menyediakan beberapa contoh kod.

Pengenalan:
Dalam bidang automasi industri, komunikasi antara peranti adalah sangat penting. Modbus TCP ialah protokol komunikasi yang biasa digunakan yang membenarkan pertukaran data masa nyata antara pelayan induk dan peranti hamba. PHP ialah bahasa pengaturcaraan berkuasa yang boleh berkomunikasi dengan peranti Modbus TCP untuk membaca dan menulis data.

Artikel ini akan menggunakan bahasa pengaturcaraan PHP untuk menunjukkan cara mewujudkan sambungan komunikasi dengan peranti Modbus TCP, dan menyediakan beberapa contoh kod mudah untuk membantu pembaca memahami dan menggunakan teknologi ini dengan lebih baik.

Langkah 1: Pasang Perpustakaan Modbus PHP
Sebelum kita mula, kita perlu memasang perpustakaan Modbus PHP untuk berkomunikasi dengan peranti Modbus TCP. Pustaka boleh dipasang dengan melaksanakan arahan berikut:

composer require phpmodbus/phpmodbus

Langkah 2: Wujudkan sambungan Modbus TCP
Mula-mula, kita perlu mengimport perpustakaan Modbus dalam kod PHP dan kemudian gunakan kod berikut untuk mewujudkan sambungan dengan peranti Modbus TCP :

<?php
require_once('vendor/autoload.php');

use PhpmodbusPhpmodbus;

$ip = '192.168.1.1';  // Modbus TCP设备的IP地址
$port = 502;  // Modbus TCP设备的端口号

$modbus = new Phpmodbus();
$modbus->connect($ip, $port);
?>

Dalam Dalam kod di atas, kami mewujudkan sambungan dengan peranti Modbus TCP dengan mencipta objek Phpmodbus. Kami perlu menyediakan alamat IP dan nombor port peranti Modbus TCP sebagai parameter.

Langkah 3: Baca nilai daftar Modbus
Setelah sambungan diwujudkan dengan peranti Modbus TCP, kita boleh menggunakan kod berikut untuk membaca nilai daftar Modbus:

<?php
$response = $modbus->readMultipleRegisters(0, 10, 3);
if (!$response) {
    echo "读取Modbus寄存器失败!";
    exit;
}

$values = PhpmodbusUtilsModbus::parseMultipleRegisters($response);
print_r($values);
?>

Dalam kod di atas, kami menggunakan kaedah readMultipleRegisters() Untuk membaca nilai 10 daftar bermula dari 0, jenis data daftar ini ialah 3 (integer tidak bertanda 16-bit). Hasil bacaan disimpan dalam pembolehubah $response, dan kaedah parseMultipleRegisters() perlu digunakan untuk menghuraikan data.

Langkah 4: Tulis nilai daftar Modbus
Selain membaca nilai daftar Modbus, kita juga boleh menggunakan kod berikut untuk menulis nilai daftar Modbus:

<?php
$data = array(1, 2, 3, 4, 5);  // 需要写入的值

$response = $modbus->writeMultipleRegisters(0, $data);
if (!$response) {
    echo "写入Modbus寄存器失败!";
    exit;
}

echo "Modbus寄存器写入成功!";
?>

Dalam kod di atas, kita menggunakan writeMultipleRegisters() Kaedah untuk menulis nilai dalam tatasusunan $data ke daftar bermula dari 0. Jika operasi tulis berjaya, "Tulis daftar Modbus berjaya!"

Kesimpulan:
Dengan menggunakan bahasa pengaturcaraan PHP dan perpustakaan Modbus, kami boleh mewujudkan sambungan komunikasi dengan mudah dengan peranti Modbus TCP dan melaksanakan operasi membaca dan menulis data. Artikel ini memberikan beberapa contoh kod mudah untuk membantu pembaca memahami dan menggunakan teknologi ini dengan lebih baik. Saya harap artikel ini dapat membantu pembaca dalam kerja mereka mengenai komunikasi peranti dalam bidang automasi industri.

Atas ialah kandungan terperinci PHP dan Modbus TCP: Bagaimana untuk mewujudkan sambungan komunikasi yang stabil. 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