Điều khiển logic và PLC - Cơ sở cho Điều khiển logic
Nội dung
1. Cơ sở cho Điều khiển logic
2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp
3. Tổng hợp mạch logic tuần tự
4. Tổng quan về PLC
5. Kỹ thuật lập trình PLC
Bạn đang xem 20 trang mẫu của tài liệu "Điều khiển logic và PLC - Cơ sở cho Đ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: Điều khiển logic và PLC - Cơ sở cho Điều khiển logic
10/02/20 1 ĐIỀU KHIỂN LOGIC VÀ PLC 1TDH-VD-BK Nội dung 1. Cơ sở cho Điều khiển logic 2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp 3. Tổng hợp mạch logic tuần tự 4. Tổng quan về PLC 5. Kỹ thuật lập trình PLC 2TDH-VD-BK 1 2 TDH-VD-BK 10/02/20 2 1. Cơ sở cho Điều khiển logic 2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp 3. Tổng hợp mạch logic tuần tự 4. Tổng quan về PLC 5. Kỹ thuật lập trình PLC 3 Nội dung TDH-VD-BK 1. Cơ sở cho điều khiển logic 1.1. Khái niệm về điều khiển logic 1.2. Đại số logic 1.3. Biểu diễn hàm logic 4TDH-VD-BK 3 4 TDH-VD-BK 10/02/20 3 1. Cơ sở cho điều khiển logic 1.1. Khái niệm về điều khiển logic 1.2. Đại số logic 1.3. Biểu diễn hàm logic 5TDH-VD-BK 1.1. Khái niệm về Điều khiển logic 6TDH-VD-BK 5 6 TDH-VD-BK 10/02/20 4 7 1.1. Khái niệm về Điều khiển logic TDH-VD-BK • Điều khiển logic giải quyết 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 một trình tự, điều kiện xác định – Đảm bảo trình tự thời gian và sự tương tác giữa các bộ phận – Phản ứng tức thời trước một số sự kiện 8 1.1. Khái niệm về Điều khiển logic TDH-VD-BK 7 8 TDH-VD-BK 10/02/20 5 • 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ô phỏng (Simulation) – Truyền thông (Communication) – Các hệ thống điều khiển công nghiệp (Industrial Control) 9 1.1. Khái niệm về Điều khiển logic TDH-VD-BK • 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 10 1.1. Khái niệm về Điều khiển logic TDH-VD-BK 9 10 TDH-VD-BK 10/02/20 6 1. Cơ sở cho điều khiển logic 1.1. Khái niệm về điều khiển logic 1.2. Đại số logic 1.3. Biểu diễn hàm logic 11TDH-VD-BK • Các sự vật hiện tượng thường được biểu hiện ở hai mặt đối lập: – Trong cuộc 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: 0 và 1. • Đại số logic (Đại số Boolean) để nghiên cứu các sự vật, hiện tượng có 2 trạng thái đối lập 12 1.2. Đại số logic TDH-VD-BK 11 12 TDH-VD-BK 10/02/20 7 • 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 1 biến f(x): Hàm 2 biến f(x1,x2): xxxf xxxf xxf xxf .)( )( )( )( 212121 2121 ),( ),( xxxxxxf xxxxf 13 1.2. Đại số logic TDH-VD-BK – Phép nghịch đảo: NOT • Bảng giá trị: • Ký hiệu x 1 0 0 1 xxf )( x x x x 14 • Các phép toán logic cơ bản 1.2. Đại số logic TDH-VD-BK 13 14 TDH-VD-BK 10/02/20 8 – Phép cộng: OR • Bảng giá trị: • Ký hiệu x y f(x,y) = x + y 0 0 0 0 1 1 1 0 1 1 1 1 x yx y 1 x yx y 15 • Các phép toán logic cơ bản 1.2. Đại số logic TDH-VD-BK – Phép nhân: AND • Bảng giá trị: • Ký hiệu x y f(x,y) = xy 0 0 0 0 1 0 1 0 0 1 1 1 x xyy & x xy y 16 • Các phép toán logic cơ bản 1.2. Đại số logic TDH-VD-BK 15 16 TDH-VD-BK 10/02/20 9 – Giao hoán : 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: nn nn xxxxxx xxxxxx ......... ......... 2111 2121 17 • Các tính chất của các phép toán logic 1.2. Đại số logic TDH-VD-BK 1 x+0 = x x.1 = x 2 x.0 = 0 x+1 = 1 3 x+x = x x.x = x 4 5 x+xy = x x.(x+y) = x 6 0. 1 xx xx xyxyx xyxxy ))(( Chú ý: Tính đối ngẫu (duality) của các hệ thức logic 18 • Một số hệ thức cơ bản thường gặp 1.2. Đại số logic TDH-VD-BK 17 18 TDH-VD-BK 10/02/20 10 1. Cơ sở cho điều khiển logic 1.1. Khái niệm về điều khiển logic 1.2. Đại số logic 1.3. Biểu diễn hàm logic 19TDH-VD-BK 1.3. Biểu diễn hàm logic x1 x2 x3 f(x1,x2,x3) 0 0 0 1 0 0 1 0 0 1 0 “x” 0 1 1 “x” 1 0 0 0 1 0 1 1 1 1 0 “x” 1 1 1 1 Dấu “x” là giá trị hàm không xác định, có thể nhận giá trị 0 hoặc 1 20 • Bảng chân lý TDH-VD-BK 19 20 TDH-VD-BK 10/02/20 11 – Biểu diễn hàm logic n biến cần thành lập một bảng có 2n ô, mỗi ô tương ứng với 1 tổ hợp biến. – Các ô cạnh nhau hoặc đối xứng nhau chỉ cho phép khác nhau về giá trị của 1 biến. – Trong các ô ghi giá trị của hàm tương ứng với giá trị của tổ hợp biến đó. Ví dụ: x2 x1 0 1 0 1 0 1 0 1 x1 x2 f(x1,x2) 0 0 1 0 1 0 1 0 0 1 1 1 21 • Bảng Các nô (Carnough map) 1.3. Biểu diễn hàm logic TDH-VD-BK x1 x2 x3 f(x1,x2,x3) 0 0 0 1 0 0 1 0 0 1 0 “x” 0 1 1 “x” 1 0 0 0 1 0 1 1 1 1 0 “x” 1 1 1 1 x2x3 x1 00 01 11 10 0 1 0 “x” “x” 1 0 1 1 “x” x2 x3 x1 22TDH-VD-BK 21 22 TDH-VD-BK 10/02/20 12 x3x4 x1x2 00 01 11 10 00 01 11 10 x3x4x5 x1x2 000 001 011 010 110 111 101 100 00 01 11 10 x2 x4 x1 x3 x2 x1 x3 x4 x5 x5 23TDH-VD-BK • Sơ đồ rơ le – tiếp điểm 24 1.3. Biểu diễn hàm logic Thiết bị Loại Ký hiệu Nút ấn Thường mở Thường đóng Công tắc hành trình Thường mở Thường đóng Rơ le Cuộn dây Tiếp điểm thường mở Tiếp điểm thường đóngTDH-VD-BK 23 24 TDH-VD-BK 10/02/20 13 • 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 ở 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 25 Biểu diễn hàm logic TDH-VD-BK 26 • Sơ đồ rơ le – tiếp điểm Ví dụ: 1.3. Biểu diễn hàm logic = , = . + . TDH-VD-BK 25 26 TDH-VD-BK 10/02/20 1 ĐIỀU KHIỂN LOGIC VÀ PLC 1TDH-VD-BK Nội dung 1. Cơ sở cho Điều khiển logic 2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp 3. Tổng hợp mạch logic tuần tự 4. Tổng quan về PLC 5. Kỹ thuật lập trình PLC 2TDH-VD-BK 1 2 TDH-VD-BK 10/02/20 2 2. 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 2. 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 3 4 TDH-VD-BK 10/02/20 3 2.1. Khái niệm về mạch logic tổ hợp • Định nghĩa: Mạch logic tổ hợp là mạch logic mà tín hiệu ra của mạch chỉ phụ thuộc vào tín hiệu đầu vào, không phụ thuộcvào thứ tự, thời gian tác động của 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 một tổ hợp tín hiệu vào, tín hiệu ra là duy nhất • Mạch vòng hở 5 Mạch logic tổ hợp tín hiệu vào tín hiệu ra . . . . . . TDH-VD-BK 2. 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 5 6 TDH-VD-BK 10/02/20 4 – Dạng tổng chuẩn đầy đủ • Chỉ quan tâm đến tổ hợp các giá trị của biến làm cho hàm có giá trị 1. Mỗi tổ hợp này tương ứng với một tích của tất cả các biến. • Trong mỗi tích, các biến có giá trị 1 thì được biểu diễn ở trạng thái thường, các biến có giá trị 0 thì được biểu diễn ở trạng thái phủ định. • Hàm logic dạng tổng chuẩn đầy đủ sẽ là tổng các tích đó x y f(x,y) 0 0 1 0 1 0 1 0 0 1 1 1 ),( yxf x yxy 7 2.2. Tổng hợp mạch logic tổ hợp TDH-VD-BK – Chú ý: Cách ký hiệu rút gọn của hàm logic Thập phân x1 x2 x3 f(x1,x2,x3) 0 0 0 0 1 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 321321321321321321 ),,( xxxxxxxxxxxxxxxxxxf 8 ( , , ) = 0, 2, 5, 6, 7 TDH-VD-BK 7 8 TDH-VD-BK 10/02/20 5 x y f(x,y) 0 0 1 0 1 0 1 0 0 1 1 1 ))((),( yxf x y x y 9 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ị của biến làm cho hàm có giá trị 0. Mỗi tổ hợp này tương ứng với một tổng của tất cả các biến. • Trong mỗi tổng, các biến có giá trị 0 thì được biểu diễn ở trạng thái thường, các biến có giá trị 1 thì được biểu diễn ở trạng thái phủ định. • Hàm logic dạng tích chuẩn đầy đủ sẽ là tích các tổng đó TDH-VD-BK 2. 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 9 10 TDH-VD-BK 10/02/20 6 2.3. Tối thiểu hóa hàm logic – Dựa vào các hệ thức cơ bản – Nhược điểm: không biết rõ đã tối thiểu chưa ab bbabaa baababba baabbabaf )()( )()( ),( 11 • Phương pháp biến đổi đại số TDH-VD-BK – Biểu diễn hàm đã cho dưới dạng bảng Các nô – Nhóm các ô có giá trị 1 và không xác định ở cạnh nhau hoặc đối xứng nhau thành các vòng: • Số ô trong 1 vòng là 2m, m lớn nhất có thể • Các vòng có thể giao nhau nhưng không được trùm lên nhau. • Các vòng phải phủ hết các ô có giá trị 1 • 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 trong vòng đó với biểu diễn tương ứng với giá trị của các biến. – Hàm rút gọn bằng tổng các tích tương ứng với các vòng. 12 2.3. Tối thiểu hóa hàm logic • Phương pháp bảng Các nô TDH-VD-BK 11 12 TDH-VD-BK 10/02/20 7 – Ví dụ 1: x1 x2 x3 f(x1,x2,x3) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 321321321321321321 ),,( xxxxxxxxxxxxxxxxxxf x2x3 x1 00 01 11 10 0 1 0 0 1 1 0 1 1 1 , , = + + x2x3 x1 00 01 11 10 0 1 0 0 1 1 0 1 1 1 13 , , = + + TDH-VD-BK 14 – Ví dụ 2: , , , = ̅ ̅ ̅ ̅ + ̅ ̅ ̅ + ̅ ̅ ̅ + ̅ ̅ + ̅ ̅ + ̅ + ̅ + x3x4 x1x2 00 01 11 10 00 1 0 0 1 01 0 0 0 0 11 0 1 1 0 10 1 1 1 1 x2 x4 x1 x3 , , , = + + ̅ ̅ ̅ CHƯA TỐI THIỂU TDH-VD-BK 13 14 TDH-VD-BK 10/02/20 8 15 x3x4 x1x2 00 01 11 10 00 1 0 0 1 01 0 0 0 0 11 0 1 1 0 10 1 1 1 1 x2 x4 x1 x3 , , , = + ̅ ̅ TDH-VD-BK – 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ố 1 trong biểu diễn nhị phân, nhóm i có i chữ số 1 – Ghép tổ hợp nhóm thứ i với nhóm i+1 nếu chúng chỉ khác nhau 1 bit ở cùng 1 vị trí. Đánh dấu “-” vào vị trí bit đổi trị trong tổ hợp mới 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 2 bước trên đến khi không kết hợp được – 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 bằng tổng các tích ứng với các tổ hợp không thể ghép được lựa chọn trong bảng phủ tối thiểu 16 2.3. Tối thiểu hóa hàm logic • Phương pháp Quine Mc. Clusky TDH-VD-BK 15 16 TDH-VD-BK 10/02/20 9 • Ví dụ 1: abccbacbacbacbacbaf ),,( 000 001 100 101 111 Nhóm Tổ hợp biến I Tổ hơp biến II Tổ hợp biến III 0 000* -00* 00-* -0- -0- 1 100* 001* 10-* -01* 2 101* 1-1 3 111* Bảng phủ 000 001 100 101 111 -0- 1-1 acbcbaf ),,( 17 x x x x x x TDH-VD-BK abcddcabdcbadcbadcbabcdadbcadcbadcbadcbadcbaf ),,,( 0000 0100 0101 0110 0111 1000 1001 1010 1101 1111 Nhóm Tổ hợp biến I Tổ hợp biến II Tổ hợp biến III 0 0000* 0-00 -000 1 0100* 1000* 010-* 01-0* 100- 10-0 01- - 01- - 2 0101* 0110* 1001* 1010* 01-1* 011-* -101* 1-01 -1-1 -1-1 3 0111* 1101* -111* 11-1* 4 1111* 18 • Ví dụ 2: TDH-VD-BK 17 18 TDH-VD-BK 10/02/20 10 Bảng phủ 0000 0100 0101 0110 0111 1000 1001 1010 1101 1111 0-00 x x -000 x x 100- x x 10-0 x x 1-01 x x 01-- x x x x -1-1 x x x x bdbadbacbadcadcbaf ),,,( 19TDH-VD-BK • Bài tập về nhà: • Rút gọn dùng bảng Các nô: • Rút gọn dùng phương pháp Quine Mc.Clusky 20 )31,29,28,27,23,19,18,4,0(),,,,( )15,11,9,7,3,1(),,,( )7,6,1,0(),,( zyxwvf zyxwf zyxf )15,14,13,9,8,7,5,4,1(),,,( )13,12,5,4,1,0(),,,( )5,4,3,2(),,( zyxwf zyxwf zyxf TDH-VD-BK 19 20 TDH-VD-BK 10/02/20 1 ĐIỀU KHIỂN LOGIC VÀ PLC 1TDH-VD-BK Nội dung 1. Cơ sở cho Điều khiển logic 2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp 3. Tổng hợp mạch logic tuần tự 4. Tổng quan về PLC 5. Kỹ thuật lập trình PLC 2TDH-VD-BK 1 2 TDH-VD-BK 10/02/20 2 3. Tổng hợp mạch logic tuần tự 3.1. Khái niệm mạch logic tuần tự Định nghĩa Tính chất Phân loại Biểu diễn bằng đồ thị thời gian 3.2. Tổng hợp mạch logic tuần tự Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 3 3. Tổng hợp mạch logic tuần tự 3.1. Khái niệm mạch logic tuần tự Định nghĩa Tính chất Phân loại Biểu diễn bằng đồ thị thời gian 3.2. Tổng hợp mạch logic tuần tự Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 4 3 4 TDH-VD-BK 10/02/20 3 3.1. Khái niệm về mạch logic tuần tự • Định nghĩa: Mạch logic tuần tự là mạch logic mà tín hiệu ra của mạch không nhữ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 của tín hiệu vào • Tính chất – Có nhớ – Có yếu tố thời gian – Cùng 1 tín hiệu vào, tín hiệu ra có thể khác nhau (các trạngthái trong hay trạng thái làm việc) – Mạch vòng kín (có phản hồi) Mạch logic tổ hợp Mạch nhớ tín hiệu vào tín hiệu ra 5TDH-VD-BK • Phân loại – Mạch logic tuần tự đồng bộ: việc chuyển trạng thái trong mạch không những chỉ 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 bộ • Dùng phổ biến trong máy tính (môn ĐT số) – Mạch logic tuần tự không đồng bộ: việc chuyển trạng thái trong mạch 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 bộ • Thường gặp trong công nghệ của các máy sản xuất công nghiệp 6 3.1. Khái niệm về mạch logic tuần tự TDH-VD-BK 5 6 TDH-VD-BK 10/02/20 4 • Biểu diễn bằng đồ thị thời gian a1 a2 Y Z 1 7 Y a1 Y Z a2 a2 Y + _ 3.1. Khái niệm về mạch logic tuần tự 2 3 2 1 4 5 12TDH-VD-BK 3. Tổng hợp mạch logic tuần tự 3.1. Khái niệm mạch logic tuần tự Định nghĩa Tính chất Phân loại Biểu diễn bằng đồ thị thời gian 3.2. Tổng hợp mạch logic tuần tự Phương pháp ma trận trạng thái Phương pháp GRAFCET TDH-VD-BK 8 7 8 TDH-VD-BK 10/02/20 5 3.2. Tổng hợp mạch logic tuần tự • Phương pháp ma trận trạng thái Yêu cầu công nghệ Mã hóa bài toán Lập bảng chuyển trạng thái Rút gọn bảng chuyển Mã hóa biến trung gian Xác định các hàm logic cho biến trung gian và biến ra Chuyển các quá trình công nghệ thành các biến logic Tối thiểu hóa hàm logic Thực hiện mạch nhớ 9TDH-VD-BK Ví dụ 1: a0 a1 P T ... h TDH-VD-BK 35 36 TDH-VD-BK 10/02/20 1 ĐIỀU KHIỂN LOGIC VÀ PLC 1TDH-VD-BK Nội dung 1. Cơ sở cho Điều khiển logic 2. Tổng hợp và tối thiểu hóa mạch logic tổ hợp 3. Tổng hợp mạch logic tuần tự 4. Tổng quan về PLC 5. Kỹ thuật lập trình PLC 2TDH-VD-BK 1 2 TDH-VD-BK 10/02/20 2 5. 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 5. 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 3 4 TDH-VD-BK 10/02/20 3 5.1. Chu trình thiết kế chương trình PLC Bước 1 Phân tích Bước 2 Thiết kế Bước 3 Lập trình Bước 4 Kiểm tra Bước 5 Viết tài liệu Bước 6 Vận hành TDH-VD-BK 5 TDH-VD-BK 6 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 những gì? Các hành động điều khiển được thực hiện như thế nào Người vận hành tác động được những gì? Xử lý thế nào khi có sự cố? 5.1. Chu trình thiết kế chương trình PLC 5 6 TDH-VD-BK 10/02/20 4 TDH-VD-BK 7 Bước 1: Phân tích (tiếp) • Kết quả Mô tả được hoạt động của 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 khi có lỗi 5.1. Chu trình thiết kế chương trình PLC 8 Bước 2: Thiết kế • Lựa chọn phần cứng Số lượng đầu vào/ra logic hoặc tương tự Số lượng đầu vào/ra đặc biệt: high speed counter, PWM Truyền thông: RS232, Modbus, Ethernet 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 7 8 TDH-VD-BK 10/02/20 5 9 • Bước 2: Thiết kế (tiếp) • Lựa chọn phần cứng Tốc độ xử lý, dung lượng bộ nhớ 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 10 Bước 2: Thiết kế (tiếp) • Phân địa chỉ 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 một đối tượng hoặc các biến trongcùng trình tự tác động nên có địa chỉ gần nhau 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 9 10 TDH-VD-BK 10/02/20 6 11 Bước 2: Thiết kế (tiếp) • Phân địa chỉ tín hiệu Sơ đồ đấu dây 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK TDH-VD-BK 12 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 5.1. Chu trình thiết kế chương trình PLC 11 12 TDH-VD-BK 10/02/20 7 13 Bước 4: Kiểm tra • Mô phỏng bằng phần mềm, giả lập các tín hiệu vào 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 14 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 cập nhật trong quá trình phát triển dự án 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 13 14 TDH-VD-BK 10/02/20 8 15 Bước 6: Vận hành • Chạy thử bộ từng phận riêng lẻ, không tải • Chạy thử từng bộ 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 5.1. Chu trình thiết kế chương trình PLC TDH-VD-BK 5. 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 15 16 TDH-VD-BK 10/02/20 9 17 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 18 Ngôn ngữ LD • Hai thanh 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 ra • Tạo mạch phản hồi: tên tiếp điểm trùng tên cuộn dây 5.2. Các ngôn ngữ lập trình TDH-VD-BK 17 18 TDH-VD-BK 10/02/20 10 19 fan := (start OR fan) AND (NOT stop) Motor := (switch1 OR switch 2) AND (NOT alarm) Ngôn ngữ LD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 20 Ngôn ngữ LD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 19 20 TDH-VD-BK 10/02/20 11 21 Ngôn ngữ LD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 22 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ả năng chẩn đoán lỗi online, từ đó định vị lỗi logic hoặc lỗi thiết bị. • Nhược điểm: Khó module hóa. Hạn chế với kiểu dữ liệu có cấu trúc. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 21 22 TDH-VD-BK 10/02/20 12 23 Ngôn ngữ FBD • Gồm nhiều Function Block (FB). • Tín hiệu chạy từ đầu ra của FB này đến đầu vào của FB khác. • Đầu ra FB được cập nhận kết quả từ tính toán của 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. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 24Một số khối chức năng trong FBD cho PLC CompactLogix BAND_01 BAND ... Boolean And In1 In2 Out 0 BOR_01 BOR ... Boolean Or In1 In2 Out 0 BNOT_01 BNOT ... Boolean Not In Out 0 OSRI_01 OSRI ... One Shot Rising with Input InputBit OutputBit 0 OSFI_01 OSFI ... One Shot Fall ing with Input InputBit OutputBit 0 TONR_01 TONR ... Timer On Delay with Reset TimerEnable PRE Reset ACC 0 DN 0 CTUD_01 CTUD ... Count Up/Down CUEnable CDEnable PRE Reset ACC 0 DN 0 TOFR_01 TOFR ... Timer Off Delay with Reset TimerEnable PRE Reset ACC 0 DN 0 Ngôn ngữ FBD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 23 24 TDH-VD-BK 10/02/20 13 25Chương trình sử dụng ngôn ngữ FBD cho PLC CompactLogix time_of f 0 TONR_02 TONR ... Timer On Delay w ith Reset TimerEnable PRE Reset ACC 0 DN 0 TONR_01 TONR ... Timer On Delay w ith Reset TimerEnable PRE Reset ACC 0 DN 0 trung_gian trung_gian 0 time_on 0 sta 0 light_flash Ngôn ngữ FBD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 26 Ngôn ngữ FBD • Ưu điểm: Tương tự các mạch IC trong điện tử. Ứng dụng kế hợp chức năng điều khiển logic và điều khiển phản hồi. • Nhược điểm: Hỗ trợ kém khi có một hay nhiều hành động lặp lại trong một khoảng thời gian định trước. Khá cồng kềnh. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 25 26 TDH-VD-BK 10/02/20 14 27 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, mỗi lệnh một dòng. • Mỗi câu lệnh gồm một toán tử và một hay nhiều toán hạng. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 28 Ngôn ngữ IL • Ưu điểm: Thích hợp với ứng dụng nhỏ. Tối ưu hóa bộ 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 chỉ có một giá trị tại một thời điểm, khó làm việc với các dữ liệu có cấu trúc. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 27 28 TDH-VD-BK 10/02/20 15 29 Toán tử Ý nghĩa LD Đặt giá trị hiện tại cho toán hạng, nghịch đảo là LDN ST Đưa giá trị hiện tại tới địa chỉ toán hạng S Đặt toán hạng loại logic lên 1 R Đặt lại logic 0 cho toán hạng AND Logic AND, nghịch đảo là ANDN OR Logic OR, nghịch đảo là ORN XOR Hoặc loại trừ NOT Logic nghịch đảo ADD Cộng SUB Trừ MUL Nhân Toán tử Ý nghĩa DIV Chia MOD Phép chia lấy dư GT So sánh lớn hơn GE So sánh lớn hơn hoặc bằng EQ So sánh bằng NE So sánh khác nhau LE So sánh nhỏ hơn hoặc bằng LT So sánh nhỏ hơn JMP Nhảy tới nhãn CAL Gọi khối chức năng RET Trở về từ gọi hàm, khối chức năng hay chương trình 5.2. Các ngôn ngữ lập trình Ngôn ngữ IL TDH-VD-BK 30 Ngôn ngữ ST • Ngôn ngữ lập trình bậc cao (tương tự Pascal, C). • 5 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 5.2. Các ngôn ngữ lập trình TDH-VD-BK 29 30 TDH-VD-BK 10/02/20 16 31 Ngôn ngữ ST • Lệnh gán • Gán giá trị cho biến hoặc biểu thức • Cấu trúc: X: = Y; (* X và Y có cùng kiểu dữ liệu*) • Ví dụ: Rate := 13.1; (*Gán giá trị hằng số *) Count := Count +1; (*Gán giá trị bằng một biểu thức*) 5.2. Các ngôn ngữ lập trình TDH-VD-BK 32 Ngôn ngữ ST • Lệnh điều kiện IF THEN: Dạng 1: IF THEN END_IF; Dạng 2: IF THEN ELSE END_IF; 5.2. Các ngôn ngữ lập trình TDH-VD-BK 31 32 TDH-VD-BK 10/02/20 17 33 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 bằng stop, gán rate bằng 0*) Slow: rate: = 20.4; (*Nếu speed bằng slow, gán rate bằng 20.4*) Else rate: = 0; (*Các trường hợp còn lại rate bằng 0*) End_case; 5.2. Các ngôn ngữ lập trình TDH-VD-BK 34 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 TO BY DO END_FOR; Ví dụ: count := 0; FOR i:=1 TO 10 DO count := count + i; END_FOR; 5.2. Các ngôn ngữ lập trình TDH-VD-BK 33 34 TDH-VD-BK 10/02/20 18 35 Ngôn ngữ ST • Lệnh vòng lặp WHILE • Số vòng lặp không xác định trước nhưng điều kiện kết thúc xác định • Cấu trúc: WHILE DO END_WHILE; Ví dụ: WHILE switch1 OR switch3 DO pump := FALSE; alarm := TRUE; END_WHILE; 5.2. Các ngôn ngữ lập trình TDH-VD-BK 36 Ngôn ngữ ST • Lệnh vòng lặp REPEAT • Kiểm tra điều kiện sau khi thực hiện lệnh • Cấu trúc: REPEAT UNTIL END_REPEAT; Ví dụ: B:=0 REPEAT B := B + 1; UNTIL B > 10 END_REPEAT; 5.2. Các ngôn ngữ lập trình TDH-VD-BK 35 36 TDH-VD-BK 10/02/20 19 37 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 trong điều khiển tương tự • Nhược điểm: Đòi hỏi kiến thức nhất định về lập trình. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 38 Ngôn ngữ SFC • Phát triển từ Grafcet • Có thể mạnh trong mô tả hệ thống điều khiển tuần tự. • Sử dụng kết hợp với 4 ngôn ngữ còn lại 5.2. Các ngôn ngữ lập trình TDH-VD-BK 37 38 TDH-VD-BK 10/02/20 20 39 Trạng tháiTrạng thái ban đầu Chuyển tiếp Hành động Phân kỳ “HOẶC” Hội tụ “HOẶC” Phân kỳ “VÀ” Hội tụ “VÀ” Ngôn ngữ SFC 5.2. Các ngôn ngữ lập trình TDH-VD-BK 40 Ngôn ngữ SFC • Ưu điểm: Phù hợp với hệ thống tuần tự • Nhược điểm: Không phải ngôn ngữ hoàn chỉnh. Thời gian thực hiện các phép điều kiện đơn giản lâu hơn các ngôn ngữ khác. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 39 40 TDH-VD-BK 10/02/20 21 Ví dụ: Điều khiển dây chuyển đóng hộp sản phẩm 41 5.2. Các ngôn ngữ lập trình TDH-VD-BK 42 Mô tả công nghệ • Khi nút Start được ấn, băng tải hộp chạy. Băng tải hộp sẽ dừng lại khi có tín hiệu từ cảm biến báo về rằng đã 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 được sử dụng để đếm từng quả táo được đổ vào hộp. • Khi số táo đổ vào hộp bằng 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 cho đến khi nút Stop được ấn thì quy trình dừng ngay lập tức. 5.2. Các ngôn ngữ lập trình TDH-VD-BK 41 42 TDH-VD-BK 10/02/20 22 TDH-VD-BK 43 Các bước lập trình: • Liệt kê tín hiệu vào/ra: 4 đầu vào số, 3 đầu ra số 5.2. Các ngôn ngữ lập trình 44 Các bước lập trình: • Lựa chọn PLC: CPU CompactLogix L32E, module IQ16 và OB16 • Phân địa chỉ vào/ra 5.2. Các ngôn ngữ lập trình TDH-VD-BK 43 44 TDH-VD-BK 10/02/20 23 TDH-VD-BK 45 Dùng LD 5.2. Các ngôn ngữ lập trình TDH-VD-BK 46 Dùng FBD 5.2. Các ngôn ngữ lập trình 45 46 TDH-VD-BK 10/02/20 24 TDH-VD-BK 47 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; Dùng ST 5.2. Các ngôn ngữ lập trình 5. 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 47 48 TDH-VD-BK 10/02/20 25 Thiết kế chương trình sử dụng hàm logic 49 Tìm hàm logic mô tả mối quan hệ giữa các tín hiệu vào ra Chuyển hàm logic sang ngôn ngữ PLC tương ứng 5.3. Thiết kế chương trình sử dụng hàm logic TDH-VD-BK 50 5.3. Thiết kế chương trình sử dụng hàm logic TDH-VD-BK 49 50 TDH-VD-BK 10/02/20 26 51 5.3. Thiết kế chương trình sử dụng hàm logic TDH-VD-BK 52 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 được ấn, thiết bị di chuyển sang phải. Khi chạm vào a1 và thiết bị di chuyển về bên trái. Tiếp theo thiết bị lại chạm vào a0, nếu nút m được ấn thì chu trình được lặp lại. Chú ý rằng khi thiết bị rời khỏi vị trí của công tắc hành trình thì công tắc hành trình lại trở về trạng thái không tác động. a0 a1 A+ A- 5.3. Thiết kế chương trình sử dụng hàm logic TDH-VD-BK 51 52 TDH-VD-BK 10/02/20 27 53 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ệ như sau:X = a1 + a0. XA += X A −= X 5.3. Thiết kế chương trình sử dụng hàm logic LD: TDH-VD-BK 54 LDN a0 AND X OR a1 ST X LDN X ST A_cong LDX ST A_tru X := a1 OR (NOT a0 and X); A_cong := NOT X; A_tru := X; 5.3. Thiết kế chương trình sử dụng hàm logic FBD: ST: IL: TDH-VD-BK 53 54 TDH-VD-BK 10/02/20 28 5. 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 Thiết kế chương trình sử dụng hàm SFC 56 Lập Grafcet cho chu trình công nghệ Chuyển Grafcet sang ngôn ngữ SFC 5.4. Thiết kế chương trình sử dụng SFC TDH-VD-BK 55 56 TDH-VD-BK 10/02/20 29 57 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 đều thu về. Khi có tín hiệu từ cảm biến CB báo hiệu có phôi, xylanh A sẽ thực hiện chuyển động đưa mũi khoan đi xuống A+ (xylanh B đứng im) và đến khi có tín hiệu từ cảm biến a1 thì sẽ thựchiện chuyển động thu về A- (xylanh B vẫn đứng im). Khi cảm biến a0 có tín hiệu thì xylanh A dừng, xylanh B thựchiện chuyển động sang phải (B+). Khi cảm biến b1 có tínhiệu thì xylanh B sẽ dừng và xylanh A lại thực hiện chuyển động đi xuống, khi gặp cảm biến a1 thì sẽ đi lên và khi gặpcảm biến a0 thì xylanh A dừng. Lúc này xylanh B thực hiệnchuyển động sang trái (B-), đến khi cảm biến b0 có tín hiệuthì dừng. Sản phẩm được lấy ra bởi môt cơ cấu khác và chu trình sẽ được lặp lại nếu tiếp tục có phôi. 5.4. Thiết kế chương trình sử dụng SFC TDH-VD-BK 58 5.4. Thiết kế chương trình sử dụng SFC GRAFCET: TDH-VD-BK 57 58 TDH-VD-BK 10/02/20 30 59 ... - S0 N ... Action_004 A_cong :=0; A_tru :=0; B_cong :=0; B_tru :=0; ... T1 a1; ... - S3 N ... Action_002 A_tru :=0; B_cong :=1; ... - S1 N ... Action_000 B_cong :=0; A_cong :=1; ... T2 a0 and b0 ; ... T5 b0; ... T4 b1; ... T3 a0 and b1; ... - S2 N ... Action_001 A_cong :=0; A_tru :=1; ... T0 m and a0 and b0; ... - S4 N ... Action_003 A_tru :=0; B_tru :=1; SFC: TDH-VD-BK 59 TDH-VD-BK
File đính kèm:
- dieu_khien_logic_va_plc_co_so_cho_dieu_khien_logic.pdf