[22] PLC 기초 강좌
4.4. 응용 명령
4.4.3. 시프트 명령
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)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터만큼 시프트 합니다.
※ TIP !!!
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점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다.
※ TIP !!!
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점의 범위가 해당 디바이스를 초과할 경우 연산 에러가 됩니다.
※ TIP !!!
DSFL(P)는 워드 DATA LOGGING 조작용 프로그램에서 사용합니다.
프로그램 예제
'MELSEC PLC 기초 강좌' 카테고리의 다른 글
[24] PLC 기초 강좌 (0) | 2019.03.16 |
---|---|
[23] PLC 기초 강좌 (0) | 2019.03.09 |
[21] PLC 기초 강좌 (0) | 2019.02.24 |
[20] PLC 기초 강좌 (0) | 2019.02.20 |
[19] PLC 기초 강좌 (0) | 2019.02.14 |
댓글