일상에 꼭 필요한 정보, 늘 함께하는 나침반 일상에 꼭 필요한 정보, 늘 함께하는 나침반

PLC 데이터 레지스터란? D·M·X·Y 이해

읽는 시간 약 6분

PLC 데이터 레지스터란 제어 프로그램에서 수치와 상태 데이터를 저장하고 처리하는 메모리 영역입니다. PLC 데이터 레지스터의 기본 개념과 D·M·X·Y 영역의 역할, 비트·워드 데이터 및 유지 메모리의 차이를 알아봅니다.

PLC 데이터 레지스터란 무엇이며 왜 필요할까?

PLC 데이터 레지스터(Data Register)는 CPU가 프로그램을 실행하면서 필요한 수치와 상태 정보를 저장하고 읽어오는 메모리 영역입니다. PLC는 센서 입력을 확인해 출력을 ON·OFF하는 것뿐 아니라 온도와 압력, 생산수량, Timer 값, 운전 설정값처럼 다양한 데이터를 처리해야 합니다. 이러한 데이터를 일정한 메모리 주소나 변수에 저장해 두어야 연산과 비교, MOV 등의 명령에서 반복적으로 사용할 수 있습니다. 전통적인 PLC에서는 X, Y, M, D와 같은 Device 주소를 사용하는 방식이 널리 알려져 있으며 최근 PLC에서는 Tag 또는 Symbolic Variable 중심으로 프로그램을 작성하는 경우도 많습니다. 중요한 점은 D·M·X·Y가 모든 PLC에서 동일한 의미와 주소체계로 사용되는 것은 아니라는 것입니다. 특히 이러한 표기는 일부 제조사의 Device 체계에서 대표적으로 사용되며 다른 제조사에서는 I, Q, M, DB 등 서로 다른 표기법을 사용할 수 있습니다. 따라서 데이터 레지스터를 이해할 때는 특정 문자 자체를 외우기보다 입력, 출력, 내부 상태, 수치 데이터라는 기능을 기준으로 구분하는 것이 좋습니다.

X·Y 영역은 실제 입출력 신호와 어떤 관계가 있을까?

X와 Y는 일부 PLC에서 현장의 Digital Input과 Digital Output을 나타내는 대표적인 Device 영역입니다. 일반적으로 X 영역은 Push Button, Limit Switch, Proximity Sensor, Photoelectric Sensor와 같은 외부 입력장치의 ON·OFF 상태를 프로그램에서 확인할 때 사용됩니다. 반면 Y 영역은 Relay, Contactor 제어신호, 표시등, Solenoid Valve 등 외부 장치로 전달되는 Digital Output 상태와 연결됩니다. 예를 들어 X0에 연결된 센서가 물체를 감지하면 입력처리 과정에서 해당 상태가 PLC 내부 입력정보에 반영되고 Ladder Diagram에서는 X0의 상태를 접점 조건으로 사용할 수 있습니다. 조건이 성립해 Y0 Coil이 ON되면 일반적인 Scan 방식에서는 연산결과가 출력 이미지에 저장된 후 출력 갱신 과정에서 실제 출력모듈에 반영됩니다. 다만 물리적 I/O와 내부 주소의 매핑방식은 PLC 시스템에 따라 다릅니다. Remote I/O나 네트워크 장치를 사용하는 경우에도 별도의 매핑이나 Tag를 통해 데이터를 처리할 수 있으므로 X와 Y를 모든 PLC의 공통 표준 주소라고 이해해서는 안 됩니다.

M·D 영역은 내부 상태와 숫자를 어떻게 저장할까?

M은 일부 PLC에서 Internal Relay 또는 Internal Memory Bit로 사용하는 대표적인 비트 영역입니다. 실제 외부 출력단자가 없어도 프로그램 내부에서 ON·OFF 상태를 저장할 수 있어 운전허가, 자동모드, 공정완료, 이상상태 등의 논리를 관리하는 데 유용합니다. 예를 들어 여러 조건을 종합해 M0을 자동운전 허가 상태로 만든 뒤 다른 여러 Rung에서 M0을 접점 조건으로 사용할 수 있습니다. D는 Data Register로 불리며 일반적으로 Word 단위의 수치 데이터를 저장하는 데 많이 사용됩니다. 생산수량, 설정온도, Analog Input의 Raw Data, 계산결과 등을 D 영역에 저장할 수 있습니다. MOV, 비교, 사칙연산 등의 데이터 처리 명령에서도 D Register가 자주 사용됩니다. 다만 하나의 D Register가 몇 Bit인지, Double Word나 Real 데이터를 어떤 방식으로 저장하는지는 PLC 기종과 데이터형에 따라 확인해야 합니다. 또한 최신 IEC 61131-3 기반 환경에서는 물리적인 Device 주소 대신 BOOL, INT, DINT, REAL 등의 데이터형을 가진 이름 기반 변수를 사용하는 경우도 많습니다.

Retentive 메모리와 일반 메모리는 무엇이 다를까?

PLC 메모리를 사용할 때는 전원 차단이나 CPU 재시작 이후에도 값이 유지되는지를 확인해야 합니다. 일반적인 비유지(Non-Retentive) 영역은 전원 재인가나 특정 초기화 과정에서 값이 초기 상태로 변경될 수 있습니다. 반면 Retentive Memory는 설정된 조건에 따라 전원이 꺼졌다가 다시 켜져도 이전 데이터를 유지하도록 구성할 수 있습니다. 예를 들어 누적 생산수량이나 설비의 운전시간처럼 정전 후에도 보존해야 하는 데이터에는 유지 기능이 필요할 수 있습니다. 반대로 모터 운전명령처럼 전원 복구 후 자동으로 다시 ON되면 위험할 수 있는 상태를 무조건 유지하도록 설계하는 것은 적절하지 않을 수 있습니다. 또한 모든 M이나 D 영역이 자동으로 유지되는 것은 아니며 유지범위와 초기값 설정방법은 PLC 제조사와 CPU 모델, 프로젝트 설정에 따라 달라집니다. 따라서 프로그램을 설계할 때는 데이터의 의미에 따라 저장영역과 Retain 여부를 구분해야 합니다. 결국 PLC 데이터 레지스터를 이해한다는 것은 단순히 X·Y·M·D 주소를 외우는 것이 아니라 각 데이터가 어디에서 생성되고 어디에 저장되며 언제까지 유지되는지를 파악하는 것입니다.

jssj2627

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.