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

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

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

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

---

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

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

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

1.打开数据源编辑器。

2.选择***变量***项。

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

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

---

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

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

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

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

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

3.选择一个变量，然后单击***创建或映射***列中的![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f1fc6632d.png)符号。

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

---

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

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

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

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

2.选择***变量***选项卡。

3.选择一个变量，然后单击***创建或映***射列中的![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f2359fbb8.png)符号。  
⇒变量包含与映射的远程变量相同的值。

---

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

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

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

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

2.选择***类型映射***选项。

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

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

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

6.在“***创建或映射***列中选择此数据类型的![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f28e7afbe.png)符号。⇒数据类型DataType\_A在***DataSources\_Objects***文件夹中声明。

7.选择***变量***选项卡。

8.在***局部变量***列中指定一个名称。例: Var\_A

9.在***创建或映射***列中选择符号![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f2b73eb7e.png)。

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功能块可视化。  
>     在类型映射选项卡的编辑器中输入以下设置：
> 
> 在***类型映射***选项卡的编辑器中输入以下设置：
> 
> ![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f2fcbac72.png)
> 
> 在可视化中，插入一个引用了SnakeUtil.SnakeVisu的框架。期望具有类型SnakeUtil.Snake。
> 
> 数据类型SnakeUtil.PositionInfo和SnakeUtil.DrawingInfo映射到现有数据类型（***创建或映射***列中的![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f3134ebf8.png)符号）。数据类型很小，仅包含数据。
> 
> SnakeUtil.Snake功能块非常复杂，它会调用HMI可视化中不可用的外部函数。可视化中不需要带代码的功能块。在HMI可视化中，您需要使用范围较小但兼容且一致的类型。因此，请勿直接创建初始数据类型。相反，首先修改初始数据类型并删除不必要的元素。然后通过在创***建或地图***列中选择![](https://resource.helplook.net/docker_production/3648ne/article/2aUazPZn/6721f31926a9d.png)符号来创建新的数据类型Snake。