Modbus TCP သည်စက်မှုထိန်းချုပ်မှုနယ်ပယ်တွင်အထူးသဖြင့် device များအကြား data များထုတ်လွှင့်မှုတွင်အသုံးပြုသော TCP / IP protocol ကို အခြေခံ. စက်မှုလုပ်ငန်းဆက်သွယ်ရေးပရိုတိုကောသည်စက်မှုဆိုင်ရာဆက်သွယ်ရေးပရိုတိုကောဖြစ်သည်။ Modbus TCP protocol ကိုအသုံးပြုခြင်းအားဖြင့်စက်ပစ္စည်းများအကြားအချိန်နှင့်တပြေးညီအချက်အလက်များဖတ်ခြင်းနှင့်ရေးသားခြင်းကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤဆောင်းပါးသည် PHPT ဘာသာစကားကို အသုံးပြု. Modbus TCP ၏လုပ်ဆောင်မှုများကိုဖတ်ရန်နှင့် Modbus TCP ၏လုပ်ငန်းများကိုရေးဆွဲရန်နှင့် Developer များလျင်မြန်စွာအကောင်အထည်ဖော်ရန်ကူညီရန်သင့်တော်သောကျင့်ထုံးဥပမာများနှင့်သက်ဆိုင်သည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
PHP code ကိုမရေးမှီ, သက်ဆိုင်ရာ PHP တိုးချဲ့မှုများနှင့်ပတ်ဝန်းကျင်ကိုတပ်ဆင်ထားကြောင်းသေချာစေရန်လိုအပ်သည်။ ဆာဗာသည် PHP တွင်ပါ 0 င်ပြီး Modbus TCP protocol ၏ extension များကိုထောက်ပံ့ရန်သေချာပါစေ။ တပ်ဆင်မှုပြီးဆုံးသွားသောအခါ PHP ၏လည်ပတ်မှုအခြေအနေနှင့်ဆက်စပ်သော extensions များကို phpinfo () function ကို အသုံးပြု. တင်မနေစစ်ဆေးနိုင်သည်။
PHP တွင် Modbus TCP ဆက်သွယ်မှုတစ်ခုကိုဖန်တီးခြင်းသည်ပုံမှန်အားဖြင့် modbus_new_tcp () function ကိုအသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် parameters နှစ်ခုလိုအပ်သည် - IP address နှင့် Modbus TCP ဆာဗာ၏ port နံပါတ်။ ဆက်သွယ်မှုတစ်ခုဖန်တီးရန်အတွက်နမူနာကုဒ်ဖြစ်သည်။
$modbus = modbus_new_tcp("192.168.1.10", 502);
if (!$modbus) {
die('Failed to create Modbus TCP connection');
}
ဆက်သွယ်မှုကိုအောင်အောင်မြင်မြင်ဖန်တီးပြီးနောက်ဒေတာဖတ်ရန်အတွက် modbus_read_input_iRegisters () function ကိုသုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည် Modbus TCP ဆက်သွယ်မှု, Modbus TCP ဆက်သွယ်မှု, ကျွန်လိပ်စာ, မှတ်ပုံတင်လိပ်စာနှင့်ဖတ်၏နံပါတ်လိုအပ်သည်။ ဤတွင် input registers ဖတ်ရှုခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
$data = modbus_read_input_registers($modbus, 1, 0, 10);
if ($data === false) {
die('Failed to read input registers');
}
print_r($data);
အထက်ပါကုဒ်များမှတစ်ဆင့်စက်ပစ္စည်းလိပ်စာ 1 မှတ်ပုံတင်မှစတင်သောမှတ်ပုံတင်နံပါတ် 10 ၏အချက်အလက်များကိုဖတ်နိုင်သည်။ ရလဒ်သည် output ဖြစ်နိုင်သည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ဒေတာများစွာကိုဒေတာများစွာကိုဖတ်ရန်သို့မဟုတ်ရေးရန်လိုအပ်သည်။ ဤအဆုံးတွင် PHP သည် Modbus_Read_input_registers_batch () function and modbus_write_single_regise_ rogrite_regise_Register_Batch () function ကိုထောက်ပံ့ပေးသည်။ ဤတွင် input registers ၏အသုတ်ဖတ်ရန်အတွက်ဥပမာကုဒ်ဖြစ်သည်။
$addresses = [0, 1, 2, 3, 4];
$data = modbus_read_input_registers_batch($modbus, 1, $addresses);
if (!$data) {
die('Failed to read input registers batch');
}
print_r($data);
တစ်ချိန်တည်းမှာပင် Modbus_write_single_regise_Register_Batch () function ကို function ကို batch combatch ကို batch လုပ်ရန်အသုံးပြုနိုင်သည်။ Modbus TCP connection, device address နှင့် ins ည့်ခန်းပါ 0 င်သည့် arry များပါ 0 င်သည့်အချက်များပါ 0 င်သည်။ ဤတွင်အသုတ်ရေးသားသည့်ဥပမာတစ်ခုဖြစ်သည်။
$registersAndData = [
[0, 100],
[1, 200],
[2, 300],
[3, 400],
];
$success = modbus_write_single_register_batch($modbus, 1, $registersAndData);
if (!$success) {
die('Failed to write single register batch');
}
ဤကုဒ်များမှတစ်ဆင့်သင်တစ်ချိန်တည်းတွင်ပစ္စည်းမျိုးစုံတွင်သီးသန့်ဖတ်ရှုခြင်းနှင့်ရေးသားခြင်းကိုပြုလုပ်နိုင်ပြီးဒေတာစစ်ဆင်ရေးများ၏ထိရောက်မှုကိုများစွာတိုးတက်အောင်ပြုလုပ်နိုင်သည်။
အထက်ပါနိဒါန်းနှင့်နမူနာကုဒ်မှတဆင့် PHP ဘာသာစကားမှတဆင့် Modbus TCP ၏စစ်ဆင်ရေးများကိုအကောင်အထည်ဖော်ရန်အလွန်ရိုးရှင်းပြီးထိရောက်စွာဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ သက်ဆိုင်ရာဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်ကိုသင်ပြင်ဆင်ထားသရွေ့သင့်တော်သော PPP တိုးချဲ့မှုလုပ်ငန်းများကိုအသုံးပြုနေသရွေ့, ကိရိယာများအကြားဆက်သွယ်ရေးနှင့်ဒေတာလုပ်ငန်းများကိုအောင်မြင်စွာရရှိနိုင်ပါသည်။ စက်မှုထိန်းချုပ်မှုစနစ်များ၏အချက်အလက်ပြုပြင်ခြင်းစွမ်းရည်ကိုတိုးတက်စေရန် Modbus TCP protocol ကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။