Skip to main content

Float and Double Integer in Modbus



    အရင်နေ့တုန်းက Modbus Overview ရေးရင်နဲ့ မိတ်ဆွေတစ်ယောက်က Floating point အကြောင်းပါတင်ပေးပါဆိုတော့ လိုရင်းရောက်ပြီ နားလည်လွယ်မယ့်ဟာကိုရေးပြီးတင်ပေးလိုက်ပါတယ်။  
    အရင်ဆုံး မပြောခင်မှာ Data Type ထဲကအရာတွေ ကိုပြောပါမယ်။ Data Type တွေမှာ Boolean ကအစ Integer, Double Integer, Float တို့ Real တို့ဆိုပြီးတော့ရှိပါတယ်။ Computer Programming အကြောင်းလေ့လာပြီဆိုရင်လည်း ဒါတွေကအရေးကြီးပါတယ်။ ဆိုတော့ ခေါင်းစဥ်နဲ့ အံဝင်အောင် Data Type ထဲက ကျွန်တော်အဓိက ထားပြောမှာက Boolean, Integer, Double Integer နဲ့ Float တို့ကိုပဲပြောပါမယ်။

    Boolean မှာက 1 bit ပဲရှိပါတယ်။ True & False လို့လည်းခေါ်ပြီး သုံးကျသလို 1 & 0 လို့လည်းသုံးပါတယ်။ Interger မှာကတော့ 16 bit ရှိပြီးတော့ -32768 ကနေ +32767 အထိရှိပါတယ်။ Double Integer က 32 bit ပါ။ အလားတူ Float လည်း 32 bit ဖြစ်ပြီးတော့ ± 1.4E-45 ကနေ  ± 3.4028235E ± 38 အထိရှိပါတယ်။  
    အခု Modbus Address တွေထဲက Input/Output တွေကိုပြောပါမယ်။ Coil & Discerct Type တွေက 1 bit ပဲသုံးကြတာပါ။ ကျန်တဲ့ Register တွေက 16 bit ပဲသုံးလို့ရပါတယ်။ ဒါကြောင့် Integer ဖြစ်တဲ 16 bit ရယ် သူ့အောက် နိမ့်တဲ့ 8 bit လိုဟာမျိုးတွေပဲသုံးလို့ရတာပါ။ ဒါကြောင့် Float တို့ Double Integer တို့လိုဟာတွေသုံးလို့မရတာပါ။ 
     
    Float တို့ Double တို့ကို လုံးဝမသုံးလို့မရဘူးလို့မဆိုလိုပါဘူး။ သုံးလို့ရပါတယ်။ ဘယ်လိုသုံးလဲဆိုရင် Address နှစ်ခုယူသုံးလိုက်တာပါပဲ။ Address တစ်ခုချင်းစီမှာ 16 bit ရှိတော့ နှစ်ခုယူသုံးလိုက်ရင် 32 bit ဖြစ်သွားတာပေါ့ဗျာ။ ဘယ်လိုသုံးလဲဆိုရင် High နဲ့ Low ကိုသတ်မှတ်ပြီးတော့ယူလိုက်တာပါပဲ။  Low ဆိုတာကတော့ ခုနကပြောတဲ့ 16 bit Integer ပါပဲ။ အကယ်၍ သူ သတ်မှတ်ထားတဲ့ တန်ဖိုးထက်ကြီးသွားရင် Low မှာ မသိမ်းတော့ဘဲ High ထဲမှာသိမ်းပြီးတော့သုံးပါတယ်။ ဒီနေရာမှာ High & Low ကို ဘယ်သူ့ကိုပဲ ဦးစားပေးပြီးအရင်သတ်မှတ်မလဲဆိုတာ အရေးမကြီးပါဘူး ကြိုက်နှစ်သက်သလို သတ်မှတ်ပြီးတော့သုံးနိုင်ပါတယ်။

Reference : Prosoft

Comments

Popular posts from this blog

IPv4 Vs IPv6 - What's the difference between IP Addresses

ကျွန်တော်တို့ IOT Project သို့မဟုတ် PLC တို့ HMIတို့ကို Ethernet နဲ့ချိတ်တဲ့အခါမှာ IP Address တို့ Subnet Mask တို့သတ်မှတ်ရတာတို့ကိုတွေ့ရမှာပါ။အခုကတော့ IP Addressအကြောင်းကိုမှ IPv4 နဲ့ IPv6 အကြောင်းကိုရေးမှာပါ။           IP Address ဆိုတာကတော့ ကျွန်တော်တို့ရဲ့အိမ်နံပါတ်လိုသဘောမျိုးလုပ်ထားပေးတဲ့ Internet Protocol တစ်ခုပါပဲ။ အိမ်တိုင်းအိမ်တိုင်းမှာသူရဲ့သက်ဆိုင်တဲ့နေရာလိပ်စာတွေရှိကြသလိုပဲ စက်တိုင်းမှာလည်းသူရဲ့ သက်ဆိုင်တဲ့ IP Address တွေရှိကြပါတယ်။ ဒါကတော့ IP Address အကြောင်းကိုရှင်းပြတဲ့ရိုးရှင်းတဲ့ ဥပမာတစ်ခုပါ။ ဒီမှာအဓိကထားပြီးရှင်းပြသွားမှာကတော့ IPv4 နဲ့ IPv6 ကိုရှင်းပြသွားမှာပါ။      What is IPv4 : simple meaning & features guide     ဒီ IPv4 မှာဘာတွေပါလဲဆိုတော့ Set Numbers လေးခုပါဝင်ပါတယ်။ ယေဘုယျအားဖြင့် ဘယ်လိုပုံစံနဲ့ရေးကြသလဲဆိုရင် 106.102.77.43 (ဒါကဥပမာပုံစံပါ။) လိုပုံစံမျိုးဖြစ်ပြီးတော့ မတူညီတဲ့ ကိန်းဂဏန်းလေးခုကို Cover လုပ်ပေးထားပါတယ်။ IPv4 ဘာကြောင့်ဖြစ်လာရလည်းဆိုရင် လွန်ခဲ့တဲ့ 1980 ဝန်းကျင်ကာလတွေမှာ I...

Indirect Addressing

Indirect Addressing      တကယ်တမ်း​တော့ ဒီစာကို​ရေးဖြစ်တာကလည်း ဆရာရဲ့ Project Problem တစ်ခုချ​ပေးပြီ ​ဖြေရှင်းရင်းနဲ့ ​တွေ့လာတာပါ။ အဲ့​တော့ အဲ့ဒီဟာက ဘယ်​နေရာမှာ ဘယ်လိုသုံးတာလဲ,ဘာ​တွေသုံးတယ်,ဘယ်လို Program နဲ့​ရေးတာလဲဆိုတာ အဓိကထားပြီး​တော့ ​ပြောပြ​ပေးသွားမှာမယ်။ သူ့အ​ကြောင်းသိဖို့အရင် Index Register ကိုအရင်​ပြောပါမယ်။ What is Index Register?     Index Register ဆိုတာက Process Register လို့လဲ​ခေါ်ပြီး​တော့ Program ကို Operand ​တွေရဲ့ Address ကို Program က Run ​နေတဲ့အချိန်မှာ Modify လုပ်တာပါ၊ PLC မှာရှိတဲ့ Register ​တွေက PLC ထုတ်တဲ့ Company အမျိုးအစား​ပေါ်မူတည်ပြီး​တော့ ​သုံးစွဲတာမတူကြ​ပေမယ့် သ​ဘောတရားက​တော့အတူတူပါပဲ။ အခု ဥပမာ​ပေးမှာက Delta PLC နဲ့ ဥပမာ​ပေးပါမယ်။     Delta မှာရှိတဲ့ Index Register က​တော့ E နဲ့ F ဆိုပြီးသတ်မှတ်ထားပါတယ်။ E နဲ့ F ကိုတစ်လုံးချင်း သုံးရင်​တော့ 16 bit အ​နေနဲ့သုံးလို့ရပါတယ်။ Eနဲ့F ဟာတွဲခဲ့ရင်​တော့ 32 bit ဖြစ်သွားပါပြီ။ E ဟာ Lower 32 bit ဖြစ်လာပြီး​တော့ F ဟာ Higher 32 bit ဖြစ်လာပါတယ်။     ဒုတိယပုံက...

PLC Scan Time Problem

PLC Scan Time Problem     ဒီ Post ကို အရင် account အ​ဟောင်းမှာတုန်းက​တော့တင်ဖူးတယ်။ ဒါ​ပေမယ့် အခုကပြန်ပြီး နားလည်လွယ်မယ့်ပုံစံမျိုးနဲ့ပဲကျွန်​တော်​ရေး​ပေးပါမယ်။     ကျွန်​တော်တို့  PLC project ​တွေမှာဆိုရင် Programming ကို Ladder Diagram နဲ့​ရေးကြတာများပါတယ်။ တခြား Structure Text တို့ Function  Block တို့ Sequence တို့နဲ့လည်း​ရေးလို့ရပါတယ်။သို့​သော်လည်း ဒီကိစ္စမှာ​တော့ Ladder Diagram နဲ့ ဥပမာကိုတင်ပြသွားပါမယ်။      Scan Time ဆိုတာ ဘာလဲအရင် အကျဥ်းချုံပြီး​ပြောပါမယ်။ ပထမပုံက Ladder Diagram လိုပုံစံမျိုး​ရေးထားတယ်ဆိုပါစို့။ Program ရဲ့ ထိပ်ဆုံးအပိုင်းက​နေ Program ရဲ့ အဆုံးအထိ PLC က Scan ဖတ်ပါတယ်။ Scan ဖတ်နှုန်းဟာလည်း ​ရေးတဲ့ Program ​ပေါ်မူတည်ပြီး တစ်စက္ကန့်ကို Scan ဘယ်နှကြိမ်ဖတ်လည်းဆိုတာ​တွေရှိပါတယ်။      ကျွန်​တော်တို့ PLC Ladder Diagram မှာ Program ​တွေ​ရေးတယ်ဆိုရင် သာမန် Line 20 ခု, 30 ခု​လောက်​တော့ ပြသာနာမရှိ​လောက်ပါဘူး။ သို့​သော်လည်း Line အခု 20တို့ 30တို့မှာ High Counter ​တွေတို့ တခြား API ​တွေ အများကြီး​တွေသုံး...