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ỉ địnhtheo đ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..
Trang 1CHƯƠ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ệnKý 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 đứngtrướ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ó
Trang 2Ký 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áisong 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
Trang 3Viết chương trình cho sơ đồ hình thang trên:
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 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:
Trang 4Vù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ỉ địnhtheo đ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
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ử:
B: Bit
IR, SR, AR, HR, TC, TR
Trang 5Lệnh KEEP (11) dùng để duy trì trạng thái bit đã định theo hai điều kiện thựchiệ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 chukỳ
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ệntrướ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ệnthự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à OFFthì 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à ONbấ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
DIFU (13) B
DIFD (14) B
B: Bit
IR, SR, AR, HR, TC, TR
Trang 6Ví dụ :
Cho sơ đồ hình thang
Viết chương trình cho sơ đồ hình thang trên
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à
DIFU (13)10014DIFU (13)10014
Trang 7tất cả các giá trị hiện tại của TIMER ở trong IL (02) và ILC (03) được OFF hayReset Một số lệnh khác thì không hoạt động Giá trị hiện tại của COUNTER đượcduy 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 địnhnghĩa là điểm mà tại đó lệnh nhảy được tạo JME (05) được định nghĩa là điểm đíchcủ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ảykhô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ềukiệ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 đếnJME(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 chomộ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ềukhiể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)
Lệnh 100001
Lệnh 200002
Trang 8Viết chương trình ccho sơ đồ hình thang trê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ểmdừ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ựchiệ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ềukhiển trong vùng IR hay HR … để định nghĩa cho phần bắt đầu của đầu chương trìnhgọ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
STEP (08) BSNXT (09) B
Trang 9đ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ủaSNXT (09) (có dùng bit điều khiển B trong STEP (08) là ON Thì bước sẽ được thựchiệ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ếpdiễ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ềukhiể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ủaSNXT(09) kế hay bit điều khiển cho bước được Reset Khi bước được hoàn thành tấtcả những bit của IR và HR trong bước được bật trở về OFF và tất cả các Timer trongbước được Reset về giá trị đặt của nó Các Counter, thanh ghi dịch những bit dùngKEEP 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 ONvà nó được Reset về giá trị đặt khi điều kiện thực hiện chuyển sang OFF Nếu điềukiệ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 đếnkhi 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
TIM NSV
Điều kiện thực
hiện ngõ vào
ONOFF
Trang 106.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 đếmchuyển từ trạng thái OFF sang ON, giá trị hiện tại (PV) sẽ được giảm xuống bằngmột lần CNT thực hiện một xung đếm CP từ OFF sang ON Nếu điều kiện xung đếmthay đổ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 Resettrong 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àogiảm DI
CNT N
SV
CNTR (12)N
SV
Trang 11Giá 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ànthà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ănglên tới SV thì giá trị PV được đặt về 0 và cờ hoàn thành được bật sang ON cho đếnkhi 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ủaTIMH (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
TIMH (15)SV
PRV (62)PCD
Trang 12P 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
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
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
MOV (21)SD
Trạng thái Bit không thay đổi
Trang 13Ví 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:
S: là word nguồn : IR, SR, AR, DM, HR, TC, LR, #
D: word đích : IR, SR, AR, DM, HR, TC, LR, #
MOV (21)001HR0500000
MVN (22)S
- D
Trang 14Khi đ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 OFFtrong 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, DM6144tớ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ácword tứ St tới E
Minh hoạ
BSET (71)SStE
St +13452
S +23452
E3452
Trang 15Lệ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ồngvào trước ra trước FIFO (First In First Out) hay kiểu vào sau ra trước (First In LastOut) 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ủaDM100000 + 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
Coll (81)
SBSCD
Coll (81)DM000001000100001
Trang 16Viết chương trình cho sơ đồ hình thang
Địa chỉ Lệnh Toán tử
0001 Coll (81)
0000010001
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ấtdữ 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ỗiword 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
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ủaDM0002 tới DM0005 xuống một địa chỉ và dịch dữ liệu từ DM0001 sang IR001 Nộidung con trỏ ngăn xếp DM0000 sau đó được giảm đi 1
Sơ đồ hình thang:
0100005 DM00000000 00100F
DM000500FF
Coll (81)DM000021600000
Trang 17Chương trình của hình thang
216 001
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ỗiword 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+
Ngăn xếp con trỏ giảm
Trang 18nộ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ủaDM0005 (DM0000 + 5)cho IR 001 Nội dung con trỏ ngăn xếp DM0000 sau đó đượcgiả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
216 001
Ngăn xếp con trỏ giảm
Trang 19Cờ 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
S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, #
BI: bit chỉ định: IR, SR, AR, DM, HR, TC, LR, #D: word bắt đầu: IR, SR, AR, DM, HR, TC, LR, #
Trang 20D 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ệnngõ vào là ONN lệnh XFRB ( ) chép những bit nguồn đã định của Bit S thànhnhữ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
Chương trình của hình thang
CMSBLSB
XFRB ( )
#05EDIR020LR0000000
XFRB ( )
CBD
C: Word nguồn : IR, SR, AR, DM, HR, TC, LR, #
BI: bit chỉ định (BCD): IR, SR, AR, DM, HR, TC, LR, #D: word đích đầu tiên: IR, SR, AR, DM, HR, TC, LR
Trang 21Địa chỉ Lệnh Toán tử
020 00Minh họa
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ệnthự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 Stlà 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ịchvào Khi I được dịch vào trong thanh ghi tất cả các bit trước trong thanh ghi sẽ đượcdị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ẽ Resetvà thanh ghi dịch sẽ không thực hiện cho đến khi R được OFF trở lại
Trang 22Minh 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ử
SFT (10)StE00000
10000
Trang 23E 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ừngword giữa St và E trong khối word
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ềukiệ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 bitmột trong Wd được dịch sang phải
ROL (27)
Wd
Trang 24Khi điều kiện thực hiện ngõ vào là OFF, ROL (27) không thực hiện Khi điềukiệ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 sangtrái Bit được dịch vào 00 cho Wd và Bit thứ 15 của Wd được dịch cho ……
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ềukiệ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 sangtrá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
ROR (28)
Wd
SLD (74)StE
Trang 256.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ềukiệ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 sangphả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
St và E phải cùng một vùng dữ liệu
SRD (75)StE
dữ liệu mất0
SFTR(84)
CStE
Trang 26St 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ậpvào thanh ghi, xung dịch và ngõ vào reset- word điều khiển được định vị như sau:
Dữ liệu trong thanh ghi dịch sẽ được dịch một Bit theo hướng đã định bởi Bitthứ 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ốicù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 Resetthì OFF và Bit 14 thì ON
Nếu SFTR(84) được thực hiện với điều kiện thực hiện là OFF hay nếuSFTR(84) thực hiện với Bit 14 là OFF thanh ghi dịch sẽ duy trì trạng thái không thayđổi Nếu thanh ghi dịch được thực hiện với điều kiện thực hiện là ON và Bit Reset(Bit 15) là OFF thì toàn bộ thanh ghi dịch và cờ CY sẽ được đặt về 0
- : Nhận trạng thái của Bit của hay Bit 15 tuỳ thuộc vào hướng dịch
Ví dụ: trong ví dụ sau: IR00000, IR00001, IR00002, IR00003 được dùng để
điều khiển trạng thái của Bit C trong SFTR(84) thanh ghi dịch DM0010 được điềukhiển thông qua IR00004
Sơ đồ hình thang
15141312Không dùng
Hướng dịch: [1] dịch sang trái (ISB sang MSB)
[0] dịch sang phải (MSB sang ISB)Trạng thái nhập vào thanh ghi
Bit xung dịchReset
03512035130351403515SFTR (84)035DM010DM010
Trang 27Viết chương trình cho sơ đồ hình thang
Địa chỉ Lệnh Dữ liệu
6.6.9 Lệnh ASFT (17) – ASYNCHRONOUS SHIFT
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
E phải lớn hơn hay bằng 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 lệnh ASFT (17) không thực hiện vàchương trình di chuyển đến lệnh kế đó Khi thực hiện ngõ vào là ON lệnh ASFT (17)được dùng để tạo và điều khiển thanh ghi dịch word không đồng bộ hai chiều giữa Stvà E thanh ghi này chỉ dịch word khi word kế đó trong thanh ghi là zero Nếu không
ASFT (17)
C
St
E
Trang 28Hướng dịch được xác định trong C C cũng được dùng để reset thanh ghi tất cảmọi word trong thanh ghi có thể reset được Bằng cách xác định những word mongmuốn trong St và E.
Bit 00 tới 12 của C không dùng: Bit 13 là bit chỉ hướng dịch Bit 13 ON là dịchxuống (về hướng word có địa chỉ thấp) và OFF là dịch lên (về hướng word có địa chỉcao) Bit thứ 14 là cho phép dịch Bit: ON cho phép thanh ghi dịch hoạt động theo Bit
13 và OFF không cho phép thanh ghi dịch Bit thứ 15 là Bit reset (Set về 0) Trongkhoảng từ St tới E khi ASFT (17) hoạt động với Bit 15 ON Bit 15 OFF thì hoạt độngbình thường
Ví dụ: ví dụ mô tả lệnh ASFT (17) dùng dịch những word trong thanh ghi có 11
word được tạo từ DM0100 và DM0110 với C = #6000 = 040 0000 0000 0000 St(DM0100) vì Bit thứ 13 của C là ON
Kí hiệu hình thang
Chương trình cho sơ đồ hình thang
Địa chỉ Lệnh dữ liệu
DM 0100DM0110
ASFT (17)
#6000
DM 0100DM0110
Trang 296.7.3 Lệnh ADD (30) – BCD ADD (Binary Code Decimal)
ADD: cộng nhị phân
Kí hiệu hình thang
Au : Augen word (BCD): IR, SR, AR, DM, HR,LR
Ad : Addend word (BCD): IR, SR, AR, DM, HR,LR
R : result word (word kết quả): IR,SR,AR,DM,HR,LRDM6144 tới DM6655 không được dùngcho R
STC 40
CLC 41
ADD (30)AuAdR
Trang 30Khi điều kiện thực hiện ngõ vào là OFF, lệnh ADD (30) không thực hiện Khiđiều kiện thực hiện ngõ vào là ON, lệnh ADD (30) cộng nội dung của Au, Ag, CYvà đặt kết quả vào trongR Cy sẽ đặt lên 1 nếu kết quả lớn 9999
Cờ CY : ON khi có một carry trong kết quả
Cờ EQ : ON khi kết quả là 0
Ví dụ: trong ví dụ được lập trình (xem hình) nếu 00002 mà ON thì chương trình
sẽ xoá CY với CLC (41) và cộng nội dung IR 030 với hằng số 6103 đặt kết quả vàotrong DM0100 và sau đó di chuyển số 0000 hay 0001 vào DM0101 tuỳ thuộc vaotrạng thái CY (SR25504) Điều này để đảm bào rằng bất kỳ carry nào từ số sau cùngcũng được giữ trong R+1 vì thế toàn bộ kết quả sau cùng được xem như là một dữliệu 8 số
Sơ đồ hình thang
Viết chương trình cho sơ đồ hình thang trên
Địa chỉ Lệnh Dữ liệu
CLC (41)
ADD (30)IR030
#6103
DM 0100
MOV (21)
#0001DM0101
MOV (21)
#0001DM0101
25504
25504TRO
00002
Trang 3100008 MOV (21)
#0000 DM0101
6.7.4 Lệnh SUB (31) ( BCD SUBTRACT) – Trừ BCD:
Ký hiệu hình thang:
SUB (31)Mi
SuRDM6144 đến DM6655 không được dùng cho R
Khi điều kiện thực hiện ngõ vào là OFF, lệnh SUB (31) không thực hiện Khiđiều kiện thực hiện ngõ vào là ON, lệnh SUB (31) trừ nội dung của Su, Cy, từ Mi đặtkết quả vào trong R Nếu kết quả là âm thì CY sẽ đặt lên 1 và bù 10 kết quả thựcđặt trong R Biến đổi bù 10 để kết quả đúng, trừ nội dung của R từ zero
Cờ CY: ON khi có kết quả âm tức là khi Mi nhỏ hơn Su cộng với CY
Mi: word bị trừ: IR,SR,AR,DM,HR,TC,LR,#
Su: word trừ: IR,SR,AR,DM,HR,TC,LR,#
R:word kết quả: IR,SR,AR,DM,HR,TC,LR
Trang 32Cờ EQ: ON khi kết quả là 0.
6.7.5 Lệnh MUL (32) – BCD MULTIPLY (nhân BCD)
Kí hiệu hình thang
Md : Multiolicand (BCD): IR, SR, AR, DM, HR,LR, #
Mr : Multiplier (BCD): IR, SR, AR, DM, HR,LR, #R: First resuit word (word kết quả): IR,SR,AR,DM,HR,LRDM6144 tới DM6655 không được dùng cho R
Khi điều kiện thực hiện ngõ vào là OFF, lệnh MUL (32) không thực hiện Khiđiều kiện thực hiện ngõ vào là ON, lệnh MUL (32) nhân Md với nội dung của Mr vàkết quả đặt ở trong R và R+1
Ví dụ: Xem lược đồ sau: khi IR00000 mà ON thì nội dung của IR 013 và
DM0005 được nhân và kết quả được đặt trong HR07 và HR08 Dữ liệu ví dụ và tínhtoán được trình bày dưới chương trình
Lược đồ hình thang
Chương trình của hình thang
MdMd
x
R + 1R
MUL (32)013DM00006