Các lệnh so sánh trong PLC Mitsubishi
Các lệnh so sánh trong PLC mitsubishi dùng để so sánh các thanh ghi với nhau từ đó trả về kết quả là một bit hoặc kết quả trả về là 3 bit tùy thuộc vào câu lệnh bạn sử dụng, bài viết này Ngọc Automation sẽ hướng dẫn các lệnh so sánh hay sử dụng khi lập trình PLC Mitsubishi
Bài viết bằng PDF Link 1: https://drive.google.com/file/d/1ph9ID9gfsBnmjTDbSWmsXZbCxT_OUEgn/view
Bài viết bằng PDF Link 2: https://mega.nz/file/dhpRhBZB#gwm7mro_q1sL5gusmZN5AiFxrrop9L2KNOes97H9CyE
1. Lệnh so sánh trả về 1 kết quả
Lệnh so sánh trả về một kết quả thực hiện so sánh 2 thanh ghi với nhau, hoặc so sánh thanh ghi với hằng số nào đó và trả về kết quả ra một bit.
Ví dụ:
- Cấu trúc lệnh là LD= D0 D1
- Mô tả: Nếu D0=D1 thì lệnh này sẽ ON tiếp điểm phía sau lên 1.
- Có thể sử dụng nhiều điều kiện khác nhau cho lệnh này như: <,>, =<, =>.
Bảng 1 – Danh sách các lệnh trả về 1 kết quả
Lưu ý: Có thể thay thế LD bằng AND hoặc OR (Ví dụ: AND=), nhưng chúng ta chỉ nên dùng LD để tránh bị loạn.
Đối với lệnh trả về 1 kết quả thì chúng ta chỉ cần sử dụng các dấu như khi chúng ta học toán và thêm chữ LD phía trước.
Đối với câu lệnh trên ta so sánh nếu D0 bé hơn D1 thì Y0 sẽ bằng 1, ngược lại thì Y0 sẽ bằng 0.
Nếu tag có định dạng là 32 bit thì chúng ta sẽ thêm chữ D phía sau LD, đối với câu lệnh trên thì ta tiến hành so sánh tag 32bit D10 với tag 32bit D12, nếu D10 bằng D12 thì tag Y1 lên 1.
Từ hình ảnh dưới ta thấy sự khác biệt giữa lệnh so sánh tag 16bit và tag32 bit là thêm chữ D (Double) vào phía trước câu lệnh.
2. Lệnh so sánh trả về 3 kết quả
Bảng 2 – Danh sách các lệnh trả về 3 kết quả
Đối với lệnh so sánh trả về 3 kết quả thì chúng ta có 2 lệnh là CMP và ZCP, nó được áp dụng cho tag số nguyên 16 bit, tag số nguyên 32bit và tag số thực. đối với tag số nguyên 32bit ta thêm chữ D phía trước, còn đối với tag số thực thì ta thêm chữ E phía trước.
2.1. Lệnh CMP
Đối với câu lệnh CMP chúng ta nhìn vào câu lệnh trên, kết quả sẽ trả về 3 bit liên tiếp tính từ M1, do đó kết quả sẽ trả về ở tag M1, M2 và M3. Nếu D0 lớn hơn D1 thì M1 bằng 1 còn M2, M3 bằng 0, Nếu D0 bằng D1 thì M2 bằng 1, còn nếu D0 bé hơn D1 thì M3 bằng 1.
2.2. Lệnh ZCP
Lênh ZCP là lệnh kiểm tra giá trị tag có nằm trong phạm vi hay không, ở ví dụ trên ta tiến hành so sánh giá trị D2 có nằm trong phạm vi từ D0 đến D1 hay không. ở ví dụ trên ta có D0 bằng 1, D1 bằng 10 tức là ta tiến hành so sánh D2 có nằm trong phạm vi từ 1 đến 10 hay không. Nếu D2 nhỏ hơn D0 thì M1 bằng 1, nếu D2 lớn hơn D0 và bé hơn D1 thì M2 bằng 1, nếu D2 lớn hơn D1 thì M3 bằng 1.
Hình 1 – So sánh giá trị D2 so với D0 và D1
Ví dụ: sử dụng lệnh ZCP nó để cài đặt giá trị cảnh báo min max cho tag analog, ví dụ cài đặt mức nước min max cho bồn nước.
Hình 2 – Ứng dụng ZCP để cài đặt cảnh báo mức nước