အရင်နေ့တုန်းက 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
Post a Comment