Skip to main content

示例:使用CSV Utility SL 图书馆

产品CODESYS IIOT 库 SL

. 读取 CSV 文件:
  • CSVReader 文件夹包含读取 CSV 文件的组件。

  • 文件路径的初始化和传递是由 CSVReaderInit 功能块。

  • CSV 文件的值可以单独、逐行或一次性全部读取。这 NextLine, NextElement, 或者 ReadAll 功能块用于读取值。

  • CSVReaderExample 应用在 CSV Utility Examples.project 示例项目展示了如何使用这些组件。

    最大元素长度必须大于或等于 CSV 文件的最大列长度。

. 写入 CSV 文件:
  • CSVWriter 文件夹包含写入 CSV 文件的组件。

  • 数据保存分三步:

    • 第一步是初始化库。这时候就传递了路径和文件名。

    • 第二步是将数据存储在缓冲区中。

    • 第三步是将缓冲区写入 CSV 文件。

描述

该示例描述了如何在应用程序中使用库功能块。

经典过程式编程

基于功能块的经典编程的功能块位于 FunctionBlocks 文件夹。

该文件夹中的功能块专为异步处理而设计。它们源自于 CBM.ETrigA 功能块。

对于每个功能块,还创建了一个可在其他项目中使用的可视化对象。

这方面的一个例子可以在 CSV Utility Examples.project 项目在 CSVWriterCFCExample 应用。

初始化:这是通过以下方式完成的 Init 功能块。这里可以传递存储路径和文件名。

添加值:可以通过以下方式将值写入缓冲区 AddXXX 功能块。可以通过以下方式添加新行 NewLine 功能块。创建一个新文件 NewFile

节省:缓冲区通过以下方式保存 WriteFile 功能块。这些值以相应数据类型的标准格式写入。

可视化:每个功能块的输入和输出的可视化。

使用功能块

中的所有功能块 FunctionBlocks 文件夹对上升沿做出反应 xExecute 输入。

请注意,这些操作是异步执行的,并且 xDone, xError, 和 eError 必须对输出进行相应的采样。该处理不必在一个周期内完成。

面向对象编程

面向对象编程的功能块和接口位于 Objects 文件夹。

可以在以下位置找到一个示例: CSV Utility Examples.project 项目在 CSVWriterSTExample 应用。

CSVWriter 功能块提供保存 CSV 文件的基本方法。

初始化: 一开始, InitSave 必须调用方法来创建新文件或打开现有文件。

添加值: 当其中之一 Add 方法被调用时,值被写入缓冲区。一旦调用相应的方法,就会添加一个新行。如果缓冲区已满,则返回错误。一旦数据被保存,空间就可以再次用于新值。

  • AddXXX:在缓冲区末尾插入数据

  • NewLine: 添加新行

节省:

  • Save:将缓冲区的值保存为CSV文件

附加方法:

  • GetFileSize:返回当前文件的大小

  • NewFile:使用指定名称或自动生成的名称创建一个新文件

错误:所有方法都有一个错误字段来存储该类型可能出现的错误 CSV_ERROR

附加信息

CSV Utility SL Examples.project 示例项目包含一个示例应用程序 CSVReader 和两个示例应用程序 CSVWriter

应用: CSVReaderExample

该示例显示了从 CSV 文件读取值的三种方法。这 Prog 程序展示了如何使用 CSVReaderInit, NextElement, ReadAll, 和 NextLine 功能块。的内容 CSVReader.csv 文件以可视化形式显示。

提示

测试示例 CODESYS Control, CSV 文件 CSVReader 可以从安装的目标目录复制到 c:\temp 目录。

应用: CSVWriterCFCExample

本示例使用 CFC 示例来展示如何使用 CFC 中的功能块 CSVWriter 图书馆。它还展示了如何使用集成可视化。

功能:

  • WriteValues 程序创建一个 CSV 文件 "c:/temp/CSVWriterCFCExampleData.csv" 文件夹。

  • 在可视化中,单击 点击此处添加 按钮触发写入文件。

  • 初始化是通过以下方式完成的 CSV.Init 功能块。这里直接传递路径和文件名。

  • AddWord, AddString, 和 NewLine 功能块显示如何将值添加到内部缓冲区。

  • ctu 计数器在每个事件期间递增行号。添加新行后,值将通过以下方式写入 CSV 文件: WriteFile 功能块。

应用: CSVWriterSTExample

此示例演示如何通过面向对象编程或顺序编程将变量值写入 CSV 文件。每个进程在两个任务中执行。一项任务将值写入缓冲区,另一项任务将缓冲区中的数据保存到文件中。

功能:

  • ObjectOriented_Save (面向对象保存)

    这个程序调用了 Save 方法来自 DataObject,其中实现了保存操作。

  • ObjectOriented_Write (面向对象的写作)

    这个程序调用了 Write 方法来自 DataObject 写操作是在哪里实现的。

  • DataObject

    该功能块实现 ICSVObject 界面。这 Write 方法包含稍后将保存的局部变量。相应的 AddXXX 为每种数据类型调用方法。经过一定数量的行后,将使用其他值创建一个新文件。一旦发生错误, Error 已达到状态。那么其他的就不写了。这 Save 方法实现保存操作。一开始, InitSave 的方法 CSVWriter 调用功能块实例。之后,仅 Save 方法仍然需要被调用。

    要激活以下程序,必须更改任务中的 POU。

  • Sequential_Save (顺序保存)

    保存操作也必须以 InitSave 方法。 CSV 文件达到特定大小后,将创建一个新文件。如果未指定文件名,则使用带有附加编号的现有名称。

  • Sequential_Write (按顺序写)

    不同的变量被写入缓冲区。如果这已经满了,那么 EndOfBuffer 返回错误。与上述写入操作相反,这次忽略错误并继续写入缓冲区。结果,部分数据丢失,但程序继续运行。一旦开始下一个保存操作,缓冲区就会再次空闲。

系统要求和限制

编程系统

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

运行时系统

全部

注意:使用免费的 Device Reader 项目(可在 CODESYS Store International)找出控制器支持的功能。

附加组件

-

注意

_example_icon.png 下載 项目