学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
博客写作背景----项目中解决的问题
最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。
下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。
编程知识点–labview编程笔记之顺序结构
求两个数的和与差。已知两个数a和b,则两者之和为x=a+b,两者之差为y=a-b。要求通过计算机编程实现和与差的计算。具体地,a和b由键盘输入,输出和与差的值,即x=a+b,y=a-b。
利用LabVIEW来实现,其代码如图所示。
图形化编程语言LabVIEW与文本式语言(比如C语言)不同的地方有:①基于LabVIEW进行的编程,不需要定义变量;②基于LabVIEW编程的参数输入是在前面板上实施的;③LabVIEW具有天生的并行特点,比如,x和y是并行计算出来的。而在图4.1所示的基于C语言完成的编程代码中,x先于y被计算。
由于采用了数据流机制,利用LabVIEW编写的VI天生就具有并行的特点。
计算一段程序的运行时间。
计算程序运行时间的VI,是一个要严格控制程序执行顺序的典型案例,可以利用顺序结构来实现,该VI的程序框图如图所示。
它共有3帧,在第0帧中,调用了“时间计数器”函数,输出当前时间;在第1帧中,可以调用要测试的VI,在本例中,调用了一个“时间延迟”函数来代替;在第2帧中,调用了“时间计数器”函数,输出当前时间,如此,由第2帧输出的时间减去第0帧输出的时间,就得到了第1帧中VI的运行时间。
如图所示,平铺式顺序结构各帧之间的数据可以通过连线直接穿过帧壁进行传递。平铺式的顺序结构非常直观,就像是电影胶片,程序执行完第0帧里的代码,然后逐个执行第1帧、第2帧里的代码,从而严格控制了VI代码执行的先后。
平铺式的顺序结构,会让程序功能看起来一目了然。但是,当顺序结构的帧数过多时,用平铺式顺序结构会使VI看起来过大。针对于此,可以通过调用快捷菜单中的“替换为层叠式顺序”功能,将平铺式的顺序结构转换成层叠式的,以使得VI看起来更为紧凑。
将上图所示程序框图上的平铺式顺序结构转换成层叠式顺序结构,效果如图所示
层叠式顺序结构在空间上只占用顺序结构一帧的大小,可通过单击层叠式顺序结构中上方的选择器按钮,来查看其不同帧的程序代码。为理解起来方便,图4.5中,是将层叠式顺序结构的各个帧分别复制出来,然后显示在了同一平面上。