
PLC 프로그램을 사용하다 보면 내부에서 계산한 숫자를 외부 표시기에 보여주거나, 디지털 스위치에서 입력된 값을 PLC 내부 데이터로 변환해야 하는 경우가 있습니다.
이때 자주 사용하는 것이 BIN과 BCD 데이터 변환 명령어입니다.
이번 PLC 기초 시리즈 16탄에서는 미쓰비시 PLC를 기준으로 BIN·BCD의 차이, BINP·BCDP 명령어의 동작 원리와 GX Works2 래더 프로그램 사용 예제를 쉽게 정리해보겠습니다.
1. BIN과 BCD란?
먼저 BIN과 BCD가 무엇인지 간단하게 이해해보겠습니다.
BIN(Binary)은 PLC 내부에서 일반적인 숫자 연산에 사용하는 이진 데이터입니다.
BCD(Binary Coded Decimal)는 10진수 한 자리씩을 4비트 이진수로 표현하는 방식입니다.
| 구분 | 의미 | 주요 사용 |
|---|---|---|
| BIN | 일반 이진 데이터 | PLC 내부 계산 및 데이터 처리 |
| BCD | 10진수 각 자리를 4비트로 표현 | 디지털 스위치, 숫자 표시기 등 |
사람이 보는 숫자는 같아도 PLC 내부에 저장되는 비트 패턴은 BIN과 BCD가 서로 다를 수 있습니다.
2. BCD는 어떻게 저장될까?
BCD에서는 10진수 한 자리마다 4비트를 사용합니다.
예를 들어 숫자 1234를 BCD로 표현하면 각 자리 숫자가 따로 변환됩니다.
1 → 0001
2 → 0010
3 → 0011
4 → 0100
BCD 1234
= 0001 0010 0011 0100
따라서 일반 BIN 값 1234와 BCD 형식의 1234는 숫자로 보면 같아 보이지만 PLC 내부 비트 구성은 다릅니다.
3. BIN 명령어란?
미쓰비시 PLC의 BIN 명령어는 BCD 데이터를 일반 BIN 데이터로 변환할 때 사용합니다.
쉽게 말하면 디지털 스위치 등에서 들어온 BCD 형식의 숫자를 PLC가 계산하기 쉬운 일반 숫자로 바꿔주는 역할입니다.
BCD 데이터 → BIN 명령 → BIN 데이터
기본 형태는 다음과 같이 생각하면 됩니다.
[ BIN S D ]
S = 변환할 BCD 데이터
D = 변환된 BIN 값을 저장할 위치
4. BINP 래더 프로그램 예제
미쓰비시 Q시리즈 교육자료에서는 디지털 스위치의 BCD 값을 PLC 데이터 레지스터에 저장할 때 다음과 같은 형태의 예제를 사용합니다.
X0 ───── [ BINP K4X20 D5 ]
여기서 각 항목은 다음과 같습니다.
| 항목 | 의미 |
|---|---|
| X0 | 변환 실행 조건 |
| K4X20 | BCD 형식으로 들어오는 입력 데이터 |
| D5 | 변환된 BIN 데이터를 저장할 레지스터 |
입력 조건이 OFF에서 ON으로 변하면 BCD 데이터를 BIN 값으로 변환하여 D5에 저장합니다.
여기서 BINP의 P는 펄스 실행을 의미하며 입력 조건이 성립하는 순간 한 번만 실행하는 방식입니다.
5. BCD 명령어란?
BCD 명령어는 BIN 데이터를 BCD 데이터로 변환할 때 사용합니다.
BIN 명령과 정확히 반대 방향이라고 생각하면 이해하기 쉽습니다.
BIN 데이터 → BCD 명령 → BCD 데이터
PLC 내부에서 계산한 숫자를 BCD 방식의 외부 숫자 표시기로 출력해야 할 때 사용할 수 있습니다.
[ BCD S D ]
S = PLC 내부 BIN 데이터
D = 변환된 BCD 데이터 저장 위치
6. BCDP 래더 프로그램 예제
PLC 내부의 타이머나 카운터 값을 BCD 방식의 숫자 표시기로 보내는 상황을 생각해보겠습니다.
X1 ───── [ BCDP D0 K4Y50 ]
D0에 저장되어 있는 BIN 데이터를 BCD 데이터로 변환한 후 출력 영역으로 전달하는 구조입니다.
BCDP 역시 입력 조건이 성립하는 순간 한 번 실행되는 펄스형 명령입니다.
7. BIN과 BCD 차이 한눈에 보기
| 명령 | 변환 방향 | 대표 사용 |
|---|---|---|
| BIN | BCD → BIN | 디지털 스위치 값을 PLC로 입력 |
| BCD | BIN → BCD | PLC 값을 숫자 표시기로 출력 |
| BINP | BCD → BIN | 조건 상승 시 1회 변환 |
| BCDP | BIN → BCD | 조건 상승 시 1회 변환 |
외부 BCD 데이터를 PLC 계산용 데이터로 바꿀 때는 BIN, PLC 데이터를 BCD 출력 장치에 보낼 때는 BCD라고 기억하면 쉽습니다.
8. MOV와 BIN의 차이는?
PLC를 처음 공부할 때 BIN과 MOV를 헷갈리는 경우가 있습니다.
MOV는 데이터를 그대로 복사하지만 BIN은 데이터 형식을 변환한다는 차이가 있습니다.
| 명령 | 동작 |
|---|---|
| MOV | 원본 데이터를 그대로 전송 |
| BIN | BCD 값을 BIN 값으로 변환 후 전송 |
| BCD | BIN 값을 BCD 값으로 변환 후 전송 |
즉 데이터의 비트 패턴을 그대로 옮기려면 MOV, 숫자 표현 방식을 변경해야 한다면 BIN 또는 BCD를 사용합니다.
9. BIN·BCD는 언제 사용할까?
디지털 스위치 입력
BCD 방식의 디지털 스위치에서 설정값을 입력받는 경우 BIN 변환을 이용하여 PLC 내부 계산에 사용할 수 있습니다.
숫자 표시기 출력
PLC 내부의 타이머, 카운터 또는 계산 결과를 BCD 방식 숫자 표시기에 출력해야 한다면 BCD 변환을 사용할 수 있습니다.
기존 설비 데이터 처리
오래된 설비나 일부 외부 장치에서는 BCD 데이터 방식을 사용하는 경우가 있으므로 데이터 형식을 확인해야 합니다.
10. 데이터 값이 이상할 때 확인할 것
- 원본 데이터가 BIN인지 BCD인지 확인
- BIN과 BCD의 변환 방향을 반대로 사용하지 않았는지 확인
- MOV로 단순 복사해야 하는 데이터를 변환하고 있지 않은지 확인
- 디지털 스위치 또는 외부 표시기의 데이터 형식 확인
- K4X, K4Y 등의 비트 디바이스 묶음 범위 확인
- 변환 가능한 데이터 범위를 초과하지 않았는지 확인
- 일반 명령과 펄스형 명령 사용 여부 확인
- GX Works2 모니터에서 변환 전후 값을 비교
특히 화면이나 표시기에 보이는 숫자와 PLC 모니터 값이 전혀 다르다면 BIN과 BCD 데이터 형식을 먼저 확인해보는 것이 좋습니다.
11. BIN·BCD 핵심 정리
BIN → BCD 데이터를 BIN 데이터로 변환합니다.
BCD → BIN 데이터를 BCD 데이터로 변환합니다.
BINP → 조건이 성립하는 순간 BCD → BIN 변환을 한 번 실행합니다.
BCDP → 조건이 성립하는 순간 BIN → BCD 변환을 한 번 실행합니다.
MOV → 데이터 형식을 변환하지 않고 그대로 복사합니다.
BIN과 BCD의 차이를 이해하면 디지털 스위치, 숫자 표시기와 PLC 사이에서 데이터 값이 이상하게 보이는 문제를 훨씬 쉽게 분석할 수 있습니다.
함께 보면 좋은 글
다음 글 예고
PLC 기초 시리즈 17탄
PLC 시프트 명령어 사용법|SFT·SFTR·SFTL 동작 원리와 래더 프로그램 예제
비트 데이터를 한 칸씩 이동시키는 시프트 명령의 원리와 제품 추적, 순차 제어 등에 활용하는 실무 프로그램을 알아보겠습니다.
댓글