Bài giảng Bộ điều khiển lập trình - Chương 5: Các nhóm lệnh ứng dụng

Ch 5: Các nhóm lệnh ứng dụng  
Ngoài các lệnh cơ bản, PLC thông thường  
được thiết kế để có thêm các nhóm lệnh  
ứng dụng, thí dụ như có nhóm lệnh chuyên  
tác động điều khiển lưu trình, có nhóm lệnh  
chuyên thực hiện xử lý số học ...  
Không phải tất cả các nhóm lệnh đều có thể  
sử dụng trên tất cả các họ PLC. Do đó cần  
phải lưu ý khi sử dụng nhóm lệnh trên 1  
PLC nào đó.  
Đố
i v
ớ
i PLC h
ọ
FX (Mitsubishi), có kho
ả
ng  
200 lệnh được phân vào 16 nhóm lệnh.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-1  
5.1. Program flow  
CJ  
Conditional jump  
FNC 00  
CALL Call Subroutine  
FNC 01  
FNC 02  
FNC 03  
FNC 04  
FNC 05  
FNC 06  
FNC 07  
FNC 08  
FNC 09  
SRET Subroutine Return  
IRET  
EI  
Interrupt Return  
Enable Interrupt  
Disable Interrupt  
DI  
FEND First End  
WDT  
FOR  
Watchdog Timer  
Start of a For/Next Loop  
NEXT End a For/Next Loop  
© C.B. Pham  
Bộ điều khiển lập trình  
5-2  
5.1. Program flow  
• Lệnh CJ: nhảy tới vị trí con trỏ đích xác định.  
- Khi lệnh CJ được kích hoạt thì con trỏ lệnh nhảy  
đến vị trí xác định trong chương trình, bỏ qua một  
số bước chương trình (không xử lý) do đó làm  
tăng tốc độ quét chương trình.  
- Mỗi con trỏ đích phải có duy nhất một con số.  
Dùng con trỏ P63 tương đương với việc nhảy đến  
lệnh END.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-3  
5.1. Program flow  
• Lệnh CALL: Gọi chương trình con.  
- Khi một chương trình con được gọi, điều khiển  
được chuyển từ chương trình chính vào chương  
trình con. Khi gặp lệnh SRET, chương trình con kết  
thúc và điều khiển được chuyển về lệnh kế tiếp  
sau lệnh gọi chương trình con trong chương trình  
chính.  
- Con trỏ của lệnh CJ và lệnh CALL không được  
trùng nhau.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-4  
5.1. Program flow  
• Lệnh FEND: Khai báo phần kết thúc đọan chương trình chính.  
- Lệnh FEND dùng để báo kết thúc đọan chương trình chính và bắt đầu đoạn chương  
trình con. Cấu trúc thường dùng: CJ-P-FEND, CALL-P-SRET.  
- Nhiều lệnh FEND có thể được sử dụng đồng thời. Lệnh FEND không được phép đặt  
sau lệnh END.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-5  
5.1. Program flow  
• Lệnh FOR, NEXT: Thực hiện vòng lặp với số lần xác định.  
- Giá trị toán hạng S phải nằm trong phạm vi từ 1 đến 32767. Những giá trị khác của S  
sẽ tự động làm S được gán bằng 1, nghĩa là vòng lặp FOR-NEXT được thực hiện 1 lần.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-6  
5.1. Program flow  
• Lưu ý: các bit thường được nhóm lại thành từng đơn vị 4 bit  
K1X0  
K1X6  
K3X0  
K8X0  
: từ X0 đến X3 (dữ liệu 4 bit bắt đầu từ X0)  
: từ X6 đến X11 (dữ liệu 4 bit bắt đầu từ X6)  
: từ X0 đến X13 (dữ liệu 12 bit bắt đầu từ X0)  
: t
ừ
X0
đế
n X37 (d
ữ
li
ệ
u 32 bit b
ắ
t
đầ
u t
ừ
X0)  
© C.B. Pham  
Bộ điều khiển lập trình  
5-7  
5.1. Program flow  
- Cặp lệnh FOR và NEXT luôn đi đôi với nhau và được phép sử dụng lồng vào nhau đến  
5 cấp.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-8  
Applications – Using conditional jumps  
Device  
PB1  
PC device  
X005  
Description  
Select wash and rinse  
Select rinse only  
PB2  
X006  
PB3  
X007  
Select wash only  
CJ  
FNC 00  
FNC 06  
The CJ applied instruction  
The FEND applied instruction  
FEND  
- Tại trạm rửa xe áp lực, có 3 dịch vụ: rinse only / wash only / wash and rinse.  
- Sử dụng 2 đọan chương trình con tương ứng cho wash và rinse sẽ giúp cho kích thước  
chương trình giảm đi phân nửa.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-9  
5.2. Move and compare  
CMP  
ZCP  
MOV  
Compare  
Zone Compare  
Move  
FNC 10  
FNC 11  
FNC 12  
FNC 13  
FNC 14  
FNC 15  
FNC 16  
FNC 17  
FNC 18  
FNC 19  
SMOV Shift Move  
CML Compliment  
BMOV Block Move  
FMOV Fill Move  
XCH  
BCD  
BIN  
Exchange  
Binary Coded Decimal  
Binary  
© C.B. Pham  
Bộ điều khiển lập trình  
5-10  
5.2. Move and compare  
• Lệnh CMP: Thực hiện so sánh giữa hai giá trị.  
- Dữ liệu [S1] được so sánh với dữ liệu [S2]. Kết  
quả được phản ánh trên 3 thiết bị logic (bắt đầu từ  
[D]).  
• [S2] < [S1] ⇒ [D] = 1  
• [S2] = [S1] ⇒ [D+1] = 1  
• [S2] > [S1] ⇒ [D+2] = 1  
- Dữ liệu [D] vẫn được duy trì ngay cả khi lệnh  
CMP không còn được thực hiện.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-11  
5.2. Move and compare  
• Lệnh ZCP: Thực hiện so sánh giữa một giá trị với 1 dãy giá trị.  
- Dữ liệu [S3] được so sánh với dãy dữ liệu từ [S1]  
đến [S2]. Kết quả được phản ánh trên 3 thiết bị  
logic (bắt đầu từ [D]).  
• [S3] < [S1] & [S2] ⇒ [D] = 1  
• [S3] nằm từ [S1] đến [S2] ⇒ [D+1] = 1  
• [S3] > [S1] & [S2] ⇒ [D+2] = 1  
© C.B. Pham  
Bộ điều khiển lập trình  
5-12  
5.2. Move and compare  
• Lệnh MOV: Gán giá trị từ vùng nhớ này đến vùng nhớ khác.  
- Các h
ọ
at
độ
ng v
ề
sao chép vùng nh
ớ đượ
c dùng
để
t
ă
ng c
ườ
ng các ch
ứ
c n
ă
ng s
ẳ
n  
có, ví dụ như cho phép thay đổi các giá trị xác lập cho bộ định thì hay bộ đếm. Các lọai  
ứng dụng này rất phổ biến, cho phép người điều khiển nhập các giá trị tham số khác  
nhau tr
ướ
c khi ho
ặ
c trong lúc PLC h
ọ
at
độ
ng.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-13  
5.2. Move and compare  
• Lệnh BCD: Chuyển đổi số nhị phân sang dạng BCD.  
• Lệnh BIN: Chuyển đổi số BCD sang dạng nhị phân tương ứng.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-14  
5.3. Arithmetic and logical operations  
ADD  
SUB  
MUL  
DIV  
Addition  
FNC 20  
FNC 21  
FNC 22  
FNC 23  
FNC 24  
FNC 25  
FNC 26  
FNC 27  
FNC 28  
FNC 29  
Subtraction  
Multiplication  
Division  
INC  
Increment  
Decrement  
DEC  
WAND Word AND  
WOR Word OR  
WXOR Word Exclusive OR  
NEG  
Negation  
© C.B. Pham  
Bộ điều khiển lập trình  
5-15  
5.3. Arithmetic and logical operations  
• Lệnh ADD: Cộng hai giá trị.  
- Phép cộng được thực hiện cho các số có dấu.  
- Nếu giá trị tính được vượt quá kích thước ở tóan  
hạng đích, thì giá trị thực sẽ bị cắt bớt đi để phù  
hợp với kích thước tóan hạng đích.  
- Khi giá trị tính được bằng không thì M8020 = 1  
© C.B. Pham  
Bộ điều khiển lập trình  
5-16  
5.3. Arithmetic and logical operations  
• Lệnh SUB: Tính sai lệch giữa hai giá trị.  
- [D] = [S2] – [S1]  
- Các điểm lưu ý cho phép trừ cũng giống như  
bên phép cộng.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-17  
5.3. Arithmetic and logical operations  
• Lệnh MUL: Nhân hai giá trị.  
- Với thao tác 16 bit, hai giá trị 16 bit nhân với  
nhau sẽ cho kết quả là con số 32 bit và kết quả  
này được lưu vào [D+1] [D].  
- Nếu giá trị tính được vượt quá kích thước ở  
tóan hạng đích, thì giá trị thực cũng sẽ bị cắt bớt  
đi để phù hợp với kích thước toán hạng đích.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-18  
5.3. Arithmetic and logical operations  
• Lệnh DIV: Thực hiện phép chia giữa hai giá trị.  
- [S1] ÷ [S2]  
- Với thao tác 16 bit, hai giá trị 16 bit chia cho  
nhau thì sẽ cho kết quả là con số 16 bit. Sau phép  
chia, số nguyên được lưu ở [D] và số dư được  
lưu ở [D+1]. Thí dụ:  
© C.B. Pham  
Bộ điều khiển lập trình  
5-19  
5.3. Arithmetic and logical operations  
• Lệnh INC: Tăng nội dung tóan hạng 1 đơn vị  
• Lệnh DEC: Giảm nội dung tóan hạng 1 đơn vị  
© C.B. Pham  
Bộ điều khiển lập trình  
5-20  
5.4. Rotate and shift  
ROR  
ROL  
RCR  
RCL  
Rotation Right  
FNC 30  
FNC 31  
FNC 32  
FNC 33  
FNC 34  
FNC 35  
FNC 36  
FNC 37  
FNC 38  
FNC 39  
Rotation Left  
Rotation Right with Carry  
Rotation Left with Carry  
SFTR (Bit) Shift Right  
SFTL (Bit) Shift Left  
WSFR Word Shift Right  
WSFL Word Shift Left  
SFWR Shift Register Write  
SFRD Shift Register Read  
© C.B. Pham  
Bộ điều khiển lập trình  
5-21  
5.4. Rotate and shift  
• Lệnh ROR: Thực hiện quay chuỗi bit sang phải ‘n’ vị trí  
- Khi lệnh này họat động, chuỗi bit của tóan  
hạng được quay sang phải n bit. LSB của  
chuỗi lần lượt trở thành MSB của chuỗi.  
Trạng thái của bit cuối cùng được quay sẽ  
được copy vào cờ nhớ M8022 (carry flag).  
© C.B. Pham  
Bộ điều khiển lập trình  
5-22  
5.4. Rotate and shift  
• Lệnh ROL: Thực hiện quay chuỗi bit sang trái ‘n’ vị trí  
- Khi lệnh này họat động, chuỗi bit của tóan  
hạng được quay sang trái n bit. MSB của  
chuỗi lần lượt trở thành LSB của chuỗi.  
Trạng thái của bit cuối cùng được quay sẽ  
được copy vào cờ nhớ M8022 (carry flag).  
© C.B. Pham  
Bộ điều khiển lập trình  
5-23  
5.4. Rotate and shift  
• Lệnh RCR: Thực hiện quay chuỗi bit sang phải ‘n’ vị trí với carry bit  
- Khi lệnh này họat động, chuỗi bit của tóan  
hạng được quay sang phải n bit. LSB của  
chuỗi chuyển vào cờ nhớ M8022 và trạng  
thái trước đó của cờ nhớ M8022 được  
chuyển vào MSB.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-24  
5.4. Rotate and shift  
• Lệnh RCL: Thực hiện quay chuỗi bit sang trái ‘n’ vị trí với carry bit  
- Khi lệnh này họat động, chuỗi bit của tóan  
hạng được quay sang trái n bit. MSB của  
chuỗi chuyển vào cờ nhớ M8022 và trạng  
thái trước đó của cờ nhớ M8022 được  
chuyển vào LSB.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-25  
5.4. Rotate and shift  
• Lệnh SFTR: Thực hiện copy và dịch chuyển chuỗi bit sang phải  
- L
ệ
nh này copy [n
2
] bit [S] vào [n
1] bit [D].  
Mỗi lần thêm vào [n2] bit [S], dữ liệu hiện có  
của [D] sẽ được dịch sang phải [n2] bit.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-26  
5.4. Rotate and shift  
• Lệnh SFTL: Thực hiện copy và dịch chuyển chuỗi bit sang trái  
- L
ệ
nh này copy [n
2
] bit [S] vào [n
1] bit [D].  
Mỗi lần thêm vào [n2] bit [S], dữ liệu hiện có  
của [D] sẽ được dịch sang trái [n2] bit.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-27  
5.5. Data operation  
ZRST Zone
 
Reset  
FNC 40  
DECO Decode  
ENCO Encode  
FNC 41  
FNC 42  
FNC 43  
FNC 44  
FNC 45  
FNC 46  
FNC 47  
FNC 48  
FNC 49  
SUM  
BON  
The Sum Of Active Bits  
Check Specified Bit Status  
MEAN Mean  
ANS  
ANR  
SQR  
FLT  
(Timed) Annunciator Set  
Annunciator Reset  
Square Root  
Float, (Floating Point)  
© C.B. Pham  
Bộ điều khiển lập trình  
5-28  
5.5. Data operation  
• Lệnh ZRST: Thực hiện reset một dãy các thiết bị  
- Lệnh này reset một dãy thiết bị từ [D1] đến  
[D2]. Đối với thiết bị dữ liệu, thì giá trị được  
đặt bằng 0; còn với thiết bị logic thì trạng  
thái của nó là FALSE (hay OFF, LOW, 0 …).  
- Phần toán hạng phải chứa cùng lọai thiết  
bị.  
- Nếu [D1] > [D2] thì chỉ có [D1] được reset.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-29  
5.6. High speed processing  
REF  
REFF Refresh and filter adjust  
MTR Input matrix  
Refresh  
FNC 50  
FNC 51  
FNC 52  
FNC 53  
FNC 54  
HSCS High speed counter set  
HSCR High speed counter reset  
HSZ  
SPD  
High speed counter zone compare FNC 55  
Speed detect  
FNC 56  
FNC 57  
FNC 58  
FNC 59  
PLSY Pulse Y output  
PWM  
Pulse width modulation  
PLSR Ramp Pulse output  
© C.B. Pham  
Bộ điều khiển lập trình  
5-30  
5.6. High speed processing  
• Lệnh PLSY: Tạo ra một dãy xung với số xung và tần số xác định  
- Số xung [S2] được tạo ở thiết bị [D] với tần số [S1] (Hz, 50% ON và 50% OFF).  
- Cờ M8029 sẽ ON khi dãy xung được tạo xong và tự động OFF khi lệnh không được  
kích họat.  
- Nếu K0 được sử dụng trong PLSY, thì xung sẽ được tạo ra liên tục cho đến khi ngừng  
kích họat lệnh.  
© C.B. Pham  
5-31  
5.6. High speed processing  
• Lệnh PMW: Tạo ra một dãy xung được điều chế độ rộng  
- Một dãy xung liên tục được tạo ở thiết bị [D] khi  
lệnh này làm việc.  
- Thời gian một chu kỳ được xác định bởi [S2]  
(msec) .  
- Thời gian để tín hiệu ở mức cao được xác định  
bởi [S1] (msec) .  
© C.B. Pham  
Bộ điều khiển lập trình  
5-32  
Applications – Using multiple PLSY instructions  
Device  
PB1  
PC device  
X000  
Description  
Door bell push button  
Window sensor  
WIND1  
BL1  
X001  
Y000  
Door / alarm bell  
PLSY  
CJ  
FNC 57  
FNC 00  
FNC 06  
P0  
The PLSY applied instruction  
The CJ applied instruction  
The FEND applied instruction  
Door bell sub-routine  
Alarm bell sub-routine  
FEND  
P1  
- Chuông BL1 có 2 hiệu ứng tương ứng với tín hiệu từ PB1 và WIND1.  
- Khi có khách nhấn nút, chuông kêu 2 tiếng ngắn. Khi báo động, chuông kêu liên tục.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-33  
5.7. Handy instruction  
IST  
Initial State  
Search  
FNC 60  
FNC 61  
FNC 62  
FNC 63  
FNC 64  
FNC 65  
FNC 66  
FNC 67  
FNC 68  
FNC 69  
SER  
ABSD Absolute Drum  
INCD Incremental Drum  
TTMR
T
e
aching
 
Timer  
STMR Special Timer Definable  
ALT  
Alternate State  
RAMP Ramp Variable Value  
ROTC Rotary Table Control  
SORT Sort Data  
© C.B. Pham  
Bộ điều khiển lập trình  
5-34  
5.7. Handy instruction  
• Lệnh ALT: Thực hiện đảo trạng thái hiện tại  
- Thiết bị [D] bị đảo trạng thái mỗi lần lệnh ALT  
đượ
c th
ự
c hi
ệ
n.
Đ
i
ề
u này x
ả
y ra
ở
m
ỗ
i l
ầ
n quét  
chương trình trừ khi lệnh xung được sử dụng.  
- Lệnh ALT thường được sử dụng để chuyển đổi  
giữa hai chế độ họat động (e.g. start and stop)  
© C.B. Pham  
Bộ điều khiển lập trình  
5-35  
Applications – Selection between 2 modes using ALT  
Device  
PB1  
PC device  
X001  
Description  
Extraction / circulation push button  
Move valve to circulation setting  
Move valve to extraction setting  
The ALT applied instruction  
DV1  
Y002  
Y003  
ALT  
FNC 66  
- Quạt làm việc ở hai cêế độ: hút / thổi.  
- Mỗi lần nhấn nút PB1, quạt sẽ chuyển từ chế độ hiện tại sang chế độ còn lại.  
© C.B. Pham  
Bộ điều khiển lập trình  
5-36  
5.8. External FX I/O devices  
TKY  
HKY  
DSW  
T
e
n Key Input  
FNC 70  
FNC 71  
Hexadecimal Input  
Digital Switch (Thumbwheel input) FNC 72  
SEGD Seven Segment Decoder  
SEGL Seven Segment With Latch  
ARWS Arrow Switch  
FNC 73  
FNC 74  
FNC 75  
FNC 76  
FNC 77  
ASC  
PR  
ASCII Code  
‘Print’ To A Display  
FROM Read From A Special Func. Block FNC 78  
TO  
Write To A Special Function Block FNC 79  
© C.B. Pham  
Bộ điều khiển lập trình  
5-37  
5.9. External FX serial devices  
RS  
RS Communications  
FNC 80  
FNC 81  
FNC 82  
FNC 83  
FNC 84  
FNC 85  
FNC 86  
FNC 87  
FNC 88  
FNC 89  
PRUN FX2-40AP Parallel Run  
ASCI  
HEX  
CCD  
Hexadecimal to ASCII  
ASCII to Hexadecimal  
Check Code  
VRRD FX-8AV Volume Read  
VRSC FX-8AV Volume Scale  
œœœ Not Available  
PID  
PID Control Loop  
œœœ Not Available  
© C.B. Pham  
Bộ điều khiển lập trình  
5-38  
5.10. External F2 units  
MNET F-16N
P
,
Melsec
 
Net Mini  
ANRD F2-6A, Analog Read  
ANWR F2-6A, Analog Write  
RMST F2-32RM, RM Start  
RMWR F2-32RM, RM Write  
RMRD F2-32RM, RM Read  
RMMN F2-32RM, RM Monitor  
FNC 90  
FNC 91  
FNC 92  
FNC 93  
FNC 94  
FNC 95  
FNC 96  
FNC 97  
FNC 98  
FNC 99  
BLK  
F2-30GM, Block  
MCDE F2-30GM, Machine Code  
œœœ Not Available  
© C.B. Pham  
Bộ điều khiển lập trình  
5-39  
5.11. Floating point 1 & 2  
Floating Point 1  
ECMP Float Compare  
EZCP Float Zone Compare  
œœœ Not Available  
FNC 110  
FNC 111  
FNC 112 to 117  
FNC 118  
EBCD Float to Scientific  
EBIN  
Scientific to Float  
FNC 119  
© C.B. Pham  
Bộ điều khiển lập trình  
5-40  
Tải về để xem bản đầy đủ
pdf 23 trang myanh 20020 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bộ điều khiển lập trình - Chương 5: Các nhóm lệnh ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_bo_dieu_khien_lap_trinh_chuong_5_cac_nhom_lenh_ung.pdf