Các lệnh dịch chuyển (dời) và quay (rotate)

Một phần của tài liệu CHƯƠNG 1 GIỚI THIỆU PLC SIMATIC s7 200 và tập LỆNH (Trang 47 - 53)

L A D

SHR_B EN ENO IN OUT N

SHL_B EN ENO IN OUT N

STL

SRB OUT.N SLB OUT.N

b. Dời trái và dời phải kiểu từ

- Lệnh thực hiện việc dời trái hay dời phải các bit của từ IN với số lần thực hiện là N. Kết qủa ghi vào từ OUT.

- Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngoài. Nếu số lần dời lớn hơn hay bằng 16 thì giá trị byte IN sẽ được dời tối đa là 16 lần.

- Toán hạng :

-Lệnh thực hiện việc dời trái hay dời phải các bit của byte IN với số lần thực hiện là N. Kết quả ghi vào byte OUT.

-Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngòai. Nếu số lần dời lớn hơn hay bằng 8 thì giá trị byte IN sẽ được dời tối đa là 8 lần.

-Toán hạng :

IN,OUT:VB,IB,QB,MB,SMB,LB,AC,

*VD,*AC,*LD

N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,

*LD,const

IN:VW,IW,QW,MW,SMW.LW,T,C,AIW,AC, *VD,*AC,*LD,const OUT: VW,IW,QW,MW,SMW.LW,AC, *VD,*AC,*LD

N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,*LD,const c. Dời trái và dời phải kiểu từ ghép

L A D

SHR_DW ENO IN OUT N

SHL_DW EN ENO IN OUT N

STL

SRD OUT.N SLD OUT.N

-Lệnh thực hiện việc dời trái hay dời phải các bit của từ kép IN với số lần thực hiện là N.Kết quả ghi vào từ kép OUT.

-Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngòai. Nếu số lần dời lớn hơn hay bằng 32 thì giá trị byte IN sẽ được dời tối đa là 32 lần.

-Toán hạng :

IN:VD,ID,QD,MD,SMD,LD,AC,HC,

*VD,*AC,*LD,const.

OUT:VD,ID,QD,MD,SMD,SD,LD,AC,

*VD,*AC,*LD

N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,

*LD,const

d. Quay phải và quay trái kiểu byte

L A D

ROR_B EN ENO IN OUT N

ROL_B EN ENO IN OUT N

STL

RRB OUT.N

RLB OUT.N

-Lệnh thực hiện việc quay trái hay quay phải các bit của byte IN với số lần thực hiện là N.Kết qủa ghi vào byte OUT.

-Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi.

-Khi việc quay thực thi, giá trị của bit thấp (bit 0) được ghi vào bit báo tràn(SM1.1)

-Việc quay phải hay trái kiểu bit vận hành không dấu.

-Toán hạng:

IN:VB,IB,QB,MB,SMB,LB,AC,*VD,

*AC,*LD

OUT:VB,IB,QB,MB,SMB,LB,AC,*VD,*A C,*LD,const

e. Quay phải và quay trái kiểu từ

L A D

ROR_W EN ENO IN OUT N

ROL_W EN ENO IN OUT N

STL

RRW OUT.N RLW OUT.N

-Lệnh thực hiện việc quay trái hay quay phải các bit của từ IN với số lần thực hiện là N.Kết qủa ghi vào byte OUT.

-Nếu số lần quay lớn hơn hay bằng 16 thì có sự vận hành theo modul 16 (modulo-16 operation) trước khi việc quay được thực thi.

-Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi.

-Khi việc quay thực thi, giá trị của bit thấp (bit 0)được ghi vào bit báo tràn(SM1.1).

-Việc quay phải và quay trái kiểu từ vận hành không dấu.

-Toán hạng :

IN:VW,T,C,IW,QW,MW,SMW,LW,AIW, SW,*VD,*AC,*LD,const

OUT:VW,T,C,IW,QW,MW,SMW,SW,LW ,AC,*VD,*AC,*LD

N:VB,IB,QB,MB,SMB,LB,AC,SB,*VD,*

AC,*LD,const

f. Quay phải và quay trái kiểu từ ghép

L A D

ROR_DW EN ENO IN OUT N

ROL_DW EN ENO IN OUT N

STL

RRD OUT.N

RLD OUT.N

g. Thanh ghi dũch chuyeồn bit(Shift Regester Bit-SHRB)

- Thanh ghi dịch chuyển cung cấp một phương pháp dễ dàng trong việc tạo ra dòng hay dữ liệu điều khiển và tuần tự. Ta sử dụng lệnh thanh ghi dịch chuyển bit để dịch chuyển toàn bộ thanh ghi đi 1 bit trong mỗi vòng quét.

- Lệnh thanh ghi dịch chuyển bit được định nghĩa bởi bit có trọng số thấp nhất (S_BIT) và chiều dài của bit (N). Địa chỉ của bit có trọng số cao nhất có thể được tính baống phửụng trỡnh:

-Lệnh thực hiện việc quay trái hay quay phải các bit của từ kép IN với số lần thực hiện là N. Kết qủa ghi vào từ kép OUT.

-Nếu số lần quay lớn hơn hay bằng 32 thì có sự vận hành theo modul 32 (modulo-32 operation) trước khi việc quay được thực thi.

-Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi.

-Khi việc quay thực thi, giá trị của bit thấp (bit 0)được ghi vào bit báo tràn(SM1.1)

-Việc quay phải hay trái kiểu bit vận hành không dấu.

-Toán hạng :

IN:VD,ID,QD,MD,SMD,LD,SD,*VD,*AC,*LD,const OUT:VD,ID,QD,MD,SMD,SD,LD,AC,*VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,SB,*VD,*AC,*LD,con st

MSB.b = {(Byte cuỷa S_BIT) + ({N} – 1 + (bit cuỷa S_BIT))/8}. {Soỏ dử cuỷa pheựp chia cho 8}

Ví dụ: Nếu S_BIT là V33.4, N là MSB.b là:

MSB.b = V33 + ({14} – 1 + 4)/8 = V33 + 17/8

= {V33 + 2}. {số dư là 1}

= V35.1

- Ở việc dời đại lượng dương được chỉ định bởi giá trị dương của chiều dài N thì DATA được dời vào bit có trọng số thấp nhất (đươc chỉ rõ bởi S_BIT) và bit có trọng số cao nhất được đẩy ra bit nhớ tràn (SM1.1)

- Ở việc dời đại lượng âm được chỉ định bởi giá trị âm của chiều dài N thì DATA được dời vào bit có trọng số cao nhất (được chỉ rõ bởi S_BIT) và bit có trọng số thấp nhất được đẩy ra bit nhớ tràn (SM1.1)

L A D

SHRB EN ENO

DATA

S_BIT

N

ST

L SHRB DATA.S_BIT.N

Chiều dài tối đa của thanh ghi dịch chuyển bit là 64 bit (âm hoặc dương)

- Lệnh thực hiện việc dời giá trị của DATA vào thanh ghi dịch chuyển (Shift Registe), với:

S_BIT là bit có trọng số thấp nhất của thanh ghi dũch chuyeồn.

N là độ dài của thanh ghi dịch chuyển và dấu của N chỉ hướng.

- Mỗi bit được dời ra sẽ được đặt vào trong bit nhớ tràn (SM1.1)

-Toán hạng:

DATA.S_BIT:I, Q, M, SM, T, C, V, S, L

N:VB, IB, QB, MB, SMB, LB, AC, *VD, *AC, SB, *LD, constant.

Một phần của tài liệu CHƯƠNG 1 GIỚI THIỆU PLC SIMATIC s7 200 và tập LỆNH (Trang 47 - 53)

Tải bản đầy đủ (DOC)

(61 trang)
w