You are on page 1of 23

Bài 5: FB, FC, Ngắt

Nội dung bài học


 Tìm hiểu cấu trúc chương trình của PLC S7 1200
 Tìm hiểu các khối tổ chức OB
 Tìm hiểu các khối chương trình FC
 Tìm hiểu các khối chương trình FB và khối dữ liệu DB
 Tìm hiểu các khối ngắt
 Thực hành với các khối chương trình.
Bài 5: FB, FC, Ngắt
Cấu trúc chương trình
 Chương trình cho PLC S7 1200 được viết trong các khối
OB, FB, FC trong đó khối OB1(Main) được gọi tự động
và thực thi theo chu kỳ.
 Nếu chương trình điều khiển là lớn, thì ta có thể chia
nhỏ chương trình thành các khối chương trình nhỏ
được bố trí theo chức năng, và dễ theo dõi.
 Các khối chương trình được gọi từ các khối tổ chức OB,
sau khi kết thúc khối chương trình thì chúng sẽ nhảy về
khối tổ chức đã gọi chúng.
Bài 5: FB, FC, Ngắt
Cấu trúc chương trình
 Chương trình nhỏ có thể viết theo kiểu tuần tự.
 Chương trình lớn có thể chia thành các khối chương
trình OB, FB, FC, DB
Bài 5: FB, FC, Ngắt
Cấu trúc chương trình
Bài 5: FB, FC, Ngắt
Cấu trúc chương trình
 Lập trình cấu trúc:
• Các khối sau đây được sử dụng cho lập trình cấu trúc:
1. OB(Organization Block): được hệ điều hành gọi theo
chu kì và là giao diện giữa chương trình và hệ điều hành
2. FB(Function Block): Mỗi lần gọi khối FB cần được cấp
một vùng nhớ xác định – khối dữ liệu DB mẫu. Dữ liệu
trong khối DB sẽ được truy cập bởi các biến của khối
FB. Các vùng nhớ khác nhau được gán tới FB nếu nó
được gọi nhiều lần.
Bài 5: FB, FC, Ngắt
Cấu trúc chương trình
3. FC(Function): FC không cần truy cập vùng nhớ, dữ liệu
cục bộ của một khối FC sẽ mất sau khi khối được thực hiện.
4. DB(Data Block): các khối DB được sử dụng để cung cấp
vùng nhớ cho biến dữ liệu, có 2 loại DB là Global DB và
Instance DB.
o Global DB – khối DB toàn cục có thể được OB, FB, FC
đọc dữ liệu lưu trữ trong chúng và các khối OB, FB, FC có
thể ghi dữ liệu vào khối DB toàn cục .
o Instance DB – khối DB mẫu chỉ được gán tới một FB xác
định.
Bài 5: FB, FC, Ngắt
Khối tổ chức OB
 Khối tổ chức OB:
• Đáp ứng một sự kiện xác định trong CPU và có thể ngắt
sự thực thi của chương trình chính. Khối thực thi theo
chu trình của chương trình người dùng (OB 1) cung cấp
cấu trúc cơ bản dành cho chương trình.
• Nếu ta thêm các khối OB khác trong chương trình, các
OB này sẽ ngắt sự thực thi của OB 1. Các OB khác thực
hiện các hàm đặc trưng, ví dụ như cho các tác vụ khởi
động, cho việc xử lý các ngắt và lỗi, hay cho việc thực thi
chương trình đặc trưng tại các khoảng thời gian dừng
riêng biệt.
Bài 5: FB, FC, Ngắt
Khối chức năng FB
 Khối chức năng FB:
• Khối chức năng FB là một chương trình con được thực
thi khi nó được gọi từ các khối khác(OB, FB hay FC).
• Khối đang gọi chuyển tiếp các thông số đến FB và nhận
dạng một khối dữ liệu đặc trưng DB mà khối dữ liệu đó
lưu trữ dữ liệu cho lần gọi riêng hay cho giá trị mẫu của
FB đó.
• Thay đổi DB mẫu cho phép một FB
điều khiển sự hoạt động của một tổ
hợp các thiết bị. Ví dụ, một FB có thể
điều khiển một vài máy bơm, với các
DB mẫu chứa các thông số vận hành
riêng biệt của mỗi máy bơm.
Bài 5: FB, FC, Ngắt
Khối chức năng FC
 Khối chức năng FC:
• Khối chức năng (FC), là một chương trình con mà được
thực thi khi nó được gọi từ một khối mã khác (OB, FB
hay FC). FC không có một khối dữ liệu DB mẫu đi kèm
• Khối đang gọi chuyển tiếp
các thông số đến FC. Các giá
trị ngõ ra từ FC phải được ghi
đến một địa chỉ nhớ hay đến
một DB toàn cục.
Bài 5: FB, FC, Ngắt
Khối tổ chức OB
 Thêm khối tổ chức OB:
Bài 5: FB, FC, Ngắt
Khối chức năng FB, FC
 Thêm khối chức năng FB, FC:
Bài 5: FB, FC, Ngắt
Khối dữ liệu DB
 Thêm khối dữ liệu DB:
Bài 5: FB, FC, Ngắt
Thực hành khối chức năng FC
 Tạo khối chức năng FC như sau:
Bài 5: FB, FC, Ngắt
Thực hành khối chức năng FB
 Tạo khối chức năng FB như sau:
Bài 5: FB, FC, Ngắt
Thực hành khối chức năng FB
 Tạo khối chức năng FB như sau:
Bài 5: FB, FC, Ngắt
Thực hành khối chức năng FB
 Tạo khối chức năng FB như sau:
Đầu vào: Close_cmd, Open_cmd, CB_Closed, CB_Opened
Đầu ra: Close_CB, Open_CB
• Close_cmd=On & CB_Opened=On Close_CB=On
• CB_Closed=On Close_CB=Off
• Open_cmd=On & CB_Closed=On Open_CB=On
• CB_Opened=On Open_CB=Off
Bài 5: FB, FC, Ngắt
Các khối ngắt
 PLC S7 1200 hỗ trợ các khối OB ngắt:
• Time of day interrupt – OB10
• Time delay interrupt – OB20
• Cyclic interrupt – OB30
• Hardware interrupt – OB40
• Time error interrupt – OB80
• Diagnostic interrupt – OB82
Bài 5: FB, FC, Ngắt
Các khối ngắt
Bài 5: FB, FC, Ngắt
Khối ngắt Time delay
 Ngắt Time delay – OB20:
• Sử dụng các khối QRY_DINT & SRT_DINT :
Bài 5: FB, FC, Ngắt
Khối ngắt Time delay
 Ngắt Time delay – OB20:
Bài 5: FB, FC, Ngắt
Khối ngắt Cyclic
 Ngắt chu kỳ Cyclic – OB30:
Bài 5: FB, FC, Ngắt
Khối ngắt phần cứng
 Ngắt phần cứng – OB40:
Bài 5: FB, FC, Ngắt
Thực hành các khối ngắt
 Viết chương trình khi có sườn lên tín hiệu I0.0 thì kiểm
tra bơm nối tới chân Q0.0, nếu chưa chạy thì chạy bơm.
 Khi có sườn lên tín hiệu I0.1 thì kiểm tra bơm nối tới
chân Q0.0, nếu chưa dừng thì dừng bơm.
 Viết chương trình ngắt cứ 200ms thì tăng giá trị ô nhớ
MD0.
 Viết chương trình ngắt sau 500ms thì tăng giá trị ô nhớ
MD4.

You might also like