示例:使用 VisuTrendStorageAccess 图书馆
产品: CODESYS Visualization
这 TrendStorage API Example.project 示例项目使用可视化来展示如何使用 VisuTrendStorageAccess 读取趋势数据的库作品。
有关趋势元素的更多信息,请参阅: 可视化元素:趋势
描述
在本例中,趋势数据由趋势记录管理器保存,然后由趋势记录管理器读取。 VisuTrendStorageAccess API使用ST代码。这允许检索历史数据。此外,还可以导出趋势数据。
中定义了四项任务 TrendStorage API Example.project 示例项目。
标准任务调用
PLC_PRG程序以模拟数据。模拟数据被保存在数据库中
TrendRecordingTask任务和“趋势记录管理器”组件。这
VISU_TASK任务负责刷新可视化。趋势数据的实际读取是在
Task200ms任务,即TrendStorageAPI_TestProg计划,以及TrendStorageReader功能块。
这 ITrendStorageWriterListener 接口用于新数据的主动通知。
为此, TrendStorageWriterListener 功能块实现了 ITrendStorageWriterListener 接口并注册为 TrendStorageReader 功能块。当保存新数据时, DataWritten 使用开始和结束时间戳以及保存的记录数调用方法。
这 TrendStorageReader 功能块和 Read 方法用于读取记录。
eError2 := instTrendStorageReader.Read(liTimstampFrom := liTimstampFrom2, liTimstampTo := liTimstampTo2,itfTrendStorageReaderConsumer := instTrendStorageReaderConsumer);
这 TimeStampRead 和 ValueRead 的方法 instTrendStorageReaderConsumer 然后为每个值自动调用。
在示例中, TrendStorageReaderConsumer 功能块实现了 ITrendStorageReaderConsumer 接口并将值以 CSV 格式写入控制器控制台。如果返回数据的大小会阻塞数据库太长时间,那么 ETrendStorageReaderErrors.AdditionalReadCallRequired 作为错误代码返回。稍后必须通过调用 ContinueReading 具有相同参数的方法。
附加信息
可视化描述
模拟信号显示在可视化上部的趋势元素中。
趋势数据的最小和最大时间戳显示在 “最小/最大次数” 标签。

当前值
DataWritten方法显示在 “新数据”。
这些值是在 “读取值” 标签。

开始时间戳显示在上部字段中,结束时间戳显示在下部字段中。
这 “计算时间戳” 按钮将指定的数据转换为对应的时间戳(反转功能: “计算日期/时间”)。然后可以通过单击开始读取操作 《读取趋势存储》 按钮。点击 “停止阅读” 将取消读取操作。当。。。的时候 “详细输出” 按钮处于活动状态,可以在设备的记录页面上查看数据。 (做 不是 开始 CODESYS Control Win 通过 SysTray。)否则,记录数将显示在 “计算行数” 场地。
系统要求和限制
编程系统 | CODESYS Development System (版本 3.5.14.0 或更高版本) |
运行系统 | CODESYS Control Win (版本 3.5.14.0) |
附加组件 | - |
注意
下载 项目