PLC에서 비트 디바이스가 ON/OFF 상태를 다룬다면, 워드 디바이스는 수치와 데이터를 다루는 영역입니다. 생산 수량, 설정값, 위치값, 통신 데이터, 레시피처럼 숫자로 관리해야 하는 값은 대부분 워드 단위로 처리됩니다. 미쓰비시 MELSEC Q/R 시리즈와 GX Works2/3 환경에서는 D, W, R, Z의 용도를 구분해 두어야 데이터 충돌과 주소 혼선을 줄일 수 있습니다.
워드 디바이스를 이해해야 하는 이유
PLC 로직은 단순한 접점 제어만으로 끝나지 않습니다. 실제 설비에서는 설정값을 변경하고, 현재 위치를 표시하고, 생산 수량을 누적하고, HMI나 다른 장비와 데이터를 주고받아야 합니다.
이때 사용하는 기본 단위가 워드 디바이스입니다. 워드는 일반적으로 16비트 단위로 데이터를 저장하며, 더 큰 숫자는 2워드를 묶어 32비트 데이터로 처리합니다.
미쓰비시 PLC에서는 용도에 따라 D, W, R, Z 같은 워드 디바이스를 구분해 사용합니다. 각각의 성격을 제대로 이해하지 못하면 값이 초기화되거나, 통신 주소가 밀리거나, 레시피 데이터가 덮이는 문제가 발생할 수 있습니다.
본 글은 미쓰비시 MELSEC Q/R 시리즈 및 GX Works2/3 기준의 일반적인 내용을 바탕으로 작성했습니다. 실제 사용 가능 범위와 보존 방식은 CPU 모델, 파라미터, 프로젝트 설정에 따라 달라질 수 있으므로 적용 전 사용 중인 PLC 매뉴얼과 파라미터를 확인해야 합니다.
D 데이터 레지스터의 기본 용도
D는 데이터 레지스터입니다. PLC 내부에서 숫자 데이터를 저장할 때 가장 많이 사용하는 범용 워드 디바이스입니다.
D 디바이스는 생산 수량, 설정값, 위치값, 타이머나 카운터의 기준값, 연산 결과 저장 등에 자주 사용됩니다. 현장에서 가장 많이 접하는 워드 디바이스라고 볼 수 있습니다.
예를 들어 다음과 같은 용도로 사용할 수 있습니다.
| 사용 예 | 설명 |
|---|---|
| 생산 수량 저장 | 카운터 결과나 생산 누적값 저장 |
| 설정값 저장 | HMI에서 입력한 속도, 시간, 압력 등의 기준값 저장 |
| 위치 데이터 저장 | 서보 위치값, 원점 보정값, 이동 거리 저장 |
| 연산 결과 저장 | 사칙연산, 비교 연산 결과 보관 |
D 디바이스는 기본적으로 16비트 단위입니다. 16비트 정수로 처리할 경우 표현 범위에 제한이 있으므로, 큰 수치나 정밀한 위치값을 다룰 때는 32비트 명령과 2워드 사용 여부를 확인해야 합니다.
예를 들어 D100 하나만 사용하는 경우와 D100, D101을 묶어 32비트로 사용하는 경우는 데이터 구조가 다릅니다. 이 부분을 구분하지 않으면 음수로 보이거나 값이 비정상적으로 튀는 문제가 생길 수 있습니다.
D 디바이스와 래치 설정
D 디바이스를 사용할 때 중요한 부분은 전원 OFF 후 값이 유지되는지 여부입니다.
일부 D 영역은 파라미터에서 래치 범위로 설정해야 전원 차단 후에도 값이 유지됩니다. 래치 설정이 되어 있지 않은 영역은 전원 재투입 또는 CPU 초기화 조건에 따라 값이 0으로 초기화될 수 있습니다.
따라서 생산 수량, 모델 설정값, 보정값처럼 전원 OFF 후에도 유지해야 하는 데이터는 반드시 래치 범위에 포함해야 합니다.
반대로 임시 연산값이나 순간 상태값처럼 전원 재투입 시 초기화되어도 되는 데이터는 비래치 영역에 두는 것이 관리하기 쉽습니다.
메모리 설계 시에는 다음과 같이 영역을 구분하는 것이 좋습니다.
| 구분 | 사용 예 |
|---|---|
| 비래치 D 영역 | 임시 연산값, 순간 상태값, 자동운전 중간 데이터 |
| 래치 D 영역 | 생산 수량, 보정값, 모델 설정값, HMI 입력 설정값 |
D 레지스터의 전체 용량과 래치 가능 범위는 CPU 모델마다 다를 수 있습니다. 설계 전 해당 CPU의 디바이스 범위와 파라미터 설정을 확인해야 합니다.
W 링크 레지스터의 기본 용도
W는 링크 레지스터입니다. 주로 네트워크 통신이나 장비 간 데이터 공유에 사용됩니다.
CC-Link, Ethernet, MELSECNET, HMI 통신 등에서 다른 PLC, 터치스크린, PC, 상위 시스템과 데이터를 주고받을 때 W 영역을 사용하는 경우가 많습니다.
W 디바이스는 다음과 같은 용도로 자주 사용됩니다.
| 사용 예 | 설명 |
|---|---|
| HMI 표시 데이터 | 현재 속도, 위치, 상태값 표시 |
| 장비 간 데이터 공유 | 다른 PLC와 생산 정보 또는 인터록 정보 교환 |
| 네트워크 통신 버퍼 | 통신 모듈이나 링크 영역 데이터 관리 |
| 상위 시스템 연동 | MES, PC, 검사 장비와의 데이터 전달 |
W 디바이스에서 특히 주의할 점은 주소 체계입니다. W는 일반적으로 16진수 주소 체계를 사용합니다. 따라서 W9 다음은 W10이 아니라 WA입니다.
이 규칙을 모르면 주소를 10진수처럼 계산해 데이터 영역을 잘못 배치할 수 있습니다. 통신 데이터가 한 칸씩 밀리거나, HMI에서 다른 값을 표시하는 문제가 발생할 수 있습니다.
W 주소를 사용할 때 주의할 점
W 주소는 16진수 체계로 관리됩니다. 숫자 0부터 9까지 사용한 뒤 A, B, C, D, E, F가 이어지고, 그 다음이 10으로 넘어갑니다.
예를 들면 다음과 같습니다.
| 순서 | W 주소 |
|---|---|
| 1 | W0 |
| 2 | W1 |
| 10 | W9 |
| 11 | WA |
| 12 | WB |
| 16 | WF |
| 17 | W10 |
실무에서 W 주소를 배치할 때는 엑셀이나 메모리 맵에 16진수 기준으로 정리하는 것이 안전합니다. 특히 HMI, 상위 PC, 다른 PLC와 주소를 공유하는 경우에는 주소 체계를 서로 동일하게 이해하고 있어야 합니다.
W 영역도 CPU와 네트워크 구성, 파라미터에 따라 사용 가능 범위와 보존 방식이 달라질 수 있습니다. 통신 전용 영역으로 사용할 경우에는 다른 내부 연산 데이터와 섞지 않는 것이 좋습니다.
R 파일 레지스터의 기본 용도
R은 파일 레지스터입니다. D 영역만으로 데이터 저장 공간이 부족하거나, 대량의 레시피 데이터를 관리해야 할 때 사용하는 워드 디바이스입니다.
R 디바이스는 제품별 설정값, 모델별 위치값, 생산 조건, 검사 기준값처럼 여러 세트로 관리해야 하는 데이터를 저장할 때 유용합니다.
예를 들어 제품 모델이 10개이고, 각 모델마다 속도, 위치, 압력, 시간 설정값이 필요하다면 D 영역만으로 관리하기보다 R 영역을 사용해 레시피 구조로 정리하는 방식이 적합할 수 있습니다.
R 디바이스는 다음과 같은 용도로 많이 사용됩니다.
| 사용 예 | 설명 |
|---|---|
| 모델별 레시피 | 제품별 위치, 속도, 시간, 압력 조건 저장 |
| 생산 이력 일부 저장 | 간단한 누적값 또는 작업 조건 보관 |
| 대용량 설정 데이터 | D 영역보다 많은 데이터가 필요한 경우 |
| 장비 조건 백업 | 특정 조건 세트를 별도 영역에 보관 |
R 영역은 일반 D 영역과 별도 구조로 사용되는 경우가 많습니다. 다만 실제 보존 방식과 사용 가능 범위는 CPU 모델과 파라미터 설정에 따라 달라질 수 있습니다. 중요한 데이터는 반드시 백업 방식과 초기화 조건까지 함께 확인해야 합니다.
Z 인덱스 레지스터의 기본 용도
Z는 인덱스 레지스터입니다. 값을 저장하는 일반 워드 디바이스라기보다, 주소를 가변적으로 지정할 때 사용하는 보조 디바이스에 가깝습니다.
Z를 사용하면 같은 명령어로 여러 주소를 순차적으로 읽거나 쓸 수 있습니다. 배열 처리, 반복 처리, 레시피 데이터 접근, 다수의 동일 구조 데이터 관리에 활용됩니다.
예를 들어 Z0의 값이 5일 때 D100Z0을 지정하면 실제 참조 주소는 D105가 됩니다.
Z0 = 5
D100Z0 = D105
이 방식은 같은 구조의 데이터가 여러 개 반복될 때 유용합니다.
예를 들어 D100부터 D199까지 제품별 설정값이 순서대로 저장되어 있고, 현재 선택된 모델 번호에 따라 읽을 주소가 달라져야 한다면 Z를 이용해 주소를 계산할 수 있습니다.
Z 사용 시 주의할 점
Z는 주소를 바꾸는 역할을 하기 때문에 잘못 사용하면 전혀 다른 영역을 읽거나 쓸 수 있습니다.
특히 MOV, BMOV, FMOV, 비교 명령, 연산 명령과 함께 사용할 때는 Z 값이 어떤 조건에서 변경되는지 명확히 관리해야 합니다.
다음 사항을 확인하는 것이 좋습니다.
| 확인 항목 | 이유 |
|---|---|
| Z 값 초기화 조건 | 이전 동작의 인덱스 값이 남아 있을 수 있음 |
| 최대 주소 범위 | 의도하지 않은 영역 접근 방지 |
| 모델 번호와 인덱스 관계 | 레시피 주소 계산 오류 방지 |
| 반복문 종료 조건 | 데이터 영역 초과 접근 방지 |
Z는 편리하지만 추적이 어려운 디바이스입니다. 유지보수자가 로직을 볼 때 실제 주소를 바로 알기 어렵기 때문에, 주석과 메모리 맵을 함께 정리해야 합니다.
워드 디바이스를 비트 단위로 사용하는 방법
미쓰비시 PLC에서는 CPU 시리즈와 명령, 설정 조건에 따라 워드 디바이스의 특정 비트를 지정해 사용할 수 있습니다.
예를 들어 D0.0, D0.F, W10.5처럼 워드 주소 뒤에 비트 번호를 붙여 특정 비트만 상태 신호처럼 사용할 수 있습니다.
이 방식은 통신 데이터나 상태 데이터를 묶어서 관리할 때 유용합니다.
예를 들어 D100 하나에 16개의 에러 상태를 할당하면, 상위 시스템은 D100 워드 하나만 읽어도 여러 개의 에러 상태를 확인할 수 있습니다.
D100.0 = 비상정지 에러
D100.1 = 도어 열림 에러
D100.2 = 서보 알람
D100.3 = 센서 이상
...
D100.F = 예비 에러
이 방식은 통신 효율을 높일 수 있지만, 같은 워드 주소를 숫자 저장용과 비트 상태용으로 동시에 사용하면 문제가 생깁니다.
예를 들어 D100에 숫자 값을 MOV로 저장하면서 동시에 D100.0을 에러 비트로 사용하면, 숫자 값이 바뀔 때 비트 상태도 함께 바뀔 수 있습니다. 반대로 비트 제어가 숫자 데이터를 깨뜨릴 수도 있습니다.
따라서 워드 단위 데이터와 비트 단위 상태 데이터는 메모리 맵에서 영역을 분리해야 합니다.
D·W·R·Z 비교 정리
D, W, R, Z는 모두 워드 디바이스로 분류되지만 실제 용도는 다릅니다. 설계 단계에서 역할을 구분해 두면 로직 해석과 유지보수가 쉬워집니다.
| 디바이스 | 주소 체계 | 전원 OFF 시 보존 | 실무 핵심 용도 |
|---|---|---|---|
| D | 10진수 | 파라미터 설정에 따라 다름 | 범용 데이터 저장, 설정값, 위치값, 연산값 |
| W | 16진수 | 파라미터 및 구성에 따라 다름 | 통신 데이터, 네트워크 공유, HMI 연동 |
| R | 10진수 | 보존용 데이터 관리에 주로 사용 | 대용량 레시피, 모델 정보, 조건 데이터 |
| Z | 10진수 | 일반적으로 초기화 대상 | 주소 간접 지정, 배열 처리, 반복 접근 |
이 표는 일반적인 실무 기준의 정리입니다. 실제 프로젝트에서는 CPU 모델, 파라미터, 네트워크 구성, 메모리 할당 방식에 따라 차이가 있을 수 있습니다.
워드 디바이스 설계 시 확인할 사항
워드 디바이스를 사용할 때는 단순히 비어 있는 주소를 쓰는 방식보다, 용도별로 영역을 나누는 것이 좋습니다.
예를 들어 다음과 같이 구분할 수 있습니다.
| 영역 | 사용 목적 |
|---|---|
| D0~D99 | 내부 임시 연산값 |
| D100~D199 | HMI 설정값 |
| D200~D299 | 현재 상태 표시값 |
| D300~D399 | 서보 위치 데이터 |
| W 영역 | 통신 전용 데이터 |
| R 영역 | 모델별 레시피 데이터 |
| Z 영역 | 주소 간접 지정용 |
이런 식으로 기준을 정해두면 나중에 로직을 수정하거나 HMI 화면을 추가할 때 주소 충돌을 줄일 수 있습니다.
또한 워드 디바이스를 사용할 때는 다음 항목을 함께 확인해야 합니다.
| 확인 항목 | 설명 |
|---|---|
| 16비트 / 32비트 구분 | 데이터 크기에 따라 사용하는 워드 수가 달라짐 |
| 부호 있는 값 / 부호 없는 값 | 음수 표시나 범위 오류를 방지하기 위해 확인 필요 |
| 래치 여부 | 전원 OFF 후 유지해야 하는 값인지 확인 |
| 주소 체계 | D, R은 10진수 기준, W는 16진수 기준으로 관리 |
| 통신 공유 여부 | HMI, PC, 다른 PLC와 공유되는 주소인지 확인 |
| 비트 사용 여부 | 워드 단위 숫자와 비트 단위 상태를 혼용하지 않도록 관리 |
데이터 구조 정리
D, W, R, Z는 단순한 저장 공간이 아니라 PLC 데이터 구조의 기본입니다. D는 범용 데이터, W는 통신 공유, R은 대용량 보존 데이터, Z는 주소 간접 지정에 주로 사용됩니다.
워드 디바이스를 정확히 구분하면 HMI 표시 오류, 통신 주소 밀림, 전원 재투입 후 데이터 초기화, 레시피 데이터 충돌 같은 문제를 줄일 수 있습니다.
특히 W의 16진수 주소 체계와 D의 래치 설정, Z를 이용한 간접 주소 지정은 현장에서 자주 혼선이 생기는 부분입니다. 설계 단계에서 메모리 맵을 정리하고, 숫자 저장 영역과 비트 상태 영역을 분리해 두는 것이 안정적인 PLC 프로그램 관리의 기본입니다.
타이머와 카운터는 현재값과 접점 성격을 함께 가지는 복합 디바이스로 볼 수 있습니다. 이 부분은 일반 워드 디바이스와 구분해 별도로 정리하는 것이 좋습니다.