Có ba loại ngôn ngữ lập trình được sử dụng trong PLC, đó là LAD (Ladder logic), FBD (Function Block Diagram), và STL (Statement List). Trong bài viết này, chúng ta sẽ tìm hiểu về đặc điểm của từng loại ngôn ngữ lập trình và cách áp dụng chúng một cách thích hợp.
1. Ngôn ngữ lập trình LAD
LAD là ngôn ngữ lập trình kiểu đồ họa, nơi sự hiển thị dựa trên các sơ đồ mạch điện.
Hình ảnh: Ngôn ngữ lập trình LAD
Các thành phần của sơ đồ mạch điện, như các tiếp điểm thường đóng hoặc thường mở, và các cuộn dây được kết nối với nhau để tạo thành mạng. Để tạo ra sơ đồ logic cho các thực thi phức tạp, chúng ta có thể thêm các nhánh để tạo ra các mạch logic song song. Các nhánh song song có thể mở ra theo hướng xuống hoặc được kết nối trực tiếp đến thanh dẫn tín hiệu. Còn các nhánh được kết thúc theo hướng lên trên.
Cần chú ý đến các quy tắc sau đây khi tạo ra mạng LAD:
- Mỗi mạng LAD phải kết thúc bằng một cuộn dây hoặc một lệnh dạng hộp. Không được kết thúc một mạng với cả lệnh so sánh (Compare) hay lệnh phát hiện ngưỡng (ngưỡng dương hay ngưỡng âm).
- Không thể tạo ra một nhánh mà có thể đưa lại kết quả là một dòng tín hiệu theo chiều ngược lại.
- Không thể tạo ra một nhánh mà có thể gây ngắn mạch.
Hình ảnh: Ngôn ngữ lập trình LAD
2. Ngôn ngữ lập trình FBD
Tương tự như ngôn ngữ LAD, ngôn ngữ FBD cũng là một ngôn ngữ lập trình kiểu đồ họa, nơi sự hiển thị của mạch logic dựa trên các biểu tượng logic đồ họa sử dụng trong đại số Boolean.
Các hàm toán học và các hàm phức khác có thể được thể hiện một cách trực tiếp trong sự kết hợp với các hộp logic. Để tạo ra logic cho các vận hành phức tạp, chúng ta thêm các nhánh song song giữa các hộp.
Việc hiểu biết về EN và ENO cho các lệnh "hộp"
Cả ngôn ngữ LAD và FBD đều sử dụng "dòng tín hiệu" (EN và ENO) đối với một số lệnh "hộp". Các lệnh cố định (như lệnh toán học và lệnh di chuyển) hiển thị các thông số cho EN và ENO. Các thông số này liên quan đến dòng tín hiệu và xác định khi nào lệnh được thực thi trong suốt lần quét đó.
- EN (Enable In) là một ngõ vào Boolean cho các hộp trong ngôn ngữ LAD và FBD. Dòng tín hiệu (EN = 1) phải được hiện diện tại ngõ vào này để cho lệnh hộp được thực thi. Nếu ngõ vào EN của một hộp LAD được kết nối trực tiếp đến thanh dẫn tín hiệu bên trái, hộp sẽ luôn luôn được thực thi.
- ENO (Enable Out) là một ngõ ra Boolean cho các hộp trong ngôn ngữ LAD và FBD. Nếu hộp có dòng tín hiệu tại ngõ vào EN và hộp thực thi các chức năng của mình mà không có lỗi, khi đó ngõ ra ENO sẽ cho dòng tín hiệu (ENO = 1) đi qua đến phần tử kế tiếp. Nếu một lỗi được phát hiện trong quá trình thực thi của lệnh hộp, dòng tín hiệu sau đó sẽ bị ngắt (ENO = 0) tại hộp lệnh đã sinh ra lỗi.
3. Ngôn ngữ lập trình STL
STL là phương pháp thể hiện chương trình dưới dạng tập hợp các câu lệnh. Để tạo ra một chương trình bằng STL, người lập trình cần phải hiểu rõ phương thức sử dụng 9 bit trong ngăn xếp logic (stack) của S7 200.
Hình ảnh: Ngôn ngữ lập trình STL
Ngăn xếp là một khối 9 bit chồng lên nhau từ S0 đến S8, nhưng chỉ bit đầu tiên và bit thứ hai (S0 và S1) của ngăn xếp được sử dụng trong các thuật toán liên quan đến ngăn xếp. Giá trị logic mới có thể được gửi hoặc nối thêm vào ngăn xếp. Hai bit S0 và S1 phối hợp với nhau để đẩy ngăn xếp lên một bit.
Trải nghiệm buổi học thử miễn phí "khóa học PLC" giúp bạn nắm bắt tổng quan kiến thức về PLC.
Khóa học PLC S7 300
Khóa học PLC Mitsubishi