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 toá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
• 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 nó.
Ký hiệu hình thang:
Vùng dữ liệu toá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ó
SVTH: Lê Hạ Thiên Tường
55
B
B
B: Bit
IR, SR, AR, HR, TC, TV
B
B: Bit
IR, SR, AR, HR, TC, TR
B: Bit
IR,SR,AR,HR,TC,LR
Ký hiệu hình thang:
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 toá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ụ:
SVTH: Lê Hạ Thiên Tường
56
B
B: Bit
IR, SR, AR, HR, TC, TR
B: Bit
IR, SR, AR, HR, TC, TR
01000
00000
00002
00001
00003
B
B
OR
ORNOT
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
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:
Đòa chỉ Lệnh Dữ liệu
00000 LD 00000
00001 AND 00002
00002 LD 00001
00003 ANDNOT 00003
00004 ORLD -------
00005 OUT 01000
6.2 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:
SVTH: Lê Hạ Thiên Tường
57
00000
00002
00001
00003
01000
B
B
OUT
OUTNOT
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à ngợc lại.
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 toá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 toán tử:
SVTH: Lê Hạ Thiên Tường
58
B: Bit
IR, SR, AR, HR, TC, TR
SET B
RESET B
B: Bit
IR, SR, AR, HR, TC, TR
S
KEEP (11)
B
R
B: Bit
IR, SR, AR, HR, TC, TR
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
• Đ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.
SVTH: Lê Hạ Thiên Tường
59
DIFU (13) B
DIFD (14) B
B: Bit
IR, SR, AR, HR, TC, TR
Ví dụ :
Cho sơ đồ hình thang
Viết chương trình cho sơ đồ hình thang trên
Đò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à
SVTH: Lê Hạ Thiên Tường
60
DIFU (13)
10014
DIFU (13)
10014
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
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 toà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 sû 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
SVTH: Lê Hạ Thiên Tường
61
JMP (04) N
JME (05) N
JMP(04) 01
00000
Lệnh 1
00001
Lệnh 2
00002
JME(05) 01
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 00002
00005 Lệnh 2
00006 JMP(05) 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.
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 toá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
SVTH: Lê Hạ Thiên Tường
62
STEP (08) B
SNXT (09) B
đ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
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
SVTH: Lê Hạ Thiên Tường
63
TIM N
SV
Điều kiện thực
hiện ngõ vào
Cờ hoàn thành
SV
SV
ON
OFF
ON
OFF
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ờ hoà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
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.
SVTH: Lê Hạ Thiên Tường
64
CNT N
SV
CNTR (12)
N
SV
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
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.
SVTH: Lê Hạ Thiên Tường
65
TIMH (15)
SV
PRV (62)
P
C
D
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ạ
Cờ EQ : ON khi số zero được chuyển cho D
SVTH: Lê Hạ Thiên Tường
66
MOV (21)
S
D
Word nguồn Word đích
Trạng thái Bit
không thay đổi
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 Toá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
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
SVTH: Lê Hạ Thiên Tường
67
MOV (21)
001
HR05
00000
MVN (22)
S
- D
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ạ
SVTH: Lê Hạ Thiên Tường
68
BSET (71)
S
St
E
S3456 St3452
St +13452
S +23452
E3452
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
SB
S
: 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 SB
S
cộng với nội dung của Of. SB
S
và SB
S
+
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
SVTH: Lê Hạ Thiên Tường
69
Coll (81)
SB
S
C
D
Coll (81)
DM0000
010
001
00001
Viết chương trình cho sơ đồ hình thang
Đòa chỉ Lệnh Toán tử
0000 LD
0001 Coll (81)
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 SB
S
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 BS
S
+1
(ngăn xếp đầu tiên cho word đích D. Nội dung của ngăn xếp con trỏ SB
S
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 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:
SVTH: Lê Hạ Thiên Tường
70
0100005 DM00000000 00100F
DM000500FF
Coll (81)
DM0000
216
001
00000
Chương trình của hình thang
Đòa chỉ Lệnh Toán tử
0000 LD 00000
0001 Coll (81) DM0000
216
001
IR 216 9005
DM0000 005 DM0000 00004 IR001 AAAA
DM0001 AAAA DM0001 AAAA
DM0002 BBBB DM0002 BBBB
DM0003 CCCC DM0003 CCCC
DM0004 DDDD DM0004 DDDD
DM0005 EEEE DM0005 EEEE
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 SB
S
là
ngăn xếp con trỏ.
SVTH: Lê Hạ Thiên Tường
71
Ngăn xếp con trỏ
giảm
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 BS
S
+
nội dung của SB
S
cho word đích D. Nội dung của ngăn xếp con trỏ SB
S
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 Toán tử
0000 LD 00000
0001 Coll (81) DM0000
216
001
IR 216 8005
DM0000 0005 DM0000 00004 IR001 EEEE
DM0001 AAAA DM0001 AAAA
DM0002 BBBB DM0002 BBBB
DM0003 CCCC DM0003 CCCC
SVTH: Lê Hạ Thiên Tường
72
Coll (81)
DM0000
216
001
00000
Ngăn xếp con trỏ
giảm
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 B
I
phải ở trong khoảng từ 00 tới 15.
DM6144 tới DM665 không được dùng cho B
I
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 B
I
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ạ
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
Bit Bit
15 00
B
I
0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1
Bit Bit
15 00
S 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
SVTH: Lê Hạ Thiên Tường
73
B
I
1201
MOVB (82)
S
B
D
S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, #
B
I
: bit chỉ đònh: IR, SR, AR, DM, HR, TC, LR, #
D: word bắt đầu: IR, SR, AR, DM, HR, TC, LR, #
Bit Bit
15 00
D 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1
6.5.6 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.
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
SVTH: Lê Hạ Thiên Tường
74
CMSBLSB
XFRB (--)
#05ED
IR020
LR00
00000
XFRB (--)
C
B
D
C: Word nguồn : IR, SR, AR, DM, HR, TC, LR, #
B
I
: bit chỉ đònh (BCD): IR, SR, AR, DM, HR, TC, LR, #
D: word đích đầu tiên: IR, SR, AR, DM, HR, TC, LR
Chương trình của hình thang
Đòa chỉ Lệnh Toán tử
0000 LD 00001
0001 XFRB (--) #05ED
020
00
Minh họa
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
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.
SVTH: Lê Hạ Thiên Tường
75
BitS+1:021Bit15001 0 1 0 1 0 0
0 0 0 0 0 0 1 0
BitS:020Bit15001 1 1 0 1 0 0 0
0 0 1 0 1 0 0
D+1:LR011 1 1 0 0 0 0 1 0 0 1
1 1 1 0 1
D:LR001 1 0 0 0 1 0 0 1 0 1 0 0
0 0
SFT (10)
St
E
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:
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:
Đòa chỉ Lệnh toá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
SVTH: Lê Hạ Thiên Tường
76
E St+1, St+2 … St
WSFT (16)
St
E
SFT (10)
St
E
00000
10000
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 St + 1 St
F 0 C 2 3 4 5 6 7 8 9 A 1 0 2 9
E St + 2 St + 1 St
3 4 5 6 7 8 9 A 1 0 2 9 0 0 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
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
SVTH: Lê Hạ Thiên Tường
77
vào
ASL (25)
Wd
ROL (27)
Wd
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
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.
SVTH: Lê Hạ Thiên Tường
78
ROR (28)
Wd
SLD (74)
St
E
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.
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
SVTH: Lê Hạ Thiên Tường
79
SRD (75)
St
E
dữ liệu mất
E St
0
St St
dữ liệu mất
0
SFTR(84)
C
St
E