- 計(jì)算機(jī)控制系統(tǒng)(第4版)
- 李正軍編著
- 3847字
- 2023-06-28 15:41:30
1.3.2 計(jì)算機(jī)控制系統(tǒng)的軟件
計(jì)算機(jī)控制系統(tǒng)的硬件是完成控制任務(wù)的設(shè)備基礎(chǔ),而計(jì)算機(jī)的操作系統(tǒng)和各種應(yīng)用程序是履行控制系統(tǒng)任務(wù)的關(guān)鍵,通稱為軟件。軟件的質(zhì)量關(guān)系到計(jì)算機(jī)運(yùn)行和控制效果的好壞,影響硬件性能的充分發(fā)揮和推廣應(yīng)用。計(jì)算機(jī)控制系統(tǒng)軟件的組成如圖1-5所示。
1.計(jì)算機(jī)控制系統(tǒng)軟件的分類
計(jì)算機(jī)控制系統(tǒng)的軟件按照其職能可分為系統(tǒng)軟件、應(yīng)用軟件和支持軟件三部分。
(1)系統(tǒng)軟件
計(jì)算機(jī)控制系統(tǒng)的系統(tǒng)軟件用于組織和管理計(jì)算機(jī)控制系統(tǒng)的硬件,為應(yīng)用軟件提供基本的運(yùn)行環(huán)境,并為用戶提供基本的通信和人機(jī)交互方法。系統(tǒng)軟件一般由計(jì)算機(jī)廠家提供,不需要計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)人員進(jìn)行設(shè)計(jì)和維護(hù)。系統(tǒng)軟件分為操作系統(tǒng)、系統(tǒng)通信、網(wǎng)絡(luò)連接和管理及人機(jī)交互四部分,其中操作系統(tǒng)按照任務(wù)的實(shí)時(shí)性表現(xiàn)分為通用操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)兩種,實(shí)時(shí)操作系統(tǒng)可滿足工控任務(wù)的實(shí)時(shí)性需求,因此一般被應(yīng)用在工業(yè)控制領(lǐng)域中。系統(tǒng)通信和網(wǎng)絡(luò)等部分為設(shè)計(jì)人員提供了設(shè)計(jì)基礎(chǔ),設(shè)計(jì)人員在系統(tǒng)軟件的基礎(chǔ)上定制應(yīng)用軟件,完成控制任務(wù)。
(2)應(yīng)用軟件
計(jì)算機(jī)控制系統(tǒng)的應(yīng)用軟件是面向生產(chǎn)過程的程序,用于完成計(jì)算機(jī)監(jiān)測和控制任務(wù)。應(yīng)用軟件一般由計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)人員編寫,針對特定生產(chǎn)過程定制。
應(yīng)用軟件可分為檢測軟件、監(jiān)督軟件和控制軟件三類,檢測軟件作為計(jì)算機(jī)控制系統(tǒng)與生產(chǎn)過程之間的橋梁,一般用于生產(chǎn)過程中信息的采集和存儲,完成信息的獲取工作;監(jiān)督軟件用于對信息進(jìn)行分析,并對事故和異常進(jìn)行處理;控制軟件是系統(tǒng)的核心部分,依據(jù)控制策略完成對生產(chǎn)過程的調(diào)整和控制。控制軟件按照應(yīng)用場合可分為運(yùn)動控制、常用控制、現(xiàn)代控制、智能控制以及網(wǎng)絡(luò)與現(xiàn)場總線五種,分別對應(yīng)多種控制算法和控制策略。
(3)支持軟件
計(jì)算機(jī)控制系統(tǒng)的支持軟件是系統(tǒng)的設(shè)計(jì)工具和設(shè)計(jì)環(huán)境,用于為設(shè)計(jì)人員提供軟件的設(shè)計(jì)接口,并為計(jì)算機(jī)控制系統(tǒng)提供功能更新的途徑。支持軟件包括程序設(shè)計(jì)語言、程序設(shè)計(jì)軟件、編譯連接軟件、調(diào)試軟件、診斷軟件和數(shù)據(jù)庫六部分,用戶使用程序設(shè)計(jì)語言和程序設(shè)計(jì)軟件設(shè)計(jì)計(jì)算機(jī)控制軟件,通過編譯、鏈接和調(diào)試進(jìn)行軟件測試。數(shù)據(jù)庫軟件為程序提供必要的運(yùn)行支持,并為軟件的更新和維護(hù)提供參考依據(jù)。

圖1-5 計(jì)算機(jī)控制系統(tǒng)軟件的組成
2.計(jì)算機(jī)控制系統(tǒng)軟件的開發(fā)與運(yùn)行環(huán)境
計(jì)算機(jī)控制系統(tǒng)軟件對操作系統(tǒng)有特定的要求,其中穩(wěn)定性和實(shí)時(shí)性是主要要求。計(jì)算機(jī)控制系統(tǒng)要求操作系統(tǒng)長時(shí)間無故障運(yùn)行,對系統(tǒng)異常和惡意程序具備較好的處理能力,并可長時(shí)間運(yùn)行無須更新系統(tǒng)補(bǔ)丁。除此之外,操作系統(tǒng)還需要對實(shí)時(shí)性較高的任務(wù)提供支持,以確保控制任務(wù)的正常進(jìn)行。目前計(jì)算機(jī)控制系統(tǒng)采用Windows、Linux和定制系統(tǒng)三種操作系統(tǒng)。
(1)Windows操作系統(tǒng)
Windows操作系統(tǒng)由微軟公司發(fā)布,經(jīng)過長時(shí)間更新和維護(hù)后的版本具有較高的穩(wěn)定性。用于工業(yè)控制領(lǐng)域的操作系統(tǒng)一般采用低版本W(wǎng)indows系統(tǒng)以獲得較完備、穩(wěn)定的系統(tǒng)功能,避免未知漏洞和頻繁的系統(tǒng)更新。Windows操作系統(tǒng)一般應(yīng)用在冶金、石油、電力等大型工控場合。
(2)Linux操作系統(tǒng)
Linux操作系統(tǒng)基于POSIX和UNIX開發(fā),具有開源、免費(fèi)和穩(wěn)定的特點(diǎn)。Linux操作系統(tǒng)采用GPL協(xié)議,用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,Linux操作系統(tǒng)中一些商業(yè)化版本經(jīng)過實(shí)踐檢驗(yàn)具備較穩(wěn)定的運(yùn)行特性,逐漸被計(jì)算機(jī)控制系統(tǒng)采用。Linux操作系統(tǒng)一般應(yīng)用在金融、政府、教育和商業(yè)場合,目前被計(jì)算機(jī)控制領(lǐng)域廣泛采用的Linux操作系統(tǒng)包括RHEL(Red Hat Enterprise Linux)、Debian和Ubuntu,其中RHEL多作為服務(wù)器的操作系統(tǒng),Debian和Ubuntu系統(tǒng)在微型計(jì)算機(jī)上使用較多。
(3)定制操作系統(tǒng)
特殊用途下的計(jì)算機(jī)控制系統(tǒng)基于特有的操作系統(tǒng)開發(fā),達(dá)到了從系統(tǒng)軟件到應(yīng)用軟件的深度定制。定制操作系統(tǒng)一般基于Linux系統(tǒng)開發(fā),根據(jù)生產(chǎn)過程的需要對系統(tǒng)的功能和策略進(jìn)行修改和刪減。定制操作系統(tǒng)一般用于過程控制、通信和嵌入式等領(lǐng)域,以VxWorks、QNX和RT-Linux為代表的嵌入式實(shí)時(shí)操作系統(tǒng)在多個計(jì)算機(jī)控制領(lǐng)域中有出色表現(xiàn),定制操作系統(tǒng)在安全性和效率上具有獨(dú)特優(yōu)勢。
3.計(jì)算機(jī)控制系統(tǒng)軟件開發(fā)技術(shù)
計(jì)算機(jī)控制系統(tǒng)的軟件開發(fā)技術(shù)可分為軟件設(shè)計(jì)規(guī)劃、軟件設(shè)計(jì)模式、軟件設(shè)計(jì)方法和軟件開發(fā)工具四個類別。
(1)軟件設(shè)計(jì)規(guī)劃
軟件設(shè)計(jì)規(guī)劃包括軟件開發(fā)基本策略、軟件開發(fā)方案和軟件過程模型三部分,軟件開發(fā)中的三種基本策略是復(fù)用、分而治之、優(yōu)化與折中。復(fù)用即利用某些已開發(fā)的、對建立新系統(tǒng)有用的軟件元素來生成新的軟件系統(tǒng);分而治之是指把大而復(fù)雜的問題分解成若干個簡單的小問題后逐個解決;軟件的優(yōu)化是指優(yōu)化軟件的各個質(zhì)量因素,折中是指通過協(xié)調(diào)各個質(zhì)量因素,實(shí)現(xiàn)整體質(zhì)量的最優(yōu)。其中軟件開發(fā)的基本策略是軟件開發(fā)的基本思想和整體脈絡(luò),貫穿軟件開發(fā)的整體流程。
軟件開發(fā)方案是對軟件的構(gòu)造和維護(hù)提出的總體設(shè)計(jì)思路和方案,經(jīng)典的軟件工程思想將軟件開發(fā)分成需求分析、系統(tǒng)分析與設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、測試及維護(hù)五個階段,設(shè)計(jì)人員在進(jìn)行軟件開發(fā)和設(shè)計(jì)之前需要確定軟件的開發(fā)策略,并明確軟件的設(shè)計(jì)方案,對軟件開發(fā)的五個過程進(jìn)行具體設(shè)計(jì)。
軟件過程模型是在軟件開發(fā)技術(shù)發(fā)展過程中形成的軟件整體開發(fā)策略,這種策略從需求收集開始到軟件壽命終止,針對軟件工程的各個階段提供了一套范形,使工程的進(jìn)展達(dá)到預(yù)期的目的。常用的軟件過程模型包括生存周期模型、原型實(shí)現(xiàn)模型、增量模型、螺旋模型和噴泉模型五種。
(2)軟件設(shè)計(jì)模式
為增強(qiáng)計(jì)算機(jī)控制系統(tǒng)軟件的代碼可靠性和可復(fù)用性,增強(qiáng)軟件的可維護(hù)性,在計(jì)算機(jī)軟件的發(fā)展過程中,代碼設(shè)計(jì)經(jīng)驗(yàn)經(jīng)過實(shí)踐檢驗(yàn)和分類編目,形成了軟件設(shè)計(jì)模式。軟件設(shè)計(jì)模式一般可分為創(chuàng)建型、結(jié)構(gòu)型和行為型三類,所有模式都遵循開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則和合成復(fù)用原則等通用原則。常用的軟件模式包括單例模式、抽象工廠模式、代理模式、命令模式和策略模式。軟件設(shè)計(jì)模式一般適用于特定的生產(chǎn)場景,以合適的軟件設(shè)計(jì)模式指導(dǎo)軟件的開發(fā)工作可對軟件的開發(fā)起到積極的促進(jìn)作用。
(3)軟件設(shè)計(jì)方法
計(jì)算機(jī)控制系統(tǒng)中軟件的設(shè)計(jì)方法主要有面向過程方法、面向數(shù)據(jù)流方法和面向?qū)ο蠓椒ǎ謩e對應(yīng)不同的應(yīng)用場景。面向過程方法是計(jì)算機(jī)控制系統(tǒng)軟件發(fā)展早期被廣泛采用的設(shè)計(jì)方法,其設(shè)計(jì)以過程為中心,以函數(shù)為單元,強(qiáng)調(diào)控制任務(wù)的流程性,設(shè)計(jì)的過程是分析過程和用函數(shù)代換的流程化思想,在流程特性較強(qiáng)的生產(chǎn)領(lǐng)域具備較高的設(shè)計(jì)效率。面向數(shù)據(jù)流方法又稱為結(jié)構(gòu)化設(shè)計(jì)方法,其主體思想是用數(shù)據(jù)結(jié)構(gòu)描述待處理數(shù)據(jù)的組織形式,用算法描述具體的操作過程,強(qiáng)調(diào)將系統(tǒng)分割為邏輯功能模塊的集合,并確保模塊之間的結(jié)構(gòu)獨(dú)立,減少了設(shè)計(jì)的復(fù)雜度,增強(qiáng)了代碼的可重用性。面向?qū)ο蟮脑O(shè)計(jì)方法是計(jì)算機(jī)控制系統(tǒng)軟件發(fā)展到一定階段的產(chǎn)物,采用封裝、繼承、多態(tài)等方法將生產(chǎn)過程抽象為對象,將生產(chǎn)過程的屬性和流程抽象為對象的變量和方法,使用類對生產(chǎn)過程進(jìn)行描述,使代碼的可復(fù)用性和可擴(kuò)展性得到了極大提升,降低了軟件的開發(fā)和維護(hù)難度。
(4)軟件開發(fā)工具
計(jì)算機(jī)控制系統(tǒng)軟件的開發(fā)過程中常用到的軟件開發(fā)工具有程序設(shè)計(jì)語言、程序編譯器、集成開發(fā)環(huán)境、數(shù)據(jù)庫軟件和分布式編程模型等。
編程語言是用來定義計(jì)算機(jī)程序的標(biāo)準(zhǔn)化形式語言,可分為機(jī)器語言、匯編語言和高級語言三種,機(jī)器語言是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令的集合,它是計(jì)算機(jī)的設(shè)計(jì)者通過計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能。機(jī)器語言具有靈活、直接執(zhí)行和速度快等特點(diǎn),但代碼由二進(jìn)制指令構(gòu)成,可讀性差,不具備平臺間可移植性。匯編語言具備和機(jī)器語言相同的實(shí)質(zhì),采用標(biāo)識符對機(jī)器語言進(jìn)行標(biāo)記,增強(qiáng)了機(jī)器語言的可讀性。高級語言是高度封裝了的編程語言,是較接近自然語言和數(shù)學(xué)公式的語言,基本脫離了機(jī)器的硬件系統(tǒng),用人們更易理解的方式編寫程序。高級語言并不是特指某一種具體的語言,而是包括了很多編程語言,如Fortran、Pascal、C、C++、Java、C#和PHP等。
程序編譯器是把高級語言代碼翻譯為計(jì)算機(jī)可以執(zhí)行的低級語言代碼的程序,編譯器對代碼執(zhí)行預(yù)處理、編譯和鏈接,并對代碼進(jìn)行分析和優(yōu)化,生成精簡、高效的可執(zhí)行程序。C++語言常用的程序編譯器有g(shù)cc/g++和Microsoft C/C++編譯器,Java語言常用的程序編譯器是javac。隨著軟件開發(fā)技術(shù)的發(fā)展,編譯器一般都被包含在集成開發(fā)環(huán)境中。
集成開發(fā)環(huán)境是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。集成開發(fā)環(huán)境集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等,將通用設(shè)置實(shí)施到設(shè)計(jì)人員的代碼中,使用戶可以將注意力集中到編程邏輯上,提高了編碼的效率。常用的集成開發(fā)環(huán)境有Microsoft Visual C++、Microsoft Visual Studio、Eclipse、Keil μVision等。
數(shù)據(jù)庫軟件是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫。它實(shí)現(xiàn)邏輯數(shù)據(jù)的抽象處理,并對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。數(shù)據(jù)庫軟件為計(jì)算機(jī)控制系統(tǒng)軟件提供數(shù)據(jù)訪問接口,為計(jì)算機(jī)控制系統(tǒng)提供數(shù)據(jù)支持。數(shù)據(jù)庫可分為網(wǎng)狀數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、樹狀數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫,常用的數(shù)據(jù)庫有Oracle、MS SQL Server、MySQL和Visual Foxpro等。
分布式編程模型是計(jì)算機(jī)控制系統(tǒng)軟件發(fā)展的最新成果,它為分布式計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)和編程提供可參考的解決方案,常用的分布式編程模型是DCOM模型和Web編程模型。DCOM是一種跨應(yīng)用和語言共享二進(jìn)制代碼的網(wǎng)絡(luò)編程模型,DCOM技術(shù)在工控領(lǐng)域拓展為OPC技術(shù),為分布式計(jì)算機(jī)控制系統(tǒng)的實(shí)現(xiàn)提供了新的途徑。Web發(fā)布系統(tǒng)是分布式計(jì)算機(jī)控制系統(tǒng)的拓展和補(bǔ)充,Web編程模型分為客戶端模型和服務(wù)器模型,客戶端模型用于展現(xiàn)信息內(nèi)容,設(shè)計(jì)技術(shù)主要有HTML語言、腳本技術(shù)和插件技術(shù)等;服務(wù)端模型用于構(gòu)建策略與結(jié)構(gòu),設(shè)計(jì)技術(shù)主要有PHP、ASP、Servlet等。
- 蔡雯《新聞編輯學(xué)》(第2版)配套題庫【名校考研真題(視頻講解)+課后習(xí)題+章節(jié)題庫+模擬試題】
- 中國現(xiàn)當(dāng)代文學(xué)
- 建筑速寫
- STM32嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用
- 超重力技術(shù)及應(yīng)用
- 網(wǎng)店美工視覺設(shè)計(jì)實(shí)戰(zhàn)教程(全彩微課版·第2版)
- 戲劇學(xué)
- 程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)和學(xué)習(xí)指導(dǎo)(C語言·微課版)
- 中小學(xué)生制服技術(shù)標(biāo)準(zhǔn)規(guī)范
- 現(xiàn)代五大職教模式
- 2020年天津市公安招警考試《公安專業(yè)科目》題庫【真題精選+章節(jié)題庫+模擬試題】
- 大數(shù)據(jù)技術(shù)導(dǎo)論
- 周三多《管理學(xué):原理與方法》(第4版)課后習(xí)題與考研真題詳解
- 民事訴訟法(第二版)
- 陳振明《公共管理學(xué)》(第2版)筆記和考研真題詳解