Tải bản đầy đủ (.doc) (9 trang)

Phương pháp lập trình cho PLC pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (173.13 KB, 9 trang )

e: Phương pháp lập trình cho PLC
Giới thiệu:
Mình xin giới thiệu với các bạn một phương pháp lập trình PLC
rất là “kinh điển” nhưng rất hiệu quả trên thực tế mà hình như
mình thấy ít bạn biết: Phương pháp lập trình tuần tự.
Như tên gọi của nó, phương pháp này được áp dụng hiệu quả
trong quá trình lập trình các quá trình điều khiển tuần tự, hết
bước 1 thì chuyển sang bước 2 lần lượt tới bước n. Do đó
phương pháp này cực kỳ hiệu quả với việc lập trình các trạm
trong môn MPS của ngành Cơ – Điện tử.
Trước tiên, mình sẽ nêu lên ưu điểm của phương pháp này để
các bạn hứng thú theo dõi. Thứ nhất là phương pháp này rất
dễ viết, và dễ đọc chương trình. Khi bạn đã biết cách rồi thì
viết rất nhanh (hầu như chỉ copy, paste và edit thôi). Thứ hai
là phương pháp này không dùng SET và RESET. Nếu các bạn
đã lập trình PLC rồi thì các bạn cũng biết là khi dùng SET và
RESET thì mình phải kiểm soát luồng chương trình rất chặt
chẽ. Không thì nó “mâu thuẫn” với nhau và bị sai ngay. Thứ ba
là phương pháp này rất hiệu quả (mình đã dùng từ “kinh điển”
để nói về nó). Đặc biệt là môn Thực tập PLC (các bài với
Pittong Xilanh khí nén) hoặc MPS thì đây là phương pháp “số
1”!
Quảng cáo nhiều quá rồi, bây giờ xin giới thiệu cách lập trình
theo phương pháp này.
Lý thuyết:
Bước 1: Viết quy trình và tóm tắt quy trình hoạt động. Quy
trình có thể bạn sẽ nhận được trên đề bài, trên yêu cầu do
giáo viên đưa ra hoặc bạn sẽ phải viết lại theo yêu cầu thực tế
của bài toán điều khiển (Ví dụ như môn MPS thì bạn phải viết
lại theo Quy trình hoạt động của từng trạm). Nên sử dụng các
ký hiệu ngắn gọn và dễ gợi nhớ để viết tóm tắt quy trình này.


Chia tầng cho quy trình (mỗi tầng là đơn giản là thực hiện một
thao tác hoặc nhiều thao tác song song (diễn ra cùng một lúc).
Bước 2: Lập trình “nuôi” các biến nhớ tạm (đánh dấu tầng
đang thực hiện). Bước này được thực hiện như sau:
Đầu tiên là điều kiện bắt đầu một tầng. Thường thì tầng mới
được bắt đầu khi tầng cũ đã hoàn thành xong nhiệm vụ của
nó. Ví dụ điều kiện bắt đầu tầng 2 là đang ở tầng 1 và gặp
công tắc hành trình nào đó (báo hiệu thực hiện xong nhiệm
vụ)
Tiếp theo là PHỦ ĐỊNH (Not) của các điều kiện kết thúc tầng
đó (thường là tầng tiếp theo được bắt đầu hoặc khi nhấn nút
Stop, Reset ). Cũng xin được nhắc lại định luật De–Morgan:
~(A.B.C) = ~A+ ~B + ~C
~(A+B+C) = (~A).(~B).(~C)
Ví dụ: điều kiện để ngắt tầng 2 là: tầng 3 được thực thi HOẶC
nút Stop được nhấn. Dưới dạng biểu thức, ta có: DKNT =
TANG3 + STOP. Vậy PHỦ ĐỊNH của điều kiện này là ~DKNT=
~TANG3 . ~STOP. Hay diễn đạt dưới dạng câu chữ thì là (Not
của TANG3) AND với (Not của nút STOP). Not của TANG3 luôn
là tiếp điểm thường đóng NC còn Not của nút nhấn thì còn tùy
thuộc vào nút nhấn loại gì.
(Hình ảnh này dùng cho nút Stop thường đóng NC)
Điều kiện ngắt tầng 2 và Not điều kiện ngắt tầng 2
Cuối cùng là lấy tiếp điểm để tự nuôi nó. Tiếp điểm được đưa
vào trong chương trình song song với điều kiện bắt đầu một
tầng.
Bước 3: Tập họp các trường hợp cho ngõ ra vật lý (các cơ cấu
chấp hành). Giả sử TANG 1, TANG 3 tác động tới cơ cấu chấp
hành
Ví dụ thực tế:

Lấy ví dụ ở trạm 1 của hệ thống MPS để viết chương trình và
giải thích cho các bạn dễ hình dung. (Các bạn không phải là
sinh viên ngành Cơ – Điện tử hoặc chưa tiếp xúc với trạm này
thì các bạn đừng lo, tôi sẽ trình bày cụ thể). À, cũng nói rõ là
quy trình hoạt động của trạm này do người viết đặt ra (có thể
không giống trên lớp học đâu nhé!).
Giải thích phần cứng: Trạm này thực hiện nhiệm vụ cung
cấp phôi.
* Trạm có 3 cơ cấu chấp hành:
Một Xy lanh khí nén để đẩy phôi ra và kẹp phôi, Xy lanh này
hoạt động được điều khiển bởi một Valse khí nén. Nó hoạt
động thế này: bạn cấp 24V cho cuộn dây điều khiển của Valse
thì Xy lanh sẽ đẩy phôi ra, bạn giữ nguyên 24V cho cuộn dây
điều khiển thì Xy lanh vẫn giữ nguyên trạng thái kẹp phôi; bạn
ngắt điện, Xy lanh đi về, không kẹp phôi nữa.
Một tay gắp sử dụng khí nén. Tay gắp này được điều khiển bởi
một Valse khí nén. Tay này hoạt động như sau: khi bạn cấp
điện cho cuộn Y1 (tạm gọi như vậy) thì tay máy đi về phía
có phôi (để lấy phôi). Khi bạn cấp điện cho cuộn Y2 thì tay
máy sẽ đi về phía trạm 2 (để cấp phôi cho trạm này). Khi bạn
ngừng cấp điện hay cấp điện đồng thời cả 2 cuộn dây thì tay
máy sẽ đứng yên tại vị trí đang đứng.
Một giác hút chân không để hút phôi. Nó có hai cuộn dây để
điều khiển. Cấp điện cho một cuộn thì nó sẽ hút phôi (tạo chân
không để hút). Cấp điện cho cuộn còn lại thì nó sẽ nhả phôi
ra.
* Trạm còn có ba nút nhấn để điều khiển:
Start (thường hở - NO).
Stop (thường đóng - NC).
Reset (thường hở - NO).

* Cảm biến được dùng trong trạm
Trạm dùng 1 cảm biến quang để phát hiện có vật tại vị trí ống
chứa phôi. Cảm biến này thường đóng – NC. Bình thường
không có phôi, bên phát phát ra ánh sáng, bên thu sẽ nhận
được nên có mức Logic ngỏ ra là mức 1 (mức cao). Khi có phôi
trong ống chứa phôi thì nó chắn ánh sáng này làm bên thu
không nhận được ánh sáng nên nó sẽ có ngõ ra là mức 0 (mức
thấp). Để thuận tiện cho sử dụng, tôi đặt ký hiệu là cảm biến
COVAT.
Xy lanh đẩy vật có hai Công tắc hành trình phát hiện hết hành
trình (đi ra hết hoặc đi về hết). Hai cảm biến này là cảm biến
Điện từ (mình nhớ man mán vậy). Tức là nó sẽ nhận biết được
Nam châm. Ở trong Xy lanh khí nén người ta có bố trí miếng
nam châm ở cuối xy lanh. Khi xy lanh đi tới hết hành trình thì
sẽ tác động lên các cảm biến đã được bố trí ở đó. Công tắc khi
Pittong đi hết về phía đẩy ra và kẹp phôi tôi sẽ ký hiệu là KEP
và khi pittong đi hết hành trình về phía ngược lại tôi ky hiệu là
KHONGKEP.
Tay gắp có hai công tắc hành trình báo kết thúc hành trình.
Công tắc này là tiếp điểm Cơ khí. Khi tay gắp đi tới cuối hành
trình thì nó sẽ “đá” các công tắc này. Công tắc hành trình bị
tác động khi tay gắp ở vị trí có phôi tôi ký hiệu là VETRAM1, và
công tắc bị tác động khi tay găp ở vị trí phía bên trạm 2 tôi ký
hiệu là QUATRAM2.
Giác hút có một cảm biến phát hiện đã hút được vật. Cảm biến
này thực ra là một cảm biến áp suất. Nếu áp xuất nhỏ hơn một
áp xuất giá trị nhất định thì ngõ ra sẽ lên mức 1 (cao). Tôi ký
hiệu công tắc này là COHUT.
Mô tả phần cứng như vậy là đã rõ ràng rồi phải không các bạn?
Tuy nó hơi chán một chút nhưng rất cần thiết cho việc theo dõi

chương trình về sau.
Phương pháp lập trình: bước từng bước
* Bước 1: Xác định quy trình làm việc và tóm tắt lại
quy trình.
A, Quy trình làm việc như sau:
Ban đầu, tay gắp ở vị trí phôi, giác hút không hút vật và Xy
lanh đẩy phôi không đẩy phôi ra.
Khi bạn nhấn Start. Nếu có phôi ở vị trí cấp phôi thì quy trình
sẽ diễn ra theo trình tự như sau:
1, Tay gắp đi qua vị trí trạm 2.
2, Xy lanh đẩy phôi đi ra và kẹp phôi.
3, Tay gắp quay về phía trạm 1
4, Bật giác hút lên để hút phôi.
5, Xy lanh lui về (không kẹp phôi nữa)
6, Tay gắp đi về phía trạm 2.
7, Nhả phôi ra.
8, Tay gắp trở lại vị trí ban đầu (trạm 1) để không làm cản trở
hoạt động của trạm 2.
Kết thúc chu trình. Chu trình có thể tiếp tục khi bạn nhấn nút
Start.
B, Ký hiệu các cơ cấu chấp hành:
Xy lanh kẹp phôi: A
Quá trình kẹp phôi là A+
Trở về (không kẹp phôi nữa) là A-
Tay gắp : B
Đi qua phía trạm 2 : B+
Đi về vị trí cấp phôi (đi về phía trạm 1): B-
Giác hút : C
Hút vật : C+
Nhả vật : C-

C, Tóm tắt quy trình hoạt động và chia tầng :
Ở đây Xy lanh kẹp vật trong suốt quá trình tay gắp trở về và
quá trình hút vật nên A+ được thực hiện song song với B- và
C+ ở tầng thứ 3 và tầng 4
* Bước 2: Lập trình nuôi các biến nhớ tạm (các tầng)
Các tầng ở đây chính là các biến nhớ tạm M
Điều kiện bắt đầu tầng 1 diễn ra khi đang có vật phát hiện bởi
cảm biến COVAT (tiếp điểm thường đóng NC) VÀ (AND) với
nhấn nút Start.
Điều kiện kết thúc tầng 1 là tầng 2 bắt đầu HOẶC (OR) nhấn
nút Stop (thường đóng - NC). Chúng ta phải lấy PHỦ ĐỊNH của
điều kiện kết thúc tầng để đưa vào Ladder.
Vậy network của tầng 1 được viết như sau :
Tương tự, điều kiện bắt đầu tầng 2 là đang ở tầng 1 và tay gắp
vật B đi qua tới trạm 2 (tác động công tắc hành trình
QUATRAM2)
Điều kiện kết thúc tầng 2 là bắt đầu sang tầng 3 hoặc nút Stop
được nhấn. Ta có network cho tầng 2 như sau :
Tương tự, điều kiện bắt đầu tầng 3 là đang ở tầng 2 và Xy lanh
đẩy phôi đã đẩy phôi ra đến vị trí cho tay gắp thực hiện gắp và
kẹp phôi ở đó (cảm biến KEP được tác động)
Điều kiện kết thúc tầng 3 là bắt đầu sang tầng 4 hoặc nút Stop
được nhấn. Ta có network cho tầng 3 như sau :
Bạn dễ dàng nhìn thấy là mỗi môt thời điểm chỉ có một tầng
duy nhất được thực hiện. Khi tầng 2 được thực hiện, nó đã
ngắt tầng 1 (phía trước nó). Và khi tầng 2 thực hiện xong (xy
lanh đẩy phôi ra xong) thì tầng 3 bắt đầu và tầng 3 sẽ ngắt
tầng 2.
Bạn cũng dễ dàng rút ra nhận xét là : các network này na ná
giống nhau, nên bạn chỉ cần Copy, Paste và Edit cho phù hợp

mà thôi (nhớ Edit cẩn thận nhá, edit sót hay nhầm là không
chạy được đâu)
Tương tự cho các network, các tầng khác
* Bước 3: Tổ hợp các tầng để điều khiển các cơ cấu
chấp hành
Giả sử ta có phần ký hiệu cho các cơ cấu chấp hành như sau :
Trong quy trình ở bước 1, ta thấy thao tác A+ tác động vào xy
lanh để đẩy phôi ra và kẹp phôi ở vị trí được thực hiện ở các
tầng 2, tầng 3, tầng 4. Do đó, ta có network như sau:
Ở đây, A+ là một ngõ ra của PLC để tác động tới cuộn dây đẩy
phôi ra
Thao tác A- ở tầng 5 không cần tác động tới ngõ ra nào, vì chỉ
cần ngắt điện ở cuộn dây A+ thì xy lanh sẽ tự động lùi về
Thao tác B- cần được thực hiện ở tầng 3 và 8 nên ta có
network sau:
Tiếp tục cho tất cả các cơ cấu chấp hành khác
Kết thúc:
Bây giờ thì chương trình của bạn cũng xong rồi. Không hề
dùng tới một phép Set hoặc Reset nào, nhưng vẫn rất lôgic,
hợp lý. Và tôi đảm bảo với bạn là có thể chạy tốt nữa!
Các bạn cứ làm thử, nhất là các bạn đang học thực tập MPS.
Và cho mình biết kết quả nhé. Viết mệt quá trời, cũng phải biết
mình viết có giúp được gì cho các bạn không chứ ! Và nếu chưa
đúng, chưa hay thì cũng biết ở chỗ nào để còn sửa lại nữa. Nếu
các bạn ủng hộ thì mình sẽ viết tiếp một số chủ đề khác nữa
như PCS hay Vi điều khiển AVR
Các bạn nhớ Comment cho mình nha !
Chúc vui!

×