《計算機控制系統(tǒng)》課件-第7章 計算機控制系統(tǒng)的軟件設計_第1頁
《計算機控制系統(tǒng)》課件-第7章 計算機控制系統(tǒng)的軟件設計_第2頁
《計算機控制系統(tǒng)》課件-第7章 計算機控制系統(tǒng)的軟件設計_第3頁
《計算機控制系統(tǒng)》課件-第7章 計算機控制系統(tǒng)的軟件設計_第4頁
《計算機控制系統(tǒng)》課件-第7章 計算機控制系統(tǒng)的軟件設計_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第7章

計算機控制系統(tǒng)的軟件設計

計算機控制系統(tǒng)有了硬件設備之后,如果要實現(xiàn)其測量與控制功能,還需要有相應的軟件支持。

軟件是計算機控制系統(tǒng)的靈魂。

在計算機技術(shù)發(fā)展的早期,系統(tǒng)功能簡單,軟件工作被看做是一門藝術(shù),所強調(diào)的是編程的技巧和訣竅。

隨著系統(tǒng)復雜性的增加,以藝術(shù)方式開發(fā)的軟件變得越來越難以理解和維護,可靠性下降,軟件開發(fā)和維護的成本急劇上升,在20世紀70年代初現(xiàn)了所謂的軟件危機。

此后,軟件工作逐步從藝術(shù)走向工程,開始強調(diào)工程的基本特征:設計、施工和標準化。

本章主要介紹計算機控制系統(tǒng)的相關(guān)軟件設計技術(shù)。7.1計算機控制系統(tǒng)軟件的概述7.1.1計算機控制系統(tǒng)應用軟件的分層結(jié)構(gòu)

計算機控制系統(tǒng)軟件可分為系統(tǒng)軟件、支持軟件和應用軟件三部分。

系統(tǒng)軟件指計算機控制系統(tǒng)應用軟件開發(fā)平臺和操作平臺。

支持軟件用于提供軟件設計和更新接口,并為系統(tǒng)提供診斷和支持服務。

應用軟件是計算機控制系統(tǒng)軟件的核心部分,用于執(zhí)行控制任務,按用途可劃分為監(jiān)控平臺軟件、基本控制軟件、先進控制軟件、局部優(yōu)化軟件、操作優(yōu)化軟件、最優(yōu)調(diào)度軟件和企業(yè)計劃決策軟件。

計算機控制系統(tǒng)應用軟件的分層結(jié)構(gòu)如圖7-1所示。圖7-1計算機控制系統(tǒng)應用軟件的分層結(jié)構(gòu)7.1.2計算機控制系統(tǒng)軟件的設計策略

計算機控制系統(tǒng)的軟件設計策略可分為軟件設計規(guī)劃、軟件設計模式和軟件設計方法三個部分。1.軟件設計規(guī)劃

軟件設計規(guī)劃包括軟件開發(fā)基本策略、軟件開發(fā)方案和軟件過程模型三部分。

軟件開發(fā)中的三種基本策略是復用、分而治之和優(yōu)化與折衷。軟件開發(fā)基本策略是軟件開發(fā)的基本思想和整體脈絡,貫穿軟件開發(fā)的整體流程中。

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

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

為增強計算機控制系統(tǒng)軟件的代碼可靠性和可復用性,增強軟件的可維護性,編程人員對代碼設計經(jīng)驗進行實踐和分類編目,形成了軟件設計模式。軟件設計模式一般可分為創(chuàng)建型、結(jié)構(gòu)型和行為型三類,所有模式都遵循開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則和合成復用原則等通用原則。常用的軟件模式包括單例模式、抽象工廠模式、代理模式、命令模式和策略模式。軟件設計模式一般適用于特定的生產(chǎn)場景,以合適的軟件設計模式指導軟件的開發(fā)工作可對軟件的開發(fā)起到積極的促進作用。3.軟件設計方法

計算機控制系統(tǒng)中軟件的設計方法主要由面向過程方法、面向數(shù)據(jù)流方法和面向?qū)ο蠓椒?,分別對應不同的應用場景。

面向過程方法是計算機控制系統(tǒng)軟件發(fā)展早期被廣泛采用的設計方法,其設計以過程為中心,以函數(shù)為單元,強調(diào)控制任務的流程性,設計的過程是分析和用函數(shù)代換的流程化過程,在流程特性較強的生產(chǎn)領(lǐng)域能夠達到較高的設計效率。

面向數(shù)據(jù)流方法又稱為結(jié)構(gòu)化設計方法,主體思想是用數(shù)據(jù)結(jié)構(gòu)描述待處理數(shù)據(jù),用算法描述具體的操作過程,強調(diào)將系統(tǒng)分割為邏輯功能模塊的集合,并確保模塊之間的結(jié)構(gòu)獨立,減少了設計的復雜度,增強了代碼的可重用性。

面向?qū)ο蟮脑O計方法是計算機控制系統(tǒng)軟件發(fā)展到一定階段的產(chǎn)物,采用封裝、繼承、多態(tài)等方法將生產(chǎn)過程抽象為對象,將生產(chǎn)過程的屬性和流程抽象為對象的變量和方法,使用類對生產(chǎn)過程進行描述,使代碼的可復用性和可擴展性得到了極大提升,降低了軟件的開發(fā)和維護難度。7.1.3計算機控制系統(tǒng)軟件的功能和性能指標

計算機控制系統(tǒng)軟件的技術(shù)指標分為功能指標和性能指標,功能指標是軟件能提供的各種功能和用途的完整性,性能指標包括軟件的各種性能參數(shù),包括安全性、實時性、魯棒性和可移植性四種。1.軟件的功能指標

計算機控制系統(tǒng)軟件一般至少由系統(tǒng)組態(tài)程序,前臺控制程序,后臺顯示、打印、管理程序以及數(shù)據(jù)庫等組成。具體實現(xiàn)如下功能:⑴實時數(shù)據(jù)采集:完成現(xiàn)場過程參數(shù)的采集與處理。⑵控制運算:包括模擬控制、順序控制、邏輯控制和組合控制等功能。⑶控制輸出:根據(jù)設計的控制算法所計算的結(jié)果輸出控制信號,以跟蹤輸入信號的變化。⑷報警監(jiān)視:完成過程參數(shù)越界報警及設備故障報警等功能。⑸畫面顯示和報表輸出:實時顯示過程參數(shù)及工藝流程,并提供操作畫面、報表顯示和打印功能。⑹可靠性功能:包括故障診斷、冗余設計、備用通道切換等功能。⑺流程畫面制作功能:用來生成應用系統(tǒng)的各種工藝流程畫面和報表等功能。⑻管理功能:包括文件管理、數(shù)據(jù)庫管理、趨勢曲線、統(tǒng)計分析等功能。⑼通信功能:包括控制單元之間、操作站之間、子系統(tǒng)之間的數(shù)據(jù)通信功能。⑽OPC接口:通過OPCServer實現(xiàn)與上層計算機的數(shù)據(jù)共享和遠程數(shù)據(jù)訪問功能。2.軟件的性能指標

判斷計算機控制系統(tǒng)軟件的性能指標如下。⑴安全性⑵實時性⑶魯棒性⑷可移植性7.2實時多任務系統(tǒng)

在計算機控制系統(tǒng)中,一個實時應用通常包括若干控制流。

為了有效地運行多個控制流的復雜應用,應該將應用分解為若干個與控制流相對應的任務(Task)加以處理。

計算機控制系統(tǒng)廣泛使用實時操作系統(tǒng)(RealTimeOperatingSystem,RTOS)構(gòu)建實時多任務系統(tǒng)。7.2.1實時系統(tǒng)和實時操作系統(tǒng)1.實時系統(tǒng)

實時計算機系統(tǒng)的定義是:能夠在確定的時間內(nèi)運行其功能并對外部異步事件做出響應的計算機系統(tǒng)。

高性能的實時系統(tǒng),其硬件結(jié)構(gòu)應該具有計算速度快、中斷處理和I/O通信能力強的特點,但是應該認識到,“實時”和“快速”是兩個不同的概念。計算機系統(tǒng)處理速度的快慢,主要取決于它的硬件系統(tǒng),尤其是所采用的處理器的性能。

在計算機控制系統(tǒng)中廣泛采用實時計算機組成應用系統(tǒng),實時系統(tǒng)通常運行兩類典型的工作,一類是在預期的時間限制內(nèi),確認和響應外部的事件;另一類處理和儲存大量的來自被控對象的數(shù)據(jù)。

對于第一類工作,任務響應時間、中斷等待時間和中斷處理能力是最重要的,將它稱為中斷型的;第二類是計算型的工作,要求很好的處理速度和吞吐能力。在實際應用中,經(jīng)常遇到的是兼具兩種要求的中斷和計算混合型的實時系統(tǒng)。2.實時操作系統(tǒng)

操作系統(tǒng)是計算機運行以及所有資源的管理者,包括任務管理、任務間的信息傳遞、I/O設備管理,內(nèi)存管理和文件系統(tǒng)的管理等。從外部來看,操作系統(tǒng)提供了與使用者、程序及硬件的接口。操作系統(tǒng)與計算機I/O硬件設備的接口是設備驅(qū)動器,應用程序與操作系統(tǒng)之間的接口是系統(tǒng)調(diào)用。

通用計算機系統(tǒng)中運行的是桌面操作系統(tǒng),包括Windows、UNIX和Linux等,在計算機控制系統(tǒng)中使用的主要是實時操作系統(tǒng)。大多數(shù)實時操作系統(tǒng)的結(jié)構(gòu)仿照UNIX操作系統(tǒng)的風格,所以它們又稱為“類UNIX”操作系統(tǒng)。

現(xiàn)代的實時操作系統(tǒng)的內(nèi)核(Kernel)通常采用客戶/服務者方式,或稱為微內(nèi)核(Microkernel)方式,微內(nèi)核操作系統(tǒng)如圖7-2所示。圖7-2微內(nèi)核操作系統(tǒng)7.2.2實時多任務系統(tǒng)的切換與調(diào)度

處理多任務的理想方法之一是采用緊耦合多處理機系統(tǒng),讓每個處理機各處理一個任務。這種方法真正做到了同一時刻運行多個任務,稱為并行處理。

分布式控制系統(tǒng)中的各個節(jié)點普遍使用單處理機系統(tǒng)。

單處理機系統(tǒng)在實時操作系統(tǒng)調(diào)度下,可以使若干個任務并發(fā)地運行,構(gòu)成所謂多任務系統(tǒng),事實上,無論是大型的分布式系統(tǒng)還是小型的嵌入式系統(tǒng),實時控制系統(tǒng)大多數(shù)是以這種方式運行的。

并發(fā)處理是指在一段時間里調(diào)度若干任務“同時”運行,其實具體到任何時刻,系統(tǒng)中只能有一個任務在運行,因為只有一個處理機。并發(fā)處理被看做是一種偽并行機制。1.任務及任務切換⑴任務

一個任務的狀態(tài)轉(zhuǎn)移如圖7-3所示。圖7-3任務的狀態(tài)轉(zhuǎn)移1)運行態(tài)2)待命態(tài)3)阻塞態(tài)⑵任務上下文切換

任務控制塊TCB如圖7-4所示。圖7-4任務控制塊TCB2.實時任務調(diào)度⑴實時任務的時間特征

一個實時任務有兩個最基本的特征,重要性和時間特性,與任務調(diào)度有關(guān)的所有問題,都是圍繞著這兩個基本特性展開的。實時任務的重要性可以用優(yōu)先級來確定。實時任務按時間特性可分為三類:1)周期性任務,是指被以固定的時間間隔發(fā)生的事件所激活的任務。2)非周期性任務,是指被無規(guī)則的或者隨機的外部事件所激活的任務。3)偶發(fā)任務,也可以歸類為非周期性任務,只是事件發(fā)生的頻率低。

任務的時間特性包括:1)限定時間2)最壞情況下的執(zhí)行時間3)執(zhí)行周期(對周期性任務而言)⑵任務調(diào)度器

實時應用中,根據(jù)需要可以把應用分解為強實時、弱實時和非實時不同等級的任務,用某種調(diào)度方式安排運行。實時內(nèi)核中有一個調(diào)度器,專門用于調(diào)度應用任務。實時操作系統(tǒng)中的任務調(diào)度方法有許多種,其中最廣泛使用的是基于優(yōu)先級的搶先調(diào)度方式及輪轉(zhuǎn)調(diào)度方式。

調(diào)度器的基本功能是管理待命隊列和阻塞隊列,并負責控制每個任務在各個狀態(tài)之間的切換。3.中斷處理

在實時操作系統(tǒng)管理下的控制系統(tǒng)是事件驅(qū)動的系統(tǒng),許多優(yōu)先級的任務切換是被中斷所引起的,或者說,任務被外部事件(例如I/O事件)驅(qū)動而運行。當外部事件未出現(xiàn)時,處理該外部事件的任務處在阻塞態(tài),等待著被喚醒。外部事件引起中斷后,進入中斷服務程序,在中斷服務程序中,通過系統(tǒng)調(diào)用與相應的處理任務通信并喚醒該任務。7.3

現(xiàn)場控制層的軟件系統(tǒng)平臺7.3.1軟件系統(tǒng)平臺的選擇

隨著微控制器性能的不斷提高,嵌入式應用越來越廣泛。

目前市場上的大型商用嵌入式實時系統(tǒng),如VxWorks,pSOS,Pharlap,Qnx等,己經(jīng)十分成熟,并為用戶提供了強有力的開發(fā)和調(diào)試工具。但這些商用嵌入式實時系統(tǒng)價格昂貴而且都針對特定的硬件平臺。此時,采用免費軟件和開放代碼不失為一種選擇。

μC/OS-II是一種免費的、源碼公開的、穩(wěn)定可靠的嵌入式實時操作系統(tǒng),已被廣泛應用于嵌入式系統(tǒng)中,并獲得了成功,因此計算機控制系統(tǒng)的現(xiàn)場控制層采用μC/OS-II是完全可行的。

μC/OS-II是專門為嵌入式應用而設計的實時操作系統(tǒng),是基于靜態(tài)優(yōu)先級的占先式(Preemptive)多任務實時內(nèi)核。

采用μC/OS-II作為軟件平臺,一方面是因為它已經(jīng)通過了很多嚴格的測試,被確認是一個安全的、高效的實時操作系統(tǒng);另一個重要的原因,是因為它免費提供了內(nèi)核的源代碼,通過修改相關(guān)的源代碼,就可以比較容易地構(gòu)造用戶所需要的軟件環(huán)境,實現(xiàn)用戶需要的功能。

基于計算機控制系統(tǒng)現(xiàn)場控制層實時多任務的需求以及μC/OS-II優(yōu)點的分析,可以選用μC/OS-IIv2.52作為現(xiàn)場控制層的軟件系統(tǒng)平臺。7.3.2μC/OS-II內(nèi)核調(diào)度基本原理1.時鐘觸發(fā)機制

嵌入式多任務系統(tǒng)中,內(nèi)核提供的基本服務是任務切換,而任務切換是基于硬件定時器中斷進行的。

在80x86PC及其兼容機(包括很多流行的基于x86平臺的微型嵌入式主板)中,使用8253/54PIT來產(chǎn)生時鐘中斷。定時器的中斷周期可以由開發(fā)人員通過向8253輸出初始化值來設定,默認情況下的周期為54.93ms,每一次中斷叫一個時鐘節(jié)拍。

PC時鐘節(jié)拍的中斷向量為08H,讓這個中斷向量指向中斷服務子程序,在定時器中斷服務程序中決定已經(jīng)就緒的優(yōu)先級最高的任務進入可運行狀態(tài),如果該任務不是當前(被中斷)的任務,就進行任務上下文切換:把當前任務的狀態(tài)(包括程序代碼段指針和CPU寄存器)推入棧區(qū)(每個任務都有獨立的棧區(qū));同時讓程序代碼段指針指向已經(jīng)就緒并且優(yōu)先級最高的任務并恢復它的堆棧。2.任務管理和調(diào)度

運行在μC/OS-II之上的應用程序被分成若干個任務,每一個任務都是一個無限循環(huán)。內(nèi)核必須交替執(zhí)行多個任務,在合理的響應時間范圍內(nèi)使處理器的使用率最大。任務的交替運行按照一定的規(guī)律,在μC/OS-II中,每一個任務在任何時刻都處于如下5種狀態(tài)之一:⑴睡眠(Dormant):任務代碼已經(jīng)存在,但還未創(chuàng)建任務或任務被刪除。⑵就緒(Ready):任務還未運行,但就緒列表中相應位已經(jīng)置位,只要內(nèi)核調(diào)度到就立即準備運行。⑶等待(Waiting):任務在某事件發(fā)生前不能被執(zhí)行,如延時或等待消息等。⑷運行(Running):該任務正在被執(zhí)行,且一次只能有一個任務處于這種狀態(tài)。⑸中斷服務態(tài)(Interrupted):任務進入中斷服務。

μC/OS-II的5種任務狀態(tài)及其轉(zhuǎn)換關(guān)系如圖7-5所示。圖7-5μC/OS-Ⅱ任務狀態(tài)轉(zhuǎn)換圖7.4計算機控制系統(tǒng)軟件的關(guān)鍵技術(shù)7.4.1COM和ActiveX技術(shù)1.COM技術(shù)

組件對象模型(ComponentObjectModel),簡稱為COM,是一項將軟件拆分成各個彼此獨立的二進制功能模塊文件,各文件之間通過二進制調(diào)用來完成復雜功能的軟件開發(fā)技術(shù)。采用COM規(guī)范開發(fā)的組件就稱為COM組件。其特點如下:⑴面向?qū)ο蟮木幊獭"品庋b性和可重用性好。⑶組件與開發(fā)的工具與語言無關(guān),與開發(fā)平臺無關(guān)。⑷運行效率高、易擴展、便于使用和管理。

COM采用“接口與實現(xiàn)分開”的原則設計程序,接口是COM編程的基礎(chǔ),COM接口具有非常簡單的二進制結(jié)構(gòu)特征,通過此二進制結(jié)構(gòu)可允許客戶訪問一個對象,而無需考慮客戶或者對象實現(xiàn)使用什么樣的編程語言。2.ActiveX技術(shù)

ActiveX技術(shù)是在對象鏈接與嵌入技術(shù)(ObjectLinkingandEmbedding,OLE)基礎(chǔ)上發(fā)展起來基于COM的技術(shù)。ActiveX控件就是OLE控件在Internet環(huán)境上的擴展。

由于ActiveX控件是基于組件對象模型的,如果在程序中使用了ActiveX控件,那么在以后升級程序時可以單獨升級控件而不需要升級整個程序?;谝陨咸攸c,ActiveX控件已被廣泛應用于應用程序和因特網(wǎng)上。ActiveX控件可以被集成到很多支持ActiveX的應用當中去,或者直接用來擴展應用的功能。所有的ActiveX控件最終必須定位于某種容器。

在組態(tài)軟件中引入控件技術(shù),歷史報警、實時報警、歷史趨勢和實時趨勢等功能模塊采用控件技術(shù)開發(fā)??丶夹g(shù)的引入在很大程度上方便了用戶,用戶可以調(diào)用一個已開發(fā)好的ActiveX控件,來完成一項復雜的任務,而無須在組態(tài)軟件中做大量的復雜工作。7.4.2多線程

多進程/線程的程序設計受到操作系統(tǒng)體系結(jié)構(gòu)很大的影響。32位Windows操作系統(tǒng)最主要的特點之一是支持多任務調(diào)度和處理。

所謂多任務,包括多進程和多線程兩類。

進程是應用程序的執(zhí)行實例,每個進程是由私有的虛擬地址空間、代碼、數(shù)據(jù)和其它各種系統(tǒng)資源組成。

線程是系統(tǒng)分配處理時間資源的基本單位,它是進程的一條執(zhí)行路線。

一個進程至少有一個線程(通常稱該線程為主線程),也可以包括多個線程。

在組態(tài)軟件的數(shù)據(jù)庫系統(tǒng)和I/O驅(qū)動程序的設計中一般采用多線程技術(shù)。7.4.3網(wǎng)絡通信技術(shù)

網(wǎng)絡通信技術(shù)指通過計算機和網(wǎng)絡通信設備對圖形和文字等資料進行采集、存儲、處理和傳輸?shù)炔僮?,使信息資源達到充分共享的技術(shù),主要包括數(shù)據(jù)通信、網(wǎng)絡連接及協(xié)議三個方面的內(nèi)容。

數(shù)據(jù)通信的任務是以可靠高效的手段傳輸信號,內(nèi)容包括信號傳輸、傳輸媒體、信號編碼、接口、數(shù)據(jù)鏈路控制和復用。網(wǎng)絡連接指用于連接各種通信設備的技術(shù)及其體系結(jié)構(gòu)。網(wǎng)絡通信協(xié)議為連接不同操作系統(tǒng)和不同硬件體系結(jié)構(gòu)的互聯(lián)網(wǎng)絡提供通信支持,是一種網(wǎng)絡通用語言。

TCP/IP協(xié)議、UDP協(xié)議和HTTP協(xié)議是組態(tài)軟件常用的網(wǎng)絡通信協(xié)議。

SOCKET套接字是網(wǎng)絡通信的基石,是支持TCP/IP協(xié)議的網(wǎng)絡通信的基本操作單元。它是網(wǎng)絡通信過程中端點的抽象表示,在使用中一般成對出現(xiàn)。

組態(tài)軟件的網(wǎng)絡通信一般采用SOCKET方式實現(xiàn)。

SOCKET套接字在多種操作語言中具備不同的封裝,在設計過程中形成了多種套接字模型,為設計人員的設計工作提供了便利。SOCKET在C/C++、C#、Delphi和Java等語言中均有具體的封裝和實現(xiàn),為計算機軟件間的通信提供了途徑。SOCKET主要有Select模型、WSAAsyncSelect模型、WSAEventSelect模型和重疊I/O模型等。7.4.4腳本引擎技術(shù)

腳本引擎又稱為腳本解釋器,其功能是解釋執(zhí)行用戶的程序文本,構(gòu)成腳本運行所需的框架,并提供可供腳本調(diào)用的二進制代碼。如用于建網(wǎng)站的asp、php等,它們的功能是解釋執(zhí)行用戶的程序文本,將腳本語言譯成計算機能執(zhí)行的機器代碼,完成一系列的功能。常用的面向?qū)ο蟮哪_本有VBScript、JavaScript和PerlScript,分別對應不同的腳本引擎。以JavaScript腳本為例,常用腳本引擎有GoogleV8、Node.js和SpiderMonkey。7.5組態(tài)軟件數(shù)據(jù)庫系統(tǒng)設計

數(shù)據(jù)管理是DCS組態(tài)軟件的核心部分。本節(jié)在分析組態(tài)軟件如何進行數(shù)據(jù)管理的基礎(chǔ)上,介紹了數(shù)據(jù)管理的中心——數(shù)據(jù)庫系統(tǒng)(包括組態(tài)數(shù)據(jù)庫系統(tǒng)和實時運行數(shù)據(jù)庫系統(tǒng))的設計與實現(xiàn)。7.5.1組態(tài)軟件中的數(shù)據(jù)管理

DCS系統(tǒng)實現(xiàn)對工業(yè)過程的控制功能,首先是從采集現(xiàn)場設備的數(shù)據(jù)開始的,現(xiàn)場控制站作為現(xiàn)場數(shù)據(jù)的采集站,將采集的數(shù)據(jù)進行相關(guān)處理后通過通信網(wǎng)絡上傳到DCS的組態(tài)軟件。

組態(tài)軟件的監(jiān)控功能也是圍繞著對數(shù)據(jù)的存儲、分析、轉(zhuǎn)換和顯示來運行的,因此數(shù)據(jù)是貫穿整個DCS硬件和軟件系統(tǒng)的主線,組態(tài)軟件中的數(shù)據(jù)管理就顯得尤為重要。

軟件設計中采用了文件管理和數(shù)據(jù)庫管理相結(jié)合的數(shù)據(jù)管理方式。在組態(tài)軟件中數(shù)據(jù)包括工程組態(tài)的配置信息和運行時的實時數(shù)據(jù)信息,針對組態(tài)軟件的數(shù)據(jù)表現(xiàn)形式的不同,采取不同的數(shù)據(jù)處理方法。7.5.2數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)

數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)如圖7-6所示。方框內(nèi)的各部分構(gòu)成組態(tài)軟件數(shù)據(jù)庫系統(tǒng)。圖7-6組態(tài)軟件數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)7.5.3組態(tài)數(shù)據(jù)庫的設計與實現(xiàn)1.組態(tài)數(shù)據(jù)庫的功能分析

組態(tài)數(shù)據(jù)庫是在系統(tǒng)開發(fā)環(huán)境下,為保存數(shù)據(jù)點和系統(tǒng)配置信息,利用關(guān)系數(shù)據(jù)庫的快速檢索、插入和修改的特點創(chuàng)建的數(shù)據(jù)庫系統(tǒng)。

組態(tài)數(shù)據(jù)庫的主要功能在于為實時運行數(shù)據(jù)庫配置各種點信息,這里的“點”是一個抽象的概念,是對數(shù)據(jù)信息進行面向?qū)ο蠓治龅慕Y(jié)果,是組態(tài)軟件表示數(shù)據(jù)對象的基本單元,一個點由若干個參數(shù)組成,參數(shù)表示數(shù)據(jù)對象擁有的屬性,系統(tǒng)以點的參數(shù)作為存放信息的基本單位。

組態(tài)數(shù)據(jù)庫是為了保存組態(tài)信息設計的,根據(jù)點組態(tài)配置的要求,需要完成以下幾個功能:⑴數(shù)據(jù)新建功能⑵數(shù)據(jù)編輯功能⑶數(shù)據(jù)查詢功能⑷數(shù)據(jù)保存功能2.組態(tài)數(shù)據(jù)庫的結(jié)構(gòu)設計

在軟件設計過程中,為了系統(tǒng)實現(xiàn)的簡單方便,盡量會降低數(shù)據(jù)結(jié)構(gòu)的復雜性,采用面向?qū)ο蟮姆治龇椒?,對?shù)據(jù)對象進行分類和抽象,分類要盡量少,抽象出來的結(jié)構(gòu)要盡可能涵蓋對象的所有屬性。對數(shù)據(jù)結(jié)構(gòu)的分析來源于現(xiàn)實中的對象。

首先對組態(tài)數(shù)據(jù)庫中存儲的信息內(nèi)容進行分析。這些組態(tài)信息包括:⑴現(xiàn)場控制站主控制卡模塊和智能測控模板的配置信息

主控卡的配置信息包括主控卡的名稱、IP地址、主控卡與操作員站和工程師站的通信方式、是否冗余等信息。智能測控模塊的配置信息包括模塊的名稱、地址(指模塊與主控卡通過現(xiàn)場總線進行通信的地址)、模塊類型、是否冗余等。⑵智能測控模板各I/O通道的配置信息

I/O變量的配置信息包括數(shù)據(jù)源定義、參數(shù)配置和針對變量的處理配置。⑶組態(tài)軟件定義的中間變量

中間變量是指在組態(tài)軟件中定義的沒有數(shù)據(jù)源連接的變量。在DCS組態(tài)軟件中,常常需要一些變量用來進行計算或者是保存某種計算的中間結(jié)果等,應系統(tǒng)要求出現(xiàn)了中間變量,它可以定義為浮點型、整型、離散型、字符串型。中間變量的作用域為整個應用程序,在本組態(tài)軟件中中間變量的最大作用是配合腳本模塊,作為整個應用程序動作控制的變量。

針對描述的實體對象不同,將數(shù)據(jù)分為現(xiàn)場控制站系統(tǒng)配置數(shù)據(jù)、I/O通道的配置數(shù)據(jù)和中間變量配置數(shù)據(jù)三類。

智能測控模板各I/O通道的配置信息是組態(tài)數(shù)據(jù)庫存儲的主要配置信息。現(xiàn)場控制站上的智能測控模塊用來采集現(xiàn)場設備信息,不同類型的測控模塊負責采集不同類型的現(xiàn)場數(shù)據(jù),DCS系統(tǒng)的智能測控模板分為模擬量輸入智能測控模板、模擬量輸出智能測控模板、熱電偶輸入智能測控模板、熱電阻輸入智能測控模板、數(shù)字量輸入智能測控模板、數(shù)字量輸出智能測控模板和脈沖量輸入智能測控模板等。按照通道接入的信號類型的不同,可將I/O變量分為I/O模擬量輸入點、I/O模擬量輸出點和I/O數(shù)字量點,I/O模擬量輸入點用來描述模擬量輸入模塊、熱電偶輸入模塊、熱電阻輸入模塊和脈沖量輸入模塊的通道輸入情況;I/O模擬量輸出點用來表示模擬量輸出模塊的通道輸出情況;I/O數(shù)字量點用來描述數(shù)字量輸入/輸出模塊的通道情況。7.6OPC技術(shù)7.6.1OPC技術(shù)概述

OPC是OLEforProcessControl的簡稱,即用于過程控制的對象連接與嵌入,是用于工業(yè)控制自動化領(lǐng)域的信息通信接口技術(shù)。

自OPC提出以后,計算機控制系統(tǒng)的異構(gòu)性和強耦合性問題得到了解決。

OPC在硬件供應商和軟件開發(fā)商之間建立一套完整的“接口規(guī)則”。

在OPC規(guī)范下,硬件供應商只需考慮應用程序的多種需求和硬件設備的傳輸協(xié)議,開發(fā)包含設備驅(qū)動的服務器程序;軟件開發(fā)商也不必了解硬件的實質(zhì)和操作過程,只需要訪問服務器即可實現(xiàn)與現(xiàn)場設備之間的通信。

開發(fā)OPC的最終目標是在工業(yè)控制領(lǐng)域建立一套數(shù)據(jù)傳輸規(guī)范,現(xiàn)有的OPC規(guī)范涉及以下幾個領(lǐng)域。⑴在線數(shù)據(jù)監(jiān)測:OPC實現(xiàn)了應用程序和工業(yè)控制設備之間高效、靈活的數(shù)據(jù)讀寫。⑵報警和事件處理:OPC提供了OPC服務器發(fā)生異常及OPC服務器設定事件到來時,向OPC客戶發(fā)送通知的一種機制。⑶歷史數(shù)據(jù)訪問:OPC實現(xiàn)了對歷史數(shù)據(jù)庫的讀取、操作和編輯。⑷遠程數(shù)據(jù)訪問:借助Microsoft的DCOM(DistributedComponentObjectModel)技術(shù),OPC實現(xiàn)了高性能的遠程數(shù)據(jù)訪問能力。

除此之外,OPC實現(xiàn)的功能還包括安全性、批處理和歷史報警事件數(shù)據(jù)訪問等。

OPC的開發(fā)一般使用ATL和STL工具,ATL(ActiveTemplateLibrary,活動模板庫)是由微軟提供的專門用于開發(fā)COM/DCOM組件的工具,它提供了對COM/DCOM組件內(nèi)核的支持,自動生成COM/DCOM組件復雜的基本代碼。

因此,ATL極大的方便了OPC服務器的開發(fā),使編程人員把注意力集中到OPC規(guī)范的實現(xiàn)細節(jié)上,簡化了編程,提高了開發(fā)效率。WTL(WindowsTemplateLibrary,窗口模板庫)是對ATL的拓展,其對字符串類以及界面制作的支持,使OPC服務器的開發(fā)更加方便。7.6.2OPC關(guān)鍵技術(shù)1.組件與接口

把一個龐大的應用程序分成多個模塊,每一個模塊保持一定的功能獨立性,在協(xié)同工作時,通過相互之間的接口完成實際的任務,這些模塊稱為組件。這些組件可以單獨的開發(fā)、編譯,甚至單獨的調(diào)試和測試。因此只需要對相應組件進行修改,再重新組合即可完成產(chǎn)品的功能升級或者適應硬件環(huán)境的變化。

接口是組件與外部程序進行通信的橋梁,外部程序通過接口來去訪問組件的屬性和方法。在同一個軟件系統(tǒng)中,組件與外部程序之間必須使用相同的接口標準才能保證相互通信。2.COM/DCOM

COM(ComponentObjectModel,組件對象模型)提供了外部程序與組件之間交互的接口標準以及組件程序順利運行所需要的環(huán)境。同時,COM引入了面向?qū)ο蟮乃枷?,這在COM標準中的具體體現(xiàn)為COM對象。COM組件程序由一個或者多個組件對象組合而成,同時組件對象之間的交互規(guī)范不受任何語言的制約,因而COM組件也可以由不同語言進行開發(fā)。

提供COM對象的程序叫做服務器,使用COM對象的程序叫做客戶端。在客戶端看來,COM對象是封裝好的,客戶端無須知道訪問對象的數(shù)據(jù)結(jié)構(gòu)和內(nèi)部實現(xiàn)方法,只要通過COM接口訪問服務器中相應的COM對象即可實現(xiàn)該服務器所提供的功能。

DCOM是對COM的分布式拓展,使其能夠支持在局域網(wǎng)、廣域網(wǎng)甚至Internet上不同計算機的對象之間的通信。3.OPC與COM/DCOM的關(guān)系

COM/DCOM是OPC的基礎(chǔ)與核心,OPC是COM/DCOM在工業(yè)控制自動化領(lǐng)域的應用規(guī)范。

客戶端為了實現(xiàn)服務器提供的某種功能,必須要知道服務器上對應的COM接口。OPC規(guī)范定義了特定的COM接口,規(guī)定了OPC服務器提供給客戶端程序的接口所應該具有的行為特征,而把實現(xiàn)的方法交給OPC服務器的提供者,設計人員根據(jù)自身情況進行實現(xiàn)。在OPC規(guī)范下,客戶端只需要訪問這些標準的COM接口,來調(diào)用服務器上OPC規(guī)范所規(guī)定的行為,即可完成特定的功能,實現(xiàn)了硬件開發(fā)與軟件開發(fā)的分離。7.6.3OPCDA規(guī)范

OPC規(guī)范分很多種,每一種規(guī)范都針對不同的問題提供對應的解決方案,其中OPCDA規(guī)范在OPC各種規(guī)范中最為重要。OPC規(guī)范包括定制接口和自動化接口兩種規(guī)范,其中前者是OPC服務器必須實現(xiàn)的部分,是開發(fā)OPC數(shù)據(jù)存取服務器的主要依據(jù);后者使解釋性語言和宏語言訪問OPC服務器成為可能。本節(jié)只研究OPC數(shù)據(jù)存取定制接口規(guī)范。1.OPCDA的對象

基于OPCDA規(guī)范的OPC服務器一般包括3個對象:服務器(Server)對象,組(Group)對象和項(Item)對象。

服務器對象用于提供它本身的信息,也是組對象的容器,每個服務器對象可以包含多個組對象。服務器對象主要負責管理和創(chuàng)建組對象,同時為客戶端提供訪問服務器的接口函數(shù)。

組對象提供它本身的信息,同時用于創(chuàng)建、組織和管理項對象,客戶端可對其進行讀寫,還可設置客戶端的數(shù)據(jù)更新速率。組對象和服務器對象是比較復雜的COM對象,具有定義完備的COM接口,是OPC服務器必須實現(xiàn)的兩個組件對象。一個組對象可以包含若干個數(shù)據(jù)項。

OPC數(shù)據(jù)項是服務器端定義的對象,通常指向設備的一個寄存器單元,OPC客戶端對設備寄存器的操作都是通過數(shù)據(jù)項來完成的。數(shù)據(jù)項不能獨立于組存在,必須隸屬于某一個組。2.OPC的數(shù)據(jù)訪問方式

在OPCDA3.0規(guī)范中有三種可用的數(shù)據(jù)交互的方式:同步數(shù)據(jù)訪問、異步數(shù)據(jù)訪問以及訂閱式數(shù)據(jù)訪問。7.6.4工業(yè)控制領(lǐng)域中的OPC應用實例

OPC在工業(yè)控制領(lǐng)域得到了廣泛的應用,在集散控制系統(tǒng)、現(xiàn)場總線控制系統(tǒng)以及樓宇自動化系統(tǒng)中,利用OPC可以實現(xiàn)遠程監(jiān)控管理。OPC服務器可以分為以下兩種模式。1.數(shù)據(jù)采集與控制OPC服務器

數(shù)據(jù)采集與控制OPC服務器與智能儀表通信并提供數(shù)據(jù)接口,該服務器由智能儀表生產(chǎn)廠商提供。

智能儀表與PC機之間通過RS485或者現(xiàn)場總線進行通信,監(jiān)控系統(tǒng)不需要驅(qū)動程序,OPC服務器本身集成了對智能儀表的讀取與控制功能。

智能儀表數(shù)據(jù)以COM接口的方式呈遞給用戶,這樣用戶就可以使用統(tǒng)一的OPC規(guī)范開發(fā)相應的OPC客戶端程序?qū)⒅悄軆x表數(shù)據(jù)存入數(shù)據(jù)庫,這時本地數(shù)據(jù)庫不再局限于特定的對應于硬件廠商驅(qū)動程序的數(shù)據(jù)庫。2.遠程OPC服務器

用戶OPC客戶端和應用程序?qū)⒅悄軆x表數(shù)據(jù)寫入本地數(shù)據(jù)庫(歷史數(shù)據(jù)庫和實時數(shù)據(jù)庫)后,遠程OPC服務器讀取PC機數(shù)據(jù)庫并進行遠程傳輸,或者接收遠程客戶端的控制命令并將控制命令傳送給數(shù)據(jù)采集與控制OPC服務器。遠程OPC服務器按照OPC規(guī)范經(jīng)由DCOM與遠程OPC客戶端通信。這種模式的OPC服務器充當PC機與遠程客戶端的通信媒介。

兩種模式的OPC服務器在監(jiān)控系統(tǒng)中的應用如圖7-7所示,該系統(tǒng)實現(xiàn)了將智能儀表、智能傳感器、智能控制器和智能變送器等不同廠商設備的數(shù)據(jù)進行遠程傳輸和遠程控制的功能。圖7-7OPC服務器在監(jiān)控系統(tǒng)中的應用7.7Web技術(shù)7.7.1Web技術(shù)概述

Web中文名為萬維網(wǎng),它是無數(shù)個網(wǎng)絡站點和網(wǎng)頁的集合,是Internet的主要組成部分。

由于Web提供面向Internet的信息瀏覽服務,實現(xiàn)信息的廣泛共享,因此被應用于計算機控制系統(tǒng)中,負責計算機控制系統(tǒng)的信息發(fā)布任務,并為分布式計算機控制系統(tǒng)提供支持。

在Web產(chǎn)生之前,互聯(lián)網(wǎng)上的信息只能以文本格式顯示,而Web可以將圖像、音頻、視頻等元素進行有機的集合,使得Internet的呈現(xiàn)形式更加豐富。Web還具有圖形化、與平臺無關(guān)、分布式、動態(tài)和強交互性等優(yōu)點。其應用架構(gòu)是由蒂姆?伯納斯-李于1989年提出,并于1993年進入免費開放的階段。

Web技術(shù)大體可以分為三個發(fā)展階段:靜態(tài)、動態(tài)和Web2.0階段。⑴靜態(tài)階段:網(wǎng)頁表現(xiàn)形式為靜態(tài)文本和圖像。⑵動態(tài)階段:網(wǎng)頁能夠?qū)崿F(xiàn)動態(tài)的顯示。⑶Web2.0階段:交互性增強,采用雙向傳輸模式,用戶可主導信息產(chǎn)生和傳播。7.7.2Web服務端技術(shù)

Web服務端負責響應客戶端的請求,是Web的重要部分。

Web服務端技術(shù)主要包括CGI(通用網(wǎng)關(guān)接口)、服務器端腳本技術(shù)、服務器端插件技術(shù)和Servlet等。⑴CGI是根據(jù)服務器運行時的具體情況動態(tài)生成網(wǎng)頁的技術(shù),其根據(jù)請求生成動態(tài)網(wǎng)頁返回客戶端,實現(xiàn)兩者動態(tài)交互。CGI可以在任何平臺上運行,兼容性很強,但是每次對其請求會產(chǎn)生新進程,限制了服務器進行多請求的能力。CGI的編寫可以采用Perl、C、C++語言等完成。⑵服務器端腳本技術(shù)即在網(wǎng)頁中嵌入腳本,由服務器解釋執(zhí)行頁面請求,生成動態(tài)內(nèi)容。服務器端腳本技術(shù)可采用的技術(shù)包括:ASP(動態(tài)服務器網(wǎng)頁)、PHP(超文本預處理器)等,其執(zhí)行速度和安全性均高于CGI,但在跨平臺性方面表現(xiàn)不佳,只能局限于某類型的產(chǎn)品或操作系統(tǒng)。PHP編譯器可以采用NetBeans、Dreamweaver等,ASP編輯器可以使用ASPMaker等。⑶服務器端插件技術(shù)是遵循一定規(guī)范的API編寫的插件,服務器可直接調(diào)用插件代碼,處理特定的請求,其中最著名的API是NSAPI和ISAPI。服務器插件可以解決多線程的問題,但是其只能用C語言編寫,并且對平臺依賴性較高。⑷Servlet是一種用Java編寫的跨平臺的Web組件,運行在服務器端。Servlet可以與其他資源進行交互,從而生成動態(tài)網(wǎng)頁返回給客戶端。Servlet只能通過服務器進行訪問,其安全性較高,但其對容器具有依賴性,對請求的處理有局限性。Servlet采用Java編輯器進行編程和設計,如JCreator、J2EE等。7.7.3Web客戶端技術(shù)

Web客戶端的主要任務是響應用戶操作,展現(xiàn)信息內(nèi)容。Web客戶端設計技術(shù)主要包括:HTML語言、JavaApplets和插件技術(shù)、腳本程序、CSS(級聯(lián)樣式表)技術(shù)等。這幾種技術(shù)具有不同的作用,用戶可以綜合利用幾種技術(shù),使得網(wǎng)頁更加美觀,實用。⑴HTML(超文本標記語言)是編寫Web頁面的主要語言。HTML實際是一種文本,網(wǎng)頁的本質(zhì)即經(jīng)過約定規(guī)則標記的腳本文件。網(wǎng)頁的編寫可采用記事本、EditPlus以及Dreamweaver等文本編輯器。⑵JavaApplets和插件技術(shù)均可提供動畫、音頻和音樂等多媒體服務,豐富了瀏覽器的多媒體信息展示功能。兩者均可被瀏覽器下載并運行。JavaApplets使用Java語言進行編寫,插件例如ActiveX控件可使用C++語言進行編寫。設計人員可根據(jù)應用平臺選擇合適的開發(fā)技術(shù)。⑶腳本程序是嵌入在HTML文檔中的程序,使用腳本程序可以創(chuàng)建動態(tài)頁面,大大提高交互性。腳本程序可采用JavaScript和VBScript等語言編寫。其編輯器可使用SublimeText、Notepad++、WebStorm等編輯器。⑷CSS通過在HTML文檔中設立樣式表,統(tǒng)一控制HTML中對象的顯示屬性,提高網(wǎng)頁顯示的美觀度。其編輯器可以使用記事本、Word、VisualCSS和國外的TopStyle系列編輯器。7.7.4SCADA系統(tǒng)中的Web應用方案設計1.Web的應用優(yōu)勢

傳統(tǒng)的SCADA系統(tǒng)采用“主機/終端”或者“客戶機/服務器”的通信模式,但是該模式開放性較差、系統(tǒng)開發(fā)和維護工作量大、系統(tǒng)擴展性和伸縮性較差,該模式已經(jīng)不能適應集團企業(yè)網(wǎng)絡化分布式管理的要求。

隨著計算機、Internet/Intranet的發(fā)展,基于B/S(瀏覽器/服務器)多層架構(gòu)成為了SCADA系統(tǒng)流行的應用方式。

國內(nèi)外著名的工控領(lǐng)域的軟硬件制作商,陸續(xù)推出了基于Web的SCADA系統(tǒng),如:Siemens公司的WinCCV7.2、Advantech公司的AdvantechStudio、BroadWin公司的WebAccess等。

基于Web的SCADA系統(tǒng)與傳統(tǒng)的C/S模式相比,具有如下優(yōu)點:⑴利用瀏覽器實現(xiàn)遠程監(jiān)控,通過瀏覽器實現(xiàn)現(xiàn)場設備的圖形化監(jiān)控,報警以及報表等功能。⑵實現(xiàn)多用戶監(jiān)控,同一過程可被多個用戶同時查看,同一用戶也可監(jiān)控多個過程,實現(xiàn)數(shù)據(jù)的透明化。⑶實現(xiàn)遠程診斷和維護,并可以實現(xiàn)多方對同一問題的會診,使得廣泛的技術(shù)合作成為可能。⑷具有很強的擴展性和繼承性,可以方便的與其他系統(tǒng)進行集成。⑸隨著Web技術(shù)的日趨成熟,在B/S結(jié)構(gòu)下的客戶端程序簡單,穩(wěn)定性強。2.Web的應用方案設計

基于Web的SCADA系統(tǒng)的分層框架結(jié)構(gòu)如圖7-8所示。它主要有以下幾部分組成:數(shù)據(jù)庫、Web服務器、監(jiān)控系統(tǒng)、現(xiàn)場設備、通信設施、瀏覽器等。監(jiān)控系統(tǒng)通過與PLC、PAC等現(xiàn)場設備的通信,將設備的實時數(shù)據(jù)等信息存儲在數(shù)據(jù)庫中。遠程用戶通過Internet/Intranet訪問Web服務器查看現(xiàn)場設備的運行狀況,對設備進行監(jiān)控和管理。圖7-8基于Web的SCADA系統(tǒng)的分層框架結(jié)構(gòu)7.8常用數(shù)字濾波算法與程序設計

由于工業(yè)對象的環(huán)境比較惡劣,干擾源比較多,如環(huán)境溫度、電磁場等,當干擾作用于模擬信號之后,使A-D轉(zhuǎn)換結(jié)果偏離真實值。如果僅采樣一次,無法確定該結(jié)果是否可信,為了減少對采樣值的干擾,提高系統(tǒng)可靠性,在進行數(shù)據(jù)處理和PID調(diào)節(jié)之前,首先對采樣值進行數(shù)字濾波。

所謂數(shù)字濾波,是通過一定的計算程序?qū)Σ蓸有盘栠M行平滑加工,提高其有用信號,消除和減少各種干擾和噪音,以保證計算機系統(tǒng)的可靠性。

數(shù)字濾波與模擬RC濾波器相比其優(yōu)點是:⑴不需增加任何硬件設備,只要在程序進入數(shù)據(jù)處理和控制算法之前,附加一段數(shù)字濾波程序即可。⑵由于數(shù)字濾波器不需要增加硬件設備,所以系統(tǒng)可靠性高,不存在阻抗匹配問題。⑶模擬濾波器通常是每個通道都有,而數(shù)字濾波器則可多個通道共用,從而降低了成本。⑷可以對頻率很低的信號進行濾波,而模擬濾波器由于受電容容量的影響,頻率不能太低。⑸使用靈活、方便,可根據(jù)需要選擇不同的濾波方法,或改變?yōu)V波器的參數(shù)

正因為數(shù)字濾波器具有上述優(yōu)點,所以在計算機控制系統(tǒng)中得到了越來越廣泛的應用。7.8.1程序判斷濾波

當采樣信號由于隨機干擾和誤檢測或者變送器不穩(wěn)定而引起嚴重失真時,可采用程序判斷濾波。

程序判斷濾波的方法,是根據(jù)生產(chǎn)經(jīng)驗,確定出兩次采樣輸出信號可能出現(xiàn)的最大偏差

,若超過此偏差值,則表明該輸入信號是干擾信號,應該去掉,若小于此偏差值,可將信號作為本次采樣值。

程序判斷濾波根據(jù)濾波方法不同,可分限幅濾波和限速濾波兩種。1.限幅濾波

所謂限幅濾波就是把兩次相鄰的采樣值進行相減,求出其增量(以絕對值表示),然后與兩次采樣允許的最大差值(由被控對象的實際情況決定)

進行比較,如果小于或等于

,則取本次采樣值。如果大于

,則仍取上次采樣值作為本次采樣值,即:

(7-1)

式中

——第n次采樣值;

——第n-1次采樣值;

——兩次采樣值所允許的最大偏差,其大小取決于采樣周期T及Y值的變化動態(tài)響應。2.限速濾波

設順序采樣時刻

所采集的參數(shù)分別為

,則當

(7-2)

(7-3)

這是一種折中的方法,既照顧了采樣的實時性,又照顧了不采樣時的連續(xù)性。

程序判斷濾波算法可用于變化較緩慢的參數(shù),如溫度、液位等,關(guān)于程序設計從略。7.8.2中值濾波

對目標參數(shù)連續(xù)進行若干次采樣,然后將這些采樣進行排序,選取中間位置的采樣值為有效值。本算法為取中值,采樣次數(shù)應為奇數(shù)。常用3次或5次。對于變化很慢的參數(shù),有時也可增加次數(shù),例如15次。對于變化較為劇烈的參數(shù),此法不宜采用。

中值濾波算法對于濾除脈動性質(zhì)的干擾比較有效,但對快速變化過程的參數(shù),如流量,則不宜采用。

關(guān)于中值濾波程序設計可參考由小到大排序程序的設計方法。7.8.3算術(shù)平均濾波

對目標參數(shù)進行連續(xù)采樣,然后求其算術(shù)平均值作為有效采樣值。計算公式為:(7-4)

式中

——n次采樣值的算術(shù)平均值;

——第i次采樣值;

n——采樣次數(shù)。

該算法主要對壓力、流量等周期脈動的采樣值進行平滑加工,但對脈沖性干擾的平滑尚不理想。因此它不適用于脈沖性干擾比較嚴重的場合。平均次數(shù)n,取決于平滑度和靈敏度。隨著n值的增大,平滑度提高,靈敏度降低。通常流量取12次,壓力取4次,溫度如無噪聲可不平均。7.8.4加權(quán)平均濾波

在算術(shù)平均濾波中,對于n次采樣所得的采樣值,在其結(jié)果的比重是均等的,但有時為了提高濾波效果,將各次采樣值取不同的比例,然后再相加,此方法稱為加權(quán)平均法。一個n項加權(quán)平均式為:(7-5)

式中,

均為常數(shù)項,應滿足下列關(guān)系:

(7-6)

式中,

為各次采樣值的系數(shù),可根據(jù)具體情況而定,一般采樣次數(shù)愈靠后,取得比例愈大,這樣可以增加新的采樣值在平均值中的比例。其目的是突出信號的某一部分,抑制信號的另一部分。7.8.5低通濾波

上述幾種濾波方法基本上屬于靜態(tài)濾波,主要適用于變化過程比較快的參數(shù),如壓力、流量等。但對于慢速隨機變化采用在短時間內(nèi)連續(xù)采樣求平均值的方法,其濾波效果是不太好的。為了提高濾波效果,通??刹捎脛討B(tài)濾波方法,即一階滯后濾波方法,其表達方式為:(7-7)

式中

——第n次采樣值;

——上次濾波結(jié)果輸出值;

——第n次采樣后濾波結(jié)果輸出值;

——濾波平滑系數(shù)

——濾波環(huán)節(jié)的時間常數(shù);

——采樣周期。

通常采樣周期遠小于濾波環(huán)節(jié)的時間常數(shù),也就是輸入信號的頻率快,而濾波環(huán)節(jié)時間常數(shù)相對地大,這是一般濾波器的概念,所以這種濾波方法相當于RC濾波器。

的選擇可根據(jù)具體情況確定,程序設計從略。7.8.6滑動平均濾波

以上介紹的各種平均濾波算法有一個共同點,即每取得一個有效采樣值必須連續(xù)進行若干次采樣,當采樣速度較慢(如雙積分型A-D轉(zhuǎn)換)或目標參數(shù)變化較快時,系統(tǒng)的實時性不能得到保證?;瑒悠骄鶠V波算法只采樣一次,將這一次采樣值和過去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。如果取n個采樣值求平均,RAM中必須開辟n個數(shù)據(jù)的暫存區(qū)。每新采集一個數(shù)據(jù)便存入暫存區(qū),同時去掉一個最老的數(shù)據(jù)。保持這n個數(shù)據(jù)始終是最近的數(shù)據(jù)。這種數(shù)據(jù)存放方式可以用環(huán)形隊列結(jié)構(gòu)方便地實現(xiàn),每存入一個新數(shù)據(jù)便自動沖去一個最老的數(shù)據(jù),程序設計從略。7.9標度變換與數(shù)據(jù)處理

被測物理參數(shù),如溫度、壓力、流量、液位、氣體成份等,通過傳感器或變送器變成模擬量,送往A-D轉(zhuǎn)換器,由計算機采樣并轉(zhuǎn)換成數(shù)字量,該數(shù)字量必須再轉(zhuǎn)換成操作人員所熟悉的工程量,這是因為被測參數(shù)的各種數(shù)據(jù)的量綱與A-D轉(zhuǎn)換的輸入值是不一樣的。例如:溫度的單位為℃,壓力的單位為Pa或Mpa等。這些數(shù)字量并不一定等于原來帶有量綱的參數(shù)值,它僅僅對應于參數(shù)值的大小,故必須把它轉(zhuǎn)換成帶有量綱的數(shù)值后才能運算、顯示、記錄和打印,這種轉(zhuǎn)換稱為標度變換。標度變換有各種類型,它取決于被測參數(shù)的傳感器或變送器的類型,應根據(jù)實際情況選用適當?shù)臉硕茸儞Q方法。7.9.1線性標度變換1.標度變換原理

這種標度變換的前提是參數(shù)值與A-D轉(zhuǎn)換結(jié)果之間為線性關(guān)系,是最常用的標度變換方法,標度變換公式為:

(7-8)

式中

——一次測量儀表的下限;

——一次測量儀表的上限;

——實際測量值(工程量);

——儀表下限所對應的數(shù)字量;

——儀表上限所對應的數(shù)字量;

——測量值所對應的數(shù)字量。

其中,

對于某一個固定的被測參數(shù)來說,它們是常數(shù),不同的參數(shù)有著不同的值。

為了使程序簡單,一般把被測參數(shù)的起點

(輸入信號為0)所對應的A-D轉(zhuǎn)換值為0,即

,這樣式(7-8)又變?yōu)椋?-9)

式(7-8)和式(7-9)即為參量標度變換的公式。

【例7-1】某熱處理爐溫測量儀的量程為200~1300℃。在某一時刻計算機采樣并經(jīng)數(shù)字濾波后的數(shù)字量為2860,求此時的溫度值是多少?(設該儀表的量程是線性的,A-D轉(zhuǎn)換器的位數(shù)為12位)

解:根據(jù)式(7-20)已知,

℃,

℃,

℃,

。所以此時的溫度為

在計算機控制系統(tǒng)中,為了實現(xiàn)上述轉(zhuǎn)換,可把它們設計成專門的子程序,把各個不同參數(shù)所對應的

存放在存儲器中,然后當某一參數(shù)需要進行標度變換時,只調(diào)用標度變換子程序即可。2.標度變換子程序

被轉(zhuǎn)換的參量的常數(shù)

分別存放于ALOWER、AUPPER、NLOWER、NUPPER為首址的單元中(為提高轉(zhuǎn)換精度以及更帶有普遍性,本程序采用雙字節(jié)運算)。

被轉(zhuǎn)換后的參量經(jīng)數(shù)字濾波后的數(shù)值

存放在DBUFFER字單元。標度變換結(jié)果存在ENBUF單元。

其計算式可用(7-8)進行

式(7-8)適用于下限不為零點的參數(shù),一般參數(shù)采用量程壓縮后,標度可用式(7-9)進行標度變換。7.9.2非線性標度變換

必須指出,上面介紹的標度變換程序,它只適用于具有線性刻度的參量,如被測量為非線性刻度時,則其標度變換公式應根據(jù)具體問題具體分析,首先求出它所對應的標度變換公式,然后再進行設計。

例如,在流量測量中,其流量與壓差的公式為(7-10)

式中Q——流量;

K——刻度系數(shù),與流體的性質(zhì)及節(jié)流裝置的尺寸有關(guān);

——節(jié)流裝置的壓差。

根據(jù)上式,流體的流量與被測流體流過節(jié)流裝置時,前后的壓力差的平方根成正比,于是得到測量流量時的標度變換公式:(7-11)

式中

——被測量的流量值;

——流量儀表的上限值;

——流量儀表的下限值;

——差壓變送器所測得的差壓值(數(shù)字量);

——差壓變送器上限所對應的數(shù)字量;

——差壓變送器下限所對應的數(shù)字量。

式(7-11)則為流量測量中標度變換的通用表達式。

對于流量測量儀表,一般下限均取零,所以此時,故式(7-11)變?yōu)?.9.3數(shù)據(jù)處理

在數(shù)據(jù)采集和處理系統(tǒng)中,計算機通過數(shù)字濾波方法可以獲得有關(guān)現(xiàn)場的比較真實的被測參數(shù),但此信號有時不能直接使用,需要進一步數(shù)學處理或給用戶特別提示。1.非線性處理

計算機從模擬量輸入通道得到的檢測信號與該信號所代表的物理量之間不一定成線性關(guān)系。例如,差壓變送器輸出的孔板差壓信號同實際的流量之間成平方根關(guān)系;熱電偶的熱電勢與其所測溫度之間是非線性關(guān)系等。而希望計算機內(nèi)部參與運算與控制的二進制數(shù)與被測參數(shù)之間成線性關(guān)系,這樣既便于運算又便于數(shù)字顯示,因此還須對數(shù)據(jù)做非線性處理。

在計算機數(shù)據(jù)處理系統(tǒng)中,用計算機進行非線性補償,方法靈活、精度高。

為描述這些非線性特性的轉(zhuǎn)換關(guān)系,通常有查表法、擬合函數(shù)法、折線近似與線性插值法三種方法。⑴查表法

查表法是一種較精確的非線性處理方法。設有非線性關(guān)系的兩個參數(shù)A和B,現(xiàn)要根據(jù)參數(shù)A取參數(shù)B的數(shù)值,可通過以下步驟實現(xiàn):1)造表。根據(jù)需要確定參數(shù)A的起始值A(chǔ)0和等差變化值N,則有

(7-12)

確定一塊連續(xù)存儲區(qū),設其地址為AD0、AD1、…、ADn,ADi與ADi+1的關(guān)系可按某些規(guī)律算法確定,為方便程序設計,通常采用按順序遞增或遞減的關(guān)系,即

,M是參數(shù)B在計算機中存儲值的字節(jié)數(shù)。2)查表。設有待查參數(shù)Am,由

,有(7-13)

從存儲地址ADi處連續(xù)取M個字節(jié)數(shù)據(jù),即為對應參數(shù)Am的Bm值。

查表法的優(yōu)點是迅速準確,但如果參數(shù)變化范圍較大或變化劇烈時,要求參數(shù)Ai的數(shù)量將會很大,表會變得很大,表的生成和維護將會變得困難。⑵擬合函數(shù)法

各種熱電偶的溫度與熱電動勢的關(guān)系都可以用高次多項式描述

(7-14)

式中:

T——溫度;

E——熱電偶的測量熱電動勢;

——系數(shù)。

實際應用時,方程所取項數(shù)和系數(shù)取決于熱電偶的類型和測量范圍,一般取

。以

為例,對高次多項式可做如下處理(7-15)按上式計算多項式,可有利于程序的設計。⑶折線近似與線性插值法

上述非線性參數(shù)關(guān)系可用數(shù)學表達式表示。除了上述情況外,在工程實際中還有許多非線性規(guī)律是經(jīng)過數(shù)理統(tǒng)計分析后得到的,對于這種很難用公式來表示的各種非線性參數(shù),常采用折線近似與線性插值逼近方法來解決。

以溫度—熱電動勢函數(shù)曲線為例,某熱電偶溫度(T)與熱電動勢(E)的關(guān)系曲線如圖7-9所示。圖7-9熱電偶T-E關(guān)系曲線

折線近似法的原理是:將該曲線按一定要求分成若干段,然后把相鄰分段點用折線連接起來,用此折線擬合該段曲線,在此折線內(nèi)的關(guān)系用直線方程來表示:(7-16)

式中:

Ex——測量的熱電動勢;

T——由Ex換算所得的溫度。2.越限報警處理

在計算機控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設有上、下限檢查及報警系統(tǒng),以便提醒操作人員注意或采取相應的措施。

其方法就是把計算機采集的數(shù)據(jù)經(jīng)計算機進行數(shù)據(jù)處理、數(shù)字濾波、標度變換之后,與該參數(shù)上、下限給定值進行比較。如果高于(或低于)上限(或下限),則進行報警,否則就作為采樣的正常值,以便進行顯示和控制。例如,鍋爐水位自動調(diào)節(jié)系統(tǒng),水位的高低是非常重要的參數(shù),水位太高將影響蒸汽的產(chǎn)量,水位太低則有爆炸的危險,所以要作越限報警處理。

報警系統(tǒng)一般為聲光報警信號,燈光多采用發(fā)光二極管(LED)或白熾燈光等,聲響則多為電鈴、電笛等。7.10

工業(yè)控制組態(tài)軟件7.10.1人機界面1.人機界面及其要求⑴人機界面的概念

人機界面(Human-MachineInteraction,HMI)或稱為(ManMachineInterface,MMI)是人與機器之間傳遞、交換信息的媒介。人機界面也是用戶使用計算機系統(tǒng)或其他系統(tǒng)的綜合操作環(huán)境。

人機界面實際是一種雙向的信息傳遞和交換,可由人向機器系統(tǒng)輸入信息,也可由機器系統(tǒng)向使用者反饋信息。通常通過一定的人機接口(UserInterface,UI或GraphicalUserInterface,GUI)來實現(xiàn)。如鍵盤上的擊鍵、鼠標的移動、開關(guān)的切換、操縱桿的運動、人的語言姿勢動作等可以作為系統(tǒng)的輸入,而屏幕上符號或圖形的顯示、指示燈的閃爍、喇叭的聲音等可作為系統(tǒng)的輸出。

人機界面的設計涉及多個領(lǐng)域的知識,如認知心理學、電子技術(shù)、計算機技術(shù)、信息技術(shù)、人機工程學、藝術(shù)設計、人工智能及與具體機器系統(tǒng)相關(guān)的知識。⑵控制系統(tǒng)中人機界面的基本要求

控制系統(tǒng)中人機界面非常重要,人機界面的設計會影響到控制系統(tǒng)的操作性、可靠性、安全性等??刂葡到y(tǒng)中人機界面設計應著重考慮可理解性和易操作性。2.人機界面的設計技術(shù)⑴人機界面的基本要素

人機界面的基本要素包括交互設備、交互軟件和人的因素。⑵人機界面的操作模型

人機界面的操作模型通常有指令型、對話型、操作導航型和搜尋瀏覽型等。

在工業(yè)自動化領(lǐng)域,主要有兩種類型的人機界面。⑴在制造業(yè)流水線及機床等單體設備上,大量采用了PLC作為控制設備,但是PLC自身沒有顯示、鍵盤輸入等人機界面功能,因此,通常需要配置觸摸屏或嵌入式工業(yè)計算機作為人機界面,它們通過與PLC通信,實現(xiàn)對生產(chǎn)過程的現(xiàn)場監(jiān)視和控制,同時還可進行參數(shù)設置、參數(shù)顯示、報警和打印等功能。⑵工業(yè)控制系統(tǒng)通常是分布式控制系統(tǒng),各種控制器在現(xiàn)場設備附近安裝,為了實現(xiàn)全廠的集中監(jiān)控和管理,需要設立一個統(tǒng)一監(jiān)視、監(jiān)控和管理整個生產(chǎn)過程的中央監(jiān)控系統(tǒng),中央監(jiān)控系統(tǒng)的服務器與現(xiàn)場控制站進行通信,工程師站、操作員站等需要安裝配置對生產(chǎn)過程進行監(jiān)視、控制、報警、記錄、報表功能的工控應用軟件,具有這樣功能的工控應用軟件也稱為人機界面。這一類人機界面通常是用組態(tài)軟件開發(fā),和觸摸屏終端相比,不存在工程下裝的問題,這類應用軟件直接運行在工作站上。7.10.2組態(tài)軟件的特點

工業(yè)控制的發(fā)展經(jīng)歷了手動控制、儀表控制和計算機控制等幾個階段。

隨著微電子技術(shù)、計算機技術(shù)、軟件工程和控制技術(shù)的發(fā)展,作為用戶無需改變運行程序源代碼的軟件平臺工具——組態(tài)軟件(ConfigurationSoftware)便逐步產(chǎn)生并不斷發(fā)展。

由于組態(tài)軟件在實現(xiàn)工業(yè)控制的過程中免去了大量繁瑣的編程工作,解決了長期以來控制工程人員缺乏豐富的計算機專業(yè)知識與計算機專業(yè)人員缺乏控制工程現(xiàn)場操作技術(shù)和經(jīng)驗的矛盾,極大地提高了自動化工程的開發(fā)效率及工控軟件的可靠性。

近年來,組態(tài)軟件不僅在中小型工業(yè)控制系統(tǒng)中廣泛應用,也成為大型SCADA系統(tǒng)開發(fā)人機界面和監(jiān)控應用最主要的應用軟件,在配電自動化、智能樓宇、農(nóng)業(yè)自動化和能源監(jiān)測等領(lǐng)域也得到了廣泛應用。

組態(tài)軟件的主要特點如下。⑴延續(xù)性和擴充性好⑵封裝性高⑶通用性強⑷人機界面友好⑸接口趨向標準化7.10.3組態(tài)軟件的功能需求

組態(tài)軟件的使用者是自動化工程設計人員。

組態(tài)軟件包的主要目的是使用戶在生成適合自己需要的應用系統(tǒng)時不需要修改軟件程序的源代碼,因此不論采取何種方式設計組態(tài)軟件,都要面對和解決控制系統(tǒng)設計時的公共問題,滿足這些要求的組態(tài)軟件才能真正符合工業(yè)監(jiān)控的要求,能夠被市場接受和認可。這些問題主要包括以下幾點:⑴如何與采集、控制設備進行數(shù)據(jù)交換,即廣泛支持各種類型的I/O設備、控制器和各種現(xiàn)場總線技術(shù)和網(wǎng)絡技術(shù)。⑵多層次的報警組態(tài)和報警事件處理、報警管理和報警優(yōu)先級等。如支持對模擬量、數(shù)字量報警以及系統(tǒng)報警等;支持報警內(nèi)容設置,如限值報警、變化率報警和偏差報警等。⑶存儲歷史數(shù)據(jù)并支持歷史數(shù)據(jù)的查詢和簡單的統(tǒng)計分析。工業(yè)生產(chǎn)操作數(shù)據(jù),包括實時和歷史數(shù)據(jù)是分析生產(chǎn)過程狀態(tài),評價操作水平的重要信息,對加強生產(chǎn)操作管理和優(yōu)化具有重要作用。⑷各類報表的生成和打印輸出。不僅組態(tài)軟件支持簡單的報表組態(tài)和打印,還要支持采用第三方工具開發(fā)的報表與組態(tài)軟件數(shù)據(jù)庫連接。⑸為使用者提供靈活、豐富的組態(tài)工具和資源。這些工具和資源可以適應不同應用領(lǐng)域的需求,此外,在注重組態(tài)軟件通用性的情況下,還能支持行業(yè)應用。⑹最終生成的應用系統(tǒng)運行穩(wěn)定可靠,不論對于單機系統(tǒng)還是多機系統(tǒng),都要確保系統(tǒng)能長期安全、可靠、穩(wěn)定工作。⑺具有與第三方程序的接口,方便數(shù)據(jù)共享。⑻簡單的回路調(diào)節(jié);批次處理;統(tǒng)計過程控制SPC(StatistcalProcessControl,SPC)。⑼如果內(nèi)嵌入軟邏輯控制,軟邏輯編程軟件要符合IEC61131-3標準。⑽安全管理,即系統(tǒng)對每個用戶都具有操作權(quán)限的定義,系統(tǒng)對每個重要操作都可以形成操作日志記錄,同時有完備的安全管理制度。⑾對Internet/Intranet的支持,可以提供基于Web的應用。⑿多機系統(tǒng)的時鐘同步,系統(tǒng)可由GPS全球定位時鐘提供標準時間,同時向全系統(tǒng)發(fā)送對時命令,包括監(jiān)控主機和各個客戶機、下位機等。可實現(xiàn)與網(wǎng)絡上其他系統(tǒng)的對時服務,支持人工設置時間功能。⒀開發(fā)環(huán)境與運行環(huán)境切換方便,支持在線組態(tài)功能。即在運行環(huán)境時也可以進行一些功能修改和組態(tài),刷新后修改后的功能即生效。1.組態(tài)軟件的總體結(jié)構(gòu)

組態(tài)軟件主要作為SCADA系統(tǒng)及其他控制系統(tǒng)的上位機人機界面的開發(fā)平臺,為用戶提供快速地構(gòu)建工業(yè)自動化系統(tǒng)數(shù)據(jù)采集和實時監(jiān)控功能服務。而不論什么樣的過程監(jiān)控,總是有相似的功能要求。因此,不論什么樣的組態(tài)軟件,它們在整體結(jié)構(gòu)上都具有相似性,只是不同的產(chǎn)品實現(xiàn)這些功能方式有所不同。

從目前主流的組態(tài)軟件產(chǎn)品看,組態(tài)軟件由開發(fā)系統(tǒng)與運行系統(tǒng)組成,組態(tài)軟件結(jié)構(gòu)如圖7-10所示。圖7-10組態(tài)軟件結(jié)構(gòu)

運行環(huán)境還包括以下一些服務:⑴通信服務:實現(xiàn)組態(tài)軟件與其他系統(tǒng)之間的數(shù)據(jù)交換。⑵存盤服務:實現(xiàn)采集數(shù)據(jù)的存儲處理操作。⑶日志服務:實現(xiàn)系統(tǒng)運行日志記錄功能。⑷調(diào)試服務:輔助實現(xiàn)開發(fā)過程中的調(diào)試功能。2.組態(tài)軟件的功能部件⑴人機界面系統(tǒng)⑵實時數(shù)據(jù)庫系統(tǒng)⑶設備組態(tài)與管理⑷網(wǎng)絡應用與通信系統(tǒng)⑸控制系統(tǒng)⑹系統(tǒng)安全與用戶管理⑺腳本語言⑻運行策略7.10.4主要的組態(tài)軟件介紹1.iFIX

iFIX是全球領(lǐng)先的HMI/SCADA組態(tài)軟件,在包括冶金、電力、石油化工、制藥、生物技術(shù)、包裝、食品飲料和石油天然氣等各種工業(yè)應用當中。iFIX提供了生產(chǎn)操作的過程可視化、數(shù)據(jù)采集和數(shù)據(jù)監(jiān)控功能,它可以精確地監(jiān)視、控制生產(chǎn)過程,并優(yōu)化生產(chǎn)設備和企業(yè)資源管理,能夠?qū)ιa(chǎn)事件快速反應,減少原材料消耗,提高生產(chǎn)率,從而加快產(chǎn)品對市場的反應速度,提高用戶收益。

iFIX是GEFanuc過程處理及監(jiān)控產(chǎn)品的一個核心組件,它可以為數(shù)據(jù)采集及管理企業(yè)級的生產(chǎn)過程提供一整套的解決方案。2.InTouch

Wonderware的InTouchHMI軟件可用于可視化和工業(yè)過程控制,它提供了極高的易用性和易于配置的圖形。通過使用其強大的向?qū)?,Wonderware智能符號使用戶可以快速創(chuàng)建并部署自定義的應用程序,連接并傳遞實時信息。其靈活的架構(gòu)可以確保InTouch應用程序滿足客戶目前的需求,并可根據(jù)將來的需求進行擴展,同時還能保留原來的工程投資和成果。這些通用的Intouch應用程序可以從移動設備、瘦客戶端、計算機節(jié)點、甚至通過Internet進行訪問。此外,InTouchHMI具備相當?shù)拈_放性和可擴展性,提供了強大的連接功能,可與同行業(yè)內(nèi)的各種自動化設備相連接,適用范圍廣泛。3.WinCC

SIMATICWinCC是西門子公司在自動化領(lǐng)域中的先進技術(shù)和Microsoft的強大功能相結(jié)合的產(chǎn)物。它有各種有效功能用于自動化過程,是用于個人計算機上的,按價格和性能分級的人機界面和SCADA系統(tǒng)。4.組態(tài)王

組態(tài)王是北京亞控科技公司開發(fā)的組態(tài)軟件產(chǎn)品。組態(tài)王系列產(chǎn)品是國產(chǎn)組態(tài)軟件中市場占有率較高的產(chǎn)品,在大量的中、小型監(jiān)控系統(tǒng)開發(fā)中得到了應用。5.WebAccess

WebAccess最早由美國BroadWin公司開發(fā),從2006年起研華科技與BroadWin公司開展合作,全面負責其在中國大陸的業(yè)務,并以AdvantechWebAccess作為產(chǎn)品名稱。與傳統(tǒng)的組態(tài)軟件不同,AdvantechWebAccess是完全基于瀏覽器的SCADA網(wǎng)絡組態(tài)軟件,采用IE瀏覽器進行組態(tài),實現(xiàn)真正的遠程監(jiān)控與開發(fā)、在線下載等網(wǎng)絡功能。7.11軟件工程

迄今為止,計算機系統(tǒng)已經(jīng)經(jīng)歷了4個不同的發(fā)展階段,但是,人們?nèi)匀粵]有徹底擺脫“軟件危機”的困擾,軟件已經(jīng)成為限制計算機系統(tǒng)發(fā)展的瓶頸。

為了更有效地開發(fā)與維護軟件,軟件工作者在20世紀60年代后期開始認真研究消除軟件危機的途徑,從而逐漸形成了一門新興的工程學科——計算機軟件工程學,通常簡稱為“軟件工程”。7.11.1軟件危機

在20世紀60年代中期以前,即計算機系統(tǒng)發(fā)展的早期時代,通用硬件相當普遍,軟件卻是為每個具體應用而專門編寫的。這時的軟件通常是規(guī)模較小的程序,編寫者和使用者往往是同一個(或同一組)人。這種個體化的軟件環(huán)境,使得軟件設計通常是在人們頭腦中進行的一個隱含的過程,除了程序清單之外,沒有其他文檔資料保存下來。

從20世紀60年代中期到70年代中期,是計算機系統(tǒng)發(fā)展的第二個時期,這個時期的一個重要特征是出現(xiàn)了“軟件作坊”,廣泛使用產(chǎn)品軟件。但是,軟件作坊基本上仍然沿用早期形成的個體化軟件開發(fā)方法。

隨著計算機應用的日益普及,軟件數(shù)量急劇膨脹。在程序運行時發(fā)現(xiàn)的錯誤必須設法改正;用戶有了新的需求時必須相應地修改程序;硬件或操作系統(tǒng)更新時,通常需要修改程序以適應新的環(huán)境,上述種種軟件維護工作,以令人吃驚的比例耗費資源。更嚴重的是,許多程序的個體化特性使得它們最終成為不可維護的。“軟件危機”就這樣開始出現(xiàn)了。

1968年北大西洋公約組織的計算機科學家在西德召開國際會議,討論軟件危機問題,在這次會議上正式提出并使用了“軟件工程”這個名詞,一門新興的工程學科就此誕生了。1.軟件危機概述

軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。

具體地說,軟件危機主要表現(xiàn)如下:⑴對軟件開發(fā)成本和進度的估計常常很不準確。實際成本比估計成本有可能高出一個數(shù)量級,實際進度比預期進度拖延幾個月甚至幾年的現(xiàn)象并不罕見。⑵用戶對“已經(jīng)完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。⑶軟件產(chǎn)品的質(zhì)量往往靠不住。⑷軟件常常是不可維護的。⑸軟件通常沒有適當?shù)奈臋n資料。計算機軟件不僅僅是程序,還應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論