Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 10: Thiết kế logic có cấu trúc
10. THIẾT KẾ LOGIC CÓ CẤU TRÚC
Chủ đề:
Các sơ đồ thời gian
Các ví dụ thiết kế
Thiết kế logic bậc thang với các bit tuần tự xử lý và các sơ đồ thời gian
Mục tiêu:
Biết các ví dụ của các ứng dụng cho các vấn đề công nghiệp
Biết thiết kế các chương trình điều khiển dựa trên thời gian như thế nào
10.1 GIỚI THIỆU
Các chương trình logic bậc thang truyền thống đã được viết bằng cách suy nghĩ
về quá trình này và sau đó bắt đầu viết chương trình (truyền thống) này. Điều này
luôn dẫn tới các chương trình mà cần được phát hiện lỗi. Và, chương trình cuối cùng
luôn là chủ đề của một vài nghi ngờ. Các kỹ thuật thiết kế có cấu trúc, như đại số
Bun, làm cho các chương trình này là có thể dự đoán trước và đáng tin cậy. Các kỹ
thuật thiết kế có cấu trúc trong chương này và các chương sau được cung cấp để làm
công việc thiết kế logic bậc thang và có khả năng dự đoán trước cho các hệ trình tự
đơn giản.
Ghi chú: Thiết kế có cấu trúc là rất quan trọng trong kỹ thuật, nhưng nhiều kỹ
sư sẽ viết phần mềm mà không dành thời gian hay nỗ lực để thiết kế nó. Điều này
thường đến từ kinh nghiệm trước với sự lập trình ở đó một chương trình được viết,
và sau đó được dò lỗi. Cách tiếp cận này là không chấp nhận được trong các hệ
nhiệm vụ quan trọng như là các điều khiển công nghiệp. Thời gian yêu cầu cho một
chương trình được thiết kế một cách nghèo nàn là 10% trong thiết kế, 30% trong
viết, 40% dò lỗi và kiểm thử, 10% làm tài liệu. Thời gian yêu cầu cho một thiết kế
chương trình chất lượng cao là 30% thiết kế, 10% viết phần mềm, 10% dò lỗi và kiểm
thử, 10% làm tài liệu. Vâng, một chương trình thiết kế tốt yêu cầu ít thời gian hơn!
Hầu hết các người mới thấy viết chương trình và dò lỗi là thách thức và hiệu quả
hơn, và vì vậy họ sẽ vội vàng qua giai đoạn thiết kế. Nếu bạn đang dành thời gian dò
lỗi các chương trình logic bậc thang bạn đang làm một điều sai. Thiết kế có cấu trúc
cũng cho phép những người khác kiểm tra và chỉnh sửa các chương trình của bạn.
Sự thật: Dành càng nhiều thời gian cho thiết kế chương trình càng tốt. Chống lại
sự cám dỗ để thực hiện một thiết kế không đầy đủ.
Hầu hết các hệ điều khiển là tuần tự theo tự nhiên. Các hệ tuần tự thường được
mô tả với các từ ngữ như là chế độ và hành xử. Trong khi hoạt động bình thường các
hệ này sẽ có nhiều bước hay trạng thái của hoạt động. Trong mỗi trạng thái hoạt
động hệ này hành xử một cách khác biệt. Các trạng thái đặc trưng bao gồm start-up
(khởi động lên), shut-down (tắt máy), và hoạt động thông thường. Xem xét một tập
các đèn giao thông – mỗi trường hợp đèn làm nên một trạng thái. Các đèn có thể là
xanh lá hay vàng trong một hướng và là đỏ trong hướng khác. Các đèn này thay đổi
trong một thứ tự biết trước. Thỉnh thoảng các đèn giao thông được trang bị với các
tính năng đặc biệt như là các nút đi bộ sang đường mà thay đổi cách hành xử của các
đèn này cho các người đi bộ thời gian đi qua những con đường bận rộn.
Các hệ tuần tự là phức tạp và khó cho thiết kế. Trong chương trước các biểu đồ
thời gian và các bit tuần tự xử lý đã được thảo luận như là các kỹ thuật thiết kế cơ
bản. Nhưng, các hệ phức tạp hơn yêu cầu nhiều kỹ thuật hoàn thiện hơn, như là
những cái được chỉ ra trong hình 10.1. Để các bộ điều khiển đơn giản hơn ta có thể
sử dụng các kỹ thuật thiết kế có giới hạn như là các bit tuần tự xử lý và các lưu đồ.
Các quá trình phức tạp hơn, như là các đèn giao thông, sẽ có nhiều trạng thái hoạt
động và các bộ điều khiển có thể được thiết kế bằng cách dùng các sơ đồ trạng thái.
Nếu bài toán điều khiển này bao gồm nhiều trạng thái hoạt động, như là một bộ điều
khiển cho hai đèn giao thông độc lập, vì thế các thiết kế dựa trên Petrinet hay SFC là
được ưa thích.
Figure 10.1 Sequential Design Techniques – Các kỹ thuật thiết kế tuần tự
10.2 CÁC BIT TUẦN TỰ XỬ LÝ
Một máy điển hình sẽ dùng một dãy các bước lặp đi lặp lại mà các bước này có
thể được nhận biết một cách rõ ràng. Logic bậc thang có thể được viết để theo sau
thứ tự này. Các bước cho phương pháp thiết kế này là:
1. Hiểu quá trình đó.
2. Viết các bước của hoạt động theo trình tự và cho mỗi bước một số.
3. Gán một bit cho mỗi bước .
4. Viết logic bậc thang để bật hay tắt các bit này khi quá trình chuyển qua các
trạng thái của nó.
5. Viết logic bậc thang để thực hiện các chức năng máy cho mỗi bước.
6. Nếu quá trình này là lặp đi lặp lại, có bước cuối trở lại bước đầu tiên.
Xem xét ví dụ về một bộ điều khiển kéo cờ trong hình 10.2 và 10.3. Vấn đề bắt
đầu với một mô tả được viết ra cho quá trình này. Điều này sau đó được chuyển
thành một tập hợp các bước được đánh số. Mỗi bước được đánh số này sau đó được
chuyển đổi thành logic bậc thang.
Mô tả: Một bộ kéo cờ sẽ kéo cờ lên khi một nút up được nhấn, và hạ cờ khi một
nút down được nhấn, cả hai nút nhấn này là tạm thời. Có các chuyển mạch giới hạn ở
đỉnh và ở đáy để dừng cột cờ này. Khi được bật lần đầu cờ này phải được hạ xuống
cho đến điểm dưới cùng (đáy) của cột cờ này.
Các bước:
1. Cờ này đang di chuyển xuống phía dưới cột đợi cho chuyển mạch giới hạn
đáy.
2. Cờ này là không làm gì tại đáy cột cờ chờ cho nút up.
3. Cờ này chuyển động lên, chờ cho chuyển mạch giới hạn phía đỉnh.
4. Cờ này không làm gì cả tại đỉnh cột cờ chờ cho nút down.
Figure 10.2 A Process Sequence Bit Design Example
Một ví dụ thiết kế bit tuần tự xử lý
(Ghi chú của người gõ:
Phần này của logic bậc thang cưỡng bức cờ đi lên để bắt đầu với một trạng thái
bật, trong trường hợp này nó phải là cái đầu tiên, bước 1.
Logic bậc thang cho bước 1 bật động cơ làm hạ cờ và khi chuyển mạch giới hạn
đáy đạt tới nó đi tới bước 2.
Logic này cho bước 2 chỉ đợi nút ấn để kéo cờ lên.
)
(Ghi chú của người gõ:
Logic cho bước 3 bật động cơ để kéo cờ lên và khi chuyển mạch giới hạn đỉnh
được đạt tới nó chuyển sang bước 4.
Logic bậc thang cho bước 4 chỉ đợi cho nút ấn làm hạ cờ.
)
Figure 10.3 A Process Sequence Bit Design Example (continued)
Một ví dụ thiết kế bit tuần tự xử lý (tiếp theo)
Phương pháp trước sử dụng các bít được chốt, nhưng sự sử dụng của các chốt
thỉnh thoảng là bị ngăn cản. Một phương pháp phổ biến hơn của thực thi, không
dùng các chốt, được chỉ trong hình 10.4.
Figure 10.4 Process Sequence Bits Without Latches
Các bit xử lý tuần tự không dùng các chốt
Các phương pháp tương tự được khám phá chi tiết xa hơn trong quyển sách
Cascading Logic (Kirckof, 2003).
10.3 CÁC SƠ ĐỒ THỜI GIAN
Các sơ đồ thời gian có thể có giá trị khi thiết kế logic bậc thang cho các quá trình
mà các quá trình này chỉ phụ thuộc vào thời gian. Sơ đồ thời gian này được vẽ với các
thời điểm bắt đầu và dừng lại rõ ràng. Logic bậc thang được xây dựng với các bộ bấm
giờ mà các bộ bấm giờ này được dùng để bật tắt các đầu ra tại các thời điểm thích
hợp. Phương pháp cơ bản là:
1. Hiểu quá trình.
2. Xác định các đầu ra mà chúng phụ thuộc thời gian.
3. Vẽ một sơ đồ thời gian cho các đầu ra.
4. Gán một bộ bấm giờ cho mỗi lẫn khi một đầu ra là bật hay tắt.
5. Viết logic bậc thang để kiểm tra các giá trị bộ đếm giờ này và bật tắt các đầu
ra.
Xem xét thiết kế bộ mở cửa cho người khuyết tật trong hình 10.5 mà bắt đầu
với một mô tả theo từng chữ một. Bản mô tả theo từng chữ một này được chuyển
thành một sơ đồ thời gian, với t=0 là khi nút mở cửa này được bấm. Trong sơ đồ thời
gian các thời điểm quan trọng là 2 giây, 10 giây, 14 giây. Logic bậc thang được xây
dựng trong một thứ tự cẩn thận. Mục đầu tiên là chốt để đóng chặt nút open này,
nhưng dừng sau khi cửa cuối cùng đóng. Nút auto được dùng để bật ba bộ bấm giờ
cho các thời điểm quan trọng. Logic bậc thang cho mở các cửa này được viết sau đó
để sử dụng các bộ bấm giờ này.
Mô tả: Một bộ mở cửa cho người khuyết tật có một nút mà sẽ mở hai cửa. Khi
nút này được bấm (trong giây lát) cửa đầu tiên sẽ bắt đầu mở một cách ngay lập tức,
cửa thứ hai sẽ bắt đầu mở trong 2 giây tiếp theo. Dòng điện cửa đầu tiên sẽ còn
trong tổng số 10 giây, và dòng điện cửa thứ hai sẽ còn trong 14 giây. Sử dụng một sơ
đồ thời gian để thiết kế logic bậc thang này.
Sơ đồ thời gian:
Logic bậc thang:
Figure 10.5 Design With a Timing Diagram – Thiết kế với một sơ đồ thời gian
10.4 NHỮNG VẤN ĐỀ CỦA THIẾT KẾ
10.5 TÓM TẮT
Các sơ đồ thời gian có thể chỉ ra một hệ thay đổi theo thời gian như thế nào.
Các bit tuần tự xử lý có thể được dùng để thiết kế một quá trình mà quá trình
này thay đổi theo thời gian.
Các sơ đồ thời gian có thể được dùng cho các hệ với một hiệu suất được điều
khiển theo thời gian.
10.6 BÀI TẬP THỰC HÀNH
1. Viết logic bậc thang mà sẽ cho ra sơ đồ thời gian sau cho B sau khi đầu vào A là
được nhấn. Sau khi A được nhấn bất cứ thay đổi nào trong trạng thái của A sẽ bị bỏ
qua.
2. Thiết kế logic bậc thang sau cho sơ đồ thời gian bên dưới. Khi một đầu vào A trở
nên kích hoạt trình tự này phải bắt đầu.
3. Một quá trình đóng gói được điều khiển bởi một PLC. Trình tự chung của hoạt
động được mô tả ở dưới. Phát triển logic bậc thang bằng cách dùng các bit tuần tự
xử lý.
1. Bìa là không làm gì cho đến khi một vật thể đến.
2. Khi một vật thể nào đó đến nó kích hoạt cảm biến vật thể và vật thể đó
được giữ đúng vị trí bằng cách phát động bộ giữ.
3. Bao bì đầu tiên được làm xong bằng cách bật đầu ra giấy (paper) trong 1
giây.
4. Giấy này sau đó được đóng làm bìa bằng cách bật đầu ra nếp gấp (crease)
trong 0,5 giây.
5. Một chất keo dính được đưa vào bằng cách bật đầu ra băng (tape) trong
0,75 giây.
6. Vật thể này được giải phóng bằng cách tắt đầu ra bộ giữ.
7. Quá trình này tạm dừng cho đến khi các cảm biến vật thể là tắt, và sau đó
máy trở lại không làm gì cả.
10.7 GIẢI PHÁP CHO BÀI TẬP THỰC HÀNH
1.
2.
3.
Cho cả hai giải pháp:
Không dùng các chốt:
Có dùng chốt:
10.8 GIAO BÀI TẬP
1. Chuyển sơ đồ thời gian sau thành logic bậc thang. Nó phải bắt đầu khi đầu vào ‘A’
trở thành đúng (true).
2. Dùng sơ đồ thời gian sau để thiết kế logic bậc thang. Trình tự này phải bắt đầu khi
đầu vào X bật. X có thể chỉ bật trong giây lát, nhưng trình tự này phải tiếp tục thực
hiện cho đến khi nó kết thúc lúc 26 giây.
3. Dùng sơ đồ thời gian sau để thiết kế logic bậc thang. Trình tự này phải bắt đầu khi
đầu vào X là bật. X có thể chỉ bật trong giây lát, nhưng trình tự này phải được thực
hiện dù thế nào đi nữa.
4. Viết một chương trình mà nó thực hiện các bước sau. Khi trong các bước b) hay d),
đầu ra C sẽ là đúng. Đầu ra X sẽ là đúng khi trong bước c).
a) Bắt đầu trong một trạng thái không làm gì cả. Nếu đầu vào G trở thành đúng
(true) chuyển sang bước b)
b) Đợi đến khi P trở thành đúng trước khi đi tới bước c)
c) Đợi trong 3 giây sau đó đi sang bước d)
d) Đợi cho P trở thành sai (false), và sau đó chuyển sang bước b)
5. Viết một chương trình mà sẽ thực thi các bước sau. Khi trong các bước b) hay d),
đầu ra C sẽ là đúng. Đầu ra X sẽ là đúng khi trong bước c).
a) Bắt đầu trong trạng thái không làm gì cả. Nếu đầu vào G trở thành đúng đi
sang bước b)
b) Đợi đến khi P trở thành đúng trước khi đi tới bước c). Nếu đầu vào S trở
thành đúng thì đi tới bước a)
c) Đợi trong 3 giây sau đó đi tới bước d)
d) Đợi cho P trở thành sai, và sau đó đi sang bước b)
6. Một PLC là điều khiển bộ điều khiển trong công viên nước. Bộ điều khiển này sẽ
làm đầy một thùng nước và bật ra một lần chơi nhóm. 10 giây sau một ống nước sẽ
được đẩy ra ở một điểm khác. Phát triển logic bậc thang cho quá trình này mà theo
sau các bước được liệt kê bên dưới.
1. Quá trình bắt đầu trong ‘idle’ (không làm gì cả).
2. ‘cart_detect’ (phát hiện xe???) mở van ‘filling’ (làm đầy).
3. Sau một trễ 30 giây từ lúc bắt đầu làm đầy thùng van ‘out-let’ (lối ra) của
thùng mở ra. Khi thùng này là ‘full’ (đầy) van ‘filling’ (làm đầy) đóng.
4. Khi thùng này là trống van ‘outlet’ (lối ra) được đóng lại.
5. Sau 10 giây trễ, từ thùng van lối ra mở, một ‘jet’ (ống) nước được mở ra.
6. Sau ‘2’ giây ‘jet’ (ống) nước này được đóng lại và quá trình trở về trạng thái không
làm gì cả.
7. Viết một chương trình logic bậc thang để tiến và lùi một xy lanh sau khi một nút
start được bấm. Có những chuyển mạch giới hạn tại các đầu mút của chuyển động.
Nếu xy lanh này đang tiến nếu hơn 5 giây máy phải được tắt và bật một đèn báo lỗi.
Nếu nó lùi hơn 3 giây nó cũng sẽ bị tắt và bật một đèn báo lỗi. Nó có thể được đặt lại
bằng một nút reset.
8. Thiết kế một chương trình với các bit tuần tự cho một máy ép thủy lực mà sẽ tiến
khi hai nút cọ (palm) được bấm. Các chuyển mạch giới hạn đỉnh và đáy được dùng để
đảo ngược chiều tiến và dừng lại sau một lùi. Tại bất cứ lúc nào các tay rời khỏi nút
cọ sẽ dừng lại một lần tiến và một lần lùi máy ép. Thêm các nút start và stop để đặt
máy ép này trong và ngoài một chế độ kích hoạt.
9. Một máy đã được thiết kế cho làm đầy các thùng. Dùng các bit tuần tự xử lý để
thiết kế logic bậc thang cho quá trình tuần tự này như mô tả dưới đây:
1. Quá trình bắt đầu trong một trạng thái không làm gì cả.
2. Nếu các đầu vào ‘fluid_pressure’ (áp lực chất lưu) và ‘barrel_present’ (thùng
hiện diện) là bật, hệ này sẽ mở một van dòng chảy trong 2 giây với đầu ra ‘flow’
(chảy).
3. Van ‘flow’ này sau đó sẽ bị tắt trong 10 giây.
4. Van ‘flow’ này sẽ sau đó được bật đến khi cảm biến ‘full’ (đầy) chỉ ra rằng
thùng đầy.
5. Hệ này sẽ đợi cho đến khi cảm biến ‘barrel_present’ đi đến tắt trước khi đi tới
trạng thái không làm gì cả.
10. Thiết kế logic bậc thang cho một lò bằng cách sử dụng các bit tuần tự xử lý. (Ghi
chú: lời giải sẽ chỉ được xếp hạng nếu bit tuần tự xử lý được dùng). Các hoạt động
được liệt kê ở dưới:
1. Lò này bắt đầu trong một trạng thái IDLE (không làm gì cả).
2. Một người vận hành nhấn một nút start và một đầu ra ALARM (chuông) được
bật trong 1 phút.
3. Đầu ra ALARM này được tắt và HEAT (nhiệt) được bật trong 3 phút để cho
phép nhiệt độ tăng cho tới khoảng chấp nhận được.
4. Đầu ra CONVEYOR (băng tải) được bật.
5. Nếu đầu vào STOP được kích hoạt (bị tắt) thì HEAT sẽ bị tắt, nhưng đầu ra
CONVEYOR sẽ được giữ lại trong hai phút. Sau đó lò này sẽ trở lại IDLE.
11. Ta đang phát triển một hệ an toàn (dùng một PLC-5) cho một máy ép công nghiệp
lớn. Máy ép này được kích hoạt bởi bật một rơ le điện máy nén (R, được kết nối tới
O:013/05). Sau khi R được bật trong 30 giây máy ép này có thể được kích hoạt để
chuyển động (P được kết nối tới O:013/06). Độ trễ là cần thiết cho áp suất được tăng
lên. Sau khi máy ép này đã được kích hoạt (với P trong 1,0 giây) hệ thống này phải
được tắt (R và P là tắt), và sau đó vòng làm việc này có thể bắt đầu lại. Cho an toàn,
có một cảm biến mà nó sẽ phát hiện khi một công nhân nào đó bên trong máy ép này
(S, được kết nối tới I:011/02), nó phải được tắt trước khi máy ép có thể được kích
hoạt. Cũng có một nút mà phải được nhấn 5 lần (B, được kết nối tới I:011/01) trước
khi vòng làm việc máy ép này có thể bắt đầu. Nếu tại bất cứ lúc nào người công nhân
này vào máy ép (và S trở nên kích hoạt) máy ép sẽ tắt (P và R bị tắt). Phát triển tuần
tự quá trình và các bit tuần tự, và sau đó là logic bậc thang cho các trạng thái này.
Phát biểu mọi giả thiết, và chỉ ra tất cả công việc.
12. Một máy đang được thiết kế để gói các hộp sô cô la. Các hộp này đến máy trên
một băng tải. Danh sách dưới đây chỉ ra các bước xử lý theo tuần tự:
1. Các hộp đến và được phát hiện bởi một cảm biến quang (P), sau khi băng tải
này bị dừng (C) và hộp này được giữ lại trong vị trí (H).
2. Một cơ cấu đóng gói (M) sẽ được bật trong 2 giây.
3. Một xy lanh dán nhãn (S) được bật trong trong 1 giây để đặt nhãn tiêu dùng
trên hộp này.
4. Bộ giữ lại (H) được tắt và băng tải (C) được bật.
5. Sau khi hộp này rời đi hệ thống này trở lại trạng thái không làm gì cả.
Phát triển các chương trình logic bậc thang cho hệ này bằng cách dùng các phương
pháp sau. Đừng quên thêm các đầu vào start và stop thông dụng:
i)một sơ đồ thời gian
ii) các bit tuần tự xử lý
Bạn đang xem tài liệu "Giáo trình Hệ thống sản xuất tự động hóa với PLCs - Phần 10: Thiết kế logic có cấu trúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_he_thong_san_xuat_tu_dong_hoa_voi_plcs_phan_10_th.pdf

