Tải bản đầy đủ (.pdf) (63 trang)

Bộ lệnh và chương trình ứng dụng của OMRON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 63 trang )

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


×