Cấu trúc chương trình Ladder Diagram
Ladder Diagram (LD) là ngôn ngữ lập trình PLC phổ biến nhất, được chuẩn hóa theo IEC 61131-3. Tên “Ladder” (thang) xuất phát từ hình dạng: hai thanh dọc (rail) nối với nhau bằng các nhánh ngang (rung). PLC thực thi lần lượt từng rung từ trên xuống dưới, từ trái sang phải trong mỗi rung.
- Left rail (thanh trái): Biểu tượng nguồn dương, điện áp logic “1”.
- Right rail (thanh phải): Biểu tượng trung tính, hoàn thành mạch.
- Rung: Mỗi hàng logic, chứa tiếp điểm và cuộn coil.
Tiếp điểm trong Ladder Diagram
Tiếp điểm thường mở (Normally Open — NO)
Ký hiệu: hai gạch đứng song song [ ]. Trạng thái mặc định: hở mạch (logic 0). Khi bit tương ứng = 1 (nút nhấn, cảm biến ON) → tiếp điểm đóng, cho dòng điện logic qua. Ví dụ: nút START (I0.0) là NO — nhấn nút thì tiếp điểm đóng, cuộn coil phía sau được kích.
Tiếp điểm thường đóng (Normally Closed — NC)
Ký hiệu: hai gạch đứng có gạch chéo [/]. Trạng thái mặc định: đóng mạch (logic 1). Khi bit tương ứng = 1 → tiếp điểm mở, cắt dòng điện logic. Ví dụ: nút STOP (I0.1) thường dùng là NC — bình thường cho qua, nhấn STOP thì cắt.
Cuộn coil (Output Coil)
Ký hiệu: vòng tròn ( ) ở cuối rung. Khi dòng điện logic qua từ trái đến phải đến cuộn coil → bit output = 1 (relay đóng, đầu ra PLC ON). Cuộn coil thường là đầu ra Q (Q0.0, Q0.1…) hoặc bit nội M (M0.0…).
Mạch tự giữ (Self-holding circuit)
Mạch tự giữ là pattern cơ bản nhất trong PLC: nhấn START một lần, motor chạy liên tục dù bỏ tay; nhấn STOP thì dừng.
Rung 1:
[I0.0 NO]--+--[I0.1 NC]--(Q0.0)
|
[Q0.0 NO]
- I0.0 = nút START (NO), I0.1 = nút STOP (NC), Q0.0 = cuộn contactor motor.
- Nhấn I0.0: dòng qua I0.1 NC → kích Q0.0. Tiếp điểm phụ Q0.0 NO đóng song song với I0.0 → tự giữ.
- Nhấn I0.1: tiếp điểm NC mở → cắt dòng → Q0.0 = 0, motor dừng.
Timer trong PLC
Timer TON (Timer On-Delay)
Timer đếm thời gian bắt đầu từ lúc đầu vào EN = 1. Sau thời gian đặt trước (Preset Time), bit Q của timer = 1. Hữu dụng cho: khởi động trễ, thời gian chạy tối thiểu.
- IN: Đầu vào kích timer (must be TRUE để đếm).
- PT: Preset Time — thời gian chờ (ví dụ T#5S = 5 giây).
- Q: Bit output = 1 khi đã đếm đủ PT.
- ET: Elapsed Time — thời gian đã đếm được.
Ví dụ: Motor bơm chạy 10 giây sau khi nhấn START — dùng TON với PT = T#10S, Q của timer kích contactor bơm.
Timer TOF (Timer Off-Delay)
Khi đầu vào EN chuyển từ 1 → 0, timer bắt đầu đếm. Sau PT giây, Q = 0. Dùng cho: quạt tản nhiệt tiếp tục chạy N giây sau khi tắt máy.
Counter trong PLC
Counter CTU (Count Up)
Đếm số lần đầu vào CU chuyển từ 0 → 1 (cạnh lên). Khi giá trị đếm CV ≥ PV (Preset Value), bit Q = 1.
- CU: Xung đếm (Count Up pulse).
- R: Reset — đặt CV = 0.
- PV: Giá trị đặt trước (số cần đếm đến).
- Q: Output = 1 khi CV ≥ PV.
Ví dụ: Đếm 100 sản phẩm đi qua băng tải → cảm biến I0.2 nối vào CU, PV = 100, Q kích đèn báo hoặc dừng băng tải.
Chu kỳ scan PLC
PLC không chạy liên tục như máy tính — nó chạy theo chu kỳ scan lặp đi lặp lại:
- Read Input: Đọc trạng thái tất cả đầu vào (I) vào bộ nhớ đệm.
- Execute Program: Chạy toàn bộ chương trình Ladder từ rung 1 đến hết.
- Write Output: Ghi kết quả từ bộ nhớ đệm ra đầu ra vật lý (Q).
- Lặp lại: Thời gian một chu kỳ thường 1-20ms tùy chương trình.
Hệ quả: nếu cảm biến bật chỉ trong 0.5ms (ngắn hơn chu kỳ scan), PLC có thể bỏ qua. Dùng chế độ ngắt (interrupt) cho tín hiệu xung nhanh.