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 đó.
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
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
: 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)
© 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
ZCP
MOV
Zone Compare
Move
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 hat ng vsao chép vùng nhtng các chc nn
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
© 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
SUB
MUL
DIV
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
ROL
RCR
RCL
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
21] 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
21] 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
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
REFF Refresh and filter adjust
MTR Input matrix
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
FEND
- 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 65
FNC 66
FNC 67
FNC 68
FNC 69
SER
ABSD Absolute Drum
INCD Incremental Drum
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
n.
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
HKY
DSW
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
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
,
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 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
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 đủ
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:
bai_giang_bo_dieu_khien_lap_trinh_chuong_5_cac_nhom_lenh_ung.pdf

