更新数据接口
数据源变量在运行时循环更新。仅更新在当前可视化中使用或具有属性的数据 随时更新.
您可以定义时间间隔。此外,您可以定义在每个更新间隔中传输其数据的变量,因此它们始终是更新的。要更新应用程序代码中未使用的变量,您可以借助数据源管理器的接口函数以编程方式实现更新。
重要
如果远程设备和本地设备之间的数据流量过高,则刷新率会自动降低。这可能导致不完整的传输。
设置刷新率
打开数据源的编辑器。
选择标签 一般与诊断.
在 刷新率 场地。
例子:
100从远程设备到本地设备的数据每 100 毫秒传输一次。
为变量选择 随时更新
重要
避免总是更新太多的变量。每次更新都会在远程和本地设备之间的连接处产生额外的数据流量。当数据流量过高时,刷新率会自动降低。这可能导致不完整的传输。
打开编辑器 数据源.
激活选项 随时更新 对于一个变量。
变量的数据在每个更新周期传输,即使数据没有改变。
以编程方式更新数据
数据源管理器提供接口功能 Datasources 图书馆。如果数据源管理器集成在应用程序代码中,则全局变量 g_Datasources 是自动实例化的。这提供了对接口功能的访问。
然后,您可以更新未在活动可视化中调用的各个变量。
变量 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_OK 和 ERR_DS_MULTITASKING_LOCKED 提供有关访问尝试的反馈。
当同步成功时,变量通过 UseData 方法。然后数据配置就完成了 EndDataConfiguration 方法和与任务再次触发的同步 DatasourceTask.
这 ReleaseData 方法以相同的方式用于在所需的处理时间再次停用变量。