You are on page 1of 2

Tổng quan về OB, FC, FB, SFB, SFC

Trong Simatic Manager của Siemens cấu trúc chương trình nó dễ giám sát và thao tác.
Chương trình được chia ra các khối chức năng khác nhau như SFB - System function blocks
và SFC - System functions là khối hàm hệ thống; FB - Function blocks, FC - Functions là các
hàm chức năng của thư vện do Siemens hỗ trợ hoặc người sử dụng tự viết hoặc kế thừa từ
người đi trước; ngoài ra các dữ liệu được hỗ trợ loại Instance data block để liên kết với các
FB/SFB hay loại Share data Block dùng để lập trình.

Khối tổ chức OB kết nối giữa chương trình với hệ điều hành PLC. OB có thể được gọi theo
chu kỳ thời gian hoặc ngắt hay sự cố, hay khi khởi đôgnj PLC. Có nhiều khối OB khác nhau
và có mức độ ưu tiên ngắt khác nhau. Khối có mức độ ưu tiên càng cao thì càng ưu tiên hơn
khối có số ưu tiên nhỏ hơn. Mỗi khối OB có ưu tiên khác nhau, chức năng nhiệm vụ cũng
khác nhau.

OB = Oganization
Trong đó cần phải nói tới các chức năng
Fc = Function: Hàm chức năng
FB = Function block: Khối chức năng
SFC = System Function = Hàm chức năng hệ thống
SFB = System Function Block = Khối hàm chức năng hệ thống
DB = Data block = Khối dữ liệu . Lưu trữ chương trình
Việc lập trình cho S7_300 được chia thành các khối chương trình khác nhau. Mỗi khối
chương trình có điều kiện thực thi khác nhau.

Trong S7_300 có nhiều khối hàm khác nhau, một số khối hàm thông thường như sau:
OB1: khối chương trình thực thi liên tục.
Chương trình viết trong khối OB1 được thực thi liên tục. Nghĩa là, chương trình thực thi theo
thứ tự từ trên xuống, bắt đầu ở lệnh đầu tiên cho đến khi gặp lệnh kết thúc thì chương trình
quay trở lại thực thi lệnh bắt đầu.
OB100: khối chương trình khởi tạo.
Chương trình viết trong khối này được thực thi một lần duy nhất ở chu kỳ quét đầu tiên của
chương trình (lúc chuyển chế độ PLC từ Stop sang Start hay lúc mới mở nguồn cho PLC).
Khối chương trình này có tác dụng khởi tạo một số dữ liệu ban đầu trong hệ thống.
OB30: ngắt 5000ms. Cứ 5000ms thì chương trình viết trong khối này được thực thi một lần.
OB31: ngắt 2000ms.
OB32: ngắt 1000ms.
OB33: ngắt 500ms.
OB34: ngắt 200ms.
OB35: ngắt 100ms.
OB36: ngắt 50ms.
OB37: ngắt 20ms.
OB38: ngắt 10ms.
Trong các khối chương trình ngắt thời gian từ OB30 đến OB38, chỉ duy nhất có OB35 là khối
chương trình mà khoảng thời gian ngắt ta có thể cài đặt lại (thay vì là 100ms như mặc
định).

1/ Ngắt thời gian


Có 8 OB từ OB10 đến OB17 gây ngắt ở một thời điểm xác định. Có thể cài đặt để các ngắt
này xảy ra một lần hay theo chu kỳ hàng giờ, hàng ngày, hàng tuần, hàng thang bằng cách
dung phần mềm Step7 Manager cấu hình trong PLC hay dung các hàm hệ thống. Số các
ngắt sử dụng được tùy thuộc vào loại CPU mình đang sử dụng.

Giả sử ta đã cài cấu hình PLC CPU 318 cho project. Trong cửa sổ Project bấm vào hardware
chọn Slot CPU mở ra cửa sổ Time of Day Interrups.

- Cột priority: không thay đổi được.


- Cột active: bấm chọn để tích cực OB tương ứng
- Cột Execution: có các tùy chọn None (ko tác động), One (tác động 1 lần), Every minute,
hour, day, week, month, year (theo chu kì) và end of month (cuối tháng)
- Cột Start Date và Time of Day: ghi ngày (mm.dd.yy) và giờ (hh:mm) bắt đầu gây ra ngắt.
Nếu cài đặt xảy ra một lần thì ngày giờ này phải là tương lai so với giờ của PLC.

Nếu đã cài đặt các thông số xong, ta trở lại Project thêm vào khối OB ngắt tương ứng (ví dụ
OB10), mở khối ra và lập trình cho khối. Các thông số và chương trình sẽ được truyền
xuống PLC khi thực hiện download. Nếu trong chương trình không có khối OB tương ứng khi
được gọi đến thì sẽ gây sự cố gọi OB85, nếu chưa cài OB85 thì PLC Stop.

Giờ của PLC cần phải chỉnh cho chính xác, với máy tính lập trình kết nối PLC, vào menu PLC-
Diplay Accessible Nodes- MPI, sau đó chọn PLC- Set Time of Day .

Sau đây giới thiệu về cài đặt ngắt bằng chương trình. Trước hết trong cột Active ta phải tích
cực OB, sau đó phải có khối OB đó trong Project; các hàm SFC 28 đến SFC 31 được sử dụng
trong chương trình với các chức năng sau:

- Cài đặt thông số ngắt thời gian (SFC28 "SET_TINT")


- Hùy bỏ ngắt thời gian (SFC29 "CAN_TINT")
- Tích cực ngắt thời gian (SFC30 "ACT_TINT")
- Truy vấn (query) ngắt thời gian (SFC31 "QRY_TINT")

Trước khi khối OB ngắt thời gian được thực hiện, phải thỏa các điều kiện sau:

- Đặt ngày giờ dùng STEP 7 hay SFC28


- Tích cực dùng STEP 7 hay SFC30
- Cài đặt OB trong Project

You might also like