Ngắt phần cứng (Hardware interrupts)

Một phần của tài liệu Giáo trình kỹ thuật điều khiển lập trình (Trang 137 - 139)

b) Những khốiOB đặc biệt

3.5.1.2. Ngắt phần cứng (Hardware interrupts)

Ngắt cứng (cịn gọi là ngắt quá trình) được sử dụng để phát hiện ngay lập tức các sự cố nghiêm trọng từ hệ thống điều khiển, chuyển chúng vào trong chương trình phản ứng ngay lập tức bằng cách kích hoạt chương trình phục vụ ngắt tương ứng. Các khối tổ chức OB40 đến OB47 trong Step 7 được sử dụng cho ngắt cứng. Mỗi loại CPU cĩ một số khối nhất định.

a) Kích hoạt một ngắt cứng

Ngắt cứng được kích hoạt bởi một mơ đun cĩ khả năng phát tín hiệu ngắt. Ví dụ cĩ thể là một mơ đun cổng vào digital thu nhận tín hiệu từ quá trình hay một mơ đun chức năng. Theo mặc định tín hiệu kích ngắt bị khĩa. Khi cài đặt tham số cho mơ đun, cĩ thể cho phép kích hoạt các ngắt cứng (tham số tĩnh) trong thanh cơng cụ HW config trong cấu hình phần cứng. ở đây cũng cĩ thể cài đặt tín hiệu ngắt cứng được kích hoạt do một sự cố tự nơi khác đến hay tự phát ra hoặc do cả hai, (tham số động). Tham số động cĩ thể thay đổi với lệnh gọi SFC trong thời gian hoạt động. Khi cài đặt tham số cho mơ đun, cũng cĩ thể gán một khối tổ chức cho ngắt cứng.

Khi một ngắt cứng xảy ra, các khối tổ chức được gán cũng phải tồn tại. Nếu khơng, CPU đưa ra một thơng báo trong vùng đệm chuẩn đốn và gọi khối tổ chức báo lỗi khơng đồng bộ OB85 (Lỗi xử lý chương trình) hay đi vào chế độ STOP. Các ngắt cứng chỉ được kích khi ở chế độ RUN. Ngắt cứng bị từ chối trong khi khởi động.

b) Rà sốt các thơng tin khởi động

Trong khối tổ chức ngắt, cĩ thể biết được mơ đun nào kích các ngắt, Byte 5,6 và 7 của thơng tin khởi động của mơ đun này. Byte 8 đến 11 chứa trạng thái của các cổng vào digital và các trạng thái ngắt của mơ đun đối với các mơ đun khác.

c) Tạo cấu hình ngắt cứng trong CPU

Để tạo cấu hình các ngắt cứng trong CPU, gọi cấu hình phần cứng với cơng cụ HW Config. Thanh “Interrupts” trong hộp thoại “Object Properties” chỉ ra các

khối tổ chức ngắt cứng trong CPU đang sử dụng. Ta đặt cấp ưu tiên xử lý ở đây. Đối với mõi OB ngắt cứng được sử dụng cũng như đối với cấp độ ưu tiên phải được đặt sẵn ít nhất 20 bytes ở dữ liệu cục bộ thời. Thực hiện điều này trên thanh “memory” của “Object properties”.

d) Vơ hiệu hĩa và làm trễ các ngắt cứng

Cĩ thể điều khiển xử lý các ngắt cứng với Nhĩm lệnh chức năng hệ thống sau: SFC 39 DIS_IRT (khĩa ngắt), SFC40 EN_IRT (mở các ngắt bị chặn), SFC 41 DIS_AIRT (trì hỗn ngắt) và SFC 42 EN_AIRT (bỏ trì hỗn).

3.5.1.3. Ngắt chu kỳ (Cyclic Interrupts)

Ngắt chu kỳ được kích hoạt theo chu kỳ với một khoảng thời gian đều đặn. Ngắt chu kỳ (cịn gọi là watchdog interrupt) gọi một khối tổ chức đặc biệt dành riêng cho kiểu ngắt này. Với ngắt chu kỳ cĩ thể tạo ra chương trình được xử lý theo chu kỳ thời gian mà khơng phụ thuộc vào thời gian xử lý của chương trình. Các khối tổ chức OB30 đến OB38 ở STEP 7 dùng để xử lý ngắt chu kỳ. Mỗi loại CPU cĩ một hoặc nhiều khối.

a) Thiết kế ngắt chu kỳ

Ngắt chu kỳ được xác định trong HW Config khi cài đặt tham số cho CPU trong cấu hình phần cứng trong mục “ Cyclic Interrupt” của hộp thoại “ Object Properties”. Một ngắt chu kỳ cĩ 3 tham số: Chu kỳ thực hiện, độ sai dịch và cấp độ ưu tiên. Chu kỳ thực hiện và độ sai dịch cĩ thể thay đổi từ 1ms đến 1 minust với bước 1ms. Cấp độ ưu tiên tùy theo CPU cĩ thể chọn từ 2 đến 24 hoặc 0 (=ngắt khơng tác động). Đối với mỗi OB ngắt chu kỳ cũng như đối với cấp độ ưu tiên phải nhớ dành riêng tối thiểu 20 byte trong dữ liệu cục bộ tạm thời. Thực hiện điều này trên thanh “ Memory” của hộp thoại “ Object Properties”.

b) Độ sai dịch (phase offset)

Cĩ thể sử dụng tham số “phase offset” để xử lý các chương trình ngắt chu kỳ được đặt ở cùng một khoảng thời gian hay bội số của nĩ trong tham số “ Execution”. Điều này tăng độ chính xác của chu kỳ xử lý do khối tổ chức mức độ ưu tiên thấp hơn khơng phải đợi. Cả hai tham số “ Execution” và “ Phase offset” được khởi động khi CPU ở chế độ RUN.

c) Khĩa và trì hỗn ngắt chu kỳ

Cĩ thể sử dụng Nhĩm lệnh chức năng hệ thống sau để ảnh hưởng đến sự xử lý ngắt chu kỳ: SFC 39 DIS_IRT (khĩa ngắt), SFC 40 EN_IRT (mở các ngắt bị chặn), SFC 41 DIS_AIRT (trì hỗn ngắt).

Một phần của tài liệu Giáo trình kỹ thuật điều khiển lập trình (Trang 137 - 139)

Tải bản đầy đủ (PDF)

(177 trang)