PLC (Programmable Logic Controller — bộ điều khiển lập trình) vận hành theo chu kỳ quét (scan cycle) liên tục: đọc trạng thái ngõ vào, thực thi toàn bộ logic điều khiển đã lập trình, rồi ghi kết quả ra ngõ ra — lặp lại hàng chục đến hàng nghìn lần mỗi giây. Ngôn ngữ lập trình PLC được chuẩn hóa quốc tế theo IEC 61131-3, phổ biến nhất là ladder logic (giản đồ thang).
Nội dung thuộc chuyên trang Tự động hóa & robot của cokhi.net, ở góc nguyên lý chung — không so sánh hay tư vấn chọn dòng PLC của hãng cụ thể nào; khi cần chọn thiết bị tự động hóa cho máy/dây chuyền thật, tham khảo chuyên trang thương mại phù hợp.
Chu kỳ quét (scan cycle) — trái tim của PLC
Khác với máy tính chạy chương trình tuyến tính rồi dừng, PLC chạy một vòng lặp liên tục gồm ba bước, lặp lại không ngừng khi PLC ở chế độ RUN:
- Đọc ngõ vào (Input scan): PLC đọc trạng thái tất cả cảm biến/công tắc/nút nhấn nối vào các module input, lưu vào vùng nhớ ảnh ngõ vào (input image table).
- Thực thi chương trình (Program execution): PLC chạy toàn bộ chương trình logic đã nạp — từ trên xuống dưới, từ trái sang phải — dựa trên dữ liệu ngõ vào vừa đọc (không đọc ngõ vào giữa chừng khi đang thực thi).
- Ghi ngõ ra (Output scan): kết quả logic được ghi đồng loạt ra các module output (đóng/mở relay, cấp tín hiệu cho biến tần, van điện từ...).
Sau bước 3, PLC quay lại bước 1 — toàn bộ vòng lặp diễn ra trong khoảng thời gian gọi là thời gian quét (scan time), thường tính bằng mili-giây tùy độ phức tạp chương trình và tốc độ CPU.
Ladder logic — ngôn ngữ phổ biến nhất
Ladder logic (giản đồ thang) mô phỏng sơ đồ mạch relay điện truyền thống bằng hình ảnh: mỗi nấc thang (rung) là một hàng ngang, bên trái là các tiếp điểm (contact — điều kiện ngõ vào, thường mở hoặc thường đóng), bên phải là cuộn dây (coil — kết quả ngõ ra). PLC quét từng nấc thang từ trên xuống, đánh giá điều kiện logic (AND/OR qua cách nối tiếp điểm) rồi quyết định trạng thái cuộn dây.
Ladder logic dễ đọc với người có nền tảng điện — đây là lý do nó vẫn là ngôn ngữ PLC dùng rộng rãi nhất trong công nghiệp dù có thêm nhiều ngôn ngữ khác.
Chuẩn IEC 61131-3 — bốn ngôn ngữ lập trình PLC
IEC 61131-3 là tiêu chuẩn quốc tế chuẩn hóa ngôn ngữ lập trình PLC, giúp chương trình viết theo chuẩn có thể hiểu được (về nguyên lý) dù chạy trên PLC của hãng nào. Bản IEC 61131-3 Edition 4.0 (ban hành 5/2025) quy định 4 ngôn ngữ chính thức:
| Ngôn ngữ | Viết tắt | Dạng biểu diễn |
|---|---|---|
| Ladder Diagram | LD | Đồ họa — giống mạch relay (tiếp điểm/cuộn dây) |
| Function Block Diagram | FBD | Đồ họa — khối chức năng nối dây tín hiệu |
| Structured Text | ST | Văn bản — giống ngôn ngữ lập trình bậc cao (Pascal-like) |
| Sequential Function Chart | SFC | Đồ họa — mô tả trình tự các bước/trạng thái |
Bản trước Edition 4.0 còn có Instruction List (IL) — ngôn ngữ dạng lệnh (giống hợp ngữ) — nhưng đã bị loại bỏ khỏi Edition 4.0 (5/2025); mọi PLC tuân thủ chuẩn đều phải hỗ trợ tối thiểu Ladder Diagram.
Vì sao PLC thay thế mạch relay truyền thống
- Sửa logic bằng phần mềm, không đấu lại dây: thay đổi trình tự điều khiển chỉ cần nạp lại chương trình, không phải tháo lắp relay vật lý.
- Độ tin cậy cao hơn: ít linh kiện cơ khí chuyển động (relay) nên ít hao mòn tiếp điểm hơn mạch relay thuần túy.
- Dễ chẩn đoán lỗi: phần mềm lập trình PLC thường cho xem trạng thái tiếp điểm/cuộn dây theo thời gian thực, khoanh vùng lỗi nhanh hơn dò mạch relay bằng tay.
- Đánh đổi: cần kỹ năng lập trình (dù ladder logic khá trực quan với người có nền điện), và PLC là thiết bị điện tử nên nhạy với nhiễu điện từ hơn relay cơ khí thuần túy nếu lắp đặt/nối đất không đúng cách.
Thuật ngữ
- Chu kỳ quét (scan cycle): vòng lặp Đọc input → Thực thi logic → Ghi output mà PLC lặp lại liên tục khi chạy.
- Ladder logic: ngôn ngữ lập trình PLC dạng đồ họa mô phỏng mạch relay, gồm các nấc thang (rung) chứa tiếp điểm và cuộn dây.
- Rung (nấc thang): một hàng logic trong chương trình ladder, đánh giá điều kiện rồi điều khiển một hoặc nhiều cuộn dây.
- IEC 61131-3: tiêu chuẩn quốc tế chuẩn hóa ngôn ngữ lập trình PLC.
- Input/output image table: vùng nhớ tạm PLC lưu trạng thái ngõ vào/ra trong một chu kỳ quét, tách biệt với tín hiệu vật lý thực để chương trình chạy ổn định.
Tài liệu tham khảo
- Industrial Monitor Direct, IEC 61131-3 PLC Programming Languages: A Practical Guide for Beginners (5 ngôn ngữ gốc, Edition 4.0 loại IL): https://industrialmonitordirect.com/blogs/knowledgebase/iec-61131-3-plc-programming-languages-a-practical-guide-for-beginners
- Industrial Monitor Direct, IEC 61131-3 Scan Cycle: How Function Blocks Execute in Ladder and ST (chu kỳ quét, mô hình thực thi): https://industrialmonitordirect.com/blogs/knowledgebase/iec-61131-3-scan-cycle-and-function-block-execution-explained
- PLC Programming.io, PLC Programming Languages: All 5 IEC 61131-3 Explained (đối chiếu danh sách ngôn ngữ, ladder logic): https://plcprogramming.io/blog/plc-programming-languages-complete-guide