Idea pengaturcaraan PHP: membina aplikasi komunikasi Modbus TCP yang cekap

WBOY
Lepaskan: 2023-07-17 19:34:01
asal
1289 orang telah melayarinya

Idea pengaturcaraan PHP: Bina aplikasi komunikasi Modbus TCP yang cekap

Dengan perkembangan pesat Internet Perkara, semakin banyak peranti perlu bertukar data dengan pelayan melalui komunikasi TCP. Modbus ialah protokol komunikasi yang biasa digunakan yang digunakan secara meluas dalam bidang automasi industri. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk membina aplikasi komunikasi Modbus TCP yang cekap dan menyediakan contoh kod.

  1. Tentukan kaedah komunikasi

Sebelum membina aplikasi komunikasi TCP Modbus, anda perlu menentukan kaedah komunikasi. Modbus TCP boleh dilaksanakan menggunakan sambungan soket PHP, atau anda boleh menggunakan perpustakaan pihak ketiga seperti phpmodbus untuk memudahkan proses pembangunan. Di sini kami memilih untuk menggunakan perpustakaan phpmodbus kerana ia merangkumi butiran protokol Modbus dan menyediakan API yang mudah digunakan.

  1. Pasang perpustakaan phpmodbus

Menggunakan Komposer untuk memasang perpustakaan phpmodbus ialah cara yang paling mudah. Buka tetingkap baris arahan, masukkan direktori projek, dan laksanakan arahan berikut untuk memasang perpustakaan phpmodbus:

composer require phpmodbus/phpmodbus
Salin selepas log masuk

Komposer akan memuat turun dan memasang perpustakaan phpmodbus dan kebergantungannya.

  1. Sambungkan Peranti TCP Modbus

Pertama, kita perlu mencipta sambungan Modbus TCP. Dalam PHP, ini boleh dicapai menggunakan kelas ModbusMaster. Berikut ialah contoh kod untuk menyambung ke peranti Modbus TCP:

require __DIR__ . '/vendor/autoload.php';

use PhpmodbusPhpmodbus;

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

$modbus = new ModbusMaster($ip, $port);
Salin selepas log masuk
  1. Membaca data

Setelah sambungan berjaya diwujudkan, kita boleh menggunakan kaedah readMultipleRegisters dalam kelas ModbusMaster untuk membaca data daftar peranti Modbus. Berikut ialah kod sampel yang membaca data daftar yang memegang peranti Modbus:

$unitId = 0; // 设备的单元标识符
$startAddress = 0; // 开始地址
$numberOfRegisters = 10; // 读取寄存器的数量

$data = $modbus->readMultipleRegisters($unitId, $startAddress, $numberOfRegisters);
$values = Phpmodbus::byteArrayToRegisterArray($data);
Salin selepas log masuk

Dalam contoh di atas, kaedah readMultipleRegisters menerima pengecam unit peranti, alamat permulaan dan bilangan daftar sebagai parameter dan mengembalikan tatasusunan bait. Kita boleh menukar tatasusunan bait kepada tatasusunan nilai daftar menggunakan kaedah byteArrayToRegisterArray daripada perpustakaan Phpmodbus.

  1. Tulis data

Jika anda perlu menulis data pada peranti Modbus, anda boleh menggunakan kaedah writeMultipleRegisters dalam kelas ModbusMaster. Berikut ialah contoh kod yang menulis data ke daftar pemegang peranti Modbus:

$data = [1, 2, 3, 4, 5]; // 要写入的数值数组
$startAddress = 0; // 开始地址
$unitId = 0; // 设备的单元标识符

$modbus->writeMultipleRegisters($unitId, $startAddress, $data);
Salin selepas log masuk

Dalam contoh di atas, kaedah writeMultipleRegisters menerima sebagai parameter pengecam unit peranti, alamat permulaan dan tatasusunan nilai yang akan ditulis sebagai parameter. . Ambil perhatian bahawa panjang tatasusunan yang mana data ditulis mestilah sama dengan bilangan daftar yang ditulis.

  1. Tutup sambungan

Apabila komunikasi dengan peranti Modbus tidak lagi diperlukan, sambungan harus ditutup untuk mengeluarkan sumber. Sambungan boleh ditutup menggunakan kaedah putus sambungan dalam kelas ModbusMaster. Berikut ialah contoh kod untuk menutup sambungan Modbus TCP:

$modbus->disconnect();
Salin selepas log masuk

Ringkasan

Artikel ini memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk membina aplikasi komunikasi Modbus TCP yang cekap. Dengan menggunakan perpustakaan phpmodbus, kami boleh menyambung dengan mudah ke peranti Modbus dan membaca dan menulis data daftar menggunakan API mudah. Saya harap artikel ini telah memberikan sedikit bantuan untuk anda dalam membina aplikasi komunikasi Modbus TCP.

Nota: Contoh kod di atas adalah untuk rujukan sahaja Dalam aplikasi sebenar, beberapa pelarasan dan sambungan mungkin diperlukan berdasarkan keadaan tertentu.

Atas ialah kandungan terperinci Idea pengaturcaraan PHP: membina aplikasi komunikasi Modbus TCP yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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