学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
博客写作背景----项目中解决的问题
最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。
下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。
编程知识点–labview编程笔记之事件结构
事件结构是LabVIEW中用来响应各种用户消息、系统消息等的处理结构,如图1所示,事件结构由一个或多个分支组成,分支上方的标签标识了何种事件发生时运行该分支中的框图程序,每个分支可响应一个或多个事件。
左上角的沙漏型图标为“超时接线端”,可连接至数值型数据,用来指定事件结构等待某个事件发生的时间(以毫秒为单位),等待时长超过该时间后就执行“超时”事件分支中的框图程序。默认值为-1,表示永不响应超时事件。
事件发生时的属性值和信息可通过“事件数据节点”读取,供分支内程序使用,这在某些场合非常有用,例如,读取按钮的新旧状态、键盘输入的键值、鼠标点击的坐标值等。
如需为事件结构添加新的分支,可以通过事件结构鼠标右键菜单中的“添加事件分支…”项实现,但需注意新添加的分支所响应的事件不可与事件结构中已有的分支事件重复。若需修改当前分支的标签,可以通过鼠标右键菜单中的“编辑本分支所处理的事件…”项实现。
如果单独使用一个事件结构,只能响应一次事件,为了保证持续响应多次事件,常常将事件结构嵌套在while循环结构中使用,这也是事件驱动型程序的基本框架。
编写一个简易加法器VI,其输入参数有“加数1”和“加数2”,输出结果是“和”。要求一旦VI运行后,在前面板上改变“加数1”或“加数2”的值,结果“和”的值便会跟着做相应改变。
这个VI的算法部分很简单,编写好的VI程序框图如图1所示。为了实现VI运行后,计算结果会随着输入参数的变化而改变,可以将图1所示的程序代码放入一个While循环中,并在前面板上创建一个开关按钮,在程序框图上,用连线将该开关按钮与While循环的条件端子连接起来,如图2所示。