1
Tun
Ni dung Giáo trình
BT, TN,…
1
Chng I: Khái nim v iu khin Logic
1.1 Khái nim v iu khin Logic
1.2 Mô hình hóa các h thng ri rc
1.2.1 i s Bool
1.2.2 Automat hu hn
2
1.2.3 Petri net
1.2.4 State Charts
1.2.5 StateFlow
1.2.6 GRAFCET
3
1.3 Chun IEC 61131 và các b điu khin lp trình
đc
1.3.1 PLC và ngôn ng lp trình theo chun
1.3.2 Các công c đt cu hình
1.3.3 n v t chc chng trình
1.3.4 Phng pháp cu hình đc bit
1.3.5 T chc PLCopen
4
Chng II: Mch logic t hp
2.1 nh ngha và phân loi
2.2 Tng hp mch logic t hp
2.2.1 Phng pháp đi s
2.2.2 Phng pháp ma trn Các nô
Làm bài tp
5 2.2.3 Phng pháp Quine Mc. Clusky
6
Chng III: Mch logic tun t
3.1 Khái nim c bn v mch logic tun t
7
3.2 Tng hp mch logic tun t
3.2.1 Phng pháp ma trn trng thái
Làm bài tp
8
3.2.1 Phng pháp ma trn trng thái (tip)
3.2.2 Phng pháp GRAFCET
Làm bài tp
2
9 3.2.2 Phng pháp GRAFCET Làm bài tp
10
Chng IV: Tng quan v PLC
4.1 Gii thiu v PLC
4.2 Cu trúc phn cng
4.3 Hot đng ca PLC
Làm thí nghim
11 4.4 Các lnh trong PLC Làm thí nghim
12
Chng V: K thut lp trình PLC
5.1 Thit k chng trình da vào lu đ
5.2 Thit k chng trình da vào trng thái
Làm bài tp và
thí nghim
13
5.3 K thut ghi dch
5.4 S dng biu đ chc nng tun t (SFC)
Làm bài tp và
thí nghim
14
Chng VI: Ghép ni và truyn thông vi PLC
6.1 Các thit b vào ra
Làm thí nghim
15
6.2 Ghép ni vi PLC
6.3 Truyn thông vi PLC
Chng VII: Mô hình hóa các s kin ri rc
7.1 FSM – Done
7.2 Petrinet - Done
7.3 State Charts & State Flow
3
CHNG 1: KHÁI NIM CHUNG V IU KHIN LOGIC
1.1 Khái nim v KLG
Mt h thng có th đc coi là mt t hp các b phn tng tác ln nhau,
đc t chc đ thc hin mt mc tiêu nào đó, thông thng là đ đt đc giá tr
gia tng - thông qua quá trình thay đi các tính cht vt lý, hóa hc hay sinh hc, sp
đt li v trí, trao đi thông tin – trên các loi nguyên liu thô, nng lng, bán thành
phm, sc lao đng – trong các điu kin môi trng nht đnh. Nu nh các quá trình
xy ra trong các điu kin nht đnh đu tuân theo nhng quy lut hóa lý hay sinh hc
ca chính nó thì đ đm bo kt qu ca quá trình là các sn phm mong mun ta có
th tác đng vào các điu kin này. Vic tác đng vào các điu kin đ quá trình xy
ra nh mong mun gi là điu khin. thc hin vic điu khin cn phi theo dõi
các đi lng thay đi liên quan đn bn thân quá trình và các tham s th hin các
điu kin mà quá trình đang xy ra thông qua các thit b đo nh các sensor. Các kt
qu mong mun đc th hin nh các lng đt. Nh vy điu khin liên quan đn
vic tip nhn các giá tr lng đt, các giá tr ca các tham s, các giá tr liên quan
đn đi lng thay đi theo quá trình, x lý các thông tin này theo mt quy lut nào
đó, sau đó đa ra các tín hiu tác đng lên quá trình.
Nu theo dõi quá trình theo thi gian có th phân loi quá trình thành loi liên
tc và loi ri rc. Quá trình là liên tc nu có th xác đnh hoc mô t đc các đi
lng liên quan đn quá trình mi đim theo thi gian, ví d quá trình thay đi nhit
đ, thay đi áp sut, các phn ng hóa hc, … Quá trình là ri rc nu ch có th bit
đc giá tr các đi lng liên quan đn quá trình nhng thi đim nht đnh theo
thi gian hoc thm chí không bit đc thi đim xut hin ca chúng. Loi sau này
gi là các s kin. S kin ch cho thy s hin din ca chúng khi chúng xy ra.
có th điu khin, khng ch đc các quá trình, mt vn đ quan trng là
có th có đc mô t toán hc ca chúng. S dng các công c toán hc đ mô t các
quá trình gi là mô hình hóa. ây chính là quá trình dùng t duy trìu tng đ mô t
các quá trình. Vi t duy trìu tng mt s quá trình có bn cht rt khác nhau li có
th đc mô t bi các mô hình ging nhau, do đó đc nghiên cu bng các công c
toán hc ging nhau.
Các quá trình liên tc có th đc mô t bi h phng trình vi phân. Nh phép tính
vi phân có th mô t đc s thay đi ca các đi lng quan tâm trong nhng khong
thi gian nh tùy ý. Các h thng liên tc là đi tng nghiên cu ca lý thuyt điu
khin t đng. c bit đi vi lp các h thng tuyn tính, đc mô t bi h phng
trình vi phân tuyn tính, các phng pháp và công c nghiên cu đã đc phát trin
và ng dng t lâu nay.
i vi các h thng ri rc, vi cm nhn ban đu, có th ngh rng vic mô t
và nghiên cu chúng s d dàng hn. Mt trong nhng cách tip cn ngây th nht đi
vi h thng ri rc là có th lit kê đc ht nhng đáp ng có kh nng xy ra. Ví
4
d mt chic qut đin thông thng có th trng thái chy hoc dng. Qut có th
chy nu ta đóng công tc cp ngun đin cho đng c qut. Qut s dng nu ta ct
công tc cp đin cho đng c. Hình dung v chic qut s phc tp dn lên nu b
xung thêm nhng trng thái thc t khác. Ch đ chy có th cn phân bit thêm chy
tc đ nào, đn gin nht có th là qut có ba cp tc đ, 1, 2, 3. Khi trong ch đ
chy có th có ch đ thay đi hng gió. Gia các cp tc đ c đnh có th có ch
đ chuyn gia tc đ này sang tc đ khác và ngc li đ phng theo ch đ gió t
nhiên, gây cm giác d chu. Nu hình dung chic qut này lp đt mt v trí xa
ngi s dng hoc đây là mt chic qut đ to nên s thay đi áp sut không khí
trong mt dây chuyn công nghip s cn có mt b phn cm bin gió đ nhn bit
qut có thc s hot đng hay không khi công tc ngun đã đóng. tránh b nh
hng khi đin áp li có s thay đi bt thng tín hiu t b cm bin gió (cm
bin áp sut không khí) ch thc s đc x lý sau mt khong thi gian nht đnh, ví
d sau 30s. Nhng bin đng nháy, mt đin áp ngun ngn 5 – 10s s không nh
hng gì đn trng thái hot đng ca qut. Rõ ràng là đ mô t h thng xác thc
hn, s lng các trng thái s tng lên nhanh chóng. Thc t, mt trong nhng khó
khn ln khi nghiên cu các h ri rc là s lng các trng thái quá ln, đn mc ch
cn lit kê ra chúng đã là không th, ngay c vi s tr giúp ca các máy tính hin đi.
Khái nim v điu khin logic (Logic Control) liên quan đn các h thng ri
rc, trong đó đáp ng ca quá trình ch có th bit đc nhng thi đim nht đnh
theo thi gian hoc khi nhng s kin xy ra. Thi đim s kin xy ra có th hoàn
toàn không bit trc đc. áp ng ca h thng có th chu s nh hng ca tình
trng trc đó cng nh ca các s kin nên các h thng loi này còn gi là h phn
ng hay h tng tác (Reactive Systems). iu khin logic có th hiu là s la chn
hay s đa ra quyt đnh, trong nhng hoàn cnh nht đnh, trong nhng điu kin
nht đnh, cách tác đng vào quá trình đ có đc đáp ng nh mong mun.
Trong thc t nhng tác đng vào các h ri rc có phm vi rt rng, đt ra nhng vn
đ cn gii quyt cho quá trình điu khin, có th k ra sau đây:
- H thng có th phi trong các ch đ làm vic khác nhau, tuân theo lnh
điu khin t bên ngoài. Ch đ đn gin nht có th thy là chy (Start), dng
(Stop).
- H thng có th phi chuyn t ch đ này sang ch đ khác theo mt trình t
nht đnh, xác đnh bi mt s điu kin nht đnh. Cách thc hot đng này rt
ph bin đi vi các quá trình công nghip. Ví d đ khi đng mt dây
chuyn công ngh luôn đòi hi nhng trt t cht ch, b phn nào phi chy
trc, b phn nào phi chy sau, cng nh tuân th quá trình tng tc theo quy
lut nht đnh. iu tng t cng xy khi cn dng dây chuyn li.
- m bo quá trình xy ra theo các trình t v thi gian nht đnh. m bo tính
đng b là ví d v nhim v kiu này.
5
- Tng tác gia các b phn. Trong mt h thng các b phn có tng tác ln
nhau, ch đ hot đng khâu này có th to ra nhng điu kin nht đnh quy
đnh hot đng ca các b phn khác. m bo nhng mi quan h này trong
các h thng phân tán, kích c ln là mt nhim v không h d dàng.
- Phn ng tc thi trc mt s s kin. S kin có th tham gia vào các hot
đng bình thng, ví d nh mt chuyn đng đn mt công tc cui hành
trình, cn phi dng li hoc chuyn đng ngc li, lnh điu khin đn khi
mt nút bm chc nng nào đó tác đng, … S kin thng tham gia đm bo
an toàn cho quá trình nh khi bánh rng truyn chuyn đng b v, vt l thâm
nhp khu vc nguy him, hoc can thip tc thi ca ngi vn hành n nút
dng khn cp khi thy có hin tng bt thng.
iu khin logic đc nghiên cu trong nhiu lnh vc:
- K thut tính toán (Computer Science);
- Lp trình (Programming);
- Mô phng (Simulation);
- Truyn thông (Communication);
- Các h thng điu khin công nghip (Industrial Control).
đây s ch quan tâm đn nhng vn đ ca điu khin logic trong các h thng điu
khin công nghip, trong đó ngi k s cn thit k h thng điu khin đ đm bo
quá trình xy theo đúng quy trình công ngh yêu cu, hot đng an toàn, tin cy, vi
hiu qu cao nht. Tính hiu qu đc th hin bi s kt hp mt cách tit kim h
thng trang thit b trong khi đm bo đc xác sut gia nhng ln dng máy nh
(Mean Time Between Failures), máy móc d vn hành, d sa cha, tit kim nng
lng, … Nhng thc đo hiu qu ca h thng thit b máy móc có th không d
đánh giá ngay t khâu thit k ban đu nhng có tính đnh hng cho ngi k s khi
tip cn các vn đ đi vi mt h thng điu khin công nghip.
Nhim v thit k mt h thng điu khin logic tuân theo các bc ging nh các
nhim v thit k bt k nào, đó là:
1. Phân tích quá trình đ làm rõ các yêu cu v công ngh mong mun;
2. Trên c s các yêu cu công ngh mong mun cn mô t đc h thng
bng ngôn ng k s phù hp. Ngôn ng k s đây đc hiu là mt công c mô t
đc thù nào đó mà da trên kt qu mô t h thng, gi là mô hình, có th chuyn mô
hình này sang dng ng dng đc thông qua các thit b phn cng cùng vi các
phn mm cn thit;
3. Mô phng h thng. Vi nhng h thng phc tp hoc quan trng không
th d dàng xây dng ngay các thit b th nghim, có th là do quá đt tin hoc quá
6
nguy him trong th nghim. Các công c mô phng trên máy tính ngày nay cho phép
th nghim trên mô hình gn vi các đc đim thc t, t đó có đc nhng đc tính
ca h thng cn quan tâm.
4. Trin khai h thng điu khin trên các thit b thc. Quá trình này ngày
nay thng đi cùng vi vic thit k phn cng và xây dng các phn mm.
Trong quá trình thit k cn phân bit đc thù ca các phng pháp k s vi
các phng pháp nghiên cu c bn khác. Phng pháp k s nht thit phi đi đn
đc các ng dng mà không nht thit phi đc gii thích ngn ngun bng các suy
lun cht ch, nh trong t duy kiu toán hc.
1.2 Mô hình hóa các h thng ri rc
Mô t các h thng ri rc t ra phc tp hn nhiu so vi các h thng liên
tc. Mc đ phc tp th hin ch ta có th ri rc hóa các quá trình đn mc đ
nào. mc đ tip cn ban đu quá trình có th ch phân chia ra theo mt vài ch đ
làm vic, ví d nh chy và dng nh vi chic qut đã nói đn trên đây. Sau đó quá
trình ri rc có th li tip tc đ phn ánh thc t mt cách chi tit hn. Gia các
trng thái làm vic li có th có mi quan h vi nhau, có th xy ra đng thi hoc
theo mt trt t nht đnh nào đó. Khi s lng các trng thái nhiu lên cùng vi các
mi quan h gia chúng, rõ ràng vic xác đnh đc các đc tính, các tính cht ca h
thng tr nên khó khn hn nhiu. Nu nh mc đích ca vic mô hình hóa h thng
là đ suy lun ra đc, đoán trc đc các đáp ng ca h thng thì vic đa ra quá
nhiu các kh nng đáp ng xy ra cng không giúp ích đc gì nhiu cho quá trình
thit k h thng điu khin.
1.1.1 i s Bool
Mt trong nhng công c toán hc có c s đy đ nht đã đc nghiên cu k
lng là đi s Bool, theo tên ca nhà toán hc gia th k XIX Gorge Boole, hay còn
gi là đi s logic [1]. Trong đi s Bool khái nim trìu tng đa ra có dng đn gin
nht là coi s kin ch có th là có hoc không, tn ti hoc không tn ti, đúng hoc
sai. Khái nim đn gin đúng hoc sai đc th hin bng hai ch s 1 và 0 to nên c
s h đm c s 2, bin tt c các phép toán s hc c bn ch còn li là phép cng.
V mt vt lý đúng hay sai có th đc thc hin bng mt mch đin đóng hay m
hay vic to nên mc đin áp gia 0 – 5 V. Các khóa bán dn dùng tranzito có th d
dàng thc hin đc các quá trình vt lý này đã to nên cuc cách mng ln là s ra
đi ca các thit b đin t s, sau đó là máy tính đin t mà nh hng ca chúng đn
mi mt đi sng, kinh t, k thut thì mi ngi đu bit.
Mc dù da trên khái nim c bn nht là đúng hoc sai, 0 hoc 1, đi s Bool
có kh nng mô t hàng lot các quá trình thc t. Các mi quan h logic phc tp nh
7
s la chn các tác đng cn thit trong mt t hp rt ln các tín hiu đu vào th
hin qua các hàm logic. Các công c phân tích ca đi s Bool cho phép ti thiu hóa
các phn t logic cn thit đ xây dng nên các b điu khin logic hu hiu là c s
cho nhng ng dng thc t ca lý thuyt này.
i s Bool là c s đ xây dng nên các mch đin tính toán, các vi mch
logic đ phc hp cao (Complex Programmable Logic Device – CPLD) hay các mch
t hp logic có th lp trình đc (Flexible Programmable Gate Array – FPGA), ngày
càng đc ng dng rng rãi.
Tuy nhiên trìu tng hóa đn mc coi mt cái gì đó ch là đúng hoc sai s là
quá khiên cng khi mô t các quá trình thc t hoc s dn đn phi phân chia quá
trình ra quá nhiu mc đ chi tit đn mc không th phân tích ni. bù đp nhng
khim khuyt này lnh vc đi s logic đã phát trin lên các hng chuyên sâu mi là
logic m (Fuzzy Logic) và mng nron. Các bc phát trin cao hn ca logic đã t ra
có nhng ng dng thc t quan trng và cn đn nhng nghiên cu chuyên sâu,
ngoài phm vi mun đ cp đn đây.
Vi s phát trin ca k thut máy tính con ngi đã có nhng công c hu hiu khác
đ mô t mt cách trìu tng nhng quá trình thc t mà không phi da trên t duy
kiu toán hc. ó là nhng công c t duy bng ngôn ng hay bng hình nh. đây
mun nói đn các công c đ mô hình hóa các quá trình mt cách trc giác thông qua
các loi đ th.
1.1.2 Automat hu hn (Finite State Machine - FSM)
Automat hu hn hay là máy trng thái hu hn dùng ngôn ng hình nh, di
dng đ th đ mô t các quá trình [2]. Các trng thái (state), th hin di dng đ th
là mt hình khép kín, ch nht hay tròn, có th gi chung là qu bóng. Ni gia các
trng thái là các mi tên ch kh nng chuyn t bc này sang bc khác
(Transition). th này đc gi là đ th trng thái (State graph). Mi mi tên ng
vi mt điu kin logic cn kim tra hay là các tín hiu đu vào. FMS hot đng bt
đu t mt trng thái ban đu, qua các bc chuyn ph thuc vào các điu kin logic
có cho phép hay không, đn mt trng thái bt k nào đó nu có th. Nhng trng thái
có th đn đc t trng thái ban đu trong đ th gi là trng thái đc phép. FMS có
th đa ra tác đng đu ra ph thuc vào các đu vào và trng thái hin ti. Nu đánh
s các trng thái và gán cho các điu kin logic các mc logic 0,1, có th biu din
FMS di dng bng, rt thun li cho biu din di dng ký t, có th chuyn t
môi trng son tho này sang môi trng khác mt cách d dàng.
8
Hình Error! No text of specified style in document 1 Ví d v FSM mô hình
b điu khin thang máy.
Ví d FSM cho trên hình 1.1. Gi s có b điu khin thang máy, ch có hai
tng, tng 1: First; và tng ngm: Floor. Có hai lnh chuyn đng, lên: Up; và xung:
Down. B điu khin có hai đèn ch th, đèn đ ch tng ngm: Red; và đèn xanh ch
tng 1: Green. Mi đèn s sáng khi thang tng tng ng. th trên hình 1.1 gm
hai qu bóng ch hai trng thái Floor và First. Tín hiu đu vào là hai lnh Up, Down.
Hành đng cn thc hin khi các trng thái là làm sáng đèn tng ng và tt đèn
kia. mi thi đim b điu khin s theo dõi tín hiu đu vào và thc hin bt, tt
đèn nh mong mun.
Nu coi đu vào: Up = 1; Down = 0;
Trng thái: Floor = 0; First = 1;
èn (tín hiu ra): On = 1; Off = 0,
Có th lp bng trng thái nh sau:
Bng Error! No text of specified style in document 1 Bng trng thái ca
FSM trên hình 1.1.
Trng thái u vào Trng thái tip
theo
èn đ
Red
èn xanh
Green
0 0 0 1 0
0 1 1 0 1
1 0 0 1 0
1 1 1 0 1
FSM có th mô t h thng mt cách hu hiu, và đc ng dng trong thit k
các mch đin t s, các th tc truyn thông [3]. Các phn mm thit k h thng s
ngày nay cho phép khai báo các FMS phc tp và t đng hóa quá trình chuyn t mô
9
hình sang ng dng trên mch đin t rt thun tin. Trong các h thng t đng hóa
phc tp State graph rt hay đc dùng, có th không phi đ thit k mà là đ mô t
hot đng và các tng tác gia các b phn ca h thng.
Mc dù FSM có công c toán hc c s là lý thuyt đ th, nó cng t ra còn
nhiu hn ch, đó là mi trng thái đc coi là không chia nh ra đc na, dn đn
s trng thái có th là rt ln cng nh là các bc chuyn gia chúng.
1.1.3 Petri Net
Petri Net, đc phát minh bi Carl Adam Petri nm 1939 dùng đ mô t các
quá trình hóa hc, là mt ngôn ng toán hc mô hình hóa cho các h thng phân tán
[7]. Petri Net là mt đ th có hng, trong đó mi nt ca đ th th hin bc
chuyn (transition, các s kin có th xy ra), ký hiu bng mt gch đng, và các v
trí (ngha là các điu kin), ký hiu bng vòng tròn nh. Nhng cung có hng, ký
hiu bng các mi tên, ni các nt vi các v trí và ngc li, th hin các v trí đã
chun b các điu kin cho các bc chuyn xy ra. Các cung không bao gi ni gia
cùng các v trí cng nh cùng các bc chuyn.
Các cung ni t v trí đn bc chuyn gi là cung đu vào. Các cung ni bc
chuyn vi v trí gi là các cung đu ra.
Ti các v trí có mt s lng các token nào đó. S phân b các token ti các v
trí gi là s đánh du. Bc chuyn s xy ra nu có token tt c các cung đu vào.
Khi chuyn các token s b đa sang đu cui ca tt c các cung đu ra. Khi có kh
nng chuyn, tt c các bc chuyn đu có kh nng chuyn nh nhau, tuy nhiên
không th bit là cái nào s chuyn vì mi ln ch có mt token đc chuyn đi. Vì
các token có th phân b các v trí khác nhau, thm trí nhiu token ti mt v trí, nên
do tính không th bit trc ca mô hình PetriNet mô hình này có th mô t rt tt
tình trng tranh chp (concurrent) ca h thng phân tán.
Hình Error! No text of specified style in document 2 Ví d v Petri Net.
Ging nh các ngôn ng dùng hình nh khác Petri Net cho phép mô t bng đ
th các quá trình nhy cp, bao gm la chn, suy lun và các hot đng tranh chp.
10
Petri Net có đnh ngha toán hc chính xác cho các ng ngha ca nó và có nn tng lý
thuyt đy đ đ phân tích nó.
1.1.4 Statecharts và stateflows
o Statecharts
Statecharts m rng kh nng ca FSM do David Harel đa ra trong nhng
nm 1980 và công b 1987 [4, 5], có kh nng mô t nhng h thng ri rc kiu phn
ng theo s kin phc tp nh h tính toán nhiu CPU, các th tc truyn thông và
các h điu khin đin t trong t đng hóa. Statecharts s dng FSM c bn nhng
b xung thêm ba khái nim c bn, đó là phân cp, tranh chp và qung bá truyn
thông. Nh đó Statecharts vn gi nguyên đc nhng u đim do tính trc giác ca
FSM mang li nhng m rng kh nng din t vi các mc đ chi tit khác nhau,
làm cho đc tính ca nhng h rt ln đc mô t mt cách d hiu và qun lý đc.
Khi s dng công c đ ha máy tính Statecharts có th tr thành mt môi trng mô
t đng riêng, trong đó có th phân chia h thng thành các b phn chc nng và các
đc tính dòng s liu liên quan đn mi b phn và xem xét đc tng tác gia các
b phn vi nhau.
Ví d v Statecharts cho trên hình 1.2 v ch đ ca đng h bm gi. Trong
ch đ bm gi ta mun đng h ch th thi gian theo phút, chính xác đn phn trm
giây, di dng: mm:ss:cc. Ch đ bm gi có th chy lp li (Lap) hoc ch bm gi
mt ln (Lap_stop). th gm hai trng thái Stop (dng) và Run (chy). Trong Stop
có hai trng thái con là Reset (xóa ht) và Lap_stop (dng vòng lp). Trong trng thái
Run có hai trng thái con là Running và Lap, ngoài ra còn cha mt đ th trng thái
TIC thc hin vic đm gi chính xác đn phn trm giây (cent). Các trng thái đc
kích hot nh nút bm đt ch đ, tng ng vi các tín hiu logic chy (START) và
chy lp li (LAP). Các nút bm này nu bm tip s v ch đ trc đó. Ví d đang
trong trng thái Reset, bm nút START s chuyn sang Running. Nu đang trong
Running bm START ln na s v ch đ xóa ht Reset. Tín hiu START cng tác
đng tng t gia trng thái vòng lp (Lap) và xóa vòng lp (Lap_stop). Trong các
trng thái có th gn vi các hot đng (activities). Ví d trng thái Running có hot
đng trong quá trình trng thái này tích cc, ký hiu là:
during: /trong khi
disp_cent=cent; /ch th phn trm giây
disp_sec=sec; /ch th giây
disp_min=min ; /ch th phút
…
11
Hình Error! No text of specified style in document 3 Ví d Statecharts v ch
đ đng h bm gi.
Tng t nh Statecharts nhng phát trin thành ngôn ng mô t tiêu chun là
UML (Unified Modelling Language) [9] đã đc s dng rng rãi trong mô hình hóa
và thit k các h tng tác kích c ln, trong lp trình cho các ng dng nhúng và
các h điu khin nói chung.
c bit Stateflow do Matlab phát trin, cng là mt dng ca Statecharts, đa ra kh
nng thit k h thng đa trên mô hình (Model-based design), tích hp trong môi
trng mô phng cùng Simulink, to nên kh nng thit k mu nhanh (Fast
Prototyping).
o Stateflow
Stateflow là mt dng công c đ ha tng tác, tích hp cùng công c mô
phng Simulink ca Matlab dùng đ mô hình hóa các h tng tác. Các h tng tác
chuyn t trng thái hot đng này sang trng thái hot đng khác do tác đng ca các
s kin hoc các điu kin nht đnh. Các h thng này mô hình hóa logic hay cách
thc hot đng cho các thit b hay mt h thng t đng hóa nh bm, qut, đng c
hoc mt h máy móc thit b nào đó.
Stateflow biu din các ch đ hot đng ca thit b bng đ th trng thái
(FSM), ví d ch đ làm vic ca chic qut trong nhà có th là cao, trung bình, thp
và dng (High, Medium, Low, Off). Phn mm Stateflow cung cp các đi tng đ
ha, có th gp ra t hp thoi các mu, ni chúng vi nhau bng các cung có hng
đ ch ch đ hay điu kin chuyn t trng thái này sang trng thái khác. Ngoài ra
còn có th xác đnh:
- Các s liu đu vào, đu ra;
- Các s kin đ kích hot đ th trng thái;
12
- Các tác đng và các điu kin gn vi các trng thái và các điu kin đ
xác đnh hành vi ca đ th trng thái.
Vi Stateflow có th m rng kh nng ca đ th trng thái bng cách:
- Thêm vào các cu trúc phân cp;
- Mô hình các trng thái làm vic song song (tranh chp);
- Xác đnh các hàm chc nng bng đ th, bng các th tc chèn vào
hoc bng các bng trng thái.
- S dng logic thi gian đ lp lch cho các s kin.
- Xác đnh các vector, ma trn và các kiu d liu.
Hn na, Stateflow s tin hành mô phng mô hình đã đc xây dng đ
nghiên cu các đc tính cn quan tâm ca h thng. Kh nng rt mnh ca Stateflow
là t đng chuyn sang dng mã chng trình C dùng Stateflow
®
Coder™, tích hp
cùng phn mã C ca Simulink ra dng có th cài đt vào các b điu khin. iu này
rút ngn rt nhiu thi gian lao đng ca các k s trong quá trình thit k h thng
điu khin.
Ví d v đ th trng thái ca Stateflow cho trên hình 1.4. ây là mô hình mt
hp s t đng điu khin ô tô. Hp s s t đng chuyn s tùy theo tc đ ca xe và
đ m ca đng vào ga cho đng c.
- Mô hình có hai trng thái có th hot đng song song là: gear_state
(trng thái hp s) và selection_state (la chn s). Các trng thái song song, cùng
xy ra (parallel AND states) có vành bao bên ngoài bng đng nét đt. Trong mi
hai trng thái song song này có các trng thái con. Các trng thái con có vành ngoài
nét lin là nhng trng thái loi tr nhau, ngha là mi thi đim ch có mt trong
chúng đc kích hot.
- Các trng thái ni vi nhau bng các cung ch s kin (UP, DOWN)
hoc các điu kin (speed > down_th: tc đ ln hn ngng thp; speed < down_th:
tc đ nh hn ngng thp; speed > up_th: tc đ ln hn ngng tc đ cao; speed
< up_th: tc đ nh hn ngng tc đ cao; …).
- Vi mi trng thái có th có các tác đng (action) gây nên các hot đng
cn thit khi h thng đang trong mt trng thái nào đó. Các tác đng có th là loi
kích hot khi vào trng thái, entry; khi đang trong trng thái, during, khi ra khi
trng thái, exit.
- Trong trng thái có th có hàm tính toán, nh hàm calc_th:
[down_th,up_th] = calc_th(gear,throttle). Hàm calc_th tính toán các giá tr ngng tc
đ thp, tc đ cao t v trí hp s gear và đ m ca đng đa ga vào bung đt
throttle.
13
Hình Error! No text of specified style in document 4 Ví d Stateflow điu
khin hp s t đng xe ô tô.
Mc dù không có phn ng ngha cht ch nh UML [6, 9], điu có th dn ti
không ti u v mã phát sinh, li chng trình rt khó phát hin và g ri, nhng
Stateflow rt phù hp cho nhng ngi phát trin ng dng trong các h thng điu
khin, trong đó ngi k s tp trung vào các nhim v đm bo chc nng điu khin
cho h thng ch không phi là các chuyên gia v lp trình hay mô hình hóa.
1.1.5 GRAFCET
GRAFCET cng là mt ngôn ng đ th đc phát trin Pháp t 1977, nh là
mt phng pháp mô t đc tính cho các b điu khin logic [10]. T nm 1988
GRAFCET đc công nhn nh mt chun quc t bi IEC và mang tên đ th hàm
tun t (Sequential Function Charts – SFC). Ngày nay GRAFCET/SFC là mt phn
trong chun quc t ngôn ng lp trình IEC 61131 cho các b điu khin logic lp
trình đc (Programmable Logic Controller – PLC). GRAFCET đc dùng ph bin
trong công nghip vì giao din đ th rõ ràng ca nó. GRAFCET có c s toán hc t
mng Petri Net.
GRAFCET có cú pháp đ th, ví d cho trên hình 1.5. Nó bao gm các trng
thái (steps), th hin bng mt hình ch nht, và các bc chuyn (transitions), th
hin bng các gch ngang. Lu ý đi vi GRAFCET trng thái (state) đc gi là
step. Trng thái ban đu (Initial step) th hin bi hình vuông nét đôi s đc kích
14
hot trc tiên khi h thng bt đu hot đng. Các trng thái có th đc kích hot
ln lt hoc đng thi.
Trng thái (steps): trng thái có th tích cc hoc không. Trng thái tích cc đc
đánh du bng mt token trong nó. Các trng thái tích cc xác đnh trng thái ca h
thng ti mt thi đim nào đó. Gn vi mi trng thái có th có mt hay vài hành
đng. Các hành đng đc thc hin khi trng thái tích cc.
Hình Error! No text of specified style in document 5 Cú pháp ca GRAFCET.
Các bc chuyn (transitions): dùng đ kt ni các trng thái. Mi bc
chuyn có mt đ hp th nht đnh. Bc chuyn là đc phép nu tt các trng thái
phía trên nó đu tích cc. Khi đ hp th ca mt bc chuyn đc phép tr nên là
đ thì bc chuyn đc kích hot ngay lp tc. Khi bc chuyn kích hot các trng
thái trên nó tr nên th đng và các trng thái tip sau nó tr nên tích cc.
Hành đng (actions): gm hai loi, loi theo mc và loi theo xung. Loi theo
mc kéo dài mt khong thi gian hu hn theo mt bin logic nào đó và gi nguyên
trng thái tác đng chng nào trng thái gn vi nó còn tích cc. Hành đng theo mc
có th là có điu kin hoc không điu kin. Loi hành đng theo xung có nhim v
thay đi giá tr mt bin nào đó. Bin có th là logic nhng không nht thit nh vy.
Mt hành đng theo xung đc thc hin ngay khi trng thái ca nó tr nên tích cc.
Có th đa vào các bin ph thuc thi gian đ to nên các hành đng có tr hoc xy
ra trong khong thi gian nht đnh. Mt hành đng theo mc bao gi cng có th
chuyn thành mt hành đng theo xung.
hp th (receptivities). Mi bc chuyn có mt đ hp th nht đnh.
hp th có th là mt điu kin logic, mt s kin hay điu kin logic kt hp vi s
kin. Trên đ th s kin th hin bng mt ch cái (bin) bên cnh trái ca nó có mi
tên lên hoc xung, ví d
,x y . Mi trên lên ch s kin xy ra sn lên ca
xung, mi tên xung ch s kin gn vi sn xung.
Ngôn ng GRAFCET đc phát trin vi mc đích s dng cho các b PLC.
Ngôn ng đc dùng trc ht vi mc đích mô t h thng bng đ th đ có th
15
phân tích, đánh giá s hot đng mt cách trc giác. Vic ng dng thc t đc thc
hin bng cách chuyn đ th GRAFCET sang mt ngôn ng thông dng khác là đ
th dng bc thang (Ladder Diagrams – LD). LD là ngôn ng đn gin, tha hng t
các s đ điu khin logic dùng rle trc đây. Các s đ LD rt d thc hin đi vi
các h thng nh nhng khi h thng tr nên phc tp hn thì s đ LD s rt khó
qun lý.
V mt ng dng GRAFCET thng đi cùng vi mt loi PLC do mt hãng
phát trin. Do đó s dng GRAFCET ch hiu qu khi ta đnh xây dng h thng điu
khin trên loi PLC đó, khi đó phn mm son tho chng trình s chuyn t đng
h thng mô t bi GRAFCET sang ngôn ng LD, cài đt trên PLC. Nu không có
nhng điu kin này thì vic chuyn GRAFCET sang dng cài đt trên PLC s rt khó
khn, đn mc mà nhng u th ca ngôn ng đ th cng không còn giá tr gì.
1.3 Chun IEC 61131 và các b điu khin lp trình đc
1.3.1 PLC và ngôn ng lp trình theo chun
PLC là b điu khin logic lp trình đc, đc nhiu nhà sn xut phát
trin vi kích c t nh đn ln và đc ng dng rng rãi trong công nghip.
Tuy nhiên tính ph bin ca PLC làm ny sinh hàng lot vn đ. Mc dù vn
mang mt s đc đim chung v phn cng, phn mm nhng gia các loi
PLC có nhiu đim khác nhau, đc bit là v phn mm mà c th là ngôn ng
lp trình điu khin. Các hãng khác nhau có th phát trin nhng tp lnh khác
nhau, các hàm khác nhau và cách s dng các chc nng quan trng nh b
đm, b đnh thi, truyn thông cng có nhiu đim khác bit. Ngay c gia
các loi PLC ca cùng mt hãng cng có th có s khác nhau rt ln. S bt
tng thích gây ra nhiu khó khn cho ngi s dng khi mun chuyn đi
chng trình điu khin có sn trên mt loi PLC này sang mt loi PLC khác
khi nâng cp hoc sa cha h thng, khi mun s dng phi hp nhiu loi
PLC khác nhau trong cùng mt thit b máy móc. Ngay c vic hc và s dng
các loi PLC khác nhau cng s tiêu tn nhiu công sc và thi gian.
Do nhng lý do trên mà t chc IEC (International Electrotechnical
Commission) đ ra chun cho ngôn ng lp trình mang tên IEC 61131 [12].
IEC 61131 không phi là mt ngôn ng mà là các chun đ ngôn ng c th
phi tuân theo. Chun IEC 61131 đa ra các quy đnh v b điu khin kh
trình, trong đó có PLC, và các thit b ngoi vi đi kèm, t phn cng (c khí,
đin, đin t, khí nén, thy lc, ), truyn thông đn phn mm và ngôn ng
lp trình. B tiêu chun này gm nhiu phn, mi phn xét đn mt khía cnh
nht đnh, và do đó to thành mt chun “con” bên trong b tiêu chun IEC
61131 và thng đc kí hiu bi s th t ca phn (ví d IEC 61131-1, IEC
61131-2, ). Trong đó tiêu chun IEC 61131-3, tc phn 3 ca b tiêu chun
16
IEC 61131, vi tên gi “Programming Languages”, qui đnh v các ngôn ng lp trình
cng nh cách thc lp trình điu khin cho tt c các thit b, các quá trình và các b
điu khin. Nhng qui đnh trong tiêu chun IEC 61131-3 đem li mt cách nhìn nhn
mi v lp trình cho các h thng điu khin, đm bo tính hiu qu cao và sc mnh.
Chun IEC 61131-3 nói riêng và b tiêu chun IEC 61131 nói chung đã vt ra
ngoài gii hn là mt b tiêu chun v PLC mà tr thành mt b tiêu chun cho các
thit b điu khin kh trình (Programmable Controller) nói chung. Hin nay, phn ln
các b điu khin trong thc t đu là các b điu khin kh trình. Bi vy, phm vi
áp dng ca b tiêu chun IEC 61131 tr nên rt rng ln. Mt đim cn chú ý na là
phn nhiu các qui đnh trong b tiêu chun IEC 61131 dng khuyn cáo, ngha là
nên đc tuân theo ch không bt buc. Bi vy mc dù nhiu sn phm ca các hãng
khác nhau đc nói là “tuân theo chun IEC 61131” nhng vn có th không thc
hin đy đ và hoàn toàn đúng nh nhng qui đnh đ ra trong chun.
Di đây s ch ra nhng đc đim quan trng nht mà chun IEC 61131-3
đem li cho các ngôn ng lp trình điu khin.
1.3.2 Không ph thuc vào mt phn cng c th nào.
iu này cn thit đ chng trình có th mang đi đc (Portable). Do tính có
th mang đi đc có th to nên các th vin gm các chng trình nh, đc xây
dng cho các ng dng ph bin, có th ghép ni vào các ng dng ln hn. iu này
cng có ngha là các đon mã có th s dng li (reuseable). Rõ ràng là thi gian và
công sc ca nhng ngi phát trin ng dng s đc gim đáng k.
1.3.3 Dùng nhiu ngôn ng trong cùng mt chng trình điu khin
ây là mt trong nhng u đim ni bt nht ca chun. Vic s dng kt hp
nhiu ngôn ng lp trình khác nhau trong cùng mt chng trình là điu mong mi
ca hu ht các lp trình viên. Trong cùng mt chng trình điu khin, ngi lp
trình có th s dng đng thi và trc tip nhiu ngôn ng lp trình khác nhau. iu
này giúp tng tính linh hot và hiu qu ca vic lp trình bi có th tn dng ti đa
các u đim ca tng ngôn ng lp trình.
IEC 61131-3 đnh ngha 5 ngôn ng lp trình: Ladder (LD), Function block
diagram (FBD), Sequential function chart (SFC), Structure Text (ST), Instruction List
(IL) phc v cho mt di rng các ng dng. Ngi lp trình PLC mi ni s s dng
cùng ngôn ng lp trình, ngân sách đào to s gim đi, nht là khi dùng thit b ca
nhiu hãng khác nhau tuân theo chun này, khi cn thit ch cn b sung thêm mt vài
kin thc v mt b điu khin mi. Chun giúp tng hiu sut cng nh gim thi
gian thc hin mt d án t đng hóa bng cách tái s dng các thành phn (chng
trình) đã đc phát trin trc trong các d án khác hoc bi nhng ngi khác.
17
Tuy nhiên không phi khi nào cng s dng đc 5 ngôn ng lp trình
này, còn ph thuc vào tc đ vi x lý, loi PLC hay mc đ h tr ca hãng.
Thông thng thì vic s dng ngôn ng nh sau đây:
- SFC dùng cho quá trình x lý lp đi lp li, có liên đng hay nhng hot
đng đng thi.
- LD đc chp nhn rng rãi bi ngi lp trình PLC khp toàn cu, dùng
cho nhng ng dng vào ra s, x lý c bn, khá d dàng cho vic thay th
code v sau.
- IL có tc đ x lý nhanh do sát vi ngôn ng máy và hay đc s dng
châu Âu.
- ST là ngôn ng hay đc dùng châu Âu, dùng cho nhng ngi quen vi
lp trình bc cao, thc hin đc các phép toán phc tp, nu lp trình bng
IL và ST gây khó khn trong vic phát hin và sa li sau này.
- FBD dùng cho các vào ra s hay nhng x lý c bn, tuy nhiên li tn din
tích màn hình quan sát khi lp trình.
1.3.4 Các công c đt cu hình
các phng pháp cu trúc hóa các chng trình PLC truyn thng,
các ng dng đc gói gn trong các khi vi các đc tính runtime (khi đang
chy) không rõ ràng, vic cu hình đn thun là chn PLC và phân cng vào
ra, sau đó lp trình da theo phân công ban đu này, s là rt khó khn khi
chng trình ca chúng ta dài hàng trm trang. IEC 61131-3 cung cp các
phng tin chun hóa và tinh vi đ tháo g khó khn này. Vì chng trình là
đc lp vi phn cng, nên vic cu hình cn phi xác đnh đc tính runtime
cho chng trình (PROGRAMs) và khi chc nng (FBs), giao tip gia các
cu hình và gán các bin cho đa ch phn cng PLC c th. Gi đây chúng ta
có th cu hình bng chng trình nên thoát khi gò bó lúc lp trình và cng
không phi nh nhiu na. Qun lý d án có th chia chng trình thành các
module cho nhiu ngi làm sau đó tng hp li mt cách d dàng.
1.3.5 Lp tài liu d án mt cách tin li và nhanh chóng
Chun cng cho phép chng trình cng nh thit b to điu kin đ
giám sát, chn đoán h thng và thu thp d liu phc v cho vic tng kt và
lp k hoch chính xác, d dàng.
1.3.6 An toàn và tin li hn khi dùng các bin và kiu d liu
Vi PLC và phng pháp lp trình thông thng thì vic truy cp d
18
liu đc thc hin bi các bin toàn cc hay là đa ch tuyt đi (phn cng), thông
thng là đa ch vào ra, c, khi d liu chng hn nh I0.0, I0.1, Q0.0,… Ngi lp
trình phi t phân b v trí ca chúng và phi ht sc cn thn nu không s xy ra
trng hp các phn ca chng trình nh hng ln nhau (ví d ghi đè d liu).
Khi lp trình theo chun IEC 61131-3 thì không dùng đa ch phn cng trc
tip mà thay vào đó là vic s dng các bin đc đt tên rõ ràng. Ngi lp trình
cng không phi xác đnh chúng cn đc lu gi đâu mà chng trình t đng sp
xp. Mi bin có mt kiu d liu c th nh Bool, Byte, WORD, DWORD,
LWORD, Integer (SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT),
REAL, LREAL, TIME, DATE, TOD hay TIME_OF_DAY, DT hay
DATE_AND_TIME, WString. Bin cc b ch có ý ngha trong phm vi mt đn v
t chc chng trình, nên không lo nh hng khi s dng đn v khác.
1.3.7 n v t chc chng trình
i vi các chng trình điu khin ln và phc tp, phng pháp lp trình có
cu trúc đc s dng thay cho phng pháp lp trình tuyn tính. Trong các h lp
trình cho PLC trc kia, phng pháp lp trình có cu trúc đc h tr thông qua vic
t chc chng trình thành các khi (block), vi ý ngha nh là các thành phn nh
nht xây dng nên chng trình (vì vy gi là các building block). Các khi này đc
phân loi theo ni dung cha bên trong khi, thông thng bao gm: khi t chc
chng trình (OB - Organisation Block), khi chc nng (FB - Function Block), khi
d liu (DB - Data Block). Có th thy là đây khi chc nng và d liu ca khi
chc nng đc tách ri nhau tng ng trong các khi FB và DB. Cách phân chia
nh th này gi nh đn các ngôn ng lp trình quen thuc nh Pascal hay C vi
chng trình chính, hàm và d liu toàn cc (global data).
Chun IEC 61131-3 đã tin mt bc xa hn khi phân chia các khi, đc gi
tên là các đn v t chc chng trình (POU - Program Organisation Unit), theo chc
nng và s phân cp cu trúc. Có ba loi POU đc quy đnh là: Hàm (FUN -
FUNction), khi chc nng (FB - Function Block) và chng trình (PROG -
PROGram). Mt đim đáng chú ý là d liu ca các khi chc nng không nm riêng
na mà đc đa vào ngay trong chính khi đó. ó chính là s đóng gói d liu, mt
trong nhng nguyên tc c bn ca phng pháp lp trình hng đi tng. Vic s
dng POU giúp hn ch đc chng loi khi đc s dng, thng nht hóa và đn
gin hóa đ ngi s dng d dàng hn. Hn na, POU đc thit k hoàn toàn đc
lp vi đi tng, chính vì th mà có th tái s dng chúng trên nhiu nn khác nhau.
1.3.8 Phng pháp cu hình đc bit
Thông thng khi lp trình PLC vic cu hình là chn loi PLC và phân cng
19
vào ra, sau đó vit chng trình da theo phân b ban đu này. Các ng dng đc
đa vào các khi (ví d OB) và không có đc tính lúc vn hành rõ ràng.
IEC 61131-3 áp dng nhng tin b ca công ngh k thut mi cho phép vic mô
hình mt d án PLC gm nhng ng dng có nhiu vi x lý. Mô hình phn mm theo
chun giúp ngi dùng cu trúc hóa các ng dng hng ti thc tin bng cách xây
dng các khi t chc chng trình POU đ to điu kin d dàng cho vic bo trì,
thu thp d liu và tng kh nng chn đoán ca PLC. Mt phn mm đng nht là rt
cn thit cho vic tng tính linh hot ca các ng dng. Các tài nguyên ca PLC (các
vi x lý hay khi CPU) đc gán đc tính vn hành khi cu hình và điu đó làm cho
chng trình ca ta đc lp vi phn cng.
1.3.9 T chc PLCopen
IEC 61131 ra đi mang li nhiu li ich cho c ngi s dng cui và c nhà
sn xut thit b logic kh trình. Hin nay hu ht các hãng đu cam kt sn xut sn
phm tuân theo chun này, có th là mt phn hay toàn phn. Cng phi nói rng
chun không ch áp dng cho PLC, mà cho hu ht các thit b điu khin kh trình
nh PAC, PLC, các b điu khin quá trình, Nhiu t chc đang hot đng nhm
ph bin rng rãi chun, trong đó có vic ra đi ca t chc PLCopen, t chc khuyn
khích các thành viên theo chun. PLCopen đã có rt nhiu thành viên, mà đc bit là
các công ty tp đoàn ln nh Siemens, ABB, Allen Bradley, OMRON, Mitsubishi
Electric, … Hin t chc không ch hot đng châu Âu mà c c M, Á.
Công ty Smart software solution, cng là thành viên ca PLCopen, phát trin
phn mm CoDeSys và thành lp t chc automation alliance vi hn 100 thành viên
cam kt s dng phn mm ca hãng. CoDeSys không ch đc chp nhn châu Âu
mà đang dn phát trin trên toàn th gii, là các công ty c, Thy s, Italia, Áo,
Pháp, Anh, B, Phn Lan, Thy in, Nga, M và Trung Quc vi nhiu loi sn
phm nh PLC, CNC/PLC combination, B truyn đng thông minh, DCS
(decentralized control system), Panel PLC, Lõi PLC, các module vào ra thông minh,
Phn mm CoDeSys lp trình cho thit b điu khin kh trình hoàn toàn tuân theo
chun IEC 61131-3. Vi mt phn mm lp trình chung theo chun và các hãng sn
xut thit b phn cng cam kt sn phm hoàn toàn h tr thì vic lp trình s thng
nht và đn gin hn cho ngi s dng.
Ngoài các hãng đc k trên còn rt nhiu hãng ln nh na sn xut các sn phm h
tr theo tiêu chun IEC 61131 nh BECKHOFF, Rexroth, Danfoss, Schneider,
Yokogawa, Emerson, Qua đó đ thy rng chun đã đc chp nhn rng rãi nh
th nào. Có mt thc t là nhiu hãng vn dùng phn mm riêng cho PLC hay PAC và
các b điu khin kh trình ca h, do vy vn cha phi là hoàn toàn theo chun nên
cha th tn dng ht đc nhng u đim ca lp trình theo chun, cng cha th tit
kim đc ti đa thi gian và công sc cho vic lp trình. Chng hn, khi mua PLC
ca nhiu hãng, chúng ta vn phi hc khá nhiu, c phn cng ln phn mm, cng
20
cha th ly chng trình lp trình vi phn mm ca hãng này đ sang PLC ca hãng
khác đc. Trong tng lai, nhng hn ch trên s đc khc phc vì tiêu chun này
chc chn s còn đc chp nhn rng hn na và lp trình theo.
21
CHNG 2: MCH LOGIC T HP
2.1 C s toán hc v đi s logic
2.1.1 Hàm và bin logic
a. Bin logic
Bin s x đc gi là bin logic nu x thuc tp hp B ch gm 2 phn t ký
hiu là 0 và 1. Ngha là bin logic x ch nhn hai giá tr 0 và 1.
x B = {0;1}
b. Hàm logic
Hàm s f ca các bin x1, x2, …, xn đc gi là hàm logic khi và ch khi các
bin x1, x2, …, xn là các bin logic và giá tr ca hàm s f cng là giá tr logic, tc là
f cng ch có 2 giá tr 0 và 1.
f(x1, x2, …, xn) B = {0;1} vi x1, x2, …, xn B = {0;1}.
c. Các phép toán logic c bn
Phép nghch đo (NOT)
Ký hiu: nghch đo ca mt bin logic x ký hiu là x.
Phép nghch đo đc đnh ngha thông qua bng giá tr 2.1 nh sau
Bng 2.1. Bng giá tr ca phép nghch đo
x
f(x) =
x
0 1
1 0
Phép cng logic (OR)
Phép cng logic đc thc hin vi 2 bin logic x và y ký hiu là x+y
Phép cng logic đc đnh ngha thông qua bng giá tr 2.2 nh sau:
Bng 2.2. Bng giá tr ca phép cng logic
x Y f(x,y) = x+y
0 0 0
0 1 1
1 0 1
1 1 1
Kt qu ca phép cng logic hai bin logic ch nhn giá tr 0 khi và ch khi c hai bin
logic có giá tr 0
22
Phép nhân logic (AND)
Phép nhân logic đc thc hin vi 2 bin logic x và y ký hiu là x.y hoc x*y
hoc đn gin là xy
Phép nhân logic đc đnh ngha thông qua bng giá tr 2.3 nh sau:
Bng 2.3. Bng giá tr ca phép nhân logic
x y f(x,y) = x+y
0 0 0
0 1 0
1 0 0
1 1 1
Kt qu ca phép nhân logic hai bin logic ch nhn giá tr 1 khi và ch khi c hai bin
logic có giá tr 1
2.1.2 Các tính cht và đnh lut logic c bn
a. Các tính cht ca phép toán logic
Tính cht giao hoán
Kt qu ca phép tính giao hoán là không đi nu ta đi ch hai bin logic cho
nhau
x+y = y+x
x.y = y.x
Tính cht kt hp
x+y+z = (x+y)+z = x+(y+z)
x.y.z = (x.y).z = x.(y.z)
Tính cht phân phi
x.(y+z) = x.y + x.z
x+(y.z) = (x+y).(x+z)
Lut De Morgan
n21n11
n21n21
x xxx x.x
x x.xx xx
Ph đnh ca mt tng các bin logic bng tng các ph đnh các bin logic.
Ph đnh ca mt tích các bin logic bng tích các ph đnh ca các bin logic
Tính đi ngu
Nu trong mt h thc ta thay phép cng bng phép nhân, phép nhân bng phép
cng, thay 0 bng 1 và 1 bng 0 thì s thu đc mt h thc mi gi là h thc đi
ngu. Nu h thc ban đu đúng thì h thc đi ngu ca nó cng đúng.
23
b. Mt s h thc logic c bn
x+0 = x ; x.1 = x
x.0 = 0 ; x+1 = 1
x+x = x ; x.x = x
0
x
.
x
;
1
x
x
x+xy = x ; x.(x+y) = x
x
)
y
x
)(
y
x
(
;
x
y
x
xy
2.1.3 Các cách biu din hàm logic t hp
a. Biu din bng bng chân lý
Bng chân lý là bng lit kê tt c các t hp các giá tr ca các bin và giá tr
tng ng ca hàm s vi mi t hp bin đó. Nh vy, vi mt hàm n bin thì ta s
có 2
n
t hp bin. Bng 2.4 cho ta mt ví d v bng chân lý vi hàm 3 bin
Bng 2.4 Bng chân lý biu din hàm 3 bin
Giá tr thp phân ca
t hp bin
x1 x2 x3 f(x1,x2,x3)
0 0 0 0 1
1 0 0 1 0
2 0 1 0 “x”
3 0 1 1 “x”
4 1 0 0 0
5 1 0 1 1
6 1 1 0 “x”
7 1 1 1 1
Ghi chú:
Nhng ch đánh du “x” là giá tr hàm không xác đnh (có th là 0 hoc 1), có
ngha là giá tr hàm ng vi các t hp giá tr bin đu vào không nh hng đn vai
trò ca hàm logic này.
u đim ca cách biu din này là d nhìn, ít nhm ln vì tt c các kh nng
có th ca hàm s đã đc lit kê ra ht. Nhc đim ca phng pháp này là cng
knh, đc bit là khi bin s ln.
b. Biu din bng biu thc đi s
Hàm logic có th đc biu din bng biu thc đi s s dng các phép toán
cng và nhân logic. Bng cách biu din hàm logic bng biu thc đi s, có th dùng
các thit b logic đ thc hin hàm logic mt cách dàng.
24
Mt hàm logic n bin bt k bao gi cng có th biu din thành tng chun
đy đ và tích chun đy đ.
Cách vit hàm di dng tng chun đy đ
Ch quan tâm đn t hp các giá tr ca bin làm cho hàm có giá tr 1. S
ln hàm bng 1 chính bng s tích ca các t hp bin này.
Trong mi tích ng vi mt t hp bin làm cho hàm có giá tr bng 1,
các bin có giá tr 1 thì gi nguyên, các bin có giá tr 0 thì đc ly giá
tr đo
Hàm tng chun đy đ s là tng các tích đó
Ví d: Cho hàm logic 2 bin nh bng 2.5
Bng 2.5: Hàm logic 2 bin s
x1 x2 y=f(x1,x2)
0 0 1
0 1 0
1 0 0
1 1 1
Ta nhn thy có 2 t hp giá tr bin làm cho hàm có giá tr 1 là (x1,x2) = (0,0)
và (x1,x2) = (1,1). Vi t hp (x1,x2) = (0,0), vì hai bin đu nhn giá tr 0 nên tích
các bin tng ng s là x
x
. Vi t hp (x1,x2) = (1,1), vì hai bin đu nhn giá tr
1 nên tích các bin tng ng s là x1.x2. Do đó hàm logic có th đc biu din di
dng tng chun đy đ nh sau
y= f(x1,x2) = x
x
+ x1.x2
Cách vit hàm di dng tích chun đy đ
Ch quan tâm đn t hp các giá tr ca bin làm cho hàm có giá tr 0. S
ln hàm bng 0 chính bng s tng ca các t hp bin này.
Trong mi tng ng vi mt t hp bin làm cho hàm có giá tr bng 0,
các bin có giá tr 0 thì gi nguyên, các bin có giá tr 1 thì đc ly giá
tr đo
Hàm tích chun đy đ s là tích các tng đó
Ví d: Cho hàm logic 2 bin nh bng 2.5
Ta nhn thy có 2 t hp giá tr bin làm cho hàm có giá tr 0 là (x1,x2) = (0,1)
và (x1,x2) = (1,0). Vi t hp (x1,x2) = (0,1), vì bin x1 nhn giá tr 0 nên đc gi
nguyên, bin x2 nhn giá tr 1 nên phi ly giá tr đo, tng các bin tng ng s là
x x
. Vi t hp (x1,x2)=(1,0), vì bin x1 nhn giá tr 1 nên phi ly giá tr đo,
bin x2 nhn giá tr 0 nên đc gi nguyên, tng các bin tng ng s là x
+x2. Do
đó hàm logic có th đc biu din di dng tích chun đy đ nh sau
y=f(x1, x2)= (x x
)(x
+x2)
25
vit các hàm logic di dng ngn gn, ngi ta có th vit các hàm logic
di dng nh sau:
Dng tng chun đy đ
Hàm logic bng 2.4 có th vit nh sau:
f(x1,x2,x3)=(0,5,7) vi N = 2,3,6
Trong đó các s 0, 5, 7 là giá tr thp phân ca t hp bin (theo th t
x1x2x3) làm cho hàm có giá tr bng 1; và 2, 3, 6 là các giá tr thp phân ca
t hp bin làm cho hàm có giá tr không xác đnh.
Dng tích chun đy đ
Hàm logic bng 2.4 có th vit nh sau:
f(x1,x2,x3)=(1,4) vi N = 2,3,6
Trong đó các s 1, 4 là giá tr thp phân ca t hp bin (theo th t
x1x2x3) làm cho hàm có giá tr bng 0; và 2, 3, 6 là các giá tr thp phân ca
t hp bin làm cho hàm có giá tr không xác đnh.
c. Biu din bng bng Các nô
Nguyên tc xây dng bng Các nô nh sau:
biu din mt hàm logic có n bin s, cn lp mt bng có 2
n
ô, mi ô
tng ng vi mt t hp bin.
Các ô cnh nhau hoc đi xng nhau ch cho phép khác nhau v 1 giá tr ca
mt bin
Trong các ô ghi các giá tr ca hàm tng ng vi t hp bin ng vi ô đó
Ví d: Bng Các nô biu din hàm logic trong bng 1.5
Bng 2.6 Bng Các nô biu din hàm logic trong bng 2.5
x2
x1
0 1
0 1 0
1 0 1
Bng Các nô biu din hàm logic trong bng 2.4
x2x3
x1
00 01 11 10
0 1 0 “x” “x”
1 0 1 1 “x”
Chú ý: vi các ô ng vi các t hp bin làm cho hàm có giá tr không xác đnh thì có
th đin “x” hoc b trng
Bng Các nô cho hàm 5 bin