基于LabVIEW的虛擬觸摸屏控制面板設(shè)計(jì)
變頻器控制盤按鍵號(hào)及其功能為:l為開機(jī),2為停機(jī),3為激活給定數(shù)值設(shè)置,4為正轉(zhuǎn),5為反
轉(zhuǎn),6為故漳復(fù)位,7為本遮控篌/遠(yuǎn)程控麓,8秀ACT,9為PAR,10為FUNC,1l為DRIVE,12為上
翻頁,13為下翻頁,14為上換行,15為下?lián)Q行,16秀ENTER¨1。DLL中程穿的變量與按鍵編號(hào)的對(duì)應(yīng)
關(guān)系:xl對(duì)應(yīng)1,x2對(duì)應(yīng)2,X3對(duì)應(yīng)3,x4對(duì)應(yīng)4,x5對(duì)應(yīng)5,x6對(duì)應(yīng)6,x7對(duì)應(yīng)7,x8對(duì)應(yīng)8/9/10/11,x9對(duì)應(yīng)12/13/14/15,xlO對(duì)應(yīng)16。
選用MicrosoftVisual C++來創(chuàng)建DLL。在VC++6.0巾,源程序框架如下舊o:
#include”stdafx.h”
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason__for_call,
LPVOID lpReserved)
{
retum TRUE;
}
/半在#include”stdafx h”下聲明導(dǎo)出函數(shù)術(shù)/
extern”C”一一declspec(dllexpoa)char羋Button(int
xl,int x2,int x3,int x4,int x5,int x6,int x7,int x8,int
西,int x10,char木m);
相應(yīng)的部分程序代碼如下:
其中:轉(zhuǎn)速與頻率的關(guān)系為,=np/60,參數(shù)含義:f為頻率;n為轉(zhuǎn)速;_p為電動(dòng)機(jī)的極對(duì)數(shù)H3(此處設(shè)定為3)。控翩纛按鍵與顯示之間的邏輯關(guān)系蠢LabVIEW來完成。網(wǎng)4左邊是開機(jī)設(shè)置的狀態(tài),其他設(shè)置與此相似。
經(jīng)過處理的數(shù)據(jù)傳給DLL,供其皮部程序使用。數(shù)據(jù)與CLFN的連接如圖4右邊所示。輸入的“數(shù)值1”一“數(shù)值10”及“字符串”作為DLL的輸入?yún)?shù)與CLFN裰連,其中輸入“字符串”是郄變量酶弱的是保存上次顯示的內(nèi)容。
3實(shí)例說明
以閥門控制界面來說明流程控制模塊的設(shè)置。閥門控制界面用來設(shè)置MSl201/MSl202中的哪一個(gè)處在(放壓、加熱、吹冷、充壓或吸附)何種狀態(tài)。以MSl201處于吸附狀態(tài)、MSl202處于再生狀態(tài)的放壓階段為例來說明,此時(shí)的設(shè)置為:打開閥V1201、V1203、V1213,關(guān)閉閥V1202、V1204,其中V1213開一段時(shí)間后關(guān)閉。如圖5(a)所示。在變頻器控制盤模塊中完成了LabVIEW與c之間的數(shù)據(jù)轉(zhuǎn)換和邏輯關(guān)系后,就可以將編譯好的DLL文件加載到LabVIEW中來。利用LabVIEW畫出控制盤的外框和顯示屏,控制盤的按鍵則由CorelDRAW來完成,然后將按鍵加載到LabVIEW中即完成了虛擬變頻器控制盤的框架設(shè)計(jì)。完成了上述所有的設(shè)置后就可以運(yùn)行程序了,內(nèi)容隨所按鍵的不同而不同。以按“開機(jī)”_+“激活給定數(shù)值設(shè)置,調(diào)整轉(zhuǎn)速并保持”_+“反轉(zhuǎn)”為例來說明,如圖5(b)所示。
4結(jié)語
采用LabVIEW實(shí)現(xiàn)了觸摸屏流程控制,并且將一些難于用LabVIEW實(shí)現(xiàn)的功能用DLL來實(shí)現(xiàn),擴(kuò)展了LabVIEW的功能,豐富了LabVIEW的應(yīng)用。文中通過觸摸屏控制面板的LabVIEW編程與LabVIEW中帶參數(shù)輸人的動(dòng)態(tài)鏈接庫的調(diào)用口1,實(shí)現(xiàn)觸摸屏控制面板的控制。實(shí)驗(yàn)表明:這種方法簡(jiǎn)單可行,降低了對(duì)硬件的要求。
評(píng)論