Biểu diễn hàm logic • Sơ đồ rơ le - tiếp điểm – Hai dây thể hiện nguồn cấp – Lựa chọn ký hiệu biến tương ứng với thiết bị vật lý nút ấn, công tắc hành trình hay tiếp điểm rơ le – Biến ở [r]
(1)10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 2 TDH-VD-BK (2) 10/02/20 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 3 Cơ sở cho điều khiển logic 1.1 Khái niệm điều khiển logic 1.2 Đại số logic 1.3 Biểu diễn hàm logic TDH-VD-BK 4 TDH-VD-BK (3) 10/02/20 Cơ sở cho điều khiển logic 1.1 Khái niệm điều khiển logic 1.2 Đại số logic 1.3 Biểu diễn hàm logic TDH-VD-BK 5 1.1 Khái niệm Điều khiển logic TDH-VD-BK 6 TDH-VD-BK (4) 10/02/20 1.1 Khái niệm Điều khiển logic TDH-VD-BK 7 1.1 Khái niệm Điều khiển logic • Điều khiển logic giải các vấn đề – Hệ thống có các chế độ làm việc khác nhau, tuân theo lệnh điều khiển từ bên ngoài – Chuyển từ chế độ này sang chế độ khác theo trình tự, điều kiện xác định – Đảm bảo trình tự thời gian và tương tác các phận – Phản ứng tức thời trước số kiện TDH-VD-BK 8 TDH-VD-BK (5) 10/02/20 1.1 Khái niệm Điều khiển logic • Các lĩnh vực nghiên cứu điều khiển logic – Khoa học máy tính (Computer Science) – Lập trình (Programming) – Mô (Simulation) – Truyền thông (Communication) – Các hệ thống điều khiển công nghiệp (Industrial Control) TDH-VD-BK 9 1.1 Khái niệm Điều khiển logic • Mô hình hóa hệ thống điều khiển logic – Đại số logic (Boolean Algebra) – Automat hữu hạn (Finite State Machine) – Statechart – GRAFCET – Petri net TDH-VD-BK 10 10 TDH-VD-BK (6) 10/02/20 Cơ sở cho điều khiển logic 1.1 Khái niệm điều khiển logic 1.2 Đại số logic 1.3 Biểu diễn hàm logic TDH-VD-BK 11 11 1.2 Đại số logic • Các vật tượng thường biểu hai mặt đối lập: – – • • Trong sống: đúng/sai, có/không, tốt/xấu, sạch/bẩn, đỗ/trượt, Trong kỹ thuật: đóng/cắt, bật/tắt, chạy/dừng Để biểu diễn (lượng hóa) trạng thái đối lập: và Đại số logic (Đại số Boolean) để nghiên cứu các vật, tượng có trạng thái đối lập TDH-VD-BK 12 12 TDH-VD-BK (7) 10/02/20 1.2 Đại số logic • Biến logic: x [0, 1] • Hàm logic : f(x1, x2, …, xn) [0, 1] với x1, x2, …, xn [0, 1] – Ví dụ: Hàm biến f(x): f ( x) x f ( x) x f ( x) x x f ( x) x.x Hàm biến f(x1,x2): f ( x1 , x2 ) x1 x2 f ( x1 , x2 ) x1 x2 x1 x2 TDH-VD-BK 13 13 1.2 Đại số logic • Các phép toán logic – Phép nghịch đảo: NOT • Bảng giá trị: x f ( x) x 0 • Ký hiệu x x x TDH-VD-BK x 14 14 TDH-VD-BK (8) 10/02/20 1.2 Đại số logic • Các phép toán logic – Phép cộng: OR • Bảng giá trị: x y f(x,y) = x + y 0 0 1 1 1 • Ký hiệu x x x y y 1 y x y TDH-VD-BK 15 15 1.2 Đại số logic • Các phép toán logic – Phép nhân: AND • Bảng giá trị: x y f(x,y) = xy 0 0 1 0 1 • Ký hiệu x y x xy y TDH-VD-BK & xy 16 16 TDH-VD-BK (9) 10/02/20 1.2 Đại số logic • Các tính chất các phép toán logic x+y = y+x xy=yx – Kết hợp: x+y+z =(x+y)+z=x+(y+z) xyz =(xy)z=x(yz) – Phân phối: x(y+z)=xy+xz x+yz =(x+y)(x+z) – Luật De Morgan: – Giao hoán : x1 x2 xn x1.x2 .xn x1.x1 xn x1 x2 xn TDH-VD-BK 17 17 1.2 Đại số logic • Một số hệ thức thường gặp x+0 = x x.1 = x x.0 = x+1 = x+x = x x.x = x x x 1 x.x x+xy = x x.(x+y) = x xy xy x ( x y )( x y ) x TDH-VD-BK Chú ý: Tính đối ngẫu (duality) các hệ thức logic 18 18 TDH-VD-BK (10) 10/02/20 Cơ sở cho điều khiển logic 1.1 Khái niệm điều khiển logic 1.2 Đại số logic 1.3 Biểu diễn hàm logic TDH-VD-BK 19 19 1.3 Biểu diễn hàm logic • Bảng chân lý x1 x2 x3 f(x1,x2,x3) 0 0 0 “x” 1 “x” 0 1 1 “x” 1 1 Dấu “x” là giá trị hàm không xác định, có thể nhận giá trị TDH-VD-BK 20 20 TDH-VD-BK 10 (11) 10/02/20 1.3 Biểu diễn hàm logic • Bảng Các nô (Carnough map) – Biểu diễn hàm logic n biến cần thành lập bảng có 2n ô, ô tương ứng với tổ hợp biến – Các ô cạnh đối xứng cho phép khác giá trị biến – Trong các ô ghi giá trị hàm tương ứng với giá trị tổ hợp biến đó Ví dụ: x1 x2 f(x1,x2) 0 1 0 1 1 1 x1 TDH-VD-BK x2 21 21 x1 x2 x3 f(x1,x2,x3) 0 0 0 “x” 1 “x” 0 1 1 “x” 1 1 x2 x3 x1 x1 x2x3 00 01 11 10 “x” “x” 1 “x” TDH-VD-BK 22 22 TDH-VD-BK 11 (12) 10/02/20 x3 x4 x3x4 x1x2 00 01 11 10 00 01 x2 11 x1 10 x3 x4 x5 x1x2 x3x4x5 000 001 x5 011 010 110 111 101 100 00 01 x2 11 x1 10 TDH-VD-BK 23 23 1.3 Biểu diễn hàm logic • Sơ đồ rơ le – tiếp điểm Thiết bị Nút ấn Loại Ký hiệu Thường mở Thường đóng Công tắc Thường mở hành trình Thường đóng Rơ le Cuộn dây Tiếp điểm thường mở Tiếp điểmTDH-VD-BK thường đóng 24 24 TDH-VD-BK 12 (13) 10/02/20 Biểu diễn hàm logic • Sơ đồ rơ le - tiếp điểm – Hai dây thể nguồn cấp – Lựa chọn ký hiệu biến tương ứng với thiết bị vật lý (nút ấn, công tắc hành trình hay tiếp điểm rơ le) – Biến trạng thái thường: tiếp điểm thường mở – Biến trạng thái đảo: tiếp điểm thường đóng – Cộng logic: đấu song song – Nhân logic: đấu nối tiếp – Đầu ra: cuộn dây rơ le đấu nối tiếp với tổ hợp biểu diễn các biến đầu vào TDH-VD-BK 25 25 1.3 Biểu diễn hàm logic • Sơ đồ rơ le – tiếp điểm Ví dụ: = , = TDH-VD-BK + 26 26 TDH-VD-BK 13 (14) 10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 2 TDH-VD-BK (15) 10/02/20 Tổng hợp và tối thiểu hóa mạch logic tổ hợp 2.1 Khái niệm mạch logic tổ hợp 2.2 Tổng hợp mạch logic tổ hợp Dạng tổng chuẩn đầy đủ Dạng tích chuẩn đầy đủ 2.3 Tối thiểu hóa mạch logic tổ hợp Phương pháp đại số Phương pháp bảng Các nô (Carnough map) Phương pháp Quine Mc Clusky TDH-VD-BK 3 Tổng hợp và tối thiểu hóa mạch logic tổ hợp 2.1 Khái niệm mạch logic tổ hợp 2.2 Tổng hợp mạch logic tổ hợp Dạng tổng chuẩn đầy đủ Dạng tích chuẩn đầy đủ 2.3 Tối thiểu hóa mạch logic tổ hợp Phương pháp đại số Phương pháp bảng Các nô (Carnough map ) Phương pháp Quine Mc Clusky TDH-VD-BK 4 TDH-VD-BK (16) 10/02/20 2.1 Khái niệm mạch logic tổ hợp • Định nghĩa: Mạch logic tổ hợp là mạch logic mà tín hiệu mạch phụ thuộc vào tín hiệu đầu vào, không phụ thuộc vào thứ tự, thời gian tác động tín hiệu vào • Tính chất • • • • Không có nhớ Không có yếu tố thời gian Cùng tổ hợp tín hiệu vào, tín hiệu là Mạch vòng hở Mạch logic tổ hợp TDH-VD-BK tín hiệu vào tín hiệu 5 Tổng hợp và tối thiểu hóa mạch logic tổ hợp 2.1 Khái niệm mạch logic tổ hợp 2.2 Tổng hợp mạch logic tổ hợp Dạng tổng chuẩn đầy đủ Dạng tích chuẩn đầy đủ 2.3 Tối thiểu hóa mạch logic tổ hợp Phương pháp đại số Phương pháp bảng Các nô (Carnough map ) Phương pháp Quine Mc Clusky TDH-VD-BK 6 TDH-VD-BK (17) 10/02/20 2.2 Tổng hợp mạch logic tổ hợp – Dạng tổng chuẩn đầy đủ • Chỉ quan tâm đến tổ hợp các giá trị biến làm cho hàm có giá trị Mỗi tổ hợp này tương ứng với tích tất các biến • Trong tích, các biến có giá trị thì biểu diễn trạng thái thường, các biến có giá trị thì biểu diễn trạng thái phủ định • Hàm logic dạng tổng chuẩn đầy đủ là tổng các tích đó x y f(x,y) 0 1 0 1 f ( x, y ) x y x y TDH-VD-BK 7 – Chú ý: Cách ký hiệu rút gọn hàm logic f ( x1 , x2 , x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 ( , , )= 0, 2, 5, 6, Thập phân x1 0 0 1 0 1 1 0 1 1 1 1 x2 x3 TDH-VD-BK f(x1,x2,x3) 8 TDH-VD-BK (18) 10/02/20 2.2 Tổng hợp mạch logic tổ hợp – Dạng tích chuẩn đầy đủ • Chỉ quan tâm đến tổ hợp các giá trị biến làm cho hàm có giá trị Mỗi tổ hợp này tương ứng với tổng tất các biến • Trong tổng, các biến có giá trị thì biểu diễn trạng thái thường, các biến có giá trị thì biểu diễn trạng thái phủ định • Hàm logic dạng tích chuẩn đầy đủ là tích các tổng đó x y f(x,y) 0 1 0 1 f ( x, y) ( x y )( x y ) TDH-VD-BK 9 Tổng hợp và tối thiểu hóa mạch logic tổ hợp 2.1 Khái niệm mạch logic tổ hợp 2.2 Tổng hợp mạch logic tổ hợp Dạng tổng chuẩn đầy đủ Dạng tích chuẩn đầy đủ 2.3 Tối thiểu hóa mạch logic tổ hợp Phương pháp đại số Phương pháp bảng Các nô (Carnough map ) Phương pháp Quine Mc Clusky TDH-VD-BK 10 10 TDH-VD-BK (19) 10/02/20 2.3 Tối thiểu hóa hàm logic • Phương pháp biến đổi đại số – Dựa vào các hệ thức f ( a, b) a b ab ab (a b ab) ( ab ab ) (a a)b a(b b ) ba – Nhược điểm: không biết rõ đã tối thiểu chưa TDH-VD-BK 11 11 2.3 Tối thiểu hóa hàm logic • Phương pháp bảng Các nô – Biểu diễn hàm đã cho dạng bảng Các nô – Nhóm các ô có giá trị và không xác định cạnh đối xứng thành các vòng: • • • • Số ô vòng là 2m, m lớn có thể Các vòng có thể giao không trùm lên Các vòng phải phủ hết các ô có giá trị Số vòng phải là tối thiểu – Mỗi vòng tương ứng với tích các biến có giá trị không thay đổi vòng đó với biểu diễn tương ứng với giá trị các biến – Hàm rút gọn tổng các tíchTDH-VD-BK tương ứng với các vòng 12 12 TDH-VD-BK (20) 10/02/20 – Ví dụ 1: f ( x1 , x2 , x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 f(x1,x2,x3) 0 0 0 1 1 0 1 1 1 1 1 x1 x2x3 00 01 11 10 0 1 1 , x1 , x2x3 11 10 0 1 1 13 , , = + 01 , , + 00 , TDH-VD-BK – Ví dụ 2: = = ̅ ̅ ̅ ̅ + ̅ ̅ + ̅ ̅ + ̅ + ̅ + + + ̅ ̅ ̅ + ̅ + x3 13 ̅ ̅ x4 x1x2 x2 x1 , , x3x4 00 01 11 10 00 0 01 0 0 11 1 10 1 1 , = ̅ ̅ + TDH-VD-BK + ̅ CHƯA TỐI THIỂU 14 14 TDH-VD-BK (21) 10/02/20 x3 x4 x1x2 x2 x1 , , x3x4 00 01 11 10 00 0 01 0 0 11 1 10 1 1 , = ̅ ̅ + TDH-VD-BK 15 15 2.3 Tối thiểu hóa hàm logic • Phương pháp Quine Mc Clusky – Ghi các tổ hơp biến theo mã nhị phân (đảo = 0) – Nhóm các tổ hợp biến theo số chữ số biểu diễn nhị phân, nhóm i có i chữ số – Ghép tổ hợp nhóm thứ i với nhóm i+1 chúng khác bit cùng vị trí Đánh dấu “-” vào vị trí bit đổi trị tổ hợp hình thành Đánh dấu “*” vào các tổ hợp đã tham gia ghép, dấu “” vào các tổ hợp không thể ghép – Lặp lại bước trên đến không kết hợp – Lập bảng phủ tối thiểu: chọn số tổ hợp không thể ghép tối thiểu để phủ hết số tổ hợp ban đầu – Hàm tối thiểu tổng các tích ứng với các tổ hợp không thể ghép lựa chọn bảng phủ tối thiểu TDH-VD-BK 16 16 TDH-VD-BK (22) 10/02/20 • Ví dụ 1: f (a, b, c) a b c a b c ab c ab c abc 000 001 100 101 Nhóm Tổ hợp biến I Tổ hơp biến II Tổ hợp biến III 000* -00* 00-* -0- -0- 100* 001* 10-* -01* 101* 1-1 111* 111 Bảng phủ -0- 000 001 100 101 x x x x 111 x x 1-1 f (a, b, c) b ac TDH-VD-BK 17 17 • Ví dụ 2: f (a, b, c, d ) a b c d a bc d a bc d a bcd a bcd ab c d ab c d ab cd abc d abcd 0000 0100 0101 0110 0111 1000 1001 1010 Nhóm Tổ hợp biến I Tổ hợp biến II 0000* 0-00 -000 0100* 1000* 010-* 01-0* 100- 10-0 01- - 01- - 0101* 0110* 1001* 1010* 01-1* 011-* -101* 1-01 -1-1 -1-1 0111* 1101* -111* 11-1* 1111* TDH-VD-BK 1101 1111 Tổ hợp biến III 18 18 TDH-VD-BK (23) 10/02/20 Bảng phủ 0000 0100 0-00 x x -000 x 0101 0110 0111 1000 1001 x 10-0 x 1-01 -1-1 1101 1111 x 100- 01 1010 x x x x x x x x x x x x f (a, b, c, d ) a c d ab c ab d a b bd TDH-VD-BK 19 19 • Bài tập nhà: • Rút gọn dùng bảng Các nô: f ( x, y, z ) (0,1,6,7) f ( w, x, y, z ) (1,3,7,9,11,15) f (v, w, x, y, z ) (0,4,18,19,23,27,28,29,31) • Rút gọn dùng phương pháp Quine Mc.Clusky f ( x, y, z ) (2,3,4,5) f ( w, x, y, z ) (0,1,4,5,12,13) f ( w, x, y, z ) (1,4,5,7,8,9,13,14,15) TDH-VD-BK 20 20 TDH-VD-BK 10 (24) 10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 2 TDH-VD-BK (25) 10/02/20 Tổng hợp mạch logic 3.1 Khái niệm mạch logic Định nghĩa Tính chất Phân loại Biểu diễn đồ thị thời gian 3.2 Tổng hợp mạch logic Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 3 Tổng hợp mạch logic 3.1 Khái niệm mạch logic Định nghĩa Tính chất Phân loại Biểu diễn đồ thị thời gian 3.2 Tổng hợp mạch logic Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 4 TDH-VD-BK (26) 10/02/20 3.1 Khái niệm mạch logic • Định nghĩa: Mạch logic là mạch logic mà tín hiệu mạch không phụ thuộc vào tín hiệu đầu vào, mà còn phụ thuộc vào thứ tự, thời gian tác động tín hiệu vào • Tính chất – Có nhớ – Có yếu tố thời gian – Cùng tín hiệu vào, tín hiệu có thể khác (các trạng thái hay trạng thái làm việc) – Mạch vòng kín (có phản hồi) tín hiệu vào Mạch logic tổ hợp tín hiệu Mạch nhớ TDH-VD-BK 5 3.1 Khái niệm mạch logic • Phân loại – Mạch logic đồng bộ: việc chuyển trạng thái mạch không phụ thuộc vào tín hiệu đầu vào, trạng thái trước đó, mà còn phụ thuộc vào xung đồng • Dùng phổ biến máy tính (môn ĐT số) – Mạch logic không đồng bộ: việc chuyển trạng thái mạch phụ thuộc vào tín hiệu đầu vào, trạng thái trước đó • Không có tín hiệu đồng • Thường gặp công nghệ các máy sản xuất công nghiệp TDH-VD-BK 6 TDH-VD-BK (27) 10/02/20 3.1 Khái niệm mạch logic • Biểu diễn đồ thị thời gian + a1 a2 Y Y a2 _ Y Z a1 a2 Y Z TDH-VD-BK 7 Tổng hợp mạch logic 3.1 Khái niệm mạch logic Định nghĩa Tính chất Phân loại Biểu diễn đồ thị thời gian 3.2 Tổng hợp mạch logic Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 8 TDH-VD-BK (28) 10/02/20 3.2 Tổng hợp mạch logic • Phương pháp ma trận trạng thái Yêu cầu công nghệ Chuyển các quá trình công nghệ thành các biến logic Mã hóa bài toán Lập bảng chuyển trạng thái Tối thiểu hóa hàm logic Rút gọn bảng chuyển Thực mạch nhớ Mã hóa biến trung gian Xác định các hàm logic cho TDH-VD-BK biến trung gian và biến 9 Ví dụ 1: a0 a1 P T Mã hóa bài toán: Vào a0a1 = Ra PT • Xác định các biến vào ra: • Graph chuyển trạng thái: 10 10 00 10 01 01 TDH-VD-BK 00 01 10 10 TDH-VD-BK (29) 10/02/20 Ví dụ 1: a0 a1 P T Mã hóa bài toán: Vào a0a1 = Ra PT • Xác định các biến vào ra: • Graph chuyển trạng thái: 00 10 10 10 01 01 00 01 TDH-VD-BK 11 11 Lập bảng chuyển trạng thái MI: 10 10 00 10 Trạng thái 01 01 00 01 Tín hiệu vào:a0a1 a1 a0 00 01 11 10 Tín hiệu P T (sang phải) (trên đường sang phải) 0 1 (sang trái) (trên đường sang trái) TDH-VD-BK 12 12 TDH-VD-BK (30) 10/02/20 Lập bảng chuyển trạng thái MI: các đỉnh 10 10 00 10 Trạng thái 01 01 00 01 Tín hiệu vào:a0a1 a1 a0 00 01 11 10 (sang phải) (trên đường sang phải) 3 (sang trái) (trên đường sang trái) Tín hiệu P T 1 0 1 TDH-VD-BK 13 13 Lập bảng chuyển trạng thái MI: các cung có hướng 10 10 00 10 Trạng thái 01 01 00 01 Tín hiệu vào:a0a1 a1 a0 00 01 11 10 Tín hiệu P T (sang phải) 2 (trên đường sang phải) 1 (sang trái) (trên đường sang trái) TDH-VD-BK 14 14 TDH-VD-BK (31) 10/02/20 Rút gọn bảng chuyển (Lập bảng chuyển trạng thái M II: nhập hàng M I) Quy tắc nhập hàng: Trên cùng cột biến vào, các hàng phải có cùng số ký hiệu trạng thái là giá trị trống Không quan tâm đến giá trị biến đầu ra, ưu tiên nhập các hàng có đầu giống Số hàng nhập nhiều có thể Trạng thái ổn định nhập với không ổn định ghi trạng thái ổn định Trạng thái (/không) ổn định nhập với ô trống ghi trạng thái (/không) ổn định TDH-VD-BK 15 15 Bảng M I Trạng thái Tín hiệu vào:a0a1 a1 00 (sang phải) 2 (trên đường sang phải) (sang trái) (trên đường sang trái) 01 11 10 P T 1 3 1 Bảng M II a1 + 2 + 4 Tín hiệu a0 10 01 3 01 TDH-VD-BK a0 10 16 16 TDH-VD-BK (32) 10/02/20 Xác định và mã hóa biến trung gian – Số lượng biến trung gian tối thiểu Smin S N (N: số hàng M II) – N = Smin = chọn biến trung gian X – Mã hóa a1 a0 + 2 X=0 + 4 X=1 TDH-VD-BK 17 17 Xác định hàm điều khiển cho biến trung gian X: a1 Bảng M II + 2 + 4 a0 3 X=0 X=1 a1 Bảng Các nô cho biến X X TDH-VD-BK a0 10 00 01 1 = 11 + 18 18 TDH-VD-BK (33) 10/02/20 Xác định hàm logic điều khiển các biến Cho biến P: a1 X 10 01 Cho biến T X a1 a0 = a0 X a0 10 01 a1 = TDH-VD-BK 19 19 • Sơ đồ nguyên lý + _ a1 a0 X X X P X T = = + = Nếu thay X T, chuyện gì xảy ra? Trong các hàng M II, các trạng thái ổn định có cùng giá trị đầu ra, có thể cho phép dùng biến làm biến trung gian TDH-VD-BK 20 20 TDH-VD-BK 10 (34) 10/02/20 • Ví dụ 2: nút ấn m và d, thiết bị điện T – Ấn nút m: đóng điện cho T – Ấn nút d: cắt điện T – nút ấn đồng thời: T ngắt điện • Chọn các biến vào ra: • Graph chuyển trạng thái 00 Vào md = T Ra 10 00 01 11 TDH-VD-BK 21 21 00 10 00 01 11 Bảng M I Trạng thái Tín hiệu vào: md 00 01 11 10 Tín hiệu T 3 4 5 TDH-VD-BK 22 22 TDH-VD-BK 11 (35) 10/02/20 • Bảng chuyển trạng thái M I & M II Bảng M I Trạng thái Tín hiệu vào: md 00 01 11 2 3 4 5 d Bảng M II + 10 Tín hiệu T + + 3 m 5 2 1 TDH-VD-BK 23 23 • Xác định và mã hóa biến trung gian: – Smin = 1, chọn biến trung gian là biến X = T T 1 T 4 d m 5 d T 1 m 0 1 0 TDH-VD-BK = =( ̅+ ̅ + ) ̅ 24 24 TDH-VD-BK 12 (36) 10/02/20 • Sơ đồ rơ le-tiếp điểm + m _ d T T TDH-VD-BK 25 25 • Ví dụ 2.1: nút ấn m và d, thiết bị điện T 00 10 00 01 11 TDH-VD-BK 26 26 TDH-VD-BK 13 (37) 10/02/20 10 00 00 01 11 Bảng M I Trạng thái Tín hiệu vào: md Tín hiệu T 00 01 11 10 5 2 3 4 5 TDH-VD-BK 27 27 • Ví dụ 2.2: nút ấn m và d, thiết bị điện T – Ấn nút m: đóng điện cho T – Ấn nút d: cắt điện T • Chọn các biến vào ra: Vào md • Graph chuyển trạng thái Ra = T 00 10 TDH-VD-BK 00 01 28 28 TDH-VD-BK 14 (38) 10/02/20 • Ví dụ 3: nút ấn a, b và c, động M – Ấn nút a: động quay thuận – Ấn nút b: động quay ngược – Ấn nút c: động dừng – Đang quay thuận, ấn b: động quay ngược – Đang quay ngược, ấn a: động quay thuận • Chọn các biến vào ra: – Quay thuận: TN = 10 – Quay ngược: TN = 01 – Dừng: TN = 00 Vào abc = Ra TN TDH-VD-BK 29 29 Bảng M I 000 00 100 10 000 10 001 00 010 01 000 01 TDH-VD-BK 30 30 TDH-VD-BK 15 (39) 10/02/20 Bảng M II Xác định và mã hóa biến trung gian: X ; Y Nhận xét: Biến trung gian trùng với biến đầu T = X; N = Y XY = TN = 00 XY = TN = 10 XY = NT = 01 TDH-VD-BK 31 31 Chú ý: Chuyển từ bảng MII sang bảng Các nô TN = 00 TN = 10 TN = 01 abc 000 TN 00 00 001 00 01 10 01 00 01 10 10 00 01 10 01 011 010 110 111 101 100 11 10 TDH-VD-BK 32 32 TDH-VD-BK 16 (40) 10/02/20 abc 000 TN 00 01 011 001 110 010 111 101 100 0 0 1 0 001 = 11 10 abc 000 TN 00 01 011 + ̅ 110 010 111 101 100 1 0 11 10 = + ̅ TDH-VD-BK 33 _ + a T b c a c b N + 33 T N _ T N N Đ T CKĐ TDH-VD-BK 34 34 TDH-VD-BK 17 (41) 10/02/20 • BTVN: • Cho nút ấn A, B, C điều khiển động M1, M2 – – – – m A: M1 làm việc B: M2 làm việc C: M1, M2 dừng M1 làm việc trước M2 làm việc b0 b1 m b0 b1 a0 a0 a1 a1 TDH-VD-BK 35 35 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 36 36 TDH-VD-BK 18 (42) 10/02/20 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 37 37 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 38 38 TDH-VD-BK 19 (43) 10/02/20 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 39 39 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 40 40 TDH-VD-BK 20 (44) 10/02/20 • Ví dụ 4: Chu trình làm việc: • A sang phải (A+) • A sang trái (A-) • B xuống (B+) • B lên (B-) TDH-VD-BK 41 41 • Nhận xét: – Số biến vào lớn – Có thể rút gọn số biến vào: • Chọn a cho a1 là tín hiệu đóng (set) a, a0 là tín hiệu cắt (reset) a = + = + • Chọn b cho b1 là tín hiệu đóng (set) b, b0 là tín hiệu cắt (reset) b TDH-VD-BK 42 42 TDH-VD-BK 21 (45) 10/02/20 Biến vào ra: Vào ab = Ra A A B B = + = + Graph chuyển trạng thái 00 1000 10 0100 00 0010 01 0001 TDH-VD-BK 43 43 Bảng M I Trạng thái Tín hiệu vào:ab b a 00 01 11 10 Tín hiệu A+ A- B+ B- 1 0 0 3 0 4 0 b Bảng M II + + 3 1000 0010 0001 a 2 TDH-VD-BK 0100 44 44 TDH-VD-BK 22 (46) 10/02/20 • Xác định và mã hóa biến trung gian: – Smin = 1, chọn biến trung gian là biến X (không thể lấy biến là biến trung gian) X b X a 40 b X 0 1 a = TDH-VD-BK + 45 45 • Lập bảng Các nô để xác định hàm logic điều khiển các biến Cho biến A+: b b a a X 1000 0001 0010 Cho biến A- 0100 X 0 X = b a 0 TDH-VD-BK = 46 46 TDH-VD-BK 23 (47) 10/02/20 Cho biến B+: b b a a X 1000 0001 0010 Cho biến B- 0100 X 0 X = b a 0 = TDH-VD-BK 47 TDH-VD-BK 48 47 48 TDH-VD-BK 24 (48) 10/02/20 Tổng hợp mạch logic 3.1 Khái niệm mạch logic Định nghĩa Tính chất Phân loại Biểu diễn đồ thị thời gian 3.2 Tổng hợp mạch logic Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 49 49 3.2 Tổng hợp mạch logic • Phương pháp GRAFCET trạng thái ban đầu tác nhân kích thích trạng thái làm việc tác nhân kích thích … – Biểu diễn các quá trình công nghệ dạng lưu đồ (graph) các trạng thái làm việc – Xây dựng các hàm logic điều khiển và sơ đồ điều khiển từ lưu đồ (graph) các trạng thái làm việc tác nhân kích thích n-1 n trạng thái làm việc n tác nhân kích thích n TDH-VD-BK 50 50 TDH-VD-BK 25 (49) 10/02/20 • Phương pháp GRAFCET – Một số ký hiệu Tên gọi Ký hiệu Trạng thái ban đầu Trạng thái thông thường k k Trạng thái hoạt động Cung định hướng và chuyển tiếp TDH-VD-BK 51 51 • Phương pháp GRAFCET – Mỗi trạng thái ứng với một nhóm hành động hoàn chỉnh – Mỗi chuyển tiếp kèm với tác nhân kích thích (điều kiện logic) biểu thị điều kiện chuyển trạng thái – Trạng thái hoạt động: thực thi các hành động tương ứng với trạng thái đó – Hoạt động GRAFCET: các trạng thái hoạt động theo trình tự quy định (di chuyển token) TDH-VD-BK 52 52 TDH-VD-BK 26 (50) 10/02/20 • Quy tắc hoạt động GRAFCET (quy tắc vượt qua chuyển tiếp) – Chuyển tiếp sẵn sàng: các trạng thái trước chuyển tiếp (đầu vào) là hoạt động – Chuyển tiếp vượt qua: chuyển tiếp sẵn sàng và tác nhân kích thích xảy (điều kiện logic là đúng) – Khi vượt qua chuyển tiếp: Các trạng thái trước chuyển tiếp ngừng hoạt động, đồng thời các trạng thái sau (đầu ra) hoạt động TDH-VD-BK 53 53 Ví dụ 1: m a0 P a1 T trạng thái ban đầu Ấn nút m và đầu hành trình Đi sang phải đã cuối hành trình Đi sang trái Đã đầu hành trình TDH-VD-BK 54 54 TDH-VD-BK 27 (51) 10/02/20 • Xây dựng hàm logic từ GRAFCET – Mỗi trạng thái i ứng với biến Si – Mỗi biến Si có hàm đóng (set) và hàm cắt (reset) i-1 Si-1 fi-1 + = = = i i+1 – Cần tín hiệu xác lập trạng thái ban đầu ( ) = 55 Ví dụ 2: m a0 + TDH-VD-BK Si fi Si+1 55 a1 P T g Xác lập trạng thái ban đầu 0 trạng thái ban đầu m.a0 Ấn nút m và đầu hành trình 1 Đi sang phải S1 = P a1 đã cuối hành trình S0 Đi sang trái S2 = T a0 Đã đầu hành trình TDH-VD-BK 56 56 TDH-VD-BK 28 (52) 10/02/20 g = = S0 m.a0 = = S1 = P a1 = = S2 = T a0 + = + = = + TDH-VD-BK ̅ + ̅ + ̅ 57 57 Sơ+đồ điều khiển rơ le-tiếp điểm _ g a0 S2 S1 S0 m a0 S0 S2 S1 a1 S1 S0 S2 S1 S0 S1 S2 P S2 TDH-VD-BK T 58 58 TDH-VD-BK 29 (53) 10/02/20 – Các dạng mạch đặc biệt • Mạch phân kỳ “HOẶC” Si i fi+1 i+1 Si+1 i+2 Si+2 = = = = 59 fi+3 fi+2 + i+3 Si+3 + TDH-VD-BK 59 • Mạch hội tụ “HOẶC” i+1 Si+1 i+2 Si+2 fi+1 i+3 Si+3 fi+3 fi+2 i+4 Si+4 = = = + = TDH-VD-BK + 60 60 TDH-VD-BK 30 (54) 10/02/20 • Mạch phân kỳ “VÀ” Si i fi i+1 Si+1 i+2 Si+2 = = = i+3 Si+3 = TDH-VD-BK 61 61 • Mạch hội tụ “VÀ” i+1 Si+1 i+3 Si+3 i+2 Si+2 fi+4 i+4 Si+4 = = = TDH-VD-BK = 62 62 TDH-VD-BK 31 (55) 10/02/20 • Ví dụ TDH-VD-BK 63 63 b0 • Ví dụ 3Xác định trạng thái ban đầu a0 B+ trạng thái ban đầu A+ đã đầu hành trình xuống và cuối hành trình ngang b1 B- A- A+ A- a1 trạng thái xuống đã cuối hành trình xuống trạng thái lên đã đầu hành trình xuống và cuối hành trình ngang đã đầu hành trình xuống và đầu hành trình ngang trạng thái sang phải đã cuối hành trình ngang TDH-VD-BK trạng thái sang trái đã đầu hành trình ngang 64 64 TDH-VD-BK 32 (56) 10/02/20 g = = = S0 a0b0 S1=A+ a1 = = = S2=A- S3=B+ b1 + = = =( + a0b1 a 0b + TDH-VD-BK 65 +S ) ̅ + + + S4=Bb0 + = = =( ̅ + = = =( = + + + ) ̅ ̅ ̅ ) ̅ 65 • Ví dụ TDH-VD-BK 66 66 TDH-VD-BK 33 (57) 10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 2 TDH-VD-BK (58) 10/02/20 Tổng quan PLC 4.1 Giới thiệu chung PLC • • • • • Định nghĩa Lịch sử Ưu điểm Ứng dụng Phân loại 4.2 Cấu trúc phần cứng và nguyên lý làm việc 4.3 Ghép nối với module vào/ra logic 4.4 Ghép nối với module vào/ra tương tự 4.5 Chuẩn IEC 61131-3 cho lập trình PLC TDH-VD-BK 3 4.1 Giới thiệu chung PLC • Định nghĩa (theo IEC61131): “Hệ thống điện tử số thiết kế sử dụng môi trường công nghiệp, có nhớ khả trình với tập lệnh hướng tới người sử dụng để thực các chức định logic, tuần tự, định thời gian, đếm và tính toán số học, sử dụng để điều khiển nhiều loại máy và quá trình khác thông qua các đầu vào/ra số tương tự.” TDH-VD-BK 4 TDH-VD-BK (59) 10/02/20 4.1 Giới thiệu chung PLC • Lịch sử Xuất năm 1968 Modicon theo yêu cầu General Motors Được thiết kế để dễ lập trình và bảo trì Thay các hệ thống điều khiển logic cồng kềnh sử dụng rơle sản xuất tự động Chi phí thấp, nhỏ gọn, linh hoạt dựa trên kiến trúc vi xử lý TDH-VD-BK 5 4.1 Giới thiệu chung PLC • Ưu điểm: Chi phí hiệu Linh hoạt Cho phép điều khiển các tác vụ phức tạp nhờ khả tính toán đa dạng Lập trình đơn giản Tin cậy TDH-VD-BK 6 TDH-VD-BK (60) 10/02/20 4.1 Giới thiệu chung PLC • Ứng dụng PLC: Điều khiển hệ thống băng tải, điểu khiển thang máy, hệ thống quản lý và giám sát, hệ thống điều hòa Quản lý hệ điều khiển phân tán phức tạp Hệ thống điều khiển nhà máy xi măng, nhà máy nhiệt điện … TDH-VD-BK 7 4.1 Giới thiệu chung PLC • Phân loại TDH-VD-BK 8 TDH-VD-BK (61) 10/02/20 4.2 Cấu trúc phần cứng và nguyên lý làm việc • Cấu trúc phần cứng Nguồn (Power Supply) Bộ xử lý trung tâm (CPU) Đầu vào/ra (I/O) Bộ nhớ (Memory) Truyền thông (Communication) TDH-VD-BK 9 4.2 Cấu trúc phần cứng và nguyên lý làm việc • Nguyên lý làm việc: theo chu trình quét Đọc liệu đầu vào Xử lý & Tính toán Ghi liệu đầu TDH-VD-BK 10 10 TDH-VD-BK (62) 10/02/20 4.2 Ghép nối với module vào/ra • Thiết bị đầu vào logic Nút ấn Công tắc hành trình Công tắc chuyển mạch Cảm biến điện dung 11 TDH-VD-BK 11 4.2 Ghép nối với module vào/ra • Sơ đồ nguyên lý ghép nối đầu vào logic + 24VDC - LED Mạch logic Sơ đồ nguyên lý mạch module đầu vào 110VAC – 220VAC Sơ đồ nguyên lí mạch module đầu vào 24VDC TDH-VD-BK 12 12 TDH-VD-BK (63) 10/02/20 4.2 Ghép nối với module vào/ra • Ví dụ Sơ đồ nguyên lý đấu dây với module 1769-IQ hãng Rockwell Automation 13 TDH-VD-BK 13 4.2 Ghép nối với module vào/ra • Thiết bị đầu logic 10 11 12 13 14 Van điện từ Rơle TDH-VD-BK 14 14 TDH-VD-BK (64) 10/02/20 4.2 Ghép nối với module vào/ra • Sơ đồ nguyên lý ghép nối đầu logic +24VDC Tín hiệu điều khiển từ CPU Tải Q1 0VDC Đầu kiểu rơle Đầu transitor kiểu sink Đầu transitor kiểu source 15 TDH-VD-BK 15 4.2 Ghép nối với module vào/ra • Thiết bị đầu vào tương tự Cảm biến nhiệt độ Cảm biến trọng lượng (loadcell) TDH-VD-BK Cảm biến mức 16 16 TDH-VD-BK (65) 10/02/20 4.2 Ghép nối với module vào/ra Cảm biến dây đầu điện áp • Ghép nối đầu vào tương tự V in0 + Tín hiệu V/I in0I in0 + Cảm biến dây đầu điện áp Tín hiệu ANLG Com V in1 + V/I in1- I in1 + ANLG Com Cảm biến dây đầu điện áp V in2 + Tín hiệu V/I in2- I in2 + ANLG Com Cảm biến dây đầu dòng điện Tín hiệu V in3 + V/I in3- I in3 + ANLG Com +24VDC DC NEUT 24VDC Kết nối cảm biến sử dụng cáp có vỏ chống nhiễu TDH-VD-BK Kết nối cảm biến 2,3,4 đầu dây với module 1769-IF4 hãng Rockwell Automation 17 17 4.2 Ghép nối với module vào/ra • Thiết bị đầu tương tự Biến tần Van điện TDH-VD-BK 18 18 TDH-VD-BK (66) 10/02/20 4.2 Ghép nối với module vào/ra • Ghép nối đầu tương tự Stop Digln TemBlk 02/ Start/Run FWD Digln TemBlk 03/ Run/Direction/Run rev Digital Common Digln TemBlk 05 Digln TemBlk 06 Digln TemBlk 07/Pulse Kết nối module đầu 1769-OF2 với biến tần Power Flex 525 Rockwell Automation TDH-VD-BK V out 0+ +24 VDC 11 I out 0+ +10 VDC 12 ANLG Com 0-10V Input 13 NC Analog Common 14 4-20mA Input 15 Analog Output 16 ANLG Com Opto Output 17 NC Opto Output 18 Opto Common 19 1769-0F2 Power Flex 525 Digln TemBlk 08 V out 1+ I out 1+ External 24VDC Power Supply + +24VDC - DC NEUT 19 19 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Tiêu chuẩn IEC 61131 • Ưu điểm IEC61131-3 người lập trình • Các mô hình phần mềm IEC 61131-3 • ngôn ngữ lập trình IEC 61131-3 • Khối chức và POU • Kiểu liệu IEC, hàm tiêu chuẩn và khối chức tiêu chuẩn • Chứng nhận PLCopen TDH-VD-BK 20 20 TDH-VD-BK 10 (67) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Tiêu chuẩn IEC 61131 Phần Tổng quan chung, các định nghĩa Tiêu chuẩn quốc tế Phần Phần cứng Tiêu chuẩn quốc tế Phần Ngôn ngữ lập trình Tiêu chuẩn quốc tế Phần Hướng dẫn người dùng Tiêu chuẩn quốc tế Phần Truyền thông Tiêu chuẩn quốc tế Phần An toàn Tiêu chuẩn quốc tế Phần Logix mờ Tiêu chuẩn quốc tế Phần Báo cáo kỹ thuật TDH-VD-BK 21 21 4.3 Chuẩn IEC 61131-3 cho lập trình PLC Phần 3: IEC 61131-3 Ngôn ngữ lập trình Mô hình phần mềm, truyền thông và lập trình Định nghĩa ngôn ngữ lập trình: Cú pháp và ngữ nghĩa hai ngôn ngữ văn và hai ngôn ngữ đồ họa: Instruction List (IL), Structured Text (ST), Ladder Diagram (LD) và Function Block Diagram (FBD) Sequential Function Chart (SFC) cho lập trình cấu trúc TDH-VD-BK 22 22 TDH-VD-BK 11 (68) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Ưu điểm IEC 61131 – • Tiêu chuẩn quốc tế Từng bước hỗ trợ các nhà sản xuất Cấu trúc, ngôn ngữ và cách xử lý thống • Tiết kiệm thời gian Thống các khái niệm mô hình phần mềm và kiểu liệu Học và áp dụng cho nhiều điều khiển Giảm thiểu hiểm lầm và sai sót Hàm và khối chức chuẩn Có tính tái sử dụng TDH-VD-BK 23 23 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Ưu điểm IEC 61131 – (tiếp) • Hỗ trợ lập trình àn toàn và chất lượng Cấu trúc đơn giản và thuận tiện Tạo liệu hạn chế lỗi lập trình • Cung cấp ngôn ngữ lập trình tốt cho vấn đề Thông số kỹ thuật thống cho các ngôn ngữ Hai ngôn ngữ văn và hai ngôn ngữ đồ họa Một ngôn ngữ cấu trúc, cung cấp cái nhìn tổng quan Ngôn ngữ bậc cao khả dụng Có khả kết hợp các ngôn ngữ TDH-VD-BK 24 24 TDH-VD-BK 12 (69) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Mô hình phần mềm Configuration A Resource L Resource L Task1 Program P1 Task2 Task3 Program P2 Program P3 FB1 FB3 FB2 Task4 Program P4 FB4 global and direct adressed variables access paths Task association Access path association TDH-VD-BK 25 25 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Mô hình phần mềm: Configuration - Cấu hình: Tương đương với hệ thống điều khiển khả trình Resource – Tài nguyên: Tương ứng với chức xử lý tín hiệu với giao diện sử dụng người-máy và chức kết nối với cảm biến và cấu chấp hành Task – Tác vụ: cách thức thực thi các đơn vị tổ chức chương trình theo khoảng thời gian định kỳ hay theo kiện TDH-VD-BK 26 26 TDH-VD-BK 13 (70) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Mô hình phần mềm (tiếp) Program - Chương trình: đơn vị tổ chức chương trình cấp cao nhất, có thể gọi đến hàm khối chức Function Block – Khối chức năng: đơn vị tổ chức chương trình, có thể gọi đến hàm khối chức khác 27 TDH-VD-BK 27 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Các thành phần Thành phần Character set Data types Variables Functions Program Organisation Units (POUs) SFC elements Configuration elements Ví dụ English, … BOOL, WORD, INTERGER, VAR, VAR_input, VAR_output, … AND, OR, ADD, SUB, … Function, Function Block, … Steps, Transitions, … Tasks TDH-VD-BK 28 28 TDH-VD-BK 14 (71) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • Một số kiểu liệu STT Từ khóa Kiểu liệu Bit liệu Giá trị khởi tạo mặc định BOOL Kiểu Bool 0/FALSE INT Kiểu nguyên 16 REAL Số thực 32 0.0 TIME Khoảng thời gian T#0s DATE Ngày D#0001-01-01 TIME_OF_DAY (TOD) Thời gian ngày TOD#00:00:00 STRING Chuỗi kí tự bit '' BYTE Chuỗi bit WORD Chuỗi 16 bit 16 10 DWORD Chuỗi 32 bit 32 29 TDH-VD-BK 29 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Instruction List LD A ANDN B ST C Structured Text Sequential Function Chart C:= A AND NOT B N FILL Transition Step Function Block Diagram Ladder Diagram AND A Step A B C C -| | |/| ( ) B TDH-VD-BK S Empty Transition Step 30 30 TDH-VD-BK 15 (72) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Ladder Diagram (LD) Chuẩn hóa các ký hiệu lập trình giản đồ thang dạng tiếp điểm Dựa trên tiêu chuẩn cho vẽ điện A B C -| | |/| ( ) TDH-VD-BK 31 31 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Instruction List (IL) Mô hình thực thi dựa trên tính toán đơn Chỉ thao tác lưu trữ giá trị ghi tích lũy, phép trên dòng lệnh LD A ANDN B ST C TDH-VD-BK 32 32 TDH-VD-BK 16 (73) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Structured Text (ST) Ngôn ngữ lập trình bậc cao Cú pháp tương tự PASCAL Hỗ trợ các câu lệnh phức tạp: REPEAT-UNTIL; WHILEDO; IF-THEN-ELSE; CASE; SQRT(), SIN() C:= A AND NOT B 33 TDH-VD-BK 33 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Function Block Diagram (ST) Ngôn ngữ đồ họa, sử dụng phổ biến Châu Âu Các phần tử chương trình xuất dạng các khối nối dây với tương tự sơ đồ mạch Được sử dụng nhiều ứng dụng liên quan đến luồng thông tin liệu các thành phần điều khiển AND A B C TDH-VD-BK 34 34 TDH-VD-BK 17 (74) 10/02/20 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Sequential Function Chart (SFC) Ngôn ngữ đồ họa dạng biểu đồ > flowchart Dựa trên Grafcet (IEC 848) Phù hợp cho chẩn đoán nhanh Các thành phần gồm các trạng thái (Step) kèm khối hành động và các chuyển tiếp (Transition) Step N FILL Transition Step S Empty Transition Step 35 TDH-VD-BK 35 4.3 Chuẩn IEC 61131-3 cho lập trình PLC • ngôn ngữ lập trình Sequential Function Chart (SFC) Các trạng thái bao gồm đoạn chương trình thực thi điều kiện chuyển tiếp thỏa mãn Lập trình các tác vụ phức tạp cách chia thành các phần nhỏ Step N FILL Transition Step S Empty Transition Step Mỗi thành phần có thể lập trình ngôn ngữ nào TDH-VD-BK 36 36 TDH-VD-BK 18 (75) 10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển logic Tổng hợp và tối thiểu hóa mạch logic tổ hợp Tổng hợp mạch logic Tổng quan PLC Kỹ thuật lập trình PLC TDH-VD-BK 2 TDH-VD-BK (76) 10/02/20 Kỹ thuật lập trình PLC 5.1 Chu trình thiết kế chương trình PLC 5.2 Các ngôn ngữ lập trình theo chuẩn IEC61131-3 5.3 Thiết kế chương trình sử dụng hàm logic 5.4 Thiết kế chương trình sử dụng SFC TDH-VD-BK 3 Kỹ thuật lập trình PLC 5.1 Chu trình thiết kế chương trình PLC 5.2 Các ngôn ngữ lập trình theo chuẩn IEC61131-3 5.3 Thiết kế chương trình sử dụng hàm logic 5.4 Thiết kế chương trình sử dụng SFC TDH-VD-BK 4 TDH-VD-BK (77) 10/02/20 5.1 Chu trình thiết kế chương trình PLC Bước Phân tích Bước Thiết kế Bước Lập trình Bước Kiểm tra Bước Viết tài liệu Bước Vận hành TDH-VD-BK 5 5.1 Chu trình thiết kế chương trình PLC Bước 1: Phân tích • Tìm hiểu công nghệ Thảo luận trực tiếp với khách hàng Sơ đồ công nghệ P&ID, hồ sơ nâng cấp cải tạo (nếu có) • Trả lời các câu hỏi Cần điều khiển gì? Các hành động điều khiển thực nào Người vận hành tác động gì? Xử lý nào có cố? TDH-VD-BK 6 TDH-VD-BK (78) 10/02/20 5.1 Chu trình thiết kế chương trình PLC Bước 1: Phân tích (tiếp) • Kết Mô tả hoạt động quá trình Tác động từ trạm vận hành và cách thức tác động Danh sách các tín hiệu vào/ra Chế độ vận hành có lỗi TDH-VD-BK 7 5.1 Chu trình thiết kế chương trình PLC Bước 2: Thiết kế • Lựa chọn phần cứng Số lượng đầu vào/ra logic tương tự Số lượng đầu vào/ra đặc biệt: high speed counter, PWM Truyền thông: RS232, Modbus, Ethernet… TDH-VD-BK 8 TDH-VD-BK (79) 10/02/20 5.1 Chu trình thiết kế chương trình PLC • Bước 2: Thiết kế (tiếp) • Lựa chọn phần cứng Tốc độ xử lý, dung lượng nhớ TDH-VD-BK 9 5.1 Chu trình thiết kế chương trình PLC Bước 2: Thiết kế (tiếp) • Phân địa tín hiệu Theo chức năng: đầu vào/ra tương tự, tốc độ cao… Các biến có cùng đối tượng các biến cùng trình tự tác động nên có địa gần TDH-VD-BK 10 10 TDH-VD-BK (80) 10/02/20 5.1 Chu trình thiết kế chương trình PLC Bước 2: Thiết kế (tiếp) • Phân địa tín hiệu Sơ đồ đấu dây TDH-VD-BK 11 11 5.1 Chu trình thiết kế chương trình PLC Bước 3: Lập trình • Tổng hợp hàm logic > chương trình LD, IL, FBD • Grafcet > chương trình SFC • Lưu đồ thuật toán > chương trình ST TDH-VD-BK 12 12 TDH-VD-BK (81) 10/02/20 5.1 Chu trình thiết kế chương trình PLC Bước 4: Kiểm tra • Mô phần mềm, giả lập các tín hiệu vào TDH-VD-BK 13 13 5.1 Chu trình thiết kế chương trình PLC Bước 5: Viết tài liệu • Hướng dẫn vận hành • Phục vụ bảo trì, bảo dưỡng • Viết song song và cập nhật quá trình phát triển dự án TDH-VD-BK 14 14 TDH-VD-BK (82) 10/02/20 5.1 Chu trình thiết kế chương trình PLC Bước 6: Vận hành • Chạy thử phận riêng lẻ, không tải • Chạy thử phận riêng lẻ, có tải • Chạy thử toàn hệ thống không tải • Chạy thử toàn hệ thống có tải TDH-VD-BK 15 15 Kỹ thuật lập trình PLC 5.1 Chu trình thiết kế chương trình PLC 5.2 Các ngôn ngữ lập trình 5.3 Thiết kế chương trình sử dụng hàm logic 5.4 Thiết kế chương trình sử dụng SFC TDH-VD-BK 16 16 TDH-VD-BK (83) 10/02/20 5.2 Các ngôn ngữ lập trình Ladder Diagrams (LD) Instruction List (IL) Function Block Diagram (FBD) Structured Text (ST) Sequential Function Chart (SFC) TDH-VD-BK 17 17 5.2 Các ngôn ngữ lập trình Ngôn ngữ LD • Hai nguồn (Power rails) • Tiếp điểm (Contacts) đại diện cho biến logic Thường mở (Normally Open) Thường đóng (Normally Closed) Tiếp điểm nối tiếp > logic AND Nhánh song song > logic OR • Cuộn dây (Coils) đại diện cho đầu • Tạo mạch phản hồi: tên tiếp điểm trùng tên cuộn dây TDH-VD-BK 18 18 TDH-VD-BK (84) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ LD Motor := (switch1 OR switch 2) AND (NOT alarm) fan := (start OR fan) AND (NOT stop) TDH-VD-BK 19 19 5.2 Các ngôn ngữ lập trình Ngôn ngữ LD TDH-VD-BK 20 20 TDH-VD-BK 10 (85) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ LD TDH-VD-BK 21 21 5.2 Các ngôn ngữ lập trình Ngôn ngữ LD • Ưu điểm: Dễ lập trình, dễ hiểu: giống sơ đồ mạch điện Dễ bảo dưỡng: có khả chẩn đoán lỗi online, từ đó định vị lỗi logic lỗi thiết bị • Nhược điểm: Khó module hóa Hạn chế với kiểu liệu có cấu trúc TDH-VD-BK 22 22 TDH-VD-BK 11 (86) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ FBD • Gồm nhiều Function Block (FB) • Tín hiệu chạy từ đầu FB này đến đầu vào FB khác • Đầu FB cập nhận kết từ tính toán FB dựa trên các tham số vào • Dòng tín hiệu chạy từ trái qua phải 23 TDH-VD-BK 23 5.2 Các ngôn ngữ lập trình Ngôn ngữ FBD BOR_01 BAND_01 BOR BAND Out In1 In1 Out In One Shot Rising with Input Boolean Not In2 In2 OSRI BNOT Boolean Or Boolean And OSRI_01 BNOT_01 Out InputBit OutputBit CTUD_01 TOFR_01 TONR_01 TONR TOFR PRE Reset ACC DN 0 TimerEnable PRE Reset ACC DN OSFI_01 Count Up/Down Timer Off Delay with Reset Timer On Delay with Reset TimerEnable CTUD 0 CUEnable ACC CDEnable DN OSFI 0 PRE Reset TDH-VD-BK Một số khối chức FBD cho PLC CompactLogix One Shot Falling with Input InputBit OutputBit 24 24 TDH-VD-BK 12 (87) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ FBD TONR_01 TONR sta time_on Timer On Delay w ith Reset TimerEnable PRE ACC DN light_flash 0 TONR_02 Reset trung_gian TONR Timer On Delay w ith Reset TimerEnable time_off PRE Reset TDH-VD-BK Chương trình sử dụng ngôn ngữ FBD cho PLC CompactLogix ACC DN 0 trung_gian 25 25 5.2 Các ngôn ngữ lập trình Ngôn ngữ FBD • Ưu điểm: Tương tự các mạch IC điện tử Ứng dụng kế hợp chức điều khiển logic và điều khiển phản hồi • Nhược điểm: Hỗ trợ kém có hay nhiều hành động lặp lại khoảng thời gian định trước Khá cồng kềnh TDH-VD-BK 26 26 TDH-VD-BK 13 (88) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ IL • Ngôn ngữ lập trình bậc thấp, gồm các chuỗi câu lệnh, lệnh dòng • Mỗi câu lệnh gồm toán tử và hay nhiều toán hạng TDH-VD-BK 27 27 5.2 Các ngôn ngữ lập trình Ngôn ngữ IL • Ưu điểm: Thích hợp với ứng dụng nhỏ Tối ưu hóa nhớ và tốc độ thực thi Có thể module hóa và tái sử dụng • Nhược điểm: Ngôn ngữ bậc thấp, khó theo dõi Thanh ghi có giá trị thời điểm, khó làm việc với các liệu có cấu trúc TDH-VD-BK 28 28 TDH-VD-BK 14 (89) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ IL Toán tử Ý nghĩa Toán tử Ý nghĩa LD Đặt giá trị cho toán hạng, nghịch đảo là LDN DIV Chia ST Đưa giá trị tới địa toán hạng MOD Phép chia lấy dư S Đặt toán hạng loại logic lên GT So sánh lớn R Đặt lại logic cho toán hạng GE So sánh lớn AND Logic AND, nghịch đảo là ANDN EQ So sánh OR Logic OR, nghịch đảo là ORN NE So sánh khác XOR Hoặc loại trừ LE So sánh nhỏ NOT Logic nghịch đảo LT So sánh nhỏ ADD Cộng SUB Trừ MUL Nhân JMP Nhảy tới nhãn CAL Gọi khối chức TDH-VD-BK RET Trở từ gọi hàm, khối chức hay chương trình 29 29 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Ngôn ngữ lập trình bậc cao (tương tự Pascal, C) • loại câu lệnh chính Lệnh gán: biến:=giá trị Lệnh lựa chọn: IF… THEN Lệnh vòng lặp: WHILE, REPEAT, FOR Function và function block Lệnh điều khiển: RETURN, EXIT TDH-VD-BK 30 30 TDH-VD-BK 15 (90) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh gán • Gán giá trị cho biến biểu thức • Cấu trúc: X: = Y; (* X và Y có cùng kiểu liệu*) • Ví dụ: Rate := 13.1; (*Gán giá trị số *) Count := Count +1; (*Gán giá trị biểu thức*) TDH-VD-BK 31 31 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh điều kiện IF… THEN: Dạng 1: IF <Biểu thức điều kiện> THEN <Các câu lệnh> END_IF; Dạng 2: IF <Biểu thức điều kiện> THEN <Các câu lệnh> ELSE <Các câu lệnh> END_IF; TDH-VD-BK 32 32 TDH-VD-BK 16 (91) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh điều kiện liệt kê CASE … OF Case speed of: Stop: rate: = 0.0; (*Nếu speed stop, gán rate 0*) Slow: rate: = 20.4; (*Nếu speed slow, gán rate 20.4*) Else rate: = 0; (*Các trường hợp còn lại rate 0*) End_case; 33 TDH-VD-BK 33 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh vòng lặp FOR • Số vòng lặp là hữu hạn • Cấu trúc: FOR <giá trị bắt đầu> TO <giá trị kết thúc> BY <bước nhảy> DO <Các câu lệnh …> END_FOR; TDH-VD-BK Ví dụ: count := 0; FOR i:=1 TO 10 DO count := count + i; END_FOR; 34 34 TDH-VD-BK 17 (92) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh vòng lặp WHILE • Số vòng lặp không xác định trước điều kiện kết thúc xác định • Cấu trúc: WHILE <điều kiện> DO <Các câu lệnh> END_WHILE; Ví dụ: WHILE switch1 OR switch3 DO pump := FALSE; alarm := TRUE; END_WHILE; 35 TDH-VD-BK 35 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Lệnh vòng lặp REPEAT • Kiểm tra điều kiện sau thực lệnh • Cấu trúc: REPEAT <statements…> UNTIL <boolean expression> END_REPEAT; TDH-VD-BK Ví dụ: B:=0 REPEAT B := B + 1; UNTIL B > 10 END_REPEAT; 36 36 TDH-VD-BK 18 (93) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ ST • Ưu điểm: Phù hợp với tính toán phức tạp và vòng lặp Dùng nhiều điều khiển tương tự • Nhược điểm: Đòi hỏi kiến thức định lập trình TDH-VD-BK 37 37 5.2 Các ngôn ngữ lập trình Ngôn ngữ SFC • Phát triển từ Grafcet • Có thể mạnh mô tả hệ thống điều khiển • Sử dụng kết hợp với ngôn ngữ còn lại TDH-VD-BK 38 38 TDH-VD-BK 19 (94) 10/02/20 5.2 Các ngôn ngữ lập trình Ngôn ngữ SFC Trạng thái ban đầu Phân kỳ “HOẶC” Phân kỳ “VÀ” Hội tụ “HOẶC” Hội tụ “VÀ” Trạng thái Chuyển tiếp Hành động TDH-VD-BK 39 39 5.2 Các ngôn ngữ lập trình Ngôn ngữ SFC • Ưu điểm: Phù hợp với hệ thống • Nhược điểm: Không phải ngôn ngữ hoàn chỉnh Thời gian thực các phép điều kiện đơn giản lâu các ngôn ngữ khác TDH-VD-BK 40 40 TDH-VD-BK 20 (95) 10/02/20 5.2 Các ngôn ngữ lập trình Ví dụ: Điều khiển dây chuyển đóng hộp sản phẩm TDH-VD-BK 41 41 5.2 Các ngôn ngữ lập trình Mô tả công nghệ • Khi nút Start ấn, băng tải hộp chạy Băng tải hộp dừng lại có tín hiệu từ cảm biến báo đã có hộp vị trí đóng gói Lúc này, băng tải táo bắt đầu hoạt động • Băng tải táo làm nhiệm vụ cung cấp táo đổ vào hộp Một cảm biến sử dụng để đếm táo đổ vào hộp • Khi số táo đổ vào hộp 10, băng tải táo dừng, băng tải hộp lại chạy • Quá trình tiếp tục lặp lại nút Stop ấn thì quy trình dừng TDH-VD-BK 42 42 TDH-VD-BK 21 (96) 10/02/20 5.2 Các ngôn ngữ lập trình Các bước lập trình: • Liệt kê tín hiệu vào/ra: đầu vào số, đầu số TDH-VD-BK 43 43 5.2 Các ngôn ngữ lập trình Các bước lập trình: • Lựa chọn PLC: CPU CompactLogix L32E, module IQ16 và OB16 • Phân địa vào/ra TDH-VD-BK 44 44 TDH-VD-BK 22 (97) 10/02/20 5.2 Các ngôn ngữ lập trình Dùng LD TDH-VD-BK 45 45 5.2 Các ngôn ngữ lập trình Dùng FBD TDH-VD-BK 46 46 TDH-VD-BK 23 (98) 10/02/20 5.2 Các ngôn ngữ lập trình Dùng ST Lam_viec [:=] (Start or Lam_viec) and not Stop; CTUD(Dem_tao); Dem_tao.CUEnable := CB_tao; Dem_tao.pre := 10; Dem_tao.Reset:= Lam_viec and not CB_hop; Bang_hop [:=] Lam_viec and (( not CB_hop ) or Dem_tao.DN); Bang_tao [:=] Lam_viec and not Bang_hop; TDH-VD-BK 47 47 Kỹ thuật lập trình PLC 5.1 Chu trình thiết kế chương trình PLC 5.2 Các ngôn ngữ lập trình 5.3 Thiết kế chương trình sử dụng hàm logic 5.4 Thiết kế chương trình sử dụng SFC TDH-VD-BK 48 48 TDH-VD-BK 24 (99) 10/02/20 5.3 Thiết kế chương trình sử dụng hàm logic Thiết kế chương Tìm hàm logic mô tả mối quan trình sử dụng hệ các tín hiệu vào hàm logic Chuyển hàm logic sang ngôn ngữ PLC tương ứng TDH-VD-BK 49 49 5.3 Thiết kế chương trình sử dụng hàm logic TDH-VD-BK 50 50 TDH-VD-BK 25 (100) 10/02/20 5.3 Thiết kế chương trình sử dụng hàm logic 51 TDH-VD-BK 51 5.3 Thiết kế chương trình sử dụng hàm logic Ban đầu thiết bị chạm vị trí bên trái và tác động vào công tắc hành trình a0 Khi nút m ấn, thiết bị di chuyển sang phải Khi chạm vào a1 và thiết bị di chuyển bên trái Tiếp theo thiết bị lại chạm vào a0, nút m ấn thì chu trình lặp lại Chú ý thiết bị rời khỏi vị trí công tắc hành trình thì công tắc hành trình lại trở trạng thái không tác động TDH-VD-BK a1 a0 A+ A- 52 52 TDH-VD-BK 26 (101) 10/02/20 5.3 Thiết kế chương trình sử dụng hàm logic Sử dụng phương pháp ma trận trạng thái ta có thể tổng hợp các hàm logic mô tả công nghệ sau: X = a1 + a0 X LD: A += X A −= X 53 TDH-VD-BK 53 5.3 Thiết kế chương trình sử dụng hàm logic FBD: IL: LDN a0 AND X OR a1 ST X LDN X ST: ST A_cong X := a1 OR (NOT a0 and X); LD X A_cong := NOT X; ST A_tru A_tru := X; TDH-VD-BK 54 54 TDH-VD-BK 27 (102) 10/02/20 Kỹ thuật lập trình PLC 5.1 Chu trình thiết kế chương trình PLC 5.2 Các ngôn ngữ lập trình 5.3 Thiết kế chương trình sử dụng hàm logic 5.4 Thiết kế chương trình sử dụng SFC TDH-VD-BK 55 55 5.4 Thiết kế chương trình sử dụng SFC Lập Grafcet cho chu trình công nghệ Thiết kế chương trình sử dụng hàmChuyển SFC Grafcet sang ngôn ngữ SFC TDH-VD-BK 56 56 TDH-VD-BK 28 (103) 10/02/20 5.4 Thiết kế chương trình sử dụng SFC Xylanh A chuyển động lên-xuống (di chuyển mũi khoan) và xylanh B chuyển động phải-trái (đưa phôi vào vị trí cần khoan) Ban đầu các xylanh thu Khi có tín hiệu từ cảm biến CB báo hiệu có phôi, xylanh A thực chuyển động đưa mũi khoan xuống A+ (xylanh B đứng im) và đến có tín hiệu từ cảm biến a1 thì thực chuyển động thu A- (xylanh B đứng im) Khi cảm biến a0 có tín hiệu thì xylanh A dừng, xylanh B thực chuyển động sang phải (B+) Khi cảm biến b1 có tín hiệu thì xylanh B dừng và xylanh A lại thực chuyển động xuống, gặp cảm biến a1 thì lên và gặp cảm biến a0 thì xylanh A dừng Lúc này xylanh B thực chuyển động sang trái (B-), đến cảm biến b0 có tín hiệu thì dừng Sản phẩm lấy môt cấu khác và chu trình lặp lại tiếp tục có phôi TDH-VD-BK 57 57 5.4 Thiết kế chương trình sử dụng SFC GRAFCET: TDH-VD-BK 58 58 TDH-VD-BK 29 (104) 10/02/20 SFC: - S0 N Action_004 A_cong :=0; A_tru :=0; B_cong :=0; B_tru :=0; T0 m and a0 and b0; - S1 N Action_000 B_cong :=0; A_cong :=1; T1 a1; - S2 T3 T2 a0 and b1; a0 and b0 ; - S4 N Action_001 A_cong :=0; A_tru :=1; N Action_003 A_tru :=0; B_tru :=1; - S3 N Action_002 A_tru :=0; B_cong :=1; T4 b1; T5 b0; TDH-VD-BK 59 59 TDH-VD-BK 30 (105)