1.TDMS文件读写
TDMS写入文件可以支持以下数据类型:
一维数组、二维数组。数组的元素类型可以是:有符号或者无符号的整数;单精度、双精度或扩展精度数值;不包含空字符的字符串由数字和字母组成的字符串;时间标识;布尔。
波形,或一维、二维波形数组。
数字表格。
动态数据。
2.压缩文件
需要注意的是,添加文件到ZIP文件函数中“ZIP文件目标路径是需要相对路径”,可以采用FILE→高级函数→两路径比较函数来产生相对路径。
3.File Dialog
Button Lable :接确定按钮中的文本;Prompt:接弹出对话框提示;default name:接默认选中的名字;Pattern:接选择文件的类型,如*.txt、*.*;pattern name:接用户选择类型提示。
4.Read Text File
按图中进行txt文本写入和读取时,读取txt读取不到任何字符,并且未返回错误。该做法需要注意。
右键选择读取行,在count上未连接的话,读取单行并返回字符串类型输出,在count上连接-1,则读取所有行并返回字符串类型的数组。
如未通过右键单击函数在快捷菜单中取消勾选转换EOL选项,该函数将把所有基于平台的行结束符转换为换行符。
5.动态注册事件与用户事件
用户事件的创建流程:创建用户事件→注册用户事件→产生、处理用户事件→取消注册事件→销毁用户事件。
动态注册事件与用户事件的异同:动态注册事件与用户事件都是通过注册事件事件函数实现的;不同的是输入参数,动态事件输入的是控件的引用,而用户事件是用户的引用。
Labview 例程中的动态注册事件中的 VI的非法引用句柄在Labview前期版本内是有鼠标移动事件的,在后期版本内没有,将此换为窗格引用就可以,在2018版本中可行。
6.队列与数据缓冲区的异同
都是先进先出的FIFO结构
初始化后都是没有数据的
数据缓冲区与队列装满数据后,数据缓冲区自动移出进入缓冲区的数据,队列则是要求如队列的线程被动等待,直到队列中有别的线程取出数据,才会新入队列
7.Labview 读取和写入Excel文件
通过设置Get Worksheet函数可以指定读取Excel中某一个工作表。通过设置Get Data函数中的start可以指定开始读取的位置。 Start与End均不设置时,该函数会读取这个Excel表格,行列的坐标索引均从0开始,仅设置Start时,只能读取一个一维数组,当与End搭配使用时,可以读取二维数组。
Excel写入
该函数的作用为,Excle单元格合并功能,只需要设置好Start与End。
写入Excel表头,在Title中写入要输入的表头并设置其Start与Font。
适合写入单个单元格的函数,当其起始位置均设置后,会将起始位置范围内的单元格进行合并。并会返回当前函数执行完后的下一个空白单元格左下角与右上角的行列信息。
适合写入二维数组,写入时可以指定数据的行首和列首的信息。
根据设置的起始位置,设置单元格边框的颜色及粗细。
根据起始位置设置单元格水平与竖直方向的对齐方式。
8.Word 文件的写入和读取
Word文件的写入与Excel文件大同小异,在读取上Labview并没有读取的相关函数,只可以调用ActiveX。
9.右键快捷菜单的设定
对于表格或者多列列表框,在某些场合需要自定义设定其右键快捷菜单的内容及其功能,以下为多列列表框的设置方法:
在事件结构内设定多列列表框的快捷菜单激活事件,删除默认的菜单项,并插入自定义的菜单标识符,此时就可以在运行时看到其效果,需要注意的是每次右键时都会触发该事件,对于移位寄存器内的数据要做好相应的保护。
然后在对应控件的快捷菜单选择中设定对应动作的处理。
10.TCP与UDP
TCP读取:TCP为流控制传输,会将未读取的数据放到缓冲区内,所以当读取时可以选择将TCP缓冲区内的所有数据都读取出来,然后根据数据的特征进行解析。此也可以用来清空TCP缓冲区,将超时设置1ms,然后清空错误即可。
UDP读取:UDP为报文传输,所以在读取时可以选择直接最大字节数去读取每次读取只能读取一包数据,该包数据的大小取决于发送方。但是UDP在Labview中无法一次全部将数据读取出来,只能不断的读取,然后将读取出来的数据存起来,防止UDP缓冲溢出后,新的数据进不来的情况。
打开本地UDP对应端口后,即使不读取数据,其他端口传过来的数据也会先暂存到数据接收缓冲区。