Cấu trúc chương trình

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, chế tạo hệ thống giám sát điều khiển cho trạm điện phân phối (Trang 61 - 63)

Chương trình cho S7-300 được lưu trong bộ nhớ của PLC ở vùng dành riêng cho chương trình và có thể được lập với hai dạng cấu trúc khác nhau:

1) Lập trình tuyến tính: Toàn bộ chương trình điều khiển nằm trong một khối trong mội bộ nhớ. Loại hình cấu trúc tuyến tính này phù hợp với những bài toán tự động nhỏ, không phức tạp. Khối chương được chọn phải là khối OB1, là khối mà PLC luôn quét và thực hiện các lệnh trong nó thường xuyên, từ lệnh đầu tiên đến lệnh cuối cùng và quay lại lệnh đầu tiên.

Các khối OB khác nhau không tham gia vào vòng quét mà được gọi bằng những tín hiệu báo ngắt. S7-300 có nhiều loại tín hiệu báo ngắt như tín hiệu báo ngắt khi có sự cố chập mạch ở các module mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian,... và mỗi loại tín hiệu báo ngắt như vậy cũng chỉ có khả năng gọi một loại khối OB nhất định. Ví dụ tín hiệu báo ngắt sự cố nguồn nuôi chỉ gọi khối OB81, tín hiệu báo ngắt truyền thông chỉ gọi khối OB87...

Mỗi khi xuất hiện một tín hiệu báo ngắt hệ thống sẽ tạm dừng công việc đang thực hiện lại, chẳng hạn như tạm dừng việc thực hiện chương trình trong khối OB1, và chuyển sang thực hiện chương trình xử lý ngắt trong các khối OB tương ứng. Ví dụ khi đang thực hiện OB1 mà xuất hiện tín hiệu báo ngắt sự cố truyền thông, hệ thống sẽ tạm dừng việc thực hiện OB1 lại để gọi và thực hiện chương trình trong khối OB87. Chỉ sau khi đã thực hiện xong chương trình OB87, hệ thống mới quay trở về thực hiện tiếp tục phần chương trình còn lại trong OB1.

Hình 3-11: Cấu trúc chương trình lập trình tuyến tính

2) Lập trình có cấu trúc: Chương trình được chia thành những phần nhỏ với từng nhiệm vụ riêng và các phần này nằm trong những khối chương trình khác nhau. Loại hình cấu trúc này phù hợp với những bài toán điều khiển nhiều nhiệm vụ và phức tạp. PLC S7-300 có bốn loại khối cơ bản:

- Loại khối OB ( Organization block): Khối tổ chức và quản lý chương trình diều khiển. Có nhiều loại khối OB với những chức năng khác nhau, chúng được phân biệt với nhau bằng một số nguyên đi sau nhóm ký tự OB, ví dụ như OB1, OB35, OB40, OB80...

- Loại khối FC(Program block): Khối chương trình với những chức năng riêng giống như một chương trình con hoặc một hàm (chương trình con có biến hình thức). Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC này được phân biệt với nhau bằng số nguyên sau nhóm ký tự FC. Chẳng hạn như FC1, FC2...

- Loại khối FB (Function block): Là loại khối FC đặc biệt có khả năng trao đổi một lượng dữ liệu lớn với các khối chương trình khác. Các dữ liệu này phải được tổ chức thành khối dữ liệu có tên gọi là Data block. Một chương trình ứng dụng có thể có nhiều khối FB và các khối FB này được phân biệt với nhau bằng số nguyên sau nhóm ký tự. Chẳng hạn như FB1, FB2...

-Loại khối DB ( Data block): Khối chứa các dữ liệu cần thiết để thực hiện chương trình. Các tham số của khối do người dùng tự đặt. Một chương trình ứng dụng có thể

OB1 lệnh 1 ... lệnh2 ... ... lệnh cuối cùng

có nhiều khối DB và các khối DB này được phân biệt với nhau bằng một số nguyên sau nhóm ký tự DB. Ví dụ: DB1, DB2...

Chương trình trong các khối dược liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Xem những phần chương trình trong các khối như là các chương trình con thì S7-300 cho phép gọi chương trình con lồng nhau, tức là từ chương trình con này gọi được một chương trình con khác và từ chương trình con được gọi lại gọi tới một chương trình con thứ 3... Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại module CPU mà ta sử dụng. Ví dụ CPU314 thì số lệnh tối đa lồng nhau cho phép là 8. Nếu số lần gọi khối lồng nhau mà vượt quá con số giới hạn cho phép, PLC sẽ tự chuyển sang chế độ STOP và đặt cờ báo lỗi.

Để đơn giản trong trình bày, khi một khối chương trình con này gọi một khối chương trình con khác, ta sẽ ký hiệu khối chứa lệnh gọi là khối mẹ và khối được gọi là khối con.

Giữa khối mẹ và khối con có sự liên kết thể hiện thông qua việc trao đổi các giá trị. Khi gọi khối con, khối mẹ cần cho những sơ kiện thông qua các tham trị đầu vào để khối con thực hiện nhiệm vụ. Sau khi thực hiện xong nhiệm vụ, khối con phải trả lại cho khối mẹ kết quả bằng những tham trị đầu ra. Hệ điều hành của CPU tổ chức việc truyền tham trị thông qua local block của từng khối con.

Như vậy khi thực hiện một khối con, hệ điều hành sẽ:

1) Chuyển khối con được gọi từ vùng Load memory vào vùng Work memory.

2) Cấp phát cho khối con một phần bộ nhớ trong Work memory để làm local block. Cấu trúc local block được quy định khi soạn thảo các khối.

3) Truyền các tham trị từ khối mẹ cho biến hình thức IN, IN-OUT của local block. 4) Sau khi khối con thực hiện xong nhiệm vụ và ghi kết quả dưới dạng tham trị đầu ra cho biến OUT, IN-OUT của local block, hệ điều hành sẽ chuyển các tham trị này cho khối mẹ và giải phóng khối con cùng local block ra khỏi vùng Work memory.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, chế tạo hệ thống giám sát điều khiển cho trạm điện phân phối (Trang 61 - 63)

Tải bản đầy đủ (PDF)

(88 trang)