====== 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 영역과 겹치면 안 됩니다.** - 래더에서도 동일한 주소를 사용하면 충돌이 발생할 수 있습니다. - 래더와 BASIC에서 사용하는 Retain 주소를 **명확히 분리**하세요 ===== Tip ===== * 설정값, 카운터, 상태 저장에 적합 * 전원 복구 후 상태 유지가 필요한 경우 사용 [[..:index|← CUBLOC2 목차로 돌아가기]]