Bộ điều khiển PLC là gì? Lập trình PLC và ứng dụng tự động hóa
Bộ điều khiển PLC (Programmable Logic Controller) là máy tính công nghiệp được thiết kế để thu thập tín hiệu vào, thực thi chương trình điều khiển và cập nhật tín hiệu ra theo chu kỳ. PLC điều khiển máy đóng gói, băng tải, trạm bơm, hệ thống xử lý nước, dây chuyền lắp ráp và nhiều quá trình sản xuất.
Khác máy tính văn phòng, PLC được thiết kế cho vận hành liên tục, kết nối I/O công nghiệp và chẩn đoán tại hiện trường. PLC thường nhận tín hiệu từ cảm biến công nghiệp, điều khiển relay, van, contactor hoặc biến tần công nghiệp, đồng thời trao đổi dữ liệu với HMI, SCADA và hệ thống cấp cao.
PLC là gì và hoạt động như thế nào?
PLC lưu chương trình trong bộ nhớ, đọc ảnh tiến trình ngõ vào, thực thi logic và cập nhật ngõ ra. Chu kỳ này lặp lại rất nhanh. Ngoài task tuần hoàn, nhiều PLC hỗ trợ task theo thời gian, sự kiện hoặc ngắt phần cứng để đáp ứng nhu cầu điều khiển khác nhau.
PLC chỉ làm đúng những gì phần cứng và chương trình quy định. Một lỗi thiết kế trình tự, scale analog hoặc trạng thái khởi động lại có thể gây dừng máy hay chuyển động ngoài mong muốn. Vì vậy, lập trình phải gắn với phân tích rủi ro, yêu cầu công nghệ và thử nghiệm có kiểm soát.
Cấu tạo của một hệ thống PLC
CPU và bộ nhớ
CPU thực thi hệ điều hành thời gian thực và chương trình người dùng. Các tiêu chí gồm dung lượng bộ nhớ, tốc độ xử lý, số kết nối, khả năng motion/PID, đồng hồ thời gian, vùng nhớ lưu giữ và phương án dự phòng. Không nên chọn CPU chỉ theo số I/O hiện tại mà bỏ qua mở rộng và tải truyền thông.
Nguồn và đế/rack
Nguồn cấp cho CPU và module phải đủ công suất sau khi tính toàn bộ cấu hình. Hệ modular dùng rack hoặc backplane để phân phối nguồn và dữ liệu; hệ compact tích hợp nhiều I/O trên thân CPU. Cần dự phòng hợp lý, nhưng không lắp module không cần thiết làm tăng chi phí và điểm hỏng.
Module I/O
- DI – digital input: nhận nút nhấn, công tắc hành trình, cảm biến trạng thái.
- DO – digital output: điều khiển relay, đèn, van điện từ hoặc lệnh chạy thiết bị.
- AI – analog input: đo 4–20 mA, 0–10 V, nhiệt độ hoặc tín hiệu quá trình.
- AO – analog output: gửi giá trị đặt tốc độ, vị trí, áp suất hoặc lưu lượng.
- Module đặc biệt: đếm tốc độ cao, cân, nhiệt độ, motion, an toàn và truyền thông.
Mạng truyền thông và HMI
PLC có thể kết nối remote I/O, drive, HMI, SCADA và PLC khác qua mạng công nghiệp. Khi chọn giao thức, cần xem topology, thời gian cập nhật, đồng bộ thời gian, dự phòng, chẩn đoán và khả năng hỗ trợ lâu dài. HMI là giao diện vận hành; không nên đặt mọi logic cốt lõi chỉ trong HMI.

Chu kỳ quét của PLC
- Đọc trạng thái các ngõ vào và cập nhật vùng nhớ ảnh tiến trình.
- Thực thi chương trình theo thứ tự, task và mức ưu tiên đã cấu hình.
- Cập nhật ngõ ra vật lý hoặc gửi dữ liệu đến thiết bị mạng.
- Thực hiện truyền thông, chẩn đoán và các dịch vụ hệ thống.
Thời gian quét thay đổi theo độ dài chương trình, lệnh sử dụng, task và tải truyền thông. Một tín hiệu ngắn hơn chu kỳ lấy mẫu có thể bị bỏ lỡ nếu không dùng module hay cơ chế bắt xung phù hợp. Với điều khiển tốc độ cao, phải tính toàn bộ thời gian từ cảm biến đến logic và cơ cấu chấp hành.
Các ngôn ngữ lập trình PLC phổ biến
| Ngôn ngữ | Phù hợp | Lưu ý |
|---|---|---|
| LD – Ladder Diagram | Logic relay, liên động, bảo trì hiện trường | Dễ đọc nhưng có thể dài với thuật toán phức tạp |
| FBD – Function Block Diagram | Xử lý tín hiệu, PID, khối chức năng | Cần bố cục rõ để tránh sơ đồ rối |
| ST – Structured Text | Tính toán, vòng lặp, cấu trúc dữ liệu | Cần quy ước code và review chặt chẽ |
| SFC – Sequential Function Chart | Trình tự trạng thái và công đoạn | Phải định nghĩa chuyển tiếp, lỗi và reset |
Một dự án có thể phối hợp nhiều ngôn ngữ. Ví dụ LD cho liên động dễ bảo trì, ST cho xử lý dữ liệu và SFC cho trình tự. Chọn ngôn ngữ theo khả năng của nền tảng, độ phức tạp, đội bảo trì và quy chuẩn dự án; không chỉ theo sở thích của người lập trình.

Quy trình lập trình PLC chuyên nghiệp
1. Xác định yêu cầu và I/O list
Mô tả chế độ Auto, Manual, Local, Remote; trạng thái khởi động, dừng, mất điện và khôi phục. I/O list cần có tag, mô tả, loại tín hiệu, địa chỉ, trạng thái thường, dải đo, đơn vị và hành vi khi lỗi. Tài liệu này phải khớp với {internal(LIVE[‘diagram’], ‘sơ đồ mạch điện công nghiệp’)}.
2. Xây dựng trình tự và liên động
Dùng sơ đồ trạng thái hoặc bảng trình tự để định nghĩa điều kiện vào từng bước, hành động, thời gian chờ, điều kiện thoát và xử lý timeout. Liên động permissive cho phép chạy khi điều kiện đủ; interlock dừng hoặc ngăn chạy khi điều kiện không an toàn. Hai khái niệm cần được đặt tên nhất quán.
3. Thiết kế cấu trúc chương trình
Chia chương trình theo thiết bị hoặc chức năng, dùng khối tái sử dụng có giao diện rõ, tách lệnh điều khiển khỏi phản hồi và cảnh báo. Quy ước tag, comment, version và vùng dữ liệu giúp đội khác đọc được code. Không nên sao chép cùng một đoạn logic ở nhiều nơi nếu có thể đóng gói thành khối được kiểm thử.
4. Mô phỏng và kiểm thử
Kiểm thử cả tình huống bình thường lẫn lỗi: cảm biến không về, van kẹt, mất truyền thông, tín hiệu analog vượt dải, E-stop, mất điện và khởi động lại. Với hệ quan trọng, lập ma trận test có kết quả mong đợi và người xác nhận. Mô phỏng không thay thế chạy thử hiện trường nhưng giúp giảm rủi ro.
5. Chạy thử và bàn giao
Chạy thử theo từng tầng: kiểm tra điện và I/O, chạy từng cơ cấu, chạy nhóm, chạy Auto không tải rồi có tải. Mọi override và force phải được kiểm soát, ghi nhận và xóa trước bàn giao. Hồ sơ cuối gồm source code, backup HMI/drive, version phần mềm, mật khẩu theo chính sách, I/O list và biên bản test.
Cách chọn bộ điều khiển PLC
| Tiêu chí | Nội dung cần xác định |
|---|---|
| Quy mô I/O | DI/DO/AI/AO hiện tại, dự phòng và remote I/O |
| Hiệu năng | Thời gian đáp ứng, task, bộ nhớ, high-speed counter, motion |
| Truyền thông | Giao thức, số node, topology, HMI/SCADA và tích hợp drive |
| Môi trường | Nhiệt độ, rung, nhiễu, độ cao, cấp bảo vệ của tủ |
| Vòng đời | Phụ tùng, license, phần mềm, năng lực bảo trì và hỗ trợ |
| An toàn | Mức rủi ro, safety PLC/I/O và kiến trúc được chứng nhận nếu cần |
PLC thường lắp trong tủ điện công nghiệp cùng nguồn 24 VDC, relay trung gian, terminal và switch mạng. Cần tách nguồn tải nhiễu, bố trí tiếp địa, quản lý cáp và nhiệt. Các phụ kiện như thanh DIN rail và máng nhựa tủ điện phải đủ không gian cho đấu dây và bảo trì.
Tích hợp cảm biến, biến tần và thiết bị hiện trường
Với cảm biến số, xác nhận PNP/NPN, NO/NC và thời gian đáp ứng. Với analog, kiểm tra active/passive, scale, đơn vị và trạng thái under-range/over-range. Bộ lọc phần mềm chỉ nên loại nhiễu không mong muốn; lọc quá mạnh có thể làm chậm phản ứng điều khiển.
PLC điều khiển drive qua I/O hoặc mạng. Truyền thông cho phép gửi setpoint, trạng thái và mã lỗi, nhưng cần định nghĩa hành vi khi mất mạng, timeout và quyền điều khiển Local/Remote. Chức năng dừng an toàn phải sử dụng kiến trúc phù hợp, không dựa duy nhất vào một bit truyền thông tiêu chuẩn.
An toàn và an ninh mạng cho PLC
- Phân tách mạng điều khiển theo vùng và luồng dữ liệu cần thiết; hạn chế kết nối không kiểm soát.
- Quản lý tài khoản, quyền truy cập, backup, thay đổi chương trình và nhật ký sự kiện.
- Không cắm thiết bị lưu trữ hoặc máy tính dịch vụ chưa được kiểm soát vào mạng OT.
- Theo dõi firmware, bản vá và khuyến cáo bảo mật theo quy trình quản lý vòng đời.
- Sao lưu offline, kiểm tra khả năng khôi phục và lưu phiên bản đã nghiệm thu.
Safety PLC và PLC tiêu chuẩn không thể hoán đổi chỉ bằng phần mềm. Nếu PLC thực hiện chức năng an toàn, CPU, I/O, chương trình, thiết bị trường và quy trình xác nhận phải thuộc kiến trúc an toàn phù hợp với mức rủi ro.
Lỗi thường gặp và cách chẩn đoán
| Hiện tượng | Nguyên nhân có thể | Hướng kiểm tra |
|---|---|---|
| PLC không RUN | Lỗi cấu hình, nguồn, watchdog | Đọc diagnostic buffer, LED và version project |
| Input không đổi | Sai wiring/common, hỏng sensor, sai address | Đo tại terminal, xem LED module và online tag |
| Output có logic nhưng tải không chạy | Fuse/relay/nguồn tải hoặc interlock ngoài | Đo từng tầng từ module đến cơ cấu |
| Analog dao động | Nhiễu, nối đất, scale hoặc sensor | Đo loop, kiểm tra shield, raw value và filter |
| Mất truyền thông | Cáp, IP, topology, tải mạng, timeout | Kiểm tra port, diagnostics, cấu hình và switch |
Nguyên tắc bảo trì chương trình PLC
- Sao lưu bản đang chạy và xác nhận checksum/version trước mọi thay đổi.
- Tạo phiếu thay đổi nêu lý do, phạm vi, rủi ro, kế hoạch test và phương án rollback.
- Thử trên môi trường mô phỏng hoặc máy dừng khi có thể; tránh sửa trực tiếp không kiểm soát.
- Theo dõi sau thay đổi, lưu bản as-built và đồng bộ tài liệu điện, HMI, alarm list.
- Định kỳ kiểm tra pin, thẻ nhớ, log lỗi, dung lượng và khả năng khôi phục từ backup.
Câu hỏi thường gặp
PLC và relay khác nhau như thế nào?
Relay thực hiện chức năng đóng cắt hoặc logic đơn giản bằng phần cứng. PLC xử lý chương trình linh hoạt, nhiều I/O, timer, counter, analog và truyền thông; tuy nhiên vẫn cần relay hoặc module giao tiếp khi tải yêu cầu.
Người mới nên học Ladder hay Structured Text?
Nên hiểu Ladder để đọc logic liên động phổ biến, đồng thời học Structured Text cho tính toán và dữ liệu. Quan trọng hơn là nắm quy trình máy, trạng thái, I/O và cách kiểm thử.
PLC có điều khiển được biến tần không?
Có. PLC có thể dùng ngõ vào/ra số, analog hoặc mạng truyền thông để chạy, dừng và đặt tốc độ. Phải định nghĩa rõ quyền điều khiển và trạng thái khi mất tín hiệu.
Có thể sao chép chương trình sang PLC khác model không?
Có thể cần chuyển đổi, nhưng không nên giả định tương thích hoàn toàn. Phải kiểm tra CPU, I/O, địa chỉ, lệnh, firmware, truyền thông và chạy lại toàn bộ test liên quan.
PLC có cần kết nối Internet không?
Không phải mọi hệ PLC đều cần Internet. Nếu cần truy cập từ xa hoặc tích hợp dữ liệu, phải thiết kế vùng mạng, xác thực, giám sát và cơ chế truy cập an toàn theo chính sách OT.
Nguồn kỹ thuật tham khảo
Ngôn ngữ lập trình bộ điều khiển khả trình: IEC 61131-3:2025.
Tổng quan bộ điều khiển PLC/PAC công nghiệp: Rockwell Automation – Programmable Controllers.
Tham khảo hệ sinh thái điều khiển và I/O: Siemens SIMATIC industrial automation systems.













