Trong lĩnh vực tự động hóa công nghiệp hiện đại, lập trình PLC đóng vai trò then chốt giúp điều khiển, giám sát và tự động hóa các quy trình sản xuất. Vậy lập trình PLC là gì? Làm sao để thực hiện lập trình PLC một cách bài bản? Bài viết dưới đây của H&T Automation sẽ giúp bạn hiểu rõ từ khái niệm đến quy trình lập trình PLC qua 8 bước cơ bản.
Lập trình PLC là gì?
PLC (Programmable Logic Controller) là bộ điều khiển logic lập trình được, dùng để điều khiển máy móc, dây chuyền sản xuất tự động trong công nghiệp. Lập trình PLC chính là việc viết chương trình điều khiển các thiết bị đầu vào (sensor, công tắc, công tơ điện,…) và đầu ra (rơ le, motor, van điện,…) theo logic yêu cầu.
Chương trình PLC thường viết bằng các ngôn ngữ lập trình đặc thù, nhằm mô phỏng quy trình vận hành thực tế. Sau khi lập trình, PLC sẽ tự động thực hiện các thao tác điều khiển mà không cần can thiệp của con người.
Các loại ngôn ngữ lập trình PLC phổ biến
Trong lập trình PLC, có nhiều ngôn ngữ khác nhau được phát triển để phù hợp với từng loại ứng dụng, thói quen lập trình cũng như yêu cầu kỹ thuật. Việc lựa chọn ngôn ngữ lập trình còn phụ thuộc vào nhà sản xuất PLC, tiêu chuẩn công nghiệp (như IEC 61131-3) và mức độ phức tạp của hệ thống điều khiển. Dưới đây là các ngôn ngữ lập trình PLC phổ biến nhất hiện nay.
PLC LAD – Ladder Diagram
Ladder Diagram (LAD) là ngôn ngữ lập trình đồ họa phổ biến và quen thuộc nhất trong giới kỹ sư điện tự động hóa. Được xây dựng dựa trên nguyên lý hoạt động của các mạch relay truyền thống, LAD sử dụng các đường thẳng đứng (hai “thanh nguồn”) và các đường ngang (đại diện cho các mạch điều kiện logic) để biểu diễn chương trình điều khiển.
Nhờ hình thức trực quan, LAD giúp kỹ sư dễ dàng mô phỏng, kiểm tra và bảo trì các mạch điều khiển logic. Đây là lý do khiến LAD được ứng dụng rộng rãi trong các nhà máy sản xuất, hệ thống điện, dây chuyền tự động hóa yêu cầu sự ổn định, rõ ràng và dễ vận hành.

PLC FBD – Function Block Diagram
Function Block Diagram (FBD) là ngôn ngữ lập trình dựa trên khối hàm, trong đó mỗi khối chức năng biểu diễn một tác vụ cụ thể. Các khối chức năng được kết nối với nhau thông qua các đường tín hiệu, tạo thành một chuỗi xử lý logic phức tạp.
FBD mang lại sự linh hoạt và khả năng tái sử dụng cao, rất phù hợp với các hệ thống điều khiển phức tạp có nhiều tín hiệu analog, các bài toán PID, điều khiển liên tục. Giao diện đồ họa của FBD giúp lập trình viên dễ dàng hình dung mối quan hệ giữa các tín hiệu và luồng dữ liệu trong hệ thống.

PLC ST – Structured Text
Structured Text (ST) là ngôn ngữ lập trình dạng văn bản bậc cao, cú pháp tương tự như các ngôn ngữ lập trình thông dụng như Pascal, C hay C++. ST cho phép lập trình viên dễ dàng mô tả các thuật toán phức tạp, vòng lặp, hàm toán học, xử lý dữ liệu mảng, và điều kiện logic nâng cao.
ST được ưa chuộng trong các hệ thống yêu cầu xử lý dữ liệu lớn, tính toán phức tạp, thuật toán tối ưu, hoặc khi cần kiểm soát những bài toán đòi hỏi độ chính xác và tốc độ xử lý cao như robot công nghiệp, hệ thống phân tích dữ liệu, điều khiển tốc độ động cơ phức tạp.

PLC SFC – Sequential Function Chart
Sequential Function Chart (SFC) là ngôn ngữ lập trình dựa trên biểu đồ tuần tự, thể hiện quá trình vận hành của hệ thống thông qua các bước (Step), điều kiện chuyển tiếp (Transition) và trạng thái (State).
SFC cực kỳ hữu ích trong các hệ thống vận hành theo chu trình, có nhiều trạng thái chuyển đổi, chẳng hạn như dây chuyền lắp ráp, hệ thống đóng gói, hay các quy trình tự động hóa phân đoạn. Bằng cách phân tách chương trình thành các bước tuần tự, SFC giúp quá trình lập trình trở nên rõ ràng, trực quan và dễ kiểm soát luồng vận hành.

PLC IL – Instruction List
Instruction List (IL) là ngôn ngữ lập trình dạng danh sách lệnh, cú pháp gần giống với Assembly. Mỗi dòng lệnh trong IL thực hiện một chức năng điều khiển riêng biệt như đọc/ghi biến, thực hiện phép toán logic, nhảy lệnh, gọi hàm.
Dù có ưu điểm gọn nhẹ, tiết kiệm bộ nhớ và dễ hiểu với người quen lập trình cấp thấp, nhưng IL ngày càng ít được sử dụng trong các hệ thống hiện đại do tính trực quan và bảo trì hạn chế. Nhiều tiêu chuẩn mới (như IEC 61131-3 phiên bản mới) cũng đã loại bỏ IL ra khỏi các ngôn ngữ khuyến nghị sử dụng chính thức.

Làm sao chọn được ngôn ngữ lập trình PLC phù hợp
Việc lựa chọn ngôn ngữ lập trình PLC phụ thuộc vào nhiều yếu tố:
- Trình độ lập trình viên (mới bắt đầu hay chuyên sâu).
- Tính chất bài toán điều khiển (tuần tự, tính toán phức tạp, xử lý tín hiệu,…).
- Chuẩn ngôn ngữ mà nhà sản xuất PLC hỗ trợ.
- Yêu cầu về bảo trì, mở rộng chương trình sau này.
Thông thường, Ladder Diagram (LAD) vẫn là lựa chọn phổ biến nhất với người mới học và ứng dụng công nghiệp thông thường. Với các bài toán logic tuần tự phức tạp, ngôn ngữ SFC thường phát huy hiệu quả cao. Các hệ thống điều khiển logic phức tạp, cần xử lý tín hiệu liên tục thường kết hợp thêm FBD và Structured Text.
8 Bước Lập Trình PLC Cơ Bản
Để lập trình PLC một cách bài bản, cần tuân thủ quy trình các bước sau:
Bước 1: Tìm Hiểu Yêu Cầu Bài Toán
Bước đầu tiên và quan trọng nhất trong quy trình lập trình PLC là phân tích kỹ lưỡng yêu cầu của bài toán điều khiển. Kỹ sư cần thu thập đầy đủ thông tin từ khách hàng hoặc bộ phận kỹ thuật vận hành, xác định chính xác các chức năng cần thực hiện, chuỗi hoạt động, tiêu chuẩn an toàn và mức độ tự động hóa mong muốn.
Ví dụ: Với bài toán điều khiển hai quạt làm mát động cơ, cần xác định rõ: các chế độ hoạt động (tự động luân phiên quạt, chạy đồng thời, vận hành theo nhiệt độ…), các nút nhấn điều khiển (ON/OFF, chọn chế độ), cũng như các điều kiện bảo vệ khi có sự cố.
Bước 2: Xác Định Các Đầu Vào – Đầu Ra
Sau khi hiểu bài toán, kỹ sư lập trình tiến hành liệt kê đầy đủ các thiết bị đầu vào và đầu ra của hệ thống:
- Đầu vào: Các cảm biến, công tắc, nút nhấn, tín hiệu từ các thiết bị bảo vệ.
- Đầu ra: Động cơ, đèn báo, còi cảnh báo, van điện, rơ-le điều khiển…
Ví dụ:
- Đầu vào:
- Công tắc ON/OFF chính.
- Công tắc bật cả 2 quạt.
- Công tắc chọn chế độ thay phiên quạt.
- Đầu ra:
- Quạt 1.
- Quạt 2.
Việc xác định đúng số lượng và chủng loại IO ngay từ đầu sẽ giúp lựa chọn chính xác loại PLC phù hợp về mặt phần cứng.

Bước 3: Xác Định Cấu Trúc Phần Cứng
Ở bước này, bạn cần thiết kế tổng thể hệ thống điều khiển, lựa chọn phần cứng PLC phù hợp:
- Chọn loại PLC: Phải đảm bảo số lượng IO đáp ứng yêu cầu hiện tại và có khả năng mở rộng trong tương lai. Đồng thời cân nhắc tốc độ xử lý, bộ nhớ, loại module truyền thông nếu có kết nối với HMI, SCADA, robot…
- Module mở rộng: Xem xét các module mở rộng digital, analog, truyền thông, safety…
- Thiết bị phụ trợ: Chọn bộ nguồn, bộ bảo vệ (MCCB, relay, fuse…), tủ điện và thiết bị phụ kiện đấu nối.
Cấu trúc phần cứng thiết kế càng bài bản, quá trình lập trình, vận hành sau này càng ổn định.

Bước 4: Xây Dựng Lưu Đồ Thuật Toán
Lưu đồ thuật toán giúp bạn hình dung toàn bộ quy trình vận hành trước khi bắt tay viết chương trình:
- Liệt kê các bước vận hành tuần tự.
- Xác định rõ điều kiện chuyển đổi giữa các trạng thái.
- Thể hiện các trạng thái an toàn khi xảy ra sự cố.
Lưu đồ tốt giúp dễ dàng phát hiện logic sai sót trước khi lập trình, tiết kiệm thời gian debugging về sau. Với bài toán quạt, cần thể hiện rõ khi nào chạy 1 quạt, khi nào chạy cả 2, khi nào luân phiên, khi nào dừng toàn hệ thống.

Bước 5: Khai Báo Biến và Lập Trình
Sau khi đã có lưu đồ thuật toán, kỹ sư bắt đầu quá trình lập trình:
- Khai báo biến (Symbol Table): Đặt tên các biến đại diện cho các IO, biến trạng thái, biến trung gian logic. Cách đặt tên biến khoa học giúp chương trình dễ đọc, dễ bảo trì.
- Viết chương trình chính: Thực hiện theo logic thuật toán đã xây dựng.
- Phân chia chương trình thành các block (OB, FC, FB): Giúp chương trình khoa học, dễ mở rộng.
Phần mềm lập trình phụ thuộc vào loại PLC sử dụng (TIA Portal cho Siemens, Studio 5000 cho Allen Bradley, GX Works cho Mitsubishi,…).
Bước 6: Kiểm Tra Mô Phỏng Chương Trình
Trước khi triển khai thực tế, việc mô phỏng chương trình trên phần mềm là bước rất quan trọng:
- Giả lập đầu vào, kiểm tra logic đầu ra.
- Xác minh toàn bộ các tình huống vận hành, bao gồm cả lỗi.
- Phát hiện và sửa lỗi logic, tránh sai sót khi vận hành thực tế.
Việc mô phỏng kỹ lưỡng giúp giảm đáng kể rủi ro khi đấu nối thực tế.
Bước 7: Đấu Nối Vận Hành Thực Tế và Kiểm Tra Lỗi
Sau khi chương trình đã ổn định qua mô phỏng, bạn sẽ tiến hành:
- Đấu nối thiết bị thật theo sơ đồ điện đã thiết kế.
- Nạp chương trình vào PLC.
- Chạy thử từng chức năng riêng lẻ để kiểm tra từng phần.
- Chạy toàn hệ thống theo kịch bản thực tế để đảm bảo hệ thống vận hành đúng như yêu cầu.
Nếu phát hiện lỗi, cần rà soát lại sơ đồ điện, thông số cài đặt, hoặc điều chỉnh logic chương trình.
Bước 8: Bàn Giao và Lưu Trữ Chương Trình
Sau khi hệ thống vận hành ổn định, bạn tiến hành:
- Bàn giao cho khách hàng: Hướng dẫn vận hành, bàn giao tài liệu kỹ thuật, hướng dẫn bảo trì.
- Lưu trữ chương trình: Backup chương trình vào nhiều bản sao (ổ cứng, server, cloud…) để phục vụ công tác bảo trì, nâng cấp sau này.
- Lập hồ sơ hoàn công để tiện cho việc bảo trì hoặc mở rộng về sau.
Kết luận
Lập trình PLC là công việc cốt lõi trong tự động hóa công nghiệp, đòi hỏi người kỹ sư phải có quy trình bài bản, tư duy logic và kiến thức chuyên môn vững vàng. Hy vọng với hướng dẫn 8 bước lập trình PLC cơ bản trên, bạn đã có cái nhìn rõ ràng về cách tiếp cận công việc này.
Hãy liên hệ cho chúng tôi nếu tìm khóa học lập trình PLC bài bản nhé:
- Youtube: https://www.youtube.com/@HTAutomation2001
- Facebook: https://www.facebook.com/HTAutomation2001/
Video hướng dẫn lập trình PLC S7 1200 Siemens

