Kemahiran pengaturcaraan PHP: Melaksanakan kaedah penapisan dan analisis data Modbus TCP

王林
Lepaskan: 2023-07-17 11:56:01
asal
687 orang telah melayarinya

Kemahiran pengaturcaraan PHP: Laksanakan kaedah penapisan dan analisis data Modbus TCP

Modbus TCP ialah protokol komunikasi yang biasa digunakan, yang boleh digunakan untuk berkomunikasi dengan pelbagai peranti dan sangat popular dalam bidang kawalan industri. Dalam pengaturcaraan PHP, cara menapis dan menganalisis data Modbus TCP adalah kemahiran dan keperluan yang penting. Artikel ini akan memperkenalkan beberapa kemahiran pengaturcaraan PHP untuk membantu anda melaksanakan kaedah penapisan dan analisis data Modbus TCP.

1. Wujudkan sambungan Modbus TCP

Dalam PHP, kita boleh menggunakan perpustakaan "phpmodbus" untuk mewujudkan sambungan dengan peranti Modbus TCP. Pertama, kita perlu memasang perpustakaan. Jalankan arahan berikut untuk memasang:

composer require modbus/tcp-php
Salin selepas log masuk

Setelah pemasangan selesai, kita boleh menggunakan perpustakaan. Berikut ialah contoh kod untuk mewujudkan sambungan Modbus TCP:

<?php

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

use ModbusTcpClientNetworkBinaryStreamConnection;

$ip = '192.168.1.100';
$port = 502;

$connection = new BinaryStreamConnection($ip, $port);
$connection->connect();

// 在这里可以进行Modbus TCP通信

$connection->close();
Salin selepas log masuk

2. Hantar permintaan Modbus TCP

Selepas mewujudkan sambungan dengan peranti, kami boleh menggunakan perpustakaan "phpmodbus" untuk menghantar permintaan Modbus TCP. Berikut ialah contoh kod yang menghantar permintaan Modbus TCP untuk membaca daftar pegangan:

...

use ModbusTcpClientRequestReadHoldingRegistersRequest;
use ModbusTcpClientUtilsTypes;

$request = new ReadHoldingRegistersRequest(0, 10);
$response = $connection->sendRequest($request);

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());
    print_r($data);
} else {
    echo '请求失败:' . $response->getErrorMessage();
}

...
Salin selepas log masuk

Kod di atas menghantar permintaan untuk membaca 10 daftar pegangan bermula pada alamat 0 dan menghuraikan data yang terhasil ke dalam tatasusunan untuk dicetak.

3. Penapisan dan analisis data

Dalam projek sebenar, semua data biasanya tidak diproses secara langsung, tetapi ditapis dan dianalisis mengikut keperluan. Contohnya, jika kita hanya ingin mendapatkan data dengan nilai lebih daripada 100 dalam daftar pegangan, kita boleh menggunakan kod berikut untuk menapis dan menganalisis:

...

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());

    $filteredData = array_filter($data, function($value) {
        return $value > 100;
    });

    print_r($filteredData);
} else {
    echo '请求失败:' . $response->getErrorMessage();
}

...
Salin selepas log masuk

Kod di atas menggunakan fungsi array_filter untuk menapis data, mengekalkan data sahaja dengan nilai lebih daripada 100, dan cetaknya .

4. Ringkasan

Melalui kemahiran pengaturcaraan PHP di atas, kami boleh melaksanakan penyaringan dan analisis data Modbus TCP dengan mudah. Pertama, kami mewujudkan sambungan ke peranti Modbus TCP kemudian, kami menghantar permintaan Modbus TCP dan memproses data di dalamnya. Akhir sekali, kami juga menunjukkan cara menapis dan menganalisis data.

Saya harap artikel ini dapat membantu anda menggunakan kaedah penyaringan dan analisis data Modbus TCP secara fleksibel dalam pengaturcaraan PHP. Selamat berprogram!

Atas ialah kandungan terperinci Kemahiran pengaturcaraan PHP: Melaksanakan kaedah penapisan dan analisis data Modbus TCP. 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