လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ပရိုဂရမ်ကျွမ်းကျင်မှု - Modbus TCP ဒေတာစီစစ်ခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနည်းလမ်းများအကောင်အထည်ဖော်ခြင်း

PHP ပရိုဂရမ်ကျွမ်းကျင်မှု - Modbus TCP ဒေတာစီစစ်ခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနည်းလမ်းများအကောင်အထည်ဖော်ခြင်း

M66 2025-05-31

PHP တွင် Modbus TCP ဒေတာဖတ်ရှုခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုအကောင်အထည်ဖော်ရန်လက်တွေ့ကျတဲ့နည်းလမ်း

Modbus TCP သည်စက်မှုလုပ်ငန်းမော်တော်ယာဉ်များနယ်ပယ်တွင်ကျယ်ပြန့်သောဆက်သွယ်ရေး protocol ဖြစ်သည်။ ၎င်းသည် Ethernet ကျော် devices များအကြားအချက်အလက်အပြန်အလှန်ဆက်သွယ်မှုကိုထောက်ခံသည်။ PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် Modbus TCP ဆက်သွယ်ရေးနှင့်စစ်ထုတ်ရန်နှင့်ပြန်လည်ပြုပြင်ထားသောအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်အင်ဂျင်နီယာစီမံကိန်းများစွာ၏အဓိကလိုအပ်ချက်မှာအဓိကလိုအပ်ချက်ဖြစ်သည်။ ဤဆောင်းပါးသည်သင့်အား PHP အကောင်အထည်ဖော်မှုဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးနိုင်ပြီးဆက်သွယ်မှု,

Modbus TCP ဆက်သွယ်မှုကိုတည်ဆောက်ပါ

Modbus TCP ကိရိယာများနှင့်ဆက်သွယ်မှုများကိုလျင်မြန်စွာတည်ဆောက်ရန် phpmodbus စာကြည့်တိုက်ကိုသုံးပါ။ ပထမ ဦး စွာသင်က composer မှတဆင့် install လုပ်ဖို့လိုအပ်ပါတယ်:

 composer require modbus/tcp-php

တပ်ဆင်မှုပြီးဆုံးသွားသောအခါ, အောက်ပါကုဒ်မှတဆင့် device နှင့်ဆက်သွယ်ရေးဆက်သွယ်မှုကိုသင်တည်ဆောက်နိုင်သည်။

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

use ModbusTcpClient\Network\BinaryStreamConnection;

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

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

// ဒီမှာလုပ်နိုင်ပါတယ်Modbus TCPဆက်သွယ်ရေး

$connection->close();
?>

Modbus TCP ကိုဖတ်ရန်တောင်းဆိုမှုကိုပေးပို့ပါ

ဆက်သွယ်မှုအောင်မြင်ပြီးပါကသင်ဆိုင်းအင်ရှိအချက်အလက်များကိုဖတ်ရှုခြင်းကဲ့သို့သောတောင်းဆိုမှုကိုပေးပို့ရန်စာကြည့်တိုက်ရှိနည်းလမ်းများကိုသုံးနိုင်သည်။

 use ModbusTcpClient\Request\ReadHoldingRegistersRequest;
use ModbusTcpClient\Utils\Types;

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

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());
    print_r($data);
} else {
    echo 'တောင်းဆိုမှုပျက်ကွက်:' . $response->getErrorMessage();
}

အထက်ဖော်ပြပါကုဒ်များသည် 10 ခုကိုဖတ်ရန် RESTERS ကို 0 0 ၏စတင်လိပ်စာဖြင့်မှတ်ပုံတင်ထားသောမှတ်ပုံတင်ကိုရယူရန်နှင့်ပြန်လာ byte အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာပါ။

Modbus ကို filter လုပ်ခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုခွဲခြမ်းစိတ်ဖြာပါ

လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်သင်သည်အချက်အလက်များကိုတိကျသောအခြေအနေများဖြင့်သာစိတ်ဝင်စားလေ့ရှိသည်။ ဥပမာအားဖြင့် 100 ကျော်သောတန်ဖိုးဖြင့်ဒေတာကိုသာမှတ်ပုံတင်ပြီးအောက်ပါနည်းလမ်းကို အသုံးပြု. filter လုပ်ထားခြင်းတို့ကိုသာမှတ်ပုံတင်ပြီးမှတ်ပုံတင်ခြင်းကိုပြုလုပ်နိုင်သည်။

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

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

    print_r($filteredData);
} else {
    echo 'တောင်းဆိုမှုပျက်ကွက်:' . $response->getErrorMessage();
}

array_filter function ကိုမှတစ်ဆင့်စစ်ထုတ်ခြင်းဆိုင်ရာယုတ္တိဗေဒကိုလိုအပ်ချက်များအရစိတ်ကြိုက်ပြုပြင်နိုင်သည်, နောက်ဆက်တွဲအပြောင်းအလဲနဲ့သို့မဟုတ် display အတွက်အသုံးဝင်သောအချက်အလက်များကိုထုတ်ယူနိုင်သည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးသည် Modbus TCP ဆက်သွယ်ရေးအတွက် Modbus TCP ဆက်သွယ်ရေးအပါအ 0 င် Modbus TCP ဆက်သွယ်ရေး, phpmodbus စာကြည့်တိုက်၏အကူအညီဖြင့် developer များသည် Modbus Protocol ကို PHP Protocol ကိုအလွယ်တကူပေါင်းစပ်နိုင်သည်။ အထူးသဖြင့်စက်မှုစောင့်ကြည့်လေ့လာရေးနှင့်အသိဉာဏ်ကုန်ထုတ်လုပ်မှုအခြေအနေများအတွက်သင့်တော်သည်။

ဤကျွမ်းကျင်မှုများကျွမ်းကျင်မှုသည်သင့်အားစက်မှုထိန်းချုပ်မှု 0 က်ဘ်အပလီကေးရှင်းများကိုပိုမိုသက်သာစေသည်။