Trong quá trình viết Lập trình PLC cho hệ thống dù lớn hay nhỏ chúng ta đều cần sử dụng lệnh So sánh (Compare) để đưa ra các điều khiển thông minh nhất và tiện lợi nhất. Trong đó, lệnh So sánh được dùng với rất nhiều giá trị từ Byte, Integer, Double Word, Real. Đặc biệt trong PLC Seimens S7 nếu một ai không biết sử dụng hoặc dùng không tối ưu lệnh Compare thì sẽ không bao giờ trở thành người lập trình giỏi. Để hiểu rỏ hơn về lệnh Compare chúng ta cần hiểu sơ qua về các giá trị Byte, Integer, Double Word, Real và cách chia sẻ dữ liệu của PLC.
Khối lệnh Compare LAD, FBD |
LỆNH SO SÁNH – COMPARE INSTRUCTIONS
1. So sánh giá trị số
Comparing Numerical Values
Lệnh So sánh sử dụng so sánh giá trị giữa 02 giá trị:
IN1 = IN2 IN1 >= IN2 IN <= IN2
IN1 > IN2 IN1 < IN2 IN1<> IN2
Phép toán So Sánh Byte dùng không ký tự.
Khối lệnh Compare STL |
Phép toán So Sánh Integer là có ký tự.
Phép toán So Sánh Double Word là có ký tự.
Phép toán So Sánh Real là có ký tự.
Với LAD và FBD: Khi các giá trị so sánh là đúng, lệnh Compare sẽ bật On cho mạch (LAD) hoặc cho ngỏ ra (FBD)
Với STL: Khi các giá trị so sánh là đúng, tùy vào lệnh ta đã gắn vào là Loads, And hay Or, giá trị sẽ được so sánh như trên lệnh.
Chú ý:
Các toán hạng lệnh Compare:
Ngỏ vào/ra
|
Loại
|
Toán hạng
|
IN1, IN2
|
Byte
INT
DINT
REAL
|
IB, QB, VB, MB, SMB, SB, LB, AC,*VD, *LD,*AC,Constant
IW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LC, *AC, Constant
ID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, Constant
ID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, Constant
|
Các điều kiện sau đây khi sử dụng lệnh Compare sẻ làm cho PLC S7 của bạn dừng chương trình ngay lập tức:
- Bất kỳ địa chỉ gián tiếp nào được gán bị lỗi (với tất cả lệnh Compare)
- Số thực dược gán vào lỗi (với lệnh Compare Real instruction)
Để khắc phục tình trạng này chúng ta cần kiểm tra chắc chắc các lệnh và số thực được cài đặt trước khi sử dụng lệnh Compare.
Hướng dẫn sử dụng:
Lệnh So sánh Compare gồm có: Compare Byte (B), Compare Word (I), Compare Doubleword (D), Compare Real (R).
Tuy nhiên khi dùng lệnh Compare lại dùng chung một cấu trúc:Compare cách khai báo và các dạng sử dụng |
0 comments :
Post a Comment