Ladder, FBD, ST, IL, SFC: Các ngôn ngữ lập trình PLC khác nhau ra sao?
PLC10 tháng 8, 2026· 11 phút đọc · 19 lượt xem

Ladder, FBD, ST, IL, SFC: Các ngôn ngữ lập trình PLC khác nhau ra sao?

Chuẩn IEC 61131-3 định nghĩa 5 ngôn ngữ lập trình PLC: Ladder Diagram, FBD, Structured Text, Instruction List và SFC. Tìm hiểu đặc điểm, ưu nhược điểm và khi nào nên dùng ngôn ngữ nào.

Một trong những câu hỏi phổ biến nhất của người mới học PLC: "Tôi nên học ngôn ngữ lập trình PLC nào trước?" Câu trả lời phụ thuộc vào việc hiểu rõ có bao nhiêu ngôn ngữ, mỗi ngôn ngữ mạnh ở điểm nào, và các hãng PLC lớn hỗ trợ ngôn ngữ nào. Bài viết này tổng hợp và biên dịch từ chuẩn quốc tế IEC 61131-3 cùng nhiều nguồn kỹ thuật uy tín để trả lời đầy đủ câu hỏi này.

1. IEC 61131-3 — chuẩn "gốc" định nghĩa ngôn ngữ lập trình PLC

IEC 61131-3 là phần thứ ba của bộ tiêu chuẩn quốc tế IEC 61131 do Ủy ban Kỹ thuật Điện Quốc tế (IEC) ban hành, quy định các ngôn ngữ lập trình dùng cho bộ điều khiển khả trình (PLC). Tiêu chuẩn này lần đầu công bố năm 1993, được sửa đổi lớn vào 2003 và 2013 (phiên bản hiện hành IEC 61131-3:2013).

Theo PLCopen — tổ chức phi lợi nhuận thúc đẩy chuẩn hóa lập trình công nghiệp — bộ tiêu chuẩn này gồm hai ngôn ngữ dạng văn bản (Instruction List và Structured Text) và hai ngôn ngữ dạng đồ họa (Ladder Diagram và Function Block Diagram), cùng với Sequential Function Chart — một tập hợp phần tử đồ họa và văn bản tương đương dùng để tổ chức cấu trúc bên trong của chương trình PLC.

Điểm mạnh cốt lõi của chuẩn này: nó cho phép nhiều ngôn ngữ cùng tồn tại trong một dự án PLC, giúp người lập trình chọn ngôn ngữ phù hợp nhất cho từng phần việc cụ thể — thay vì bị ép dùng một ngôn ngữ duy nhất cho toàn bộ chương trình.

Dưới đây là 5 ngôn ngữ theo IEC 61131-3, xếp theo mức độ phổ biến trong thực tế.

2. Ladder Diagram (LD) — Ngôn ngữ hình thang

Đặc điểm: đây là ngôn ngữ lập trình PLC lâu đời nhất và phổ biến nhất — theo một số nghiên cứu học thuật, LD chiếm hơn 80% tổng lượng chương trình PLC đang sử dụng trên toàn cầu. Ladder Logic mô phỏng trực quan sơ đồ mạch điện rơ-le truyền thống: chương trình được tổ chức thành các "rung" (nấc thang) nằm ngang, mỗi rung gồm các tiếp điểm (contact — tương ứng đầu vào) nối tới các cuộn dây (coil — tương ứng đầu ra).

Vì sao phổ biến: vì nó gần giống hệt sơ đồ mạch điện mà thợ điện, kỹ thuật viên đã quen thuộc từ trước — đây chính xác là lý do Dick Morley (cha đẻ của PLC) chọn thiết kế ngôn ngữ này ngay từ chiếc PLC đầu tiên, giúp ngành công nghiệp chuyển đổi từ rơ-le sang PLC dễ dàng hơn nhiều so với việc bắt cả một thế hệ kỹ thuật viên học lập trình máy tính từ đầu.

Phù hợp nhất cho: logic điều khiển rời rạc (discrete control) — bật/tắt động cơ, khóa liên động an toàn, logic tuần tự đơn giản. Đây cũng là ngôn ngữ được khuyến nghị học đầu tiên, đặc biệt với người có nền tảng điện/tự động hóa.

3. Function Block Diagram (FBD) — Sơ đồ khối chức năng

Đặc điểm: chương trình được xây dựng bằng cách nối các "khối chức năng" (function block) với nhau — mỗi khối đại diện cho một hàm cụ thể (AND, OR, TON, PID, bộ khuếch đại tín hiệu...), tín hiệu chảy từ khối này sang khối khác qua các đường nối trực quan.

Phù hợp nhất cho: các ứng dụng điều khiển liên tục (continuous control) như vòng lặp PID, xử lý tín hiệu analog — nơi việc hình dung "luồng tín hiệu" quan trọng hơn là hình dung "mạch điện". FBD đặc biệt phổ biến trong ngành điều khiển quá trình (process control).

4. Structured Text (ST/SCL) — Ngôn ngữ văn bản cấu trúc

Đặc điểm: đây là ngôn ngữ dạng văn bản cấp cao, cú pháp gần giống Pascal/C — hỗ trợ đầy đủ các cấu trúc lập trình hiện đại: vòng lặp (FOR, WHILE), rẽ nhánh (IF/THEN/ELSE, CASE), kiểu dữ liệu phức tạp (mảng, cấu trúc). Ở Siemens, ngôn ngữ này được gọi là SCL (Structured Control Language).

Phù hợp nhất cho: các thuật toán phức tạp, xử lý toán học, thao tác dữ liệu, giao tiếp với hệ thống máy tính khác — những việc mà biểu diễn bằng sơ đồ (Ladder/FBD) sẽ trở nên cồng kềnh và khó đọc. Structured Text ngày càng được ưa chuộng bởi lập trình viên có nền tảng khoa học máy tính, vì tư duy gần với ngôn ngữ lập trình truyền thống hơn.

5. Instruction List (IL/STL) — Danh sách lệnh

Đặc điểm: ngôn ngữ dạng văn bản cấp thấp, mỗi lệnh gồm một toán tử và một toán hạng — cấu trúc gần giống hợp ngữ (assembly language). Ở Siemens, ngôn ngữ tương đương được gọi là STL (Statement List).

Xu hướng hiện tại: IL đã bị loại bỏ khỏi phiên bản IEC 61131-3:2013 (ấn bản thứ ba) và được thay thế bằng Structured Text. Theo Industrial Monitor Direct, phần lớn các hãng lớn (Siemens, Rockwell, Beckhoff, Schneider, AutomationDirect ở các nền tảng mới) đã loại bỏ hoặc đánh dấu ngôn ngữ này thuộc diện "chỉ hỗ trợ tương thích ngược" — chương trình mới không nên viết bằng IL nữa, dù nhiều hệ thống cũ (legacy) vẫn còn dùng.

6. Sequential Function Chart (SFC) — Biểu đồ chức năng tuần tự

Đặc điểm: đây không hẳn là một "ngôn ngữ lập trình" theo nghĩa thông thường, mà là một phương pháp tổ chức chương trình ở cấp cao — dựa trên chuẩn Grafcet của Pháp (IEC 60848). SFC chia một quy trình thành các bước (step) và chuyển tiếp (transition): khi điều kiện chuyển tiếp được thỏa mãn, chương trình chuyển từ bước này sang bước kế tiếp. Logic chi tiết bên trong mỗi bước/chuyển tiếp thường vẫn được viết bằng Ladder hoặc Structured Text.

Phù hợp nhất cho: các quy trình có tính tuần tự rõ ràng — ví dụ quy trình một máy đóng gói trải qua các bước "cấp nguyên liệu → trộn → đóng gói → dán nhãn", hoặc các quy trình mẻ (batch process) trong ngành hóa chất/thực phẩm.

7. Bảng so sánh nhanh 5 ngôn ngữ

Ngôn ngữ

Loại

Phù hợp nhất cho

Mức độ phổ biến

Ladder Diagram (LD)

Đồ họa

Logic rời rạc, thay thế mạch rơ-le

Rất cao (~80%+ chương trình PLC toàn cầu)

Function Block Diagram (FBD)

Đồ họa

Điều khiển liên tục, PID, xử lý tín hiệu

Cao, đặc biệt trong process control

Structured Text (ST/SCL)

Văn bản

Thuật toán phức tạp, xử lý dữ liệu

Đang tăng, ưa chuộng bởi lập trình viên

Instruction List (IL/STL)

Văn bản

Hệ thống cũ (legacy)

Đang bị loại bỏ dần

Sequential Function Chart (SFC)

Đồ họa (tổ chức)

Quy trình tuần tự nhiều bước, batch process

Trung bình, dùng kết hợp với LD/ST

8. Nên học ngôn ngữ nào trước?

Theo khuyến nghị tổng hợp từ Industrial Monitor Direct và nhiều tài liệu đào tạo công nghiệp:

  • Nếu bạn xuất thân từ nền tảng điện/tự động hóa, hoặc sẽ làm việc trực tiếp với kỹ thuật viên điện → nên học Ladder Diagram trước, vì nó ánh xạ trực tiếp tới logic rơ-le mà đội ngũ bảo trì đã quen thuộc.

  • Nếu bạn xuất thân từ nền tảng lập trình/khoa học máy tính → Structured Text sẽ cho bạn sức mạnh xử lý thuật toán, vòng lặp và toán học linh hoạt hơn nhiều so với Ladder.

  • Trong thực tế công việc, một kỹ sư PLC chuyên nghiệp thường cần thành thạo cả Ladder lẫn Structured Text — LD cho phần logic điều khiển I/O rời rạc và mạch an toàn, ST cho các thuật toán/xử lý dữ liệu phức tạp.

9. Từng hãng PLC hỗ trợ ngôn ngữ nào?

Hãng

Ngôn ngữ hỗ trợ

Phần mềm

Siemens

LAD (Ladder), FBD, SCL (Structured Text), STL (Instruction List - các dòng cũ)

TIA Portal / STEP 7

Mitsubishi

Ladder, ST, FBD, SFC (đầy đủ trên GX Works3 cho FX5U/iQ-R; GX Works2 chủ yếu Ladder cho dòng FX3U/Q cũ)

GX Works2 / GX Works3

Allen-Bradley (Rockwell)

Ladder, Structured Text, FBD, SFC

Studio 5000 / RSLogix

Omron

Ladder, Structured Text

CX-Programmer / Sysmac Studio

Beckhoff

Đầy đủ cả 5 ngôn ngữ IEC 61131-3

TwinCAT

Điều quan trọng cần lưu ý: mặc dù IEC 61131-3 là chuẩn chung, mỗi hãng vẫn có các thư viện lệnh mở rộng riêng (vendor-specific extensions) không tương thích trực tiếp giữa các hãng — nghĩa là một chương trình Ladder viết cho Siemens sẽ không thể copy-paste chạy thẳng trên Mitsubishi hay Allen-Bradley mà không chỉnh sửa, dù cấu trúc ngôn ngữ nền tảng là giống nhau.

⚡
Chưa biết chọn UPS công suất bao nhiêu?
Nhập danh sách thiết bị, công cụ sẽ tính tự động và gợi ý model phù hợp.
Tính công suất miễn phí

Cần tư vấn giải pháp UPS?

UPSsmart hỗ trợ tư vấn miễn phí, không ràng buộc.