我是个 labview初学者,所学专业是电气工程及其自动化,将来要研究的方向是电力系统及其自动化,主要偏向于电力系统监测与控制和电能质量问题。因而我需要对硬件装置采集过来的电力系统三相电压、电流参数进行分析,完成波形回放及相关电能质量参数的计算。那么面临的首要问题就是如何实现硬件装置采集过来的数据和Labview间的数据交互问题。当然我这里说的是静态的数据交互。
导师所给我的数据是从硬件装置生成的 TXT文本格式的数据,如图 2.1所示。第一列是数据的序号,第二列是时间信息,后面三列是ABC三相基波电压数据。图2.1原始TXT格式数据 2.2 数据格式转换 为了进行数据处理,需要将 TXT格式的数据导入Labview可以读取的EXCEL电子表格中,具体操作步骤如下。(1)对原始TXT格式数据做去表头处理,生成如图2.2所示格式的数据形式。 图2.2去表头处理后的TXT数据 (2)新建一个EXCEL电子表格,在工具栏中单击“导入数据”,如图2.3所示。 图2.3导入数据 (3)单击“选择数据源”,选择步骤(1)中经过去表头处理后的TXT数据,如图2.4和2.5, 图2.4选择数据源 图2.5选中去掉表头后的TXT数据 单击“打开”,进行“文件转换”,如图2.6, 图2.6文件转换 单击下一步,出现如图2.7的文本导入向导, 图2.7文本导入向导 单击下一步,出现如图2.8的文本导入向导, 图2.8文本导入向导 在“分隔符”一栏中勾选“空格”,单击下一步,出现如图2.9的文本导入向导, 图2.9文本导入向导 (4)勾选“不导入此列”,单击完成,即可看到如图2.10所示已经将数据导入到EXCEL电子表格中。 图2.10数据导入完成 (5)删除前两列关于序列号和时间信息的数据,即可得到ABC三相的电压波形数据,然后将A、B、C三相的数据分别存于三个EXCEL表格的第一列中,最后文件另存为的格式不是普通的.xls格式,而是后缀为.csv的格式,这样数据就可以被Labview读取了。以A相数据为例,如图2.11所示。 图2.11A相数据 (6)电子表格和软件间的数据交互 利用Labview去读取只保存有A相电压波形数据的EXCEL电子表格,并将其中包含的一维波形数组数据以波形的形式在前面板的波形图中显示出来。前面板和程序框图分别如图2.12和2.13所示。 图2.12前面板 图2.13程序框图 从图2.13所示程序框图中可以看到,EXCEL电子表格文件和Labview之间的数据交互需要一个文件路径输入控件、一个读取电子表格子VI、一个控制数组转置的布尔常量,在这里将这三个控件或子VI统称为单相读取数据单元。 对于单相数据的读取程序框图可模仿图2.13,而三相数据的读取用三个单相读取数据单元即可同时读入三相的数据。
注:
(一)我曾经试过,即使EXCEL里只剩下ABC三相电压的数据,即有三列,但是Labview只能读取保存于第一列,即A列中的数据,无法运用一个EXCEL文档将三列数据同时读取,所以我只能将三相数据保存于三个文档中。不知道哪位高手可以对这个问题做下改进。
(二)曾经有人建议我,最后不要将三相电压数据保存于后缀为.csv的文档中(我想知道为什么),而将数据保存于以tab键作为分隔符的TXT文档中。
下面是我针对于第二个问题,做的尝试
按照上面的步骤做到这一步,
将此文档另存为以taba键为分隔符的TXT文档中,文档名字命名为test.txt,如下图,
为了读取这个test.txt文档,我自己编了一个vi,名字为读取TXT.vi,程序框图如下图所示
读取TXT.vi和test.txt同时放在一个文件夹内,
运行vi,出现如下所示错误
我是百思不得其解,请高手指点,我不知道那里出了问题,
2
|
|
|
|
好牛逼。。。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
|