Ladder Diagram là gì?
Ladder Diagram (Sơ đồ thang — LAD) là ngôn ngữ lập trình đồ họa cho PLC, có cú pháp mô phỏng sơ đồ mạch rơ-le điện cổ điển. Được đặt tên “thang” vì hình dạng: hai thanh dọc (power rail) giống hai bên thang, các nhánh ngang (rung) giống bậc thang. Đây là ngôn ngữ phổ biến nhất trong lập trình PLC, đặc biệt ở kỹ sư điện quen với sơ đồ mạch rơ-le.
Các ký hiệu cơ bản trong LAD
| Ký hiệu | Tên | Chức năng | Điều kiện TRUE |
|---|---|---|---|
| —| |— | Contact NO (Normally Open) | Đọc trạng thái bit | Khi bit = 1 (ON) |
| —|/|— | Contact NC (Normally Closed) | Đọc nghịch trạng thái | Khi bit = 0 (OFF) |
| —( )— | Coil (cuộn dây) | Đặt bit đầu ra | Ghi = 1 khi rung ON |
| —(/)— | Coil nghịch | Đặt bit đầu ra nghịch | Ghi = 0 khi rung ON |
| —(S)— | Set coil | Đặt bit = 1, giữ | Set khi rung ON |
| —(R)— | Reset coil | Đặt bit = 0 | Reset khi rung ON |
| [TON] | Timer ON-delay | Đếm thời gian trễ bật | Sau thời gian PT |
| [CTU] | Counter Up | Đếm sự kiện lên | Khi CV ≥ PV |
Logic cơ bản trong LAD
- AND (nối tiếp): hai contact trên cùng một nhánh ngang — cả hai phải ON thì coil mới ON.
- OR (song song): hai nhánh song song — một trong hai ON là coil ON.
- NOT: contact NC — khi bit = 0 thì contact dẫn điện.
Ví dụ thực tế: mạch khởi động motor
Yêu cầu: nhấn PB_START (I0.0) motor chạy, nhấn PB_STOP (I0.1) motor dừng, tự duy trì. Rơ-le nhiệt OL (I0.2) NC bảo vệ quá tải.
Rung 1: |--[I0.2 NC]--[I0.1 NC]--+--[I0.0 NO]--+--(Q0.0)--| | | | | | +--[Q0.0 NO]--+ | | |
Giải thích:
- I0.2 NC: bảo vệ quá tải — khi OL bình thường (không kích), contact NC đóng, dòng điện logic đi qua.
- I0.1 NC: nút STOP thường đóng — khi không nhấn, contact đóng, dòng đi qua.
- I0.0 NO: nút START — nhấn thì contact đóng, Q0.0 bật.
- Q0.0 NO song song với I0.0: tự duy trì (self-seal/latching) — sau khi Q0.0 bật, dù thả PB_START, Q0.0 tự duy trì qua contact phụ của chính nó.
- Nhấn PB_STOP: I0.1 NC mở → Q0.0 tắt.
Timer trong LAD — ví dụ TON
Yêu cầu: nhấn PB_START (I0.0), sau 5 giây đèn Q0.1 mới bật.
Rung 1: |--[I0.0 NO]--|TON T0, PT=5000ms|--| Rung 2: |--[T0.Q NO]---(Q0.1)--|
T0 là timer, PT = 5.000 ms. Khi I0.0 ON liên tục, T0 đếm từ 0. Khi T0.ET = PT (5 giây), T0.Q = 1 → Q0.1 bật. Nếu I0.0 tắt trước 5 giây, T0 reset về 0.