基于VPP規(guī)范的VXI總線模塊的軟件開(kāi)發(fā)
1.概述
VXIbus聯(lián)合體在制定VXIbus規(guī)范時(shí),成功地定義了基于VME總線的模塊化儀器的標(biāo)準(zhǔn)。它定義了VXIbus兼容部件如主機(jī)箱、背板、電源和模塊之間互聯(lián)的電氣、機(jī)械接口協(xié)議和模塊間的通訊協(xié)議,這些協(xié)議能使來(lái)自不同廠商的產(chǎn)品組成系統(tǒng)。然而,VXIbus規(guī)范沒(méi)有涉及系統(tǒng)級(jí)的軟件標(biāo)準(zhǔn),如選用何種操作系統(tǒng)、應(yīng)用開(kāi)發(fā)環(huán)境和編程語(yǔ)言,何種計(jì)算機(jī),何種I/O軟件接口,而這些產(chǎn)品的一些組合是不兼容的,這使得用戶在設(shè)計(jì)、組建、編程和使用一個(gè)由計(jì)算機(jī)控制的儀器系統(tǒng)時(shí),仍面臨著許多問(wèn)題。
為了最大限度地提供VXI總線系統(tǒng)級(jí)的易用性、多廠商開(kāi)放式結(jié)構(gòu)和互操作性,在1992年由多家儀器廠商成立了VXIplugplay系統(tǒng)聯(lián)盟。plugplay意為“即插即用”。聯(lián)盟通過(guò)制定一系列規(guī)范,即VPP規(guī)范系列,指導(dǎo)廠商和用戶的活動(dòng),提供一個(gè)開(kāi)放的、多廠商共享的系統(tǒng)結(jié)構(gòu),使系統(tǒng)軟件元素的開(kāi)發(fā)、使用標(biāo)準(zhǔn)化,并最大限度地提高軟件的可重用性,減少系統(tǒng)開(kāi)發(fā)周期,降低系統(tǒng)成本,使VXI總線產(chǎn)品能真正做到“即插即用”。
VPP-1為聯(lián)盟的章程文件,介紹了VXI plugplay的目標(biāo)、指導(dǎo)原則和核心技術(shù),使得聯(lián)盟能夠迅速制定、公布以下標(biāo)準(zhǔn)。VPP-2為系統(tǒng)框架規(guī)范,定義了VXI plugplay系統(tǒng)中應(yīng)用軟件的工作環(huán)境,及VXI plugplay系統(tǒng)中所包含的軟件元素,即儀器驅(qū)動(dòng)器、I/O接口庫(kù)、軟面板、知識(shí)庫(kù)和安裝程序,并針對(duì)不同框架對(duì)系統(tǒng)軟、硬件提出了要求。VPP-3—VPP-7分別為上述軟件元素的目標(biāo)、構(gòu)成、特性和實(shí)現(xiàn)做了詳細(xì)、具體的規(guī)范定義。VPP-8為VXI模塊/主機(jī)箱至接收裝置的互連規(guī)范。VPP-9為儀器供應(yīng)商的縮寫(xiě)。VPP-10為VXI plugplay標(biāo)識(shí)規(guī)范和成員注冊(cè)。
2.基于VPP規(guī)范的VXI總線模塊的軟件開(kāi)發(fā)
由于符合VXI plugplay規(guī)范的產(chǎn)品和服務(wù)會(huì)更容易集成到系統(tǒng)中,用戶會(huì)盡可能地選擇這樣的產(chǎn)品。所以廠家應(yīng)盡可能地提供符合VXI plugplay規(guī)范的產(chǎn)品。按照VPP規(guī)范,廠家在提供模塊化儀器的同時(shí),還要提供儀器驅(qū)動(dòng)器、軟面板、知識(shí)庫(kù)和安裝程序等軟件。下面就結(jié)合數(shù)字電壓表的開(kāi)發(fā),講述一下上述軟件的開(kāi)發(fā)過(guò)程。
在開(kāi)發(fā)上述軟件模塊時(shí),采用了下面的順序:
●選擇系統(tǒng)框架
●開(kāi)發(fā)儀器驅(qū)動(dòng)器
●開(kāi)發(fā)軟面板
●開(kāi)發(fā)知識(shí)庫(kù)
●制作安裝程序
2.1選擇系統(tǒng)框架
在開(kāi)發(fā)儀器驅(qū)動(dòng)器、軟面板、知識(shí)庫(kù)和安裝程序之前,首先進(jìn)行了系統(tǒng)框架的選擇。系統(tǒng)框架是上述軟件模塊運(yùn)行的環(huán)境,由操作系統(tǒng)和應(yīng)用開(kāi)發(fā)環(huán)境所構(gòu)成,VPP-2定義了十種系統(tǒng)框架,即WIN、WIN95、WINNT、SUN、HP-UX、GWIN、GWIN95、GWINNT、GSUN、GHP-UX。前五種是由它們所支持的操作系統(tǒng)命名的,而在這五種操作系統(tǒng)下使用LabVIEW的G編程語(yǔ)言作為開(kāi)發(fā)儀器驅(qū)動(dòng)器和軟面板的環(huán)境,則構(gòu)成了后面五種系統(tǒng)框架。這當(dāng)中最受歡迎的應(yīng)是WIN和WIN95框架,因?yàn)樗鼈兛梢暣安僮鞑⒅С直姸嗟拈_(kāi)發(fā)工具。在這兩種框架下,VPP-2列出了六種應(yīng)用開(kāi)發(fā)環(huán)境LabWindows/CVI,LabVIEW,HPVEE,Microsoft Visual C++,Borland C++和Microsoft Visual Basic,可選用其中的任何一種作為開(kāi)發(fā)儀器驅(qū)動(dòng)器和軟面板的工具。在本文中所舉的例子都是在WIN95框架和LabWindows/CVI環(huán)境下開(kāi)發(fā)的。
2.2開(kāi)發(fā)儀器驅(qū)動(dòng)器
儀器驅(qū)動(dòng)器即儀器驅(qū)動(dòng)程序,是廠家隨模塊提供給用戶的一組驅(qū)動(dòng)函數(shù),它將工作于用戶所選擇的系統(tǒng)框架下,負(fù)責(zé)對(duì)儀器進(jìn)行控制和通信。VPP規(guī)范的一個(gè)重要成果就是將儀器驅(qū)動(dòng)器作為儀器的一個(gè)組成部分,由廠家提供,從而縮短了用戶的程序開(kāi)發(fā)周期。VPP-3定義了儀器驅(qū)動(dòng)器結(jié)構(gòu),見(jiàn)圖1。
儀器驅(qū)動(dòng)器的結(jié)構(gòu)包括外部接口模型和內(nèi)部設(shè)計(jì)模型。
儀器驅(qū)動(dòng)器的外部接口模型表示它如何與系統(tǒng)中其它軟件模塊接口。其中,交互式開(kāi)發(fā)者接口即函數(shù)面板是對(duì)驅(qū)動(dòng)器交互式調(diào)用接口;編程開(kāi)發(fā)者接口的目的是在用戶應(yīng)用程序中使用驅(qū)動(dòng)器;函數(shù)主體描述儀器的功用,即驅(qū)動(dòng)程序的實(shí)際代碼;I/O接口完成驅(qū)動(dòng)器與儀器間的通信;子進(jìn)程接口用于調(diào)用其它軟件模塊。
內(nèi)部設(shè)計(jì)模型定義了儀器驅(qū)動(dòng)器的內(nèi)部結(jié)構(gòu)。理解了這一模型,就知道如何設(shè)計(jì)儀器驅(qū)動(dòng)程序。儀器驅(qū)動(dòng)程序的函數(shù)主體包括兩級(jí):第一級(jí)是一組部件函數(shù),它們是控制儀器特定功能的軟件模塊;第二級(jí)是一組應(yīng)用函數(shù),它們表示如何使用部件函數(shù)來(lái)完成面向應(yīng)用的儀器操作。
評(píng)論