Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menulis kod komunikasi TCP Modbus menggunakan PHP

Cara menulis kod komunikasi TCP Modbus menggunakan PHP

WBOY
WBOYasal
2023-07-18 10:17:181573semak imbas

Cara menulis kod komunikasi TCP Modbus menggunakan PHP

Modbus ialah protokol komunikasi yang digunakan dalam bidang automasi industri dan digunakan secara meluas untuk penghantaran data antara PLC (Pengawal Logik Boleh Diprogram) dan peralatan automasi lain. Modbus TCP ialah varian protokol Modbus yang menggunakan susunan protokol TCP/IP sebagai lapisan pengangkutan untuk membenarkan komunikasi jauh melalui rangkaian.

Artikel ini akan memperkenalkan cara menulis kod komunikasi TCP Modbus menggunakan PHP dan memberikan beberapa contoh kod.

  1. Pasang sambungan PHP yang menyokong Modbus TCP
    Mula-mula, anda perlu memasang sambungan Modbus untuk PHP, yang menyediakan fungsi dan kaedah untuk mengendalikan protokol Modbus. Anda boleh mendapatkan pelbagai sambungan seperti phpmodbus dan phpmodbuscli di laman web PECL (Perpustakaan Komuniti Sambungan PHP). Bergantung pada sistem pengendalian dan versi PHP anda, pilih dan pasang sambungan yang sesuai.
  2. Buat sambungan Modbus TCP
    Dalam PHP, anda boleh menggunakan fungsi modbus_new untuk mencipta sambungan Modbus TCP. Berikut ialah kod contoh:
<?php
// 创建Modbus TCP连接
$modbus = modbus_new_tcp("192.168.1.1", 502);
if(!$modbus) {
    die("无法创建Modbus TCP连接");
}
?>

Dalam kod di atas, kami mencipta sambungan Modbus TCP menggunakan fungsi modbus_new_tcp, dengan parameter termasuk alamat IP dan nombor port peranti jauh. Jika penciptaan sambungan gagal, kami menggunakan fungsi mati untuk mengeluarkan mesej ralat dan menamatkan program.

  1. Baca Daftar Modbus
    Setelah sambungan Modbus TCP dibuat, kita boleh menggunakan fungsi modbus_read_registers untuk membaca daftar yang ditentukan. Berikut ialah kod contoh:
<?php
// 读取Modbus寄存器
$address = 0; // 起始寄存器的地址
$count = 10; // 要读取的寄存器数量
$data = modbus_read_registers($modbus, $address, $count);
if(!$data) {
    die("无法读取Modbus寄存器");
}
?>

Dalam kod di atas, kami menggunakan fungsi modbus_read_registers untuk membaca bilangan daftar yang ditentukan bermula dari alamat yang dinyatakan. Jika bacaan gagal, kami menggunakan fungsi mati untuk mengeluarkan mesej ralat dan menamatkan program.

  1. Tulis daftar Modbus
    Selain membaca daftar, kita juga boleh menggunakan fungsi modbus_write_register untuk menulis ke daftar yang ditentukan. Berikut ialah contoh kod:
<?php
// 写入Modbus寄存器
$address = 0; // 要写入寄存器的地址
$value = 100; // 要写入的值
$result = modbus_write_register($modbus, $address, $value);
if(!$result) {
    die("无法写入Modbus寄存器");
}
?>

Dalam kod di atas, kami menggunakan fungsi modbus_write_register untuk menulis nilai yang ditentukan pada daftar yang ditentukan. Jika penulisan gagal, kami menggunakan fungsi mati untuk mengeluarkan mesej ralat dan menamatkan program.

  1. Tutup sambungan Modbus TCP
    Selepas melengkapkan komunikasi Modbus, kita harus menggunakan fungsi modbus_close untuk menutup sambungan Modbus TCP untuk melepaskan sumber. Berikut ialah contoh kod:
<?php
// 关闭Modbus TCP连接
modbus_close($modbus);
?>

Dalam kod di atas, kami menggunakan fungsi modbus_close untuk menutup sambungan Modbus TCP yang dibuat sebelum ini.

Ringkasan
Artikel ini memperkenalkan cara menulis kod komunikasi TCP Modbus menggunakan PHP. Pertama, kita perlu memasang sambungan PHP yang menyokong Modbus TCP. Kami kemudian membuat sambungan Modbus TCP dan melakukan pemindahan data dengan membaca dan menulis daftar. Akhir sekali, kami menutup sambungan Modbus TCP untuk mengeluarkan sumber. Saya harap contoh kod ini dapat membantu anda melaksanakan komunikasi Modbus TCP dalam PHP dan mencari aplikasi dalam bidang automasi industri.

Atas ialah kandungan terperinci Cara menulis kod komunikasi TCP Modbus menggunakan 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