# 导出和导入变量

在屏幕编辑软件中，您可以通过使用变量编辑器工具栏执行全局变量的导出和导入。导出项目中包含报警和记录的属性。不支持导出和导入本地变量。

注：

尽管您可以将屏幕编辑软件 3.3 Service Pack 1 或更早版本中以 CSV 或 TXT 文件形式导出的数据导入版本 3.4 或更高版本的屏幕编辑软件中，但从版本 3.4 或更高版本导出的文件不能导入 3.3 Service Pack 1 或更早版本中，因为文件版本是 2.0。
在输出文件的 [FileVersion] 行中检查 CSV 或 TXT 输出的文件版本。

导出和导入变量支持以下文件格式：

- TXT文件（.txt，UTF-8 (without BOM)）
- CSV文件（.csv，UTF-8 (without BOM)）

注：

- 使用 UTF-8 (无 BOM) 以外的编码保存的文件不能被导入。
- 有关文件格式的信息，请参阅以下内容。
  保存数据 (导出) 文件设置

可以使用Microsoft Excel 等软件程序查看导出的文件。

注：

数据输出格式如下:

- 字符串由双引号 (") 封装。
  例如，"这是一个字符串"
- 出现在条目开头的特殊字符 "="、"+"、"-"、"@"、TAB 和 ENTER 将以单引号 (') 作为前缀。
  例如: "'=1+2"

## 有关导入变量的注意事项

- 导入时，如果不存在同名扫描速率，则会根据导出文件中的间隔创建新的扫描速率。如果工程中已存在该扫描速率，扫描速率则不会更新。
- 如果导入从屏幕编辑软件3.1 Service Pack 1B或更早版本导出的文件，则将为外部变量分配默认扫描速率。有关扫描速率的信息，请参阅以下内容。
  设置读取外部变量值的间隔（扫描速率）
- 使用符号文件导入导入的变量不能用导入变量命令更新。要更新符号文件中的变量，请参阅以下内容。
  从外接设备导入符号 - 导入符号文件后的注意事项
- 不能向包含符号文件的工程导入变量。要导入变量，请执行以下步骤。

1. 从工程中删除该符号文件。
2. 从工程中导出变量。
3. 将变量导入到工程中。
4. 将符号文件导入到工程中。

- 屏幕编辑软件中的变量名称有命名规范。
  如果变量名称包含未遵循命名规范的字符，则不会导入该变量。
  有关详细信息，请参阅以下内容。
  命名规范

## 变量格式

在 Excel 中打开时，导出的文件包含以下示例数据。

注：只能编辑蓝色文本的数据。如果修改格式，将无法导入文件。

###

## 导出项目

此表指示与导出项目对应的属性。

属性未设置的项目将为空。

项目 | 属性 | 属性画面定位 | 可用值
Name | [名称] | [全部变量] | 遵循命名规范。
Type | [数据类型] | [全部变量] | 遵循支持的数据类型。
ElementType | 指示数组元素或结构成员的数据类型。 | [全部变量] | 遵循支持的数据类型。
Dimensions | [尺寸] | [全部变量] | 遵循支持的属性范围。
InitialValue | [初始值] | [全部变量] | 遵循支持的属性范围。
RetentiveEnabled | [保持] | [全部变量] | TRUE/FALSE
FolderName | [文件夹] | [全部变量] | 遵循命名规范。
BindType | 指示已分配数据的类型。 | 变量属性的属性选择器窗口。 | 只能在属性中设置的对象。
BindObject | 指示已分配数据的名称。 | 变量属性的属性选择器窗口。 | 遵循命名规范。
BindField | 指示已分配数据的属性。 | 变量属性的属性选择器窗口。 | 仅是已分配对象的属性。
BindIsArray | 指示是否将用户定义的变量设置为值。 | 变量属性的属性选择器窗口。 | TRUE/FALSE
BindValue | - | - |
BindDirection | [方向] | 变量属性的属性选择器窗口。 | OneWay/Both
BindConverter | [转换器] | 变量属性的属性选择器窗口。 | 遵循命名规范。
HasInputRange | [输入范围] | [全部变量] | TRUE/FALSE
MinValue | [最小值] | [全部变量] | 遵循支持的属性范围。
MaxValue | [最大值] | [全部变量] | 遵循支持的属性范围。
Target | [型号] | 系统架构 | 无编辑
Source | [源] | [全部变量] | 无编辑
ScanRate | [扫描速率] | [全部变量] | 遵循命名规范。
ScanRateInterval | [间隔] | [所有扫描速率] | 1-600
AddressEnabled | [基地址]（仅当选择了数组或结构时）。 | [全部变量] | 如果选择了属性，则显示 TRUE。
Address | [寄存器地址] | [全部变量] | 遵循支持的属性范围。
HasBinding | 当对变量属性使用对象或其他变量时，指示为 TRUE。 | [全部变量] | TRUE/FALSE
VariableLength | [变量长度] | [全部变量] | TRUE/FALSE
NumberOfBytes | [字节数/字数] | [全部变量] | 遵循支持的属性范围。
StringEncode | [字符串编码]（仅当从[源]选择外接设备时）。 | [全部变量] | 遵循支持的编码。
HasAlarm | 在报警中使用变量时，指示为TRUE。 | [全部报警] | TRUE 或空白
AlarmType | 在级别报警中使用变量时，指示"限制"。 | [级别报警] | Limit 或空白
***ThresholdState [1] | 在级别报警中使用变量时，指示"启用"。 | [级别报警] | Enable 或空白
***Threshold [1] | [报警类型] | [级别报警] | HiHi/Hi/Lo/LoLo
***ThresholdValue [1] | [值] | [级别报警] | 遵循支持的属性范围。
***ThresholdDeadBand [1] | [死区] | [级别报警] | 遵循支持的属性范围。
***ThresholdAlarmGroup [1] | 指示包含变量的报警组名称。 | [级别报警] | 遵循命名规范。
***ThresholdMessageMode [1] | 指示消息设置。 | [级别报警] | Direct/Language Table
***ThresholdMessage [1] | [消息] | [级别报警] | 遵循支持的属性范围。
***ThresholdSeverity [1] | [严重级别] | [级别报警] | 遵循支持的属性范围。
***ThresholdParameter [1] | [参数] | [级别报警] | 遵循支持的属性范围。
ThresholdState | [触发条件] | [Bool 报警] | Enabled/Disable
ThresholdType | [报警类型] | [Bool 报警] | Hi/Lo
ThresholdCondition | - | - | WhenHigh/WhenLow 无编辑
ThresholdAlarmGroup | 指示包含变量的报警组名称。 | [Bool 报警] | 遵循命名规范。
ThresholdMessageMode | 指示消息设置。 | [Bool 报警] | Direct/Language Table
ThresholdMessage | [消息] | [Bool 报警] | 遵循支持的属性范围。
ThresholdSeverity | [严重级别] | [Bool 报警] | 遵循支持的属性范围。
ThresholdParameter | [参数] | [Bool 报警] | 遵循支持的属性范围。
DataSharing | [数据共享] | [全部变量] | None/ReadOnly/ReadWrite
LoggingGroup | 指示在记录中使用变量时的组名称。 | [全部记录] | 遵循命名规范。
Comments | [注释] | [全部变量] | 遵循命名规范。
AlarmGroupId | 表示报警组名称。 | [全部变量] | 遵循命名规范。

1.*** 是指 HiHi、Hi、Lo 或 LoLo。