# 更新数据接口 ​

数据源变量在运行时模式下周期性更新。仅更新在当前可视化文件中使用的或始终具有属性总是更新的数据。

您可以定义时间间隔。此外，您可以定义变量，这些变量的数据在每个更新间隔中传输，因此它们始终是更新的。要更新应用程序代码中未使用的变量，可以借助数据源管理器中的接口功能以编程方式实现更新。

### 设定更新率​​

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

2.单击常规和诊断选项卡。

3.在更新速率项中指定一个值。
例: 100⇒从远程设备到本地设备的数据每100毫秒传输一次。

### 选择“始终更新”变量​

提示！

避免始终更新太多变量。每次更新都会在远程和本地设备之间的连接上产生其他数据流量。当数据流量过高时，更新速率会自动降低。这可能会导致传输不完整

1.打开数据源的编辑器。
2.激活选项总是更新变量。
⇒即使在数据未更改的情况下，变量的数据也会在每个更新周期进行传输。

### 以编程方式更新数据​

数据源管理器在Datasources库中提供接口功能。如果数据源管理器集成在应用程序代码中，则全局变量g_Datasources将自动实例化。这提供了对接口功能的访问。

然后，您可以更新活动可视化文件中未调用的各个变量。

> 例

> 通过Datasources库中的方法激活和禁用变量ivar，以便传输其值。此外，您可以配置为仅在定义的持续时间内更新变量，以节省传输容量。

> //与DatasourcesTask和block同步，直到可以访问为止
> //在ERR_OK或ERR_DE_MULTITASKING_LOCKED中查看反馈
> g_Datasources.BeginDataConfiguration(TRUE);
> // 激活变量
> g_DataServer.UseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
> // 禁用变量
> //g_DataServer.ReleaseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
> g_DataServer.EndDataConfiguration();
> 数据配置从BeginDataConfiguration（TRUE）开始，从而初始化任务DatasourceTask与应用程序任务的同步。值TRUE阻止处理，直到可以访问该变量为止； FALSE重复访问尝试而不会阻塞。返回值ERR_OK和ERR_DS_MULTITASKING_LOCKED提供有关访问尝试的反馈。

> 同步成功后，将通过UseData方法激活该变量。然后，使用EndDataConfiguration方法完成数据配置，并通过任务DatasourceTask再次触发同步。

> ReleaseData方法以相同的方式用于在所需的处理时间再次停用变量。