構建工業自動化儀器儀表嵌入式軟體系統的方法
2023-10-24 10:07:42
專利名稱:構建工業自動化儀器儀表嵌入式軟體系統的方法
技術領域:
本發明屬於工業自動化儀器儀表技術領域,特別涉及工業自動化儀器儀表嵌入式軟體系統的構建方法。
背景技術:
工業自動化儀器儀表是集傳感器技術、信號處理技術、計算機技術、網絡通信技術於一體的高新技術產品,這類產品技術含量高、市場容量大、應用面廣,工作環境惡劣,可靠性和測量精度要求高,是儀器儀表行業研究的重點課題。
工業自動化儀器儀表種類繁多,如分析儀器、光學儀器、環保儀器、醫療儀器、電子測量儀器、地質儀器、氣象海洋儀器、航空航天儀器、汽車儀表等等。若再細分,如分析儀又分為工業電導電濃度分析儀、智能微量氧分析儀、智能紅外氣體分析儀等等。隨著社會進步和科技發展,工業自動化儀器儀表將向著數位化、智能化、網絡化、微型化、高性能、高可靠性、高穩定性和光機電一體化的趨勢發展,對軟體系統提出了更高的要求。
目前工業自動化儀器儀表結構上都是由信號採集、傳輸,處理、控制等功能模塊構成,硬體上均包括各類常用微控制器和外部設備模塊,比如英特爾(Intel)系列、愛特梅爾(Atmel)系列、飛利浦(Phlips)系列、新華龍(Cygnal)系列微控制器等、各類模數轉換器、數模轉換器、串行總線及通信接口,輸出顯示、脈寬調製等。
現有工業自動化儀器儀表軟體系統的構建都是從零開始,由軟體工程師在硬體結構上按照儀器儀表功能進行嵌入式軟體編碼。實際上在軟體工程師編寫的程序中存在大量可重用的代碼段,包括各類常用的微控制器及外部設備的驅動程序模塊。這些代碼都隨著一次產品開發的結束而結束,只使用了一次,沒有得到很好的積累和管理。因此軟體工程師的離職常常導致技術無法繼承,重複開發。這使得工業自動化儀器儀表產品的研發周期長、難度大、效率低、出錯率高、成本也居高不下。
為了縮短工業自動化儀器儀表產品的開發周期,提高產品質量,增強市場競爭能力,同時降低軟體工程師的工作強度和增強技術的繼承性,有必要將眾多的可重用的原始碼片段進行封裝,生成重用性高的源碼構件,提供給軟體工程師使用。目前常用的構件模型包括微軟公司的組件對象模型(COM/DCOM)、對象管理組織(OMG)的公共對象請求代理架構(CORBA)和太陽(SUN)公司的軟體組件模型(JavaBean/EJB)等,它們已成為快速構建應用系統的關鍵。但在嵌入式應用領域,由於嵌入式平臺的多樣性,以及嵌入式系統對內存消耗、實時特性、可靠性和穩定性等重要的非功能性因素的考慮,上述的構件模型難以有效地適用於嵌入式系統。為此,國內外研究機構專門推出了一系列嵌入式構件模型,如比利時國際焊接技術員(IWT)協會贊助的射思科(SEESCOA)項目的耦合道光學模型(CCOM)、飛利浦公司用於消費電子的考拉(Koala)構件模型和電力和自動化技術集團(ABB)等公司用於現場設備技術的嵌入式系統組件模型(Pecos)等。這些模型的共同特點是基於源碼級的構件復用,並有相應的方法支持。
但是針對工業自動化儀器儀表的常用微控制器和外部設備驅動的構件,目前並沒有相應的規範和標準,基於構件的儀器儀表嵌入式軟體系統也沒有具體的框架。因此,基於構件的工業自動化儀器儀表嵌入式軟體系統構建方法越來越引起學術界和產業界的高度重視。
發明內容
本發明的目的是針對現有工業自動化儀器儀表軟體系統構建方法的不足之處,提供一種構建工業自動化儀器儀表嵌入式軟體系統的方法,解決軟體資源得不到有效的積累和復用,導致重複開發,效率低的問題。該方法具有針對性強、實用性強、節省投資、減少重複勞動,產品質量高、出錯率低、大大縮短產品開發周期等特點。
本發明的機理是通過對工業自動化儀器儀表產品的常用體系結構、程序設計語言、常用功能及微控制器和外部設備驅動,建立一種適用於儀器儀表的嵌入式軟體構件化模型。軟體工程師可以根據模型標準設計/生成源碼構件,提交構件庫統一管理。在構件庫的基礎上,根據儀器儀表產品軟體體系結構和常用功能,構建一種基於構件的工業自動化儀器儀表嵌入式軟體系統。實際開發中,通過調用相應的構件自動生成軟體原始碼,從而快速建立面向具體型號和應用領域的儀器儀表的嵌入式軟體驅動程序,實現對工業自動化儀器儀表的控制。這種構建工業自動化儀器儀表嵌入式軟體系統的方法將大大降低開發難度,使開發者把精力集中於功能的開發和實現,開發效率顯著提高。
嵌入式軟體構件是一段可重用的代碼,粒度定義為語句級,即代碼片段至少包含一條語句,使其具有更高的靈活性和可重用性,也可以是包含其他構件的構件,因此它可以是函數、過程或對象類,也可以是更大規模的單元。構件是可配置和共享的,這是基於構件開發的基石,且構件之間能相互提供服務。
為了提高軟體生產過程的復用力度,不僅需要復用舊的代碼,而且要復用相似的分析設計結果和體系結構。這樣才能減少構造新軟體系統的代價,從而提高軟體的可靠性,改變過去一次次、一個個地重複開發應用系統的狀況,使軟體工作者真正地從煩瑣的勞動中解放出來。基於框架的軟體開發方法就是這樣一種面向特定領域的軟體復用技術。一個對象框架是指在特定領域中的應用軟體的半成品,它由一組協作構件組成,闡明了整個設計、構件間依賴及成員構件的責任分布,其優點在於能夠通過軟體重用提供高層服務而屏蔽底層細節,從而大大提高各類應用程式的開發效率,避免重複編寫大量相同的代碼以及由此可能產生的大量錯誤。框架由於提供了大力度的復用而被認為是一種非常有前途的面向對象技術。
本發明的軟體系統基於科爾公司(Keil)的uVision2軟體設計的。Keil公司是一家業界領先的微控制器軟體開發工具的獨立供應商,製造和銷售種類廣泛的開發工具,包括美國國家標準協會(ANSI)C編譯器、宏彙編程序、調試器、連接器、庫管理器、固件和實時作業系統。目前有超過10萬名微控制器開發人員在使用這種得到業界認可的解決方案。Keil公司針對51系列單片機推出了32位Windows環境、以51系列單片機為開發目標、高效率的C語言集成為基礎開發平臺的Keil uVision2軟體。
儀器儀表行業大多採用Keil uVision2軟體,因此本發明構建的軟體系統兼容uVision2軟體的工程格式,可直接在uVision2軟體中進行編譯,下載,調試,極大的方便儀器儀表行業軟體從業人員的使用,他們不必重新學習和掌握新的開發工具,節省投資。
通過為各個微控制器和各類外部設備硬體模塊編寫硬體描述性操作的驅動和控制程序,如模數/數模轉換器(ADC/DAC)、串口232(RS232)、內部集成電路(I2C)、串行外圍接口(SPI),區域網絡控制器(CAN)等,從而建立驅動構件。描述性操作是指在控制硬體時只需知道要完成什麼,而不需要知道如何去完成,每個操作都是一些單一的動作。例如對於設置一個串口的波特率,只需要知道是哪個串口,波特率是多少,而不需要知道要寫哪一個寄存器以及如何寫等。驅動構件留出接口供開發人員調用,編程人員只需要了解程序開發中的初始化順序以及初始化的內容而不需要了解初始化的具體細節就能完成程序的編寫。這樣可以大大的提高工作效率,減少硬體驅動程序具體細節設置中最容易出錯的地方。建立驅動構件庫,從而大大減少出錯的可能性,使嵌入式系統應用開發過程簡單化,節省大量的時間。
本發明的目的是這樣實現的一種構建工業自動化儀器儀表嵌入式軟體系統的方法,利用微控制器和外部設備,如各類模數轉換器、數模轉換器、串行總線及通信接口,輸出顯示、脈寬調製等,通過原始碼,先建立儀器儀表行業常用微控制器和外部設備的構件庫,後調用相應的構件快速自動生成儀器儀表軟體驅動程序,再添加功能應用程式,然後用Keil uVision2軟體對原始碼程序進行編譯、連接、調試,從而逐一完成工業自動化儀器儀表的各個功能模塊。具體步驟如下(1)建立構件庫對工業自動化儀器儀表產品的常用體系結構、程序設計語言、常用功能及微控制器和外部設備驅動,建立一種適用於儀器儀表的嵌入式軟體構件化模型,再根據構件化模型構建源碼構件,並放置於構件庫統一管理,供重複使用時調用。
(2)構建儀器儀表嵌入式軟體系統第(1)步完成以後,根據儀器儀表產品的軟體體系結構和常用功能,從第(1)步建立的構件庫中調用相應的微控制器和外部設備驅動構件,通過原始碼自動生成儀器儀表軟體驅動程序,從而快速建立面向具體型號和應用領域的儀器儀表的驅動程序原始碼框架。
(3)添加功能應用程式在第(2)步完成以後,根據用戶的需求,再添加相應的功能應用程式,快速完成儀器儀表功能模塊的構建。
(4)調試功能模塊在第(3)步完成以後,通過Keil uVision2軟體對功能模塊進行編譯、連接、調試,直到達到儀器儀表的功能。再返回到第(2)步添加另一功能的相應驅動構件及第(3)步添加功能應用程式,並進行調試。如此反覆,逐步增加應用功能,直至完成儀器儀表的全部功能為止。
本發明採用上述技術方案後,主要有以下特點(1)針對性強。本發明是針對工業自動化儀器儀表的常用微控制器和外部設備驅動,建立的嵌入式軟體構件,針對性強,效率高。
(2)實用性強。本發明選擇的代碼片段是儀器儀表軟體中的常用重複代碼,將其標準化、系列化、規範化、模塊化、參數化,以源碼構件的形式使用,簡單易行,減少重複勞動,從而使工業自動化儀器儀表產品開發周期大大縮短,出錯率低,產品質量高。
(3)節省投資。本發明構建的軟體系統與uVision2軟體兼容,因此能夠很好的與現有開發工具和開發模式相結合,節省投資,成本低。
(4)擴展性好。基於構件庫的軟體系統的構建方法能夠快速構建特定的應用系統,有利於產品的建設、維護與更新,具有很強的可擴展性。
本發明可廣泛應用於各種類型的工業自動化儀器儀表嵌入式軟體系統的構建。
圖1是現有工業自動化儀器儀表軟體傳統開發流程圖;圖2是本發明的構件庫圖;
圖3是本發明的程序流程圖。
具體實施例方式
下面結合具體實施方式
,進一步說明本發明。
渦輪流量傳感器是一種精密流量測量儀表,與相應的流量積算儀表配套可用於測量液體的流量和總量,廣泛用於石油、化工、冶金、科研等領域的計量、控制系統。
如圖2、3所示,一種工業自動化儀器儀表的渦輪流量傳感器的液晶顯示功能模塊的構建方法,利用微控制器和SPI驅動、顯示驅動、串口驅動的外部設備,通過原始碼,先建立儀器儀表行業常用微控制器和外部設備的構件庫,後調用相應的構件快速自動生成儀器儀表軟體驅動程序,再添加功能應用程式,然後用Keil uVision2軟體對原始碼程序進行編譯、連接、調試。構建渦輪流量傳感器的液晶顯示功能模塊的具體方法步驟如下(1)建立構件庫對工業自動化儀器儀表常用體系結構、程序設計語言、常用功能及微控制器和外部設備驅動進行研究基礎上,建立一種適用於儀器儀表的嵌入式軟體構件化模型,再根據構件化模型構建源碼構件,並放置於構件庫統一管理,供重複使用時調用。液晶功能模塊需要調用SPI驅動、顯示驅動以及微控制器的相關驅動,所以編寫其相應的驅動構件,放置到構件庫中以便重複使用時調用。
(2)構建渦輪流量傳感器嵌入式軟體系統第(1)步完成以後,根據液晶顯示的功能要求,從第(1)步建立的構件庫中調用相應的微控制器的相關驅動和SPI驅動、顯示驅動以及串口驅動構件,通過原始碼自動生成液晶顯示功能驅動程序,從而快速建立液晶顯示驅動的原始碼框架。
(3)添加液晶顯示功能應用程式在第(2)步完成以後,根據用戶需求,再添加液晶顯示功能的應用程式,快速完成顯示功能模塊的構建。
(4)調試液晶顯示功能模塊在第(3)步完成以後,通過Keil uVision2軟體對顯示功能模塊進行編譯、連接、調試,直到達到功能要求。再返回到第(2)步添加另一個串口通信功能的相應驅動構件及第(3)步添加串口通信功能的應用程式,並進行調試,完成渦輪流量傳感器的液晶顯示和串口通信功能。
權利要求
1.一種構建工業自動化儀器儀表嵌入式軟體系統的方法,利用微控制器和各類模數轉換器、數模轉換器、串行總線及通信接口,輸出顯示、脈寬調製的外部設備,通過原始碼,先建立儀器儀表行業常用微控制器和外部設備的構件庫,後調用相應的構件快速自動生成儀器儀表軟體驅動程序,再添加功能應用程式,然後用Keil uVision2軟體對原始碼程序進行編譯、連結、調試,從而逐一完成工業自動化儀器儀表的各個功能模塊。從而逐一完成工業自動化儀器儀表的各個功能模塊,其特徵在於具體的方法步驟如下(1)建立構件庫對工業自動化儀器儀表產品的常用體系結構、程序設計語言、常用功能及微控制器和外部設備驅動,建立一種適用於儀器儀表的嵌入式軟體構件化模型,再根據構件化模型構建源碼構件,並放置於構件庫統一管理,供重複使用時調用;(2)構建儀器儀表嵌入式軟體系統在第(1)步完成以後,根據儀器儀表產品的軟體體系結構和常用功能,從第(1)步建立的構件庫中調用相應的微控制器和外部設備驅動構件,通過原始碼自動生成儀器儀表軟體驅動程序,從而快速建立面向具體型號和應用領域的儀器儀表的驅動程序原始碼框架;(3)添加功能應用程式在第(2)步完成以後,根據用戶需求,再添加相應的功能應用程式,快速完成儀器儀表功能模塊的構建;(4)調試功能模塊在第(3)步完成以後,通過Keil uVision2軟體,對功能模塊進行編譯、連接、調試,直到達到儀器儀表的功能,再返回到第(2)步添加另一功能的相應驅動構件及第(3)步添加功能應用程式,並進行調試,如此反覆,逐步增加應用功能,直至完成儀器儀表的全部功能為止。
2.按照權力要求1所述的構建工業自動化儀器儀表嵌入式軟體系統的方法,其特徵在於一種工業自動化儀器儀表的渦輪流量傳感器的液晶顯示功能模塊的構建方法,利用微控制器和SPI驅動、顯示驅動、串口驅動的外部設備,通過原始碼,先建立儀器儀表行業常用微控制器和外部設備的構件庫,後調用相應的構件快速自動生成儀器儀表軟體驅動程序,再添加功能應用程式,然後用Keil uVision2軟體對原始碼程序進行編譯、連接、調試,構建渦輪流量傳感器的液晶顯示功能模塊的具體方法步驟如下(1)建立構件庫對工業自動化儀器儀表常用體系結構、程序設計語言、常用功能及微控制器和外部設備驅動進行研究基礎上,建立一種適用於儀器儀表的嵌入式軟體構件化模型,再根據構件化模型構建源碼構件,並放置於構件庫統一管理,供重複調用,液晶功能模塊需要調用SPI驅動、顯示驅動以及微控制器的相關驅動,所以編寫其相應的驅動構件,放置到構件庫中以便重複使用時調用;(2)構建渦輪流量傳感器嵌入式軟體系統在第(1)步完成以後,根據液晶顯示的功能要求,從第(1)步建立的構件庫中調用相應的微控制器的相關驅動和SPI驅動、顯示驅動以及串口驅動構件,通過原始碼自動生成液晶顯示功能驅動程序,從而快速建立液晶顯示驅動的原始碼框架;(3)添加液晶顯示功能應用程式在第(2)步完成以後,根據用戶需求,再添加液晶顯示功能的應用程式,快速完成顯示功能模塊的構建;(4)調試液晶顯示功能模塊在第(3)步完成以後,通過Keil uVision2軟體,對顯示功能模塊進行編譯、連接、調試,直到達到功能要求,再返回到第(2)步添加另一個串口通信功能的相應驅動構件及第(3)步添加串口通信功能的應用程式,並進行調試,完成渦輪流量傳感器的液晶顯示和串口通信功能。
全文摘要
一種構建工業自動化儀器儀表嵌入式軟體系統的方法,屬於工業自動化儀器儀表技術領域。本發明利用微控制器和外部設備,通過原始碼,先建立儀器儀表行業常用微控制器和外部設備的構件庫,後調用相應的構件快速自動生成儀器儀表軟體驅動程序,再添加相應的功能應用程式,然後用Keil uVision2軟體對原始碼程序進行編譯、連結、調試,從而逐一完成工業自動化儀器儀表的各個功能模塊。由於本發明具有針對性強、實用性強、節省投資、減少重複勞動,產品質量高、出錯率低、大大縮短產品開發周期等特點,故本發明可廣泛應用於各種類型的工業自動化儀器儀表嵌入式軟體系統的構建。
文檔編號G06F9/44GK1963749SQ20061009523
公開日2007年5月16日 申請日期2006年11月24日 優先權日2006年11月24日
發明者石為人, 黃劍, 唐松松, 許磊, 黃奇, 黃超 申請人:重慶大學