技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)實(shí)現(xiàn)

分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)實(shí)現(xiàn)

時(shí)間:2007-01-16 11:12:00來源:jiangf

導(dǎo)語:?介紹了分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)方法
介紹了分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)方法,包括基于RS-485總線串行通訊方式、運(yùn)用VC++多線程技術(shù)開發(fā)監(jiān)控軟件實(shí)現(xiàn)現(xiàn)場設(shè)備系統(tǒng)的集中監(jiān)控與數(shù)據(jù)管理;基于B/S模式、運(yùn)用WEB數(shù)據(jù)庫訪問技術(shù),實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)監(jiān)測與數(shù)據(jù)分析。 1、引言 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與自動(dòng)化技術(shù)的相互融合與發(fā)展,計(jì)算機(jī)測控技術(shù)已經(jīng)發(fā)展為基于局域網(wǎng)的集中監(jiān)控與管理網(wǎng)絡(luò)和基于Intranet/Internet的遠(yuǎn)程監(jiān)控網(wǎng)絡(luò)。基于Intranet/Internet的多級(jí)網(wǎng)絡(luò)結(jié)構(gòu)為實(shí)現(xiàn)管控一體化、全局優(yōu)化控制與調(diào)度、異地信息共享提供了有利的硬件條件。但是對于一般企業(yè),設(shè)備系統(tǒng)位置比較分散,同時(shí)由于多方面的原因,企業(yè)內(nèi)不同設(shè)備運(yùn)用了不同的控制系統(tǒng),這樣就造成了位置分散的多種設(shè)備、多種監(jiān)控系統(tǒng)并存的分布式控制環(huán)境,而這其中又多存在一些軟件封閉、互操作性差的異構(gòu)系統(tǒng),因此對設(shè)備的測控網(wǎng)絡(luò)提出了更高的要求,這用一般測控軟件是很難實(shí)現(xiàn)的。 針對這種情況,本文介紹了分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)方法,該方法彌補(bǔ)了現(xiàn)有測控軟件的不足,有針對性地解決了設(shè)備位置分散、系統(tǒng)異構(gòu)給測控網(wǎng)絡(luò)帶來的難題。實(shí)踐證明,該方法具有實(shí)用性強(qiáng)、擴(kuò)展性強(qiáng)、運(yùn)行穩(wěn)定等特點(diǎn)。 2、整體設(shè)計(jì) 分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)是按照“兩種網(wǎng)絡(luò),3層功能,統(tǒng)一結(jié)構(gòu),功能完善”的總體設(shè)計(jì)思想開發(fā)的。 “兩種網(wǎng)絡(luò)”是指整個(gè)系統(tǒng)由RS-485現(xiàn)場總線和Intranet/Internet兩種網(wǎng)絡(luò)結(jié)構(gòu)組成。 “3層功能”是指根據(jù)功能劃分為設(shè)備層、集中監(jiān)控層和遠(yuǎn)程監(jiān)測層(集中監(jiān)控層對于下位是現(xiàn)場設(shè)備的可實(shí)現(xiàn)控制,對于下位是已有監(jiān)控系統(tǒng)只監(jiān)測不控制,遠(yuǎn)程監(jiān)測層只監(jiān)測不控制)。設(shè)備層與集中監(jiān)控層之間采用RS-485總線連接,集中監(jiān)控層與遠(yuǎn)程監(jiān)測層之間采用Intranet/Internet連接。 “統(tǒng)一結(jié)構(gòu)”是指系統(tǒng)處理各種設(shè)備信息時(shí),盡量用統(tǒng)一的數(shù)據(jù)格式與下級(jí)設(shè)備和子系統(tǒng)傳送信息、存儲(chǔ)數(shù)據(jù)和顯示數(shù)據(jù),盡量用統(tǒng)一的功能模塊來設(shè)計(jì)不同系統(tǒng)設(shè)備的功能。 “功能完善”是指系統(tǒng)既包括了實(shí)時(shí)數(shù)據(jù)平臺(tái)、現(xiàn)場設(shè)備管理、現(xiàn)場監(jiān)控組態(tài)、描述歷史曲線、打印信息報(bào)表和故障報(bào)警等常規(guī)功能,也包括了基于Intranet/Internet的遠(yuǎn)程數(shù)據(jù)實(shí)時(shí)監(jiān)測功能。 系統(tǒng)以RS-485總線結(jié)構(gòu)連接設(shè)備層和集中監(jiān)控層,實(shí)現(xiàn)對設(shè)備的集中監(jiān)控;在集中監(jiān)控層設(shè)一臺(tái)服務(wù)器完成WEB服務(wù)器和數(shù)據(jù)庫服務(wù)器任務(wù),并接入企業(yè)內(nèi)部網(wǎng)和以DDN專線或電話線接入Internet,實(shí)現(xiàn)遠(yuǎn)程的實(shí)時(shí)監(jiān)測。從而把結(jié)構(gòu)復(fù)雜、繁瑣的系統(tǒng)化為具有典型分布式控制系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)。系統(tǒng)的整體結(jié)構(gòu)如圖1所示。 [ALIGN=CENTER] 圖1 分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)結(jié)構(gòu)圖[/ALIGN] 3、基于VC++多線程的設(shè)備集中監(jiān)控與數(shù)據(jù)管理 3.1 硬件設(shè)計(jì) 在硬件設(shè)計(jì)上,由一臺(tái)PC工控機(jī)作為上位機(jī),用來接收并存儲(chǔ)現(xiàn)場的監(jiān)測數(shù)據(jù),本地現(xiàn)場硬件包括已有監(jiān)控計(jì)算機(jī)(通過編寫軟件來提取已有監(jiān)控系統(tǒng)的數(shù)據(jù))、可編程的PC-Based數(shù)據(jù)采集控制器(通過編程來采集現(xiàn)場設(shè)備的監(jiān)測數(shù)據(jù))和不可編程的I/O節(jié)點(diǎn)(直接進(jìn)行數(shù)據(jù)采集),遠(yuǎn)程現(xiàn)場硬件主要是監(jiān)控計(jì)算機(jī)(通過編寫軟件來提取已有監(jiān)控系統(tǒng)的數(shù)據(jù))。 在傳輸線路上,根據(jù)企業(yè)現(xiàn)場實(shí)際,各子系統(tǒng)線路距離一般不會(huì)超過1200m,但位置分散,各子系統(tǒng)通信硬件各異,信號(hào)相互干擾會(huì)比較嚴(yán)重,鑒于這種情況,對各種通信方式(RS-232、RS-422、RS-485、光纖)的特點(diǎn)進(jìn)行了比較和分析,RS-232傳輸方式數(shù)據(jù)傳輸速率較慢(一般只能達(dá)到20kb/s),傳輸距離短(一般裝置間電纜長度為15 m之內(nèi)),且接口處信號(hào)容易互相干擾;RS-422總線傳輸方式盡管傳輸距離較遠(yuǎn),但節(jié)點(diǎn)太少;光纖傳輸通信距離遠(yuǎn)、性能穩(wěn)定,但成本過高;RS-485傳輸方式不僅具有傳輸距離遠(yuǎn)、多節(jié)點(diǎn)(32個(gè))的特點(diǎn),而且傳輸線成本低。因此為了提高通信穩(wěn)定性、減小工程成本,采用RS-485總線傳輸方式。 在RS-485總線傳輸接口上,上位工控機(jī)需采用RS-232/RS-485轉(zhuǎn)換板,將PC串口RS-232信號(hào)轉(zhuǎn)換成RS-485信號(hào),而下位機(jī)的情況較為復(fù)雜,對于以計(jì)算機(jī)為下位的子系統(tǒng),也需要安裝RS-232/RS-485轉(zhuǎn)換板,對于以PC-BASE控制器和遠(yuǎn)程I/O節(jié)點(diǎn)為下位的子系統(tǒng),其硬件系統(tǒng)支持RS-485通信,不需要安裝其他硬件設(shè)備就可以實(shí)現(xiàn)通信。 3.2 軟件設(shè)計(jì) 系統(tǒng)在VC++6.0環(huán)境下,使用多線程技術(shù)開發(fā)監(jiān)控軟件來實(shí)現(xiàn)設(shè)備系統(tǒng)的集中監(jiān)控與數(shù)據(jù)管理,其系統(tǒng)功能模塊如圖2所示。 [ALIGN=CENTER] 圖2 VC++監(jiān)控軟件功能結(jié)構(gòu)模塊圖[/ALIGN] 集中監(jiān)控主機(jī)向各子站數(shù)據(jù)采集控制器和子系統(tǒng)主機(jī)發(fā)送查詢數(shù)據(jù)指令,并由數(shù)據(jù)打包模塊將指令整理成數(shù)據(jù)查詢報(bào)文,通過通訊模塊傳給數(shù)據(jù)發(fā)送模塊與下位設(shè)備通訊;有查詢報(bào)文返回時(shí),再通過通訊模塊、數(shù)據(jù)解包模塊將數(shù)據(jù)還原,然后通過數(shù)據(jù)存儲(chǔ)管理模塊對數(shù)據(jù)進(jìn)行處理和存儲(chǔ),其中內(nèi)存中的實(shí)時(shí)數(shù)據(jù)傳給實(shí)時(shí)監(jiān)控模塊,硬盤中的數(shù)據(jù)供數(shù)據(jù)統(tǒng)計(jì)分析模塊訪問。 軟件前臺(tái)功能設(shè)計(jì)上,實(shí)時(shí)監(jiān)控模塊主要包括動(dòng)態(tài)流程圖顯示、動(dòng)態(tài)曲線顯示、實(shí)時(shí)報(bào)警顯示、各線路通信狀態(tài)顯示等;數(shù)據(jù)統(tǒng)計(jì)分析模塊主要包括總體運(yùn)行分析、數(shù)據(jù)檢索編輯、歷史曲線查詢、歷史數(shù)據(jù)統(tǒng)計(jì)、輸出報(bào)表及打印等功能,此外,前臺(tái)功能還包括各工作線路模塊、通訊信息輸出模塊。系統(tǒng)具有常規(guī)SCADA軟件的所有功能,實(shí)現(xiàn)了全面監(jiān)測設(shè)備和處理信息的任務(wù)。 多線程串行通訊技術(shù)見關(guān)鍵技術(shù)部分。 3.3 串行通信驅(qū)動(dòng)程序的設(shè)計(jì) 在通信功能的實(shí)現(xiàn)上,可以直接使用微軟的易于實(shí)現(xiàn)串口的通信ACtivex控件MSCOMM,但是根據(jù)串行通信多類型、設(shè)備多的特點(diǎn),本系統(tǒng)采用了WIN32 API函數(shù)來編寫串口通信類的方法,方便、靈活地實(shí)現(xiàn)了串口通信功能。 Win32 API是一個(gè)復(fù)雜函數(shù)、消息的集合,它把對串口和其它通信設(shè)備的支持與基本輸入輸出驅(qū)動(dòng)程序集成為一體,系統(tǒng)只需要通過設(shè)備控制模塊DCB的數(shù)據(jù)結(jié)構(gòu)對串行口和串行通信驅(qū)動(dòng)程序進(jìn)行配置。 串口通信編程實(shí)現(xiàn)的基本步驟:打開與外設(shè)相連的串口,根據(jù)通信協(xié)議對通信控制模塊(DCB結(jié)構(gòu))進(jìn)行配置;然后初始化串口的接收和發(fā)送緩沖區(qū)大?。贿M(jìn)行讀寫操作;通過校驗(yàn),對正確接收的數(shù)據(jù)進(jìn)行處理;最后在串行通信結(jié)束后,關(guān)閉串口。 3.4 數(shù)據(jù)的提取與傳輸 對于需要直接從現(xiàn)場采集運(yùn)行數(shù)據(jù)的子系統(tǒng),一般采用遠(yuǎn)程I/O節(jié)點(diǎn)和基于PC-Based可編程數(shù)據(jù)采集控制器進(jìn)行數(shù)據(jù)采集,并將數(shù)據(jù)整理成數(shù)據(jù)幀后發(fā)送到485總線上,由上位機(jī)對數(shù)據(jù)進(jìn)行處理和整合。 對于已有監(jiān)控系統(tǒng)的子系統(tǒng),由于其監(jiān)控軟件大多是組態(tài)軟件開發(fā)的,因此系統(tǒng)采用VC++6.0開發(fā)數(shù)據(jù)傳輸軟件的方式,一般互操作性強(qiáng)的子系統(tǒng),采用DDE方式可讀取實(shí)時(shí)數(shù)據(jù)的方法,而針對于軟件封閉、互操作性較差的子系統(tǒng),則采用直接從其數(shù)據(jù)庫或數(shù)據(jù)文件中讀取最新數(shù)據(jù)的方法,下位軟件周期性地監(jiān)視封閉系統(tǒng)數(shù)據(jù)庫或數(shù)據(jù)文件的屬性,如果屬性發(fā)生了變化,說明有新的數(shù)據(jù)寫入,提取其最新數(shù)據(jù)記錄,并將數(shù)據(jù)記錄整理成數(shù)據(jù)幀,存入相應(yīng)的動(dòng)態(tài)數(shù)組中,等待收到上位的查詢指令后發(fā)送。并將數(shù)據(jù)通過RS485總線,傳送到上位計(jì)算機(jī)。 3.5 數(shù)據(jù)的存儲(chǔ)管理 根據(jù)系統(tǒng)多設(shè)備、實(shí)時(shí)更新、數(shù)據(jù)量大的特點(diǎn),為了方便對數(shù)據(jù)的操作,更好地管理和保存數(shù)據(jù),整個(gè)數(shù)據(jù)庫系統(tǒng)設(shè)有實(shí)時(shí)數(shù)據(jù)庫和歷史數(shù)據(jù)庫。實(shí)時(shí)數(shù)據(jù)庫必須滿足實(shí)時(shí)更新、實(shí)時(shí)處理的特性,并要利于WEB服務(wù)器進(jìn)行實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)交換,因此實(shí)時(shí)數(shù)據(jù)庫采用內(nèi)存數(shù)據(jù)庫和硬盤上的SQL Server2000數(shù)據(jù)庫相結(jié)合的方式;歷史數(shù)據(jù)庫用來保存存放實(shí)時(shí)數(shù)據(jù)庫中到期的需要永久保存的數(shù)值量數(shù)據(jù),歷史數(shù)據(jù)庫存儲(chǔ)量大,保存時(shí)間長,采用SQL Server2000數(shù)據(jù)庫。實(shí)時(shí)數(shù)據(jù)庫和歷史數(shù)據(jù)庫的配合使用,實(shí)現(xiàn)了數(shù)據(jù)的優(yōu)化管理。 數(shù)據(jù)的存儲(chǔ)管理主要包括:數(shù)據(jù)的正確性處理、數(shù)據(jù)的統(tǒng)計(jì)、存儲(chǔ)、壓縮、備份與定時(shí)清除。其中數(shù)據(jù)的統(tǒng)計(jì)主要是對流量型數(shù)據(jù)進(jìn)行的統(tǒng)計(jì),數(shù)據(jù)的壓縮主要是對實(shí)時(shí)數(shù)據(jù)在寫入歷史數(shù)據(jù)庫之前的壓縮,對于瞬時(shí)流量型數(shù)據(jù),可以設(shè)定不同流量數(shù)據(jù)的壓縮參數(shù)(壓縮偏差、最小壓縮、最大壓縮3個(gè)條件參數(shù)),僅保留超過壓縮偏差的數(shù)據(jù);其他的實(shí)時(shí)數(shù)據(jù)不變化的數(shù)據(jù)不保存,變化的數(shù)據(jù)按照設(shè)定的數(shù)據(jù)時(shí)間間隔進(jìn)行簡單壓縮。 采用ADO技術(shù)實(shí)現(xiàn)對數(shù)據(jù)的操作管理,它能以極高的性能訪問數(shù)據(jù)源,與微軟的數(shù)據(jù)庫管理系統(tǒng)SQL Server2000緊密結(jié)合。系統(tǒng)封裝了3類以ADO方式操作數(shù)據(jù)庫的函數(shù):①創(chuàng)建與數(shù)據(jù)源聯(lián)接的函數(shù)、提取記錄集的函數(shù),關(guān)閉記錄集和連接的函數(shù)等;②記錄操作函數(shù)(如增加記錄函數(shù),修改記錄函數(shù),刪除記錄函數(shù)等);③數(shù)據(jù)管理函數(shù),包括數(shù)據(jù)的存儲(chǔ)、壓縮和統(tǒng)計(jì)等。 4、基于WEB的遠(yuǎn)程實(shí)時(shí)監(jiān)測與數(shù)據(jù)分析 雖然現(xiàn)場總線對實(shí)現(xiàn)面向設(shè)備的自動(dòng)化系統(tǒng)起了巨大的推動(dòng)作用,但是由于現(xiàn)場總線開放性是有條件的、不徹底的,隨著生產(chǎn)規(guī)模的擴(kuò)大和企業(yè)信息化的要求,其開放性也越來越不能滿足要求。在遇到這一阻礙時(shí),Internet、Intranet、Ether-net這些基于TCP/IP協(xié)議的網(wǎng)絡(luò)發(fā)展迅速,與現(xiàn)場總線相比,它們具有技術(shù)成熟、網(wǎng)絡(luò)產(chǎn)品低廉、開發(fā)工具豐富等明顯的優(yōu)勢,使得測控網(wǎng)絡(luò)技術(shù)在遠(yuǎn)程監(jiān)控方面有了很大的突破。從現(xiàn)有的體系結(jié)構(gòu)上來看,目前在工業(yè)自動(dòng)化體系中較為常見且具有很大發(fā)展?jié)摿Φ氖荁/S結(jié)構(gòu)。 B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)一種變化或者改進(jìn)的結(jié)構(gòu),在傳統(tǒng)的C/S(Client/Server)結(jié)構(gòu)中間加上一層,把原來客戶機(jī)所負(fù)責(zé)的功能交給中間層來實(shí)現(xiàn),這個(gè)中間層即為WEB服務(wù)層。即形成了3層結(jié)構(gòu):表示層(用戶界面),功能層(WEB服務(wù)器)和數(shù)據(jù)層(數(shù)據(jù)庫服務(wù)器)。與C/S結(jié)構(gòu)相比,B/S結(jié)構(gòu)具有以下優(yōu)點(diǎn):①用戶端只需安裝單一的瀏覽器軟件(如IE),界面統(tǒng)一,使用簡單;②由于客戶端無需安裝專用軟件,系統(tǒng)升級(jí)時(shí)只需更新WEB服務(wù)器端的軟件,使系統(tǒng)易于維護(hù);③B/S結(jié)構(gòu)采用標(biāo)準(zhǔn)的TCP/IP協(xié)議、HTTP協(xié)議,有良好的廣域網(wǎng)支持,擴(kuò)展性好,易于實(shí)現(xiàn)多用戶監(jiān)控,信息共享程度高。 系統(tǒng)遠(yuǎn)程監(jiān)測采用B/S結(jié)構(gòu),如圖3所示。 [ALIGN=CENTER] 圖3 遠(yuǎn)程實(shí)時(shí)監(jiān)測結(jié)構(gòu)圖[/ALIGN] 其中WEB服務(wù)器采用Microsoft Windows Server2000、IIS5.0和Internet Explorer系統(tǒng)平臺(tái),以ASP技術(shù)來發(fā)布系統(tǒng)信息。ASP(Active Server Pages,活動(dòng)服務(wù)器頁面)是Microsoft公司推出的一種服務(wù)器端腳本語言執(zhí)行環(huán)境,ASP技術(shù)能夠把HTML WEB頁面、腳本語言、ActiveX組件等有機(jī)地結(jié)合起來,形成一個(gè)能夠在服務(wù)器上運(yùn)行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面送給客戶端瀏覽器。 集中監(jiān)控軟件將實(shí)時(shí)采集的現(xiàn)場數(shù)據(jù)在內(nèi)存中進(jìn)行處理后,通過VC的ADO數(shù)據(jù)庫訪問技術(shù)保存到SQL Server2000中的實(shí)時(shí)數(shù)據(jù)庫(臨時(shí)數(shù)據(jù)庫Tempdb)和歷史數(shù)據(jù)庫(硬盤數(shù)據(jù)庫)中。遠(yuǎn)程計(jì)算機(jī)通過WEB瀏覽器向WEB服務(wù)器發(fā)出請求,WEB服務(wù)器處理后調(diào)用相應(yīng)的ASP文件到數(shù)據(jù)庫上進(jìn)行查詢,查詢結(jié)果送回WEB服務(wù)器后,以HTML頁面的形式返回到瀏覽器。 基于B/S結(jié)構(gòu),運(yùn)用ASP技術(shù),系統(tǒng)實(shí)現(xiàn)了流程圖動(dòng)態(tài)顯示、數(shù)據(jù)曲線與統(tǒng)計(jì)圖實(shí)時(shí)顯示、數(shù)據(jù)表格實(shí)時(shí)顯示等遠(yuǎn)程實(shí)時(shí)監(jiān)測與數(shù)據(jù)分析功能。 5、關(guān)鍵技術(shù) 5.1 基于VC++多線程的串行通信技術(shù) 中央監(jiān)控軟件采用基于多線程的串行通信技術(shù)來實(shí)現(xiàn)對下位的查詢和對數(shù)據(jù)的接收。上位軟件采用多線程的“輪詢”+“消息驅(qū)動(dòng)”方式,在主線程中完成打開串口、配置串口、初始化串口并創(chuàng)建輔助通信線程,由輔助通信線程輪流向下位不同設(shè)備系統(tǒng)發(fā)送查詢數(shù)據(jù)指令,并實(shí)時(shí)監(jiān)視串口通信狀態(tài),等待下位的回復(fù),一旦查詢到數(shù)據(jù)已經(jīng)發(fā)送到串行口上,輔助線程自動(dòng)接收數(shù)據(jù),并向主線程發(fā)送數(shù)據(jù)接收到的消息,主線程取走數(shù)據(jù)并進(jìn)行處理。若上位通訊線程在設(shè)定時(shí)間內(nèi)一直未收到下位某子系統(tǒng)對查詢指令的回復(fù),則發(fā)送查詢下一子系統(tǒng)數(shù)據(jù)的指令,這樣通過輪詢的方式,所有子系統(tǒng)的數(shù)據(jù)都被傳送到上位。根據(jù)現(xiàn)場實(shí)際,系統(tǒng)設(shè)有相應(yīng)數(shù)量的通信線程,監(jiān)視對應(yīng)通信線路的串口狀態(tài),同時(shí)系統(tǒng)定義了發(fā)送、發(fā)送完成、接收、接收完成4個(gè)消息,以完成原定的消息處理功能。另外,考慮到與同構(gòu)系統(tǒng)相比,異構(gòu)系統(tǒng)存在多子系統(tǒng)并存且通信線路較長的特點(diǎn),所以數(shù)據(jù)在傳輸上難免受到外界環(huán)境的干擾,為了克服因客觀原因帶來的通信不穩(wěn)定,在程序設(shè)計(jì)上采用重要數(shù)據(jù)多次發(fā)送的方法。圖4為RS-485總線通訊方式中上位軟件通信線程流程。 [ALIGN=CENTER] 圖4 上位軟件通信線程流程圖[/ALIGN] 針對串行通信的特點(diǎn),采用事件(Event)對象來同步串行通信中各線程對通信端口和內(nèi)存數(shù)據(jù)的訪問,避免引起多線程間的沖突和死鎖。具體通過WaitForSingeObject(),SetEvent()和Reset-Event()3個(gè)函數(shù)來協(xié)調(diào)重疊I/O的操作。 5.2 多種通信協(xié)議與配置文件的有效配合 基于VC++的集中監(jiān)控與數(shù)據(jù)管理軟件相當(dāng)于整個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)的心臟,它處理數(shù)據(jù)的速度、合理的編程構(gòu)架決定著整個(gè)系統(tǒng)的性能。 根據(jù)現(xiàn)場多設(shè)備、多系統(tǒng)并存的實(shí)際情況,在數(shù)據(jù)傳輸上采用了多種數(shù)據(jù)幀格式,即不同系統(tǒng)設(shè)備有不同的數(shù)據(jù)幀格式,既有原硬件定義幀格式(下位為遠(yuǎn)程I/O節(jié)點(diǎn)的子系統(tǒng))又有多種自定義幀格式。在數(shù)據(jù)的校驗(yàn)方法上,采用校驗(yàn)和(CheckSum)方式來校驗(yàn)接收數(shù)據(jù)正誤,方法是將所有傳送字符的ASCII碼累加后除以255得到的。 針對系統(tǒng)多設(shè)備、多系統(tǒng)的特點(diǎn),既有直接從現(xiàn)場采集的數(shù)據(jù),也有從原有異構(gòu)系統(tǒng)數(shù)據(jù)文件中讀取的數(shù)據(jù);既有模擬量,也有數(shù)字量和開關(guān)量。這樣程序在運(yùn)行過程中,需要不斷修改子系統(tǒng)通信參數(shù),采用修改源程序代碼,費(fèi)時(shí)又費(fèi)力。為了增強(qiáng)程序的靈活性和可擴(kuò)展性,避免以往組態(tài)軟件的設(shè)計(jì)缺陷,系統(tǒng)采用了配置文件與多種數(shù)據(jù)幀格式相結(jié)合的方式,以讀取配置文件的方法初始化涉及到每個(gè)設(shè)備的功能模塊。在程序運(yùn)行前,通過修改配置文件中的信息,靈活地預(yù)置了不同設(shè)備的通信參數(shù),而無需修改復(fù)雜的原程序。系統(tǒng)的配置文件分為兩種:通信線路信息文件和數(shù)據(jù)結(jié)構(gòu)信息。前者包含每條通信線路的端口號(hào)、波特率、子系統(tǒng)個(gè)數(shù)等;后者包括信號(hào)個(gè)數(shù)、信號(hào)名稱、校驗(yàn)方式等數(shù)據(jù)幀格式信息。多種數(shù)據(jù)幀格式和配置文件預(yù)置的有效配合,大大提高了系統(tǒng)的靈活性和可擴(kuò)展性。 5.3 數(shù)據(jù)庫實(shí)現(xiàn)技術(shù) 數(shù)據(jù)庫服務(wù)器上應(yīng)安裝比較通用且功能強(qiáng)大的數(shù)據(jù)庫系統(tǒng),既方便于WEB服務(wù)器進(jìn)行數(shù)據(jù)交換,又要能快速存儲(chǔ)集中監(jiān)控層數(shù)據(jù)。在數(shù)據(jù)庫服務(wù)器上建有兩種類型的數(shù)據(jù)庫:實(shí)時(shí)數(shù)據(jù)庫和歷史數(shù)據(jù)庫。前者用來存儲(chǔ)實(shí)時(shí)數(shù)據(jù),以供WEB服務(wù)器進(jìn)行動(dòng)態(tài)顯示,要求有較高的存取速度。后者用來存儲(chǔ)每一時(shí)段的歷史數(shù)據(jù),以供用戶查詢,繪制歷史曲線,要求有較大的數(shù)據(jù)容量。 嚴(yán)格來說,實(shí)時(shí)數(shù)據(jù)庫應(yīng)采用專用的工業(yè)實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)來實(shí)現(xiàn),但是對于測控系統(tǒng)而言,其實(shí)時(shí)性要求不是太高,一些商用數(shù)據(jù)庫系統(tǒng)如SQL Server 2000等已能滿足其要求??紤]到集中監(jiān)控層數(shù)據(jù)采集與存儲(chǔ)速度為ms級(jí),而遠(yuǎn)程訪問刷新的速度為10s,因此實(shí)時(shí)數(shù)據(jù)庫采用了內(nèi)存數(shù)據(jù)庫與SQL Server2000數(shù)據(jù)庫相結(jié)合的方式。 內(nèi)存實(shí)時(shí)數(shù)據(jù)庫通過在內(nèi)存中開辟線性數(shù)據(jù)結(jié)構(gòu)的順序表來實(shí)現(xiàn),實(shí)現(xiàn)了隨機(jī)存儲(chǔ),存儲(chǔ)速度快,對于存儲(chǔ)空間估計(jì),可通過程序提供的動(dòng)態(tài)數(shù)組來解決。SQL Server2000實(shí)時(shí)數(shù)據(jù)庫采用臨時(shí)數(shù)據(jù)庫Tempdb,由于Tempdb中數(shù)據(jù)不會(huì)象其他的數(shù)據(jù)庫在硬盤中保存,因而在Tempdb中的表上進(jìn)行的操作比其他數(shù)據(jù)庫要快得多,專為WEB瀏覽器實(shí)時(shí)監(jiān)測頁面提供動(dòng)態(tài)訪問數(shù)據(jù)。 5.4 WEB畫面的動(dòng)態(tài)顯示技術(shù) 在遠(yuǎn)程實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測,最好能在瀏覽器上實(shí)現(xiàn)一個(gè)類似DCS系統(tǒng)的基于流程圖動(dòng)態(tài)顯示的人機(jī)界面,但由ASP所產(chǎn)生的動(dòng)態(tài)網(wǎng)頁在客戶端只能顯示表格數(shù)據(jù),很難產(chǎn)生組態(tài)畫面、統(tǒng)計(jì)圖形、曲線等動(dòng)能,為了更為直觀的顯示監(jiān)測畫面,在WEB頁面中嵌入了JPG圖片和Active X控件。 為了實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測,畫面要求實(shí)時(shí)刷新,系統(tǒng)刷新時(shí)間為10s。由于頁面中包含了圖片、Active X控件,有些流程圖體積較大,無法通過WEB達(dá)到要求,并且畫面在刷新時(shí),由于瀏覽器重新載入頁面資源,還會(huì)出現(xiàn)頁面閃爍的現(xiàn)象。解決這些問題的唯一方法就是只刷新顯示的數(shù)據(jù)而不刷新流程圖,即將動(dòng)態(tài)顯示頁面分為流程圖頁面和刷新數(shù)據(jù)頁面,用分為兩幀的頁面來集成這兩個(gè)頁面。刷新數(shù)據(jù)頁面每隔10s自動(dòng)刷新,以從服務(wù)器端取得最新的數(shù)據(jù),然后觸發(fā)頁面中的javascript函數(shù),自動(dòng)將最新數(shù)據(jù)顯示在流程圖頁面上,從而實(shí)現(xiàn)了流程圖的動(dòng)態(tài)平滑顯示。 6、結(jié)束語 上述分布式異構(gòu)系統(tǒng)3級(jí)測控網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)方法,已在北京西站3級(jí)網(wǎng)絡(luò)監(jiān)測與數(shù)據(jù)管理系統(tǒng)中成功應(yīng)用,具有可靠性強(qiáng)、低成本、易于使用、靈活性和可擴(kuò)展性強(qiáng)的特點(diǎn)。具體體現(xiàn)為:①體系結(jié)構(gòu)先進(jìn),方便擴(kuò)展和與以太網(wǎng)、Internet的網(wǎng)絡(luò)連接;②功能強(qiáng)大,可開辟多路后臺(tái)線程,實(shí)時(shí)監(jiān)控多種設(shè)備系統(tǒng);③系統(tǒng)具有常規(guī)SCA-DA軟件所有功能,實(shí)現(xiàn)了全面監(jiān)測設(shè)備和處理信息的任務(wù);④系統(tǒng)開放性好,支持TCP/IP協(xié)議、RS-485協(xié)議,支持標(biāo)準(zhǔn)的管理數(shù)據(jù)庫接口;⑤系統(tǒng)功能靈活,模塊化的結(jié)構(gòu)使得用戶可以方便地?cái)U(kuò)充系統(tǒng)功能,更改線路結(jié)構(gòu),從而很容易地對系統(tǒng)進(jìn)行放縮。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展現(xiàn)狀和趨勢

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)