Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
309,24 KB
Nội dung
8/13/2007 1 Chơng trình con và chơngTrình xử lý ngắt Chơng trình con Chơng trình xử lý ngắt Chơng trình con Đặc điểm chơng trình con ) Thực hiện một nhiệm vụ no đó lặp lại nhiều lần, do chơng trình chính chủ động gọi. ) CPU chỉ thực thi những chơng trình con đợc gọi. ) Một chơng trình con đợc gọi có thể có hoặc không có tham số truyền. ) Khi đợc gọi thì ton bộ ngăn xếp đợc lu lại, đỉnh ngăn xếp có giá trị 1, tất cả các bít còn lại có giá trị 0. Quyền điều khiển trao cho chơng trình con. Khi chơng trình con kết thúc, ngăn xếp đợc hon nguyên, quyền điều khiển đợc trả về chơng trình đã gọi nó. 8/13/2007 2 ) Từ chơng trình chính, ta có thể tạo 8 chơng trình con lồng nhau. ) PLC cho phép thiết kế chơng trình con đệ quy. Gọi chơng trình con kèm tham số ) Một chơng trình con trong CPU 226, cho phép truyền vào và ra cùng một lúc 16 tham số. ) Địa chỉ các tham số đợc định nghĩa ban đầu tại bảng biến cục bộ. ) Mỗi một chơng trình con có một bảng biến cục bộ. ) Địa chỉ biến địa phơng: Chơng trình tự động gán địa chỉ cho các biến cần dùng, theo nguyên tắc: Luôn lấy địa chỉ đầu tiên trong bảng biến để gán cho biến đầu tiên trong bảng biến. Tuỳ theo kiểu dữ liệu của biến mà S7- 200 sẽ xác định địa chỉ cho biến. 8/13/2007 3 Một số lu ý trong bảng biến cục bộ ) Tên biến: Buộc phải có khi chơng trình con có tham số cần truyền, tên biến dài tối đa 32 kí tự kể cả kí tự trống. ) Kiểu biến: Kiểu biến Mô tả Cho biết tham số này cần truyền vào chơng trình con Nếu tham số này là địa chỉ trực tiếp, thì giá trị tại địa chỉ này sẽ đợc truyền vào bên trong chơng trình con. Nếu tham số này là địa chỉ gián tiếp qua thanh ghi (AC) thì giá trị đợc chỉ ra trong địa chỉ lu trong thanh ghi sẽ đợc truyền vào trong chơng trình con. Nếu tham số là hằng số (16#5C) hoặc địa chỉ (&VB100) thì hằng số và địa chỉ đợc truyền vào trong chơng trình con Cho biết tham số này cần đợc truyền vào và truyền ra chơng trình con.Giá trị tại địa chỉ chỉ ra trong lệnh gọi chơng trình con đợc truyền vào, sau khi xử lý, kết quả đợc trả về chơng trình đã gọi nó tại đúng địa chỉ cũ. Kiểu biến này không cho phép tham số truyền là hằng số hoặc địa chỉ. Giá trị trong chơng trình con đợc trả về tại địa chỉ chỉ ra trong lệnh gọi chơng trình con. Kiểu biến này không cho phép tham số truyền là hằng số hoặc địa chỉ. IN IN-OUT OUT Cú pháp và mối liên hệ với bảng biến cục bộ ) Cú pháp: Call Tên chơng trình con, TS1, TS2, . Tham số (TS) trong lệnh Call cho biến vùng biến và kiểu dữ liệu cần truyền. ) Mốiliênhệv các lu ý: ) Trong bảng biến cục bộ, luôn phải tuân theo thứ tự kiểu biến nh sau: IN, IN-OUT, OUT ) Các tham số từ trái qua phải trong lệnh Call tơng ứng với các biến từ trên xuống dới của bảng biến cục bộ. 8/13/2007 4 ) Các tham số từ trái qua phải trong lệnh Call tơng ứng với các biến từ trên xuống dới của bảng biến cục bộ. ) PLC không thực hiện việc chuyển kiểu dữ liệu tự động. ) Ví dụ: Call SBR_0, VD3 Trong bảng biến LD0 test IN Real Khi đó giá trị tại địa chỉ LD0 sẽ là kiểu dữ liệu DW (từ kép) ) Khi chơng trình con đợc gọi, các giá trị đợc truyền vào thông qua các tham số, sau đó đợc lu lại tại vùng nhớ địa phơng. Khi kết thúc chơng trình con, các giá trị ở vùng nhớ địa phơng đợc gửi ra chơng trình đ gọi nó, tại địa chỉ đợc chỉ ra trong lệnh gọi. 8/13/2007 5 Chơng trình xử lý ngắt Khái niệm về chơng trình xử lý ngắt ) Sự kiện ngắt: Làtínhiệubáo ngắt đa đến CPU, để CPU tạm dừng chơng trình chính và chuyển sang chơng trình xử lý ngắt. Sự kiện ngắt xảy ra không báo trớc cho CPU. Có thể xem chơng trình xử lý ngắt giống nh một chơng trình con, khi mà CPU không thể chủ động gọi, mà phải nhờ đến tín hiệu báo ngắt (sự kiện ngắt) thì đợc gọi là chơng trình xử lý ngắt. Với các CPU S7-200 khác nhau thì số lợng sự kiện ngắt là khác nhau, chúng đợc xác định thông qua số hiệu ngắt. ) Bảng sự kiện ngắt 8/13/2007 6 ) Chơng trình xử lý ngắt Là những đoạn m chơng trình do ngời dùng soạn ra, nhằm những mục đích cụ thể, đáp ứng những sự kiện ngắt tơng ứng. Chơng trình xử lý ngắt trong S7-200 đợc đánh theo số thứ tự, ví dụ INT0, INT1, v.v. ) Hoạt động của chơng trình xử lý ngắt Để CPU thực hiện ngắt, ta cần sử dụng lệnh: + ENI: Lệnh cho phép CPU xử lý tất cả các sự kiện ngắt Để CPU không thực hiện ngắt ta cần sử dụng lệnh: + DISI: Lệnh vô hiệu hoá các sự kiện ngắt 8/13/2007 7 Khi sự kiện ngắt xảy ra (có tín hiệu báo ngắt) thì chơng trình xử lý ngắt tơng ứng sẽ đợc gọi. Khi lệnh cuối cùng trong chơng trình xử lý ngắt đợc thực thi xong thì quyền điều khiển đợctrảvềchơng trình chính. Ngoài ra chơng trình xử lý ngắt có thể đợc kết thúc sớm nhờ lệnh trở về có điều kiện (CRETI). Trớc khi chơng trình xử lý ngắt đợc thực thi, hệ thống sẽ lu lại nội dung ngăn xếp, các thanh ghi tổng ACC, các bít nhớ đặc biệt. Gợi ý: Chơng trình xử lý ngắt tạo ra những phản ứng nhanh nhạy, kịp thời đáp ứng những sự kiện ngắt, do đó ta nên viết những chơng trình xử lý ngắt ngắn gọn, cô đọng. Các kiểu ngắt trong S7-200 ) Nhóm ngắt truyền thông: Nhóm có mức u tiên cao, dùng để điều khiển cổng truyền thông, nhất là trong khi làm việc với mạng công nghiệp. ) Nhóm ngắt vo ra: Nhóm ngắt có mức u tiên trung bình, nhóm ngắt này gồm có những ngắt liên quan đến: Ngắt theo sờn lên và sờn xuống (I0.0; I0.1; I0.2; I0.3) Ngắt bộ đếm tốc độ cao (giá trị đếm vợt quá giá trị đặt, theo hớng đếm) Ngắt chuỗi xung (thờng dùng trong điều khiển động cơ bớc) 8/13/2007 8 ) Nhóm ngắt timer: Nhóm có mức u tiên thấp Dùng để định thời: + Bộ định thời 0, giá trị đếm lu trong ô nhớ SMB34 + Bộ định thời 1, giá trị đếm lu trong ô nhớ SMB35 Xác định thời điểm báo ngắt: Qua hai bộ timer T32/T96, ngắt xảy ra khi giá trị đếm hiện tại bằng giá trị đặt. (CT = PT) Ưu tiên ngắt và hàng đợi ngắt ) Xảy ra khi có nhiều tín hiệu báo ngắt đến cùng một lúc. Lúc này CPU S7-200 thực hiện u tiên những ngắt thuộc nhóm u tiên cao trớc, sau đó đến nhóm u tiên trung bình và cuối cùng đến nhóm u tiên thấp. Khi các ngắt đến cùng từ một nhóm u tiên thì CPU thực hiện theo nguyên tắc đến trớc phục vụ trớc. Tại một thời điểm chỉ có một chơng trình xử lý ngắt đợc thực hiện và do vậy các ngắt khác phải ở trong hàng đợi Trờng hợp hàng đợi bị tràn, CPU sẽ set một bít đặc biệt lên 1. 8/13/2007 9 Tuy nhiên bit này sẽ tự động xoá về 0 khi, hàng đợi rỗng và khi quay về chơng trình chính. ứng dụng mạng SFC 1/ Mở máy động cơ một chiều 3 cấp R f 2/ Bài toán cánh tay máy trờng hợp 1 3/ Bài toán cách tay máy trờng hợp 3 4/ Bài toán điều khiển khoan cần 5/ Bài toán cánh tay máy trờng hợp 2 6/ Bài toán điều khiển máy ép 7/ Bài toán điều khiển máy đùn nhựa bọc cáp Mở máy động cơ một chiều 3 cấp R f Sơ đồ nguyên lý hoạt động nh sau: Lựa chọn trang bị điện: Ap Rm 1G 2G 3G Dg Rtt Dg M D Rtt Rm Dg 1Rth 1Rth 1G 1G 2Rth 2G 3Rth 2Rth 2G 3Rth 3G M: Nút ấn khởi động ĐC 1 chiều D: Nút ấn dừng ĐC 1 chiều R m : Rơle dòng cực đại R TT : Rơle dòng bảo vệ kích từ 8/13/2007 10 ) Dg: C«ng t¾c t¬ chÝnh ) 1G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 1. ) 2G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 2. ) 3G: C«ng t¾c t¬ ng¾n m¹ch ®iÖn trë cÊp 3. ) 1R th , 2R th , 3R th : C¸c r¬le thêi gian. M¹ng SFC ) M¹ng SFC cho phÇn thao t¸c [...]... 8/13/2007 A R S LD A A R R Q0.1 Q0. 1, 1 Q0. 3, 1 I0.7 I0.4 Q0.3 Q0. 3, 1 L0. 0, 1 Object_Small: SBR1 L0.0 Erase_bit IN-OUT BOOL LD A TON R R LD S LD A A R I0.3 I0.6 T3 4, +100 Q0. 0, 1 Q0. 4, 1 T34 Q0. 1, 1 I0.4 I0.6 Q0.1 Q0. 1, 1 LD S LD A A R S LD A A R S I0.2 Q0. 1, 1 I0.4 I0.7 Q0.1 Q0. 1, 1 Q0. 2, 1 I0.6 I0.4 Q0.2 Q0. 2, 1 Q0. 0, 1 S LD A A R R Q0. 3, 1 I0.7 I0.4 Q0.3 Q0. 3, 1 L0. 0, 1 31 ... I0.7 CALL Object_Large:SBR 0, V0.0 S Q0. 0, 1 LD T33 LD I0.3 A I0.2 A I0.7 S V0. 1, 1 TON T3 3, 500 LD V0.1 R Q0. 0, 1 CALL Object_Small:SBR 1, V0.1 S Q0. 4, 1 Object_Large: SBR0 L0.0 Erase_bit IN-OUT BOOL LD A S LD A A R S LD A A I0.1 I0.2 Q0. 1, 1 I0.4 I0.7 Q0.1 Q0. 1, 1 Q0. 2, 1 I0.5 I0.4 Q0.2 R S LD A TON R R LD S LD A Q0. 2, 1 Q0. 0, 1 I0.3 I0.5 T3 4, +100 Q0. 0, 1 Q0. 4, 1 T34 Q0. 1, 1 I0.4 I0.5 30 8/13/2007... I0.5 S Q0. 0, 1 NETWORK 2 LD I0.2 A I0.5 A I0.1 R Q0. 0, 1 S Q0. 4, 1 TON T3 3, 100 NETWORK 3 LD T33 S Q0. 1, 1 S Q0. 2, 1 NETWORK 4 LD I0.3 R Q0. 1, 1 NETWORK 8 LD T34 S Q0. 1, 1 S Q0. 3, 1 NETWORK 5 LD I0.4 R Q0. 2, 1 NETWORK 9 LD I0.3 R Q0. 1, 1 NETWORK 6 LD I0.3 A I0.4 S Q0. 0, 1 NETWORK 10 LD I0.5 R Q0. 3, 1 NETWORK 7 LD I0.2 A I0.4 R Q0. 0, 1 R Q0. 4, 1 TON T3 4, 100 Bài toán điều khiển khoan cần Phần nâng/hạ Hạ... I0.5 A I0.1 S Q0. 4, 1 R Q0. 0, 1 TON T3 3, 100 NETWORK 5 LD I0.4 A Q0.2 R Q0. 2, 1 S Q0. 0, 1 NETWORK 3 LD T33 S Q0. 1, 1 NETWORK 6 LD I0.2 A I0.4 R Q0. 4, 1 R Q0. 0, 1 TON T3 4, 100 NETWORK 7 LD T34 S Q0. 1, 1 NETWORK 8 LD I0.3 A Q0.1 A I0.4 R Q0. 1, 1 S Q0. 3, 1 NETWORK 9 LD I0.5 A Q0.3 R Q0. 3, 1 Bài toán cánh tay máy trờng hợp 3 HCTr M HCd HCt A Pd HCp B 17 8/13/2007 Mạng SFC cho phần thao tác S8,S12/=1 0 M 1... SFC cho đầu vào, đầu ra PLC 12 8/13/2007 Chơng trình PLC (Ngôn ngữ STL) 1) LD I0.0 T38 3) LD O Q0.0 TON T3 9, +30 A I0.1 = Q0.2 A I0.2 4) A I0.3 LD T 39 TON T3 7, +30 = Q0.3 = Q0.0 2) LD T37 TON T3 8, +30 = Q0.1 Bài toán cánh tay máy trờng hợp 1 HCTr M HCd HCt A Pd HCp B 13 8/13/2007 Lựa chọn trang bị điện M: Nút ấn khởi động Pd: Photo-sensor nhận biết đối tợng ở A HCd: Công tắc hạn chế hành trình hạ HCTr:... t/S2/10s Chạy phải HCp Đợi 9 3 Nâng tay máy 10 Đợi HCTr 4 18 8/13/2007 Mạng SFC cho cấu hình đầu vo, đầu ra PLC S7-200 S8,S12/=1 0 I0.0*I0.1*I0.3*I0.5 1 Q0.0 2 Q0.4(S) I0.2*I0.5*I0.1 T33/S2/10s Q0.2 3 Q0.1 9 I0.4 I0.3 4 10 =1 5 Q0.0 6 Q0.4(R) I0.2*I0.4 T34/S6/10s Q0.3 Q0.1 11 7 I0.5 I0.3 8 12 =1 S0 19 8/13/2007 Chơng trình PLC (Ngôn ngữ STL) NETWORK 1 LD I0.0 A I0.1 A I0.3 A I0.5 S Q0. 0, 1 NETWORK 2 LD I0.2... nhấn khởi động (NO) M: I0.0 Vật có kích thớc lớn: PDt * PDn: I0.1*I0.2 Vật có kích thớc nhỏ: PDn: I0.2 Hạn chế hành trình hạ (NO) tB: I0.3 Hạn chế hành trình nâng (NO) tA: I0.4 Hạn chế hành trình chạy phải tới B (NO) tD: I0.5 Hạn chế hành trình chạy phải tới C (NO) tE: I0.6 Hạn chế hành trình chạy trái (NO) tC: I0.7 27 8/13/2007 Đầu ra: Công tắc tơ hạ tay máy CTH: Q0.0 Công tắc tơ nâng tay máy CTN: Q0.1... Trong số các điều kiện, nhận thấy có một số điều kiện sau xảy ra hiện tợng trùng lặp I0.3*I0.5 có thể thay bằng I0.3*I0.5*Q0.1 I0.4*I0.3 có thể thay bằng I0.4*Q0.2 I0.3*I0.4 có thể thay bằng I0.3*I0.4*Q0.1 I0.5*I0.3 có thể thay bằng I0.5*Q0.3 16 8/13/2007 Chơng trình PLC (Ngôn ngữ STL) NETWORK 1 LD I0.0 A I0.1 A I0.3 A I0.5 S Q0. 0, 1 NETWORK 4 LD I0.3 A Q0.1 A I0.5 R Q0. 1, 1 S Q0. 2, 1 NETWORK 2 LD I0.2... SFC cho phần thao tác 14 8/13/2007 Cấu hình đầu vào đầu ra Đầu vo: Nút nhấn khởi động (NO) M: I0.0 Nhận biết đối tợng ở vị trí A, Pd (NO): I0.1 Hạn chế hành trình hạ (NO) HCd: I0.2 Hạn chế hành trình nâng (NO) HCTr: I0.3 Hạn chế hành trình chạy phải (NO) HCP: I0.4 Hạn chế hành trình chạy trái (NO) HCt: I0.5 Đầu ra: Công tắc tơ hạ tay máy CTH: Q0.0 Công tắc tơ nâng tay máy CTN: Q0.1 Công tắc tơ chạy phải... T33/2/5s*I0.2 Q0.1 9 I0.4*I0.7 4 S Q0.1 I0.4*I0.7 Q0.2 10 S Q0.2 R I0.4*I0.5 5 I0.3*I0.5 Q0.1 I0.4* I0.6 R Q0.1 S Q0.0 11 I0.3* I0.6 12 T34/ 6/1s S Q0.0 R T34/6/1s 7 Q0.2 R Q0.4 L 6 T34=1s S Q0.1 13 I0.4*I0.5 8 I0.7*I0.4 S R Q0.2 R Q0.4 L T34=1s S Q0.1 I0.4*I0.6 Q0.1 S R 14 Q0.3 I0.7* I0.4 R Q0.1 S Q0.3 =1 29 8/13/2007 Chơng trình PLC (Ngôn ngữ STL) LD I0.1 LD T33 A I0.2 A I0.1 O I0.2 A I0.2 A I0.0 S V0. 0, 1 A . Q0. 2, 1 S Q0. 0, 1 NETWORK 6 LD I0.2 AI0.4 R Q0. 4, 1 R Q0. 0, 1 TON T3 4, 100 NETWORK 7 LD T34 S Q0. 1, 1 NETWORK 8 LD I0.3 AQ0.1 AI0.4 R Q0. 1, 1 S Q0. 3, 1. S Q0. 0, 1 NETWORK 2 LD I0.2 AI0.5 AI0.1 S Q0. 4, 1 R Q0. 0, 1 TON T3 3, 100 NETWORK 3 LD T33 S Q0. 1, 1 NETWORK 4 LD I0.3 AQ0.1 AI0.5 R Q0. 1, 1 S Q0. 2, 1 NETWORK