🔹 1. Ý nghĩa lệnh CMP
-
CMP
= Compare → so sánh dữ liệu giữa nguồn và tham chiếu, kết quả được lưu vào bit đích. -
Cú pháp cơ bản:
-
Khi so sánh:
-
Nếu nguồn > tham chiếu → bit kết quả ON.
-
Nếu nguồn = tham chiếu → bit kết quả ON (tùy loại CMP, có thể dùng M8021/M8022).
-
Nếu nguồn < tham chiếu → bit kết quả OFF (hoặc ON tùy CMP).
-
🔹 2. Phân tích CMP K0 D462 M315
Thông số | Ý nghĩa |
---|---|
K0 | Giá trị hằng số = 0 → tham chiếu để so sánh |
D462 | Data Register D462 → nguồn cần so sánh |
M315 | Bit M315 → lưu kết quả so sánh |
Ý nghĩa:
-
Cụ thể:
-
CMP: lệnh Compare – so sánh hai giá trị.
-
K0: giá trị hằng số (K = constant). Ở đây là số 0.
-
D462: thanh ghi dữ liệu cần so sánh (Data register).
-
M315: cờ (bit M) dùng để lưu kết quả so sánh.
👉 Cách hoạt động:
Khi thực hiện
CMP K0 D462 M315
, PLC sẽ so sánh giá trị trong D462 với 0 (K0):-
Nếu
D462 > 0
→ bit M315 ON -
Nếu
D462 = 0
→ bit M316 ON -
Nếu
D462 < 0
→ bit M317 ON
Tóm lại, CMP sử dụng 3 bit liên tiếp bắt đầu từ M315 để báo kết quả so sánh:
-
M315 = lớn hơn
-
M316 = bằng
-
M317 = nhỏ hơn
-
🔹 3. Ứng dụng thực tế
-
Kiểm tra giá trị thanh ghi có lớn hơn hoặc bằng 0 hay không.
-
Ví dụ:
-
D462 = số sản phẩm còn trong kho.
-
Nếu D462 ≥ 0 → M315 = ON → tiếp tục xuất hàng.
-
Nếu D462 < 0 → M315 = OFF → báo lỗi hoặc dừng quy trình.
-
🔹 4. Ví dụ Ladder
-
Khi X0 = ON, PLC so sánh D462 với 0.
-
Nếu D462 ≥ 0, M315 = ON → Y0 bật.
-
Nếu D462 < 0, M315 = OFF → Y0 tắt.
✅ Tóm lại: CMP K0 D462 M315
= So sánh giá trị D462 với 0, kết quả lưu vào M315, dùng để điều khiển logic theo điều kiện giá trị thanh ghi.