官术网_书友最值得收藏!

1.3.2 計算機控制系統的軟件

計算機控制系統的硬件是完成控制任務的設備基礎,而計算機的操作系統和各種應用程序是履行控制系統任務的關鍵,通稱為軟件。軟件的質量關系到計算機運行和控制效果的好壞,影響硬件性能的充分發揮和推廣應用。計算機控制系統軟件的組成如圖1-5所示。

1.計算機控制系統軟件的分類

計算機控制系統的軟件按照其職能可分為系統軟件、應用軟件和支持軟件三部分。

(1)系統軟件

計算機控制系統的系統軟件用于組織和管理計算機控制系統的硬件,為應用軟件提供基本的運行環境,并為用戶提供基本的通信和人機交互方法。系統軟件一般由計算機廠家提供,不需要計算機控制系統的設計人員進行設計和維護。系統軟件分為操作系統、系統通信、網絡連接和管理及人機交互四部分,其中操作系統按照任務的實時性表現分為通用操作系統和實時操作系統兩種,實時操作系統可滿足工控任務的實時性需求,因此一般被應用在工業控制領域中。系統通信和網絡等部分為設計人員提供了設計基礎,設計人員在系統軟件的基礎上定制應用軟件,完成控制任務。

(2)應用軟件

計算機控制系統的應用軟件是面向生產過程的程序,用于完成計算機監測和控制任務。應用軟件一般由計算機控制系統的設計人員編寫,針對特定生產過程定制。

應用軟件可分為檢測軟件、監督軟件和控制軟件三類,檢測軟件作為計算機控制系統與生產過程之間的橋梁,一般用于生產過程中信息的采集和存儲,完成信息的獲取工作;監督軟件用于對信息進行分析,并對事故和異常進行處理;控制軟件是系統的核心部分,依據控制策略完成對生產過程的調整和控制。控制軟件按照應用場合可分為運動控制、常用控制、現代控制、智能控制以及網絡與現場總線五種,分別對應多種控制算法和控制策略。

(3)支持軟件

計算機控制系統的支持軟件是系統的設計工具和設計環境,用于為設計人員提供軟件的設計接口,并為計算機控制系統提供功能更新的途徑。支持軟件包括程序設計語言、程序設計軟件、編譯連接軟件、調試軟件、診斷軟件和數據庫六部分,用戶使用程序設計語言和程序設計軟件設計計算機控制軟件,通過編譯、鏈接和調試進行軟件測試。數據庫軟件為程序提供必要的運行支持,并為軟件的更新和維護提供參考依據。

圖1-5 計算機控制系統軟件的組成

2.計算機控制系統軟件的開發與運行環境

計算機控制系統軟件對操作系統有特定的要求,其中穩定性和實時性是主要要求。計算機控制系統要求操作系統長時間無故障運行,對系統異常和惡意程序具備較好的處理能力,并可長時間運行無須更新系統補丁。除此之外,操作系統還需要對實時性較高的任務提供支持,以確保控制任務的正常進行。目前計算機控制系統采用Windows、Linux和定制系統三種操作系統。

(1)Windows操作系統

Windows操作系統由微軟公司發布,經過長時間更新和維護后的版本具有較高的穩定性。用于工業控制領域的操作系統一般采用低版本Windows系統以獲得較完備、穩定的系統功能,避免未知漏洞和頻繁的系統更新。Windows操作系統一般應用在冶金、石油、電力等大型工控場合。

(2)Linux操作系統

Linux操作系統基于POSIX和UNIX開發,具有開源、免費和穩定的特點。Linux操作系統采用GPL協議,用戶可以通過網絡或其他途徑免費獲得,Linux操作系統中一些商業化版本經過實踐檢驗具備較穩定的運行特性,逐漸被計算機控制系統采用。Linux操作系統一般應用在金融、政府、教育和商業場合,目前被計算機控制領域廣泛采用的Linux操作系統包括RHEL(Red Hat Enterprise Linux)、Debian和Ubuntu,其中RHEL多作為服務器的操作系統,Debian和Ubuntu系統在微型計算機上使用較多。

(3)定制操作系統

特殊用途下的計算機控制系統基于特有的操作系統開發,達到了從系統軟件到應用軟件的深度定制。定制操作系統一般基于Linux系統開發,根據生產過程的需要對系統的功能和策略進行修改和刪減。定制操作系統一般用于過程控制、通信和嵌入式等領域,以VxWorks、QNX和RT-Linux為代表的嵌入式實時操作系統在多個計算機控制領域中有出色表現,定制操作系統在安全性和效率上具有獨特優勢。

3.計算機控制系統軟件開發技術

計算機控制系統的軟件開發技術可分為軟件設計規劃、軟件設計模式、軟件設計方法和軟件開發工具四個類別。

(1)軟件設計規劃

軟件設計規劃包括軟件開發基本策略、軟件開發方案和軟件過程模型三部分,軟件開發中的三種基本策略是復用、分而治之、優化與折中。復用即利用某些已開發的、對建立新系統有用的軟件元素來生成新的軟件系統;分而治之是指把大而復雜的問題分解成若干個簡單的小問題后逐個解決;軟件的優化是指優化軟件的各個質量因素,折中是指通過協調各個質量因素,實現整體質量的最優。其中軟件開發的基本策略是軟件開發的基本思想和整體脈絡,貫穿軟件開發的整體流程。

軟件開發方案是對軟件的構造和維護提出的總體設計思路和方案,經典的軟件工程思想將軟件開發分成需求分析、系統分析與設計、系統實現、測試及維護五個階段,設計人員在進行軟件開發和設計之前需要確定軟件的開發策略,并明確軟件的設計方案,對軟件開發的五個過程進行具體設計。

軟件過程模型是在軟件開發技術發展過程中形成的軟件整體開發策略,這種策略從需求收集開始到軟件壽命終止,針對軟件工程的各個階段提供了一套范形,使工程的進展達到預期的目的。常用的軟件過程模型包括生存周期模型、原型實現模型、增量模型、螺旋模型和噴泉模型五種。

(2)軟件設計模式

為增強計算機控制系統軟件的代碼可靠性和可復用性,增強軟件的可維護性,在計算機軟件的發展過程中,代碼設計經驗經過實踐檢驗和分類編目,形成了軟件設計模式。軟件設計模式一般可分為創建型、結構型和行為型三類,所有模式都遵循開閉原則、里氏代換原則、依賴倒轉原則和合成復用原則等通用原則。常用的軟件模式包括單例模式、抽象工廠模式、代理模式、命令模式和策略模式。軟件設計模式一般適用于特定的生產場景,以合適的軟件設計模式指導軟件的開發工作可對軟件的開發起到積極的促進作用。

(3)軟件設計方法

計算機控制系統中軟件的設計方法主要有面向過程方法、面向數據流方法和面向對象方法,分別對應不同的應用場景。面向過程方法是計算機控制系統軟件發展早期被廣泛采用的設計方法,其設計以過程為中心,以函數為單元,強調控制任務的流程性,設計的過程是分析過程和用函數代換的流程化思想,在流程特性較強的生產領域具備較高的設計效率。面向數據流方法又稱為結構化設計方法,其主體思想是用數據結構描述待處理數據的組織形式,用算法描述具體的操作過程,強調將系統分割為邏輯功能模塊的集合,并確保模塊之間的結構獨立,減少了設計的復雜度,增強了代碼的可重用性。面向對象的設計方法是計算機控制系統軟件發展到一定階段的產物,采用封裝、繼承、多態等方法將生產過程抽象為對象,將生產過程的屬性和流程抽象為對象的變量和方法,使用類對生產過程進行描述,使代碼的可復用性和可擴展性得到了極大提升,降低了軟件的開發和維護難度。

(4)軟件開發工具

計算機控制系統軟件的開發過程中常用到的軟件開發工具有程序設計語言、程序編譯器、集成開發環境、數據庫軟件和分布式編程模型等。

編程語言是用來定義計算機程序的標準化形式語言,可分為機器語言、匯編語言和高級語言三種,機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合,它是計算機的設計者通過計算機的硬件結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點,但代碼由二進制指令構成,可讀性差,不具備平臺間可移植性。匯編語言具備和機器語言相同的實質,采用標識符對機器語言進行標記,增強了機器語言的可讀性。高級語言是高度封裝了的編程語言,是較接近自然語言和數學公式的語言,基本脫離了機器的硬件系統,用人們更易理解的方式編寫程序。高級語言并不是特指某一種具體的語言,而是包括了很多編程語言,如Fortran、Pascal、C、C++、Java、C#和PHP等。

程序編譯器是把高級語言代碼翻譯為計算機可以執行的低級語言代碼的程序,編譯器對代碼執行預處理、編譯和鏈接,并對代碼進行分析和優化,生成精簡、高效的可執行程序。C++語言常用的程序編譯器有gcc/g++和Microsoft C/C++編譯器,Java語言常用的程序編譯器是javac。隨著軟件開發技術的發展,編譯器一般都被包含在集成開發環境中。

集成開發環境是用于提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具。集成開發環境集成了代碼編寫功能、分析功能、編譯功能、調試功能等,將通用設置實施到設計人員的代碼中,使用戶可以將注意力集中到編程邏輯上,提高了編碼的效率。常用的集成開發環境有Microsoft Visual C++、Microsoft Visual Studio、Eclipse、Keil μVision等。

數據庫軟件是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。它實現邏輯數據的抽象處理,并對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。數據庫軟件為計算機控制系統軟件提供數據訪問接口,為計算機控制系統提供數據支持。數據庫可分為網狀數據庫、關系數據庫、樹狀數據庫和面向對象數據庫,常用的數據庫有Oracle、MS SQL Server、MySQL和Visual Foxpro等。

分布式編程模型是計算機控制系統軟件發展的最新成果,它為分布式計算機控制系統的設計和編程提供可參考的解決方案,常用的分布式編程模型是DCOM模型和Web編程模型。DCOM是一種跨應用和語言共享二進制代碼的網絡編程模型,DCOM技術在工控領域拓展為OPC技術,為分布式計算機控制系統的實現提供了新的途徑。Web發布系統是分布式計算機控制系統的拓展和補充,Web編程模型分為客戶端模型和服務器模型,客戶端模型用于展現信息內容,設計技術主要有HTML語言、腳本技術和插件技術等;服務端模型用于構建策略與結構,設計技術主要有PHP、ASP、Servlet等。

主站蜘蛛池模板: 十堰市| 竹北市| 睢宁县| 和林格尔县| 沾化县| 北京市| 孟津县| 克拉玛依市| 德庆县| 前郭尔| 台州市| 无锡市| 澎湖县| 铜陵市| 青田县| 科技| 泰顺县| 宁阳县| 宁南县| 同德县| 博客| 明星| 甘洛县| 贡觉县| 哈密市| 合作市| 梁河县| 来宾市| 江阴市| 铜梁县| 库伦旗| 大港区| 汉源县| 玉环县| 贵定县| 宁德市| 平谷区| 宁明县| 北京市| 信丰县| 论坛|