新聞中心

        EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > Labview結(jié)構(gòu)的使用

        Labview結(jié)構(gòu)的使用

        作者: 時(shí)間:2017-01-05 來源:網(wǎng)絡(luò) 收藏

        其中添加順序局部變量是為了在各個(gè)幀之間傳遞數(shù)據(jù)。

        順序結(jié)構(gòu)的一個(gè)典型應(yīng)用就是計(jì)算程序運(yùn)行的時(shí)間,將通過這個(gè)例子來說明順序結(jié)構(gòu)的用法。

        1. 新建一個(gè)VI,在前面板上放置一個(gè)數(shù)值輸入控件“給定數(shù)據(jù)”和兩個(gè)數(shù)值顯示控件“執(zhí)行次數(shù)”,“所需時(shí)間”。
        2. 在程序框圖上放置一個(gè)層疊式順序結(jié)構(gòu),右擊結(jié)構(gòu)邊框,在彈出的快捷菜單中執(zhí)行兩次“在后面添加幀”,創(chuàng)建幀1和幀2。
        3. 選取第0幀,記錄程序運(yùn)行初始時(shí)間。
        4. 右擊順序結(jié)構(gòu)框圖的邊框,在彈出的快捷菜單中執(zhí)行“添加順序局部變量”,這時(shí)在第0幀的下邊框出現(xiàn)一個(gè)黃色小方框,這就是順序局部變量,它可以在同一個(gè)順序結(jié)構(gòu)中的各幀之間傳遞數(shù)據(jù)。

          放置一個(gè)時(shí)間計(jì)數(shù)器到順序結(jié)構(gòu)內(nèi),它位于函數(shù)→編程→定時(shí)→時(shí)間計(jì)數(shù)器。返回毫秒定時(shí)器的值,用與計(jì)算占用的時(shí)間。用連線工具將它與順序局部變量相連,這時(shí)黃色小方框里會(huì)出現(xiàn)一個(gè)指向順序結(jié)構(gòu)外部的箭頭,數(shù)值可用后續(xù)幀使用,如圖:

        5. 選取第1幀,實(shí)現(xiàn)等于給定值的匹配運(yùn)算。程序如圖:
        6. 選取第2幀,同樣放置一個(gè)時(shí)間計(jì)數(shù)器函數(shù)用于返回當(dāng)前時(shí)間,將它減去順序局部變量傳遞過來的第一幀初始時(shí)間后就可以得到花費(fèi)的時(shí)間,如圖:

        運(yùn)行,結(jié)果如圖:

        注意:Labview編程的主要特點(diǎn)是數(shù)據(jù)流形式,這便于VI大量的按照并行方式運(yùn)行,優(yōu)化了程序的計(jì)算性能。而順序結(jié)構(gòu)卻趨向于中斷數(shù)據(jù)流編程,禁止程序并行操作,順序結(jié)構(gòu)還掩蓋了部分代碼,所以用戶在編程時(shí)應(yīng)盡量不用或少用順序結(jié)構(gòu)。

        在實(shí)際應(yīng)用中,經(jīng)常用人為的數(shù)據(jù)依從關(guān)系來確定程序先后執(zhí)行的順序,在前面簇的章節(jié)中,我們就提到過Error簇可以控制程序執(zhí)行的先后順序,但并不是每一個(gè)控件都有Error簇的輸入和輸出端口,這時(shí)還有另一種方法能實(shí)現(xiàn)順序執(zhí)行的功能。如圖:

        從第一個(gè)While循環(huán)結(jié)構(gòu)中的布爾開關(guān)上連了一根線到第二個(gè)While循環(huán)結(jié)構(gòu)的邊框上,可以看到,第二個(gè)While循環(huán)結(jié)構(gòu)中沒有一個(gè)對象需要這個(gè)數(shù)據(jù),只是起到順序執(zhí)行程序的目的。

        公式節(jié)點(diǎn)

        用戶可以在程序框圖的兩個(gè)位置找到公式節(jié)點(diǎn)結(jié)構(gòu),一個(gè)位于函數(shù)→Express→算術(shù)與比較→公式;另一個(gè)位于函數(shù)→編程→結(jié)構(gòu)→公式節(jié)點(diǎn)。如圖:

        第一種公式節(jié)點(diǎn)的使用比較方便,如圖:

        當(dāng)把第一種公式節(jié)點(diǎn)放置到程序框圖上時(shí),系統(tǒng)便會(huì)自動(dòng)彈出如上圖所示的對話框,它的操作比較簡單,當(dāng)上述對話框右上方的方塊顯示為綠色時(shí),則表明系統(tǒng)識別輸入的函數(shù),當(dāng)出現(xiàn)非法函數(shù)時(shí),則表明系統(tǒng)不識別。如圖:

        它的使用雖然方便,但消耗的系統(tǒng)資源較多,下面我們將重點(diǎn)介紹第二種公式節(jié)點(diǎn)的使用方法。

        如圖:創(chuàng)建一個(gè)公式節(jié)點(diǎn)到程序框圖,在邊框上單擊右鍵

        選擇添加,然后即可在節(jié)點(diǎn)框中輸入變量名稱,如圖:

        公式節(jié)點(diǎn)中的函數(shù)和操作符與C語言中的基本相符,遇到特殊函數(shù)時(shí)查表即可。

        應(yīng)用舉例:

        例一:該例的目的事聯(lián)系使用條件表達(dá)式來執(zhí)行不同條件時(shí)的數(shù)據(jù)傳輸。

        下面的代碼表示:如果X為非負(fù)數(shù),Y等于X的平方根;如果X為負(fù)數(shù),Y等于-999。

        if(x>=0)then y=sqrt(x)

        else y=-999

        end if

        對這段代碼可以用公式節(jié)點(diǎn)來計(jì)算,需要注意大小寫,如圖所示:

        運(yùn)行結(jié)果如圖:

        例二:該例的目的是聯(lián)系使用公式節(jié)點(diǎn)來計(jì)算兩個(gè)輸出x1和x2,并在同一圖表中顯示。



        關(guān)鍵詞: Labview結(jié)

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 西藏| 清原| 两当县| 旌德县| 静乐县| 涞水县| 略阳县| 泉州市| 日土县| 绍兴市| 崇仁县| 从江县| 金昌市| 香格里拉县| 衡山县| 古蔺县| 城口县| 开封市| 泰安市| 巫溪县| 浙江省| 和顺县| 格尔木市| 张掖市| 山东| 斗六市| 湛江市| 赤城县| 陇川县| 祁门县| 中江县| 盖州市| 黔西县| 梨树县| 宜宾县| 磴口县| 赣州市| 梁山县| 永福县| 南部县| 三都|