数据源变量在运行模式下循环更新。只有当前可视化中使用的数据或属性“Update always” 的数据才会被更新。
您可以定义时间间隔。此外,您还可以定义变量,这些变量的数据会在每个更新间隔内传输,因此它们会一直更新。要更新应用程序代码中未使用的变量,可以借助数据源管理器的接口函数,以编程方式实现更新。




注意

如果远程设备和本地设备之间的数据流量过大,则会自动降低更新速率。这可能导致转移不完整。
另见
设置更新率
-
打开数据源编辑器。
-
单击“常规和诊断” 选项卡。
-
在“更新速率” 字段中指定一个值。
例如
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_DataServer.UseData(ADR('RemoteDevice.Application.PLC_PRG.iVar')); // Deactivate variable //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
方法同样用于在所需的处理时间再次停用变量。