b) Những khốiOB đặc biệt
3.3.3. Local block của FB
Nhược điểm của khối FC là nội dung các biến tạm thời kiểu TEMP khơng được lưu giữ lại cho những vịng quét sau.Điều này bắt buộc những khối FC cĩ 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 nhưng lại cĩ khả năng lưu 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ếnn tạm thời cĩ nội dung được lưu giữ lại này cĩ tên là STAT(viết tắt của static).
Phương thức 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 3.6):
- 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 tham 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 vào 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ị của biến thuộ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.
Hình 3-6: Thực hiện gọi khối FB1 kèm cùng với DB2 từ OB1
Về cơ bản, local block của khối FB cũng giống của khối FC, nhưng cĩ thêm biến loại STAT. Các loại biến của khối của FB cho trong bảng 3-3 dưới:
Loại biến ý nghĩa
IN Biến hình thức sử dụng để nhận tham trị từ biến mẹ lam sơ kiện chương trình trong biến 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 me.
STAT Nội dung của biến lại này cĩ khả năng được lưu 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.
Bảng 3-3: Các loại biến của khối của FB
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 loại biến (biến hình thức, 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).
Chuyển FB1 vào work memory và cấp phát local
block và gán tham trị cho biến hình thức từ OB1 và cho biến loại STAT từ DB2
Trả tham trị về OB1. Ghi lại biến loại STAT.Xố FB1 và local block của nĩ khỏ work memory. OB1 . call FB1,DB2 . FB1 . . . BE DB2 DB2
Kiểu dữ liệu hợp lệ nhất cho tất cả các loại biến(kể cả biến hình thức, biến STAT và TEMP) đã cho trong bảng ở mục 4.1.1. Riêng đới với biến STAT ta cịn sử dụng được kiểu dữ liệu ARRAY, STRING.