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

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

---

### 设定更新率​​

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方法以相同的方式用于在所需的处理时间再次停用变量。