[15] PLC 기초 강좌
4. 명령어
4.3. 기본 명령
4.3.2. 산술 연산 명령
3) BIN 16비트 승제산 ★ (*(P), /(P)) 명령
▶ [*(P) (S1) (S2) (D)]
(S1)로 지정된 BIN 16비트 데이터와 (S2)로 지정된 BIN 16비트 데이터를 승산 하여, (D)로 지정
된 디바이스에 저장합니다.
(D)가 비트 디바이스인 경우에는 하위 비트부터 지정됩니다.
(S1), (S2)에는 –32768~32767(BIN 16비트)를 지정할 수 있습니다.
(S1), (S2), (D)의 데이터의 플러스 및 마이너스 판정은 최상위 비트((S1), (S2)는 b15, (D)는 b31) 로
합니다.
ᆞ0…플러스 ; ᆞ1…마이너스
▶ [/(P) (S1) (S2) (D)]
(S1)로 지정된 BIN 16비트 데이터와 (S2)로 지정된 BIN 16비트 데이터를 제산하여, (D)로 지정
된 디바이스에 저장합니다.
제산 결과는 워드 디바이스의 경우 32비트를 사용하여 몫과 나머지를 저장하고, 비트 디바이스의
경우 16비트를 사용하여 몫만 저장됩니다.
몫………… 하위 16비트에 저장됩니다.
나머지…… 상위 16비트에 저장됩니다(워드 디바이스의 경우에만 저장할 수 있습니다.)
(S1), (S2)에는 –32768~32767(BIN 16비트)를 지정할 수 있습니다.
(S1), (S2), (D)의 데이터의 플러스 및 마이너스 판정은 최상위 비트((S1), (S2)는 b15, (D)는 b31) 로
합니다.
ᆞ0…플러스 ; ᆞ1…마이너스
나누는 수 (S2)가 0일 때.(에러 코드: 4100) 연산 에러가 되고 에러 플래그(SM0)가 ON하며,
에러 코드가 SD0에 저장됩니다.
4) BIN 32비트 승제산 ★ (D*(P), D/(P)) 명령
▶ [D*(P) (S1) (S2) (D)]
(S1)로 지정된 BIN 32비트 데이터와 (S2)로 지정된 BIN 32비트 데이터를 승산 하여, (D)로 지정
된 디바이스에 저장합니다.
(D)가 비트 디바이스인 경우에는 승산 결과의 하위 32비트까지가 대상으로 되며, 상위 32비트를
지정할 수는 없습니다.
비트 디바이스에서 승산 결과인 상위 32비트 데이터가 필요한 경우에는, 먼저, 워드 디바이스에
데이터를 저장해 두고, 워드 디바이스의 ((D)+2), ((D)+3)의 데이터를 지정 비트 디바이스에
전송하십시오.
(S1), (S2)에는 –2147483648~2147483647 (BIN32비트)를 지정할 수 있습니다.
(S1), (S2), (D)의 데이터의 플러스 및 마이너스 판정은 최상위 비트((S1), (S2)는 b31, (D)는 b63) 로
합니다.
ᆞ0…플러스 ; ᆞ1…마이너스
▶ [D/(P) (S1) (S2) (D)]
(S1)로 지정된 BIN 32비트 데이터와 (S2)로 지정된 BIN 32비트 데이터를 제산하여, (D)로 지정
된 디바이스에 저장합니다.
제산 결과는 워드 디바이스의 경우 64비트를 사용하여 몫과 나머지를 저장하고, 비트 디바이스의 경우
32비트를 사용하여 몫만 저장됩니다.
몫………… 하위 32비트에 저장됩니다.
나머지…… 상위 32비트에 저장됩니다(워드 디바이스의 경우에만 저장할 수 있습니다.)
(S1), (S2)에는 –2147483648~2147483647 (BIN32비트)를 지정할 수 있습니다.
(S1), (S2), (D)의 데이터의 플러스 및 마이너스 판정은 최상위 비트((S1), (S2)는 b31, (D)는 b63) 로
합니다.
ᆞ0…플러스 ; ᆞ1…마이너스
나누는 수 (S2)가 0일 때.(에러 코드: 4100) 연산 에러가 되고 에러 플래그(SM0)가 ON하며,
에러 코드가 SD0에 저장됩니다.
5) BCD 4자리 가감산(B+(P). B-(P)) 명령
▶ [B+(P) (S) (D)]
(D)로 지정된 BCD 4자리 데이터와 (S)로 지정된 BCD 4자리 데이터를 가산하여, 가산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S), (D)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산 에러가
됩니다.
가산 결과가 9999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
▶ [B-(P) (S) (D)]
(D)로 지정된 BCD 4자리 데이터와 (S)로 지정된 BCD 4자리 데이터를 감산하여, 감산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S), (D)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산 에러가
됩니다.
감산 결과가 9999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
▶ [B+(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 4자리 데이터와 (S2)로 지정된 BCD 4자리 데이터를 가산하여, 가산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S1), (S2), (D)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산
에러가 됩니다. 가산 결과가 9999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는
ON하지 않습니다.
▶ [B-(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 4자리 데이터와 (S2)로 지정된 BCD 4자리 데이터를 감산하여, 감산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S1), (S2), (D)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산
에러가 됩니다. 감산 결과가 9999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는
ON하지 않습니다.
6) BCD 8자리 가감산(DB+(P). DB-(P)) 명령
▶ [DB+(P) (S) (D)]
(D)로 지정된 BCD 8자리 데이터와 (S)로 지정된 BCD 8자리 데이터를 가산하여, 가산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S), (D)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일 때
연산 에러가 됩니다.
가산 결과가 99999999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
▶ [DB-(P) (S) (D)]
(D)로 지정된 BCD 8자리 데이터와 (S)로 지정된 BCD 8자리 데이터를 감산하여, 감산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S), (D)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일 때
연산 에러가 됩니다.
감산 결과가 99999999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
▶ [DB+(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 8자리 데이터와 (S2)로 지정된 BCD 8자리 데이터를 가산하여, 가산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S1), (S2), (D)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일
때 연산 에러가 됩니다.
가산 결과가 99999999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
▶ [DB-(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 8자리 데이터와 (S2)로 지정된 BCD 8자리 데이터를 감산하여, 감산 결과를 (D)로
지정된 디바이스에 저장합니다.
(S1), (S2), (D)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일
때 연산 에러가 됩니다.
감산 결과가 99999999를 초과한 경우의 자리 올림은 무시됩니다. 이 경우, 캐리 플래그는 ON하지
않습니다.
7) BCD 4자리 승제산(B*(P), B/(P)) 명령
▶ [B*(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 데이터와 (S2)로 지정된 BCD 데이터를 승산하여, (D)로 지정 된 디바이스에
저장합니다.
(S1), (S2)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산
에러가 됩니다.
▶ [B/(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 데이터와 (S2)로 지정된 BCD 데이터를 제산하여, (D)로 지정 된 디바이스에
저장합니다.
(S1), (S2)에는 0~9999(BCD 4자리)를 지정할 수 있습니다. BCD 데이터가 0~9999 이외일 때 연산
에러가 됩니다.
제산 결과는 32비트를 사용하여 몫과 나머지를 저장됩니다.
몫(BCD 4자리)………… 하위 16비트에 저장됩니다.
나머지(BCD 4자리)…… 상위 16비트에 저장됩니다.
(D)를 비트 디바이스로 지정한 경우, 제산 결과의 나머지는 저장되지 않습니다.
나누는 수 (S2)가 0일 때.(에러 코드: 4100) 연산 에러가 됩니다.
8) BCD 8자리 승제산(DB*(P), DB/(P)) 명령
▶ [DB*(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 데이터와 (S2)로 지정된 BCD 데이터를 승산하여, (D)로 지정 된 디바이스에
저장합니다.
(S1), (S2)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일 때
연산 에러가 됩니다.
▶ [DB/(P) (S1) (S2) (D)]
(S1)로 지정된 BCD 데이터와 (S2)로 지정된 BCD 데이터를 제산하여, (D)로 지정 된 디바이스에
저장합니다.
(S1), (S2)에는 0~99999999(BCD 8자리)를 지정할 수 있습니다. BCD 데이터가 0~99999999 이외일 때
연산 에러가 됩니다.
제산 결과는 64비트를 사용하여 몫과 나머지를 저장됩니다.
몫(BCD 8자리)………… 하위 32비트에 저장됩니다.
나머지(BCD 8자리)…… 상위 32비트에 저장됩니다.
(D)를 비트 디바이스로 지정한 경우, 제산 결과의 나머지는 저장되지 않습니다.
나누는 수 (S2)가 0일 때.(에러 코드: 4100) 연산 에러가 됩니다.
프로그램 예제
'MELSEC PLC 기초 강좌' 카테고리의 다른 글
[17] PLC 기초 강좌 (0) | 2019.02.06 |
---|---|
[16] PLC 기초 강좌 (0) | 2019.01.25 |
[14] PLC 기초 강좌 (0) | 2019.01.15 |
[13] PLC 기초 강좌 (0) | 2019.01.13 |
[12] PLC 기초 강좌 (0) | 2019.01.09 |
댓글