Skip to main content

更新数据接口

数据源变量在运行时循环更新。仅更新在当前可视化中使用或具有属性的数据 随时更新.

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

重要

如果远程设备和本地设备之间的数据流量过高,则刷新率会自动降低。这可能导致不完整的传输。

设置刷新率

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

  2. 选择标签 一般与诊断.

  3. 刷新率 场地。

    例子: 100

    从远程设备到本地设备的数据每 100 毫秒传输一次。

为变量选择 随时更新

重要

避免总是更新太多的变量。每次更新都会在远程和本地设备之间的连接处产生额外的数据流量。当数据流量过高时,刷新率会自动降低。这可能导致不完整的传输。

  1. 打开编辑器 数据源.

  2. 激活选项 随时更新 对于一个变量。

    变量的数据在每个更新周期传输,即使数据没有改变。

以编程方式更新数据

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

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

7. 例子

变量 ivar 被激活和停用的方法从方法 Datasources 库,以便转移其价值。此外,您可以配置变量仅在定义的持续时间内更新,以节省传输容量。

//Synchronize with DatasourcesTask and block until access is possible
//Regard the feedback in ERR_OK or in ERR_DE_MULTITASKING_LOCKED
g_Datasources.BeginDataConfiguration(TRUE);
// Activate variable
g_Datasources.UseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
// Deactivate variable
//g_Datasources.ReleaseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
g_Datasources.EndDataConfiguration();

数据配置开始于 BeginDataConfiguration(TRUE),从而初始化任务的同步 DatasourceTask 与应用程序任务。价值 TRUE 阻塞处理,直到可以访问变量; FALSE 重复访问尝试而不阻塞。返回值 ERR_OKERR_DS_MULTITASKING_LOCKED 提供有关访问尝试的反馈。

当同步成功时,变量通过 UseData 方法。然后数据配置就完成了 EndDataConfiguration 方法和与任务再次触发的同步 DatasourceTask.

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