본문 바로가기
PLC 기초

PLC 데이터 레지스터(D)란? MOV 명령어와 데이터 저장 방법 쉽게 이해하기

by PLC 엔지니어 2026. 9. 2.
반응형

PLC 데이터 레지스터 D와 MOV 명령어 데이터 저장 방법 설명

PLC 프로그램을 공부하다 보면 X, Y, M 같은 비트 디바이스와 함께 D0, D100, D200 같은 주소를 자주 보게 됩니다.

여기서 D는 데이터 레지스터(Data Register)를 의미하며 숫자나 각종 데이터를 PLC 내부에 저장할 때 사용하는 중요한 디바이스입니다.

이번 글에서는 PLC 데이터 레지스터(D)의 기본 개념부터 MOV 명령어, K값, 데이터 저장과 전송 방법까지 초보자도 이해하기 쉽게 정리해보겠습니다.


1. PLC 데이터 레지스터(D)란?

데이터 레지스터(Data Register)는 PLC 내부에서 숫자나 데이터를 저장하기 위해 사용하는 메모리 영역입니다.

미쓰비시 PLC에서는 일반적으로 D 디바이스를 데이터 저장에 사용합니다.

예를 들면 다음과 같습니다.

D0 = 100
D1 = 250
D10 = 500
D100 = 1200

쉽게 생각하면 D0, D1, D10 같은 각각의 주소가 숫자를 보관할 수 있는 작은 저장공간이라고 이해하면 됩니다.


2. X·Y·M과 D의 차이

PLC 초보자가 가장 먼저 이해하면 좋은 부분입니다.

디바이스 주요 용도 예시
X 외부 입력 센서, 스위치
Y 외부 출력 모터, 솔레노이드
M 내부 릴레이 조건 및 상태 저장
D 데이터 저장 수량, 설정값, 측정값

X, Y, M은 주로 ON/OFF 상태를 다루지만 D 레지스터는 숫자 데이터를 저장하는 데 사용한다는 차이가 있습니다.

간단하게 정리하면

X → 입력 상태
Y → 출력 상태
M → 내부 ON/OFF 조건
D → 숫자 데이터


3. 데이터 레지스터는 어디에 사용할까?

실제 자동화 설비에서는 D 레지스터가 매우 다양한 곳에 사용됩니다.

  • 생산 수량 저장
  • 현재 제품 번호 저장
  • 타이머 설정값 저장
  • 카운터 설정값 저장
  • 서보 위치값 저장
  • 인버터 주파수 설정값
  • 아날로그 센서 측정값
  • HMI 설정값 저장
  • 통신 데이터 저장

따라서 PLC 프로그램이 복잡해질수록 데이터 레지스터의 중요성도 커집니다.


4. MOV 명령어란?

MOV는 데이터를 한 곳에서 다른 곳으로 전송하는 대표적인 PLC 명령어입니다.

쉽게 말하면 값을 복사해서 원하는 데이터 레지스터에 넣는 명령입니다.

예를 들어 다음 명령을 보겠습니다.

MOV K100 D0

이 명령이 실행되면 숫자 100이 D0에 저장됩니다.

실행 결과

D0 = 100

MOV 명령을 이해할 때는 앞쪽이 원본 데이터(Source), 뒤쪽이 저장할 위치(Destination)라고 생각하면 쉽습니다.

MOV 원본 → 저장 위치


5. K100에서 K는 무엇일까?

PLC 프로그램에서 MOV 명령을 보다 보면 K100, K500, K1000 같은 표현을 자주 볼 수 있습니다.

미쓰비시 PLC에서 K는 일반적으로 10진수 상수값을 표현할 때 사용합니다.

표현 의미
K10 10
K100 100
K500 500
K1000 1000

따라서

MOV K500 D100

이라는 명령은 500이라는 값을 D100에 저장한다는 의미입니다.


6. D 레지스터의 값을 다른 D로 옮기기

MOV 명령은 숫자 상수뿐만 아니라 데이터 레지스터에 저장되어 있는 값도 다른 레지스터로 전송할 수 있습니다.

예를 들어 D0에 150이라는 값이 저장되어 있다고 가정해보겠습니다.

D0 = 150

MOV D0 D100

MOV 명령이 실행되면 D0에 저장된 값이 D100으로 전달됩니다.

D0   = 150
D100 = 150

이때 원본인 D0의 값이 없어지는 것이 아니라 D0의 값을 D100으로 복사한다고 이해하면 쉽습니다.


7. MOV 래더 프로그램 예제

X0 스위치가 ON되었을 때 D0에 100을 저장하는 프로그램을 만들어보겠습니다.

X0 -------------------- [ MOV K100 D0 ]

동작 순서는 다음과 같습니다.

X0 OFF → MOV 실행 안 됨

X0 ON

MOV K100 D0 실행

D0에 100 저장

GX Works2에서 모니터링하면 X0가 ON되었을 때 D0의 현재값이 100으로 변경되는 것을 확인할 수 있습니다.


8. MOV 명령을 사용할 때 주의할 점

MOV 명령은 간단하지만 실제 프로그램에서는 조건을 잘 확인해야 합니다.

예를 들어 다음 프로그램이 있다고 가정해보겠습니다.

X0 -------------------- [ MOV K100 D0 ]

X0가 계속 ON되어 있다면 PLC는 프로그램을 스캔할 때 해당 조건이 성립하는 동안 MOV 명령을 반복해서 실행할 수 있습니다.

따라서 다른 프로그램에서 D0 값을 변경하더라도 MOV 조건이 계속 성립하면 다시 100이 저장될 수 있습니다.

현장에서 D값이 계속 원래 값으로 돌아간다면 MOV 명령이 반복 실행되고 있는지 확인하는 것이 중요합니다.


9. D값이 계속 바뀔 때 확인하는 방법

PLC 트러블을 확인하다 보면 D100에 값을 입력했는데 잠시 후 다른 값으로 바뀌는 경우가 있습니다.

이럴 때는 다음 항목을 확인해보는 것이 좋습니다.

  1. D 레지스터를 사용하는 MOV 명령 검색
  2. HMI에서 해당 주소를 쓰고 있는지 확인
  3. 통신 프로그램에서 데이터를 쓰는지 확인
  4. 초기화 프로그램이 실행되는지 확인
  5. 다른 PLC에서 통신으로 값을 변경하는지 확인
  6. 서보·인버터 등의 데이터가 들어오는 영역인지 확인

특히 HMI와 PLC를 함께 사용하는 설비에서는 PLC 프로그램뿐만 아니라 HMI에서 해당 D 주소에 값을 쓰고 있는지도 확인해야 합니다.


10. D 레지스터와 HMI 활용 예제

데이터 레지스터는 HMI와 함께 사용할 때 더욱 유용합니다.

예를 들어 작업자가 HMI에서 생산 목표 수량을 입력하도록 만들 수 있습니다.

HMI 목표수량 입력

D100에 저장

PLC에서 D100 확인

생산수량과 비교

목표수량 도달 시 설비 정지

이렇게 구성하면 PLC 프로그램을 수정하지 않고도 작업자가 HMI에서 설정값을 변경할 수 있습니다.


11. 카운터와 D 레지스터를 함께 사용하면?

앞에서 배운 카운터와 데이터 레지스터를 함께 사용하면 생산수량 관리 프로그램을 더욱 유연하게 만들 수 있습니다.

예를 들어 다음과 같이 구성할 수 있습니다.

제품 센서 감지

생산수량 카운트

현재 생산수량 저장

D100 목표수량과 비교

목표 도달

컨베이어 정지

이러한 방식은 실제 자동화 생산설비에서도 자주 볼 수 있는 기본적인 데이터 처리 구조입니다.


12. PLC 데이터 레지스터 핵심 정리

데이터 레지스터(D)는 PLC 내부에서 숫자 데이터를 저장하기 위한 메모리 영역입니다.

미쓰비시 PLC에서는 D0, D1, D100과 같은 형태로 데이터 레지스터를 사용하며 생산수량, 설정값, 센서값, HMI 데이터 등 다양한 정보를 저장할 수 있습니다.

MOV는 데이터를 다른 위치로 전송하는 기본 명령이며 다음 형태를 기억하면 이해하기 쉽습니다.

MOV K100 D0

위 명령은 10진수 100을 D0에 저장한다는 의미입니다.

PLC 실무에서는 D값이 예상과 다르게 변경될 경우 PLC 프로그램의 MOV 명령뿐만 아니라 HMI, 통신, 초기화 프로그램 등 해당 주소에 데이터를 쓰는 모든 조건을 함께 확인하는 것이 중요합니다.


함께 보면 좋은 글

이전 글인 「PLC 카운터(Counter)란? CTU·CTD 동작 원리와 래더 프로그램 예제」를 함께 보면 생산수량 카운트와 데이터 저장의 관계를 이해하는 데 도움이 됩니다.

다음 글에서는 「PLC MOV·BMOV·FMOV 명령어 차이와 사용법」을 실무 예제와 함께 알아보겠습니다.

반응형

댓글