Sunday, January 24, 2010

Real Comparison အေၾကာင္း

ခုတစ္ၾကိမ္မွာ Comparison Type ေတြထဲက ေနာက္တစ္ခုၿဖစ္တဲ့ "Compare Real (CMP ? R)" အေၾကာင္း ဆက္ေဆြးေႏြးၾကမယ္ေလ။



Compare Real (CMP ? R) ကလည္း အရင္ေဖာ္ၿပခဲ့တဲ့ Compare Integer ႏွင့္ Compare Double Integer တို႔လို normal contact အၿဖစ္ အသုံးၿပဳပါတယ္။ Integer, Double Integer နဲ႔ Real ဆိုၿပီး Data Type ပဲ ကြာသြားပါတယ္။ က်န္တဲ့ Comapre functionအားလုံး အတူတူပါပဲ။ IN1 နဲ႔ IN2 က Compare လုပ္မယ့္ ပထမ value နဲ႔ ဒုတိယ value ေပါ့။

Comparison ၿပဳလုပ္ၿပီး True ၿဖစ္ခဲ့လွ်င္ RLO state က "1" ရမွာပါ။ Program ထဲမွာ element box ကိုseries လုပ္ၿပီး ေရးသားထားရင္ RLO နဲ႔ AND logic အေနနဲ႔ ခ်ိတ္ဆက္တည္႐ိွေနၿပီး compare box ကို parallel ပုံခ်ိတ္ေရးသား ထားရင္ေတာ့ OR logic အေနနဲ႔ link ၿဖစ္ေနမွာပါ။

အေပၚက Example ပုံေလးမွာ ၾကည့္ပါဦး။ "Real comparison command" ကလြဲလို႔ အရင္ေဖာ္ၿပခဲ့တဲ့ Example နဲ႔ ထပ္တူပါပဲ။ Input I 0.0 နဲ႔ I 0.1 တို႔ရဲ႕ signal state "1" ကိုေစာင့္ၿပီး IN1 မွာ႐ိွတဲ့ MD0 က IN2 မွာ႐ိွတဲ့ MD4 real value နဲ႔ compare လုပ္ပါမယ္။ Comparison လုပ္တဲ့အေၿဖ True ၿဖစ္ၿပီးရင္ I 0.2 ရဲ႕ signal state "1" ကိုယူၿပီး Output Q 4.0 ဟာ set ၿဖစ္သြားပါမယ္။ သူရဲ႕ signal state ဟာလည္း "1" ရၿပီေပါ့။

အလုပ္လုပ္တဲ့ Function ေလးကေတာ့ (I 0.0 & I 0.1 = "1" and MD0 >= MD4, and I 0.2 = "1") ေပါ့။ အဲဒီ condition ေတြ အားလုံး OK ခဲ့လွ်င္ output Q 4.0 = "1" ပါ။

Saturday, January 23, 2010

Double Integer Comparison

ကဲ - ခုတစ္ေခါက္ေတာ့ "Comparison Type" ေတြထဲက ဒုတိယ comparison ၿဖစ္တဲ့ "Compare Double Integer CMP ? D" အေၾကာင္း ေၿပာၾကမယ္ေလ..။ သူရဲ႕ function ကလည္း Compare Integer အလုပ္ လုပ္ပုံနဲ႔ ထပ္တူပါပဲ။ ကြာ ၿခားတာက "Integer" ကို "compare" လုပ္တာကေန "Double Integer" ကို compare လုပ္တာေလးပါပဲ။



CMP ? D (Compare Double Integer) ကိုလည္း normal contact အၿဖစ္ အသုံးၿပဳေလ့ ႐ိွပါတယ္။ Program network ထဲမွာ normal contact အၿဖစ္ ထားသုိလို႔ရတဲ့ မည္သည့္ေနရာမွာမဆို ထည့္သြင္းေရးသားပါတယ္။ အရင္က ေဖာ္ၿပၿပီးသလုိ IN1 ဟာ compare လုပ္မယ့္ ပထမ value ၿဖစ္ၿပီးေတာ့ IN2 ကေတာ့ ဒုတိယ value ေပါ့။
Comparison ၿပဳလုပ္လို႔ "True" ၿဖစ္ခဲ့ရင္ function ရဲ႕ RLO က "1" ရမွာပါ။ Program ေရးသားခ်ိန္မွာCompare element box ကို series ၿပဳလုပ္ေရးသားရင္ RLO နဲ႔ AND logic အၿဖစ္ ခ်ိတ္ဆက္ေနမွာၿဖစ္ၿပီး parallel ၿပဳလုပ္ေရးသားရင္ ေတာ့ OR logic အေနနဲ႔ ခ်ိတ္ဆက္ေနပါမယ္။

ဒီတစ္ခါ Example ေလးမွာ ၾကည့္ပါဦး။ Inputs ေတြၾကားမွာ compare element box ေလးၿဖစ္တဲ့ "Greater than or Equal" function ကို ၾကားညွပ္ ေရးသားထားပါတယ္။ Input I 0.0 နဲ႔ I 0.1 တို႔ရဲ႕ signal state "1" ၿဖစ္ၿပီးတာနဲ႔ IN1 က MD0 ဟာ IN2 က MD4 value နဲ႔ compare လုပ္ၿပီးအေၿဖက True ၿဖစ္ခဲ့မယ္ဆိုရင္ I 0.2 ရဲ႕ signal state "1" နဲ႔ေပါင္းၿပီး Output Q 4.0 မွာ set ၿဖစ္သြားပါတယ္။ Set ၿဖစ္လာတဲ့ Q 4.0 ရဲ႕ signal state ဟာလည္း "1" ရ႐ိွေနပါၿပီ။

Integer Comparison အေၾကာင္း

ဒီတစ္ခါေတာ့ Comparison type ေတြထဲက ပထမဆုံးတစ္ခုၿဖစ္တဲ့ "Compare Integer CMP ? I" အေၾကာင္း ေၿပာၾကစို႔ရဲ႕..။


CMP ? I (Compare Inter) ကို normal contact အၿဖစ္ အသုံးၿပဳေလ့႐ိွပါတယ္။ Compare function ရဲ႕ သေကၤတကုိ program ထဲမွာ box ပုံစံေလးနဲ႔ ေရးသားပါတယ္။ သူ႕ကုိ normal contact အေနနဲ႔ ထား႐ိွလို႔ရတဲ့ netwrok ရဲ႕ ဘယ္ position မွာမဆို ေနရာေပးထားသို ေရးသားေလ့ ႐ိွပါတယ္။ အေပၚက Table ေလးမွာ ၾကည့္ပါဦး။ IN1 ဟာ compare လုပ္မယ့္ ပထမ value ၿဖစ္ၿပီး IN2 က compare လုပ္တဲ့ ဒုတိယ value ပါ။ သူတို႔ဟာ မိမိေ႐ြးခ်ယ္အသုံးၿပဳတဲ့ Comparion အမ်ဳိးအစားေပၚမွာ မူတည္ၿပီး အလုပ္ လုပ္ပါတယ္။

ေ႐ြးခ်ယ္ထားတဲ့ Comaprison အမ်ဳိးအစားဆိုတာ အေပၚက Symbol မွာၿပထား သလုိ "Equal function" ေသာ္၎၊ "Unequal function" ေသာ္၎၊ "Greater than function" ေသာ္၎၊ "Less than function" ေသာ္၎၊ "Greater than or Equal function" ေသာ္၎၊ "Less than or Equal function" ေသာ္၎ တစ္ခုခု ၿဖစ္ႏိုင္ပါတယ္။

Comparison လုပ္တဲ့ value ဟာ "True" ၿဖစ္သြားရင္ RLO ကလည္း "1" ရမွာပါ။ အဲဒီ RLO ဆိုတာက compare function ရဲ႕ သေကၤတ box ေလးကို program network မွာ series ၿပဳလုပ္ေရးသားထားရင္ AND logic အၿဖစ္ခ်ိတ္ဆက္ ေနၿပီးေတာ့ compare function ရဲ႕ သေကၤတ box ေလးကို parallel ၿပဳလုပ္ေရး သားထားမယ္ဆိုရင္ေတာ့ OR logoc အၿဖစ္ program network ေလးမွာခ်ိတ္ ဆက္ေနပါမယ္။

Example ပုံေလးကေတာ့ Comparison type ေတြထဲက "Greater than or Equal function" ေလးကို ေ႐ြးခ်ယ္အသုံးၿပဳၿပီး ေရးသားထားတဲ့ "network" ေလးပါ။ Input I 0.0 နဲ႔ I 0.1 တို႔ရဲ႕ signal state တၿပိဳင္နက္ "1" ၿဖစ္ၿပီ ဆိုရင္ေတာ့ IN1 မွာ႐ိွေသာ MW0 တန္ဖုိးဟာ IN2 မွာ႐ိွတဲ့ MW2 တန္ဖိုးနဲ႔ Comparison မွာ ေပးထားတဲ့ command အတိုင္း ႏွဳိင္းယွဥ္မွဳ ၿပဳလုပ္ၿပီးမွန္ကန္ ခဲ့လွ်င္ Output Q 4.0 မွာ set အၿဖစ္နဲ႔ "1" ကို ထုတ္ေပးပါမယ္။

ၿပဳလုပ္တဲ့ fucntion ပုံစံက Input (I 0.0 & I 0.1 = "1" AND MW0>=MW2) ၿဖစ္ၿပီး Q 4.0 = "1" ေပါ့...။

Friday, January 22, 2010

Comparison Instructions မိတ္ဆက္

Bit Logic Instructions ေတြေၿပာၿပီးတဲ့ေနာက္မွာ ဆက္လက္ေဆြးေႏြးဖို႕ စဥ္းစား ထားတာက Comparison Instructions အေၾကာင္းပါ။

Comparison Instruction မွာ Input ႏွစ္ခုၿဖစ္တဲ့ IN1 နဲ႔ IN2 ဟာ မိမိေ႐ြးခ်ယ္အ သုံးၿပဳတဲ့ comparison အမ်ဳိးအစားေပၚမွာ မူတည္ၿပီး တစ္ခုနဲ႔တစ္ခု compared ၿပဳလုပ္တာပါ။ ေအာက္မွာ အသုံးမ်ားတဲ့ Comparison type ေတြကို ေရးသားေပး လိုက္ပါတယ္။


1) "Equal" function
သေကၤတက "==" ပါ...။
IN1 is equal to IN2





2) "Not Equal" function
သေကၤတက "<>" ပါ...။
IN1 is not equal to IN2





3) "Greater than" function
သေကၤတက ">" ပါ...။
IN1 is greater than IN2






4) "Less than" function
သေကၤတက "<" ပါ...။
IN1 is less than IN2






5) "Greater than or Equal" function
သေကၤတက ">=" ပါ...။
IN1 is greater than or equal to IN2




6) "Less than or Equal" function
သေကၤတ က "<=" ပါ...။
IN1 is less than or equal to IN2



Comparison ရဲ႕ relult ဟာ true ၿဖစ္ေနၿပီဆိုရင္ function ရဲ႕ RLO သည္ "1" ၿဖစ္ေနပါမယ္။ အဲဒီ RLO ဟာ program ထဲမွာ compare element ကို "series" အေနနဲ႔ အသုံးၿပဳေရးသားထားရင္ "AND logic" အၿဖစ္ program network နဲ႔ link ခ်ိတ္ဆက္ေနတာပါ။ အကယ္၍ paralle အေနနဲ႔ အသုံးၿပဳ ေရးသားထားမယ္ဆို ရင္ေတာ့ "OR logic" အၿဖစ္နဲ႔ Program network မွာ link ခ်ိတ္ဆက္ေနမွာပါ။


RS Reset-Set Flip Flop အေၾကာင္း

ကဲ ဒီတစ္ခါ RS Flip Flop ေလးအေၾကာင္း ဆက္ေၿပာၾကရေအာင္..။ RS Flip Flop က SR Flip Flop နဲ႔ အလုပ္လုပ္ပုံ ေၿပာင္းၿပန္ပါ။

Symbol ပုံေလးမွာ ၿပထားသလုိပဲ Input "R" ရဲ႕ signal state "1" နဲ႔ Input "S" ရဲ႕ signal state "0" ရတဲ့အခ်ိန္မွာ RS Flip Flop ဟာ reset ၿဖစ္ပါမယ္။ အၿပန္အ လွန္အားၿဖင့္ Input "R" ရဲ႕ signal state ဟာ "0" ၿဖစ္ၿပီး Input "S" ရဲ႕ signal state "1" ရတဲ့အခ်ိန္မွာေတာ့ Flip Flop ဟာ set ၿပန္ၿဖစ္သြားပါတယ္။ အကယ္၍ Input "R" ေရာ "S" ေရာ ႏွစ္ခုလံုးရဲ႕ signal state "1" ၀င္လာသည့္ အခ်ိန္တြင္ ေတာ့ Flip Flop ဟာ သူရဲ႕ အလုပ္လုပ္ပုံ အစီအစဥ္အတိုင္း ေဆာင္႐ြက္ၿပီး သက္ ဆိုင္ရာ address က အေၿပာင္းအလဲ မ႐ိွပဲ "set value" အေနနဲ႔ တည္ေနပါမယ္။ S (Set) ႏွင့္ R (Reset) instructions ေတြဟာ RLO value "1" ၿဖစ္ေနခ်ိန္မွာသာ အလုပ္လုပ္ေဆာင္ၿပီး RLO တန္ဖိုး "0" ၿဖစ္ေနခ်ိန္ တြင္ေတာ့ သက္ဆိုင္ရာ address ကအေၿပာင္းအလဲ မ႐ိွပဲ တည္႐ိွေနပါလိမ့္မယ္။

Example ပံုေလးကို ၾကည့္လိုက္ပါဦး။ Input I 0.0 ရဲ႕ signal state "1" နဲ႔ I 0.1 signal state "0" ရခ်ိန္မွာ "Memory bit M0.0" ဟာ "set" ၿဖစ္သြားၿပီး output Q 4.0 မွာ "0" အေနနဲ႕ reset ၿဖစ္ပါမယ္။ အၿခားနည္းအားၿဖင့္ Input I 0.0 ရဲ႕ signal state "0" ႏွင့္ I 0.1 ရဲ႕ signal state "1" ရလာသည့္ အခ်ိန္မွာေတာ့ Memory bit M 0.0 ဟာ set ၿဖစ္သြားၿပီး Output Q 4.0 မွာ "1" အေနနဲ႔ set ကို ထုတ္ေပးပါတယ္။ Input ႏွစ္ခုစလုံးရဲ႕ signal state ေတြ "0" ၿဖစ္ေနတယ္ဆိုရင္ မည္သည့္ေၿပာင္းလဲမွဳမွ မ႐ိွပဲ Input ႏွစ္ခုစလုံး အတူတူ "1" ရတ့ဲအခ်ိန္မွာေတာ့ Memory bit M 0.0 ဟာ set ၿဖစ္သြားၿပီး Output Q 4.0 မွာ "1" ကုိထုတ္ေပးပါမယ္။

Thursday, January 21, 2010

SR Set-Reset Flip Flop အေၾကာင္း

ဒီတစ္ခါ ေၿပာမယ့္ေခါင္းစဥ္ေလးက SR Set-Reset Flip Flop အေၾကာင္းပါ။

အေပၚက Symbol ပုံေလးကို ၾကည့္ပါ။ SR Flip Flop ဟာ input "S" ရဲ႕ signal state "1" နဲ႕ input "R" ရဲ႕ signal state "0" ၿဖစ္ခ်ိန္မွာ set ၿဖစ္သြားပါတယ္။ တၿခားနည္းအားၿဖင့္ "S" input "0" နဲ႔ "R" input "1" ရခ်ိန္မွာေတာ့ reset ၿဖစ္သြားပါမယ္။ အကယ္၍ Inuput "S" နဲ႕ "R" တို႕ ရဲ႕ RLO value ဟာ တၿပိဳင္နက္ "1" ၿဖစ္ခဲ့မယ္ဆိုရင္ေတာ့ Flip Flop Function ရဲ႕ အစီအစဥ္တိုင္း သက္ဆိုင္ရာ address မွာ reset အေနနဲ႕ပဲ တည္ေနပါလိမ့္မယ္။

S (Set) နဲ႕ R (Reset) တို႔ လည္ပတ္ပုံဟာ RLO value "1" ၿဖစ္ေနခ်ိန္မွာသာ အလုပ္ လုပ္ပါတယ္။ RLO တန္ဖိုး "0" ၿဖစ္ေနစဥ္မွာေတာ့ သက္ဆိုင္ရာ address က အေၿပာင္းအလဲမ႐ိွ တည္ေနပါလိမ့္မယ္။

Example ပုံေလးကို ၾကည့္ပါဦး။ Input I 0.0 ရဲ႕ signal state "1" နဲ႔ I 0.1 ရဲ႕ signal state "0" ၀င္လာခဲ့ရင္ memory bit M 0.0 ဟာ set ၿဖစ္သြားၿပီး Output Q 4.0 "1" အေနနဲ႕ ouput ရ႐ိွပါမယ္။ ေၿပာင္းၿပန္အားၿဖင့္ Input I 0.0 ရဲ႕ siganl state "0" နဲ႕ I 0.1 ရဲ႕ singal state "1" ၿဖစ္လာခဲ့ရင္ memory bit M 0.0 ကုိ reset ႐ိုက္လိုက္ၿပီး "Q 4.0" ရဲ႕ signal state ဟာ "0" ၿဖစ္သြားပါတယ္။ "Input" I 0.0 နဲ႕ I 0.1 ႏွစ္ခုလုံးရဲ႕ signal states ေတြမွာ "1" ခ်ည္းသာ ၀င္လာလွ်င္ memory bit M 0.0 ဟာ reset အေနနဲ႕Output Q 4.0 က မေၿပာင္းလဲပဲ "0" အၿဖစ္ တည္ေနပါမယ္။

Tuesday, January 19, 2010

Reset Coil Function

ဆက္ၿပီးေတာ့ Reset Coil အေၾကာင္းေလး ေဆြးေႏြးၾကစို႕။ Reset Coil ဟာ Set Coil နဲ႕ ေၿပာင္းၿပန္ပါ။



Reset Coil ဟာလည္း လက္႐ိွ Instruction ရဲ႕ RLO "1" ႐ိွခ်ိန္မွာ coil ဆီကို power စီးဆင္းသြားၿပီး အလုပ္လုပ္ပါတယ္။ RLO တန္ဖိုး "1" ရ႐ိွခ်ိန္မွာ သက္ ဆိုင္ရာ address က activate ၿဖစ္သြားၿပီး "0" ကို reset လုပ္ပါတယ္။ "RLO" value "0" ဆိုရင္ေတာ့ "coil" ဆီကို "power" စီးဆင္းၿခင္းမ႐ိွပဲ မူလအတိုင္း မေၿပာင္းလဲပဲ တည္ေနပါတယ္။

သက္ဆိုင္ရာ Reset Coil ရဲ႕ address ဟာ Timer တစ္ခုၿဖစ္ႏိုင္သလုိ Counter တစ္ခုလည္း ၿဖစ္ႏိုင္ပါတယ္။ Timer ၿဖစ္ခဲ့ရင္ သူရဲ႕ timer value ကေန "0" အ ၿဖစ္ reset လုပ္မွာၿဖစ္ၿပီး "Counter" တစ္ခု ၿဖစ္ခဲ့မယ္ဆိုရင္လည္း သူရဲ႕ counter value က "0" အေနနဲ႕ reset လုပ္သြားမွာပါ။ Example ရဲ႕ network 2 နဲ႕ 3 မွာ ၾကည့္လုိက္ပါ။

Network No 1 မွာဆိုရင္ Input I 0.0 နဲ႕ I 0.1 တို႕ရဲ႕ signal state "1" ရတဲ့အ ခ်ိန္ (သို႕မဟုတ္) I 0.2 ရဲ႕ signal state "0" ၿဖစ္တဲ့ အခ်ိန္မွာ "Output Q 4.0" ဟာ "0" အေနနဲ႔ reset ၿဖစ္ပါတယ္။ က်န္တဲ့အခ်ိန္ RLO value "0" ဆိုရင္ ေတာ့ Q 4.0 ဟာ ဘာမွေၿပာင္းလဲမွဳ မ႐ိွပဲမူလ siganl state အတိုင္း တည္႐ိွေနပါမယ္။

Network No 2 မွာေတာ့ Reset Coil address ေနရာမွာ "Timer" အသုံးၿပဳေရး သားထားတာပါ။ Input I 0.3 ရဲ႕signal state "1" ရခ်ိန္မွာ "Timer" စတင္ run ၿပီး "0" အေနနဲ႔ reset လုပ္ပါတယ္။

Network No 3 မွာလည္း Rest Coil address ေနရာမွာ Counter ကို ထည့္ေရး ထားပါတယ္။ Input I 0.4 ရဲ႕ signal state "1" ၿဖစ္ခ်ိန္မွာေတာ့ "Counter" က စတင္ "count" လုပ္ၿပီး "count value" ၿပည့္တဲ့အခ်ိန္ မွာ "0" ကို reset လုပ္သြား မွာပါ။

Monday, January 18, 2010

Set Coil Function

ဒီတစ္ေန႕ေတာ့ Bit Logic Instruction ေတြထဲက ေနာက္ဆက္တြဲ Function တစ္ ခုၿဖစ္တဲ့ Set Coil အေၾကာင္းကို ဆက္လက္ေၿပာၾကရေအာင္။


"Set Coil" ဟာ လက္႐ိွ "Instruction" ရဲ႕ RLO "1" ၿဖစ္ေနခ်ိန္မွာသာ "Coil" ဆီ ကို "Power" စီးဆင္းသြားၿပီး အလုပ္ လုပ္ပါတယ္။ RLO value "1" ရသည့္အခ်ိန္ မွာ သတ္မွတ္ထားတဲ့ "address" က "1" အေနနဲ႕ "set" ၿဖစ္သြားၿပီး "RLO" ရဲ႕ value "0" နဲ႕ ညီေနတဲ့ အခ်ိန္မွာေတာ့ မည္သည့္အက်ဳိးသက္ေရာက္မွဳမွ မ႐ိွပဲ သတ္မွတ္ထားတဲ့ address ဟာ မေၿပာင္းမလဲ တည္႐ိွေနပါမယ္။


Example ပုံေလးကို ၾကည့္လိုက္ပါ။ Input I 0.0 နဲ႕I 0.1 တို႕ရဲ႕ signal state "1" ရတဲ့အခ်ိန္ (သို႕မဟုတ္) I 0.2 ရဲ႕ signal state "0" ၿဖစ္တဲ့အခ်ိန္ေတြမွာ Output Q 4.0 ဟာ "1" ရ႐ိွၿပီး set ၿဖစ္သြားပါမယ္။ RLO value "0" ဆိုရင္ေတာ့ Output Q 4.0 ရဲ႕ signal state ဟာ အေၿပာင္းအလဲမ႐ိွပဲ မူလအတိုင္း တည္႐ိွေနပါ လိမ့္ မယ္။

Saturday, January 9, 2010

PLC Brand ႏွင့္ Softwares မ်ားအေၾကာင္း

PLC Program မွာေရးသားအသုံးၿပဳေနတဲ့ အေၿခခံ Bit Logic Functions ေတြအ ေၾကာင္း ေၿပာၿပီးတဲ့ေနာက္ ယခုတစ္ခါ PLC Brand ေတြအလုိက္ လက္႐ိွအသုံးၿပဳ ေနၾကတဲ့ Softwares ေတြအေၾကာင္း ဆက္လက္ ေရးေပးလိုက္ ပါတယ္။


ကၽြန္ေတာ္ အေနနဲ႕ ေနာက္ေရးသားေပးမယ့္ အပိုင္းေတြမွာ Siemens SIMATIC S7 အေၾကာင္းကို အထူးၿပဳၿပီး တစ္ေလွ်ာက္လုံး ေဆြးေႏြးသြားပါမယ္။

Friday, January 8, 2010

Output Coil အေၾကာင္း

ဒီတစ္ေခါက္ေတာ့ Bit Logic Instructions ေတြထဲက ေနာက္ function တစ္ခုၿဖစ္ တဲ့ Output Coil အေၾကာင္း ဆက္ရေအာင္...။

Output coil အလုပ္ လုပ္ပုံဟာ relay logic diagram နဲ႕ အတူတူပါပဲ ။ RLO value "1" နဲ႕အတူ Coil ဆီကို လွ်ပ္စစ္ စီးဆင္းသြားတဲ့အခ်ိန္ သတ္မွတ္ထားတဲ့ address မွာ "1" ရ႐ိွၿပီး set ၿဖစ္သြားပါတယ္။ RLO value "0" ၿဖစ္တဲ့အခ်ိန္မွာ ေတာ့ Coil ဆီကို Power စီးဆင္းမွဳ ရပ္တန္႕သြားၿပီး သက္ဆိုင္ရာ address မွာ လည္း "0" အေနနဲ႕ set ၿပန္ၿဖစ္သြားပါတယ္။

Output Coil ေတြကို Program ေရးသားရာမွာ Ladder rung ရဲ႕ ညာဘက္ အစြန္ ဆုံး ေနရာတြင္သာ ထားသိုေရးသား ရပါတယ္။ Output Coil မ်ားကို network (သို႕မဟုတ္) rung တစ္ခုတည္းမွာတြင္ multiple output elements အေနၿဖင့္ maximum 16 ခုထိ ေရးသားႏိုင္ပါတယ္။ Output ရဲ႕ negated ကို လုိခ်င္ ရင္ ေတာ့ Invert power flow element ၿဖစ္တဲ့ "NOT logic" ကို အသုံးၿပဳၿပီး ေရး သားႏိုင္ပါတယ္။

Example ပံုေလးမွာ ၾကည့္လိုက္ပါ။ I 0.0 နဲ႕ I 0.1 တို႕ရဲ႕ signal state "1" ၿဖစ္ ေနတဲ့အခ်ိန္ (သို႕မဟုတ္) I 0.2 signal state "0" ၿဖစ္တဲ့အခ်ိန္မွာ output Q 4.0 ဟာ "1" အေနၿဖင့္ set ၿဖစ္သြားပါတယ္။ Output Q 4.1 အတြက္ကေတာ့ I 0.3 ေပၚမွာ ထပ္မံမူတည္ ေနပါတယ္။
I 0.0 နဲ႕ I 0.1 တို႕ရဲ႕ siganl state "1" ၿဖစ္ေနစဥ္မွာပဲ I 0.3 ရဲ႕ signal state လည္း တၿပိဳင္နက္ "1" ၿဖစ္ေနခ်ိန္မွာ Output Q 4.1 ဟာ "1" အေနနဲ႕ set ၿဖစ္ မွာပါ၊ (သို႕မဟုတ္) I 0.2 ရဲ႕ signal state "0" ႏွင့္ I 0.3 ရဲ႕ signal state ဟာ "1" တ ၿပိဳင္နက္ ၿဖစ္သည့္အခ်ိန္တြင္ Output Q 4.1 လည္း "1" အေနၿဖင့္ set ၿဖစ္သြား ပါတယ္။

NOT Logic အေၾကာင္း

ဒီတစ္ၾကိမ္မွာ Bit logic Insturctions ထဲက ေနာက္ function တစ္ခုၿဖစ္တဲ့ NOT logic အေၾကာင္း ေၿပာၾကစို႕..။



NOT logic ဟာ Invert Power Flow ၿဖစ္ၿပီး ၀င္လာတဲ့ Input signal state ရဲ႕ ေၿပာင္းၿပန္ value ကို RLO value အၿဖစ္ ထုတ္ေပးပါတယ္။

"NOT" logic ကို မိမိ Inverse ၿပဳလုပ္လိုေသာ Input points မ်ားနဲ႕ series ခ်ိတ္ ဆက္ေရးသားေလ့ ႐ိွပါတယ္။

Example မွာ ၾကည့္ၾကည့္ပါ။ Input I 0.0 ရဲ႕ signal stae "1" (သို႕မဟုတ္) Input I 0.1 နဲ႕ I 0.2 တို႕ရဲ႕signal state "1" ၿဖစ္တ့ဲအခ်ိန္ မွာ "NOT logic" (Invert Power flow) ေၾကာင့္ Output Q 4.0 ရဲ႕ signal state ဟာ "0" ရ႐ိွ ပါတယ္။ ၀င္ေရာက္လာတဲ့ Input values နဲ႕ RLO value ဟာ ေၿပာင္းၿပန္ပါ။

အၿခား တစ္နည္းအားၿဖင့္ ေၿပာမယ္ဆိုရင္ Input I 0.0 ရဲ႕ signal stae "0" (သို႕မဟုတ္) Input I 0.1 နဲ႔ I 0.2 တို႕ရဲ႕signal state "0" ၿဖစ္တ့ဲအခ်ိန္ မွာ Output Q 4.0 ရဲ႕ signal state value "1" ၿပန္ ရပါမယ္။ Input value "0" မွာ RLO value "1" ေပါ့..။

XOR Bit "Exclusive OR"

ဒီေန႕ေတာ့ Big Logic Instructions ေတြထဲက တတိယ function ၿဖစ္တဲ့ XOR logic အေၾကာင္း ေၿပာေပးသြားပါမယ္။

XOR function ရ႐ိွဖို႕အတြက္ Normally Open Contact နဲ႕ Normally Closed Contacts ေတြကို ေအာက္မွာ ေဖာ္ၿပထားတဲ့အတိုင္း ခ်ိတ္ဆက္ ေရးသားေပးရ ပါတယ္။




XOR (Bit Exclusive OR) ရဲ႕အလုပ္လုပ္ပုံမွာ သက္ဆိုင္ရာ "address" ႏွစ္ခု ရဲ႕ signal state ေတြ မတူညီတဲ့အခ်ိန္ RLO value "1" ရ႐ိွေစပါတယ္။ Example ပုံေလးကို ၾကည့္ပါ။

(I 0.0 = "0" AND I 0.1="1") သို႕မဟုတ္ (I 0.0="1" AND I 0.1="0") ၿဖစ္တဲ့ အခ်ိန္မွာ RLO value "1" ရၿပီး Q 4.0 ဟာ "1" ၿဖစ္သြားလ်က္ Output ထြက္လာ ပါတယ္။ "Q" point က Output Address ကို ဆိုလိုတာပါ။ ေအာက္မွာ Exclusive OR Gate ရဲ႕ "Truth Table" ေလးပါ ထည့္ေပးလုိက္ပါတယ္။

Thursday, January 7, 2010

Normally Closed Contact အေၾကာင္း

ဒီတစ္ခါ Bit Logic Instructions ထဲက ဒုတိယ Function ၿဖစ္တဲ့ Normally Closed Contact အေၾကာင္းေဆြးေႏြးပါမယ္။


(Normally Closed Contact) ကို ဥပမာေပးရရင္ ပိတ္ေနတဲ့ ခလုတ္နဲ႕ အတူ တူပါပဲ။ Symbol မွာေဖာ္ၿပထားတဲ့ အတိုင္း သက္ဆိုင္ရာ သတ္မွတ္ေပးထား တဲ့ "address" မွာ "0" နဲ႕ညီတဲ့အခ်ိန္ Contact ဟာ ထိကပ္ၿပီး (result of logic operation) RLO value "1" ၿဖစ္သြားပါတယ္။ Program မွာ ေရးသားထားတဲ့ ladder rail က Contact မွာ Power ၿဖတ္စီးေနသလုိ အၿပင္က Physical ကိရိယာရဲ႕ Contact ကလည္း လွ်ပ္စစ္ စီးဆင္းေနပါတယ္။

သတ္မွတ္ထားတဲ့ "address" ရဲ႕ signal state "1" ၿဖစ္သြားတဲ႕အခ်ိန္ Contact Point ဟာ Activate ၿဖစ္ၿပီး ထိကပ္ၿခင္း မ႐ိွေတာ့ပဲ ကြာသြားၿပီး Power စီးဆင္းမွဳလည္း ရပ္သြားပါတယ္။ အၿပင္က Physical ကိရိယာမွာလည္း လွ်ပ္စစ္ စီးဆင္းမွဳ ရပ္တန္႕သြားပါၿပီ။ အဲဒီအခ်ိန္မွာ RLO value ဟာလည္း "0" ၿဖစ္ေနပါ ၿပီ။

Normally Closed Contact ဟာ Normally Open Contact နဲ႕ သေဘာတရား ခ်င္း ေၿပာင္းၿပန္ၿဖစ္ပါတယ္။
Normally Closed Contact ကိုလည္း RLO bit ေတြႏွင့္ "AND logic" အၿဖစ္ series ခ်ိတ္ဆက္ေရးသား ႏိုင္သလို "OR logic" အေနၿဖင့္ parallel ခ်ိတ္ဆက္ ေရးသားႏိုင္ပါတယ္။

Example ပံုေလးမွာ ၾကည့္ပါ။ Inputs I 0.0 ႏွင့္ I 0.1 တို႕ရဲ႕ signal state "1" ၿဖစ္တဲ့အခ်ိန္ (သို႕မဟုတ္) I 0.2 signal state "0" ၿဖစ္တဲ့အခ်ိန္မွာ RLO value "1" ရ႐ိွၿပီး Power လွ်ပ္စစ္ၿဖတ္သန္း စီးဆင္းသြားပါတယ္။ အၿခားတနည္း အားၿဖင့္ Inputs I 0.0 ႏွင့္ I 0.1 တို႕ရဲ႕ signal state "0" ၿဖစ္တဲ့ အခ်ိန္ (သို႕မဟုတ္) I 0.2 signal state "1" ၿဖစ္တဲ့အခ်ိန္မွာ RLO value "0" ရ႐ိွၿပီး Power လွ်ပ္စစ္ စီးဆင္းမွဳလည္း ရပ္တန္႕သြားပါတယ္။

Tuesday, January 5, 2010

Normally Open Contact အေၾကာင္း

ဒီေန႔မွာေတာ့ Logic Instructions ေတြထဲက ပထမဆုံး Function တစ္ခုၿဖစ္တဲ့ Normally Open Contact အေၾကာင္း ေၿပာသြားပါမယ္။

(Normally Open Contact) ကို ဥပမာေပးရရင္ ပြင့္ေနတဲ့ ခလုတ္နဲ႕ အတူတူပါပဲ။ Symbol မွာ ၿပထားတဲ့ အတိုင္း သက္ဆိုင္ရာ သတ္မွတ္ေပးထားတဲ့ "address" မွာ "1" နဲ႕ ညီသြားတဲ့ အခ်ိန္ Contact ဟာ Activate ၿဖစ္သြားပါတယ္။ အဲဒီအခ်ိန္ မွာ (result of logic operation) RLO value "1" ၿဖစ္ေနၿပီး program မွာေရး သားထားတဲ့ ladder rail က Contact ကို Power ၿဖတ္စီးသြားသလို အၿပင္က Physical ကိရိယာရဲ႕ Contact ကလည္း ထိကပ္ၿပီး လွ်ပ္စစ္စီးဆင္း ေနပါတယ္။

သတ္မွတ္ထားတဲ ့"address" ရဲ႕ signal state "0" နဲ႕ညီသြားခ်ိန္မွာ Contact point ဟာ ထိကပ္ၿခင္း မ႐ိွေတာ့ပဲ ကြာသြားၿပီး Power စီးဆင္းမွဳလည္း ရပ္သြား ပါတယ္။ အဲဒီ အခ်ိန္မွာ RLO value ဟာလည္း "0" ၿဖစ္ေနပါၿပီ။

Normally Open contact ႏွင့္ RLO bit ေတြကို "AND logic" အေနၿဖင့္ series ခ်ိတ္ဆက္ေရးသားႏိုင္သလို "OR logic" အေနၿဖင့္ parallel ခ်ိတ္ဆက္ေရးသား ႏိုင္ပါတယ္။

Example ပုံေလးကို ၾကည္႕ပါ။ Inputs I 0.0 ႏွင့္ I 0.1 တို႕ရဲ႕ signal state "1" ၿဖစ္တဲ့အခ်ိန္ (သို႕မဟုတ္) I 0.2 ရဲ႕ signal state "1" ၿဖစ္တဲ့အခ်ိန္မွာ Power လွ်ပ္စစ္ ၿဖတ္သန္းစီးဆင္း သြားပါတယ္။

"I" ဆိုတာက Input ကို ကိုယ္စားၿပဳတာပါ။ "0.0" ကေတာ့ Input address ရဲ႕ နံပါတ္ ၿဖစ္ပါတယ္။ ေ႐ွ႕က "0" ဟာ "Byte 0" ကို ဆိုလိုၿပီး ေနာက္က "0" က ေတာ့ "Bit 0" ကို ဆိုလိုတာပါ။ Input Address, Output Address, Bit, Byte နဲ႕Word ေတြ အေၾကာင္းကို ေနာက္ပိုင္းမွာ အေသးစိတ္ ဆက္လက္ေရးသားေပး သြားပါမယ္။


Bit Logic Instructions အေၾကာင္း

ဒီတစ္ပတ္မွာ PLC ေရးသားရာမွာ အသုံးၿပဳတ့ဲ Logics ေတြအေၾကာင္း ေဆြးေႏြး ေပးသြား ပါမယ္။
PLC ရဲ႕အေၿခခံ Bit Logic မွာ ဂဏန္း ၂ လံုး two digits "1" & "0" ပါ၀င္ ပါတယ္။ ဂဏန္း ၂ လံုးကို အေၿခခံၿပီး တည္ေဆာက္ထားတဲ့ အတြက္ သူ႕ကို Binary System လို႕ေခၚပါတယ္။ ဂဏန္း ၂ ခု digits "1" & "0" ကို ေတာ့ Binary digits သို႕မဟုတ္ Binary bits ဟုေခၚဆိုပါတယ္။ Digit "1" က Electrical components မွ contacts ေတြ coils ေတြ activated ၿဖစ္ေၾကာင္း energized ၿဖစ္ေၾကာင္း ညႊန္ၿပေပးၿပီး "0" ကေတာ့ deactivated ၿဖစ္တာကို ညႊန္းဆိုတာပါ။
Logic Instruction မွာ ဂဏန္း digit "1" သို႕မဟုတ္ "0" ကို သေကၤတစနစ္ Boolean logic ၿဖင့္ဖတ္႐ွဳၿပီး logic operation ၿပဳလုပ္၍ result ထုတ္ယူပါတယ္။ အဲဒီလုိ "1" & "0" ကို Boolean Logic ၿဖင့္ result ရယူၿခင္းကို "RLO ( result of logic operation )" ဟုေခၚဆိုပါတယ္။
PLC ရဲ႕ logic operation ေတြမွာ အၿမဲအသုံးၿပဳေလ့႐ိွတဲ့ logic instructions ေတြ ထဲက Function တစ္ခ်ဳိ႕ကို ေအာက္မွာ ေဖာ္ၿပေပးလိုက္ပါတယ္။
ေနာက္ပိုင္းမွာ Instruction တစ္ခုခ်င္းစီရဲ႕ Function ေတြအေၾကာင္းကို သီးသန္႔ ထပ္မံ ေရးသား ေဆြးေႏြး သြားပါမယ္။