示例:使用CSV Utility SL 图书馆
这
CSVReader
文件夹包含读取 CSV 文件的组件。文件路径的初始化和传递是由
CSVReaderInit
功能块。CSV 文件的值可以单独、逐行或一次性全部读取。这
NextLine
,NextElement
, 或者ReadAll
功能块用于读取值。的
CSVReaderExample
应用在CSV Utility Examples.project
示例项目展示了如何使用这些组件。最大元素长度必须大于或等于 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 或更高版本) |
运行时系统 | 全部 注意:使用免费的 |
附加组件 | - |
注意
下載 项目