PLC Retentive Memory란?|전원 OFF 후에도 데이터를 유지하는 원리
PLC Retentive Memory는 전원이 꺼지거나 CPU가 재시작되어도 필요한 데이터를 유지하는 메모리 영역입니다. 일반 메모리와의 차이부터 데이터 유지 원리, 활용 사례와 프로그램 설계 시 주의사항까지 알아봅니다.
PLC를 사용하다 보면 전원을 껐다가 다시 켜도 이전에 저장했던 값이 그대로 남아 있어야 하는 경우가 있습니다. 생산수량이나 설비 설정값, 보정값처럼 전원이 꺼질 때마다 초기화되면 곤란한 데이터가 대표적입니다.
반대로 모터 운전 명령이나 일시적인 작업 상태처럼 전원이 다시 들어왔을 때 초기 상태에서 시작해야 하는 데이터도 있습니다.
PLC에서는 이러한 데이터의 특성에 따라 전원 OFF 이후에도 값을 유지할 영역과 초기화할 영역을 구분할 수 있습니다. 이때 알아두어야 할 개념이 Retentive Memory입니다.
PLC Retentive Memory란 무엇일까?
Retentive Memory는 PLC의 전원이 차단되거나 CPU가 정지·재시작된 이후에도 지정된 데이터 값을 유지할 수 있도록 설계된 메모리 영역 또는 데이터 유지 기능을 의미합니다.
PLC 제조사에 따라 Retain Memory, Retentive Data, Latch 영역 등 서로 다른 명칭을 사용할 수 있습니다.
예를 들어 생산설비에서 현재까지 생산한 제품의 수량이 12,350개라고 가정해 보겠습니다.
일반 메모리에 생산수량을 저장하고 전원 차단 시 해당 영역이 초기화되는 구조라면 PLC 전원을 다시 켰을 때 생산수량이 0으로 돌아갈 수 있습니다.
하지만 생산수량을 Retentive 영역에 저장하도록 설정했다면 PLC가 지원하는 데이터 유지 조건에 따라 전원이 다시 들어온 후에도 이전 값을 계속 사용할 수 있습니다.
따라서 Retentive Memory의 핵심은 단순히 데이터를 저장하는 것이 아니라 전원 상태가 변경된 이후에도 필요한 운전 데이터를 이어서 사용할 수 있도록 하는 것입니다.
다만 어떤 Device와 변수가 유지되는지, 유지 범위를 사용자가 설정할 수 있는지 등은 PLC 기종마다 다르기 때문에 실제 적용 시 CPU 매뉴얼을 확인해야 합니다.
Retentive Memory와 일반 메모리는 무엇이 다를까?
PLC 프로그램에서는 다양한 종류의 데이터가 사용됩니다.
센서 상태처럼 순간적으로 사용하는 Bit 데이터가 있고 설정온도, 생산수량, 위치 보정값처럼 숫자를 저장하는 데이터도 있습니다.
이러한 데이터가 모두 전원 OFF 후까지 유지될 필요는 없습니다.
일반적으로 Retentive 여부를 기준으로 생각하면 다음과 같이 구분할 수 있습니다.
| 구분 | 일반 메모리 | Retentive Memory |
|---|---|---|
| 전원 OFF 후 | 초기화될 수 있음 | 설정된 값을 유지 |
| 주요 용도 | 일시적인 운전 상태 | 설정값·누적값 등 |
| 전원 재투입 | 초기 상태에서 사용 | 이전 데이터 활용 가능 |
| 관리 중요도 | 비교적 일반적 | 초기화 조건 관리 중요 |
| 대표 사례 | 임시 연산값 | 생산수량·보정값·설정값 |
예를 들어 설비가 현재 자동운전 중이라는 상태를 나타내는 Bit는 전원이 다시 들어왔을 때 자동으로 ON되는 것보다 안전한 초기상태에서 시작하도록 설계하는 것이 적절할 수 있습니다.
반대로 작업자가 입력한 제품별 설정값이 전원을 껐다 켤 때마다 사라진다면 매번 다시 입력해야 하는 불편이 발생합니다.
따라서 PLC 프로그램을 설계할 때는 단순히 데이터를 저장할 주소를 정하는 것뿐만 아니라 이 값이 전원 복구 후에도 남아 있어야 하는 데이터인지를 함께 판단해야 합니다.
PLC는 전원이 없는데 어떻게 데이터를 유지할까?
PLC의 데이터 유지 방식은 CPU와 제조사에 따라 차이가 있습니다.
과거 또는 일부 PLC에서는 배터리를 이용해 특정 메모리 영역의 데이터를 유지하는 방식이 사용됩니다. PLC의 주 전원이 차단되더라도 백업용 배터리를 이용해 필요한 메모리나 Clock 등의 정보를 유지하는 구조입니다.
반면 PLC에 따라 비휘발성 메모리 등의 기술을 활용하여 일부 데이터를 보존하기도 합니다.
따라서 Retentive Memory는 무조건 배터리로 유지된다고 이해하면 정확하지 않습니다.
사용하는 PLC가 어떤 방식으로 데이터를 보존하는지 확인해야 합니다.
특히 배터리를 사용하는 CPU에서는 배터리가 방전되거나 교체 과정에서 유지 조건이 충족되지 않으면 데이터가 손실될 가능성을 고려해야 합니다.
비휘발성 메모리를 사용하는 경우에도 저장 방식에 따라 쓰기 횟수나 데이터 갱신 방식에 제한이 존재할 수 있으므로 제조사의 사양을 확인하는 것이 중요합니다.
Retentive Memory는 어디에 사용할까?
Retentive Memory는 전원이 다시 공급된 후에도 이전 상태의 데이터가 필요한 곳에 활용할 수 있습니다.
생산수량과 누적값
생산설비에서는 하루 생산량이나 누적 생산수량 등을 기록하는 경우가 많습니다.
설비 전원이 잠시 차단되었다고 누적 생산수량까지 0으로 초기화된다면 실제 생산기록과 PLC 데이터가 일치하지 않을 수 있습니다.
이처럼 전원 상태와 관계없이 이어서 관리해야 하는 값은 Retentive 데이터로 관리하는 것을 고려할 수 있습니다.
작업자가 입력한 설정값
HMI에서 작업자가 입력한 온도, 속도, 시간 등의 설정값도 대표적인 사례입니다.
예를 들어 제품 A를 생산하기 위해 속도를 120으로 설정했는데 전원을 다시 켤 때마다 기본값으로 돌아간다면 작업자가 매번 값을 다시 입력해야 합니다.
설비 특성과 안전조건을 검토한 뒤 필요한 설정값을 유지하도록 구성하면 운전 편의성을 높일 수 있습니다.
설비 보정값
센서나 위치제어에서 사용하는 Offset, Calibration 값 등도 전원 차단 후 유지해야 하는 경우가 있습니다.
보정값이 초기화되면 설비를 다시 가동하기 전에 재설정이나 Calibration이 필요할 수 있기 때문입니다.
설비 운전 이력과 상태정보
유지보수를 위해 특정 이벤트의 발생 횟수나 부품의 동작 횟수를 저장하는 경우에도 Retentive 영역을 활용할 수 있습니다.
예를 들어 실린더 동작 누적횟수를 기록해 예방정비 시점을 판단하는 방식입니다.
다만 장기간 보관해야 하는 대량의 운전 이력은 PLC 내부 Retentive Memory만 사용하기보다 HMI, 데이터로거, 서버 등의 별도 저장장치를 활용하는 것이 적합할 수 있습니다.
모든 데이터를 Retentive로 설정하면 안 될까?
전원 OFF 후 데이터가 유지된다면 모든 메모리를 Retentive로 설정하는 것이 편리해 보일 수 있습니다.
하지만 실제 PLC 프로그램에서는 유지해야 할 데이터와 초기화해야 할 데이터를 구분하는 것이 중요합니다.
특히 설비의 현재 동작 상태를 나타내는 데이터는 주의해야 합니다.
예를 들어 모터 운전 요청 Bit가 Retentive로 설정되어 있고 전원이 차단되기 직전에 ON 상태였다고 가정해 보겠습니다.
전원이 복구되었을 때 해당 Bit가 그대로 ON 상태로 유지된다면 프로그램 구조에 따라 작업자가 예상하지 못한 동작으로 이어질 가능성을 검토해야 합니다.
따라서 전원 복구 후 설비가 어떤 상태에서 시작해야 하는지를 먼저 정의해야 합니다.
설정값은 유지하지만 운전 명령은 초기화, 누적수량은 유지하지만 현재 공정 단계는 재확인과 같이 데이터의 성격에 따라 유지 여부를 구분하는 방식이 필요합니다.
Retentive Timer와 Retentive Memory는 같은 의미일까?
두 용어에는 Retentive라는 단어가 들어가지만 의미를 구분할 필요가 있습니다.
Retentive Memory는 일반적으로 특정 데이터가 전원 차단이나 CPU 상태 변화 이후에도 유지될 수 있도록 하는 메모리 또는 데이터 유지 개념입니다.
반면 Retentive Timer는 입력 조건이 변경되더라도 누적된 시간값을 유지하는 형태의 Timer를 의미하는 경우가 많습니다.
예를 들어 일반 Timer는 입력 조건이 OFF되면 누적값이 초기화되는 방식으로 동작할 수 있지만 Retentive Timer는 별도의 Reset 조건이 입력될 때까지 누적값을 유지하도록 설계될 수 있습니다.
중요한 것은 Retentive Timer의 동작 특성과 전원 OFF 후에도 값이 유지되는지 여부는 별개의 조건일 수 있다는 점입니다.
PLC 제조사별 명령의 동작 방식이 다르므로 실제 프로그램에서는 해당 Timer 명령의 사양을 확인해야 합니다.
PLC 초기화와 Retentive 데이터의 관계
Retentive 데이터라고 해서 어떤 상황에서도 영구적으로 값이 남는 것은 아닙니다.
CPU 초기화나 Memory Clear, 프로그램 다운로드 방식, 공장 초기화 등의 작업을 수행하면 Retentive 데이터가 초기화될 수 있습니다.
또한 PLC에 따라 RUN에서 STOP으로 변경했을 때, CPU를 Reset했을 때, 전원을 차단했을 때의 데이터 유지 조건이 서로 다를 수 있습니다.
따라서 중요한 설정값이나 보정값을 PLC에 저장하고 있다면 유지보수 작업을 하기 전에 해당 데이터가 어떤 조건에서 초기화되는지 확인하는 것이 좋습니다.
필요한 경우 중요한 값을 별도로 기록하거나 백업해 두는 것도 방법입니다.
Retentive Memory를 사용할 때 주의할 점
가장 먼저 해야 할 일은 데이터의 성격을 분류하는 것입니다.
프로그램에서 사용하는 변수마다 전원 OFF 후 유지해야 하는지, 초기화해야 하는지를 결정하면 Retentive 영역을 불필요하게 사용하는 것을 줄일 수 있습니다.
두 번째는 초기값 처리입니다.
새로운 PLC에 프로그램을 처음 다운로드하거나 메모리를 초기화한 경우 Retentive 데이터가 프로그램에서 예상하는 값과 다를 수 있습니다.
따라서 필요한 데이터에는 초기화 조건이나 허용 범위를 확인하는 프로그램을 구성하는 것도 고려할 수 있습니다.
예를 들어 속도 설정값의 정상 범위가 10~100인데 Retentive 데이터에 비정상적인 값이 들어 있다면 PLC 기동 시 범위를 확인하고 적절한 기본값으로 변경하도록 설계할 수 있습니다.
세 번째는 데이터 백업입니다.
제품 Recipe나 Calibration 값처럼 설비 운전에 중요한 데이터라면 PLC 내부 메모리에만 의존하기보다 별도의 백업 방법을 마련하는 것이 좋습니다.
마지막으로 데이터 유지 기능을 설비의 안전 기능과 혼동해서는 안 됩니다.
전원이 복구되었을 때 어떤 장비가 자동으로 동작할 수 있는지 등을 별도로 검토하고 필요한 안전회로와 운전 조건을 설계해야 합니다.
PLC Retentive Memory 핵심 정리
PLC Retentive Memory는 전원 OFF나 CPU 재시작 이후에도 필요한 데이터를 유지하기 위해 사용하는 메모리 또는 데이터 유지 기능입니다.
생산수량과 누적값, 작업자가 입력한 설정값, 설비 보정값처럼 전원 복구 후에도 필요한 데이터를 저장하는 데 활용할 수 있습니다.
하지만 모든 데이터를 Retentive로 설정하는 것은 적절하지 않습니다.
특히 모터 운전 명령이나 현재 공정 상태처럼 전원 복구 시 초기화 또는 재확인이 필요한 데이터는 설비의 동작 특성을 고려해 유지 여부를 결정해야 합니다.
또한 데이터가 실제로 어떻게 보존되는지는 PLC에 따라 다릅니다. 배터리 백업을 사용하는 제품도 있고 비휘발성 메모리를 활용하는 제품도 있으며, CPU Reset이나 Memory Clear 등의 조건에 따라 유지 데이터가 초기화될 수도 있습니다.
따라서 실제 프로그램에서는 무엇을 저장할 것인지 → 언제까지 유지할 것인지 → 어떤 조건에서 초기화할 것인지 → 데이터가 손실되었을 때 어떻게 복구할 것인지까지 함께 설계하는 것이 중요합니다.




댓글 0
첫 댓글을 남겨보세요.