အရင်ဦးဆုံး 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
PLC နဲ့ sequence program တစ်ခုကိုဖန်တီးတဲ့အချိန်မှာ device တစ်ခုနဲ့တစ်ခုကြားမှာရှိတဲ့ Exchanging data တွေရဲ့ မတူညီတဲ့ Scan Time ကိုသိထားဖို့လိုပါတယ်။ Reliable( ယုံကြည်ရတဲ့ ) Signal reading process အတွက် PLC ထဲမှာရှိတဲ့ Scan Time အချိန်ရဲ့ကြာချိန် ( the length of the time ) ဟာ တခြား Controller မှာရှိတဲ့ Scan Time ထက် ပိုပြီးကြီးနေရပါမယ်။ (တချို့သော် PLC ထုတ်သည့် ကုမ္ပဏီများသည် PLC ၏ Scan Time ကို Controller ၏ Scan Time ထက် အနည်းဆုံး နှစ်ဆနီးပါးထားပေးဖို့အကြံပြုထားပါတယ်။) PLC's scan time > Other Controllers' scan times ပုံမှာပြထားတဲ့အတိုင်း Device နှစ်ခုမှာမတူညီတဲ့ Scan Time ရှိတယ်ဆိုပါစို့။ I/O timing ဟာ သိသိသာသာပဲ စည်းချက်မကိုက်ဘူးဆိုတာ မြင်သာလိမ့်ပါမယ်။ တစ်ဖက်မှာက Scan Time ဟာ 20 sec ရှိပြီး တစ်ဖက်မှာက Scan Time ဟာ 1ms ပဲရှိပါတယ်။ Controller ရဲ့ မည်သည့် Signal မဆို Trigger ဖြစ်မယ်ဆိုရင် PLC ဟာချက်ချင်းအလုပ်မလုပ်ပါဘူး။ ဒါကြောင့်ပဲ Reliable Signal ကိုရဖို့အတွက် PLC ရဲ့ Scan Time ဟာ Controller ရဲ့ Scan Time ထက်များနေမှရမှာပါ။ "The safety