本文是基于LabVIEW虛擬儀器系統(tǒng)開(kāi)發(fā)與實(shí)踐等原理、技術(shù)而設(shè)計(jì)出的科學(xué)計(jì)算器,是利用虛擬儀器技術(shù)而完成的。可以用來(lái)模擬真實(shí)計(jì)算器而進(jìn)行簡(jiǎn)單的加減乘除四則運(yùn)算、平方、開(kāi)根號(hào)和倒數(shù)運(yùn)算,以及進(jìn)行三角函數(shù)的數(shù)值轉(zhuǎn)換。本次設(shè)計(jì)運(yùn)用條件結(jié)構(gòu)、順序結(jié)構(gòu)以及層疊式順序結(jié)構(gòu)等實(shí)現(xiàn)具體的計(jì)算器功能,利用子VI進(jìn)行相關(guān)數(shù)值的轉(zhuǎn)換。LabVIEW 是美國(guó)國(guó)家儀器公司推出的一種基于 G 語(yǔ)言的虛擬儀器軟件開(kāi)發(fā)工具。本文首先介紹了LabVIEW科學(xué)計(jì)算器設(shè)計(jì)的理論支撐,然后使用LabVIEW設(shè)計(jì)了詳細(xì)程序框圖和程序的前面板,并對(duì)設(shè)計(jì)過(guò)程中所遇問(wèn)題進(jìn)行總結(jié),最后對(duì)科學(xué)計(jì)算器進(jìn)一步的設(shè)計(jì)優(yōu)化進(jìn)行了展望。
在確定計(jì)算器功能類(lèi)型和數(shù)量的基礎(chǔ)上,查閱相關(guān)資料對(duì)方案進(jìn)行論證,完成總體設(shè)計(jì)。繪制出系統(tǒng)總圖和計(jì)算器界面總框圖。計(jì)算器設(shè)計(jì)流程圖如圖2所示。

圖2 計(jì)算器設(shè)計(jì)流程圖
在LabVIEW開(kāi)發(fā)環(huán)境下,創(chuàng)建可執(zhí)行文件必須在“項(xiàng)目”下進(jìn)行。本程序的項(xiàng)目瀏覽器窗口如圖3所示。

圖3項(xiàng)目瀏覽器
在項(xiàng)目瀏覽器中,我們可以看到,項(xiàng)目調(diào)用了很多子VI,主界面主VI控制著整個(gè)程序的邏輯結(jié)構(gòu)和運(yùn)算過(guò)程,主要是對(duì)用戶界面上的操作輸入和運(yùn)行結(jié)果的顯示。其他的子VI可以被一些模塊調(diào)用,即主VI調(diào)用子VI。本項(xiàng)目主要使用了七個(gè)子VI,如圖4所示。

圖4 色彩繽紛的子程序圖標(biāo)
本設(shè)計(jì)的程序框圖主要運(yùn)用了條件結(jié)構(gòu)和事件結(jié)構(gòu),結(jié)合模塊化的子VI,可構(gòu)成我們所需要的功能。多事件結(jié)構(gòu)的程序框圖如圖5所示。

圖5多事件結(jié)構(gòu)的結(jié)構(gòu)框圖
三、程序的基本設(shè)計(jì)
(一)“計(jì)算器”程序的前面版
本次設(shè)計(jì)的計(jì)算器共設(shè)計(jì)40個(gè)鍵碼,分別為:0~9 十個(gè)數(shù)字、小數(shù)點(diǎn)、正負(fù)號(hào)、加、減、乘、除、等號(hào)、倒數(shù)、開(kāi)方、平方、 π、sin、cos、tan、角度轉(zhuǎn)換和清零,還有一個(gè)數(shù)據(jù)顯示和一個(gè)時(shí)間顯示。具體設(shè)計(jì)如圖6所示。

圖6 前面板
(二)“計(jì)算器”程序的程序框圖
本程序框圖通過(guò)一個(gè)while循環(huán)套用一個(gè)事件結(jié)構(gòu)和一個(gè)條件結(jié)構(gòu),以及一個(gè)調(diào)用節(jié)點(diǎn)完成對(duì)函數(shù)的調(diào)用,進(jìn)而完成對(duì)計(jì)算器的兩個(gè)輸入數(shù)據(jù)的加、減、乘、除運(yùn)算和一些特殊運(yùn)算。整體程序框圖如圖7所示。
圖7 整體程序框圖
(一)簡(jiǎn)單子VI的程序框圖
子VI相當(dāng)于普通編程語(yǔ)言中的子程序,也就是被其他的VI調(diào)用的 VI。下圖幾個(gè)框圖顯示了加減計(jì)算、乘除計(jì)算、括號(hào)、抽離上一元素、和刪除多余的零等一些子VI的程序框圖。

圖8“加減計(jì)算”的程序框圖

圖9“乘除計(jì)算”的程序框圖

圖10“括號(hào)”的程序框圖

圖11“抽離上一元素”的程序框圖

圖12“刪除多余的零”的程序框圖

圖13“清零”的程序框圖
(二)特殊計(jì)算子VI的程序框圖
特殊計(jì)算子VI就是對(duì)一些除加減乘除除外的特殊符號(hào)的運(yùn)算,包括角度求值、平方求值、階乘等。其中正切和余弦函數(shù)的程序框圖如圖14、圖15所示。

圖14 “正切”的程序框圖

圖15 “余弦”的程序框圖
(三)時(shí)間顯示和背景控件
主界面調(diào)用一些控件和函數(shù)進(jìn)行運(yùn)算操作,利用分模塊編寫(xiě)子VI的方式調(diào)用。有利于調(diào)試、修改和調(diào)用。時(shí)間控件給前面版添加了顯示時(shí)間的功能。背景模塊給前面板添加了背景轉(zhuǎn)換的功能,數(shù)據(jù)顯示控件和背景模塊的程序框圖如圖16、圖17所示。

圖16 時(shí)間顯示模塊的程序框圖

圖17前面板背景控件的程序框圖
(四)弧度,角度,梯度的相互轉(zhuǎn)換


圖17 “弧度,角度,梯度的轉(zhuǎn)換”的程序框圖
(一)加減乘除驗(yàn)證

(二)一些特殊功能驗(yàn)證