본문 바로가기
PLC/Mitsubishi PLC

미쓰비시 GX-Works3 기초 6 - 수치표현(2진수, 10진수, 16진수)

by 테크플렉스 2023. 10. 19.
반응형

PLC CPU에서는 모든 정보를 ON과 OFF 또는 1과 0의 상태에 따라 기억하여 처리하고 있습니다. 따라서 수치 연산도 이 1과 0으로 처리한 수치, 즉 2진수(Binary Number …바이너리ㆍBIN)로 처리하고 있습니다.
한편, 일반적으로는 10진수가 확인하기 쉽고 자주 사용되므로, PLC에 수치를 지령하거나 PLC의 수치 정보를 읽을(모니터할) 때는 10진수에서 2진수로 또는 2진수에서 10진수로의 변환이 필요합니다. 따라서 프로그래밍 툴에는 변환 기능이 갖추어져 있습니다. 또한, 프로그램의 명령 중에도 변환 기능을 가지고 있는 명령이 제공되고 있습니다.
여기에서는 10진수와 2진수, 16진수, 2진화 10진수(BCD)의 표현 및 관계에 대해 설명합니다.

 

10진수(Decimal)

ㆍ10진수란 "0~9의 10종류의 기호를 사용하여 순서와 크기(양)를 나타내는 수"입니다.
그리고, 0~9까지 진행되면, "10"의 자리로 올려 다시 진행됩니다.
ㆍ예를 들어, 10진수 "153"을 자리와 "자리의 중량"이라고 하는 관점에서 살펴 보겠습니다.

"자리의 중량"은 다음과 같이 확인할 수 있습니다.
n……자리 번호(0, 1, 2…)
10……10진수
ㆍMELSEC iQ-R PLC에서는 10진 상수를 표현할 때 "K"를 붙입니다.

 

2진수 (Binary…BIN)

ㆍ2진수는 "0과 1의 2종류의 기호를 사용하여 순서와 크기를 나타내는 수"입니다. 그리고, 0, 1로 진행되면
"10"으로 자리를 올려 다시 진행합니다. 또한, 0, 1의 1자리를 비트라고 합니다.

ㆍ예를 들어, 다음 2진수는 10진수로 얼마가 될지 계산해 보겠습니다.
"10011101"
10진수로 자리 번호와 자리의 중량을 간주한 것처럼, 오른쪽부터 비트 번호와 비트의 중량을 붙여 보겠습니다.

10진수의 경우와 같이 각 비트의 코드와 중량의 합을 계산해 보겠습니다.

 

즉, 2진수에서 "코드가 1인 비트의 중량을 더한 값"이 10진수입니다.

 

16진수(Hexadecimal)

ㆍ16진수도 10진수, 2진수와 마찬가지로 "0~9, A~F의 16종류의 기호를 사용하여 순서와 크기를 나타내는 수"
입니다. 그리고, 0, 1, 2…D, E, F로 진행되면 "10"으로 자리를 올려 다시 진행됩니다.

 

 

ㆍ16진수의 1자리는 2진수의 4비트에 해당합니다.
ㆍMELSEC iQ-R의 PLC에서는 16진 상수를 표현할 때 "H"를 붙입니다.
ㆍ16진수는 다음의 디바이스 번호에 사용하고 있습니다.
ㆍ입출력(X, Y)
ㆍ펑션 입출력(FX, FY)
ㆍ링크 릴레이(B)
ㆍ링크 레지스터(W)
ㆍ링크용 특수 릴레이(SB)
ㆍ링크용 특수 레지스터 (SW)
ㆍ링크 다이렉트 디바이스 (Jn\X, Jn\Y, Jn\B, Jn\SB, Jn\W, Jn\SW)

 

MELSEC iQ-R이 취급하는 수치

ㆍ일반적으로 8비트를 1바이트, 16비트(2바이트)를 1워드라고 합니다.

ㆍMELSEC iQ-R의 각 워드 디바이스의 레지스터는 16비트로 구성되어 있습니다.
ㆍ데이터 레지스터 D
ㆍ타이머 T의 현재값
ㆍ카운터 C의 현재값
ㆍ파일 레지스터 R
ㆍ링크 레지스터 W 등

ㆍ16비트(1워드)로 취급할 수 있는 수치는 다음 2종류가 있습니다.
① 0~65535
② -32768~0~+32767
ㆍMELSEC iQ-R은 ②의 범위입니다.
음수는 양수(1~+32767)에 대하여 2의 보수를 사용하고 있습니다.
ㆍ2의 보수란 2진수의 각 비트에 대해 1을 0으로, 0을 1로 대체한 후에 최하위 비트에 1을 더한 값을 말합니다.

반응형