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