- Module mở rộng
1.5.2.3 Local block của khối FB
Nhược ựiểm của kiểu khối FC là nội dung các biến tạm thời kiểu TEMP không ựược lưu lại cho những vòng quét saụ đ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 một vòng quét và do ựó hạn chế miền sử dụng của chúng.
Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuật ẦẦẦẦẦẦẦẦẦẦ. 19 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ến tạm thời có nội dung ựược lưu giữ này có tên là STAT (viết tắt của Static)
Phương thức lưu lại nội dung các biến STAT ựược hệ ựiều hành thực hiện nhờ một khối dữ liệu như sau (hình 1.11)
Khi thực hiện lệnh gọi, hệ ựiều hành chuyển khối FB ựược gọi vào Word memory, cấp phát cho nó trong Word memory một local block như yêu cầụ Ghi các tham trị từ khối mẹ vào các tham trị 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 IN, IN-OUT về cho khối mẹ và ghi lại giá trị của biến thuộc loại STAT trong local block vào khối dữ liệu kèm theọ
Hình 1.11. Thực hiện gọi khối FB1 cùng với DB2 từ OB1 OB1 . . Call FB1, DB2 . .
Chuyển FB1 vào Work memory, cấp phát local block và gán giá 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 vào DB2. Xoá FB1 và local block ra khỏi Work memory
FC10 . . . . . . . BE DB2 DB2
Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuật ẦẦẦẦẦẦẦẦẦẦ. 20 Về cơ bản, local block của khối FB cũng giống như khối FC, nhưng có thêm biến loại STAT. Các loại biến của khối FB (Xem phụ lục 1.3)
Riêng ựối với biến STAT ta còn sử dụng ựược kiểu dữ liệu ARRAY, STRING
Việc khai báo local block cho FB cũng hoàn toà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ự khoá (ựã ựược dùng bởi hệ ựiều hành).