Giới thiệu chungvề plc
6.1.3 Cấu trúc và tổ chức chơng trình:
Các khối chính trong chơng trình
Trong ngôn ngữ Step7 có các khối chính sau : OBs ,FBs ,FCs.
Khối OB :Là khối giao tiếp CPU và chơng trình trong đó là khối OB1 là khối chơng trình đợc gọi theo chu kì quét . Chơng trình có thể bao gồm nhiều khối lôgic khác nhau và có thể gọi từ OB1.
Khối FB :Là khối lôgic kết hựp với vùng nhớ .Khối FB đòi hỏi với vùng nhớ dữ liệuinstance.Các tham số chuyển tới cho FB ( là tham số cố định ) đợc chứa trong instancedata còn các tham số khác đợc chứa trên L-Stack.Dữ liệu instance sẽ đợc lu giữ (không mất đI ), khi FB kết thúc hoạt động trong khi dữ liệu trên L-Stack sẽ không đợc lu lại.
Khối SFB: Là khối hàm đợc tích hợp (đợc lập trình sẵn do nhà sản xuất) trong CPU S7 ta có thể gọi các khối SFB trong các chơng trình. Do SFB là một phần của hệ đIũu hành nên không cần nạp từ chơng trình sử dụng. Tơng tự nh khối FB ,SFB cũng cần instance DB nên ngời lập trình cần thiết phảI tạo khối instance DB và nạp vào CPU từ chơng trình ngời sử dụng .
Khối FC : là khối logic không kết hợp với vùng nhớ, khối FC không yêu cầu dùng instance DB .Các biến cục bộ của FC lu trữ trên L-Stack , do đó các dữ liệu này bị mất đI khi FC kết thúc hoạt động .
Khối SFC : Là khối chơng trình đợc lập trình sẵn qua kiểm nghiệm của hãng sản xuất và đợc tích hợp trong CPU S7 .Giống nh SFB ,SFC cũng là một Hoàng Văn Linh Lớp K36IB Trờng Đại học KTCN Thái Nguyên - 49 -
phần hệ điều hành nên có thể gọi trong chơng trình sủ dụng mà không cần nạp lại.
Một số khối và các sự kiện gọi khối .
OB1: Là khối gọi theo chu kì quét của CPU , OB1 có mức u tiên thấp nhất trong các khối OB khác đều có thể ngắt OB1 để sử lí .Hệ thống gọi OB1 theo hai cách sau:
- Khi OB100 vừa hoàn thành việc khởi động. - OB1 của chu kì trớc vừa kết thúc.
OB10: Đợc gọi tại một thời điểm đợc lập trình trớc .
Ngắt thời gian trễ OB20 : Đợc khởi động sau thời gian trễ đợc lập trình .OB20 đợc chạy khi SFC 32 download, OB20 xuống CPU và chỉ chạy khi CPU ở chế độ Run.
Ngắt chu kì OB35 .Ngắt khối theo chu kì thời gian cho phép từ 1ms đến 1 phút .
Ngắt cứng Ob40. Cho phép chơng trình điều kiển đáp ứng với tín hiệu từ các modul khác nhau. Khi OB40 chạy thì hệ thống sẽ nhận ra các yêu cầu ngắt cứng khác .
Khối khởi tạo OB100. Hệ điều hành sẽ gọi OB100 khi CPU chuyển từ Stop sang Run do đó có thể lập trình để vào các số liệu khởi tạo ban đầu cho CPU.
Các ngắt xử lí lỗi.Từ OB80 đến OB87 cho các lỗi không đồng bộ từ OB 121 đền OB122 cho các lỗi đồng bộ .Sau đây là một số khối này:
- OB80: Step 7 qui định thời gian cực đạI cho chu kì quét khối OB1 là 150ms Nừu vợt qua thời gian này thì hệ thống gọi OB80 ,trờng hợp Ob80 cha đợc lập trình thì CPU chuyển sang chế đọ Stop.
- OB81: Khối OB81 sẽ đợc gọi khi CPU S7 xác định đợc lỗi liên quan đến nguồn cấp .
- OB82: CPU S7 sẽ gọi OB82 khi phát hiện lỗi liên quan đến modul vào /ra , nh chập đầu vào, đứt dây..
- OB121: Hệ đIũu hành của CPU S7 xẽ gọi OB121 khi phát hiện lỗi liên quan đến thực hiện chơng trình . Khi gọi Ob121 mà cha đợc lập trình thì CPU xẽ chuyển sang chế độ Stop.
- OB122: Khối này đợc gọi khi có sự kiện liên quan đến việc truy cập tới modul . Khi gọi Ob122 mà cha đợc lập trình thì CPU xẽ chuyển sang chế độ stop.
Phần III