1. Cấu trúc ch−ơng trình
Các ch−ơng trình điều khiển với PLC S5 có thể đ−ợc viết ở dạng đơn khối hoặc đa khối.
Ch−ơng trình đơn khối
Ch−ơng trình đơn khối chỉ viết cho các công việc tự động đơn giản, các lệnh đ−ợc viết tuần tự trong một khối. Khi viết ch−ơng trình đơn khối ng−ời ta dùng khối OB1. Bộ PLC quét khối theo ch−ơng trình, sau khi qt đến lệnh cuối cùng nó quay trở lại lệnh đầu tiên.
Ch−ơng trình đa khối (có cấu trúc):
Khi nhiệm vụ tự động hố phức tạp ng−ời ta chia ch−ơng trình điều khiển ra thành từng phần riêng gọi là khối. Ch−ơng trình có thể xếp lồng khối này vào khối kia. Ch−ơng trình đang thực hiện ở khối này có thể dùng lệnh gọi khối để sang làm việc với khối khác, sau khi đã kết thúc công việc ở khối mới nó quay về thực hiện tiếp ch−ơng trình đã tạm dừng ở khối cũ.
Ng−ời lập trình có thể xếp lồng khối này vào khối kia thành lớp, tối đa là 16 lớp. Nếu số lớp v−ợt quá giới hạn thì PLC tự động về trạng thái ban đầu.
2. Khối và đoạn (Block and Segment)
Cấu trúc mỗi khối gồm có:
+ Đầu khối gồm tên khối, số hiệu khối và xác định chiều dài khối.
+ Thân khối: Thể hiện nội dung khối và đ−ợc chia thành đoạn (Segment) thực hiện từng cơng đoạn của tự động hố sản xuất. Mỗi đoạn lại bao gồm một số dòng lệnh phục vụ việc giải bài toán logic. Kết quả của phép toán logic đ−ợc gửi vào RLO (Result of logic operation). Việc phân chia ch−ơng trình thành các đoạn cũng ảnh h−ởng đến RLO. Khi bắt đầu một đoạn mới thì tạo ra một giá trị RLO mới, khác với giá trị RLO của đoạn tr−ớc.
+ Kết thúc khối: Phần kết thúc khối là lệnh kết thúc khối BE. Các loại khối:
* Khối tổ chức OB (Organisation Block):
Khối tổ chức quản lý ch−ơng trình điều khiển và tổ chức việc thực hiện ch−ơng trình.
* Khối ch−ơng trình PB (Program Block):
Khối ch−ơng trình sắp xếp ch−ơng trình điều khiển theo chức năng hoặc khía cạnh kỹ thuật.
* Khối dãy SB (Sequence Block):
Khối dãy là loại khối đặc biệt đ−ợc điều khiển theo ch−ong trình dãy và đ−ợc xử lý nh− khối ch−ơng trình.
* Khối chức năng FB (Function Block):
Khối chức năng là loại khối đặc biệt dùng để lập trình các phần ch−ơng trình điều khiển tái diễn th−ờng xuyên hoặc đặc biệt phức tạp. Có thể gán tham số cho các khối đó và chúng có một nhóm lệnh mở rộng.
* Khối dữ liệu DB (Data Block):
Khối dữ liệu l−u trữ các dữ liệu cần thiết cho việc xử lý ch−ơng trình điều khiển.