觸摸屏的死機(jī)現(xiàn)象
2021-08-24
DCS死機(jī)現(xiàn)象有兩種:人機(jī)界面死 機(jī)、控制器死機(jī)。前者比后者損失要小。控制器死機(jī)是I/O卡件安排太多或存儲(chǔ)器容量不夠,一旦控制器程序運(yùn)行到某一位置,就停留在該位置,程序不再往下走,即使重啟也無(wú)濟(jì)于事。
人機(jī)界面(主要是操作站)死機(jī)現(xiàn)象所有DCS都不同程度地存在,只是頻繁程度不同。另外與DCS使用時(shí)間長(zhǎng)短有關(guān)。因硬件引起的死機(jī),顯示不再能恢復(fù)。如操作站電源電壓偏低,很容易使操作站死機(jī)。由于軟件和通信連線的速率選擇不合適引起的死機(jī)現(xiàn)象經(jīng)一段時(shí)間仍能恢復(fù)。操作站操作系統(tǒng)與監(jiān)控軟件磨合不好也能引起死機(jī),對(duì)此維護(hù)人員毫無(wú)辦法,稱為原發(fā)性死機(jī)。由于某些配置不合理引發(fā)網(wǎng)絡(luò)堵塞、內(nèi)存太小等原因造成的死機(jī),過(guò)幾分鐘后自己能恢復(fù)。
本文討論的僅限于因系統(tǒng)、網(wǎng)絡(luò)配置不合理等原因引起的死機(jī)現(xiàn)象,推薦一些處理辦法。
一 DCS人機(jī)界面的死機(jī)現(xiàn)象
<-- adcode -->
近來(lái),由于MIS系統(tǒng)需從DCS中讀取生產(chǎn)實(shí)時(shí)數(shù)據(jù)。在網(wǎng)絡(luò)中接進(jìn)動(dòng)態(tài)數(shù)據(jù)服務(wù)器,有的采用DDE方式,在讀取數(shù)據(jù)較多情況下(如3000點(diǎn)),由于DDE消耗資源較多,網(wǎng)絡(luò)堵塞現(xiàn)象就變得十分頻繁,并使得各種人機(jī)界面的節(jié)點(diǎn)死機(jī)現(xiàn)象變得嚴(yán)重。
網(wǎng)絡(luò)堵塞現(xiàn)象的嚴(yán)重程度與多種因素相關(guān)。從操作站取數(shù)據(jù),采用DDE方式,如果取的數(shù)據(jù)在500點(diǎn)以下,問(wèn)題還不算太大。如果取幾千點(diǎn)數(shù)據(jù),操作站死機(jī)幾乎是必然的。如果把節(jié)點(diǎn)連到DCS的通信網(wǎng)絡(luò)上,從網(wǎng)絡(luò)接口取數(shù)據(jù),情況要好一些。
控制器把數(shù)據(jù)送到接口,人機(jī)界面從網(wǎng)絡(luò)接口讀取數(shù)據(jù)應(yīng)遵守網(wǎng)絡(luò)通信協(xié)議。網(wǎng)絡(luò)物理結(jié)構(gòu)有環(huán)型和總線型兩種,總線網(wǎng)絡(luò)在邏輯上也是環(huán)型的。星型網(wǎng)絡(luò)只用于小系統(tǒng)(100個(gè)I/O點(diǎn)內(nèi))。常用通信協(xié)議是廣播式,網(wǎng)絡(luò)上的節(jié)點(diǎn)只要把數(shù)據(jù)送到網(wǎng)絡(luò)上,它就要不斷廣播數(shù)據(jù),需要數(shù)據(jù)的節(jié)點(diǎn)就接收數(shù)據(jù)。廣播式協(xié)議的網(wǎng)絡(luò)除這種方式外,還有一種方式:一個(gè)節(jié)點(diǎn)向網(wǎng)上其他節(jié)點(diǎn)問(wèn)詢數(shù)據(jù),如其他節(jié)點(diǎn)沒(méi)有,它就反復(fù)進(jìn)行問(wèn)詢直至讀取到這個(gè)數(shù)據(jù)。如果網(wǎng)絡(luò)上根本沒(méi)有這個(gè)數(shù)據(jù),就會(huì)造成網(wǎng)絡(luò)堵塞。
為使運(yùn)行人員熟練DCS操作站的操作,可采用仿真系統(tǒng),了解DCS的鍵盤(pán),以減少誤操作引起死機(jī);也可了解操作站死機(jī)情況。
在DCS運(yùn)行時(shí)間較長(zhǎng)的情況下,組態(tài)只加不減,有一部分組態(tài)實(shí)際上已沒(méi)有與真正的I/O點(diǎn)相連,與控制無(wú)關(guān)。在工程師站的用戶應(yīng)用程序中有這樣的I/O點(diǎn)。動(dòng)態(tài)數(shù)據(jù)服務(wù)器接入時(shí),欲將DCS上所有數(shù)據(jù)點(diǎn)都讀上去,因其中有大量數(shù)據(jù)點(diǎn)無(wú)效而造成網(wǎng)絡(luò)堵塞,所以人機(jī)界面就發(fā)生死機(jī)。這時(shí)可用逆向工程師站讀取控制器中的組態(tài),與正向工程師站的內(nèi)容進(jìn)行比較,刪除無(wú)效點(diǎn),就可避免網(wǎng)絡(luò)堵塞。
另一個(gè)應(yīng)注意問(wèn)題是在接入動(dòng)態(tài)數(shù)據(jù)服務(wù)器時(shí),應(yīng)檢查所有接口的軟件版本是否一致,否則會(huì)影響數(shù)據(jù)傳遞。
解決網(wǎng)絡(luò)堵塞的第三種方法是:如果采用例外報(bào)告方式,可加大例外報(bào)告區(qū)域以減少網(wǎng)絡(luò)通信量。例外報(bào)告是指現(xiàn)場(chǎng)某點(diǎn)只在發(fā)生變化時(shí)把數(shù)據(jù)送到網(wǎng)絡(luò)上。為防止點(diǎn)已壞而人機(jī)界面未知的情況,即使點(diǎn)不變化,超過(guò)一段時(shí)間也要報(bào)告。為減少網(wǎng)絡(luò)上的通信量,把例外報(bào)告的兩個(gè)參數(shù)都適當(dāng)加大,也能達(dá)到減少數(shù)據(jù)量的目的。
最近推出的通用操作站多采用Windows NT/2000操作系統(tǒng),監(jiān)控軟件也通用,如FIX、InTouch等。由于軟件銷售量大,存在問(wèn)題較少,通用操作站開(kāi)放性好,死機(jī)現(xiàn)象大大減少。如果驅(qū)動(dòng)軟件不太好,也會(huì)引起死機(jī)。重要的是,它無(wú)論維護(hù)成本、備件采購(gòu)都不受DCS制造廠家的限制。但為防黑客、病毒侵入,防火墻不可缺少。
二 C/S結(jié)構(gòu)的人機(jī)界面的死機(jī)現(xiàn)象
1. C/S結(jié)構(gòu)
DCS人機(jī)界面采用普通PC、Windows操作系統(tǒng)以后,為增加人機(jī)界面數(shù)量,采用C/S結(jié)構(gòu),只要控制器上通過(guò)接口與服務(wù)器相連,服務(wù)器和客戶機(jī)上使用網(wǎng)絡(luò)接口適配器用電纜連接,就成為C/S結(jié)構(gòu)。
客戶機(jī)共享服務(wù)器的資源。服務(wù)器通常安裝在安全場(chǎng)所,保存DCS控制器送來(lái)的最有價(jià)值的現(xiàn)場(chǎng)生產(chǎn)數(shù)據(jù)。
作為服務(wù)器的計(jì)算機(jī)可能同時(shí)為幾臺(tái)或十幾臺(tái)客戶機(jī)服務(wù),所以服務(wù)器須要具有比客戶機(jī)更快的處理器、較大的內(nèi)存和更大的存儲(chǔ)空間。
客戶機(jī)是標(biāo)準(zhǔn)的PC運(yùn)行Windows操作系統(tǒng),僅與服務(wù)器通信,不和其他客戶機(jī)通信,有自備軟件包。在作DCS操作站時(shí),服務(wù)器和客戶機(jī)可運(yùn)行同一監(jiān)控軟件,以便共享服務(wù)器資源。兩者所裝軟件的區(qū)別是服務(wù)器應(yīng)有DCS控制器驅(qū)動(dòng)軟件而客戶機(jī)不需要。
還有一種情況是,在服務(wù)器監(jiān)控軟件上安裝OPC服務(wù)器,在客戶機(jī)監(jiān)控軟件上安裝OPC Client,客戶機(jī)就可訪問(wèn)服務(wù)器。如在服務(wù)器上不需用圖形方式觀察現(xiàn)場(chǎng)設(shè)備運(yùn)行情況,在服務(wù)器上也可不安監(jiān)控軟件,而只安OPC服務(wù)器,只是在查找故障時(shí),才需要顯示器。
采用C/S結(jié)構(gòu)可節(jié)省DCS昂貴的網(wǎng)絡(luò)專用接口。為系統(tǒng)可靠運(yùn)行,采用雙服務(wù)器冗余運(yùn)行,這就是雙機(jī)雙網(wǎng)。一個(gè)系統(tǒng)最多用到兩個(gè)專用接口。
最終用戶反映,采用多個(gè)接口的多主站結(jié)構(gòu)較好,原因是服務(wù)器和客戶機(jī)安排不合適容易死機(jī)。如INFI90的Conductor NT和Honeywell的GUS在版本較低情況下都容易死機(jī)。
2. C/S結(jié)構(gòu)死機(jī)現(xiàn)象的產(chǎn)生
C/S結(jié)構(gòu)網(wǎng)絡(luò)的兩種硬件,通常稱為客戶PC和服務(wù)器。客戶PC在中央控制室,而服務(wù)器放在安全的地方。DCS操作站死機(jī)的原因錯(cuò)綜復(fù)雜。本文僅限于分析由于采用C/S結(jié)構(gòu)引起的死機(jī)原因,有兩種情況:
控制器、服務(wù)器和客戶機(jī)三者之間的連接有兩種情況:一是DCS控制器有以太網(wǎng)接口,三者用以太網(wǎng)交換機(jī)來(lái)連接。交換機(jī)有多種端口,每個(gè)端口數(shù)據(jù)傳輸速率可以不等。端口數(shù)量由連接的計(jì)算機(jī)臺(tái)數(shù)決定。交換機(jī)主要指標(biāo)是背板寬度和存儲(chǔ)器大小。如果采用以太網(wǎng)電纜如10BASE、100BASE等的速率都可傳輸,如采用5類線只能是10BASE。在圖2以太網(wǎng)的連接是星型。使用離散的電纜將每臺(tái)計(jì)算機(jī)連接到中央連接點(diǎn),通常稱為網(wǎng)絡(luò)集線器。每臺(tái)計(jì)算機(jī)使用獨(dú)立電纜,連接失敗只影響有關(guān)的單臺(tái)計(jì)算機(jī),其他計(jì)算機(jī)可繼續(xù)運(yùn)行。如果各臺(tái)機(jī)器適配器速率相同,以太網(wǎng)星型連接通常使用10BaseT電纜。
控制器把信息送給服務(wù)器,客戶機(jī)從服務(wù)器讀寫(xiě)數(shù)據(jù),由于客戶機(jī)數(shù)量較多,如果它們之間采用一樣的連線就可能死機(jī)。各臺(tái)客戶機(jī)從服務(wù)器讀取的數(shù)據(jù)可以一樣,也可以不一樣。也可以是所有客戶機(jī)顯示內(nèi)容一樣,多臺(tái)操作站冗余運(yùn)行。每臺(tái)操作站與服務(wù)器交換的數(shù)據(jù)較多,可采用100BASE端口,服務(wù)器和控制器數(shù)據(jù)交換較少,該采用10BASE端口,客戶機(jī)之間基本不交換數(shù)據(jù),也可采用10BASE端口。如果不這樣,很可能產(chǎn)生客戶機(jī)死機(jī)。
客戶PC和服務(wù)器的配置不合適
客戶PC的配置取決于準(zhǔn)備使用的操作系統(tǒng)。如DOS和Windows 3.1只要8MB內(nèi)存就可運(yùn)轉(zhuǎn),而Windows 9x至少要16~32MB,Windows NT最少要32MB,最好是64MB,特別是Windows 2000,更需要64MB內(nèi)存。除內(nèi)存外對(duì)Windows 2000來(lái)說(shuō),應(yīng)采用更快的處理機(jī)和更大空間的硬盤(pán)。
在選用客戶PC時(shí),雖然可以比服務(wù)器的機(jī)器差一些,但內(nèi)存一定要比上面的要求還高一些。因?yàn)闄C(jī)器除運(yùn)轉(zhuǎn)操作系統(tǒng)以外,還要與服務(wù)器讀寫(xiě)數(shù)據(jù)。
服務(wù)器的CPU和硬盤(pán)驅(qū)動(dòng)器承受網(wǎng)絡(luò)上所有客戶機(jī)的服務(wù)請(qǐng)求。服務(wù)器需要大量存儲(chǔ)器,比客戶機(jī)存儲(chǔ)器容量要高得多才行。
最好知道主板上存儲(chǔ)器插槽數(shù)目和支持的最大內(nèi)存數(shù)量。檢查隨DCS服務(wù)器來(lái)的存儲(chǔ)器是如何配置的。單條64MB DIMM機(jī)器比用16MB模塊插滿4個(gè)插槽的機(jī)器更容易升級(jí)。
服務(wù)器最好采用支持ECC內(nèi)存的存儲(chǔ)器。當(dāng)ECC存儲(chǔ)器與一個(gè)支持ECC的主板芯片組一起使用時(shí),可糾正單個(gè)位存儲(chǔ)器錯(cuò)誤和檢測(cè)多位存儲(chǔ)器錯(cuò)誤。
硬盤(pán)驅(qū)動(dòng)器對(duì)于服務(wù)器也很重要,連在網(wǎng)上的計(jì)算機(jī)都共享服務(wù)器文件,硬盤(pán)驅(qū)動(dòng)器應(yīng)耐用、可靠和適用于同時(shí)為多個(gè)用戶服務(wù)的。因此,采用SCSI硬盤(pán)驅(qū)動(dòng)器較合適。SCSI驅(qū)動(dòng)器有智能和較快的轉(zhuǎn)速,采用UtraWideSCSI時(shí)從驅(qū)動(dòng)器到系統(tǒng)間有極高數(shù)據(jù)傳輸率。無(wú)論是IDE硬盤(pán)驅(qū)動(dòng)器還是SCSI硬盤(pán)驅(qū)動(dòng)器,都可采用RAID技術(shù),能更安全地保存數(shù)據(jù),提高服務(wù)器質(zhì)量。SCSI總線可連接多臺(tái)硬盤(pán)驅(qū)動(dòng)器,采用一臺(tái)9GB的硬盤(pán)驅(qū)動(dòng)器沒(méi)有9臺(tái)1GB的SCSI硬盤(pán)驅(qū)動(dòng)器的效率高。
市場(chǎng)上有一種磁盤(pán)陣列,專為服務(wù)器設(shè)計(jì),是一種海量存儲(chǔ)器產(chǎn)品。硬盤(pán)驅(qū)動(dòng)器陣列可裝入大量驅(qū)動(dòng)器,用磁盤(pán)鏡像或RAID提供容錯(cuò),自動(dòng)將服務(wù)器數(shù)據(jù)的多個(gè)拷貝存儲(chǔ)到不同硬盤(pán)驅(qū)動(dòng)器上。當(dāng)驅(qū)動(dòng)器發(fā)生故障時(shí),所有數(shù)據(jù)依然對(duì)用戶有用。有些陣列驅(qū)動(dòng)器甚至可熱交換,能在機(jī)器運(yùn)行時(shí)更換故障。
服務(wù)器使用的RAID最好版本是RAID5,能為所有現(xiàn)在版本的C/S網(wǎng)絡(luò)操作系統(tǒng)所支持。RAID5數(shù)據(jù)“分析(stripes)"到多個(gè)SCSI驅(qū)動(dòng)器上,使單個(gè)損壞驅(qū)動(dòng)器上的內(nèi)容可以從陣列中其他驅(qū)動(dòng)器的信息里重建。當(dāng)一個(gè)帶熱交換驅(qū)動(dòng)器和供電的服務(wù)器結(jié)合在一起時(shí),RAID5可使服務(wù)器以接近連續(xù)的24×7正常運(yùn)行。
如果DCS不是采用C/S結(jié)構(gòu)的操作站,因各個(gè)操作站互相獨(dú)立,只保存一部分?jǐn)?shù)據(jù),如果是冗余配置,可靠性已很高,就不一定采用RAID技術(shù)。
DCS操作站為文件備份,可在操作站上安裝一個(gè)SCSI磁帶驅(qū)動(dòng)器。采用C/S結(jié)構(gòu)的,在服務(wù)器上最好安裝磁帶機(jī),可把用戶組態(tài)的應(yīng)用軟件拷貝在磁帶機(jī)上。操作站或服務(wù)器發(fā)生故障時(shí),能把應(yīng)用程序重新輸入。磁帶機(jī)產(chǎn)品更新也較快,1990年左右進(jìn)口DCS配備的磁帶機(jī)現(xiàn)在已買(mǎi)不到備件或磁帶,新老磁帶機(jī)和磁帶不兼容。
S9000系統(tǒng)控制器由兩部分組成,一塊3C905卡完成模擬量控制,另一塊PLC主機(jī)LPM620-0072,主機(jī)上有以太網(wǎng)口,它在組成系統(tǒng)時(shí),采用以太網(wǎng)連接,組成C/S結(jié)構(gòu)。以太網(wǎng)連線有兩種方式,在客戶機(jī)較多情況采用集線器連接。
如果只用1~2臺(tái)操作站和1~2臺(tái)控制器就把所有操作站、控制器連在公共電纜上,網(wǎng)上連接設(shè)備很少,也可以采用T型連接器。
服務(wù)器比客戶機(jī)包含更多驅(qū)動(dòng)器,還需考慮它的電源功率和可靠性。電源很容易被忽視,如忽視電源直流輸出是否穩(wěn)定,還有噪聲、雜散信號(hào)、尖峰脈沖和浪涌。電源是最容易出故障的部件之一。電子線路采用+3.3V或5V,硬盤(pán)驅(qū)動(dòng)器和風(fēng)扇采用+12V電壓。
有以太網(wǎng)的網(wǎng)絡(luò)適配器,也有其他網(wǎng)絡(luò)適配器,但都不如以太網(wǎng)用得多,所以價(jià)格也高。采用以太網(wǎng)能降低DCS成本。
三 容易產(chǎn)生死機(jī)的系統(tǒng)實(shí)例
設(shè)計(jì)一個(gè)系統(tǒng),操作站采用C/S結(jié)構(gòu),連線如圖所示。如配置8臺(tái)操作站,2臺(tái)服務(wù)器,下位是4臺(tái)S9000控制器,需要在操作站中顯示的I/O點(diǎn)數(shù)為2000,控制器和服務(wù)器通過(guò)以太網(wǎng)通信?刂破、服務(wù)器和控制器的物理連線是通過(guò)16端口的集線器(Switch Hub)。16端口集線器的速率缺省值是100BASE。如果服務(wù)器和操作站的適配器是10BASE,服務(wù)器和客戶機(jī)的內(nèi)存都是64kB,系統(tǒng)運(yùn)行后死機(jī)現(xiàn)象較嚴(yán)重。
把服務(wù)器的一塊適配器換成100BASE,客戶機(jī)仍采用10BASE網(wǎng)絡(luò)適配器,把服務(wù)器內(nèi)存增加到256kB、客戶機(jī)增加到128kB,情況改觀很多。
從實(shí)際情況看,服務(wù)器和操作站死機(jī)原因與服務(wù)器內(nèi)存容量關(guān)系很大。64kB的內(nèi)存是最基本的,它的內(nèi)存應(yīng)該與操作站臺(tái)數(shù)有關(guān)。運(yùn)行情況表明,增加一臺(tái)操作站服務(wù)器至少需要增加10~30kB內(nèi)存。服務(wù)器內(nèi)有兩塊網(wǎng)絡(luò)適配器,與控制器通信的采用10BASE,與操作站通信的采用100BASE,操作站可以采用10BASE的適配器。連線采用普通電纜。
如果服務(wù)器軟件和操作站軟件是fix,原來(lái)S9000的操作站就是采用該軟件,操作系統(tǒng)是Windows 3.2,死機(jī)情況不太嚴(yán)重。目前S9000系統(tǒng)監(jiān)控軟件是專用的,該軟件可能還有一些BUG,再加上網(wǎng)絡(luò)、內(nèi)存配置不太合理,死機(jī)現(xiàn)象十分嚴(yán)重。
客戶機(jī)應(yīng)該組態(tài)的那一臺(tái)服務(wù)器是主服務(wù)器,另一臺(tái)是從服務(wù)器。否則,當(dāng)一臺(tái)服務(wù)器發(fā)生故障時(shí),另一臺(tái)服務(wù)器不能很好工作。如果有3服務(wù)器的話,組態(tài)更是重要。