Skip to main content

CANOpen Network Topology

အရင်ဦးဆုံး CAN ဆိုတဲ့အဓိပ္ပာယ်ကတော့ Controller Area Network လို့အဓိပ္ပာယ်ရပါတယ်။ CANOpen ဟာ Industrial Automation မှာအသုံးများတဲ့ Protocol တစ်ခုဖြစ်ပါတယ်။ သူ့ကို PLC နဲ့ တခြား Controller တွေနဲ့အတူ Device ပေါင်းများစွာအတွက်လိုအပ်တဲ့ Data တွေကို မျှဝေဖို့အတွက်အသုံးပြုပါတယ်။

     ဒီ CAN မှာဆိုရင် ထင်ရှားတဲ့ Configuration သုံးခုရှိပါတယ်။အဲ့တာကတော့ Ring, Star နဲ့ Bus Topology တွေပါပဲ။ CAN ရဲ့ Language ဟာ Morse Code လိုပဲ On and Off electrical pulse ကိုအသုံးပြုထားပါတယ်။ ဒီMessage တွေမှာDigital Low Voltage နဲ့ High Voltage အပြောင်းအလဲတွေပါဝင်ပါတယ်။ Binary Code 1s နဲ့ 0s ပုံစံလိုမျိုးပေါ့။ CAN မှာလည်း CAN A, CAN B, CAN C ဆိုပြီးတော့ရှိတယ်။

CAN A - Low Speed 10kbps.
CAN B - Medium Speed 33 to 250kbps.
CAN C - High Speed 250 kbps to 1 Mbps.

အလွယ်ဆုံး တစ်ခုမှတ်ထားရမှာကတော့ "Data Transmission Speed မြန်လေ ဈေးကြီးလေ" ဆိုတာပါပဲ။ 

    အခုကတော့ CANOpen အကြောင်းပဲ အဓိကထားရေးသွားပါမယ်။

    ပထမအောက်မှာပြထားတဲ့ CANOpen architecture မှာ Wire သုံးခုပါတာတွေ့ရလိမ့်မယ်။ CAN_High, CAN_Low နဲ့ CAN_Ground ဆိုပြီးတော့ပေါ့။ ဒီ Protocol ကိုခွဲခြားဖို့အတွက်ပစ္စည်းတစ်ခုလိုလိမ့်မယ်။ အဲ့တာက Terminating Resistor ပဲ။ သူ့ကို LT ဆိုပြီးဖော်ပြထားပါတယ်။ အဲ့တာကဘာဖြစ်လို့လိုအပ်သလဲဆိုရင် ဘယ် Node မှာစပြီး ဘယ် Node မှာဆုံးလည်းဆိုတာသိချင်လို့ပါပဲ။ အဲ့တာမပါရင်, Node တစ်ခုနဲ့တစ်ခု ချိတ်ဆက်မှုမရှိပါဘူး။ Resistor ရဲ့ တန်ဖိုးဟာ 120 Ohms ဖြစ်ဖို့တော့လိုအပ်ပါတယ်။ CANOpen အတွက် သီးခြား Ground Signal ကို Common Reference အနေနဲ့သုံးထားပါတယ်။

Types of CanOpen Network Topologies
===============================
    သူ့မှာအဓိက Topology သုံးခုရှိပါတယ်။

1.Basic Topology 
2.Topology with Repeater
3.Bridge Topology ဆိုပြီးဖြစ်ပါတယ်။

Basic Topology 
=============
    သူ့မှာ ချိတ်ဆက်မှုကိုအဆုံးသတ်ဖို့အတွက် Line Termination Resistor ကိုအသုံးပြုထားပါတယ်။ဒါအပြင် CAN Tap ကိုလည်းသုံးထားပါတယ်။

    ဒီ CAN Tap ကြောင့် Star Topology လိုမျိုးအပြည့်မဟုတ်ပေမယ့် တစ်စိတ်တစ်ပိုင်းပုံစံမျိုးဖြစ်လာတာကိုတွေ့ရပါလိမ့်မယ်။ ဒီ Tap မှာ အမျိုးမျိုးသော Node မှလာတဲ့ CANOpen ကြိုးတွေကို တိုက်ရိုက်ချိတ်ဆက်လို့ရမယ့် Plug-Type Port တွေပါတဲ့အတွက်ကြောင့် Open Wire နဲ့ Node တွေနဲ့ချိတ်ဆက်မယ့်လိုအပ်ချက်တွေမရှိတော့ပါဘူး။

    ဒီ Basic Topology မှာ Open နဲ့ Loose wire တွေက လက်တွေ့မှာလိုက်နာဖို့မသင့်ပါဘူး။ ဒီကိစ္စကိုကျော်လွှားချင်ရင် Drop Cables တွေကို ‌တတ်နိုင်သမျှ လျော့ပါလို့ပဲအကြံပြုထားပါတယ်။

Topology with Repeater 
====================
    ဒုတိယအမျိုးအစားကတော့ Repeater Technology ကနေဆင်းသက်လာတာပါ။ အဲ့တာက အကွာအဝေးအရှည်အတွက် Signal တွေကို Booster ပေးဖို့သုံးပါတယ်။ အကွာအဝေးရှည်ပြီး သုံးရမယ့် Device တွေများလာရင် Repeater ကိုသုံးပါတယ်။ ဒီ Repeater ကြောင့် 64 nodes အထိသုံးနိုင်ပါတယ်။ သူက Group တွေထဲကို သီးသန့်လုပ်ပေးနိုင်တာကြောင့် Node တွေထဲက Group တစ်ခု Fail ဖြစ်ခဲ့ရင် ကျန် Group တွေကအရှိအတိုင်းအလုပ်လုပ်နေမှာပါ။

Bridge Topology 
==============

  Bridge မှာလည်းအပေါ်ကပြောခဲ့သလို Repeater ပါပါတယ်။ မတူတာက Repeater အထာအသိုမတူတာပါ။ CANOpen ကွန်ရက်တစ်ခုလုံးကို CAN တံတားကနေတစ်ဆင့် အနည်းနဲ့အများသီးခြားခွဲထုတ်နိုင်တဲ့ကွန်ရက်ခွဲများအဖြစ်ခွဲခြားပေးနိုင်ပါတယ်။ ဒီ ကွန်ရက်ခွဲတစ်ခုစီမှာ သူရဲ့ကိုယ်ပိုင် Transmission Speed ရှိပြီး Store and Forward Principle အပေါ်မှာအခြေခံပါတယ်။

Reference : Instrumentationtools, Motor


Comments

Popular posts from this blog

Temperature Range

Article တစ်ခုဝင်ဖတ်မိတာနဲ့ပြောရမယ့်ကိစ္စတစ်ခုဖြစ်နေလို့ရေးပေးလိုက်ပါတယ်။ Article အောက်မှာလည်းနည်းနည်းလေး Complain တတ်တာလေးတွေ့လိုက်ရတယ်။ ပြသာနာကဘာလဲဆိုတော့ Temperature Range ကိစ္စပါ။      အခုသူရေးထားတဲ့ဟာက Industrial လို့ထည့်ပြီးရေးထားတာတွေ့ရပါတယ်။ Data တွေတင်ထားတာကြည့်လိုက်တော့ Operation Temperature Range က 0 to +60°C အထိပဲရှိတာတွေ့ရတယ်။ ဒါကထုတ်လုပ်တဲ့ ကုမ္ပဏီကသတ်မှတ်ထားတဲ့ Standard တွေလိုအပ်နေတာလားဆိုတာကတော့စဉ်းစားစရာပါပဲ။ တကယ်ဆို ဒီ Level ဟာ Commercial အဆင့်သက်သက်သာပဲရှိတာပါ။ Company တွေမှာ သတ်မှတ်ထားတဲ့ Temperature Range ဟာတစ်ခုနဲ့တစ်ခုမတူဘူးဆိုတာလက်ခံပေမယ့် အခုလိုလုပ်တာက ထင်ထားတာထက်အတော်ကွာဟနေပြီး နှစ်သီးစားလုပ်မယ့်ပုံစံမျိုးပေါက်နေပါတယ်  အောက်မှာယေဘုယျအားဖြင့် Semiconductor Device တွေမှာရှိသင့်တဲ့ Temp Range ကိုရေးပေးထားပါတယ်။ Commercial   (0 to  +70°C) Industrial  (-40 to +85°C) Military  (-55 to +125°C)

Modbus Function Command Format (1)

    ASCII သို့မဟုတ် RTU Mode ထဲက မည်သည့် Modbus Data ဘောင်တိုင်းမဆို သူတို့သတ်မှတ်ထားတဲ့ Data ကတော့ရှိပါတယ်။     Modbus Data Frame တစ်ခုစီကို 8bitd(RTU) တွေနဲ့တည်ဆောက်ထားတာကြောင့် အများအားဖြင့် စာသားတစ်ခုချင်းစီကို Bytes (Hexadecimal တစ်လုံး နှစ်လုံး) အဖြစ်ကိုယ်စားပြုပါတယ်။     ဥပမာအားဖြင့် 1100100101011011 ကဲ့သို့ Modbus Data နဲ့ 16-Bit စကားလုံးကို ပုံမှန်အားဖြင့် C95B နဲ့သတ်မှတ်ပြီး High ကို C9 နဲ့ Low ကို 5B ဆိုပြီးခွဲထားပါတယ်။     Modbus Master Device ကနေပေးပို့တဲ့ "Query" Message ဟာ Slave Device ဆီကို ပို့ပြီး သက်ဆိုင်ရာ "Response" Message နဲ့ Queried ကနေ Master Device ကိုပြန်ပို့ပေးပြီးအလုပ်လုပ်ပါတယ်။    အောက်‌ကပြထားတဲ့ ပုံတစ်ပုံချင်းစီကနေ Function Code တစ်ခုချင်းစီဘယ်လိုအလုပ်လုပ်ရ‌သလဲဆိုတာပြန်ရေးပေးထားပါတယ်။ Modbus Function Code 01- Read Coil ==============================     ဒီ Modbus Function ဟာ Slave Device နဲ့အတူသူ့ရဲ့ Discrete Outputs ("Coils") ကို ဖတ်ပြီးတော့ အဲ့ဒီ Status တွေကို Data နဲ့ပြန်ပေးပါတယ်။     ဒီ Function အတွက်သတ်မှတ်ထာ

Description of RS-485

    RS-485 ဟာ Industrial တွေမှာအသုံးများတဲ့ Communication တစ်ခုဖြစ်ပါတယ်။ RS-485 ကိုနောက်တစ်နည်း EIA/TIA-485 လို့လည်းခေါ်ဝေါ်သေးပါတယ်။ USB နဲ့ Ethernet တို့ထက်စာရင် RS-485 ဟာ Industrial တွေ‌မှာအသုံးများပါတယ်။ အကြောင်းမှာတော့ RS-485 ဟာ သိပ် Complex မဖြစ်သလိုဈေးလဲသိပ်မကြီးတဲ့အတွက်ကြောင့်ပါ။ သို့သော်လည်း Low Speed Data Communication လုပ်ငန်းစဉ်တွေမှာပဲသုံးလို့အဆင်ပြေမှာပါ။     RS-485 Connection ကို အများအားဖြင့် Two Wires သို့မဟုတ် Three Wires နဲ့လည်းသုံးကြ‌ပါသေးတယ်။ RS-485 မှာ Contact သုံးခုရှိပါတယ်။ အဲ့တာကတော့ Data A , Data B နဲ့ GND လို့ခေါ်ပြီး နောက်တစ်နည်းအခေါ်အဝေါ်ကတော့ Data Wire, Inverted Data Wire နဲ့ Zero Wire သို့မဟုတ် Ground ဆိုပြီးတော့လည်းခေါ်ကြပါသေးတယ်။     သူရဲ့အဓိက Design ကတော့ ရိုးရှင်းပါတယ်။ Data Signal တွေကို Wire ကြိုးနှစ်ခုကနေ ဖြတ်သန်းစေပြီးတော့ Signal တွေကို အပြန်အလှန်ပို့ဆောင်ပေးပါတယ်။ RS-485 သည် Data ပို့တဲ့အခါ Data တွေကိုအချင်းချင်း Collided ဖြစ်မိတာမျိုးကိုရှောင်ရှားပေးနိုင်ပါတယ်။ဥပမာ ကြိုးတစ်ကြိုးထဲကနေ Signal ကိုအပြန်အလှန်ပို့နေရင် Device