Skip to main content

示例:使用 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);

TimeStampReadValueRead 的方法 instTrendStorageReaderConsumer 然后为每个值自动调用。

在示例中, TrendStorageReaderConsumer 功能块实现了 ITrendStorageReaderConsumer 接口并将值以 CSV 格式写入控制器控制台。如果返回数据的大小会阻塞数据库太长时间,那么 ETrendStorageReaderErrors.AdditionalReadCallRequired 作为错误代码返回。稍后必须通过调用 ContinueReading 具有相同参数的方法。

附加信息

可视化描述

模拟信号显示在可视化上部的趋势元素中。

  • 趋势数据的最小和最大时间戳显示在 “最小/最大次数” 标签。

    _example_vis_trend_api_tab_minmax_time.png
  • 当前值 DataWritten 方法显示在 “新数据”

    _example_vis_trend_api_tab_new_data.png
  • 这些值是在 “读取值” 标签。

    _example_vis_trend_api_tab_read_values.png

开始时间戳显示在上部字段中,结束时间戳显示在下部字段中。

“计算时间戳” 按钮将指定的数据转换为对应的时间戳(反转功能: “计算日期/时间”)。然后可以通过单击开始读取操作 《读取趋势存储》 按钮。点击 “停止阅读” 将取消读取操作。当。。。的时候 “详细输出” 按钮处于活动状态,可以在设备的记录页面上查看数据。 (做 不是 开始 CODESYS Control Win 通过 SysTray。)否则,记录数将显示在 “计算行数” 场地。

系统要求和限制

编程系统

CODESYS Development System (版本 3.5.14.0 或更高版本)

运行系统

CODESYS Control Win (版本 3.5.14.0)

附加组件

-

注意

_example_icon.png 下载 项目