Modbus TCP သည်စက်မှုလုပ်ငန်းမော်တော်ယာဉ်များနယ်ပယ်တွင်ကျယ်ပြန့်သောဆက်သွယ်ရေး protocol ဖြစ်သည်။ ၎င်းသည် Ethernet ကျော် devices များအကြားအချက်အလက်အပြန်အလှန်ဆက်သွယ်မှုကိုထောက်ခံသည်။ PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် Modbus TCP ဆက်သွယ်ရေးနှင့်စစ်ထုတ်ရန်နှင့်ပြန်လည်ပြုပြင်ထားသောအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်အင်ဂျင်နီယာစီမံကိန်းများစွာ၏အဓိကလိုအပ်ချက်မှာအဓိကလိုအပ်ချက်ဖြစ်သည်။ ဤဆောင်းပါးသည်သင့်အား PHP အကောင်အထည်ဖော်မှုဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးနိုင်ပြီးဆက်သွယ်မှု,
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();
?>
ဆက်သွယ်မှုအောင်မြင်ပြီးပါကသင်ဆိုင်းအင်ရှိအချက်အလက်များကိုဖတ်ရှုခြင်းကဲ့သို့သောတောင်းဆိုမှုကိုပေးပို့ရန်စာကြည့်တိုက်ရှိနည်းလမ်းများကိုသုံးနိုင်သည်။
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 အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာပါ။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်သင်သည်အချက်အလက်များကိုတိကျသောအခြေအနေများဖြင့်သာစိတ်ဝင်စားလေ့ရှိသည်။ ဥပမာအားဖြင့် 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 က်ဘ်အပလီကေးရှင်းများကိုပိုမိုသက်သာစေသည်။