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