Retain 기능 (정전 시 데이터 보관)

CUBLOC2의 Retain 기능은 전원이 꺼져도 데이터가 유지되는 기능입니다.

_R / _RD / _RDD / _RDF 영역에 값을 쓰기만 하면 자동으로 내장된 FRAM에 저장되며, 전원이 다시 켜지면 해당 값이 그대로 복구됩니다.

기본 개념

Retain 변수 대상 변수형 크기 인덱스 범위
_R(n) Byte / 8bit 정수 1바이트 n = 0 ~ 2047
_RD(n) Integer / 16bit 정수 2바이트 n = 0 ~ 99
_RDD(n) Long / 32bit 정수 4바이트 n = 0 ~ 99
_RDF(n) Float / 실수 4바이트 n = 0 ~ 99

사용 방법

Retain 변수는 일반 변수처럼 사용하면 됩니다.

Dim tempi As Byte

tempi = 10
_R(0) = tempi    ' 값 저장 → 자동으로 FRAM에 기록됨

전원을 껐다가 다시 켜면:

Print Dec _R(0), Cr   ' 이전에 저장된 값이 그대로 출력됨

동작 예

Dim count As Integer
count = _RD(0)
Wait 500
Print "Start Value:", Dec count, Cr

Do
    count = count + 1
    _RD(0) = count   ' 자동 저장
    Print "Count:", Dec count, Cr
    Wait 500
Loop

전원이 꺼져도 _RD(0) 값은 유지됩니다.

중요 주의 사항

  • 래더에서 사용 중인 Retain 영역과 겹치면 안 됩니다.
    1. 래더에서도 동일한 주소를 사용하면 충돌이 발생할 수 있습니다.
    2. 래더와 BASIC에서 사용하는 Retain 주소를 명확히 분리하세요

Tip

  • 설정값, 카운터, 상태 저장에 적합
  • 전원 복구 후 상태 유지가 필요한 경우 사용

← CUBLOC2 목차로 돌아가기