[PLC프로그래밍 8편] PLC 데이터레지스터(D)란? PLC D레지스터 개념과 활용 방법
PLC 프로그래밍을 공부하다 보면 D레지스터(Data Register)라는 용어를 자주 접하게 됩니다. PLC에서 입력과 출력 신호만 다루는 것이 아니라 온도, 압력, 속도, 생산량, 설정값처럼 다양한 숫자 데이터를 처리하려면 데이터 저장 공간이 필요합니다.
이때 사용하는 대표적인 영역이 바로 데이터레지스터 D입니다.
이번 PLC프로그래밍 8편에서는 PLC 초보자도 쉽게 이해할 수 있도록 D레지스터의 개념, 사용 방법, 데이터 저장과 연산, 실제 자동화 설비에서의 활용 방법까지 알아보겠습니다.
1. PLC 데이터레지스터(D)란?
LS산전 XGK PLC에서 D는 데이터 레지스터(Data Register)를 의미합니다.
입력 접점인 P 영역이나 내부 릴레이 M 영역이 주로 ON/OFF와 같은 비트 정보를 처리한다면, D 영역은 여러 가지 워드 단위의 숫자 데이터를 저장하고 처리하는 데 사용됩니다.
내부 데이터를 보관하는 곳으로 16 비트, 32 비트로 읽고 쓰기가 가능할 뿐만 아니라, 비트 표현을 이용하여 한 비트씩 읽고 쓰기도 가능합니다. 32 비트 경우에는 (지정된 번호)가 하위 16 비트, (지정한번호 + 1) 이 상위 16 비트 처리 됩니다.
데이터 레지스터의 비트 표현방법은 “지정된 번호.지정된 비트”의 형식으로 사용합니다. 이때 지정된 비트의 표현은 16 진수로 합니다.
전원 On 시와 RUN 시작시에는 파라미터로 지정한 불휘발성 영역을 제외한 부분을 0 으로 소거하고 불휘발성 영역은 이전상태를 그대로 유지합니다. 불휘발성 영역설정은 파라미터 설정을 참조하여 주십시오.
예1) 32 비트명령 사용시 D10 을 지정한 경우

예2) 데이터 레지스터 D의 비트 표현

데이터레지스터는 PLC 내부에서 숫자 데이터를 저장하고 처리하기 위한 메모리 영역입니다.
쉽게 말하면 PLC가 사용하는 숫자 전용 메모장이라고 생각하면 됩니다.
입력 접점인 P 영역이나 내부 릴레이 M 영역이 주로 ON/OFF와 같은 비트 정보를 처리한다면, D 영역은 여러 가지 워드 단위의 숫자 데이터를 저장하고 처리하는 데 사용됩니다.
예를 들어 다음과 같이 사용할 수 있습니다.
- D00000 : 현재 생산 수량
- D00001 : 목표 생산 수량
- D00010 : 온도 설정값
- D00020 : 압력 설정값
- D00100 : 통신 데이터
실제 현장에서는 생산 수량, 설정값, 센서 데이터, 연산 결과, HMI에서 입력한 값 등 다양한 데이터를 D 영역에 저장합니다.
따라서 PLC 프로그램을 제대로 이해하려면 D 레지스터의 개념을 알아두는 것이 중요합니다.
2. D레지스터와 M릴레이의 차이
PLC를 처음 공부하면 M릴레이와 D레지스터의 차이가 헷갈릴 수 있습니다.
M릴레이는 일반적으로 ON/OFF 상태를 처리하는 비트 디바이스로 사용됩니다.
반면 D레지스터는 수치 데이터를 저장하고 처리하는 데이터 영역입니다.
예를 들어 설비의 운전 상태를 나타낼 때는 M릴레이를 이용하여
M100 = ON
과 같이 표현할 수 있습니다.
반면 목표 생산량을 저장한다면
D100 = 500
과 같은 형태로 사용할 수 있습니다.
따라서 간단하게 정리하면 다음과 같습니다.
M = 상태 정보(ON/OFF)
D = 숫자 정보(데이터)
물론 실제 디바이스의 명칭과 데이터 형식, 저장 범위는 PLC 제조사와 CPU 모델에 따라 차이가 있을 수 있으므로 사용하는 PLC의 매뉴얼을 확인하는 것이 중요합니다.
3. D레지스터에 데이터를 저장하는 방법
XGK PLC에서 D 레지스터에 값을 넣을 때 대표적으로 사용하는 명령어가 MOV 명령어입니다.
LS ELECTRIC의 XGK 자료에 따르면 기본 MOV 명령은 1워드, 즉 16비트 데이터를 전송하며, 상수 또는 워드 디바이스의 데이터를 다른 워드 디바이스로 전송할 수 있습니다.
가장 기본적인 형태는 다음과 같습니다.
MOV K100 D00000
이 명령은 10진수 상수 100을 D00000에 전송한다는 의미입니다.
즉, MOV 명령이 실행된 후 D00000에는 100이라는 데이터가 저장됩니다.
또 다른 예를 보면,
MOV K500 D00010
이라고 작성하면 D00010에 500이라는 값을 저장할 수 있습니다.
여기서 K는 10진수 상수를 나타내는 표현입니다.
4. D레지스터를 이용한 데이터 연산
D 레지스터의 중요한 특징은 단순히 숫자를 저장하는 것뿐만 아니라 연산과 비교에 사용할 수 있다는 것입니다.
예를 들어 D00000에 현재 생산 수량을 저장하고 D00001에 목표 생산 수량을 저장할 수 있습니다.
D00000 = 현재 생산 수량
D00001 = 작업일수
으로 구성해 놓으면 두 값을 비교하여 생산 목표를 달성했는지 판단하는 프로그램을 만들 수 있습니다.
또한 D00000의 값을 다른 D 영역으로 이동하거나, D 영역의 데이터를 이용하여 더하기, 빼기, 곱하기, 나누기 등의 연산을 수행할 수도 있습니다.
이처럼 D 레지스터는 PLC 데이터 처리의 중심적인 역할을 합니다.
예) 아래는 사칙 연산 예제 입니다.

5. 자동화 설비에서 D레지스터 활용 예
D레지스터는 공장 자동화와 산업용 PLC 프로그램에서 매우 다양하게 활용됩니다.
① 온도 설정
작업자가 HMI 화면에서 목표 온도를 80℃로 입력하면 해당 값을 PLC의 D레지스터에 저장할 수 있습니다.
PLC는 저장된 설정 온도와 실제 온도 데이터를 비교하여 히터 등의 제어에 활용할 수 있습니다.
② 생산 수량 관리
현재 생산 수량을 D레지스터에 저장하고 목표 생산 수량과 비교하면 생산 완료 여부를 자동으로 판단할 수 있습니다.
③ 모터 속도 설정
설비의 운전 속도 값을 D레지스터에 저장하여 인버터나 모션 제어 등에 활용할 수도 있습니다.
④ 제품별 작업 조건
제품마다 온도, 속도, 시간 등의 설정값이 다르다면 제품별 조건 데이터를 D레지스터에 저장해 사용할 수 있습니다.
이처럼 D레지스터를 활용하면 PLC 프로그램에서 다양한 숫자 데이터를 체계적으로 관리할 수 있습니다.
6. HMI와 D레지스터의 관계
PLC를 공부하다 보면 HMI와 D레지스터가 함께 사용되는 경우를 많이 볼 수 있습니다.
HMI는 작업자가 설비의 상태를 확인하고 설정값을 입력할 수 있는 화면 장치입니다.
예를 들어 작업자가 HMI 화면에서 목표 온도를 70℃로 입력하면 해당 데이터가 PLC의 특정 D레지스터에 저장되도록 구성할 수 있습니다.
반대로 PLC에서 측정한 데이터를 D레지스터에 저장하고 HMI에서 해당 값을 읽어 화면에 표시할 수도 있습니다.
즉, HMI → 설정값 입력 → PLC D레지스터 저장
또는 PLC 데이터 → D레지스터 저장 → HMI 화면 표시 와 같은 데이터 흐름을 구성할 수 있습니다.
이 때문에 PLC와 HMI를 함께 공부하려면 D레지스터의 개념을 이해하는 것이 매우 중요합니다.
7. D레지스터 사용 시 주의할 점
D레지스터를 사용할 때는 단순히 주소만 지정해서 사용하는 것보다 데이터 관리 규칙을 정하는 것이 중요합니다.
예를 들어 다음과 같이 용도별로 주소를 구분할 수 있습니다.
- D100~D109 : 온도 설정값
- D110~D119 : 속도 설정값
- D120~D129 : 생산 관련 데이터
- D130~D139 : 연산 결과
이처럼 일정한 규칙을 정하면 PLC 프로그램이 커져도 데이터를 쉽게 찾을 수 있습니다.
또한 사용하는 PLC의 데이터 범위, 워드 및 더블워드 사용 방식, 정수와 실수 데이터 처리 방식, 전원 차단 후 데이터 유지 여부 등을 반드시 확인해야 합니다.
특히 PLC 제조사에 따라 디바이스 구조와 명령어 사용 방법이 다를 수 있기 때문에 실제 프로그램을 작성할 때는 해당 PLC의 사용자 매뉴얼을 참고하는 것이 좋습니다.
8. PLC 프로그래밍에서 D레지스터가 중요한 이유
PLC 프로그램이 단순한 모터 ON/OFF 제어 수준을 넘어가면 다양한 숫자 데이터를 처리해야 합니다.
예를 들어 온도 제어, 위치 제어, 속도 설정, 생산량 관리, 제품별 레시피 관리 등에서는 숫자 데이터를 저장하고 계산하는 기능이 필수적입니다.
이때 D레지스터를 사용하면 PLC 내부에서 데이터를 저장하고 필요한 시점에 불러와 연산하거나 비교할 수 있습니다.
마무리
이번 PLC프로그래밍 8편에서는 PLC의 핵심 데이터 영역인 데이터레지스터(D)에 대해 알아봤습니다.
D레지스터는 PLC에서 온도, 압력, 속도, 생산량, 설정값, 연산 결과 등 숫자로 표현되는 다양한 데이터를 저장하고 처리하는 공간입니다.
특히 HMI와 PLC를 연결하거나 자동화 설비의 설정값을 관리할 때 D레지스터가 매우 중요한 역할을 합니다.
PLC 초보자라면 먼저 “M은 상태를 저장하고, D는 숫자 데이터를 저장한다”는 개념부터 기억해두면 좋습니다.
다음 PLC 프로그래밍에서는 D레지스터와 함께 자주 사용되는 MOV 명령어와 데이터 이동 방법을 이해하면 PLC 프로그램을 한 단계 더 쉽게 해석할 수 있습니다.
PLC는 단순히 접점을 ON/OFF하는 프로그램을 넘어 데이터를 저장하고 계산하고 판단하는 제어 시스템입니다. D레지스터를 제대로 이해하는 것이 그 시작이라고 할 수 있습니다.