Bài giảng điều khiển logic và plc - Pdf 12

1

Tun

Ni dung Giáo trình

BT, TN,…
1
Chng I: Khái nim v iu khin Logic
1.1 Khái nim v iu khin Logic
1.2 Mô hình hóa các h thng ri rc
1.2.1 i s Bool
1.2.2 Automat hu hn

2
1.2.3 Petri net
1.2.4 State Charts
1.2.5 StateFlow
1.2.6 GRAFCET

3
1.3 Chun IEC 61131 và các b điu khin lp trình
đc
1.3.1 PLC và ngôn ng lp trình theo chun
1.3.2 Các công c đt cu hình
1.3.3 n v t chc chng trình
1.3.4 Phng pháp cu hình đc bit
1.3.5 T chc PLCopen

4
Chng II: Mch logic t hp

5.1 Thit k chng trình da vào lu đ
5.2 Thit k chng trình da vào trng thái

Làm bài tp và
thí nghim
13
5.3 K thut ghi dch
5.4 S dng biu đ chc nng tun t (SFC)

Làm bài tp và
thí nghim
14
Chng VI: Ghép ni và truyn thông vi PLC
6.1 Các thit b vào ra
Làm thí nghim
15
6.2 Ghép ni vi PLC
6.3 Truyn thông vi PLC Chng VII: Mô hình hóa các s kin ri rc
7.1 FSM – Done
7.2 Petrinet - Done
7.3 State Charts & State Flow
3

CHNG 1: KHÁI NIM CHUNG V IU KHIN LOGIC

vi phân có th mô t đc s thay đi ca các đi lng quan tâm trong nhng khong
thi gian nh tùy ý. Các h thng liên tc là đi tng nghiên cu ca lý thuyt điu
khin t đng. c bit đi vi lp các h thng tuyn tính, đc mô t bi h phng
trình vi phân tuyn tính, các phng pháp và công c nghiên cu đã đc phát trin
và ng dng t lâu nay.
i vi các h thng ri rc, vi cm nhn ban đu, có th ngh rng vic mô t
và nghiên cu chúng s d dàng hn. Mt trong nhng cách tip cn ngây th nht đi
vi h thng ri rc là có th lit kê đc ht nhng đáp ng có kh nng xy ra. Ví
4

d mt chic qut đin thông thng có th  trng thái chy hoc dng. Qut có th
chy nu ta đóng công tc cp ngun đin cho đng c qut. Qut s dng nu ta ct
công tc cp đin cho đng c. Hình dung v chic qut s phc tp dn lên nu b
xung thêm nhng trng thái thc t khác. Ch đ chy có th cn phân bit thêm chy
 tc đ nào, đn gin nht có th là qut có ba cp tc đ, 1, 2, 3. Khi trong ch đ
chy có th có ch đ thay đi hng gió. Gia các cp tc đ c đnh có th có ch
đ chuyn gia tc đ này sang tc đ khác và ngc li đ phng theo ch đ gió t
nhiên, gây cm giác d chu. Nu hình dung chic qut này lp đt  mt v trí xa
ngi s dng hoc đây là mt chic qut đ to nên s thay đi áp sut không khí
trong mt dây chuyn công nghip s cn có mt b phn cm bin gió đ nhn bit
qut có thc s hot đng hay không khi công tc ngun đã đóng.  tránh b nh
hng khi đin áp li có s thay đi bt thng tín hiu t b cm bin gió (cm
bin áp sut không khí) ch thc s đc x lý sau mt khong thi gian nht đnh, ví
d sau 30s. Nhng bin đng nháy, mt đin áp ngun ngn 5 – 10s s không nh
hng gì đn trng thái hot đng ca qut. Rõ ràng là đ mô t h thng xác thc
hn, s lng các trng thái s tng lên nhanh chóng. Thc t, mt trong nhng khó
khn ln khi nghiên cu các h ri rc là s lng các trng thái quá ln, đn mc ch
cn lit kê ra chúng đã là không th, ngay c vi s tr giúp ca các máy tính hin đi.
Khái nim v điu khin logic (Logic Control) liên quan đn các h thng ri
rc, trong đó đáp ng ca quá trình ch có th bit đc  nhng thi đim nht đnh

nhp khu vc nguy him, hoc can thip tc thi ca ngi vn hành n nút
dng khn cp khi thy có hin tng bt thng.
iu khin logic đc nghiên cu trong nhiu lnh vc:
- K thut tính toán (Computer Science);
- Lp trình (Programming);
- Mô phng (Simulation);
- Truyn thông (Communication);
- Các h thng điu khin công nghip (Industrial Control).
 đây s ch quan tâm đn nhng vn đ ca điu khin logic trong các h thng điu
khin công nghip, trong đó ngi k s cn thit k h thng điu khin đ đm bo
quá trình xy theo đúng quy trình công ngh yêu cu, hot đng an toàn, tin cy, vi
hiu qu cao nht. Tính hiu qu đc th hin bi s kt hp mt cách tit kim h
thng trang thit b trong khi đm bo đc xác sut gia nhng ln dng máy nh
(Mean Time Between Failures), máy móc d vn hành, d sa cha, tit kim nng
lng, … Nhng thc đo hiu qu ca h thng thit b máy móc có th không d
đánh giá ngay t khâu thit k ban đu nhng có tính đnh hng cho ngi k s khi
tip cn các vn đ đi vi mt h thng điu khin công nghip.
Nhim v thit k mt h thng điu khin logic tuân theo các bc ging nh các
nhim v thit k bt k nào, đó là:
1. Phân tích quá trình đ làm rõ các yêu cu v công ngh mong mun;
2. Trên c s các yêu cu công ngh mong mun cn mô t đc h thng
bng ngôn ng k s phù hp. Ngôn ng k s  đây đc hiu là mt công c mô t
đc thù nào đó mà da trên kt qu mô t h thng, gi là mô hình, có th chuyn mô
hình này sang dng ng dng đc thông qua các thit b phn cng cùng vi các
phn mm cn thit;
3. Mô phng h thng. Vi nhng h thng phc tp hoc quan trng không
th d dàng xây dng ngay các thit b th nghim, có th là do quá đt tin hoc quá
6

nguy him trong th nghim. Các công c mô phng trên máy tính ngày nay cho phép

dàng thc hin đc các quá trình vt lý này đã to nên cuc cách mng ln là s ra
đi ca các thit b đin t s, sau đó là máy tính đin t mà nh hng ca chúng đn
mi mt đi sng, kinh t, k thut thì mi ngi đu bit.
Mc dù da trên khái nim c bn nht là đúng hoc sai, 0 hoc 1, đi s Bool
có kh nng mô t hàng lot các quá trình thc t. Các mi quan h logic phc tp nh
7

s la chn các tác đng cn thit trong mt t hp rt ln các tín hiu đu vào th
hin qua các hàm logic. Các công c phân tích ca đi s Bool cho phép ti thiu hóa
các phn t logic cn thit đ xây dng nên các b điu khin logic hu hiu là c s
cho nhng ng dng thc t ca lý thuyt này.
i s Bool là c s đ xây dng nên các mch đin tính toán, các vi mch
logic đ phc hp cao (Complex Programmable Logic Device – CPLD) hay các mch
t hp logic có th lp trình đc (Flexible Programmable Gate Array – FPGA), ngày
càng đc ng dng rng rãi.
Tuy nhiên trìu tng hóa đn mc coi mt cái gì đó ch là đúng hoc sai s là
quá khiên cng khi mô t các quá trình thc t hoc s dn đn phi phân chia quá
trình ra quá nhiu mc đ chi tit đn mc không th phân tích ni.  bù đp nhng
khim khuyt này lnh vc đi s logic đã phát trin lên các hng chuyên sâu mi là
logic m (Fuzzy Logic) và mng nron. Các bc phát trin cao hn ca logic đã t ra
có nhng ng dng thc t quan trng và cn đn nhng nghiên cu chuyên sâu,
ngoài phm vi mun đ cp đn  đây.
Vi s phát trin ca k thut máy tính con ngi đã có nhng công c hu hiu khác
đ mô t mt cách trìu tng nhng quá trình thc t mà không phi da trên t duy
kiu toán hc. ó là nhng công c t duy bng ngôn ng hay bng hình nh.  đây
mun nói đn các công c đ mô hình hóa các quá trình mt cách trc giác thông qua
các loi đ th.
1.1.2 Automat hu hn (Finite State Machine - FSM)
Automat hu hn hay là máy trng thái hu hn dùng ngôn ng hình nh, di
dng đ th đ mô t các quá trình [2]. Các trng thái (state), th hin di dng đ th

Trng thái u vào Trng thái tip
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 thng mt cách hu hiu, và đc ng dng trong thit k
các mch đin t s, các th tc truyn thông [3]. Các phn mm thit k h thng s
ngày nay cho phép khai báo các FMS phc tp và t đng hóa quá trình chuyn t mô
9

hình sang ng dng trên mch đin t rt thun tin. Trong các h thng t đng hóa
phc tp State graph rt hay đc dùng, có th không phi đ thit k mà là đ mô t
hot đng và các tng tác gia các b phn ca h thng.
Mc dù FSM có công c toán hc c s là lý thuyt đ th, nó cng t ra còn
nhiu hn ch, đó là mi trng thái đc coi là không chia nh ra đc na, dn đn
s trng thái có th là rt ln cng nh là các bc chuyn gia chúng.
1.1.3 Petri Net
Petri Net, đc phát minh bi Carl Adam Petri nm 1939 dùng đ mô t các
quá trình hóa hc, là mt ngôn ng toán hc mô hình hóa cho các h thng phân tán
[7]. Petri Net là mt đ th có hng, trong đó mi nt ca đ th th hin bc
chuyn (transition, các s kin có th xy ra), ký hiu bng mt gch đng, và các v
trí (ngha là các điu kin), ký hiu bng vòng tròn nh. Nhng cung có hng, ký
hiu bng các mi tên, ni các nt vi các v trí và ngc li, th hin các v trí đã
chun b các điu kin cho các bc chuyn xy ra. Các cung không bao gi ni gia

t đng riêng, trong đó có th phân chia h thng thành các b phn chc nng và các
đc tính dòng s liu liên quan đn mi b phn và xem xét đc tng tác gia các
b phn vi nhau.
Ví d v Statecharts cho trên hình 1.2 v ch đ ca đng h bm gi. Trong
ch đ bm gi ta mun đng h ch th thi gian theo phút, chính xác đn phn trm
giây, di dng: mm:ss:cc. Ch đ bm gi có th chy lp li (Lap) hoc ch bm gi
mt ln (Lap_stop).  th gm hai trng thái Stop (dng) và Run (chy). Trong Stop
có hai trng thái con là Reset (xóa ht) và Lap_stop (dng vòng lp). Trong trng thái
Run có hai trng thái con là Running và Lap, ngoài ra còn cha mt đ th trng thái
TIC thc hin vic đm gi chính xác đn phn trm giây (cent). Các trng thái đc
kích hot nh nút bm đt ch đ, tng ng vi các tín hiu logic chy (START) và
chy lp li (LAP). Các nút bm này nu bm tip s v ch đ trc đó. Ví d đang
trong trng thái Reset, bm nút START s chuyn sang Running. Nu đang trong
Running bm START ln na s v ch đ xóa ht Reset. Tín hiu START cng tác
đng tng t gia trng thái vòng lp (Lap) và xóa vòng lp (Lap_stop). Trong các
trng thái có th gn vi các hot đng (activities). Ví d trng thái Running có hot
đng trong quá trình trng thái này tích cc, ký hiu là:
during: /trong khi
disp_cent=cent; /ch th phn trm 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 bm gi.
Tng t nh Statecharts nhng phát trin thành ngôn ng mô t tiêu chun là
UML (Unified Modelling Language) [9] đã đc s dng rng rãi trong mô hình hóa
và thit k các h tng tác kích c ln, trong lp trình cho các ng dng nhúng và

- Xác đnh các vector, ma trn và các kiu d liu.
Hn na, Stateflow s tin hành mô phng mô hình đã đc xây dng đ
nghiên cu các đc tính cn quan tâm ca h thng. Kh nng rt mnh ca Stateflow
là t đng chuyn sang dng mã chng trình C dùng Stateflow
®
Coder™, tích hp
cùng phn mã C ca Simulink ra dng có th cài đt vào các b điu khin. iu này
rút ngn rt nhiu thi gian lao đng ca các k s trong quá trình thit k h thng
điu khin.
Ví d v đ th trng thái ca Stateflow cho trên hình 1.4. ây là mô hình mt
hp s t đng điu khin ô tô. Hp s s t đng chuyn s tùy theo tc đ ca xe và
đ m ca đng vào ga cho đng c.
- Mô hình có hai trng thái có th hot đng song song là: gear_state
(trng thái hp s) và selection_state (la chn s). Các trng thái song song, cùng
xy ra (parallel AND states) có vành bao bên ngoài bng đng nét đt. Trong mi
hai trng thái song song này có các trng thái con. Các trng thái con có vành ngoài
nét lin là nhng trng thái loi tr nhau, ngha là  mi thi đim ch có mt trong
chúng đc kích hot.
- Các trng thái ni vi nhau bng các cung ch s kin (UP, DOWN)
hoc các điu kin (speed > down_th: tc đ ln hn ngng thp; speed < down_th:
tc đ nh hn ngng thp; speed > up_th: tc đ ln hn ngng tc đ cao; speed
< up_th: tc đ nh hn ngng tc đ cao; …).
- Vi mi trng thái có th có các tác đng (action) gây nên các hot đng
cn thit khi h thng đang  trong mt trng thái nào đó. Các tác đng có th là loi
kích hot khi vào trng thái, entry; khi đang  trong trng thái, during, khi ra khi
trng thái, exit.
- Trong trng 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 ngng tc
đ thp, tc đ cao t v trí hp s gear và đ m ca đng đa ga vào bung đt
throttle.

đng. Các hành đng đc thc hin khi trng thái tích cc.

Hình Error! No text of specified style in document 5 Cú pháp ca GRAFCET.
Các bc chuyn (transitions): dùng đ kt ni các trng thái. Mi bc
chuyn có mt đ hp th nht đnh. Bc chuyn là đc phép nu tt các trng thái
phía trên nó đu tích cc. Khi đ hp th ca mt bc chuyn đc phép tr nên là
đ thì bc chuyn đc kích hot ngay lp tc. Khi bc chuyn kích hot các trng
thái trên nó tr nên th đng và các trng thái tip sau nó tr nên tích cc.
Hành đng (actions): gm hai loi, loi theo mc và loi theo xung. Loi theo
mc kéo dài mt khong thi gian hu hn theo mt bin logic nào đó và gi nguyên
trng thái tác đng chng nào trng thái gn vi nó còn tích cc. Hành đng theo mc
có th là có điu kin hoc không điu kin. Loi hành đng theo xung có nhim v
thay đi giá tr mt bin nào đó. Bin có th là logic nhng không nht thit nh vy.
Mt hành đng theo xung đc thc hin ngay khi trng thái ca nó tr nên tích cc.
Có th đa vào các bin ph thuc thi gian đ to nên các hành đng có tr hoc xy
ra trong khong thi gian nht đnh. Mt hành đng theo mc bao gi cng có th
chuyn thành mt hành đng theo xung.
 hp th (receptivities). Mi bc chuyn có mt đ hp th nht đnh. 
hp th có th là mt điu kin logic, mt s kin hay điu kin logic kt hp vi s
kin. Trên đ th s kin th hin bng mt ch cái (bin) bên cnh trái ca nó có mi
tên lên hoc xung, ví d
,x y  . Mi trên lên ch s kin xy ra  sn lên ca
xung, mi tên xung ch s kin gn vi sn xung.
Ngôn ng GRAFCET đc phát trin vi mc đích s dng cho các b PLC.
Ngôn ng đc dùng trc ht vi mc đích mô t h thng bng đ th đ có th
15

phân tích, đánh giá s hot đng mt cách trc giác. Vic ng dng thc t đc thc
hin bng cách chuyn đ th GRAFCET sang mt ngôn ng thông dng khác là đ
th dng bc thang (Ladder Diagrams – LD). LD là ngôn ng đn gin, tha hng t

đin, đin t, khí nén, thy lc, ), truyn thông đn phn mm và ngôn ng
lp trình. B tiêu chun này gm nhiu phn, mi phn xét đn mt khía cnh
nht đnh, và do đó to thành mt chun “con” bên trong b tiêu chun IEC
61131 và thng đc kí hiu bi s th t ca phn (ví d IEC 61131-1, IEC
61131-2, ). Trong đó tiêu chun IEC 61131-3, tc phn 3 ca b tiêu chun
16

IEC 61131, vi tên gi “Programming Languages”, qui đnh v các ngôn ng lp trình
cng nh cách thc lp trình điu khin cho tt c các thit b, các quá trình và các b
điu khin. Nhng qui đnh trong tiêu chun IEC 61131-3 đem li mt cách nhìn nhn
mi v lp trình cho các h thng điu khin, đm bo tính hiu qu cao và sc mnh.
Chun IEC 61131-3 nói riêng và b tiêu chun IEC 61131 nói chung đã vt ra
ngoài gii hn là mt b tiêu chun v PLC mà tr thành mt b tiêu chun cho các
thit b điu khin kh trình (Programmable Controller) nói chung. Hin nay, phn ln
các b điu khin trong thc t đu là các b điu khin kh trình. Bi vy, phm vi
áp dng ca b tiêu chun IEC 61131 tr nên rt rng ln. Mt đim cn chú ý na là
phn nhiu các qui đnh trong b tiêu chun IEC 61131  dng khuyn cáo, ngha là
nên đc tuân theo ch không bt buc. Bi vy mc dù nhiu sn phm ca các hãng
khác nhau đc nói là “tuân theo chun IEC 61131” nhng vn có th không thc
hin đy đ và hoàn toàn đúng nh nhng qui đnh đ ra trong chun.
Di đây s ch ra nhng đc đim quan trng nht mà chun IEC 61131-3
đem li cho các ngôn ng lp trình điu khin.
1.3.2 Không ph thuc vào mt phn cng c th nào.
iu này cn thit đ chng trình có th mang đi đc (Portable). Do tính có
th mang đi đc có th to nên các th vin gm các chng trình nh, đc xây
dng cho các ng dng ph bin, có th ghép ni vào các ng dng ln hn. iu này
cng có ngha là các đon mã có th s dng li (reuseable). Rõ ràng là thi gian và
công sc ca nhng ngi phát trin ng dng s đc gim đáng k.
1.3.3 Dùng nhiu ngôn ng trong cùng mt chng trình điu khin
ây là mt trong nhng u đim ni bt nht ca chun. Vic s dng kt hp

1.3.4 Các công c đt cu hình
 các phng pháp cu trúc hóa các chng trình PLC truyn thng,
các ng dng đc gói gn trong các khi vi các đc tính runtime (khi đang
chy) không rõ ràng, vic cu hình đn thun là chn PLC và phân cng vào
ra, sau đó lp trình da theo phân công ban đu này, s là rt khó khn khi
chng trình ca chúng ta dài hàng trm trang. IEC 61131-3 cung cp các
phng tin chun hóa và tinh vi đ tháo g khó khn này. Vì chng trình là
đc lp vi phn cng, nên vic cu hình cn phi xác đnh đc tính runtime
cho chng trình (PROGRAMs) và khi chc nng (FBs), giao tip gia các
cu hình và gán các bin cho đa ch phn cng PLC c th. Gi đây chúng ta
có th cu hình bng chng trình nên thoát khi gò bó lúc lp trình và cng
không phi nh nhiu na. Qun lý d án có th chia chng trình thành các
module cho nhiu ngi làm sau đó tng hp li mt cách d dàng.
1.3.5 Lp tài liu d án mt cách tin li và nhanh chóng
Chun cng cho phép chng trình cng nh thit b to điu kin đ
giám sát, chn đoán h thng và thu thp d liu phc v cho vic tng kt và
lp k hoch chính xác, d dàng.
1.3.6 An toàn và tin li hn khi dùng các bin và kiu d liu
Vi PLC và phng pháp lp trình thông thng thì vic truy cp d
18

liu đc thc hin bi các bin toàn cc hay là đa ch tuyt đi (phn cng), thông
thng là đa ch vào ra, c, khi d liu chng hn nh I0.0, I0.1, Q0.0,… Ngi lp
trình phi t phân b v trí ca chúng và phi ht sc cn thn nu không s xy ra
trng hp các phn ca chng trình nh hng ln nhau (ví d ghi đè d liu).
Khi lp trình theo chun IEC 61131-3 thì không dùng đa ch phn cng trc
tip mà thay vào đó là vic s dng các bin đc đt tên rõ ràng. Ngi lp trình
cng không phi xác đnh chúng cn đc lu gi  đâu mà chng trình t đng sp
xp. Mi bin có mt kiu d liu c th nh Bool, Byte, WORD, DWORD,
LWORD, Integer (SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT),

đa vào các khi (ví d OB) và không có đc tính lúc vn hành rõ ràng.
IEC 61131-3 áp dng nhng tin b ca công ngh k thut mi cho phép vic mô
hình mt d án PLC gm nhng ng dng có nhiu vi x lý. Mô hình phn mm theo
chun giúp ngi dùng cu trúc hóa các ng dng hng ti thc tin bng cách xây
dng các khi t chc chng trình POU đ to điu kin d dàng cho vic bo trì,
thu thp d liu và tng kh nng chn đoán ca PLC. Mt phn mm đng nht là rt
cn thit cho vic tng tính linh hot ca các ng dng. Các tài nguyên ca PLC (các
vi x lý hay khi CPU) đc gán đc tính vn hành khi cu hình và điu đó làm cho
chng trình ca ta đc lp vi phn cng.
1.3.9 T chc PLCopen
IEC 61131 ra đi mang li nhiu li ich cho c ngi s dng cui và c nhà
sn xut thit b logic kh trình. Hin nay hu ht các hãng đu cam kt sn xut sn
phm tuân theo chun này, có th là mt phn hay toàn phn. Cng phi nói rng
chun không ch áp dng cho PLC, mà cho hu ht các thit b điu khin kh trình
nh PAC, PLC, các b điu khin quá trình, Nhiu t chc đang hot đng nhm
ph bin rng rãi chun, trong đó có vic ra đi ca t chc PLCopen, t chc khuyn
khích các thành viên theo chun. PLCopen đã có rt nhiu thành viên, mà đc bit là
các công ty tp đoàn ln nh Siemens, ABB, Allen Bradley, OMRON, Mitsubishi
Electric, … Hin t chc không ch hot đng  châu Âu mà c c  M, Á.
Công ty Smart software solution, cng là thành viên ca PLCopen, phát trin
phn mm CoDeSys và thành lp t chc automation alliance vi hn 100 thành viên
cam kt s dng phn mm ca hãng. CoDeSys không ch đc chp nhn  châu Âu
mà đang dn phát trin trên toàn th gii, là các công ty  c, Thy s, Italia, Áo,
Pháp, Anh, B, Phn Lan, Thy in, Nga, M và Trung Quc vi nhiu loi sn
phm nh PLC, CNC/PLC combination, B truyn đng thông minh, DCS
(decentralized control system), Panel PLC, Lõi PLC, các module vào ra thông minh,
Phn mm CoDeSys lp trình cho thit b điu khin kh trình hoàn toàn tuân theo
chun IEC 61131-3. Vi mt phn mm lp trình chung theo chun và các hãng sn
xut thit b phn cng cam kt sn phm hoàn toàn h tr thì vic lp trình s thng
nht và đn gin hn cho ngi s dng.

Ký hiu: nghch đo ca mt bin logic x ký hiu là x.
Phép nghch đo đc đnh ngha thông qua bng giá tr 2.1 nh sau
Bng 2.1. Bng giá tr ca phép nghch đo
x
f(x) =
x


0 1
1 0
 Phép cng logic (OR)
Phép cng logic đc thc hin vi 2 bin logic x và y ký hiu là x+y
Phép cng logic đc đnh ngha thông qua bng giá tr 2.2 nh sau:
Bng 2.2. Bng giá tr ca phép cng logic
x Y f(x,y) = x+y
0 0 0
0 1 1
1 0 1
1 1 1
Kt qu ca phép cng logic hai bin logic ch nhn giá tr 0 khi và ch khi c hai bin
logic có giá tr 0
22

 Phép nhân logic (AND)
Phép nhân logic đc thc hin vi 2 bin logic x và y ký hiu là x.y hoc x*y
hoc đn gin là xy
Phép nhân logic đc đnh ngha thông qua bng giá tr 2.3 nh sau:
Bng 2.3. Bng giá tr ca phép nhân logic
x y f(x,y) = x+y
0 0 0

Nu trong mt h thc ta thay phép cng bng phép nhân, phép nhân bng phép
cng, thay 0 bng 1 và 1 bng 0 thì s thu đc mt h thc mi gi là h thc đi
ngu. Nu h thc ban đu đúng thì h thc đi ngu ca nó cng đúng.

23

b. Mt s h thc logic c bn
 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

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ú:
Nhng ch đánh du “x” là giá tr hàm không xác đnh (có th là 0 hoc 1), có
ngha là giá tr hàm ng vi các t hp giá tr bin đu vào không nh hng đn vai
trò ca hàm logic này.
u đim ca cách biu din này là d nhìn, ít nhm ln vì tt c các kh nng
có th ca hàm s đã đc lit kê ra ht. Nhc đim ca phng pháp này là cng
knh, đc bit là khi bin s ln.
b. Biu din bng biu thc đi s
Hàm logic có th đc biu din bng biu thc đi s s dng các phép toán
cng và nhân logic. Bng cách biu din hàm logic bng biu thc đi s, có th dùng
các thit b logic đ thc hin hàm logic mt cách dàng.
24

Mt hàm logic n bin bt k bao gi cng có th biu din thành tng chun
đy đ và tích chun đy đ.
 Cách vit hàm di dng tng chun đy đ
 Ch quan tâm đn t hp các giá tr ca bin làm cho hàm có giá tr 1. S
ln hàm bng 1 chính bng s tích ca các t hp bin này.
 Trong mi tích ng vi mt t hp bin làm cho hàm có giá tr bng 1,
các bin có giá tr 1 thì gi nguyên, các bin có giá tr 0 thì đc ly giá
tr đo
 Hàm tng chun đy đ s là tng các tích đó
Ví d: Cho hàm logic 2 bin nh bng 2.5
Bng 2.5: Hàm logic 2 bin s
x1 x2 y=f(x1,x2)

 Ch quan tâm đn t hp các giá tr ca bin làm cho hàm có giá tr 0. S
ln hàm bng 0 chính bng s tng ca các t hp bin này.
 Trong mi tng ng vi mt t hp bin làm cho hàm có giá tr bng 0,
các bin có giá tr 0 thì gi nguyên, các bin có giá tr 1 thì đc ly giá
tr đo
 Hàm tích chun đy đ s là tích các tng đó
Ví d: Cho hàm logic 2 bin nh bng 2.5
Ta nhn thy có 2 t hp giá tr bin làm cho hàm có giá tr 0 là (x1,x2) = (0,1)
và (x1,x2) = (1,0). Vi t hp (x1,x2) = (0,1), vì bin x1 nhn giá tr 0 nên đc gi
nguyên, bin x2 nhn giá tr 1 nên phi ly giá tr đo, tng các bin tng ng s là
x  x



. Vi t hp (x1,x2)=(1,0), vì bin x1 nhn giá tr 1 nên phi ly giá tr đo,
bin x2 nhn giá tr 0 nên đc gi nguyên, tng các bin tng ng s là x



+x2. Do
đó hàm logic có th đc biu din di dng tích chun đy đ nh sau
y=f(x1, x2)= (x  x



)(x



+x2)

0 1 0
1 0 1

Bng Các nô biu din hàm logic trong bng 2.4
x2x3
x1
00 01 11 10
0 1 0 “x” “x”
1 0 1 1 “x”
Chú ý: vi các ô ng vi các t hp bin làm cho hàm có giá tr không xác đnh thì có
th đin “x” hoc b trng
Bng Các nô cho hàm 5 bin


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status