写入电子表格文件VI或数组至电子表格字符串转换函数可将来自图形、图表或采样的数据集转换为电子表格字符串。LabVIEW 2012中文版提供了两个VI用于写入和读取电子表格文件,它们分别是写入电子表格文件VI和读取电子表格文件VI。例8-3:写入电子表格文件VI的使用。图8-124 连续写入电子表格文件程序框图下面使用读取电子表格文件VI演示数据读取中的流盘操作。......
2023-11-26
要将数据写入电子表格,必须格式化字符串为包含分隔符(如制表符)的字符串。
写入电子表格文件VI或数组至电子表格字符串转换函数可以将来自图形、图表或采样的数据集转换为电子表格字符串。
LabVIEW 2015中文版提供了两个VI用于写入和读取电子表格文件,它们分别是写入电子表格文件VI和读取电子表格文件VI。下面以两个实例分别介绍这两个函数存取电子表格文件的方法。
写入电子表格文件VI可以将一个一维或二维数组写入文件,如果没有在文件路径输入端口指定文件路径,则程序会弹出一个“文件”对话框,提示用户给出文件名。除了文件路径输入端口以外,此VI的二维数据和一维数据输入端口分别用于连接将要存储为文件的二维和一维数组。“添加至文件?(新文件:F)”输入端口用于连接一个布尔变量,如果变量的值为TRUE,则输入的数据追加到已有文件的后面,如果是FALSE,则输入的数据将覆盖原有的文件。“转置?(否:F)”数据输入端同样也连接一个布尔型变量,如果是TRUE,则将输入的数组做转置运算,然后将运算的结果存储为电子表格文件。在格式数据输入端口可以更改数组中数据的格式。
1.写入电子表格文件VI的使用
写入电子表格文件VI的演示程序的程序框图如图7-121所示。
图7-121中的程序将For循环产生的正弦与余弦数据存储在电子表格文件data中,用Microsoft Excel打开这个文件,可以发现文件中有两行,第一行为余弦数据,第二行为正弦数据,用Microsoft Excel的绘图功能分别汇出这两行数据的散点图分别如图7-122和图7-123所示。
图7-120所示的程序可能有些不容易理解,问题在于两个写入电子表格文件VI的执行次序问题。更容易理解且更常用的方法是将数据合并成一个二维数组,将二维数组一次性写入电子表格文件。程序框图如图7-124所示。
图7-121 程序框图
图7-122 用存储在电子表格文件中的余弦数据绘图
图7-123 用存储在电子表格文件中图的正弦数据绘图
图7-124 使用写入电子表格文件VI写入二维数组
本程序充分印证了电子表格的特性,也是这种文件格式最大的好处,可以用其他电子表格处理软件来处理文件中的数据。
2.电子表格文件的读取
电子表格文件的读取演示程序的程序框图如图7-125所示,使用读取电子表格文件VI读取用写入电子表格文件VI存储的正弦与余弦波形文件。
如果不在读取电子表格文件VI的文件路径端口连接任何路径,那么程序将打开“文件路径”对话框,让用户选择存储的电子表格文件的路径。在读取电子表格文件VI中另外几个比较重要的端口有行数(全部:-1)、读取起始偏移量(字符:0)和转置(否:F)。
将读取的电子表格文件的数据使用波形图控件在前面板上显示,程序的前面板及运行结果如图7-126所示。
图7-125 程序框图
图7-126 程序前面板及运行结果
在程序前面板中,波形图控件显示出了用读取电子表格文件VI读取的电子表格中的数据。两条正弦余弦曲线就是上一节中用写入电子表格VI存储的正弦、余弦数据。(www.chuimin.cn)
“文件I/O”函数还可用于流盘操作,它可以减少函数因打开和关闭文件与操作系统交互的次数,从而节省内存资源。流盘是一项在进行多次写操作时保持文件打开的技术,如在循环中使用流盘。如将路径控件或常量连接至写入文本文件、写入二进制文件或写入电子表格文件函数,则函数将在每次函数或VI运行时打开关闭文件,增加了系统占用。避免对同一文件进行频繁的打开和关闭操作,可提高VI效率。
在循环之前放置打开/创建/替换文件函数,在循环内部放置读或写函数,在循环之后放置关闭文件函数,即可创建一个典型的流盘操作。此时只有写操作在循环内部进行,从而避免了重复打开、关闭文件的系统占用。
对于速度要求高、时间持续长的数据采集,流盘是一种理想的方案。数据采集的同时将数据连续写入文件中。为获取更好的效果,在采集结束前应避免运行其他VI和函数(如分析VI和函数等)。
3.文件I/O函数的流盘操作
使用写入电子表格文件VI演示文件I/O函数的流盘操作。操作步骤如下。
“打开/替换/创建”VI的操作端口设置为“create or open”,即创建文件或替换已有文件。文件名的后缀并不重要,但习惯上常取“txt”或“dat”。
4.利用While循环将数据写入电子表格文件
5.使用关闭文件函数节点关闭文件
信号源是一个随机噪声。VI的前面板和程序框图如图7-127和图7-128所示。
图7-127 连续写入电子表格文件前面板
图7-128 连续写入电子表格文件程序框图
可以使用Windows操作系统的文本编辑工具查看文件中的数据。图7-129所示是用记事本打开的所存储的数据文件。从图中可以看出,数据共有一列20行,每一行对应一次数据采集,每次数据采集包含一个数据。
下面使用读取电子表格文件VI演示数据读取中的流盘操作。步骤如下。
1)使用“打开/替换/创建”VI打开一个文件,它的操作端口设置为“open”,即打开已有文件。
2)使用读取电子表格文件VI将保存在文件中的数据逐个读出。将这些数据打包成数组送入波形图显示。
3)使用关闭文件函数节点关闭数据文件。
VI的前面板及运行结果如图7-130所示,VI的程序框图如图7-131所示。
图7-129 写入电子表格文件中的数据
图7-130 连续读取电子表格文件程序前面板及运行结果
图7-131 连续读取电子表格文件程序框图
有关LabVIEW 2015虚拟仪器程序设计的文章
写入电子表格文件VI或数组至电子表格字符串转换函数可将来自图形、图表或采样的数据集转换为电子表格字符串。LabVIEW 2012中文版提供了两个VI用于写入和读取电子表格文件,它们分别是写入电子表格文件VI和读取电子表格文件VI。例8-3:写入电子表格文件VI的使用。图8-124 连续写入电子表格文件程序框图下面使用读取电子表格文件VI演示数据读取中的流盘操作。......
2023-11-26
例9.2中的程序是按处理文本文件的方式来编写的。在文件内部有一个位置指针,用来指向文件的当前读写字节。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。例9.3将例9.1中的建立的文件A.dat的内容在屏幕上显示。例9.4从A.dat文件中读入一个含10个字符的字符串。例9.6从键盘输入两个学生数据并写入一个文件中,再读出这两个学生的数据显示在屏幕上。......
2023-11-18
前面章节讨论了将数据写入文件和从文件中读取数据的方法。在上述两方面应用的文件数据处理中,文件操作的模式应该是“读写”文件。“读写”文件的打开模式有两大类:读为主的读写类模式和写为主的读写类模式。在对文件数据读写时,必须确认读写位置指针的性质是“读位置指针”还是“写位置指针”。下面通过两个示例展示文件“读写”模式的使用方法。......
2023-11-20
本实例演示用“罗列文件夹”函数读取文件夹路径,并对该文件夹下文件进行复制、删除。选择菜单栏中的“文件”→“另存为”命令,输入VI名称为“编辑选中文件”。图7-164 复制文件3)单击“删除”按钮,则直接删除选中的文件。4)单击“取消”按钮,关闭该对话框,不对选中文件执行任何操作,返回程序框图。......
2023-11-07
写入波形至文件和导出波形至电子表格文件VI前者可以将波形写入文件,后者可以将波形写入电子表格、文本文件或数据记录文件。1.测量文件的写入首先使用正弦波发生器产生了一个正弦波形,然后使用写入测量文件Express VI将该波形写入一个测量文件。下面的例子演示了测量文件的读取方法。图7-140 写入测量文件Express VI的配置图7-141 前面板图7-142 程序框图2.测量文件的读取使用读取测量文件Express VI。......
2023-11-07
在程序设计中,需要区别文件指针和文件内部读写位置指针两个不同的操作对象。文件内部读写位置指针用以指示文件内部的当前读写位置,每读写一次,根据读写记录的个数,该指针均自动向后移动与读写方式相适应的距离。读写位置指针未到文件尾时函数返回0值;读写位置指针到达文件尾时函数返回非0值。......
2023-11-20
启用前面板数据记录或使用数据记录函数采集数据并将数据写入文件,从而创建和读取数据记录文件。例如,采集带有时间和日期标识的温度读数时,将这些数据写入数据记录文件需要将该数据指定为包含一个数字和两个字符串的簇。图7-136 程序前面板图7-137 程序框图2.数据记录文件的读取1)使用文件对话框VI打开一个文件对话框,选择文件路径。3)读取完毕,使用关闭文件函数节点关闭数据文件。......
2023-11-07
在x86处理器和PowerPC处理器中,PCI设备对“不可Cache的存储器空间”进行DMA读写的过程并不相同。在x86处理器中,PCI设备向不可Cache的存储器空间进行读操作时,CPU也必须进行Cache共享一致性操作,而这种没有必要的Cache共享一致性操作将影响PCI总线的传送效率。此时PowerPC处理器不会在FSB总线中进行Cache一致性操作,即忽略FSB总线事务的Snoop Phase。PCI设备进行DMA写时,数据将直接进入主存储器,而PCI设备进行DMA读所读取的数据将直接从主存储器获得。......
2023-10-20
相关推荐