Nhợc điểm của của kiểu khối FC là nội dung các biến tạm thời theo TEMP khơng đợc lu giữ lại cho những vịng quét sau. Điều này bắt buộc những khối FC sử dụng biến kiểu TEMP trong local block phải đợc thực hiện xong trong một vịng quét và do đĩ hạn chế miền sử dụng của chúng.
Khắc phục nhợc điểm trên, S7-300/400 cung cấp một loại khối cĩ tính năng tơng tự nh khối FC nhng lại cĩ khả năng lu giữ lại đợc nội dung các biến tạm thời cho các vịng quét kế tiếp, đợc gọi là khối hàm FB. Loại biến tạm thời cĩ nội dung đợc lu giữ này cĩ tên là STAT (viết tắt của static).
Phơng thức lu giữ lại nội dung các biến loại STAT đợc hệ điều hành thực hiện nhờ một khối dữ liệu nh sau:
Hình 2.3. Thực hiện gọi khối FB1 kèm cùng với DB2 và OB1.
- Khi thực hiện lệnh gọi, hệ điều hành chuyển khối FB đợc gọi vào Work memory cấp phát cho nĩ trong Work memory một local block nh yêu cầu. Ghi các tham trị từ khối mẹ vào các biến hình thức loại IN, IN-OUT, và nội dung các ơ nhớ tơng ứng trong DB kèm theo biến loại STAT trong local block.
- Khi chơng trình trong khối FB kết thúc, hệ điều hành chuyển nội dung của biến hình thức loại OUT, IN-OUT về cho khối mẹ và ghi lại các giá trị biến thộc loại STAT trong local block vào khối dữ liệu kèm theo, sau đĩ giải phĩng local block cùng khối FB ra khỏi Work memory.
Về cơ bản local block của khối FB cũng giống nh của khối FC, nhng cĩ thêm biến loại STAT. Các loại biến của khối FB cho trong bảng dới:
Loại biến ý nghĩa
IN Biến hình thức sử dụng để nhận tham trị từ khối mẹ làm sơ kiện
cho chơng trình trong khối con
OUT Biến hình thức dùng để trả tham trị từ khối con về khối mẹ
IN-OUT Biến hình thức, loại biến này vừa cĩ khả năng nhận vừa cĩ khả
năng trả tham trị cho khối mẹ.
STAT Nội dung của biến loại này cĩ khả năng lu giữ lại khi kết thúc ch-
ơng trình trong FB
TEMP Biến tạm thời.Nội dung sẽ bị mất khi chơng trình trong FB kết
thúc OB1 call FB1, DB2
Chuyển FB1 vào Work memory, cấp phát local block gắn tham trị cho biến hình thức từ OB1 và cho biến loại STAT từ DB2
DB2
2
Trả tham trị về OB1 ghi lại biến loại STAT vào DB2. Xố FB1 và local block của nĩ khỏi
Work memory FB1 EMBE D Equati on.3 BE BD2
Việc khai báo local block cho FB cũng hồn tồn tơng tự nh cho FC gồm đặt tên biến, xác định, xác định loại biến (biến hình thức hay, STAT hay TEMP) và kiểu dữ liệu (nguyên, thực, ký tự) cho từng biến.
Tên biến phải là những dãy ký tự hoặc số và khơng thuộc nhĩm ký tự khố (đã đợc dùng bởi hệ điều hành).