【JokerのLabView】程序结构。

版本:LabView2018


while循环

在前面两篇也都有提到过while循环了,这里写个小例子再细说一下。

【JokerのLabView】程序结构。

例子达到的作用是输入任意数值, 循环中计算1到该数+1的累加和。注意左下角的i是对while循环计次,当前进行了多少次while循环,这里i就是几,左上方的箭头是反馈节点的标志,这个在模块中找不到,当把输出接回到输入端口,会自动产生这个模块,至于为什么是该数+1,举个例子,当输入数值为10的时候,i=11时,i>输入数值为真,循环停止,但循环不会立即停止,而是会把当前循环中所有分支跑完,然后停止。

【JokerのLabView】程序结构。


for循环

通过给一个矩阵随机初始化,来说一下for循环里的东西。哦对了,先说下数组。

【JokerのLabView】程序结构。

 从数组、矩阵与簇中直接拖出来的数组是这个样子,这个样子的数组里什么都没有,使用的时候要从数值里丢数值控件或者从字符串里丢字符串控件进去,就可以变成数值数组或字符串数组。

【JokerのLabView】程序结构。

红圈处相当于是数组的下标,右侧才真正是数组中的元素,把元素边框往下拖,可以增加数组元素个数,把红框处的边框往下拖可以增加数组维数,当数组的维数大于1的时候,数组元素的边框才能往右边拖,展示出多行多列来。

【JokerのLabView】程序结构。

例子是两个for的嵌套,根据循环的次数,循环给数组中的元素幅值, for循环左上角的N就是for循环的进行次数,左下角的i是当前进行的for循环次数,其余控件就不用说啦,实际运行的结果就是下面这个样子。

【JokerのLabView】程序结构。

 


事件结构

事件结构就是专门用来响应事件发生的结构,对于不一样的事件产生,触发不一样的分支的结构,有点类似switch-case。

【JokerのLabView】程序结构。

可以看到,就算你在前面板拖了许多控件,当事件源,但是时间结构右侧下拉箭头里的分支里还是只有一个超时,其实具体是这么用的,当你想让确定按钮来做事件源,当按钮被按下时进入确定按钮响应事件的分支时,在分支结构上面中间超时的那个位置,右键--->添加事件分支。

【JokerのLabView】程序结构。

 在中间事件源--->控件--->确定按钮,右侧事件--->值改变。

【JokerのLabView】程序结构。

 这样就有确定按钮的事件分支了,接下来连线就完事儿了。

【JokerのLabView】程序结构。

【JokerのLabView】程序结构。

【JokerのLabView】程序结构。

 前端运行,没毛病~

【JokerのLabView】程序结构。


条件结构

 条件结构与事件结构看起来类似,也是最上边有个分支选择,不过刚拖出来时候默认的分支只有真假,既然是条件结构,自然有条件选择的接口,接口在哪?看最左边,边框中间有个绿色小问号,对初学者而言,神他吗不仔细看就得错过了的样子。

【JokerのLabView】程序结构。

小例子做个傻瓜式流水灯,通过左侧循环计次对5取余数,然后余数+1,用结果来选择分支,从1~5不同的结果进入不同的分支,然后亮不同的灯,通过前面板中,数值--->水平指针滑动杆来调整闪烁的延迟时间。当左边线连到问号的时候,条件结构最上面分支选择就自动变成了0、1。

【JokerのLabView】程序结构。

通过在分支选择处右键--->本分支设置为默认分支,来将本分支设为默认,右键--->在后面添加分支,来增加2、3、4、5分支。最后进入0分支,右键--->删除本分支,将没用的0分支删除掉。

【JokerのLabView】程序结构。

 

其余分支结构如下。

 

【JokerのLabView】程序结构。

 

【JokerのLabView】程序结构。

 

【JokerのLabView】程序结构。

【JokerのLabView】程序结构。

 前面板运行,拖动水平刻度条,可以看到灯闪烁的间隔发生明显的变化。

【JokerのLabView】程序结构。


公式节点

对没错,拖出来就是一个大黑框,大黑框就是公式节点。

【JokerのLabView】程序结构。

 没有没有我胡说的,不是这么用的,做个简单的例子来说明一下。输入控件和显示控件左右放好,然后在左边框右键添加输入,键入输入变量名,右边框添加输出,键入输出变量名,最后连线。

【JokerのLabView】程序结构。

黑色框中是直接可以输入C代码的,这也是公式节点与其他结构最大的不同,最贴近原本的编程习惯。完成后的整个例子如下。

【JokerのLabView】程序结构。

 前面板运行结果如下。

【JokerのLabView】程序结构。


 最后做一个综合的例子,华氏度与摄氏度之间可以相互转换,并可设置报警温度值,当前温度超过报警温度值时,报警灯亮起,计数器加一,总共采集一百次。

显示华氏温度时逻辑如下。

【JokerのLabView】程序结构。

显示摄氏温度时逻辑如下。

【JokerのLabView】程序结构。

再次添加条件结构,当单击开始采集按钮后,首先进行计数器的初始化,然后进行一百次的温度采集,当采集完毕后发出对话框提示采集完毕,因为执行过程有先后顺序,所以内嵌一个条件结构,并对内嵌的条件结构在条件分支处右键,替换为层叠式顺序,将原来的真、假分支,替换为1、2、3等顺序分支,各个分支按顺序执行。

【JokerのLabView】程序结构。

 如前所说,将0分支改为初始化分支,初始化计数器,橘黄色框为局部变量控件,在结构中红色框圈出的地方可以找到,其值与图中最左侧的报警计数控件通过相关联,这种关联关系通过对局部变量控件右键--->选择项--->报警计数来建立。

【JokerのLabView】程序结构。

1分支为温度转换和温度报警分支,加for结构,将N设定100,把最开始的温度切换拖入分支并添加报警计数处理过程,这里主要说下两个小红圈处的移位寄存器,通过在for结构边界右键--->添加移位寄存器来得到,起到的作用是将本次计算的结果幅值给下一次循环的开始,若当前温度大于设定上限值则判断为真,触发计数器加一,直到100次for循环结束。

【JokerのLabView】程序结构。

在分支1标签处右键--->在后面添加帧,添加分支2,当100次采集完毕后显示对话框,可以在对话框与用户界面--->单按钮对话框找到,局部变量采集进度与分支1左下角的进度条控件相关联。

【JokerのLabView】程序结构。

前面板界面及运行结果如下图。

【JokerのLabView】程序结构。