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

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

M66 2025-06-03

PHP Optimization Skills: Modbus TCP ဒေတာထုတ်လွှင့်မှုစွမ်းဆောင်ရည်ကိုတိုးတက်အောင်ပြုလုပ်ခြင်း

Modbus TCP protocol ကိုစက်မှုလုပ်ငန်းများ၏လယ်ကွင်းတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ PHP ပရိုဂရမ်တွင် Modbus TCP သည် device data data ကိုဖတ်ရန်နှင့်ရေးရန်အသုံးပြုသည်။ သို့သော် TCP / IP protocol ကို အခြေခံ. Modbus TCP သည်ကွန်ယက်နှောင့်နှေးခြင်းနှင့်ဆက်သွယ်ခြင်းအရည်အသွေးကဲ့သို့သောအချက်အလက်များအားကူးစက်ခြင်းကိုအကျိုးသက်ရောက်စေသည့်အချက်အလက်များအားသက်ရောက်မှုရှိနိုင်သည်။ ဤဆောင်းပါးသည် Modbus TCP ဒေတာထုတ်လွှင့်ခြင်း၏ထိရောက်မှုကိုပိုမိုကောင်းမွန်စေရန် PHP ပရိုဂရမ်နည်းစနစ်များကိုဝေမျှပေးပြီးသက်ဆိုင်ရာကုဒ်များဥပမာများကိုပေးလိမ့်မည်။

အသုတ်ဖတ်ခြင်းနှင့်ရေးခြင်းစစ်ဆင်ရေးကိုသုံးပါ

မှတ်ပုံတင်ခြင်းဆိုင်ရာအချက်အလက်များကိုအသုတ်ခြင်းသို့မဟုတ်ရေးသားခြင်းအားဖြင့်ဆက်သွယ်ရေးအရေအတွက်ကိုလျှော့ချနိုင်ပြီး Modbus TCP ၏ဂီယာကိုတိုးတက်စေနိုင်သည်။ အသုံးအများဆုံး function ကိုကုဒ်များတွင် 16 (မှတ်ပုံတင်ထားသောမှတ်ပုံတင်ကိုရေးပါ) နှင့် 23 (မှတ်ပုံတင်ထားသောမှတ်ပုံတင်ကိုဖတ်ပါ) ပါဝင်သည်။ ဤတွင်အသုတ်ရေးရန်မည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည့် PHP Code နမူနာတစ်ခုရှိသည်။

$ IP = "192.168.1.100"; // Modbus TCP ကိရိယာ၏ IP address $ port = 502; // Modbus TCP စက်၏ port အရေအတွက် // မှတ်ပုံတင်နံပါတ်များ၏ဒေတာ၏ data data (100, 200, 200, 300);
$ အရေအတွက် = ရေတွက် ($ ဒေတာ);

$ Socket = Socket_creceate (AF_INT, sock_stream, sol_tcp);
Socket_Connect ($ Sococky, $ IP, $ port);

// မျိုးစုံမှတ်ပုံတင်ထားသော communists ကိုရေးဆွဲပြီး Modbus TCP စက်ပစ္စည်း $ question = pack ("NNNCN", 0x00, 0x0010, $ အရေအတွက်, $ အရေအတွက် * 2, $ အရေအတွက် * 2);
foreach ($ ဒေတာ $ တန်ဖိုးအဖြစ်) {
    $ တောင်းဆိုချက်။ = pack ("n", $ တန်ဖိုး);
}

Socket_write ($ Sococky, $ တောင်းခံခြင်း);
$ တုံ့ပြန်မှု = socket_read ($ Socket_read ($ socket, 1024); // Modbus TCP device socket_close ($ socket) ၏တုန့်ပြန်မှုအချက်အလက်များကိုရယူပါ။

သင့်လျော်သောအချိန်ကိုသတ်မှတ်ပါ

သင့်လျော်သောအချိန်ကိုသတ်မှတ်ခြင်း Modbus TCP ဆက်သွယ်ရေးကိုပြုလုပ်ရာတွင် MODBUS ဆက်သွယ်မှုကိုပြုလုပ်ရာတွင်ထိရောက်သောအချက်အလက်ထုတ်လွှင့်မှုကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။ အလွန်အကျွံကွန်ယက်နှောင့်နှေးမှုကြောင့်အကျိုးသင့်အကြောင်းသင့်ရှိသောအချိန်ကုန်များကိုရှောင်ရှားနိုင်သည်။ ဤနေရာတွင်အချိန်ကုန်အချိန်သတ်မှတ်ထားသည့် PHP ကုဒ်နမူနာတစ်ခုရှိသည်။

$ IP = "192.168.1.100"; // Modbus TCP ကိရိယာ၏ IP address $ port = 502; // Modbus TCP ကိရိယာ $ TIMEOUT = 2; // thanoutout ကို 2 စက္ကန့်မှ 2 စက္ကန့်အထိသတ်မှတ်ပါ $ Socket = Socket_Coleate (AF_inet, Sock_stream, Sol_tcp) ကိုသတ်မှတ်ပါ။
Socket_Connect ($ Sococky, $ IP, $ port);
Socket_set_Option ($ Socket, Sol_Socvimeo, Array, Array (Sec '=> $ Timeout,' Usec '=> 0)); // reception time socket_set_set_option ($ socket, sol_sntlocko, array ('sec' sec '=> $ timeout, usec' => 0) usec 'sec' => 0) // Send ThinOut Time // Send Modbus TCP command ကို SETS MOSSBUS TCP command ကိုစောင့်ပါ။

တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုသုံးပါ

တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများသည်တစ်ချိန်တည်းတွင်တောင်းဆိုမှုများကိုတစ်ချိန်တည်းပို့ခြင်းနှင့်သူတို့၏တုန့်ပြန်မှုများကိုစောင့်ကြည့်ခြင်းအားဖြင့်များသောအားဖြင့်များစွာသောချည်သို့မဟုတ် multi-processing မှတဆင့်အကောင်အထည်ဖော်သည်။ Modbus TCP ဆက်သွယ်ရေးတွင်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုအသုံးပြုခြင်းသည်ဒေတာထုတ်လွှင့်မှုစွမ်းဆောင်နိုင်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန် Multimeading ကို အသုံးပြု. PHP ကုဒ်နမူနာတစ်ခုရှိသည်။

$ IP = "192.168.1.100"; // Modbus TCP ကိရိယာ၏ IP address $ port = 502; // Modbus TCP စက်၏ port // modbus tcp command $ threads = array (),
အတွက် ($ i = 0; $ i <10; $ i ++) {
    $ Thread = Thread အသစ် (function) သုံး ($ IP, $ port) {
        $ Socket = Socket_creceate (AF_INT, sock_stream, sol_tcp);
        Socket_Connect ($ Sococky, $ IP, $ port);
        // Modbus TCP command ကိုပေးပို့ပြီး Responsocket_close ($ socket_close) ကိုစောင့်ပါ။
    });
    $ thread-> start ();
    $ Threads [] = $ thread;
}

fonteach ကိုအဆုံးသတ်ရန် Threads အားလုံးကိုစောင့်ပါ ($ Threads As Threads)
    $ thread-> Join ();
}

အထက်ပါ optimization နည်းစနစ်များကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်သင်သည် Modbus TCP protocol ကိုအသုံးပြုသောအခါ PHP ၏ data protration prottipivity ကိုတိုးတက်အောင်လုပ်နိုင်သည်။ သို့သော်အမှန်တကယ် application များအနေဖြင့် Network Infactity ကဲ့သို့သောအချက်များနှင့်ဆက်သွယ်ရေး protocol များ၏ဆင်ခြင်တုံတရားများ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားများကိုသေချာစေရန်စဉ်းစားရန်လိုအပ်သည်ကို ကျေးဇူးပြု. မှတ်သားပါ။