Modbus သည်စက်မှုလုပ်ငန်းမော်တော်ယာဉ်များနယ်ပယ်တွင်ကျယ်ပြန့်စွာအသုံးပြုသောဆက်သွယ်ရေးပရိုတိုကောတစ် ဦး ဖြစ်သည်။ Modbus TCP သည် TCP / IP ကွန်ယက်အပေါ် အခြေခံ. ၎င်း၏အကောင်အထည်ဖော်မှုနည်းလမ်းဖြစ်သည်။ Modbus TCP protocol ၏ PHP of Php လည်ပတ်မှုဖြင့်သင်သည်စာဖတ်ခြင်းနှင့်စာရေးခြင်း၏မှတ်ပုံတင်ခြင်းကဲ့သို့သောလုပ်ဆောင်မှုများကိုနားလည်သဘောပေါက်ရန် device data data data data data data များနှင့်အပြန်အလှန်ဆက်သွယ်နိုင်သည်။ ဤဆောင်းပါးသည် PHP Parsing Modbus TCP command များနှင့်တုံ့ပြန်မှုများကိုမိတ်ဆက်ပေးပြီးလက်တွေ့ကျကျကုဒ်များကိုဥပမာပေးပါမည်။
PHP တွင်ဆက်သွယ်ရေးအတွက် Modbus TCP ကိုအသုံးပြုခြင်း၏အခြေခံဖြစ်စဉ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php // Modbusပစ္စည်းကိရိယာသတင်းအချက်အလက် $host = '192.168.1.1'; // Modbusပစ္စည်းကရိယာIPစကားပေြာဟော $port = 502; // Modbusပစ္စည်းကရိယာ端口号 // Modbusအမိန့် $readCommand = pack('nnnn', 0x0001, 0x0004, 0x0000, 0x0008); // Registers ကိုဖတ်ပါ0x0000~0x0008 $writeCommand = pack('nnnC*', 0x0001, 0x0006, 0x0000, 0x01, 0x00, 0x0A); // မှတ်ပုံတင်ရန်ရေးပါ0x0000အဘိုး0x0A // တည်ထောင်TCPဆက် $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $result = socket_connect($socket, $host, $port); if (!$result) { die("ဆက်Modbusပစ္စည်းကရိယာ失败!"); } // 发送读取အမိန့် socket_write($socket, $readCommand, strlen($readCommand)); // တုံ့ပြန်မှုဒေတာကိုလက်ခံရရှိသည် $response = socket_read($socket, 1024); $registers = unpack('n*', substr($response, 9)); // ဖွင့်ပါမှတ်ပုံတင်ဒေတာ // 打印读取到的寄存器အဘိုး echo "读取到的寄存器အဘိုး:"; foreach ($registers as $register) { echo $register . " "; } // 发送写入အမိန့် socket_write($socket, $writeCommand, strlen($writeCommand)); // တုံ့ပြန်မှုဒေတာကိုလက်ခံရရှိသည် $response = socket_read($socket, 1024); // parse တုံ့ပြန်မှုဒေတာ // TODO: အရModbus协议parse တုံ့ပြန်မှုဒေတာ // ရုပ်သိမ်းခြင်းTCPဆက် socket_close($socket); ?>
ဥပမာကုဒ်တွင် Modbus device ၏ IP နှင့်ဆိပ်ကမ်းပေါ်တွင် အခြေခံ. TCP ဆက်သွယ်မှုကိုပထမ ဦး စွာတည်ထောင်ပါ။ စာဖတ်ခြင်းသို့မဟုတ်ရေးရန်ရေးသားထားသော command များကိုဖတ်ရန်သို့မဟုတ်ရေးရန်ရေးရန်စာဖတ်ခြင်းကို အသုံးပြု. TCP သို့ပေးပို့ရန်စာဖတ်ခြင်းများကိုပြောင်းလဲရန် Pack () function ကိုသုံးပါ။ ကိရိယာမှပြန်လာသောအချက်အလက်များကိုလက်ခံရရှိပြီးနောက်မှတ်ပုံတင်တန်ဖိုးကိုဖြည်ချခြင်းဖြင့်ခွဲခြမ်းစိတ်ဖြာသည်။ Read Value ကိုလိုအပ်ချက်အရထပ်မံလုပ်ဆောင်နိုင်သည်။
PHP မှတစ်ဆင့် Modbus ထုတ်ကုန်များနှင့်ဒေတာအပြန်အလှန်အကျိုးသက်ရောက်မှုကိုရရှိနိုင်ပါသည်။ ဤဆောင်းပါးသည်အခြေခံဆက်သွယ်ရေးလုပ်ငန်းစဉ်နှင့်ကုဒ်သင်္ကေတများကိုပိုမိုရှုပ်ထွေးသောလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်နှင့်စက်မှုလုပ်ငန်းအလိုအလျောက်လုပ်ငန်းလည်ပတ်မှုဆိုင်ရာအချက်အလက်ပြုပြင်ခြင်းစွမ်းရည်များကိုတိုးတက်စေရန်ဤအခြေခံဖြင့်ချဲ့ထွင်နိုင်သည်။