CHƯƠNG VI: BỘ LỆNH CỦA HÃNG OMRON
6.1
CÁC LỆNH LƯỢC ĐỒ HÌNH THANG ( LADDER DIAGRAM
INSTRUCTION):
6.1.1 Lệnh LD ( load):
Lệnh này nạp một cơng tắc thường hở nối với phía bên trái đường dây điện
Ký hiệu hình thang:
Vùng dữ liệu tốn tử:
6.1.2 Lệnh LD Not ( Load Not):
Lệnh này giống lệnh LD nhưng ở đây là cơng tắc thường đóng
6.1.3 Lệnh AND, AND NOT
●
nó.
Lệnh AND dùng để nối tiếp một cơng tắc thường hở với một công tắc đứng trước
Ký hiệu hình thang:
Vùng dữ liệu tốn tử
● Lệnh AND NOT : dùng để nối tiếp một cơng tắc thường đóng với một cơng tắc
đứng trước nó
Ký hiệu hình thang:
55
SVTH: Lê Hạ Thiên Tường
Vùng dữ liệu toán tử:
6.1.4 Lệnh OR, ORNOT:
● Lệnh OR dùng để nối một công tắc thường hở với một đường dây điện bên trái
song song với một hoặc nhiều công tắc đứng trong cùng một nhánh.
● Lệnh ORNOT : Giống như lệnh OR nhưng công tắc nối vào là cơng tắc thường
đóng.
Ký hiệu hình thang:
Vùng dữ liệu tốn tử:
6.1.5 Lệnh ANDLD (AND LOAD) và ORLD (OR LOAD):
Lệnh ANDLD: Là lệnh dùng để liên kết hai khối công tắc liên tiếp với nhau.
Ký hiệu hình thang
Ví dụ:
Viết chương trình cho sơ đồ hình thang trên:
Địa chỉ
Lệnh
Dữ liệu
00000
LD
00000
00001
OR
00001
00002
LD
00002
56
SVTH: Lê Hạ Thiên Tường
00003
ORNOT
00003
00004
ANDLD
-------
00005
OUT
01000
Lệnh ORLD : Dùng để liên kết hai khối song song nhau
Viết chương trình cho sơ đồ hình thang trên:
6.2
Địa chỉ
Lệnh
Dữ liệu
00000
LD
00000
00001
AND
00002
00002
LD
00001
00003
ANDNOT
00003
00004
ORLD
-------
00005
OUT
01000
LỆNH ĐIỀU KHIỂN BIT :
6.2.1 Lệnh OUT ( OUTPUT) và OUT NOT ( OUTPUT NOT)
Ký hiệu hình thang:
Vùng dữ liệu toán tử:
Lệnh OUT và OUT NOT dùng để điều khiển trạng thái của Bit đã chỉ định theo
điều kiện thực hiện ngõ vào là ON thì Bit OUT sẽ ON, cịn Bit OUT NOT sẽ OFF và
nguược lại.
57
SVTH: Lê Hạ Thiên Tường
6.2.2 Lệnh SET và RESET:
Ký hiệu hình thang:
Vùng dữ liệu toán tử:
Lệnh SET dùng để ON bit toán tử khi điều kiện thực hiện ngõ vào là ON và không
ảnh hưởng trạng thái bit toán tử khi điều kiện thực hiện ngõ vào là OFF.
Lệnh RESET dùng để OFF bit toán tử khi điều kiện thực hiện là ON và khơng ảnh
hưởng trạng thái của tốn tử khi điều kiện thực hiện là OFF.
6.2.3 Lệnh KEEP ( 11) :
Ký hiệu hình thang:
Vùng dữ liệu tốn tử:
Lệnh KEEP (11) dùng để duy trì trạng thái bit đã định theo hai điều kiện thực hiện
ngõ vào là S và R. S là ngõ vào SET; R là ngõ vào RESET. Lệnh KEEP (11) hoạt động
giống như một Relay chốt mà được Set bởi S và Reset bởi R.
Minh hoạ bằng sóng:
● Điều kiện thực hiện S
58
SVTH: Lê Hạ Thiên Tường
● Điều kiện thực hiện R
● Trạng thái bit B
6.2.4 Lệnh DIFU ( 13) và DIFD ( 14):
Ký hiệu hình thang:
Vùng dữ liệu toán tử:
Lệnh DIFU (13) và DIFD (14) được dùng để bật ON bit đã định trrong một chu kỳ.
Mỗi khi thực hiện DIFU (13) so sánh điều kiện thực hiện tại ngõ vào với điều kiện trước
đó của nó. Nếu điều kiện thực hiện trước đó là OFF và hiện tại là ON, DIFU (13) sẽ bật
ON bit đã định. Nếu điều kiện thực hiện trước đó là ON và điều kiện thực hiện hiện tại
là ON hay OFF lệnh DIFU (13) sẽ OFF bit đã định.
Còn đối với lệnh DIFD (14) khi thực hiện sẽ so sánh điều kiện thực hiện ngõ vào
hiện tại với điều kiện trước đó. Nếu điều kiện trước đó là ON và hiện tại là OFF thì lệnh
DIFD (14) sẽ bật ON bit đã định. Nếu điều kiện thực hiện tại ngõ vào là ON bất chấp
điều kiện trước đó là ON hay OFF, lệnh DIFD (14) sẽ OFF bit đã định.
Hai lệnh này khơng ảnh hưởng đến cờ trạng thái.
Ví dụ :
Cho sơ đồ hình thang
Viết chương trình cho sơ đồ hình thang trên
59
SVTH: Lê Hạ Thiên Tường
Địa chỉ
Lệnh
Dữ liệu
00000
LD
00000
00001
DIFU(13)
10014
00002
DIFD(14)
10015
Minh họa bằng dạng sóng:
Điều kiện nhập:0000
DIFU (13)
DIFD (14)
6.3
LỆNH ĐIỀU KHIỂN CHƯƠNG TRÌNH:
6.3.1 Lệnh IL (02) (Interlock) và ILC (03) (Interlock clear):L
Lệnh IL (02) luôn được dùng kết hợp với ILC (03) để tạo thành một khối khoá
trong. Nếu điều kiện thực hiện ngõ vào cho IL (02) là OFF thì tất cả các ngõ ra và tất cả
các giá trị hiện tại của TIMER ở trong IL (02) và ILC (03) được OFF hay Reset. Một số
lệnh khác thì khơng hoạt động. Giá trị hiện tại của COUNTER được duy trì. Nếu điều
kiện thực hiện ngõ vào là ON thì sự thực hiện của lệnh IL (02) và ILC (03) khơng ảnh
hưởng, chương trình tiếp tục bình thường.
6.3.2 Lệnh JMP (04) (JUMP) và JME (05) (JUMP END):
Ký hiệu hình thang:
N : là số nhảy
Số nhảy N trong lệnh là từ 00 đến 99
60
SVTH: Lê Hạ Thiên Tường
JMP (04) luôn luôn được dùng kết hợp với JME (05) để tạo thành lệnh nhảy, để
nhảy từ một điểm trong sơ đồ hình thang đến một điểm khác. JMP (04) được định nghĩa
là điểm mà tại đó lệnh nhảy được tạo. JME (05) được định nghĩa là điểm đích của lệnh
nhảy. Khi điều kiện thực hiện ngõ vào cho JMP (04) là ON thì bước nhảy khơng được
tạo và chương trình được thực hiện liên tục như đã lập trình. Khi điều kiện thực hiện
ngõ vào cho JMP (04) là OFF thì một bước nhảy được thi hành, khi đó chương trình
tiếp tục thực hiện tại JME (05).
Khi số nhảy N của JMP (04) từ 01đến 99 thì con trỏ lập tức chuyển đến JME(05)
với cùng số nhảy N tương ứng. Tất cá các lệnh ở giữa JMP (04) và JME(05) không thực
hiện. Trạng thái của những Timer, Counter, Bit Out, Out Not và tất cả trạng thái của bit
điều khiển khác sẽ không thay đổi. Số nhảy này chỉ định nghĩa cho một lần nhảy.
Khi số nhảy N cho JMP (04) là ON, CPU sẽ tìm đến JME (05) kế có sốn nhảy N
= 00. Để thực hiện nó kiểm tra tồn bộ chương trình tất cả những lệnh và bit điều khiển
nằm ở giữa JMP (04) 00 và JME (05) 00 được giữ nguyên. Số nhảy 00 có thể được suử
dụng nhiều lần đối với JMP (04) mà chỉ cần một đích nhảy đến JME (05).
Ví dụ:
Sơ đồ hình thang
Viết chương trình ccho sơ đồ hình thang trên:
Địa chỉ
Lệnh
Dữ liệu
00000
LD
00000
00001
JMP(04)
01
00002
LD
00001
00003
Lệnh 1
00004
LD
00005
Lệnh 2
00006
JMP(05)
00002
01
Giải thích lược đồ trên: khi IR 00000 = ON thì chương trình thực hiện từ lệnh 1
đến lệnh 2. Khi IR00000 = OFF thì lệnh 1 và lệnh 2 khơng thực hiện.
61
SVTH: Lê Hạ Thiên Tường
6.3.3 Lệnh STEP(08) (Step define) và SNXT(09) (Step start)
Ký hiệu hình thang
Vùng dữ liệu tốn tử:
B : bit
IR, AR, LR, HR
Lệnh bước Step (08) và SNXT (09) được dùng kết hợp với nhau để đặt điểm
dừng giữa những phần trong một chương trình lớn vì vậy những phần có thể thực hiện
như những khối và được đặt lại lúc hoàn thành. Step (08) dùng một Bit điều khiển trong
vùng IR hay HR … để định nghĩa cho phần bắt đầu của đầu chương trình gọi là bước.
Step (08) khơng cần điều kiện thực hiện, tức là sự thực hiện của nó được điều khiển
thơng qua bit điều khiển B đặt trong SNXT (09). SNXT (09) là lệnh bắt đầu bước cho
phép STEP (08) thực hiện. Nếu điều kiện thực hiện ngõ vào của SNXT (09) (có dùng
bit điều khiển B trong STEP (08) là ON. Thì bước sẽ được thực hiện. Nếu điều kiện
thực hiện ngõ vào của SNXT (09) là OFF thì bước định nghĩa sẽ khơng được thực hiện
lệnh SNXT (09) phải được con trỏ đọc trước khi bắt đầu bước. Bất kỳ một bước nào
trong chương trình mà khơng được bắt đầu với SNXT (09) thì bước đó sẽ khơng thực
hiện.
Một SNXT (09) được dùng trong chương trình thì sẽ thực hiện bước sẽ tiếp diễn
cho đến khi STEP (08) được thực hiện mà khơng có bit điều khiển STEP (08). STEP
(08) khơng có bit điều khiển được đứng trước bởi SNXT (09) với một bit điều khiển
giả, bit điều khiển giả có thể là những bit bất kỳ khơng sử dụng trong IR hay HR. Vì
vậy nó khơng thể là bit điều khiển dùng cho STEP (08).
Sư thực hiện của một bước được hoàn thành khi có sự xuất hiện của SNXT(09)
kế hay bit điều khiển cho bước được Reset. Khi bước được hoàn thành tất cả những bit
của IR và HR trong bước được bật trở về OFF và tất cả các Timer trong bước được
Reset về giá trị đặt của nó. Các Counter, thanh ghi dịch những bit dùng KEEP giữ
nguyên trạng thái.
6.4
NHỮNG LỆNH VỀ TIMER / COUNTER
6.4.1 Lệnh TIM (Timer):
Ký hiệu hình thang
62
SVTH: Lê Hạ Thiên Tường
N: là số Timer TC #
SV : là giá trị đặt (word, BCD): IR, SR, AR, DM, HR, LR, #
N: là chỉ số Timer chạy từ 000 đến 511
SV : là giá trị đặt cho Timer được đặt từ 000,0đến 999,9 với đơn vị là 0,1 giây.
Một Timer được kích là điều kiện thực hiện ngõ vào của nó được chuyển sang ON và nó
được Reset về giá trị đặt khi điều kiện thực hiện chuyển sang OFF. Nếu điều kiện cho
Timer duy trì trong một khoảng thời gian dài thì giá trị đặt của Timer sẽ giảm về 0, cờ
hoàn thành cho số TC dùng được bật ON và duy trì trạng thái cho đến khi Timer được
Reset (đến khi điều kiện thực hiện ngõ vào chuyển sang OFF)
Sau đây minh họa dạng sóng liên hệ giữ điều kiện thực hiện cho Timer
6.4.2 CNT (Counter)
Ký hiệu hình thang
N là chỉ số TC của CNT chạy từ 000 tới 511
CNT dùng để đếm xuống từ giá trị đặt SV khi điều kiện thực hiện xung đếm
chuyển từ trạng thái OFF sang ON, giá trị hiện tại (PV) sẽ được giảm xuống bằng một
lần CNT thực hiện một xung đếm CP từ OFF sang ON. Nếu điều kiện xung đếm thay
đổi hay chuyển từ trạng thái ON sang OFF thì giá trị PV của CNT khơng thay đổi, cờ
hồn thành cho một Counter được bật ON khi giá trị hiện tại PV bằng 0 và ở trạng thái
ON cho đến khi Counter được Reset.
Counter được Reset với một ngõ vào RESET R khi R chuyển từ OFF sang ON,
và PV được Reset về SV. Giá trị hiện tại PV sẽ Không giảm khi R đang ON và chỉ đếm
xuống khi R chuyển sang OFF. Giá trị hiện tại PV của CNT sẽ khơng Reset trong phần
chương trình khác trong hay bởi sự ngắt nguồn.
6.4.3 Lệnh đếm lặp lại CNTR (12) – Reversible Counter
Kí hiệu hình thang
63
SVTH: Lê Hạ Thiên Tường
N: chỉ số CNTR (12)
SV: là giá trị đặt ở trong IR, SR, AR, DM, HR, LR, #
CNTR là một bộ đếm theo hai chiều. Nó được dùng để đếm giữa giá trị đặt SV
và 0 theo sự chuyển đổi một trong hai điều kiện đó là ngõ vào tăng II và ngõ vào giảm
DI.
Giá trị hiện tại (PV) sẽ tăng nếu điều kiện đếm được đưa vào ngõ II và sẽ giảm
nếu điều kiện đếm được đưa vào ngõ DI. Nếu điều kiện đếm được đưa vào cả hai ngõ II
và DI thì giá trị hiện tại PV của CNTR (12) sẽ giữ nguyên không thay đổi.
Khi giá trị hiện tại PV giảm tới 00 thì PV được đặt về giá trị đặt SV và cờ hoàn
thành được bật ON cho đến khi giá trị PV giảm trở lại. Khi giá trị hiện tại PV tăng lên
tới SV thì giá trị PV được đặt về 0 và cờ hoàn thành được bật sang ON cho đến khi giá
trị PV tăng trở lại.
R là ngõ vào Reset của CNTR (12) khi R chuyển từ OFF sang ON, giá trị PV được
Reset về 0. Giá trị PV sẽ không tăng không giảm khi R đang ON. Counter sẽ đếm trở lại
khi R là OFF.
6.4.4 Lệnh TIMH (15) – High Speed Timer
Kí hiệu hình thang
N: là chỉ số Timer
SV: là giá trị (word, BCD) ở trong IR, SR, AR, DM, HR, LR, #
Giá trị SV đặt trog TIMH (15) chạy từ 00,00 đến 99,99 giây. Hoạt động của
TIMH (15) giống như TIM.
6.4.5 Lệnh PRV (62) – High Speed Counter Pvread
Kí hiệu hình thang
P: là port riêng 000,001,002
64
SVTH: Lê Hạ Thiên Tường
C: dữ liệu điều khiển: 000,001,002
D: word đích đầu tiên: IR, SR, AR, DM, HR, #
Khi điều kiện thực hiện ngõ vào là ON, lệnh PRV (62) đọc dữ liệu đã định ở P và
C rồi ghi nó vào D hay D+1
Port riêng (P) xác định Counter tốc độ cao hay xuất xung.
P
Chức năng
000
Chỉ định Counter tốc độ cao 0 hay xuất xung từ một Bit
001
Chỉ định Counter tốc độ cao 1 hay xuất xung từ port 1
002
Chỉ định Counter tốc độ cao 2 hay xuất xung từ port 2
C : dữ liệu điều khiển xác định loại dữ liệu xử lý truy xuất
C
Dữ liệu
Word đích
000
Giá trị hiện tại PV của Counter tốc độ cao
D và D+1
001
Trạng thái của Counter tốc độ cao hay xuất xung
D
002
Dãy kết quả so sánh
D
6.5
LỆNH DI CHUYỂN DỮ LIỆU
6.5.1 Lệnh MOV (21) – Move
Kí hiệu hình thang
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
Khi điều kiện thực hiện ngõ vào là OFF lệnh MOV (21) không thực hiện. Khi
điều kiện ngõ vào là ON lệnh MOV (21) sẽ chép nội dung của S ang D.
Minh hoạ
Word nguồn
Word đích
65
SVTH: Lê Hạ Thiên Tường
Cờ EQ : ON khi số zero được chuyển cho D
Ví dụ: sau khi trình bày sự thực hiện của lệnh MOV (21) chép nội dung của IR
001 cho HR 05 khi IR00000 chuyển từ OFF sang ON
Sơ đồ hình thang
Chương trình được viết như sau:
Địa chỉ
Lệnh
Tốn tử
00000
LD
00000
00001
MOV (21)
01
HR05
IR001
HR05
6.5.2 Lệnh MVN (22) – Move Not
Kí hiệu hình thang
66
SVTH: Lê Hạ Thiên Tường
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
Khi điều kiện thực hiện ngõ vào là ON lệnh MVN (22) sẽ truyền nội dung đảo
của S cho D. Mỗi Bit ON của S thì tương ứng là với bit OFF trong D và bit OFF trong S
tương ứng với bit ON trong D.
6.5.3 Lệnh BSET (71) – Block Set
Kí hiệu hình thang
S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, #
St: word bắt đầu: IR, SR, AR, DM, HR, TC, LR,
E: word cuối: IR, SR, AR, DM, HR, TC, LR,
St phải nhỏ hơn hay bằng E và St và E phải cùng một vùng dữ liệu, DM6144 tới
DM6655 không dùng cho St và E
Khi điều kiện thực hiện ngõ vào là OFF, BSET (71) không thực hiện. Khi điều
kiện thực hiện ngõ vào là ON, BSET (71) chép nội dung của S cho tất cả các word tứ St
tới E
Minh hoạ
S
3
3
3
3
3
4
5
St
4
5
St +1
4
5
S +2
4
5
E
4
5
6
2
2
2
2
67
SVTH: Lê Hạ Thiên Tường
Lệnh BSET (71) có thể dùng để chuyển giá trị hiện tại PV của Timer, Counter
(Điều này không thể thực hiện với lệnh MOV (21) hay MVN (22)).
Cờ lỗi ER : sẽ lên 1 khi St và E không ùng vùng dữ liệu hay St lớn hơn E.
6.5.4 Lệnh Coll (81) – Data Collect
Kí hiệu hình thang
SBS: Word nguồn gốc: IR, SR, AR, DM, HR, TC, LR
C: Word điều khiển: IR, SR, AR, DM, HR, TC, LR
D: Word đích: IR, SR, AR, DM, HR, TC, LR
C phải là BCD
DM 6144 tới DM 6655 không thể dùng cho D
Lệnh Coll (81) được dùng để thu thập dữ liệu hoạt động theo kiểu xếp chồng vào
trước ra trước FIFO (First In First Out) hay kiểu vào sau ra trước (First In Last Out) tuỳ
theo nội dung của word C
Khi Bit 12 tới Bit 15 của C word bằng 0 tới 7, lệnh Coll (81) được dùng để chọn
dữ liệu. Toàn bộ nội dung của C xác định phần bù, kí hiệu là Of.
Khi điều kiện thực hiện ngõ vào là OFF lệnh Coll (81) không thực hiện, khi điều
kiện thực hiện ngõ vào là ON thì lệnh Coll (81) chép nội dung word nguồn cho D. Word
nguồn có địa chỉ là địa chỉ của SBS cộng với nội dung của Of. SBS và SBS + Of phải
cùng một vùng dữ liệu
Ví dụ:
Ví dụ sau trình bày cách sử dụng lệnh Coll (81) để chép nội dung của DM100000
+ Of cho IR 001. Nội dung của 010 là #0005, vì thế nội dung của DM 0005 (DM 0005
= DM 0000 + 5) được phép cho IR 00001 khi IR 00001 là ON.
Sơ đồ hình thang
68
SVTH: Lê Hạ Thiên Tường
010
0
0
0
DM0000
0
0
001
0
F
DM0005
0
F
0
0
0
5
0
F
Viết chương trình cho sơ đồ hình thang
Địa chỉ
Lệnh
0000
LD
0001
Coll (81)
Tốn tử
0000
010
001
●
Hoạt động xếp chồng ngăn xếp FIFO
Khi bit thứ 12 đến bit thứ 15 của C bằng 9, lệnh Coll (81) dùng để truy xuất dữ
liệu kiểu xếp chồng FIFO. 3 số còn lại của C (từ bit 00 đến bit 11) cho biết số word
ngăn xếp (từ 000 đến 999). Nội dung của SBS là ngăn xếp con trỏ.
Khi điều kiện thực hiện ngõ vào là On, lệnh Coll (81) dịch nội dung của mỗi
word bên trong ngăn xếp vào ngăn xếp kế có địa chỉ nhỏ hơn 1 và dữ liệu của BSS+1
(ngăn xếp đầu tiên cho word đích D. Nội dung của ngăn xếp con trỏ SBS sau đó giảm đi
1.
69
SVTH: Lê Hạ Thiên Tường
Ví dụ: Trình bày cách sử dụng lệnh Coll (81) để tạo một ngăn xếp giữa
DM0001 và DM 0005. DM0000 hoạt động như một con trỏ ngăn xếp.
Khi IR00000 chuyển từ OFF sang ON, lệnh Coll (81) dịch nội dung của DM0002
tới DM0005 xuống một địa chỉ và dịch dữ liệu từ DM0001 sang IR001. Nội dung con
trỏ ngăn xếp DM0000 sau đó được giảm đi 1.
Sơ đồ hình thang:
Chương trình của hình thang
Địa chỉ
Lệnh
Tốn tử
0000
LD
00000
0001
Coll (81)
DM0000
216
001
IR 216 9005
DM0000
005
DM0000
00004
DM0001
AAAA
DM0001
AAAA
DM0002
BBBB
DM0002
BBBB
DM0003
CCCC
DM0003
CCCC
DM0004
DDDD
DM0004
DDDD
DM0005
EEEE
DM0005
EEEE
IR001
AAAA
70
SVTH: Lê Hạ Thiên Tường
Hoạt động xếp chồng của ngăn xếp kiểu LIFO: khi bit thứ 12 ÷15 của C = 8 lệnh
Coll (81) dùng để truy xuất dữ liệu kiểu xếp chồng LIFO. 3 số còn lại của C (từ bit 00
đến bit 11) cho biết số word ngăn xếp (từ 000 đến 999). Nội dung của SBS là ngăn xếp
con trỏ.
Khi điều kiện thực hiện ngõ vào là On, lệnh Coll (81) dịch nội dung của mỗi
word bên trong ngăn xếp vào ngăn xếp kế có địa chỉ nhỏ hơn 1 và dữ liệu của BSS+ nội
dung của SBS cho word đích D. Nội dung của ngăn xếp con trỏ SBS sau đó giảm đi 1.
Ví dụ: trình bày cách sử dụng lệnh Coll (81) để tạo một ngăn xếp giữa DM0001
và DM 0005. DM0000 hoạt động như một ngăn xếp.con trỏ
Khi IR00000 chuyển từ OFF sang ON, lệnh Coll (81) chép nội dung của
DM0005 (DM0000 + 5)cho IR 001. Nội dung con trỏ ngăn xếp DM0000 sau đó được
giảm đi 1.
Sơ đồ hình thang:
Bit đầu tiên trong S (từ 0 đến F)
Chương trình của hình thang
Địa chỉ
Lệnh
Tốn tử
0000
LD
00000
0001
Coll (81)
DM0000
216
001
IR 216 8005
DM0000
0005
DM0000
00004
DM0001
AAAA
DM0001
AAAA
DM0002
BBBB
DM0002
BBBB
DM0003
CCCC
DM0003
CCCC
IR001
EEEE
71
SVTH: Lê Hạ Thiên Tường
DM0004
DDDD
DM0004
DDDD
DM0005
EEEE
DM0005
EEEE
Cờ EQ: ON khi nội dung của S là 0, ngược lại là OFF
6.5.5 Lệnh MOVB (82) – Move Bit
Kí hiệu hình thang
Hai số bên phải và hai số bên trái của BI phải ở trong khoảng từ 00 tới 15.
DM6144 tới DM665 không được dùng cho BI hay D
Khi điều kiện thực hiện ngõ vào là OFF lệnh MOVB (82) không thực hiện. Khi
điều kiện thực hiện ngõ vào là ON lệnh MOVB (82) chép nội dung đã định của Bit S
cho bit đã định trong D. Bit trong S và D được xác định bởi BI hai số bên phải bit chỉ
định Bit nguồn và hai số bên trái bit chỉ định Bit đích.
Minh hoạ
BI
1
2
0
1
Bit nguồn S (00 tới 15): ở đây là bit số 01
Bit đích D (00 tới 15): ở đây là bit số 12
BI
S
Bit
Bit
15
00
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
Bit
Bit
15
00
0
1
0
1
0
1
0
0
0
1
1
1
0
0
0
1
72
SVTH: Leâ Hạ Thiên Tường
D
6.5.6
Bit
Bit
15
00
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
Lệnh XFRB (--)
Kí hiệu hình thang
Những bit nguồn phải cùng vùng dữ liệu.
DM6144 tới DM6655 không dùng cho D
Khi thực hiện ngõ vào là OFF, lệnh XFRB (--) không thực hiện. Khi thực hiện
ngõ vào là ONN lệnh XFRB (--) chép những bit nguồn đã định của Bit S thành những
bit đích đã định trong D. Hai số bên phải của C xác định bit bắt đầu trong S và D hai số
bên trái xác định số bit sẽ được chép.
C
MSB
LSB
bit đầu tiên trong S (từ 0 đến F)
bit đầu tiên trong D (từ 0 đến F)
số lượng bit được chép (từ 00 đến FF)
Ví dụ: Trong ví dụ sau, lệnh XFRB (--) được dùng để truyền 5 bit từ IR020 và
IR021 cho LR00 và LR01. Bit bắt đầu trong IR020 là D (số13) và Bit bắt đầu trong
LR00 là E (số 14), vì thế tới IR0210 được chép từ LR0014 tới LR0102.
Lược đồ hình thang
73
SVTH: Lê Hạ Thiên Tường
Chương trình của hình thang
Địa chỉ
Lệnh
Tốn tử
0000
LD
00001
0001
XFRB (--)
#05ED
020
00
Minh họa
Bit
15
S+1:021
Bit
00
101010000000010
Bit
15
S:020
Bit
00
111010000010100
D+1:LR01
111000010011110
1
D:LR00
11000100101000 0
6.6
LỆNH DỊCH
6.6.1 Lệnh SFT (10) – Shift Register
Kí hiệu hình thang
St: làword bắt đầu: IR, SR, AR, HR, LR
E: word cuối: IR, SR, AR, HR, LR
74
SVTH: Lê Hạ Thiên Tường
E phải lớn hơn St, E và St phải cùng vùng dữ liệu
Lệnh SFT (10) được điều khiển bởi 3 điều kiện thực hiện I, R và R. SFT (10)
thực hiện khi điều kiện cho P là ON trước đó là OFF và R là OFF. Khi đó điều kiện thực
hiện I được dịch vào bit bên phải của một thanh ghi dịch đã định nằm trong St là E. nếu
I là ON thì [1] được dịch vào trong thanh ghi, nếu I là OFF thì [0] được dịch vào. Khi I
được dịch vào trong thanh ghi tất cả các bit trước trong thanh ghi sẽ được dịch sang trái
và bit cuối cùng bên trái của thanh ghi sẽ bị mất đi.
Nếu điều kiện thực hiện P không thay đổi (hoặc On hoặc OFF) hay chuyển từ
ON sang OFF thì thanh ghi dịch sẽ không ảnh hưởng.
Nếu điều kiện thực hiện R là ON tất cả các bit trong thanh ghi dịch sẽ Reset và
thanh ghi dịch sẽ không thực hiện cho đến khi R được OFF trở lại.
Minh họa lúc thanh ghi dịch thực hiện:
St
St+1, St+2 …
E
Ví dụ: Ví dụ sau dùng xung clock 1 giây (Bit SR25502) cho ngõ vào Pp để dịch
dữ liệu từ ngõ vào I cho IR010 để bật ON khi bit OUT 10000 khi bit IR01007 là 1
thơng qua bit điều khiển IR00000
Kí hiệu hình thang
Chương trình được thực hiện như sau:
75
SVTH: Lê Hạ Thiên Tường
Địa chỉ
Lệnh
tốn tử
00000
LD
00000
00001
LD
25502
00002
LD
00001
00003
SFT (10)
010
010
00004
LD
01007
00005
OUT
10000
6.6.2 Lệnh WSFT (16) – Word Shift
Kí hiệu hình thang
St: làword bắt đầu: IR, SR, AR, DM, HR, LR
E: word cuối: IR, SR, AR, DM, HR, LR
E phải lớn hơn St, E và St phải cùng vùng dữ liệu
DM6144 tới DM6655 không được dùng cho St và E
Khi điều kiện thực hiện ngõ vào là OFF, lệnh WSFT (16) không thực hiện. Khi
điều kiện thực hiện ngõ vào là ON, lệnh WSFT (16) dịch dữ liệu trong từng word giữa
St và E trong khối word.
Minh họa
St + 2
F
0
C
2
3
E
3
4
4
5
St + 1
6
7
St + 2
5
6
7
8
9
8
9
St
A
1
0
St + 1
A
1
0
2
2
9
0
0
St
9
0
0
6.6.3 Lệnh ASL (25) – Arthmetk Shift Left
Kí hiệu hình thang
Wd : word dịch (Shift word):IR,SR,AR,DM,HR,LR
76
SVTH: Lê Hạ Thiên Tường
DM6144 tới 6655 không sử dụng cho Wd
Khi điều kiện thực hiện ngõ vào là OFF, ASL (25) không thực hiện. Khi điều
kiện thực hiện ngõ vào là ON, ASL (25) dịch số 0 vào cho bit 15 của Wd và từng bit
một trong Wd được dịch sang phải
15
00
6.6.4 Lệnh ROL (27) – Rotate Left
Kí hiệu hình thang
Wd : word xoay (Shift word):IR,SR,AR,DM,HR,LR
DM6144 tới 6655 không sử dụng
Khi điều kiện thực hiện ngõ vào là OFF, ROL (27) không thực hiện. Khi điều kiện
thực hiện ngõ vào là ON, ROL (27) dịch tất cả từng bit một của Wd sang trái. Bit
được dịch vào 00 cho Wd và Bit thứ 15 của Wd được dịch cho ……..
CY
15
00
6.6.5 Lệnh ROR (28) – Rotate Right
Kí hiệu hình thang
Wd : word dịch (Rotate word):IR,SR,AR,DM,HR,LR
DM6144 tới 6655 không dùng.
Khi điều kiện thực hiện ngõ vào là OFF, ROR (28) không thực hiện. Khi điều
kiện thực hiện ngõ vào là ON, ROR (28) dịch tất cả từng bit một của Wd sang phải. Bit
……..được dịch vào 15 của Wd được dịch cho ……..
15
00
Cờ EQ : ON [1] khi nội dung của Wd là zero; trường hợp khác EQ ở trạng thái
OFF [0].
6.6.6 Lệnh SLD (74) – One Digit Shift Left
77
SVTH: Lê Hạ Thiên Tường
Kí hiệu hình thang
St : word bắt đầu: IR, SR, AR, DM, HR, LR
E : word cuối: IR, SR, AR, DM, HR, LR
St và E phải cùng một vùng dữ liệu, E phải lớn hơn St
DM6144 tới 6655 không được dùng cho St hay E
Khi điều kiện thực hiện ngõ vào là OFF, SLD (74) không thực hiện. Khi điều kiện
thực hiện ngõ vào là ON, SLD (74) dịch dữ liệu giữa St và E một số 4 bit sang trái. Số 0
được ghi vào số bên phải của St thì nội dung của số bên trái E bị mất.
E
St
6.6.7 Lệnh SRD (75) – ONE DIGIT SHIFT RIGHT
Kí hiệu hình thang
St : word bắt đầu: IR, SR, AR, DM, HR, LR
E : word cuối: IR, SR, AR, DM, HR, LR
St và E phải cùng một vùng dữ liệu, E phải lớn hơn St
DM6144 tới 6655 không được dùng cho St hay E
Khi điều kiện thực hiện ngõ vào là OFF, SRD (75) không thực hiện. Khi điều
kiện thực hiện ngõ vào là ON, SRD (75) dịch dữ liệu giữa St và E một số 4 bit sang
phải. Số 0 được ghi vào số bên trái của St thì nội dung của số bên phải E bị mất.
St
78
SVTH: Lê Hạ Thiên Tường
St
6.6.8 Lệnh SFTR (84) – REVERSIBLE SHIFT REGISTER
Kí hiệu hình thang
C: word điều khiển (Control word): IR,SR,AR,DM,HR,LR
St : word bắt đầu(Starting word): IR,SR, AR,DM, HR,LR
E : word cuối(End word): IR, SR, AR, DM, HR, LR
St và E phải cùng một vùng dữ liệu
St phải nhỏ hơn hay bằng E
DM6144 tới 6655 không được dùng cho St hay E
SFTR(84) dùng để tạo thanh ghi dịch một hay nhiều word mà có thể dịch dữ liệu
theo cả hai chiều là dịch trái hay dịch phải để tạo một thanh ghi một word tức là xác
định St và E cùng word. Word điều khiển C cho biết hướng dịch, trạng thái nhập vào
thanh ghi, xung dịch và ngõ vào reset- word điều khiển được định vị như sau:
15
14
13
12
Không dùng
Dữ liệu trong thanh ghi dịch sẽ được dịch một Bit theo hướng đã định bởi Bit thứ
12 một Bit dịch xuất cho và trạng thái của bit thứ 13 được chuyển cho Bit cuối cùng
khác mỗi khi SFTR(84) được thực hiện với điều kiện thực hiện ON Bit Reset thì OFF
và Bit 14 thì ON.
79
SVTH: Lê Hạ Thiên Tường