Bài thực hành Điều khiển logic
Yêu cầu:
Khởi động → Đèn RUN sáng lên; K1, K2 khởi động, liệu khác nhau được cung
cấp bởi hai băng tải → S3 tác động → Dừng K1, K2; Khởi động K3 bắt đầu trộn →
Sau 15s → Dừng K3; Khởi động K4 để xuất liệu ra khỏi bình trộn → S2 xuống mức
thấp → K4 dừng; Qúa trình tự động lặp lại trong 2 lần nữa và tự động dừng hệ thống;
Đèn đỏ (đèn stop) sáng lên và xanh tắt đi.
Nếu đang làm việc bình thường mà gặp sự cố thì ấn Stop → dừng khẩn cấp hệ
thống; sau khi khắc phục xong, trước khi chạy lại phải ấn Reset để xoá giá trị cũ trong
thanh ghi tức thời của bộ đếm để bắt đầu lại từ đầu.
Bạn đang xem 20 trang mẫu của tài liệu "Bài thực hành Điều khiển logic", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài thực hành Điều khiển logic
Bài thí nghiệm Bộ môn Tự Động Đo Lường – Khoa Điện Trường Đại Học Bách Khoa Khoa Điện Bộ môn Tự Động – Đo Lường ♣♣♣♥♣♣♣ BÀI THỰC HÀNH ĐIỀU KHIỂN LOGIC LƯU Ý! Trước khi đến PTN yêu cầu mỗi Sinh Viên phải thực hiện thiết kế trước chương trình ở nhà. Biên soạn : Lâm Tăng Đức - Nguyễn Kim Ánh 190 Bài thí nghiệm Bộ môn Tự Động Đo Lường – Khoa Điện 1. Khởi động động cơ bằng điện trở phụ: Phân địa chỉ vào/ra: Đầu vào (Input) Đầu ra (Output) Start I0.0 Khởi động từ Q0.0 Stop I0.1 K1 Q0.1 Circuit Breaker I0.2 K2 Q0.2 K3 Q0.3 Yêu cầu: Khởi động động cơ → Đóng khởi động từ → Sau 3s → Đóng Relay K1 → Sau 2s → Đóng Relay K2 → Sau 2s → Đóng Relay K3 → Stop → Dừng động cơ, đưa các Relay về trạng thái ban đầu. Nếu động cơ đang hoạt động mà xảy ra sự cố ngắn mạch → Dừng ngay lập tức. B iên soạn : Lâm Tăng Đức - Nguyễn Kim Ánh 191 Bài thí nghiệm Bộ môn Tự Động Đo Lường – Khoa Điện 2. Mô hình điều khiển máy trộn liệu: Phân địa chỉ vào/ra: Đầu vào (Input) Đầu ra (Output) Start I0.0 K1 Q0.0 Stop I0.1 K1 Q0.1 Reset I0.2 K3 Q0.2 S1 I0.3 K4 Q0.3 S2 I0.4 Đèn Run Q0.4 Đèn Stop Q0.5 Yêu cầu: Khởi động → Đèn RUN sáng lên; K1, K2 khởi động, liệu khác nhau được cung cấp bởi hai băng tải → S3 tác động → Dừng K1, K2; Khởi động K3 bắt đầu trộn → Sau 15s → Dừng K3; Khởi động K4 để xuất liệu ra khỏi bình trộn → S2 xuống mức thấp → K4 dừng; Qúa trình tự động lặp lại trong 2 lần nữa và tự động dừng hệ thống; Đèn đỏ (đèn stop) sáng lên và xanh tắt đi. Nếu đang làm việc bình thường mà gặp sự cố thì ấn Stop → dừng khẩn cấp hệ thống; sau khi khắc phục xong, trước khi chạy lại phải ấn Reset để xoá giá trị cũ trong thanh ghi tức thời của bộ đếm để bắt đầu lại từ đầu. Biên soạn : Lâm Tăng Đức - Nguyễn Kim Ánh 192 Bài thí nghiệm Bộ môn Tự Động Đo Lường – Khoa Điện 3. Mô hình điều khiển đèn giao thông: Phân địa chỉ vào/ra: Đầu vào (Input) Đầu ra (Output) Start I0.0 Đèn Xanh 1 Q0.0 Stop I0.1 Đèn vàng 1 Q0.1 Đèn đỏ 1 Q0.2 Đèn Xanh 2 Q0.3 Đèn vàng 2 Q0.4 Đèn đỏ 2 Q0.5 Yêu cầu: Điều khiển các đèn hoạt động theo giản đồ thời gian trên. Biên soạn : Lâm Tăng Đức - Nguyễn Kim Ánh 193 Bài thí nghiệm Bộ môn Tự Động Đo Lường – Khoa Điện 4. Mô hình điều khiển hoạt động của máy “gắp-đặt”: Phân địa chỉ vào/ra: Đầu vào (Input) Đầu ra (Output) Start I0.0 A1 Q0.0 Stop I0.1 A2 Q0.1 Reset A3 Q0.2 S1 A4 Q0.3 S2 A5 Q0.4 S3 S4 Yêu cầu: Cánh tay máy thực hiện gắp vật trên băng chuyền A bỏ sang băng chuyền B. Trước khi xuất phát, vị trí của cánh tay ở vị trí băng chuyền B (S1 tác động). Ấn nút Start → Cánh tay quay ngược chiều kim đồng hồ → S2 tác động → Dừng quay, băng chuền A hoạt động → S3 tác động → Dừng băng chuyền A, gắp vật (A5 = 1) → S4 tác động → Cánh tay quay cùng chiều kim đồng hồ → S1 tác động → Dừng Quay, nhả vật (A5 = 0; S4 = 0); Sau đó thực hiện lặp lại hành trình như trên. Khi có sự cố bất thường xảy ra, ấn Stop → Dừng hệ thống; sau khi khắc phục xong sự cố → Ấn Reset → Cánh tay tự động quay về lại vị trí xuất phát ban đầu và dừng tại đây. Biên soạn : Lâm Tăng Đức - Nguyễn Kim Ánh 194 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện CHƯƠNG 0: LÝ THUYẾT CƠ SỞ (3T) 0.1. Khái niệm về logic trạng thái: + Trong cuộc sống hàng ngày những sự vật hiện tượng đập vào mắt chúng ta như: có/không; thiếu/đủ; còn/hết; trong/đục; nhanh/chậm...hai trạng thái này đối lập nhau hoàn toàn. + Trong kỹ thuật (đặc biệt kỹ thuật điện - điều khiển) Æ khái niệm về logic hai trạng thái: đóng /cắt; bật /tắt; start /stop + Trong toán học để lượng hoá hai trạng thái đối lập của sự vật hay hiện tượng người ta dùng hai giá trị 0 &1 gọi là hai giá trị logic. Æ Các nhà khoa học chỉ xây dựng các “hàm“ & “biến“ trên hai giá trị 0 &1 này. Æ Hàm và biến đó được gọi là hàm & biến logic. Æ Cơ sở để tính toán các hàm & số đó gọi là đại số logic. Æ Đại số này có tên là Boole (theo tên nhà bác học Boole). 0.2. Các hàm cơ bản của đại số logic và các tính chất cơ bản của chúng: B0.1_ hàm logic một biến: Tên hàm Bảng chân lý Kí hiệu sơ đồ Ghi chú x 0 1 Thuật toán logic kiểu rơle kiểu khối điện tử Y0 = 0 Hàm không Y0 0 0 Y0 = x x Hàm luôn bằng 0 Hàm lặp Y1 0 1 Y1 = Hàm đảo Y2 1 0 Y2 = x Y3 = 1 Hàm đơn vị Y3 1 1 Y3 = x + x Hàm luôn bằng 1 B 0.2_ Hàm logic hai biến y = f(x1 ,x2 ) Hàm hai biến, mỗi biến nhận hai giá trị 0 &1, nên có 16 giá trị của hàm từ y0 → y15. Bảng chân lý Kí hiệu sơ đồ x1 0 0 1 1 Tên hàm x2 0 1 0 1 Thuật toán logic Kiểu rơle Kiểu khối điện tử Ghi chú Hàm không Y0 0 0 0 0 Y0 = x1. x 2+ x 1 .x2 Hàm luôn bằng 0 Hàm và Y1 0 0 0 1 Y1 = x1.x2 Hàm cấm x1 Y2 0 0 1 0 Y2 = x1 . x 2 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 1 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện Hàm lặp x1 Y3 0 0 1 1 Y3 = x1 Hàm cấm x2 Y4 0 1 0 0 Y4 = x 1. x2 Hàm lặp x2 Y5 0 0 1 1 Y5 = x2 Y6 = x 1. x2+ x1 . x 2 Hàm hoặc loại trừ Y6 0 1 1 0 Y6 =x1 ⊕ x2 Cộng module Hàm hoặc Y7 0 1 1 1 Y7 = x1 + x2 Hàm piec Y8 1 0 0 0 Y8 = x 1 . x 2 Hàm cùng dấu Y9 0 1 1 1 Y9= 21 xx ⊕ Hàm đảo x1 Y10 1 1 0 0 Y10 = x 1 Hàm kéo theo x1 Y11 1 0 1 1 Y11 = x 2 + x1 Hàm đảo x2 Y12 1 0 1 0 Y12 = x 2 Hàm kéo theo x2 Y13 1 1 0 1 Y13 = x 1 + x2 Hàm cheffer Y14 1 1 1 0 Y14 = x 1 + x 2 Hàm đơn vị Y15 1 1 1 1 Y15 = x 1 +x1 x1 x2 0 1 0 1 0 1 1 1 Y13 = x 1 + x2 x1 x2 0 1 0 1 0 1 1 0 Y12 = x 2 x1 x2 0 1 0 1 1 1 1 1 Y15 = 1 x1 x2 0 1 0 1 1 1 1 0 Y14 = x 1 + x 2 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 2 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện x1 x2 0 1 0 1 1 1 0 1 Y11 = x 2 + x1 x1 x2 0 1 0 1 1 1 0 0 Y10 = x 1 x1 x2 0 1 0 1 0 1 0 1 Y9= 21 xx ⊕ x1 x2 0 1 0 1 1 1 0 1 Y8 = x 1 . x 2 x1 x2 0 1 0 0 1 1 1 0 Y6 =x1 ⊕ x2 x1 x2 0 1 0 1 1 1 0 1 Y7 = x1 + x2 x1 x2 0 1 0 1 1 1 0 1 Y5 = x2 x1 x2 0 1 0 1 1 1 0 1 Y4 = x 1. x2 x1 x2 0 1 0 1 1 1 0 1 Y3 = x1 x1 x2 0 1 0 1 1 1 0 1 Y2 = x1 . x 2 x1 x2 0 1 0 1 1 1 0 1 Y1 = x1.x2 x1 x2 0 1 0 0 0 1 0 0 Y0 = 0 * Ta thấy rằng: các hàm đối xứng nhau qua trục (y7 và y8 ) nghĩa là: y0 = y 15, y1 = y 14, y2 = y 13 * Hàm logic n biến: y = f(x1,x2,x3,..,xn). 1 biến nhận 21 giá trị → n biến nhận 2n giá trị; mà một tổ hợp nhận 2 giá trị n → Do vậy hàm có tất cả là 2 . 2 Ví dụ: 1 biến → tạo 4 hàm 2 2 biến → tạo 16 hàm 2 3 biến → tạo 256 hàm 2 12 22 32 → Khả năng tạo hàm rất lớn nếu số biến càng nhiều. Tuy nhiên tất cả khả năng này đều được hiện qua các hàm sau: Tổng logic Nghịch đảo logic Tích logic Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 3 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện ∞ Định lý - tính chất - hệ số cơ bản của đại số logic: 0.2.1. Quan hệ giữa các hệ số: 0 .0 = 0 0 .1 = 0 1 .0 = 0 0 +0 = 0 0 +1 = 1 1 +0 = 1 1 +1 = 1 0 = 1 1 = 0 → Đây là quan hệ giữa hai hằng số (0,1) → hàm tiên đề của đại số logic. → Chúng là quy tắc phép toán cơ bản của tư duy logic. 0.2.2. Quan hệ giữa các biến và hằng số: A.0 = 0 A .1 = A A+1 = 1 A +0 = A A . A = 0 A + A = 1 0.2.3. Các định lý tương tự đại số thường: + Luật giao hoán: A .B =B .A A +B =B +A + Luật kết hợp: ( A +B) +C =A +( B +C) ( A .B) .C =A .( B .C) + Luật phân phối: A ( B +C) =A .B +A .C 0.2.4. Các định lý đặc thù chỉ có trong đại số logic: A .A =A A +A =A Định lý De Mogan: BA. = A + B BA + = A . B Luật hàm nguyên: A = A . 0.2.5. Một số đẳng thức tiện dụng: A ( B +A) = A A + A .B = A A B +A . B = A A + A .B = A +B Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 4 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện A( A + B ) = A .B (A+B)( A + B ) = B (A+B)(A + C ) = A +BC AB+ A C + BC = AB+ A C (A+B)( A + C )(B +C) =(A+B)( A + C ) Các biểu thức này vận dụng để tinh giản các biểu thức logic, chúng không giống như đại số thường. Cách kiểm chứng đơn giản và để áp dụng nhất để chứng minh là thành lập bảng sự thật. nhìn và ít nh n lớ ẳ ng0: 0.3. Các phương pháp biểu diễn hàm logic: 0.3.1. Phương pháp biểu diễn thành bảng: * Nếu hàm có n biến thì bảng có n+1 cột .( n cột cho biến & 1 cột cho hàm ) * 2n hàng tương ứng với 2n tổ hợp biến. → Bảng này gọi là bảng sự thật hay là bảng chân lý. Ví dụ: Trong nhà có 3 công tắc A,B,C.Chủ nhà muốn đèn chiếu sáng khi công tắc A, B, C đều hở hoặc A đóng B, C hở hoặc A hở B đóng C hở . Với giá trị của hàm y đã cho ở trên ta biểu diễn thành bảng như sau: Công tắc đèn Đèn A B C Y 0 0 0 1 sáng 0 0 1 0 0 1 0 1 sáng 0 1 1 0 1 0 0 1 sáng 1 0 1 0 1 1 0 0 1 1 1 0 10 11 0100 x 1 x 2 * Ưu điểm của cách biểu diễn này là dễ ầm lẫn . * Nhược điểm: cồng kềnh, đặc biệt khi số biế n. 0.3.2. Phương pháp biểu diễn hình học: a) Hàm một biến → biểu diễn trên 1 đường th ng: b) Hàm hai biến → biểu diễn trên mặt phẳ Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 5 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện c) Hàm ba biến → biểu diễn trong không gian 3 chiều: 011 111 010 110 000 100 001 101 X1 X2 X3 d) Hàm n biến → biểu diễn trong không gian n chiều 0.3.3. Phương pháp biểu diễn biểu thức đại số: Bất kỳ trong một hàm logic n biến nào cũng có thể biểu diễn thành các hàm có tổng chuẩn đầy đủ và tích chuẩn đầy đủ. a) Cách viết dưới dạng tổng chuẩn đầy đủ (chuẩn tắc tuyển): - Chỉ quan tâm đến những tổ hợp biến mà hàm có giá trị bằng một. - Trong một tổ hợp (đầy đủ biến) các biến có giá trị bằng 1 thì giữ nguyên (xi). - Hàm tổng chuẩn đầy đủ sẽ là tổng chuẩn đầy đủ các tích đó. Công tắc đèn Đèn A B C Y 0 0 0 0 0 1 0 0 1 1 2 0 1 0 x 3 0 1 1 1 4 1 0 0 1 5 1 0 1 x 6 1 1 0 0 7 1 1 1 1 → Hàm Y tương ứng 4 tổ hợp giá trị các biến ABC = 001, 011, 100, 111 →Y= A B C + A BC +A B C +ABC * Để đơn giản trong cách trình bày ta viết lại: Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 6 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện f = Σ 1, 3 ,4 ,7 Với N =2 ,5 (các thứ tự tổ hợp biến mà không xác định ) b) Cách viết dưới dạng tích /chuẩn đầy đủ ( hội tắc tuyển ): - Chỉ quan tâm đến tổ hợp biến hàm có giá trị của hàm bằng 0. - Trong mỗi tổng biến xi = 0 thì giữ nguyên xi = 1 thì đảo biến ix . - Hàm tích chuẩn đầy đủ sẽ là tích các tổng đó, từ bảng trên hàm Y tương ứng 2 tổ hợp giá trị các biến: A+B+C = 0 +0 +0, 1 +1 +0 A +B +C, A + B +C → Y =( A +B +C )( A + B +C ) * Để đơn giản trong cách trình bày ta viết lại: f = Π (0,6) Với N =2 ,5 (các thứ tự tổ hợp biến mà không xác định ). 0.3.4. Phương pháp biểu diễn bằng bảng Karnaugh: - Bảng có dạng hình chữ nhật, n biến → 2n ô mỗi ô tương ứng với giá trị của 1 tổ hợp biến. - Giá trị các biến được sắp xếp theo thứ tự theo mã vòng (nếu không thì không còn là bảng Karnaugh nữa!). *Vài điều sơ lược về mã vòng: Giả sử cho số nhị phân là B1B2B3B4 → G3G2G1G0 (mã vòng) thì có thể tính như sau: Gi = Bi+1 ⊕ Bi Ví dụ: G0 = B1 ⊕ B0 = 1B B0 +B1 0B G1 = B2 ⊕ B1 = 2B B1 +B2 1B G2 = B3 ⊕ B2 = 3B B2 +B3 2B G3 = B4 ⊕ B3 = 0⊕ B3 =1.B3 +0. 3B = B3 x2 x1 0 1 0 1 x2 x3 x1 00 01 11 00 0 1 x3 x4 x1x2 00 01 11 10 00 01 11 10 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 7 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện x3 x4x5 x1x2 000 001 011 010 110 111 101 100 00 01 11 10 x4x5x6 x1x2 x3 000 001 011 010 110 111 101 100 000 001 011 010 110 111 101 100 0.4. Phương pháp tối thiểu hoá hàm logic: Mục đích của việc tối ưu hoá hàm logic → thực hiện mạch: kinh tế đơn giản, vẫn bảo đảm chức năng logic theo yêu cầu. →Tìm dạng biểu diễn đại số đơn giản nhất có các phương pháp sau: 0.4.1. Phương pháp tối thiểu hàm logic bằng biến đổi đại số: Dựa vào các biểu thức ở phần 0.3 của chương này . y =a (b c + a) + (b + c )ab = a b c + a + bab + c ab = a Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 8 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện Phương pháp 1 : y = a (b c + a) + (b + c )ab = a b c + a + bab + c ab = a hoặc y = a (b c + a) + (b + c )ab = a b c + a(b+b )(c+ c )+ab c = a b c + abc + ab c + a b c + ab c +ab c m5 m7 m6 m5 m4 m4 (Phương pháp 2: dùng bảng sẽ đề cập ở phần sau) Ví dụ 1: Ví dụ 2: Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 9 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện Ví dụ 3: Ví dụ 4: Ví dụ 5: Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 10 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện 0.4.2. Phương pháp tối thiểu hoá hàm logic bằng bảng Karnaugh: Tiến hành thành lập bảng cho tất cả các ví dụ ở phần (1) bằng cách biến đổi biểu thức đại số sao cho 1 tổ hợp có mặt đầy đủ các biến. Ví dụ: Cho hệ thống có sơ đồ như sau hệ thống này điều khiển hai lò sưởi L1, L2 và cửa sổ S. Các thông số đầu vào của lò nhiệt ở hai mức 10oC & 20oC và độ ẩm ở mức 2%. Hình 0.1: Mô tả hoạt động của hệ thống lò sưởi A tác động khi t0 < 10oC (đầu đo a) B tác động khi t0 > 20oC (đầu đo b) C tác động khi độ ẩm ≥ 2% (đầu đo c) (+) tác động (-) không tác động Điều kiện cụ thể được cho ở bảng sau: Độ ẩm Nhiêt độ W < 2% W ≥ 2% t0 ≥ 20oC - + + - - + 20oC > t0 >10oC + - + - + - t0 < 10oC + + + + - - Thiết bị chấp hành L1 L2 S L1 L2 S Lò L1 Lò L2 Cửa sổ Lò L1 Lò L2 Cửa sổ A B C L1 L2 S 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 x x x 0 1 1 x x x 1 0 0 1 0 1 Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 11 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 Lập bảng Karnaugh cho ba hàm L1 ,L2 ,S L1 = B .C + A ; L2 = A C +A B C + BC ; S = B +C 0.4.3. Phương pháp tối thiểu hàm logic bằng thuật toán Quire MC.Cluskey: a) Một số định nghĩa: + Là tích đầy đủ của các biến. - Đỉnh 1 là hàm có giá trị bằng 1. - Đỉnh 0 là hàm có giá trị bằng 0. - Đỉnh không xác định là hàm có giá trị không xác định x (0 hoặc1). + Tích cực tiểu: tích có số biến là cực tiểu (ít biến tham gia nhất) Để hàm có giá trị bằng “1” hoặc là không xác định “x”. + Tích quan trọng: là tích cực tiểu để hàm có giá trị bằng “1” ở tích này. Ví dụ: Cho hàm f(x1,x2,x3) có L = 2,3,7 (tích quan trọng) N =1,6 (tích cực tiểu) Có thể đánh dấu theo nhị phân hoặc thập phân. b) Các bước tiến hành: Bước 1: Tìm các tích cực tiểu (1) Lập bảng biểu diễn các giá trị hàm bằng 1 và các giá trị không xác định x ứng với mã nhị phân của các biến. (2) Sắp xếp các tổ hợp theo thứ tự tăng dần (0,1,2,...), tổ hợp đó gồm: 1 chữ số 1 2 chữ số 1 3 chữ số 1 (3) So sánh tổ hợp thứ i và i+1 & áp dụng tính chất xy +x y = x. Thay bằng dấu “-“ & đánh dấu “v” vào hai tổ hợp cũ. (4) Tiến hành tương tự như (3). Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 12 Chương 0: Lý thuyết cơ sở Bộ môn Tự Động Đo Lường – Khoa Điện Bảng a Bảng b Bảng c Bảng d số thập phân số ... Word and Rotate Left Word RRW OUT, N RLW OUT, N Lệnh quay vòng sang phải hay lệnh quay vòng sang trái thực hiện dịch chuyển các bit của từ đơn đầu vào IN đi N lần sang phải hay trái. kết quả được lưu vào đầu ra OUT. Tại mỗi lần quay, giá trị của bit cuối cùng (bit 0) được đưa vào bit SM1.1 đồng thời đưa vào bit đầu tiên (bit 7) của byte đó nếu là quay phải, còn ngược lại đối với lệnh quay trái. Bit báo kết quả 0 sẽ có giá trị bằng 1 nếu giá trị trong từ đơn đó bằng 0. IN: IW, QW, VW, LW, MW,SW, SMW, AIW ,AC, T, C, Constant, ∗VD, ∗AC, ∗LD. OUT: IW, QW, VW, LW, MW,SW, SMW, AC, T, C, ∗VD, ∗AC, ∗LD. N: IB, QB, MB, SMB, VB, SB, LB, AC, Constant, ∗VD, ∗AC, ∗LD. Word Byte Rotate Right Double Word and Rotate Left Double Word RRD OUT, N RLD OUT, N Lệnh quay vòng sang phải hay lệnh quay vòng sang trái thực hiện dịch chuyển các bit của từ kép đầu vào IN đi N lần sang phải hay trái. kết quả được lưu vào đầu ra OUT. Tại mỗi lần quay, giá trị của bit cuối cùng (bit 0) được đưa vào bit SM1.1 đồng thời đưa vào bit đầu tiên (bit 7) của từ kép đó nếu là quay phải, còn ngược lại đối với lệnh quay trái. Bit báo kết quả 0 sẽ có giá trị bằng 1 nếu giá trị trong từ kép đó bằng 0. IN: VD, ID, QD, MD, LD, HC, SMD, AC, Constant, ∗VD, ∗AC, ∗LD. OUT: VD, ID, QD, MD, LD, SMD, AC, ∗VD, ∗AC, ∗LD. N: IB, QB, MB, SMB, VB, LB, AC, Constant, ∗VD, ∗AC, ∗LD. DWord Byte ROL_W EN ENO IN OUT N ROL_W EN ENO IN OUT N ROL_DW EN ENO IN OUT N ROL_DW EN ENO IN OUT N Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 117 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Hình 3.56: Ví dụ về cách sử dụng lệnh dịch chuyển và quay vòng thanh ghi Lệnh làm việc với thanh ghi có độ dài tuỳ ý: Lệnh thuộc nhóm này cung cấp một phương pháp nối tiếp và điều khiển dòng sản phẩm hoặc dữ liệu. Thanh ghi được xác định trong lệnh bởi toán hạng S_BIT chỉ địa chỉ bit thấp của thanh ghi và độ dài là giá trị tuyệt đối của toán hạng N trong lệnh (nghĩa là thanh ghi có độ dài |N| bit). Dữ liệu được chuyển vào trong thanh ghi có tên là DATA (DATA = Bool), một lần trong một vòng quét. S_BIT là bit thấp nhất của thanh ghi, nếu gọi cao nhất trong thanh ghi là MSB.b thì MSB.b sẽ được tính theo công thức sau: MSB.b = [(byte của S_BIT) + phần nguyên của(|N| - 1 + bit của S_BIT)/8].[phần còn thừa của phép chia 8] Lý do trừ đi 1 bởi vì S_BIT đã chiếm mất 1 bit của thanh ghi. Ví dụ S_BIT là V33.4 và N = 14 thì MSB.b sẽ là: MSB.b = [(33) + (|14| - 1 + 4)/8]*remainder of the division by 8 = (33 + 2)*remainder of the division by 8 = 35.1 MSB.b là: V35.1 Chiều thực hiện phép dịch chuyển phụ thuộc vào dấu của toán hạng N trong lệnh. Miền giá trị cho phép của toán hạng N là: -64 ≤ N ≤ 64. Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 118 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Nếu N dương thì phép dịch chuyển là phép dịch trái, giá trị của DATA được chuyển vào bit thấp nhất, giá trị logic trong bit cao nhất bị đẩy ra ngoài (vào bit báo tràn SM1.1). Ngược lại N là âm thì phép dịch chuyển là phép dịch phải, giá trị của DATA được chuyển vào bit cao nhất, giá trị logic trong bit thấp nhất bị đẩy ra ngoài (vào bit báo tràn SM1.1). SHRB Lệnh dịch chuyển các bit của thanh ghi một vị trí trong một vòng quét. Thanh ghi được xoá trong lệnh bằng các toán hạng S_BIT chỉ địa chỉ bit thấp trong thanh ghi và |N| chỉ độ dài thanh ghi. Giá trị logic của bit bị đẩy ra khỏi thanh ghi được ghi vào bit báo tràn SM1.1. STL LAD Toán hạng Operands Kiểu dữ liệu Data Types Shift Register Bit SHRB DATA, S_BIT, N DATA, S_BIT: I, Q, V, M, SM, T, C, S, L. N: IB, QB, MB, SMB, VB, LB, AC, Constant, ∗VD, ∗AC, ∗LD. Bool Byte ROL_DW EN ENO S_BIT OUT DATA N Hình 3.57: Mô tả hướng dịch chuyển của thanh ghi với toán hạng âm và dương Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 119 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Hình 3.58: Ví dụ về cách sử dụng lệnh dịch chuyển thanh ghi có độ dài bất kỳ 15. SIMATIC Interupt and Comunication Instrutions: Các chế độ ngắt và xử lý ngắt cho phép thực hiện các quá trình tốc độ cao, phản ứng kịp thời với các sự kiện ở bên trong và bên ngoài. Nguyên tắc cơ bản của một chế độ ngắt cũng giống như thực hiện việc gọi một chương trình con, chỉ khác nhau ở đây là chương trình con được gọi chủ động bằng lệnh gọi chương trình con CALL, còn chương trình xử lý ngắt được gọi bị động bằng tín hiệu báo ngắt. Khi có một tín hiệu báo ngắt, hệ thống sẽ tổ chức thực hiện gọi và thực hiện chương trình con tương ứng với tín hiệu ngắt đó, hay nói cách khác là hệ thống sẽ tổ chức xử lý tín hiệu báo ngắt đó. Chương trình con này được gọi là chương trình xử lý ngắt. Do việc gọi chương trình xử lý ngắt bằng một tín hiệu báo ngắt mà thời điểm xuất hiện tín hiệu báo ngắt hoàn toàn bị động, bởi vậy hệ thống sẽ phải hỗ trợ thêm cho công việc xử lý ngắt như: cất giữ nội dung ngăn xếp, nội dung thanh ghi AC và các bit nhớ đặc biệt; tổ chức xếp hàng ưu tiên cho các tín hiệu xử lý ngắt trong trường hợp chúng chưa kịp thời xử lý. Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 120 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Bảng3.7:Liệt kê các tín hiệu báo ngắt tương ứng với từng loại CPU 21x Kiểu ngắt Mô tả tín hiệu ngắt CPU 212 CPU 214 CPU 215_2DP CPU 216 0 Ngắt theo sườn lên của I0.0∗ Y Y Y Y 1 Ngắt theo sườn xuống của I0.0∗ Y Y Y Y 2 Ngắt theo sườn lên của I0.1 Y Y Y 3 Ngắt theo sườn xuống của I0.1 Y Y Y 4 Ngắt theo sườn lên của I0.2 Y Y Y 5 Ngắt theo sườn xuống của I0.2 Y Y Y 6 Ngắt theo sườn lên của I0.3 Y Y Y 7 Ngắt theo sườn xuống của I0.3 Y Y Y 8 Ngắt để nhận kí tự ở Port 0 Y Y Y Y 9 Ngắt để báo việc truyền dữ liệu đã hoàn tất ở Port 0 Y Y Y Y 10 Ngắt thời gian 0 Y Y Y Y 11 Ngắt thời gian 1 Y Y Y 12 Ngắt theo HSC0, khi giá trị tức thời bằng giá trị đặt trước∗. Y Y Y Y 13 Ngắt theo HSC1, khi giá trị tức thời bằng giá trị đặt trước∗. Y Y Y Y 14 Ngắt theo HSC1, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y Y 15 Ngắt theo HSC1, khi có tín hiệu Reset từ ngoài Y Y Y 16 Ngắt theo HSC2, khi giá trị tức thời bằng giá trị đặt trước∗. Y Y Y 17 Ngắt theo HSC2, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y Y 18 Ngắt theo HSC2, khi có tín hiệu Reset từ ngoài Y Y Y 19 PLS0 Ngắt báo hoàn tất việc đếm xung Y Y Y 20 PLS1 Ngắt báo hoàn tất việc đếm xung Y Y Y 21 Ngắt theo bộ định thời T32, khi giá tức thời CT=PT. Y Y 22 Ngắt theo bộ định thời T96, khi giá tức thời CT=PT. Y Y 23 Ngắt báo hoàn tất việc nhận 1 gói tin ở Port 0 Y Y 24 Ngắt báo hoàn tất việc nhận 1 gói tin ở Port 1 Y 25 Ngắt để nhận kí tự ở Port 1 Y 26 Ngắt để báo việc truyền dữ liệu đã hoàn tất ở Port 1 Y ∗Nếu khai báo kiểu ngắt 12 (HSC0, PV=CV) thì hai kểu ngắt 0 và 1 bị vô hiệu hoá. Ngược lại, nếu sử dụng kiểu ngắt 0 và 1 thì kiểu ngắt 12 bị vô hiệu hoá. Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 121 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Bảng 3.8: Liệt kê các tín hiệu báo ngắt tương ứng với từng loại CPU 22x Kiểu ngắt Mô tả tín hiệu ngắt CPU 221 CPU 222 CPU 214, 224XP CPU 226, 226XM 0 Ngắt theo sườn lên của I0.0 Y Y Y Y 1 Ngắt theo sườn xuống của I0.0 Y Y Y Y 2 Ngắt theo sườn lên của I0.1 Y Y Y Y 3 Ngắt theo sườn xuống của I0.1 Y Y Y Y 4 Ngắt theo sườn lên của I0.2 Y Y Y Y 5 Ngắt theo sườn xuống của I0.2 Y Y Y Y 6 Ngắt theo sườn lên của I0.3 Y Y Y Y 7 Ngắt theo sườn xuống của I0.3 Y Y Y Y 8 Ngắt để nhận kí tự ở Port 0 Y Y Y Y 9 Ngắt để báo việc truyền dữ liệu đã hoàn tất ở Port 0 Y Y Y Y 10 Ngắt thời gian 0, SNB34 Y Y Y Y 11 Ngắt thời gian 1, SMB35 Y Y Y Y 12 Ngắt theo HSC0, khi giá trị tức thời bằng giá trị đặt trước CV=PV. Y Y Y Y 13 Ngắt theo HSC1, khi giá trị tức thời bằng giá trị đặt trước CV=PV. Y Y 14 Ngắt theo HSC1, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y 15 Ngắt theo HSC1, khi có tín hiệu Reset từ ngoài Y Y 16 Ngắt theo HSC2, khi giá trị tức thời bằng giá trị đặt trước CV=PV. Y Y 17 Ngắt theo HSC2, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y 18 Ngắt theo HSC2, khi có tín hiệu Reset từ ngoài Y Y 19 PLS0 Ngắt báo hoàn tất việc đếm xung Y Y Y Y 20 PLS1 Ngắt báo hoàn tất việc đếm xung Y Y Y Y 21 Ngắt theo bộ định thời T32, khi giá tức thời CT=PT. Y Y Y Y 22 Ngắt theo bộ định thời T96, khi giá tức thời CT=PT. Y Y Y Y 23 Ngắt báo hoàn tất việc nhận 1 gói tin ở Port 0 Y Y Y Y 24 Ngắt báo hoàn tất việc nhận 1 gói tin ở Port 1 Y 25 Ngắt để nhận kí tự ở Port 1 Y 26 Ngắt để báo việc truyền dữ liệu đã hoàn tất ở Port 1 Y 27 Ngắt theo HSC0, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y Y Y 28 Ngắt theo HSC0, khi có tín hiệu Reset từ ngoài Y Y Y Y 29 Ngắt theo HSC4, khi giá trị tức thời bằng giá trị đặt trước CV=PV. Y Y Y Y 30 Ngắt theo HSC4, khi có tín hiệu báo đổi hướng đếm từ bên ngoài. Y Y Y Y 31 Ngắt theo HSC4, khi có tín hiệu Reset từ ngoài Y Y Y Y 32 Ngắt theo HSC3, khi giá trị tức thời bằng giá trị đặt Y Y Y Y Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 122 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện trước CV=PV. 33 Ngắt theo HSC5, khi giá trị tức thời bằng giá trị đặt trước CV=PV. Y Y Y Y Thứ tự ưu tiên (priority) và hàng đợi (Queuing) của các kiểu ngắt: Thứ tự ưu tiên của các kiểu ngắt khác nhau đã được cứng hoá từ trước theo nguyên tắc tín hiệu nào có trước thì xử lý trước. Nếu cùng một lúc có nhiều tín hiệu báo ngắt thì hệ thống sẽ sắp hàng đợi theo thứ tự ưu tiên sau: Nhóm ngắt truyền thông (nối tiếp). Nhóm ngắt vào ra (kể cả ngắt cho bộ đếm HSC và ngắt truyền xung). Nhóm các tín hiệu báo ngắt thời gian. Tại mỗi thời điểm chỉ có 1 chương trình xử lý ngắt được thực hiện. Cũng nói thêm rằng, nhóm ngắt truyền thông có vị trí ưu tiên cao nhất và ngắt thời gian có vị trí ưu tiên thấp nhất nhưng khi hệ thống đang xử lý ngắt thời gian mà có tín hiệu báo nhắt thời gian thì hệ thống vẫn tiếp tục xử lý đến khi kết thúc mới tiếp tục xử lý ngắt truyền thông. Bảng hàng đợi lớn nhất mà từng CPU có thể có: Nhóm ưu tiên 212 215 216 221 222 224 226 Ngắt truyền thông 4 4 4 8 4 4 4 8 Ngắt vào ra 4 16 16 16 16 16 16 16 Ngắt thời gian 2 4 8 8 8 8 8 8 214 Riêng đối với tín hiệu báo ngắt truyền thông, mặc dù chưa được xử lý, nhưng kí tự nhận được cùng bit kiểm tra chẵn lẻ vẫn được ghi nhớ lại trong bộ đệm kèm theo đúng thứ tự của tín hiệu báo ngắt. bit Start 7 hoặc 8 bit của kí tự Parity Stop Khi hàng đợi đã đầy thì bit báo tràn tương ứng cho từng nhóm ngắt sẽ set lên 1: Nhóm ưu tiên Bit báo tràn Ngắt truyền thông SM4.0 Ngắt vào ra SM4.1 Ngắt thời gian SM4.2 Cùng với việc chuyển vào chế độ RUN của PLC, tất cả các chế độ ngắt trước đã khai báo trước đó sẽ tự động huỷ (vô hiệu hoá). Nó được kích lại bằng lệnh ENI (kích ngắt toàn cục). Khai báo một chế độ ngắt phải thực hiện hai việc: 1. Kích tín hiệu báo ngắt cho chế độ ngắt tương ứng (bằng cách khai báo tại toán hạng EVENT) bằng lệnh ATCH. 2. Sau đó soạn thảo nội dung của chương trình ngắt trong khối INT_x. Có thể gọp nhiều tín hiệu báo ngắt vào cùng một chương trình (chính hoặc con) nhưng một tín hiệu báo ngắt chỉ có duy nhất một chương trình xử lý ngắt. Khi huỷ tín hiệu ngắt bằng lệnh DISI thì các ngắt vẫn tiếp tục nằm vào hàng đợi cho đến khi chúng được kích klại bằng lệnh ENI. Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 123 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện STL LAD Mô tả Description Toán hạng Operands Kiểu dữ liệu Data Types Attach Interupt ATCH INT, EVENT Lệnh khai báo ngắt mã hiệu INT (khối ngắt), Kiểu ngắt EVENT INT: 0 ÷ 127 EVENT: xem bảng liệt kê các tín hiệu báo ngắt tương ứng với từng loại CPU Byte Detach Interupt DTCH EVENT Lệnh huỷ ngắt cục bộ tương ứng với kiểu ngắt EVENT. EVENT: xem bảng liệt kê các tín hiệu báo ngắt tương ứng với từng loại CPU Byte Enable Interupt ENI Lệnh kích ngắt toàn cục. none none Disable Interupt DISI Lệnh huỷ tất cả các ngắt cùng một lúc. none none Conditional Return from Interupt CRETI Lệnh thoát tức thời khỏi chương trình ngắt khi chương trình ngắt chưa kết thúc. none none Return from Interupt RETI Lệnh kết thúc chương trình xử lý ngắt, ở cuối chương trình. none none ATCH EN INT EVENT DTCH EN EVENT ENI DISI CRETI RETI Chương trình xử lý ngắt: Cũng như chương trình con, mỗi chương trình xử lý ngắt có một nhãn riêng được đánh dấu tại điểm đầu của chương trình. Nhãn này được khai báo bắng lệnh INT. Tất cả các lệnh nằm giữa nhãn của chương trình xử lý ngắt và lệnh quay về không điều kiện RETI của chương trình xử lý ngắt đều thuộc về nội dung của chương trình xử lý ngắt. Có thể kết thúc chương trình xử lý ngắt sớm hơn bằng lệnh CRETI, nhưng lệnh RETI vẫn là lệnh kết thúc của chương trình xử lý ngắt. Nhưng lệnh này không cần khai Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 124 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện báo vì chương trình STEP đã tự động khai báo giống như lệnh MEND (kết thúc chương trình chính), lệnh RET (lệnh kết thúc chương trình con). Chương trình xử lý ngắt cần phải được viết tối ưu, càng nhanh càng tốt, không nên thực hiện chương trình xử lý ngắt quá lâu. Không được sử dụng các lệnh sau trong CTXLN: DISI, ENI, CALL, HDEF, FOR...NEXT, END. Hình 3.59: Ví dụ về cách tổ chức một chương trình xử lý ngắt Ngắt tryền thôngnối tiếp: Cổng truyền thông nối tiếp của PLC có thể điều khiển bằng chương trình viết trong LAD, STL. Chương trình điều khiển này gọi là điều khiển cổng tự do (Freeport Control). Trước khi thực hiện quá trình truyền thông, các vấn đề sau đây cần phải được thực hiện: Kiểu biên bản truyền/nhận (giao thức truyền_Protocol). Tốc độ truyền/nhận tín hiệu. Số bit được truyền cho 1 kí tự (7 or 8 bit). Chế độ kiểm tra lỗi (cho kí tự nhận) chẵn lẻ Parity. Tất cả các vấn đề này được định nghĩa trong byte đặc biệt SMB30 sau: Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 125 Chương 3: Ngôn ngữ lập trình và ứng dụng Bộ môn Tự Động Đo Lường – Khoa Điện Hình 3.60: Mô tả byte định nghĩa việc truyền thông nối tiếp ! Khi truyền thông ở chế độ Freeport thì PLC không làm việc với máy lập trình PG. • Byte SMB2 làm bộ đệm ghi nhớ kí tự nhận được. • Bit SM3.0 dùng để kiểm tra lỗi chẵn lẻ kí tự nhận được, nếu có lỗi chẵn lẻ được phát hiện thì SM3.0 set lên 1. • Sử dụng để thông báo việc truyền thông đã hoàn tất. Các vấn đề về gởi/nhận message được mô tả như sau: gởi dữ liệu Trạm A Vùng mong muốn Port RS485 SM3.0 Parity test SMB2 Bufer Recive chương trình xử lý ngắt EVENT 8 Trạm B Hình 3.61: Mô tả cách nhận message của PLC Biên soạn: Lâm Tăng Đức - Nguyễn Kim Ánh 126
File đính kèm:
- bai_thuc_hanh_dieu_khien_logic.pdf