# 저장할 데이터 크기 계산

시스템 설정 편집 화면에서 백업 메모리(SRAM)나 외부 저장소에 저장된 각 데이터의 크기를 확인할 수 있습니다.

각 데이터의 크기 계산은 다음을 참조하십시오.

- 알람
- 데이터 로깅
- 오퍼레이션 로그
- 변수 값(보존 변수)

메모: 변수 값(보존 변수)의 저장 위치는 백업 메모리(SRAM)로 제한됩니다.

## 알람

(단위: 바이트)

Header (3072) + ActiveAlarms + AlarmLog + SystemErrors (2048)

- ActiveAlarms = (모든 알람 그룹의 총 알람 수 × ([알람 동작]*1 + 모든 알람 그룹의 모든 변수의 총 크기*2) / 1024)*3 × 1024
- AlarmLog = ([최대 레코드]*4 × (31 + 최대 변수 크기*5) / 1024)*3 × 1024

*1 [알람 동작]으로 [선택적 ACK]를 선택한 경우 65, [필수 ACK]를 선택한 경우 73입니다.

*2 변수 크기는 데이터 형식에 따라 다릅니다. 아래의 변수 크기 표를 참조하십시오.

*3 소수점 이하를 반올림합니다.

*4 [모든 알람]의 [최대 레코드] 속성 값입니다.

*5 변수들 중에서 가장 큰 데이터 형식의 크기입니다.. 변수 데이터 형식의 크기에 관한 내용은 아래의 변수 크기 표를 참조하십시오. 알람 설정이 비활성화되면 가장 큰 변수 크기는 0입니다.

변수 크기

데이터 종류 | 크기 (바이트)
BOOL | 1
BYTE | 3
WORD | 5
DWORD | 10
LWORD | 20
SINT | 4
USINT | 3
INT | 6
UINT | 5
DINT | 11
UDINT | 10
LINT | 20
ULINT | 20
REAL | 20
LREAL | 20

## 데이터 로깅

로깅이 비활성화되면 데이터 크기는 0입니다.

(단위: 바이트)

Header + LoggingGroups + StartLogs + LoggingState (1024)

- Header = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 × 1024 + HeaderEmptySpace
  - H_LoggingGroups = 모든 로깅 그룹의 총 크기
    로깅 그룹 = 172 + 42 × 로깅 그룹의 변수 수
  - H_LoggingGroup_Views = 모든 LoggingGroup_View의 총 크기
    LoggingGroup_View = 213 + 33 × 로깅 그룹의 변수 수
  - H_LoggingGroup_Startlog = 176 × 로깅 그룹 수
  - H_Logging_state = 144
  - HeaderEmptySpace = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024)가 2 이상이면 1024, 그렇지 않으면 0입니다.
- LoggingGroups = 로깅 그룹의 총 크기
  (26 + 각 변수에 대한 (변수 크기*2 + 1)의 합계)가 512 이하인 경우:
  로깅 그룹 = ([최대 레코드] *3 / (1024 / (26 + 각 변수에 대한 (변수 크기*2 + 1)의 합계))*4)*1 × 1024 + LoggingGroupEmptySpace
  그렇지 않은 경우:
  로깅 그룹 = ((26 + (각 변수에 대한 변수 크기*2 + 1)의 합계) / 1024)*1 × [최대 레코드] *3 × 1024 + LoggingGroupEmptySpace
  - LoggingGroupEmptySpace = (((26 + 각 변수에 대한 (변수 크기*2 + 1)의 합계) × [최대 레코드] *3) / 1024)이 2 이상이면 1024, 그렇지 않으면 0입니다.
- StartLogs = LoggingGroup_Startlogs:
  LoggingGroup_Startlog 의 합계 = (24 × [최대 레코드] *3 /1024)*1 × 1024 + StartlogEmptySpace
  - StartlogEmptySpace = ((24 × [최대 레코드]*3) / 1024)*1이 2 이상이면 1024, 그렇지 않으면 0입니다.

*1 소수점 이하를 반올림합니다.

*2 변수 크기는 데이터 형식에 따라 다릅니다. 아래의 변수 크기 표를 참조하십시오.

*3 [로깅 그룹]의 [최대 레코드] 속성의 값입니다.

*4 소수점 이하를 내림합니다.

변수 크기

데이터 종류 | 크기 (바이트)
BOOL | 1
BYTE | 2
WORD | 3
DWORD | 10
LWORD | 20
SINT | 1
USINT | 2
INT | 2
UINT | 3
DINT | 4
UDINT | 10
LINT | 20
ULINT | 20
REAL | 20
LREAL | 20
STRING | [바이트수] + 1
WSTRING | [바이트수] + 1
TIME | 4
TIME_OF_DAY | 4
DATE | 4
DATE_AND_TIME | 4

## 오퍼레이션 로그

작업 로그가 비활성화되면 데이터 크기는 0입니다.

(단위: 바이트)

Header (1024) + ((478 × [최대 레코드*1] / 1024)*2 × 1024) + EmptySpace

- EmptySpace = (478 × [최대 레코드*1] / 1024)가 2 이상이면 1024, 그렇지 않으면 0입니다.

*1 [오퍼레이션 로그]의 [최대 레코드수] 속성의 값입니다.

*2 소수점 이하를 반올림합니다.

## 변수 값(보존 변수)

변수가 있는 [보존] 속성이 비활성화되면 데이터 크기는 0입니다.

(단위: 바이트)

Header (1024) + ((RetentiveVariables / 1024)*1 × 1024) + EmptySpace

- RetentiveVariables = [보존] 속성이 활성화된
  유지 변수가 있는 변수의 총 크기 = Header (7) + ID(2) + 변수 크기*2
- EmptySpace = (유지 변수 / 1024)가 2 이상이면 1024, 그렇지 않으면 0입니다.

*1 소수점 이하를 반올림합니다.

*2 변수 크기는 데이터 형식에 따라 다릅니다. 아래의 변수 크기 표를 참조하십시오.

변수 크기

데이터 종류 | 크기 (바이트)
BOOL | 1
BYTE | 3
WORD | 5
DWORD | 10
LWORD | 20
SINT | 4
USINT | 3
INT | 6
UINT | 5
DINT | 11
UDINT | 10
LINT | 21
ULINT | 20
REAL | 20
LREAL | 20
STRING | [바이트수] x 2 + 2
TIME | 11
TIME_OF_DAY | 10
DATE | 10
DATE_AND_TIME | 10