Chương 3 - Ngôn ngữ lập trình

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ố.

pdf63 trang | Chia sẻ: longpd | Lượt xem: 2680 | Lượt tải: 1download
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
Tài liệu liên quan