Chào bạn, sau khi đã biết cách đưa dữ liệu vào các “ngăn kéo” (thanh ghi D) bằng lệnh MOV, bước tiếp theo là làm sao để PLC biết dữ liệu đó lớn hay nhỏ để đưa ra quyết định. Đó chính là nhiệm vụ của Lệnh So sánh.
Bài 7: Lệnh So sánh (CMP) và Tiếp điểm so sánh
Trong PLC Mitsubishi, chúng ta có hai cách so sánh: dùng lệnh CMP (lệnh khối) hoặc dùng Tiếp điểm so sánh (tiện lợi hơn). Ở bài này, mình sẽ dạy bạn cách dùng tiếp điểm so sánh vì nó trực quan và cực kỳ phổ biến trong lập trình hiện đại.
1. Cấu trúc tiếp điểm so sánh
Thay vì dùng tiếp điểm thường mở LD X0, bạn có thể viết lệnh so sánh ngay tại vị trí đó:
LD [Phép so sánh] [S1] [S2]
Các phép so sánh bao gồm:
-
= : Bằng
-
<> : Khác
-
> : Lớn hơn
-
< : Nhỏ hơn
-
>= : Lớn hơn hoặc bằng
-
<= : Nhỏ hơn hoặc bằng
2. Ví dụ minh họa chi tiết
Bài toán: Hệ thống phân loại sản phẩm theo số lượng.
-
Khi số lượng sản phẩm (trong Counter C0) nhỏ hơn 100: Đèn xanh (Y0) sáng.
-
Khi số lượng sản phẩm từ 100 trở lên: Đèn vàng (Y1) sáng báo hiệu sắp đầy.
-
Khi số lượng sản phẩm đúng bằng 120: Dừng băng tải (Y2).
Sơ đồ Ladder:
Đoạn mã
|--[ LD < C0 K100 ]------------------------( OUT Y0 )--|
| |
|--[ LD >= C0 K100 ]-----------------------( OUT Y1 )--|
| |
|--[ LD = C0 K120 ]------------------------( OUT Y2 )--|
Giải thích:
-
Dòng 1: PLC liên tục kiểm tra giá trị hiện tại của C0. Chỉ cần C0 còn dưới 100, Y0 sẽ ON.
-
Dòng 2: Ngay khi C0 đạt đến 100, tiếp điểm
>=đóng lại, Y1 sáng. -
Dòng 3: Khi C0 chạm mốc 120, lệnh
=thỏa mãn, kích hoạt Y2 để dừng hệ thống.
3. Lệnh CMP (Dạng khối)
Ngoài cách dùng tiếp điểm, Mitsubishi còn có lệnh khối CMP S1 S2 D. Lệnh này sẽ so sánh S1 với S2 và kết quả sẽ trả về 3 bit liên tiếp (ví dụ M0, M1, M2):
-
Nếu S1 > S2 thì M0 ON.
-
Nếu S1 = S2 thì M1 ON.
-
Nếu S1 < S2 thì M2 ON.
Cách này hơi khó nhớ vì phải quản lý nhiều bit trung gian, nên mình khuyên bạn hãy ưu tiên dùng cách “Tiếp điểm so sánh” ở mục 1 cho gọn.
4. Ứng dụng nâng cao: Điều khiển nhiệt độ
Trong các máy ngành nhựa hoặc lò sấy, bạn sẽ đọc giá trị nhiệt độ từ cảm biến (giả sử lưu vào thanh ghi D10).
-
LD < D10 K150->OUT Y0(Nếu nhiệt độ thấp hơn 150°C thì bật điện trở đốt). -
LD > D10 K155->OUT Y1(Nếu nhiệt độ quá 155°C thì bật quạt làm mát).
5. Mẹo thực tế cho kỹ sư
Khi so sánh các con số lớn (32-bit), ví dụ như vị trí từ Encoder gửi về, bạn chỉ cần thêm chữ D phía trước:
-
Ví dụ:
LDD > D0 D10(So sánh số 32-bit trong cặp D0-D1 với D10-D11).
Bạn đã nắm vững cách cho PLC “tư duy” so sánh chưa? Nếu rồi, chúng ta sẽ sang Bài 8: Các phép toán cộng, trừ, nhân, chia (+ – * /) để PLC có thể tính toán như một chiếc máy tính thực thụ.

