CALL FB1, DB2 Cong : =

Một phần của tài liệu Luận văn nghiên cứu thiết kế hệ thống điều khiển trạm trộn bê tông (Trang 38 - 41)

L W6 //đọc nội dung 2 bytes kể từ ựịa chỉ 6 của local block Bên cạnh việc truy nhập theo ựịa chỉ ô nhớ như ựã làm, ta còn có thể sử

CALL FB1, DB2 Cong : =

Cong : = Ket_qua : =

để sử dụng FB1 nhằm lọc nhiễu tắn hiệu tương tự tại cổng PIW304 và chuyển kết quả vào ô nhớ kiểu TEMP trong local block của khối mẹ OB1 có tên analog_value, với việc lọc nhiễu ựược thực hiện bằng cách tắnh giá trị trung bình của 50 dữ liệu gần nhất, ta khai báo local block cho OB1 và soạn thảo chương trình như sau:

địa chỉ Loại Tên Kiểu

0.0 TEMP OB1_EV_CLASS Byte

1.0 TEMP OB1_SCAN_1 Byte

10.0 TEMP OB1_MAX_CYCLE Int

12.0 TEMP OB1_DATE_TIME DATE_AND_TIME

20.0 TEMP Analog_value REAL

Chương trình:

CALL FB 1 , DB2

Cong : =PIW304

Ket_qua : =#analog_value

Khối DB2 vừa ựược tạo lập theo cấu trúc local block của FB1

Như vậy tất cả các biến kiểu TEMP không ựược chuyển vào DB2. Các tham biến hình thức thuộc loại IN, OUT, IN - OUT xuất hiện trong DB2, song thực chất chỉ là ựịa chỉ và không ựược lưu giữ tham trị. Chỉ riêng giá trị của các biến kiểu STAT là ựược chuyển vào DB2.

Khối dữ liệu DB2 nói riêng và các khối instance của FB nói chung ựều Phần có sẵn và chỉ ựược sử

dụng không ựược sửa ựổi

Người sử dụng khai báo thêm

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 ẦẦẦẦẦẦẦẦẦẦ. 31 có thề ựược sử dụng như một khối dữ liệu thông thường, tức là ta có thể dùng các lệnh mở khối ựể mở chúng, truy nhập vào các ô nhớ của chúng.

2.4.2.5. Ngăn xếp B và ngăn xếp L (B-Stack, L-Stack)

Chương trình trong OB1, tuỳ theo thiết kế của chương trình ựiều khiển, có thể gọi nhiều khối FC và FB khác nhau. Bản thân các khối FC con này của OB1 cũng có thể gọi tiếp các khối FC, FB khác, tức là chúng có thể là khối mẹ của các khối FB, FC con khác. độ dài tối ựa cho phép của xâu quan hệ này giữa các khối chương trình phụ thuộc vào chủng loại module CPU ựang sử dụng, chẳng hạn với CPU314 thì ựộ dài cho phép là 8 khối.

Khi gọi một khối con, ngoài việc tổ chức cấp phát local block, chuyển khối con vào Word memory ... hệ ựiều hành còn cần phải ghi nhớ lại vị trắ lệnh cũng như dữ liệu của công việc ựang thực hiện dở dang trong khối mẹ vào ngăn xếp B và ngăn xếp L ựể sau ựó còn biết chỗ quay về khi kết thúc chương trình trong khối con và tiếp tục thực hiện ựược công việc bị ngắt nửa chừng của khối mẹ hình 2.10.

Như vậy ựể ghi lại vị trắ quay về và công việc phải làm tiếp, hệ ựiều hành sẽ: - Cất nội dung các ô nhớ của local block của khối mẹ vào L - Stack

- Cất vào B - Stack nội dung các thanh ghi DB, DI, tên khối mẹ, ựịa chỉ câu lệnh tiếp ngay sau lệnh gọi trong khối mẹ và con trỏ chỉ vùng dữ liệu trong L - Stack.

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 ẦẦẦẦẦẦẦẦẦẦ. 32

Hình 2.10:Giới thiệu B - Stack và L - Stack

FC1 FC2 FB2

Nội dung thanh ghi DI, DB Con trỏ chỉ vào L-Stack Tên khối mẹ

địa chỉ quay về

Nội dung thanh ghi DI, DB Con trỏ chỉ vào L-Stack Tên khối mẹ

địa chỉ quay về

Nội dung thanh ghi DI, DB Con trỏ chỉ vào L-Stack Tên khối mẹ địa chỉ quay về B - Stack L - Stack FB2 FC2 FC1 (adsbygoogle = window.adsbygoogle || []).push({});

Lưu giữ nội dung local block

của FB2 Lưu giữ nội dung local block

của FC2 Lưu giữ nội dung local block

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 ẦẦẦẦẦẦẦẦẦẦ. 33

Chương 3 CƠ BẢN VỀ WIN CC

Một phần của tài liệu Luận văn nghiên cứu thiết kế hệ thống điều khiển trạm trộn bê tông (Trang 38 - 41)