Bài giảng Điều khiển logic và PLC - Bài 5: Kỹ thuật lập trình PLC cung cấp cho người học các kiến thức: 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 tuần tự,... Mời các bạn cùng tham khảo nội dung chi tiết.
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 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 10/02/20 Nội dung Cơ sở cho Điều khiển logic Tổng hợp 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 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 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 vấn đề – Hệ thống có chế độ làm việc khác nhau, tuân theo lệnh điều khiển từ bên – Chuyển từ chế độ sang chế độ khác theo trình tự, điều kiện xác định – Đảm bảo trình tự thời gian tương tác phận – Phản ứng tức thời trước số kiện TDH-VD-BK 8 TDH-VD-BK 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 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: Đại số logic (Đại số Boolean) để nghiên cứu vật, tượng có trạng thái đối lập TDH-VD-BK 12 12 TDH-VD-BK 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 tố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 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 tố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 10/02/20 1.2 Đại số logic • Các tính chất 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) hệ thức logic 18 18 TDH-VD-BK 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” giá trị hàm khơng xác định, nhận giá trị TDH-VD-BK 20 20 TDH-VD-BK 10 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 Y có 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 THEN END_IF; Dạng 2: IF THEN ELSE END_IF; TDH-VD-BK 32 32 TDH-VD-BK 16 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 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 hữu hạn • Cấu trúc: FOR TO BY DO 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 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 DO 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 UNTIL END_REPEAT; TDH-VD-BK Ví dụ: B:=0 REPEAT B := B + 1; UNTIL B > 10 END_REPEAT; 36 36 TDH-VD-BK 18 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 tốn phức tạp 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 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ữ hồn chỉnh Thời gian thực phép điều kiện đơn giản lâu ngôn ngữ khác TDH-VD-BK 40 40 TDH-VD-BK 20 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 • Q trình tiếp tục lặp lại nút Stop ấn quy trình dừng TDH-VD-BK 42 42 TDH-VD-BK 21 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 OB16 • Phân địa vào/ra TDH-VD-BK 44 44 TDH-VD-BK 22 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 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 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ệ 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 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 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 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 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 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 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 tổng hợp 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 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 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) xylanh B chuyển động phải-trái (đưa phôi vào vị trí cần khoan) Ban đầu 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) đến có tín hiệu từ cảm biến a1 thực chuyển động thu A- (xylanh B đứng im) Khi cảm biến a0 có tín hiệu 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 xylanh B dừng xylanh A lại thực chuyển động xuống, gặp cảm biến a1 lên gặp cảm biến a0 xylanh A dừng Lúc xylanh B thực chuyển động sang trái (B-), đến cảm biến b0 có tín hiệu dừng Sản phẩm lấy mơt cấu khác 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 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 ... hợp biến II 0000* 0-0 0 -0 00 0100* 1000* 01 0-* 0 1-0 * 10 0-? ?? 1 0-0 0 1- -? ?? 0 1- -? ?? 0101* 0110* 1001* 1010* 0 1-1 * 01 1-* -1 01* 1-0 1 -1 -1 -1 -1 0111* 1101* -1 11* 1 1-1 * 1111* TDH-VD-BK 1101 1111 Tổ... đầ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 10/02/20 ĐIỀU KHIỂN LOGIC VÀ PLC TDH-VD-BK 1 Nội dung Cơ sở cho Điều khiển. .. đ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 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