菜单

更新数据接口 ​

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

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

 

 


设定更新率​​

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

最近修改: 2025-07-24