# 编辑数据源变量

在运行模式下，远程数据将保存到数据源变量中。数据源变量及其到远程变量的映射显示在变量选项卡下方的数据源编辑器中。如果本地变量和远程变量具有相同的名称和相同的数据类型，则数据将按1：1映射。变量和数据类型是自动创建的。那是常规程序。

您还可以映射到现有变量。例如，如果可视化在界面中包括数据类型，则这是必需的。然后，必须将相同的数据传递给此可视化。在这种情况下，声明的局部变量和远程变量具有相同的数据类型，例如来自一个库。在这种情况下，声明的局部变量和远程变量具有相同的数据类型，例如来自一个库。可以在类型映射选项卡中创建数据类型。

专门创建的变量和数据类型在DataSources_Objects文件夹中声明。对于每个数据源，在其中声明与数据源同名的全局变量列表。此外，数据源变量通常具有与远程控制变量相同或一致的数据类型，并且它们被声明为用户定义的数据类型（DUT对象）。考虑所有数据源，避免了相同数据类型的多次声明。

不要手动在DataSources_Objects文件夹中编辑数据接口。它是在最初添加数据源时创建的。以后可以在数据源的编辑器中进行更改。

### 选择数据传输变量​

您可以编辑数据源变量的选择。

要求：远程设备及其应用程序正在运行。数据源管理器已经插入到具有数据源的本地应用程序下方。

1.打开数据源编辑器。

2.选择变量项。

3.单击更新变量。⇒浏览变量对话框打开。

4.激活应传送的变量，然后单击OK关闭对话框。
⇒数据源变量根据选择进行修改。变量和数据类型的声明也被修改。
变量选项卡显示修改后的选择。此外，映射的远程变量在远程变量列中列出。

### 将远程变量映射到新变量​

您需要将远程变量映射到新创建的全局隐式变量。这是将数据源转换为1：1的常规过程。

要求：一个项目已打开。数据源管理器及其下面的数据源位于本地应用程序的设备树中。

1.打开数据源的编辑器。

2.选择变量选项卡。⇒列出了数据源变量。

3.选择一个变量，然后单击创建或映射列中的符号。

4.指定一个名称局部变量。
⇒自动声明变量，并且包含与映射的远程变量相同的值。

### 将远程变量映射到现有变量​

您需要将远程变量映射到现有变量。

要求：数据源管理器及其下面的数据源位于本地应用程序的设备树中。应当传输的远程数据显示在变量选项卡中的数据源编辑器中

1.打开数据源的编辑器。

2.选择变量选项卡。

3.选择一个变量，然后单击创建或映射列中的符号。
⇒变量包含与映射的远程变量相同的值。

### 使用一致的数据类型将远程变量映射到局部变量​

首先，创建一个符合标准的数据类型，然后将其用于变量。

要求：数据源管理器及其下面的数据源位于本地应用程序的设备树中。应当传输的远程数据显示在变量选项卡中的数据源编辑器中

1.打开数据源的编辑器。

2.选择类型映射选项。

3.在列表中选择要编辑的数据类型。⇒数据类型列表下方的窗口中列出了数据类型的元素。

4.指定数据类型的名称。例: DataType_A.选择本地类型应符合的远程数据类型的名称。例: Library1.DataType_A.

5.在数据类型列表下方的窗口中对其进行修改，并删除数据传输不需要的元素。

6.在“创建或映射列中选择此数据类型的符号。⇒数据类型DataType_A在DataSources_Objects文件夹中声明。

7.选择变量选项卡。

8.在局部变量列中指定一个名称。例: Var_A

9.在创建或映射列中选择符号。

10.在映射类型列中指定数据类型DataType_A。

11.选择带有应传输数据的远程变量。例: appPLC_A.Data_A.对此使用输入助手。
⇒使用用户定义的数据类型DataType_A自动声明变量Var_A。在数据传输期间，它接收映射的远程变量数据。

### 库

> 库SnakeUtil

> 该示例演示了如何创建数据源的变量。此时，将创建新变量，将数据映射到现有数据类型及其变量，并使用符合类型的映射来创建新数据类型。

> 远程PLC使用SnakeUtil库中的POU实例，HMI设备将这些POU实例可视化。这就是HMI应用程序要求操作界面中变量具有适合可视化模板数据类型的原因。结果，将SnakeUtil库链接集成到HMI应用程序中，并且HMI变量实例化SnakeUtil.SnakeVisu可视化功能块。

> 远程PLC中使用了SnakeUtil库中的以下库功能块。

> - 功能块SnakeUtil.Snake：配备了很多逻辑并可以从外部函数调用。
> - DUT SnakeUtil.PositionInfo: 两个值（变量x和y）
> - DUT: SnakeUtil.DrawingInfo: Image ID
> - 具有传输参数SnakeUtil.Snake的SnakeUtil.SnakeVisu可视化功能块使Snake功能块可视化。
>   在类型映射选项卡的编辑器中输入以下设置：

> 在类型映射选项卡的编辑器中输入以下设置：

> 在可视化中，插入一个引用了SnakeUtil.SnakeVisu的框架。期望具有类型SnakeUtil.Snake。

> 数据类型SnakeUtil.PositionInfo和SnakeUtil.DrawingInfo映射到现有数据类型（创建或映射列中的符号）。数据类型很小，仅包含数据。

> SnakeUtil.Snake功能块非常复杂，它会调用HMI可视化中不可用的外部函数。可视化中不需要带代码的功能块。在HMI可视化中，您需要使用范围较小但兼容且一致的类型。因此，请勿直接创建初始数据类型。相反，首先修改初始数据类型并删除不必要的元素。然后通过在创建或地图列中选择符号来创建新的数据类型Snake。