计算要保存的数据大小
您可以从系统设置编辑画面中检查存储在备用内存(SRAM)或外部存储器中的每段数据的大小。

有关计算每个数据的大小,请参见以下内容。
变量值(保持变量)的保存目标仅限于备用内存(SRAM)。
报警
(单位:字节)
Header (3072) + ActiveAlarms + AlarmLog + SystemErrors (2048)
- ActiveAlarms = (所有报警组中的报警总数 × ([报警行为]*1 + 所有报警组变量中最大变量的大小*2) / 1024)*3 × 1024
- AlarmLog = ([最大记录]*4 × (31 + 最大变量大小*2) / 1024)*3 × 1024
*1 选择 [可选 ACK] 作为 [报警行为] 时为 65,选择 [强制 ACK] 时为 73。
*2 这是变量中最大数据类型的大小。有关变量数据类型大小的信息,请参阅下列变量大小表格。禁用报警设置时,最大变量大小为 0。
*3 将小数点向上舍入。
*4 [全部报警] 的 [最大记录] 属性值。
变量大小
| 数据类型 |
大小(字节) |
| 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 = 1024,如果 ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 为 2 或更多;否则为 0。
- LoggingGroups = 记录组的总大小
如果 (26 + 每个变量的 (变量大小*2 + 1) 之和) 为 512 或更少:
记录组 = ([最大记录] *3 / (1024 / (26 + 每个变量的 (变量大小*2 + 1) 之和))*4)*1 × 1024 + LoggingGroupEmptySpace
否则:
日志组 = ((26 + 每个变量的 (变量大小*2 + 1) 之和) / 1024)*1 × [最大记录] *3 × 1024 + LoggingGroupEmptySpace
- LoggingGroupEmptySpace = 1024,如果 (((26 + 每个变量的 (变量大小*2 + 1) 之和) × [最大记录] *3) / 1024) 为 2 或更多;否则为 0。
- StartLogs = LoggingGroup_Startlog 总和:
LoggingGroup_Startlog = (24 × [最大记录] *3 /1024)*1 × 1024 + StartlogEmptySpace
- StartlogEmptySpace = 1024,如果 ((24 × [最大记录]*3) / 1024)*1 为 2 或更多;否则为 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 = 1024,如果 (478 × [最大记录*1] / 1024) 为 2 或更多;否则为 0。
*1 [操作日志] 的 [最大记录数] 属性值。
*2 将小数点向上舍入。
变量值(保持变量)
当具有变量的 [保持] 属性被禁用时,数据大小为 0。
(单位:字节)
Header (1024) + ((RetentiveVariables / 1024)*1 × 1024) + EmptySpace
- RetentiveVariables = 启用 [保持] 属性的变量总大小
保持变量 = Header (7) + ID (2) + 变量大小*2
- EmptySpace = 1024,如果 (保持变量 / 1024) 为 2 或更多;否则为 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 |