Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình để phục vụ các đối
tượng sử dụng khác nhau. Tuy nhiên hầu hết đề xoay quanh 3 ngôn ngữ cơ bản. Đó là:
? Ngôn ngữ “ kiểu liệt kê”, kí hiệu là STL (Statement List). Đây là dạng của ngôn ngữ
Assembler máy tính.
? Ngôn ngữ “hình thang”, kí hiệu là LAD (Ladder Logic). Đây là dạng ngôn ngữ theo
kiểu thiết kế mạch điều khiển logic rờ le.
? Ngôn ngữ “hình khối”, kí hiệu là FBD (Function Block Diagram). Đây là dạng ngôn
ngữ theo kiểu thiết kế mạch điều khiển logic số.
63 trang |
Chia sẻ: longpd | Lượt xem: 2757 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 3 - Ngôn ngữ lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
PHAÀN I
ÑIEÀU KHIEÅN LAÄP TRÌNH (PLC)
CHÖÔN
G 3
NGOÂN NGÖÕ LAÄP TRÌNH Chuû ñeà:
Bieán vaø vuøng nhôù
Caùc loaïi leänh logic treân bit
Caùc leänh xöû lyù döõ lieäu: dòch chuyeån,so saùnh, toaùn hoïc…
Caùc boä chöùc naêng ñònh thôøi vaø ñeám
Caùc leänh ñieàu khieån chöông trình
Muïc ñích:
Söû duïng vaø gaùn bieán cho caùc ñòa chæ.
Vaän duïng caùc leänh ñeå vieát chöông trình öùng duïng.
Hieåu roõ moái quan heä chöông trình vôùi keát noái thieát bò
36
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.1. GIÔÙI THIEÄU
Caùc loaïi PLC noùi chung thöôøng coù nhieàu ngoân ngöõ laäp trình ñeå phuïc vuï caùc ñoái
töôïng söû duïng khaùc nhau. Tuy nhieân haàu heát ñeà xoay quanh 3 ngoân ngöõ cô baûn. Ñoù laø:
Ngoân ngöõ “ kieåu lieät keâ”, kí hieäu laø STL (Statement List). Ñaây laø daïng cuûa ngoân ngöõ
Assembler maùy tính.
Ngoân ngöõ “hình thang”, kí hieäu laø LAD (Ladder Logic). Ñaây laø daïng ngoân ngöõ theo
kieåu thieát keá maïch ñieàu khieån logic rôø le.
Ngoân ngöõ “hình khoái”, kí hieäu laø FBD (Function Block Diagram). Ñaây laø daïng ngoân
ngöõ theo kieåu thieát keá maïch ñieàu khieån logic soá.
Function Block Diagram
Statement List
Ladder Diagram
Hình 3.1-Ba kieåu ngoân ngöõ laäp trình M
Moät chöông trình coù theå vieát treân LAD hoaëc FBD coù theå chuyeån ñöôïc sang daïng STL,
nhöng ngöôïc thì coù theå khoâng. Trong STL coù nhöõng leänh maø trong LAD hoaëc FBD khoâng
dieãn taû ñöôïc. Tuy vaäy veà maët laäp trình, ngoân ngöõ LAD raát ñôn giaûn deã daøng cho laäp trình.
Chính vì lyù do naøy, taøi lieäu quan taâm ñeán ngoân ngöõ STL vaø laáy noù ñeå laäp trình.
Chuù yù: Hieän nay treân theá giôùi coù raát nhieàu loaïi PLC do nhieàu haõng cuûa nhieàu nöôùc saûn xuaát
khaùc nhau vaø ña daïng. Nhöng baûn chaát, phöông phaùp laäp trình cuûa ngoân ngöõ khoâng khaùc
nhau maø chæ khaùc nhau ôû choã laø caùc kí hieäu ñòa chæ, teân goïi cuûa caùc I/O, vuøng nhôù maø thoâi.
37
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.2. CAÁU TRUÙC LEÄNH VAØ TRAÏNG THAÙI KEÁT QUAÛ
3.2.1. Kieåu döõ lieäu vaø phaân chia boä nhôù
3.2.1.1. Kieåu döõ lieäu
Caùc kieåu döõ lieäu ñöôïc söû duïng trong S7-300:
1) BOOL: vôùi dung löôïng moät bit vaø coù giaù trò 1 hoaëc 0 ( ñuùng hoaëc sai). Ñaây laø kieåu
döõ lieäu cho bieán hai trò.
2) Byte: goàm 8 bit, thöôøng ñöôïc bieåu dieãn moät soá nguyeân döông töø 0 ñeán 255 hoaëc laø
maõ ASCII cuûa moät kyù töï.
3) Word: goàm 2 byte, bieåu dieãn soá nguyeân töø 0 ñeán 65535.
4) Int: cuõng coù dung löôïng 2 byte, duøng ñeå bieåu dieãn moät soá nguyeân töø –32768 ñeán
32767.
5) Dint: goàm 4 byte, duøng ñeå bieåu dieãn soá nguyeân töø –2147483648 ñeán 2147483647.
6) Real: goàm 4 byte, duøng ñeå bieåu dieãn soá thöïc coù daáu phaåy ñoäng.
7) S5t: khoaûng thôøi gian, ñöôïc tính baèng giôø, phuùt, giaây, miligiaây.
8) Tod: bieåu dieãn giaù trò thôøi gian tính theo giôø/phuùt/giaây.
9) Date: bieåu dieãn giaù trò thôøi gian tính theo naêm/thaùng/ngaøy.
10) Char: bieåu dieãn moät kyù töï hay nhieàu kyù töï (nhieàu nhaát laø 4 kyù töï).
3.2.1.2. Phaân chia boä nhôù
Boä nhôù S7-300 chia laøm ba vuøng chính:
1) Vuøng chöùa chöông trình öùng duïng. Vuøng nhôù chia thaønh 3 mieàn:
a) OB (Organization Block): Mieàn chöùa chöông trình toå chöùc.
b) FC (Function): Mieàn chöùa chöông trình con, ñöôïc toå chöùc thaønh haøm vaø coù bieán
hình thöùc ñeå trao ñoåi döõ lieäu vôùi chöông trình goïi noù.
c) FB (Function Block): Mieàn chöùa chöông trình con, ñöôïc toå chöùc thaønh haøm vaø coù
khaû naêng trao ñoåi döõ lieäu vôùi baát kyø moät khoái chöông trình naøo khaùc. Caùc döõ lieäu
naøy phaûi ñöôïc xaây döïng thaønh moät khoái döõ lieäu rieâng (goïi laø DB – Data Block).
2) Vuøng chöùa tham soá cuûa heä ñieàu haønh vaø chöông trình öùng duïng, ñöôïc chia thaønh 7
mieàn khaùc nhau, bao goàm:
a) I (Process image input): Mieàn boä ñeäm caùc döõ lieäu coång vaøo soá. Tröôùc khi baét ñaàu thöïc
hieän chöông trình, PLC seõ ñoïc taát caû caùc giaù trò logic cuûa taát caû caùc coång vaøo vaø löu tröõ
ôû vuøng nhôù I. Chöông trình öùng duïng khoâng ñoïc tröïc tieáp traïng thaùi logic cuûa coång vaøo
soá maø chæ laáy döõ lieäu cuûa coång vaøo töø boä ñeäm I.
b) Q (Process image output): Mieàn boä ñeäm caùc döõ lieäu coång ra soá. Keát thuùc giai ñoaïn thöïc
hieän chöông trình, PLC seõ chuyeån giaù trò logic cuûa boä ñeäm Q ñeán caùc coång ra soá.
Chöông trình khoâng tröïc tieáp gaùn giaù trò tôùi coång ra maø chæ chuyeån chuùng vaøo boä ñeäm
Q.
c) M: Mieàn caùc bieán côø. Chöông trình söû duïng caùc vuøng nhôù naøy ñeå löu tröõ caùc tham soá
caàn thieát vaø coù theå truy nhaäp theo kieåu bit (M), byte (MB), töø ñôn (MW)hay töø keùp
(MD).
d) T: Mieàn nhôù phuïc vuï boä thôøi gian (timer) bao goàm löu tröõ giaù trò thôøi gian ñaët tröôùc (PV
– preset value), giaù trò ñeám thôøi gian töùc thôøi (CV – Current value) cuõng nhö giaù trò
logic ôû ñaàu ra cuûa timer.
38
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
e) C: Mieàn nhôù phuïc vuï boä ñeám (counter) bao goàm löu tröõ giaù trò thôøi gian ñaët tröôùc (PV –
preset value), giaù trò ñeám töùc thôøi (CV – Current value) cuõng nhö giaù trò logic ôû ñaàu ra
cuûa boä ñeám.
f) PI: Mieàn ñòa chæ coång vaøo cuûa caùc module töông töï (I/O External input). Caùc giaù trò
töông töï taïi coång vaøo cuûa module töông töï seõ ñöôïc module ñoïc vaø chuyeån töï ñoäng theo
nhöõng ñòa chæ. Chöông trình öùng duïng coù theå truy nhaäp mieàn nhôù PI theo caùc kieåu bieán
byte (PIB), töø ñôn (PIW) hay töø keùp (PID).
g) PQ: Mieàn ñòa chæ coång ra cuûa caùc module töông töï (I/O External output). Caùc giaù trò
theo nhöõng ñòa chæ naøy seõ ñöôïc module töông töï chuyeån töï ñoäng tôùi caùc coång ra töông
töï. Chöông trình öùng duïng coù theå truy nhaäp mieàn nhôù PQ theo caùc kieåu bieán byte
(PQB), töø ñôn (PQW) hay töø keùp (PQD).
3) Vuøng chöùa caùc khoái döõ lieäu
a) DB (Data Block): mieàn chöùa döõ lieäu ñöôïc toå chöùc thaønh hình khoái. Kích thöôùc vaø soá
löôïng khoái cuõng do ngöôøi duøng quy ñònh tuøy theo chöông trình. Chöông trình öùng duïng
coù theå truy naäp tôùi mieàn nhôù naøy theo bit (DBX), byte (DBB), töø ñôn (DBW) haëoc töø
keùp (DBD).
b) L (Local data bolck): Mieàn döõ lieäu cuïc boä, ñöôïc caùc khoái chöông trình OB, FC, FB toå
chöùc vaø söû duïng cho caùc bieán nhaùp töùc thôøi vaø trao ñoåi döõ lieäu cuûa bieán hình thöùc vôùi
nhöõng khoái chöông trình ñaõ goïi noù. Noäi dung cuûa moät soá döõ lieäu trong mieàn nhôù naøy seõ
bò xoùa khi keát thuùc chöông trình töông öùng trong OB, FC, FB. Mieàn naøy coù theå truy
nhaäp ñöôïc töø chöông trình theo bit (L), byte (LB), töø (LW) hoaëc töø keùp (LD).
3.2.2. Caáu truùc leänh vaø traïng thaùi keát quaû
3.2.2.1. Toaùn haïng laø döõ lieäu
a) Döõ lieäu logic True vaø False coù ñoä daøi 1 bit. Ví duï
Bit_1 = True //giaù trò logic 1 ñöôïc gaùn cho bit_1
b) Soá nhò phaân. Ví duï
L 2#00101101 //naïp soá nhò phaân vaøo thanh ghi ACCU1
c) Soá Hexadecimal x coù ñoä daøi 1 byte(B#16#x), 1 töø (W#16#x) hoaëc 1 töø keùp (DW#16#x).
Ví duï
L B#16#2E //naïp soá 2E vaøo byte thaáp thanh ghi ACCU1
L W#16#4D2 //naïp soá 4D2 vaøo 2 byte thaáp thanh ghi ACCU1
L DW#16#D1B2E //naïp soá D1B2E vaøo thanh ghi ACCU1
d) Soá nguyeân x vôùi ñoä daøi 2byte cho bieán kieåu INT. Ví duï
L 960
e) Soá nguyeân x vôùi ñoä daøi 4byte daïng L#x cho bieán kieåu DINT. Ví duï
L L#600
f) Soá thöïc x cho kieån bieán REAL. Ví duï
L 450.0
g) Döõ lieäu thôøi gian cho bieán kieåu S5T daïng giôø_phuùt_giaây_miligiaây. Ví duï
L S5T#3h_5m_1s_10ms
h) Döõ lieäu thôøi gian cho bieán kieåu TOD daïng giôø:phuùt:giaây. Ví duï
L TOD#6:30:15
39
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
i) DATE: bieåu dieãn giaù trò thôøi gian tính theo naêm/thaùng/ngaøy. Ví duï
L DATE#2000-12-9
j) C: bieåu dieãn giaù trò soá ñeám ñaët tröôùc cho boä ñeám. Ví duï
L C#50
k) P: döõ lieäu bieåu dieãn ñòa chæ cuûa moät bit oâ nhôù. Ví duï
L P#Q0.3
l) Döõ lieäu kí töï. Ví duï
L ‘BCDE’
3.2.2.2. Toaùn haïng laø ñòa chæ
Ñòa chæ oâ nhôù ñöôïc caáu taïo thaønh hai phaàn: phaàn chöõ vaø phaàn soá. Ví duï
M0.9 PQW272
Phaàn chöõ Phaàn soá Phaàn chöõ Phaàn soá
Phaàn chöõ chæ vò trí vaø kích thöôùc cuûa oâ nhôù (tham khaûo 3.2.1)
Phaàn soá chæ ñòa chæ cuûa byte hoaëc bit trong mieàn nhôù ñaõ xaùc ñònh.
3.2.2.3. Thanh ghi traïng thaùi
Khi thöïc hieän leänh, CPU seõ ghi nhaän laïi traïng thaùi cuûa pheùp tính trung gian cuõng
nhö cuûa keát quaû vaøo moät thanh ghi 16 bit vaø ñöôïc goïi laø thanh ghi traïng thaùi (status word).
Tuy nhieân noù chæ söû duïng vôùi 9 bit vaø caáu truùc ñöôïc moâ taû nhö sau:
8 7 6 5 4 3 2 1 0
BR CC1 CC0 OV OS OR STA RLO FC
- FC (First check ): Khi phaûi thöïc hieän moät daõy caùc leänh logic lieân tieáp nhau goàm caùc
pheùp tính vaø, hoaëc vaø nghòch ñaûo, bit FC coù giaù trò baèng 1. Ngöôïc laïi, FC=0 khi daõy
leänh logic tieáp ñieåm vöøa hoaøn taát.
Ví duï:
A I0.2 //FC=0
O I0.4 //FC=0
= Q1.0 //FC=0
- RLO (Result of Logic Operation): Keát quaû töùc thôøi cuûa pheùp toaùn logic vöøa ñöôïc thöïc
hieän. Ví duï:
A I0.1
a) Neáu tröôùc khi thöïc hieän bit FC=0 thì coù taùc duïng chuyeån noäi dung cuûa ngoõ vaøo soá I0.1
vaøo bit traïng thaùi RLO.
b) Neáu tröôùc khi thöïc hieän bit FC=1 thì coù taùc duïng thöïc hieän pheùp toaùn vaø giöõa RLO vaø
giaù trò logic ngoõ vaøo I0.1. Keát quaû cuûa pheùp tính ñöôïc ghi laïi vaøo bit traïng thaùi RLO.
- STA (Status bit): Bit traïng thaùi naøy luoân coù giaù trò logic cuûa tieáp ñieåm ñöôïc chæ ñònh
trong leänh.
40
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
Ví duï:
A I1.0
AN I1.0
Caû hai leänh ñeàu gaùn cho STA cuøng moät giaù trò laø noäi dung cuûa ngoõ vaøo soá I1.0.
- OR: Ghi laïi giaù trò logic cuûa pheùp toaùn vaø cuoái cuøng ñöôïc thöïc hieän ñeå giuùp ñôõ cho vieäc
thöïc hieän pheùp toaùn hoaëc sau ñoù. Ñieàu naøy laø caàn thieát vì cuøng moät bieåu thöùc haøm hai
trò thì bao giôø pheùp toaùn vaø cuõng thöïc hieän tröôùc pheùp toaùn hoaëc.
- OS (Stored overflow bit): Ghi laïi giaù trò bit bò traøn ra ngoaøi maûng oâ nhôù.
- OV (Overflow bit): Bít baùo keát quaû bò traøn ra ngoaøi maûng oâ nhôù.
- CC0 vaø CC1 (Condition code): Hai bit baùo traïng thaùi keát quaû pheùp tính vôùi soá nguyeân,
soá thöïc, pheùp dòch chuyeån hoaëc pheùp tính logic trong ACCU.
- BR (Binary result bit): Bit traïng thaùi cho pheùp lieân keát hai loaïi ngoân ngöõ laäp trình STL
vaø LAD. Chaúng haïn cho pheùp ngöôøi söû duïng coù theå vieát moät khoái chöông trình FB hoaëc
FC treân STL nhöng goïi vaø söû duïng trong chöông trình vieát treân LAD. Ñeå taïo ra moái
lieân keát ñoù, ta phaûi thöïc hieän vieäc keát thuùc chöông trình trong FB, FC baèng leänh ghi:
a) 1 vaøo BR, neáu chöông trình chaïy khoâng coù loãi.
b) 0 vaøo BR, neáu chöông trình chaïy coù loãi.
Chuù yù: Moät chöông trình coù theå coù moät hay nhieàu network tuøy thuoäc vaøo tính chaát, möùc ñoä
traïng thaùi hoaït ñoäng cuûa heä thoáng. Nhöng moãi Network chæ chöùa moät ñoaïn chöông trình
thöïc hieän moät nhieäm vuï cuï theå.
Network 1
Ñoaïn chöông trình 1
Network 2
Ñoaïn chöông trình 2
Network 3
Ñoaïn chöông trình 3
3.3. CAÙC LEÄNH LOGIC
Leänh logic laøm vieäc treân heä thoáng soá nhò phaân vôùi hai bit soá, ñoù laø : bit 1 vaø bit 0
Trong ñieàu khieån ngöôøi ta thöôøng quy ñònh 1 laø traïng thaùi hoaït ñoäng hay coù naêng löôïng, 0
laø traïng thaùi khoâng hoaït ñoäng hay khoâng naêng löôïng.
Caùc leänh Logic treân bit theå hieän caùc traïng thaùi tín hieäu 1 vaø 0 vaø lieân keát chuùng
thaønh pheùp toaùn logic. Keát quaû cuûa keát hôïp naøy laø 1 hoaëc 0 vaø ñöôïc goïi laø RLO.
Leänh toaùn logic bao goàm caùc leänh cô baûn sau:
• A Vaø (And)
• AN Phuû ñònh vaø (And Not)
41
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
• O Hoaëc (Or)
• ON Phuû ñònh hoaëc (Or Not)
• X Loaïi tröø (Exclusive)
• XN Phuû ñònh loaïi tröø (Exclusive Not)
• And tröôùc Or
Chuùng ta coù theå söû duïng caùc leänh sau ñeå thöïc hieän caùc bieåu thöùc loàng vaøo nhau:
• A( Vaø vôùi loàng môû
• AN( Phuû ñònh vaø vôùi loàng môû
• O( Hoaëc vôùi loàng môû
• ON( Phuû ñònh hoaëc vôùi loàn
• X( Loaïi tröø vôùi loàng môû
• XN( Phuû ñònh loaïi tröø vôùi
• ) Ñoùng loàng keát thuùc ñ
Chuùng ta coù theå keát thuùc chuoãi leänh bieåu th
• = Pheùp gaùn (Assign)
• R Xoaù nhôù (Reset)
• S Nhôù (Set)
Chuùng ta coù theå söû duïng moät trong nhöõng l
(RLO):
• NOT Phuû ñònh RLO
• SET Nhô RLO (=1)
• CLR Xoùa RLO (=0)
• SAVE Löu tröõ RLO ôû thanh
Hay laø söû duïng moät leänh sau ñeå phaùt hieän söôøn
• FN Phaùt hieän caïnh xuoáng
• FP Phaùt hieän caïnh leân (E
3.3.1. Leänh gaùn
Cuù phaùp =
Ñòa chæ Loaïi d
Bit Bo
Ví duï:
Chöông trình STL
g môû
loàng môû
oaïn leänh.
öùc logic baèng caùc leänh:
eänh sau ñeå thay ñoåi keát quaû cuûa pheùp toaùn logic
ghi BR
leân vaø xuoáng cuûa tín hieäu:
(Edge Negative)
dge Positive)
Toaùn haïng
öõ lieäu Vuøng bieán nhôù
ol I, Q, M, L, D
42
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.3.2. Leänh thöïc hieän pheùp tính vaø
Cuù phaùp A
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
A kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 1 hay khoâng, vaø AND keát
quaû kieåm tra vôùi RLO.
Ví duï:
Q0.2 möùc tín hieäu 0
I1.1 mö
I1.0 mö
Nguoàn ñieän
A I1.1
= Q0.2
A I1.0
Rôø le logicChöônh trình STL
Cuoän daây
3.3.3. Leänh thöïc hieän pheùp tính vaø vôùi giaù trò nghòch ñaûo
Cuù phaùp AN
AN kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 0 hay khoâng, vaø AND keát
quaû kieåm tra vôùi RLO.
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
I1.1 mö
Q0.2 m
I1.0 mö
Nguoàn ñieän
A I1.1
= Q0.2
A I1.0
Rôø le logicChöônh trình STL
Ví duï:
NO tieáp ñieåm
NC tieáp ñieåm ùc tín hieäu 1
ùc tín hieäu 0ùc tín hieäu 0
ùc tín hieäu 0
NO tieáp ñieåm
NO tieáp ñieåm Cuoän daây öùc tín hieäu 0
43
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.3.4. Leänh thöïc hieän pheùp tính hoaëc
Cuù phaùp O
O kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 1 hay khoâng, vaø OR keát quaû
kieåm tra vôùi RLO vaø ghi laïi keát quaû vaøo RLO.
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
O I1.1
= Q0.2
O I1.0
Rôø le logicChöônh trình STL
Cuoän daây
Nguoàn ñieän
I1.0 mö
Q0.2 möùc tín hieäu 0
Ví duï:
3.3.5. Leänh thöïc hieän pheùp tính hoaëc vôùi giaù trò nghòch ñaûo
Cuù phaùp ON
ON kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 0 hay khoâng, vaø OR keát
quaû kieåm tra vôùi RLO vaø ghi laïi keát quaû vaøo RLO.
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
Nguoàn ñieän
I1.0 m
I1.1 m
Q0.2 m
ON I1.1
= Q0.2
O I1.0
Rôø le logicChöônh trình STL
Ví duï 5:
NC tieáp ñieåm
öùc tín hieäu 0
öùc tín hieäu1
NO tieáp ñieåm NO tieáp ñieåm
ùc tín hieäu 0 I1.1 möùc 0 Cuoän daây öùc tín hieäu 1
44
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.3.6. Leänh thöïc hieän pheùp tính exclusive or
Cuù phaùp X
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
X kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 1 hay khoâng, vaø XOR keát quaû kieåm
tra vôùi RLO vaø ghi laïi keát quaû vaøo RLO
Ví duï:
Q0.2 cuoän daây
Tieáp ñieåm I1.1
Tieáp ñieåm I1.0
Nguoàn ñieän
X I0.1
= Q1.2
X I0.0
Rôø le logicChöônh trình STL
3.3.6. Leänh thöïc hieän pheùp tính exclusive or not
Cuù phaùp XN
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D, T, C
X kieåm tra khoâng bieát traïng thaùi cuûa bit ñòa chæ (toaùn haïng) laø 0 hay khoâng, vaø XOR keát quaû kieåm
tra vôùi RLO vaø ghi laïi keát quaû vaøo RLO
Ví du:
Q0.2 c
Tieáp ñ
Tieáp ñ
Nguoàn ñieän
XN I0.1
= Q1.2
X I0.0
Rôø le logicChöônh trình STL
ieåm I1.1
ieåm I1.0 uoän daây
45
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.3.7. Leänh thöïc hieän pheùp tính vaø vôùi giaù trò moät bieåu thöùc
Cuù phaùp A(
Chuù yù: leänh khoâng coù Toaùn haïng
A( thöïc hieän pheùp tính vaø giöõa RLO vôùi bieåu thöùc trong daáu ngoaëc sau noùvaø ghi laïi keát quaû vaøo
RLO.
Ví duï:
Q1.2 cuoän daây
I0.4
M0.0 M0.1
M1.1
M1.4A M1.4
A(
O M1.1
)
O I0.4
A(
Nguoàn ñieän
= Q1.2
O I0.0
O M0.1
)
Rôø le logicChöônh trình STL
3.3.8. Leänh thöïc hieän pheùp tính hoaëc vôùi giaù trò nghòch ñaûo moät bieåu thöùc
Cuù phaùp O(
Chuù yù: leänh khoâng coù Toaùn haïng
O( thöïc hieän pheùp tính hoaëc giöõa RLO vôùi giaù trò logic cuûa bieåu thöùc trong daáu ngoaëc sau noùvaø ghi
laïi keát quaû vaøo RLO.
Ví duï:
Q1.2 cuoän daây
I0.4
I0.0
M1.1
M1.4A M1.4
O(
AN M1.1
)
A I0.4
Nguoàn ñieän
= Q1.2
A I0.0
Rôø le logicChöônh trình STL
46
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
Ví duï: Vieát chöông trình khôûi ñoäng ñoäng khoâng ñoàng boä 3 phase moâ taû hình 3.2. Nhaán nuùt Start PB
ñoäng cô chaïy, nhaán nuùt Stop PB thì ñoäng cô döøng.
• Baûng gaùn nhieäm vuï I/O
• Chöông trình
Network1:
A(
O “Start PB”
O “Coil MC”
)
A “Stop PB”
= “C
Ví duï: Vieát chöô xaùc
ñònh tröôùc ñöôïc m aïn
haønh trình SS1. K aåy
phoâi theùp dòch c hôøi
dao caét ñi xuoáng ñeå caét phoâi theùp vaø gaëp SS2 thì caét xong vaø dao seõ trôû veà vò trí ban ñaàu
(treân cuøng) keát thuùc quaù trình caét moät thanh theùp.
• Baûng gaùn nhieäm vuï I/O
• Chöông trình
Network1:
A "Start PB"
AN "Motor Brake"
S "Friction Wheel Motor"
Network2:
N
Input (ngoû vaøo) Output (ngoû ra)
Teân goïi Ñòa chæ Teân goïi Ñòa chæ
Start PB I0.0 Coil MC Q0.0
Stop PB I0.1
I0.0
I0.1
Hình 3.2 – Maïch ñieän ñoäng cô
Input (ngoû vaøo) Output (ngoû ra)
Teân goïi Ñòa chæ Teân goïi Ñòa chæ
Start PB I0.0 Friction Wheel Motor Q0.0
1Y
P
Motor Brake
Cutting Knife
Cutting Finish
Sensor
Q0.2 Cutting Knife I0.2 Cutting Finish Sensor
Motor Brake Q0.1 I0.1 Dimension sensor
n
Q0.0
A "Dimension sensor"
R "Friction Wheel Motor"
S "Cutting Knife"
S "Motor Brake"
etwork3: A "Cutting
R "Cutting
R "Motor Boil MC”
ng trình cho PLC ñieàu khieån coâng ñoaïn caét saûn phaåm theo kích thöôùc ñöôïc
oâ taû hình 3.3. Chieàu daøi cuûa saûn phaåm laø khoaûng caùch giöõa dao caét vaø giôùi h
hi nhaán nuùt Start PB thì ñoäng cô truyeàn chuyeån ñoäng baùnh ma saùt (1) ñ
huyeån. Gaëp SS1 thì thaéng ñoäng cô laøm vieäc vaø ñoäng cô döøng, ñoàng t
Bieåu ñoà traïng thaùi theo thôøi giaFinish Sensor"
Knife" Hình 3.3 – Cô caáu caét saûn phaåm theo kích thöôùc
Friction Wheel Motor Workpiece Dimension Sensor
rake"
47
ÑIEÀU KHIEÅN LAÄP TÌNH PLC - MAÏNG PLC Chöông 3 – Ngoân ngöõ laäp trình
3.3.9. Leänh gaùn giaù trò logic 1 vaøo oâ nhôù (Set bit)
Cuù phaùp S
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D
S seõ ñaët giaù trò 1 vaøo oâ nhôù cuûa bit ñòa chæ, neáu RLO=1.
Ví duï:
NO contact
Nguoàn ñieän
Rôø le logicChöônh trình STL
3.3.10. Leänh gaùn giaù trò logic 0 vaøo oâ nhôù (Reset bit)
Cuù phaùp R
Toaùn haïng
Ñòa chæ Loaïi döõ lieäu Vuøng bieán nhôù
Bit Bool I, Q, M, L, D
R seõ ñaët giaù trò 0 vaøo oâ nhôù cuûa bit ñòa chæ,
neáu RLO=1. Xem ôû leänh Set bit.
Ví duï:
Vieát chöông trình cho PLC ñieàu khieån thieát bò
khoan thuûy löïc c