1) 16비트 데이터의 n비트 오른쪽 시프트, 왼쪽시프트 (SFR(P), SFL(P)

▶[SFR(P)  (D)   n] 

(D)로 지정된 디바이스의 16비트 데이터를 n비트 오른쪽으로 시프트 시킵니다.
시프트 된 n비트는 0이 됩니다. 
(D)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터만큼 시프트 합니다.

▶[SFL(P)   (D)    n] 

(D)로 지정된 디바이스의 16비트 데이터를 n비트 왼쪽으로 시프트 시킵니다. 
시프트 된 n비트는 0이 됩니다. 
(D)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터만큼 시프트합니다.
SFL, SFR은 바이트 단위의 통신 수신데이터를 조작하는 프로그램에서 자주 사용합니다. (8비트 좌/우 시프트)

2) n비트 데이터의 1비트 오른쪽시프트, 왼쪽시프트(BSFR(P), BSFL(P))

▶[BSFR(P)  (D)  n]

(D)로 지정된 디바이스부터 n점의 데이터를 오른쪽으로 시프트 시킵니다.
(D)+(n+1)로 지정된 디바이스는 0으로 됩니다. (D)의 디바이스부터 n점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다.

▶[BSFL(P)  (D)   n] 

(D)로 지정된 디바이스부터 n점의 데이터를 왼쪽으로 시프트 시킵니다. 
(D)로 지정된 디바이스는 0으로 됩니다.
(D)의 디바이스부터 n점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다. 

BSFL(P)는 선두BIT를 SET시키고 STEP 순차 조작용 프로그램에서 자주 사용합니다.

3) n워드 데이터의 1워드 오른쪽시프트, 왼쪽시프트(DSFR(P), DSFL(P))

▶[DSFR(P)   (D)   n]

(D)로 지정된 디바이스부터 n점을 오른쪽으로 1워드 시프트 시킵니다. 
(D)+(n-1)로 지정된 디바이스는 0으로 됩니다.
(D)의 디바이스부터 n점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다.

 

▶[DSFL(P)   (D)   n] 

(D)로 지정된 디바이스부터 n점을 왼쪽으로 1워드 시프트 시킵니다.
(D)로 지정된 디바이스는 0으로 됩니다.
(D)의 디바이스부터 n점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다.

DSFL(P) 워드 DATA LOGGING 조작용 프로그램에서 사용합니다.

'PLC' 카테고리의 다른 글

[22] 데이터 처리 명령  (0) 2020.02.19
[21] 데이터 처리명령  (0) 2020.02.19
아날로그 제어 (D/A)(미완성)  (0) 2020.02.18
[19] 응용명령, 논리연산명령  (0) 2020.02.05
BJT (Bipolar Junction Transistor)란?  (0) 2020.01.28

+ Recent posts