LabVIEW 程序执行架构——方程式节点
Formula Node 介绍
C 语言算是目前文字描述语言中最多人使用过的程序语言,所以在 LabVIEW 中也提供了 Formula Node 这个元件,让使用者可以使用类似 C 语言的方式来撰写部分的程序。通常建议遇到较复杂的算法或数学方程式时,才将部分程序片段放入 Formula Node;而这并不是表示 LabVIEW 无法设计复杂的算法或数学式,而是部分复杂的数学式的确是使用文字式来描述会较为方便,且若已经有现成的 C 语言程序片段,即可以利用此元件来引进使用。
建立 Formula Node 的方式是在 Block Diagram 按鼠标右键选择 Programming >> Structures >> Formula Node:

Formula Node 使用说明
我们以算法中最基本的也是最多人知道的气泡排序法做为讲解的例子。
气泡排序是一种将阵列中的数值由大小进行顺序排序。假设现在我们需要将 n 笔资料 data[0]、data[1]、...、data[n] 由小排到大,则先比较 data[0] 与 data[1],若是 data[0] > data[1] 则交换两笔资料。接着比较 data[1] 与 data[2],若是 data[1] > data[2] 则再交换两笔资料,一直到比较完 data[n-1] 与data[n] 为止。到目前为止,我们已经确定 data[n] 是 n 笔资料中最大的数字。接着要重复刚刚的动作,不过这一次只需要比较到 data[n-2] 与 data[n-1] 即可。到目前为止,我们可以确定 data[n-1] 是 n 笔资料中次大的数字。接着就继续重复同样的动作,直到确定所有的资料为止。
我们先来看看如果用 LabVIEW 来完成这个程序要怎么设计。我们可以使用两个 For Loop 做为循环使用,然后在循环内做比较的动作:

而如果要用 Formula Node 来设计的话,你必需要先在 Formula Node 建立输入与输出的节点,以将资料传入或传出程序。建立方式是在边框上按鼠标右键选 Add Input 或 Add Output:

下图即是使用 Formula Node 所完成的气泡排序,同样也是使用两个 For 循环语法,再用 if - then - else 方式做比对与资料交换:

而 Formula Node 并不是所有的 C 语法都支援,建议在使用时先确认 Help 说明文件的内容,以了解所支援的范围与函数。
非常之明白,谢谢你
