基于bacnet協(xié)議服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于bacnet協(xié)議服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于bacnet協(xié)議服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于bacnet協(xié)議服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于bacnet協(xié)議服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展以及生產(chǎn)規(guī)模的不斷擴(kuò)大,應(yīng)用于工業(yè)監(jiān)控領(lǐng)域的硬件與軟件設(shè)備的種類也越來(lái)越豐富,系統(tǒng)集成變得越來(lái)越復(fù)雜和困難。為解決這個(gè)問題,OPC技術(shù)應(yīng)運(yùn)而生,它提供了一種標(biāo)準(zhǔn)的數(shù)據(jù)訪問機(jī)制,極大地減少了系統(tǒng)集成過程中的摘要隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展以及生產(chǎn)規(guī)模的不斷擴(kuò)大,應(yīng)用于工業(yè)監(jiān)控領(lǐng)域的硬件與軟件設(shè)備的種類也越來(lái)越豐富,系統(tǒng)集成變得越來(lái)越復(fù)雜和困難。為解決這個(gè)問題,OPC技術(shù)應(yīng)運(yùn)而生,它提供了一種標(biāo)準(zhǔn)的數(shù)據(jù)訪問機(jī)制,極大地減少了系統(tǒng)集成過程中的重復(fù)工作。一般OPC服務(wù)器與硬件設(shè)備的連接用現(xiàn)場(chǎng)總線技術(shù),而目前各種現(xiàn)場(chǎng)總線產(chǎn)品由于協(xié)議的不同無(wú)法協(xié)同工操作。BACnet標(biāo)準(zhǔn)是一種開放式樓宇自控網(wǎng)絡(luò)數(shù)據(jù)通信協(xié)議,具有很強(qiáng)性,能實(shí)現(xiàn)設(shè)備之間的互連互通。因此將BACnet引入到工業(yè)監(jiān)控領(lǐng)域,能有地彌補(bǔ)現(xiàn)場(chǎng)總線的不足本文在對(duì)OPC標(biāo)準(zhǔn)和BACnet協(xié)議進(jìn)行深入研究的基礎(chǔ)上,提出了基BACnet協(xié)議的OPC服務(wù)器設(shè)計(jì)方案,解決了監(jiān)控系統(tǒng)和現(xiàn)場(chǎng)硬件設(shè)備的互連互操作問題,構(gòu)造出了一個(gè)有效、完整的監(jiān)控體系。同時(shí)針對(duì)監(jiān)控系特點(diǎn),提出了保證MS/TP網(wǎng)絡(luò)實(shí)時(shí)性的算法,設(shè)計(jì)了BACnet底層數(shù)據(jù)模塊,完成了BACnet協(xié)議數(shù)據(jù)與OPC數(shù)據(jù)的轉(zhuǎn)換,并增加了OPC服務(wù)器對(duì)機(jī)交互界面的支持,從而使OPC服務(wù)器具有更強(qiáng)的靈活性。為了向其他工控軟件提供數(shù)據(jù)庫(kù)接口支持,設(shè)計(jì)了OPC服務(wù)器的數(shù)據(jù)庫(kù)系統(tǒng),提高了OPC據(jù)的訪問效對(duì)外接口是OPC服務(wù)器對(duì)外提供標(biāo)準(zhǔn)OPC數(shù)據(jù)的唯一通道,同時(shí)也是服務(wù)器開發(fā)中最難實(shí)現(xiàn)的一個(gè)部分。本文基于工業(yè)監(jiān)控領(lǐng)域?qū)服務(wù)器對(duì)外接口的需求,采用Teaoff技術(shù)對(duì)接口進(jìn)行定制開發(fā),只對(duì)需要調(diào)用的接口進(jìn)行實(shí)例化,這樣不僅縮短了開發(fā)時(shí)間,而且也節(jié)省了系統(tǒng)資源。最后,從實(shí)時(shí)性和應(yīng)用性的角度對(duì)開發(fā)完成的服務(wù)器各項(xiàng)指標(biāo)進(jìn)行了測(cè)測(cè)試結(jié)果表明本系統(tǒng)完成了預(yù)期設(shè)計(jì)目標(biāo),能夠滿足面向?qū)I(yè)機(jī)械設(shè)備現(xiàn)場(chǎng)控的應(yīng)用需本OPC服務(wù)器設(shè)計(jì)完成以后,在廣東省科達(dá)機(jī)電股份有限公司的恩施中得到應(yīng)用,效果良好Withcomputerwell thescaleinfieldofindustrialcontrolandmoreandmoreinanddifficult.TosolveincreasinglyintoastandarddatainsystemintegrationofgreatlyserverandhardwaredevicesfieldbusofthedifferencesindueandachievedworkingWithcomputerwell thescaleinfieldofindustrialcontrolandmoreandmoreinanddifficult.Tosolveincreasinglyintoastandarddatainsystemintegrationofgreatlyserverandhardwaredevicesfieldbusofthedifferencesindueandachievedworkingisopenautomationnetworkdatahi曲realizeinterconnectionbetweendevices.BACnetthefieldforthelackofcontrolcaneffectivelystandardoftheOPCandInprotocolsbasedonin—basedonBACnetprotocolistodesignandon-sitehardwareinterconnectionmonitoringeffectiveforcompletemonitoringcharacteristicsofthenetworkmonitoringMS/TPnetworkensurereal—datathedatawiththeOPCandincreaseofthatOPCservertheorderinterfacestootherandcontrolsoftware,designtheOPCserverdatabaseofOPCdataTheexternaliSaOPCserverprovideoutsideonlychannel,OPCserverdevelopmentiSalsoapartofthemostdifficulttoiSbasedontheOPCserverinthefieldofThiscontr01ofTear-offneedtocalltheinterfaceinstantiate,SOthesavesthedesignofpartsoftheOPCserver,andtestreal.timeneedtocalltheinterfaceinstantiate,SOthesavesthedesignofpartsoftheOPCserver,andtestreal.timefromoftheindicatorsontestmeet completetheequipmenton— applicationTheOPCserverisKedaEnshitogoodProvincehasappliedittheprojectStandard;OPCMonitoring本人聲明,所呈交的論文是本人在本人聲明,所呈交的論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作明并表示了謝簽名:盟日期.遜咎2扣學(xué)位論文使用授服務(wù)研究生(簽鼽鹺彳導(dǎo)師(簽名焉.【~L-,期汐嘩馴第1章緒本課題的研究來(lái)源于教育第1章緒本課題的研究來(lái)源于教育部和廣東省共建項(xiàng)目:面向墻材專用機(jī)械裝現(xiàn)場(chǎng)監(jiān)控系統(tǒng)1.2隨著信息技術(shù)的不斷發(fā)展,工業(yè)監(jiān)控軟件也取得了長(zhǎng)足的進(jìn)步,引領(lǐng)著動(dòng)化領(lǐng)域的深刻發(fā)展。但是,由于過程復(fù)雜程序的提高以及生產(chǎn)規(guī)模的擴(kuò)硬件設(shè)備進(jìn)行數(shù)據(jù)交互,那么必須為每一個(gè)相應(yīng)的設(shè)備開發(fā)相應(yīng)的通信模塊,不但要求開發(fā)者要熟悉各廠商的產(chǎn)品,而且還要花大量的時(shí)間和精力來(lái)開發(fā)層通信模塊。如果設(shè)備數(shù)量很多的話,開發(fā)者的工作量將會(huì)是十分驚人的。外,這將導(dǎo)致工業(yè)現(xiàn)場(chǎng)的控制數(shù)據(jù)很難與生產(chǎn)管理層和經(jīng)營(yíng)管理層的應(yīng)用軟Il'在工業(yè)信息化高速發(fā)展的今天,我們需要解決各離散子系統(tǒng)間的數(shù)據(jù)和共享,各子系統(tǒng)需要統(tǒng)一和協(xié)調(diào)的通信規(guī)范,再考慮到實(shí)時(shí)監(jiān)控系統(tǒng)往往要升級(jí)和調(diào)整,則各子系統(tǒng)需要具備統(tǒng)一的開放接口。OPC規(guī)范正是這一思的產(chǎn)物。C是以O(shè)LE/COM機(jī)制作為應(yīng)用程序的通訊標(biāo)準(zhǔn)。C為多種多樣都以統(tǒng)一的方式去訪問,可以減化和促進(jìn)企業(yè)內(nèi)部各系統(tǒng)的集成,更方便現(xiàn)制造企業(yè)的“管理和控制一體化BACnet是一種建筑自控領(lǐng)域的數(shù)據(jù)交換和通訊標(biāo)準(zhǔn),由于它是基于面向的思想進(jìn)行設(shè)計(jì),因此具有很好的開放性、可拓展性和可復(fù)用性。所以能很好的解決了不同廠商生產(chǎn)的樓宇自控設(shè)備間的互聯(lián)和信息共享,實(shí)現(xiàn)了互和互操作【3】。而BACnet本課題研究的目的是將BACnet協(xié)議應(yīng)用于工業(yè)監(jiān)控領(lǐng)域,使BACnet與OPC標(biāo)準(zhǔn)達(dá)到珠聯(lián)璧合的效果,開發(fā)出具有更加通用性的、可擴(kuò)展性本課題研究的目的是將BACnet協(xié)議應(yīng)用于工業(yè)監(jiān)控領(lǐng)域,使BACnet與OPC標(biāo)準(zhǔn)達(dá)到珠聯(lián)璧合的效果,開發(fā)出具有更加通用性的、可擴(kuò)展性和更靈活的OPC服務(wù)器。并將開發(fā)出的成果運(yùn)用于專用機(jī)械裝備現(xiàn)場(chǎng)監(jiān)控之中過現(xiàn)場(chǎng)的檢驗(yàn)和測(cè)試,使研究成果得以應(yīng)用。這樣既可以深入探索BACnet標(biāo)在工業(yè)領(lǐng)域的應(yīng)用,又可以促進(jìn)我國(guó)BACnet技術(shù)的發(fā)展水平,也同時(shí)為服務(wù)器的開發(fā)提供了一種新的思路OPC標(biāo)準(zhǔn)自1996年8引入新的理念以適應(yīng)當(dāng)今信息化的快速發(fā)展。2006年9月,OPC基金會(huì)公OPC的新標(biāo)準(zhǔn)——oPCUA(UmfiedArchitecture),即OPC統(tǒng)一架構(gòu)。以現(xiàn)實(shí)需求為原動(dòng)力,依托互聯(lián)網(wǎng)技術(shù)、.NET通訊架構(gòu),采用SOA(面向的體系結(jié)構(gòu))理念,能夠從設(shè)備控制、SCADA、可視化到資產(chǎn)管理、生產(chǎn)庫(kù)存管理進(jìn)行全方位、立體式的監(jiān)控h國(guó)外對(duì)OPC的研究及應(yīng)用非常熱門,目前已經(jīng)有300多家公司加入了基金會(huì),已有600種以上的OPC服務(wù)器產(chǎn)品和OPC應(yīng)用程序產(chǎn)品出現(xiàn)在基金會(huì)發(fā)行的OPC產(chǎn)品目錄上。工業(yè)領(lǐng)域代表性公司,如GE、SiemensWonderware、Honeywell等,不但參與了OPCOPC一系列的標(biāo)準(zhǔn)推向工業(yè)領(lǐng)域【8】。隨著OPC技術(shù)的發(fā)展,國(guó)內(nèi)也有眾多的動(dòng)化公司已經(jīng)開始積極探索OPC技術(shù)的應(yīng)用開發(fā)。浙大中控是國(guó)內(nèi)第一批會(huì)員單位,現(xiàn)在已經(jīng)開發(fā)出大量的符合OPC標(biāo)準(zhǔn)的優(yōu)秀產(chǎn)品。國(guó)內(nèi)的軟件公如北京亞控公司的組態(tài)王、三維力控等開發(fā)出的OPC產(chǎn)品已經(jīng)廣泛地應(yīng)用在化、電力、港口、鋼鐵等領(lǐng)域從理論研究的角度上看,BACnet自成為國(guó)際標(biāo)準(zhǔn)以來(lái),就一致被國(guó)內(nèi)多的研究機(jī)構(gòu)所關(guān)注。國(guó)外對(duì)BACnet標(biāo)準(zhǔn)的研究主要是在韓國(guó)漢陽(yáng)大學(xué)電子絡(luò)實(shí)驗(yàn)室,該實(shí)驗(yàn)室研究主要是研究各種網(wǎng)絡(luò)通信協(xié)議,而BACnet只是其中一部分罷了。從目前國(guó)內(nèi)外研究的現(xiàn)狀來(lái)看,國(guó)內(nèi)研究主要集中在對(duì)的理解,運(yùn)用以及協(xié)議棧設(shè)計(jì),國(guó)外研究主要集中在網(wǎng)絡(luò)協(xié)議性能分真實(shí)驗(yàn)方面16’7J數(shù)十家知名公司在進(jìn)行BACnet技術(shù)研究和產(chǎn)品開發(fā),許多產(chǎn)品已經(jīng)開始商用2而在國(guó)內(nèi),Ant標(biāo)準(zhǔn)的研究還處于起步階段,雖然已經(jīng)引起了一些企業(yè)的關(guān)注,但是尚未形成能夠投向市場(chǎng)的產(chǎn)品【引。究其原因還是由于國(guó)內(nèi)企業(yè)目前對(duì)標(biāo)準(zhǔn)的研究不足,而且沒有熟悉協(xié)議設(shè)計(jì)的開發(fā)團(tuán)隊(duì)。國(guó)內(nèi)的樓宇產(chǎn)品,要么就是采用私有通信協(xié)議的產(chǎn)品;要么采用現(xiàn)有專利技術(shù)進(jìn)行二次開發(fā),這類產(chǎn)品不開放規(guī)范,很難和其他廠商的產(chǎn)品相兼容而在國(guó)內(nèi),Ant標(biāo)準(zhǔn)的研究還處于起步階段,雖然已經(jīng)引起了一些企業(yè)的關(guān)注,但是尚未形成能夠投向市場(chǎng)的產(chǎn)品【引。究其原因還是由于國(guó)內(nèi)企業(yè)目前對(duì)標(biāo)準(zhǔn)的研究不足,而且沒有熟悉協(xié)議設(shè)計(jì)的開發(fā)團(tuán)隊(duì)。國(guó)內(nèi)的樓宇產(chǎn)品,要么就是采用私有通信協(xié)議的產(chǎn)品;要么采用現(xiàn)有專利技術(shù)進(jìn)行二次開發(fā),這類產(chǎn)品不開放規(guī)范,很難和其他廠商的產(chǎn)品相兼容l。研究基于開放規(guī)范的BCnet產(chǎn)品對(duì)提高我國(guó)產(chǎn)品的自主研發(fā)能力非常重要。本課題組借助廣東省大力發(fā)展企BCnet本課題研究的目標(biāo)是:將t協(xié)議標(biāo)準(zhǔn)應(yīng)用于現(xiàn)場(chǎng)監(jiān)控網(wǎng)絡(luò)的現(xiàn)場(chǎng)控制器和監(jiān)控服務(wù)器,開發(fā)出模塊化,獨(dú)立于應(yīng)用的OPC服務(wù)器,實(shí)現(xiàn)面向?qū)S脵C(jī)械裝備的現(xiàn)場(chǎng)網(wǎng)絡(luò)監(jiān)控系統(tǒng)。對(duì)所設(shè)計(jì)的OPC服務(wù)器的各項(xiàng)指標(biāo)進(jìn)行驗(yàn)證和測(cè)深入研究OPC標(biāo)準(zhǔn),對(duì)OPCDA規(guī)范進(jìn)行仔細(xì)分析,充分理解服務(wù)器存取數(shù)據(jù)的機(jī)制以BACnet協(xié)議為標(biāo)準(zhǔn),設(shè)計(jì)出OPC通過工業(yè)現(xiàn)場(chǎng)測(cè)試,驗(yàn)證OPC本文的結(jié)構(gòu)安排如下第二章OPC標(biāo)準(zhǔn)與BACnet協(xié)議研究。首先對(duì)OPC標(biāo)準(zhǔn)和BACnet行了介紹,然后再對(duì)二者進(jìn)行深入了解的基礎(chǔ)之上,提出了BACnetOPC的概念,并總結(jié)了BACnetOPC服務(wù)器所具有的后對(duì)各個(gè)部分分別進(jìn)行設(shè)計(jì),提出相應(yīng)的方案并進(jìn)行優(yōu)化,這里面包第四章第四章BACnetOPC服務(wù)器的實(shí)現(xiàn)。首先通過相應(yīng)的開發(fā)工具對(duì)OPC服務(wù)4第2章OPC標(biāo)準(zhǔn)和BACnet協(xié)議oPC標(biāo)OPC技術(shù)第2章OPC標(biāo)準(zhǔn)和BACnet協(xié)議oPC標(biāo)OPC技術(shù)Contr01)標(biāo)準(zhǔn)是一組以組件對(duì)象模型和分布式組件OPC(OLEfor象模型(COM/DCOM)技術(shù)為基礎(chǔ)定義的獨(dú)立于廠商產(chǎn)品的接口規(guī)范,是由微軟與世界領(lǐng)先的自動(dòng)化廠商合作制定的一項(xiàng)工業(yè)標(biāo)準(zhǔn),它為工業(yè)自動(dòng)化領(lǐng)域和自¨基金會(huì)發(fā)布的OPC規(guī)范有二十多種,其中常用的有以下幾種:數(shù)據(jù)訪問andEvents)、歷Access)、報(bào)警及事件處理規(guī)范HistoricalAccess)。OPC標(biāo)準(zhǔn)要求所有硬件供應(yīng)OPCOPC以進(jìn)行通信,從而實(shí)現(xiàn)多種系統(tǒng)之間真正的集成【131。因此,上層的信息集成系PPC采用C(客戶/服務(wù)器)模式,定義了一組CO對(duì)象及其接El規(guī)范。OPC的實(shí)現(xiàn),因此OPC服務(wù)器可由不同供應(yīng)商提供,其代碼決定了服務(wù)器訪問物理設(shè)備的方法、數(shù)據(jù)交互等細(xì)節(jié)Il引。但這些對(duì)OPC客戶程序而言都是透明的,只需要遵循相同的方法或規(guī)范就能讀取服務(wù)器中的數(shù)據(jù)。通過COMOPC客戶程序可以和一個(gè)或多個(gè)提供商的OPC服務(wù)器連接,而同時(shí)一個(gè)服務(wù)器也可以和多個(gè)客戶程序相連,形成多對(duì)多的關(guān)系。任何支持OPC的產(chǎn)品都可以無(wú)縫地實(shí)現(xiàn)系統(tǒng)集成,達(dá)到數(shù)據(jù)共享的目的。由于OPC技術(shù)基于M技術(shù),所以服務(wù)器程序和客戶可以分布在不同的主機(jī)上,從而形成網(wǎng)絡(luò)化的監(jiān)控系統(tǒng)【161。OPC技術(shù)從一出現(xiàn)就開始受到各大廠商的廣泛關(guān)注,發(fā)展十分迅速。外許多公司紛紛在自己的產(chǎn)品中增加對(duì)OPC服務(wù)器或接口的支持。很多軟件不用關(guān)心COM技術(shù)復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),很方便定不用關(guān)心COM技術(shù)復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),很方便定制開發(fā)自己的OPC程序。ComCoM原OPCCOMDCOMC的快速開發(fā)工具包,能夠屏蔽COM技術(shù)細(xì)節(jié),但是這并不意味著開發(fā)COCOMCOPC產(chǎn)品。COCOCOCO前MWNDOWMCOM規(guī)范中,對(duì)象是一個(gè)非常關(guān)鍵的元素,常被人們稱之為COM為COM對(duì)象提供活動(dòng)空間,M對(duì)象以接口的形式對(duì)外提供服務(wù),這個(gè)接口被稱之為COM接口。COM組件、COM對(duì)象以及COM接1:3---者之間的關(guān)系圖2.1所示f221CoM組對(duì)象對(duì)象圖COM組件、對(duì)象一個(gè)組件程序可以包含多個(gè)COM對(duì)象,而一個(gè)COM對(duì)象也能實(shí)現(xiàn)多個(gè)接口。當(dāng)客戶程序需要調(diào)用組件的功能時(shí),它必須先要?jiǎng)?chuàng)建一個(gè)COM對(duì)象或者通過其他方法來(lái)獲得COM對(duì)象,然后通過該對(duì)象所提供的COM接口來(lái)調(diào)用服務(wù)。當(dāng)服務(wù)完成以后,客戶程序要釋放該對(duì)象。(1)COM以對(duì)象形式封裝的軟件實(shí)體。COM組件和客戶程序通過對(duì)象進(jìn)行信息交互6件的模塊名稱和位置對(duì)客戶而言是透明的。COM對(duì)象也包含屬性和方法,也被稱之為狀態(tài)和操作。對(duì)象的屬性反映了對(duì)象的特點(diǎn)和數(shù)據(jù),而對(duì)象的方法大多是對(duì)象提供給外界的接121,客戶程序只有通過接121才能獲得對(duì)象服務(wù)【251。在COM規(guī)范中,COM對(duì)象對(duì)于客戶來(lái)說(shuō)是不可見件的模塊名稱和位置對(duì)客戶而言是透明的。COM對(duì)象也包含屬性和方法,也被稱之為狀態(tài)和操作。對(duì)象的屬性反映了對(duì)象的特點(diǎn)和數(shù)據(jù),而對(duì)象的方法大多是對(duì)象提供給外界的接121,客戶程序只有通過接121才能獲得對(duì)象服務(wù)【251。在COM規(guī)范中,COM對(duì)象對(duì)于客戶來(lái)說(shuō)是不可見的,客戶只能通過接來(lái)請(qǐng)求服務(wù),也只能通過接口來(lái)查詢COM對(duì)象。每個(gè)COM對(duì)象都有一個(gè)Identifier,全局唯一標(biāo)識(shí)符)標(biāo)識(shí)符來(lái)標(biāo)位的GUID(Globally存在。GUID是一個(gè)隨機(jī)數(shù),可以通過C++6.O提供的GUID生工具UUIDGenl.exe來(lái)生成【Z引(2)COM接口的定義是COM規(guī)范的核心內(nèi)容,接口其實(shí)就是包含了一組函數(shù)的數(shù)據(jù)為了適應(yīng)COM規(guī)范以及應(yīng)對(duì)軟件的升級(jí),COM接口應(yīng)具有以下特性【29】可擴(kuò)展性。COM接口雖然具有不變性,但是還是可以擴(kuò)展的。COM口通過繼承原有的接口而進(jìn)行擴(kuò)展,但是與面向?qū)ο笾械睦^承不一樣的是接口只繼承說(shuō)明,并不能繼承接口的實(shí)現(xiàn)。標(biāo)識(shí)符??蛻舫晒Φ貏?chuàng)建了COM~個(gè)指向該對(duì)象某個(gè)接口的指針,客戶程序可以通過這個(gè)指針來(lái)訪問這個(gè)接口,從而得到想要的服務(wù)。COM規(guī)范規(guī)定如果一個(gè)COM對(duì)象實(shí)現(xiàn)了多個(gè)接口,那么可以從任意某一個(gè)接32得該對(duì)象提供的所有的服務(wù)(3)COMCOM庫(kù)是COM規(guī)范中唯一實(shí)現(xiàn)的部分,它的存在使得對(duì)象和客戶程序夠在二進(jìn)制代碼級(jí)進(jìn)行交互。這些實(shí)現(xiàn)在WINDOWS系統(tǒng)中以DLL文件的形存在。COM庫(kù)負(fù)責(zé)組件程序的定位。當(dāng)客戶在創(chuàng)建組件對(duì)象時(shí),COM庫(kù)負(fù)7啟動(dòng)組件進(jìn)程或裝入組件模塊,為M對(duì)象創(chuàng)建做好前期的準(zhǔn)備工作【3。啟動(dòng)組件進(jìn)程或裝入組件模塊,為M對(duì)象創(chuàng)建做好前期的準(zhǔn)備工作【3。1。如果客戶是在另一臺(tái)機(jī)器上創(chuàng)建對(duì)象,則兩臺(tái)機(jī)器上的COM庫(kù)會(huì)協(xié)同完成M對(duì)象的創(chuàng)建工作,并在客戶進(jìn)程中創(chuàng)建一個(gè)代理對(duì)象,客戶程序直接與代理對(duì)發(fā)生了變化,客戶程序也不用重新編譯就可以照常使用OPC標(biāo)準(zhǔn)總體OPC數(shù)據(jù)存取規(guī)范描述了由OPC服務(wù)器實(shí)現(xiàn)的OPCCM對(duì)象及相應(yīng)接口的定義。規(guī)范指出多個(gè)OPC客戶程序可以同時(shí)連接到一個(gè)C服務(wù)器上,一個(gè)OPC客戶程序也可以連接多個(gè)不同廠商生產(chǎn)的OPC服務(wù)器程序。OPC然可以有不同的廠商提供,但是他們的接口都是統(tǒng)一的,所不同的是服務(wù)器要由OPC標(biāo)準(zhǔn)可知,OPC服務(wù)器是由服務(wù)器(Server)對(duì)象、組(Group)對(duì)象和項(xiàng)(Item)對(duì)象組成。OPC服務(wù)器對(duì)象除了包含服務(wù)器的信息還作為組對(duì)象的容器而存在,組對(duì)象不僅要包含其自身的信息還要為項(xiàng)對(duì)象的存在提供邏輯組織。OPC組對(duì)象的主要作用是為客戶程序提供一種數(shù)據(jù)的組織方式【36。。在每一個(gè)組對(duì)象中可以定義一個(gè)或多個(gè)C項(xiàng)。C據(jù)源的連接,是OPC從硬件設(shè)備上讀取到的數(shù)據(jù)的存放處。從自定義接口的角度看,OPC客戶程序不能直接訪問OPC項(xiàng)數(shù)據(jù)的。因此,沒有為OPC項(xiàng)定義xraC項(xiàng)相關(guān)的信息有值(alu),品質(zhì)(Qulit)和時(shí)間戳(TieStamp)[37oVARIANT類型,這是WINDWS系統(tǒng)定義的一種數(shù)據(jù)結(jié)構(gòu),品質(zhì)指的是項(xiàng)的內(nèi)在屬性,如數(shù)據(jù)是否有效等,時(shí)間戳則指明了項(xiàng)值產(chǎn)生的時(shí)間。OPC體系結(jié)構(gòu)是客戶/N務(wù)器模式,OPC對(duì)象接口向OPC要實(shí)現(xiàn)一個(gè)OPC服務(wù)器,從物理設(shè)備或其它數(shù)據(jù)源獲取數(shù)據(jù)的速率一般來(lái)講比現(xiàn)場(chǎng)總線要慢,所以O(shè)PC服務(wù)器最好設(shè)計(jì)成一個(gè)本地服務(wù)器,這樣可有效收集物理設(shè)備或數(shù)據(jù)庫(kù)中的數(shù)據(jù)??梢酝ㄟ^OPC客戶端來(lái)對(duì)OPCOP服務(wù)器對(duì)象和組對(duì)象。因?yàn)檫@兩個(gè)對(duì)象能夠被OPC客戶端所識(shí)別,如果沒有這兩個(gè)對(duì)象,C服務(wù)器就沒有存在的必要了。通過實(shí)現(xiàn)這兩種標(biāo)準(zhǔn)的COM服務(wù)器對(duì)象和組對(duì)象。因?yàn)檫@兩個(gè)對(duì)象能夠被OPC客戶端所識(shí)別,如果沒有這兩個(gè)對(duì)象,C服務(wù)器就沒有存在的必要了。通過實(shí)現(xiàn)這兩種標(biāo)準(zhǔn)的COMOPC服務(wù)器對(duì)象是客戶端需要訪問的第一個(gè)對(duì)象??蛻舳送ㄟ^訪問服務(wù)對(duì)象的接口與之進(jìn)行交互。一個(gè)服務(wù)器對(duì)象里可以包含一個(gè)以上的組對(duì)象。服務(wù)器對(duì)象的主要功能為是管理服務(wù)器內(nèi)部的狀態(tài)信息,并且創(chuàng)建和管理組對(duì)象,瀏覽服務(wù)器內(nèi)部的數(shù)據(jù)組織結(jié)構(gòu),將服務(wù)器的錯(cuò)誤代碼翻譯成描述性語(yǔ)句,同步讀寫數(shù)據(jù)等。組對(duì)象的主要作用是組織和管理服務(wù)器內(nèi)部的實(shí)時(shí)數(shù)據(jù)信息,它作為C項(xiàng)對(duì)象的容器而存在。正因?yàn)橛辛私M對(duì)象,OPC應(yīng)用程序就大批量地對(duì)所需要的數(shù)據(jù)同時(shí)進(jìn)行訪問,提高數(shù)據(jù)的訪問效率,當(dāng)然也可以以組為單位啟動(dòng)或停止數(shù)據(jù)訪問。其主要功能為:管理組對(duì)象內(nèi)部的狀態(tài)信息,創(chuàng)建和管理項(xiàng)對(duì)象,進(jìn)行數(shù)據(jù)訪問等。CC異步訪問方式,OPC客戶端向服務(wù)器發(fā)送訪問請(qǐng)求,但是客戶端不用C據(jù)訪問時(shí),觸發(fā)OPC訂閱訪問方式,訂閱不同于同步和異步訪問,因?yàn)檫@兩者都需要客戶端發(fā)送訪問請(qǐng)求,而訂閱方式則是客戶端自動(dòng)接收服務(wù)器送來(lái)變化數(shù)據(jù)的通知。OPC服務(wù)器會(huì)按一定的更新周期來(lái)更新緩沖區(qū)的數(shù)值,一旦發(fā)現(xiàn)緩沖區(qū)數(shù)據(jù)接收的準(zhǔn)備工作BACnet協(xié)議分BACnet(Aforand9BACnet協(xié)議則,BACnet協(xié)議以四個(gè)層次的簡(jiǎn)化分層作為其協(xié)議的主要體系結(jié)構(gòu),這四層相當(dāng)于OSI模型中的物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層,如圖2.2所示。的靈活性【12’14JBACnet協(xié)議層OSI次應(yīng)用層BACnet應(yīng)用BACnet網(wǎng)絡(luò)網(wǎng)絡(luò)IS08802- lMS/TP88IoS20一3[ARCNET[EIA-485IEIA一圖2.2BACnet體系結(jié)物理BACnet應(yīng)用層。應(yīng)用層是BACnet協(xié)議的最具特色的一部分,也是t協(xié)議定義最豐富,最難于實(shí)現(xiàn)的一層。該層的協(xié)議以面向?qū)ο蟮乃紒?lái)設(shè)計(jì),包含應(yīng)用層服務(wù),對(duì)象模型,應(yīng)用層狀態(tài)機(jī)等。與OS—RM的應(yīng)用層相比,它綜合了更多的功能,將OSI.RM的傳輸層,會(huì)話層,表示層和應(yīng)用層四個(gè)層次概括為一個(gè)應(yīng)用層。t標(biāo)準(zhǔn)應(yīng)用層的功能是根據(jù)樓宇自控網(wǎng)絡(luò)的特點(diǎn)對(duì)OSI—M中傳輸層、會(huì)話層、表示層和應(yīng)用層中定義的功能進(jìn)行定制,刪除不必要的功能并將保留的功能進(jìn)行重新合理安排。這樣t要是可靠性傳輸及有關(guān)規(guī)程協(xié)議的定義以及互操作信息抽象語(yǔ)法與傳輸語(yǔ)法的ACet網(wǎng)絡(luò)層。由于互聯(lián)網(wǎng)的龐大和復(fù)雜,SI.M和流量控制是非常復(fù)雜。而樓宇自控網(wǎng)絡(luò)首先是一個(gè)局域網(wǎng),不需要這么復(fù)雜Intere域網(wǎng)絡(luò)。其次,樓宇自控網(wǎng)絡(luò)一般都是比較固定的,一旦施工完成中傳輸大多是開關(guān)量等非常少的數(shù)據(jù)量,因此是“短消息",即使傳輸“長(zhǎng)消",也可由BACnet標(biāo)準(zhǔn)應(yīng)用層的分段機(jī)制來(lái)完成,而不需要網(wǎng)絡(luò)層再做任(3)物理層和數(shù)據(jù)鏈路層。BACnet標(biāo)準(zhǔn)的數(shù)據(jù)鏈路層和物理層與I.中的兩層無(wú)論是在功能上還是在實(shí)現(xiàn)上都是匹配的。物理層傳輸無(wú)結(jié)構(gòu)的比特流,鏈路層實(shí)現(xiàn)無(wú)差錯(cuò)的幀傳輸,并為網(wǎng)絡(luò)層提供服務(wù)。BACnet標(biāo)準(zhǔn)定義了5種具體的物理層和相應(yīng)的數(shù)據(jù)鏈路層,以適應(yīng)不同性能/價(jià)格比的要求【17l于要將BCnet協(xié)議推廣到工業(yè)領(lǐng)域的考慮,在設(shè)計(jì)方案時(shí)將選擇S/PBC低成本上有很好的優(yōu)勢(shì)MS/TP協(xié)議實(shí)時(shí)(1如)傳輸介質(zhì)的接入延遲,具體的說(shuō)就是數(shù)據(jù)鏈路層的控制問題,即MAC效MSTP不場(chǎng)監(jiān)控網(wǎng)絡(luò)的特點(diǎn),提出了一種新的算法,來(lái)保證MS/TP網(wǎng)絡(luò)的實(shí)時(shí)其實(shí)MS/TP鏈路層協(xié)議的調(diào)度機(jī)制比較簡(jiǎn)單,一般是通過控制節(jié)點(diǎn)握牌的時(shí)間來(lái)改變每個(gè)節(jié)點(diǎn)分配的帶寬。其中令牌握有時(shí)間主要是由蛾MM惚的基礎(chǔ)是單個(gè)節(jié)點(diǎn)已知全網(wǎng)各數(shù)據(jù)節(jié)點(diǎn)的負(fù)載,從而動(dòng)態(tài)調(diào)整Ⅳm甜他節(jié)點(diǎn)的報(bào)文請(qǐng)求隊(duì)列負(fù)載值,所以實(shí)際上通過計(jì)算其他節(jié)點(diǎn)負(fù)載比動(dòng)態(tài)改變本節(jié)點(diǎn)的帶寬大小是不可能做到的。因此該算法不能夠應(yīng)用程當(dāng)中,只能作為實(shí)程當(dāng)中,只能作為實(shí)驗(yàn)室騅網(wǎng)絡(luò)性能的一種手段【201性要求,數(shù)據(jù)通信量大小,優(yōu)先級(jí)高低等方面各不相同。要想保證整個(gè)網(wǎng)絡(luò)的實(shí)時(shí)性,就要對(duì)不同的報(bào)文類型進(jìn)行區(qū)別傳送,對(duì)優(yōu)先級(jí)較高的報(bào)文要優(yōu)先進(jìn)行傳送,優(yōu)先級(jí)較低的報(bào)文要推后傳送【221。對(duì)于實(shí)時(shí)性算法,若要其能夠應(yīng)用于實(shí)際,就必須滿足以下情況任何算法的提出都必須保證符合MS/TP協(xié)議的一致性,否則將影響協(xié)議的正常運(yùn)行假設(shè)整個(gè)網(wǎng)絡(luò)負(fù)載為L(zhǎng)oadB笥報(bào)文產(chǎn)生長(zhǎng)度,乃是節(jié)點(diǎn)對(duì)艮文產(chǎn)生間隔,這是一個(gè)對(duì)網(wǎng)絡(luò)負(fù)載性能進(jìn)行評(píng)估公式節(jié)點(diǎn)的延遲要求不同(凈lt0Ⅳ),為滿足周期報(bào)文的延遲限制,則乃必須小于準(zhǔn)周期Tf,和報(bào)文發(fā)送間隔比節(jié)點(diǎn)的延遲要求不同(凈lt0Ⅳ),為滿足周期報(bào)文的延遲限制,則乃必須小于準(zhǔn)周期Tf,和報(bào)文發(fā)送間隔比值為為№2巧 毛=Kff=1.--Nl第二步 發(fā)送窗口大小,.,Qt指在周期T。內(nèi)網(wǎng)絡(luò)平均報(bào)文產(chǎn)生數(shù)(2—第三步:發(fā)送報(bào)文的初相,即發(fā)送報(bào)文的起始時(shí)間,所以Tl(2-BACnet協(xié)議三要由于采用了面向?qū)ο蠓治龊驮O(shè)計(jì)的先進(jìn)方法來(lái)設(shè)計(jì)BACnetCnet協(xié)議中定義了一組標(biāo)準(zhǔn)的對(duì)象類型,來(lái)作為建立t服務(wù)的一種框架。而應(yīng)用層所提供的服務(wù)就是對(duì)這些標(biāo)準(zhǔn)對(duì)象的屬性進(jìn)行操作或訪問。毫無(wú)疑問,對(duì)象(Object)、屬性(Property)和服務(wù)(Service)構(gòu)成24261。(1)BACnet對(duì)象:在BACnet和封裝,所得到的模型就是BACnet對(duì)象模型。它將樓宇自控設(shè)備看作由一定量“基本控制功能單元”所組成的,且任何樓宇自控設(shè)備均可用有限數(shù)量本控制功能單元”進(jìn)行描述和表示。這些“基本控制功能單元’’在BACnet中稱為“對(duì)象(Object)”t對(duì)象,最后所有的樓宇自控系統(tǒng)都可以用這些對(duì)象來(lái)組合,就像搭積木一樣,能夠非??焖偈墙⑵鹨粋€(gè)自控系統(tǒng)12¨AnBAnBC標(biāo)準(zhǔn)中,共定義了23個(gè)標(biāo)準(zhǔn)類型對(duì)象【3一兩t服務(wù):服務(wù)即為對(duì)象的方法,服務(wù)提供了如何訪問和操作這的編碼。從通信的整個(gè)流程來(lái)看,服務(wù)還具有要求接收服務(wù)的環(huán)境對(duì)服務(wù)是否應(yīng)答的消息。從是否應(yīng)答的時(shí)序行為上來(lái)分,服務(wù)可分為“非確認(rèn)服務(wù)(UnconfirmedService)"和“確認(rèn)服務(wù)(ConfirmedService)"兩類。標(biāo)準(zhǔn)中定義了35個(gè)服務(wù),分為6個(gè)類別【j111OPC與BACnet結(jié)合可行性O(shè)PAnOPC效果呢。從以下的幾點(diǎn)分析,我們可以看出,OPC標(biāo)準(zhǔn)與BACnet(1)由于OPC標(biāo)準(zhǔn)的實(shí)現(xiàn)是以COM/DCOM技術(shù)為基礎(chǔ)的,而COM技目前只有WINDOWS操作系統(tǒng)支持,所以O(shè)PC服務(wù)器目前只能運(yùn)行WINDOWS平臺(tái),但是所有的工業(yè)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)都在廠房?jī)?nèi),那將廠房?jī)?nèi)設(shè)備的信息送到監(jiān)控計(jì)算機(jī)里面去,只有這樣OPC服務(wù)器業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)。廠房設(shè)備與計(jì)算機(jī)的連接目前大部分采用的都是現(xiàn)場(chǎng)總線形最常用的現(xiàn)場(chǎng)總線技術(shù)是N總線和PROFIBUS總線。但是現(xiàn)在沒有哪一種總最常用的現(xiàn)場(chǎng)總線技術(shù)是N總線和PROFIBUS總線。但是現(xiàn)在沒有哪一種總線能夠應(yīng)用到所有的工業(yè)控制領(lǐng)域,而各總線因?yàn)閰f(xié)議的不同而無(wú)法實(shí)現(xiàn)互連互通和互操作,這給用戶的選擇帶來(lái)極大的不便。通過前一小節(jié)的分析我們知道,t協(xié)議是面向?qū)ο笤O(shè)計(jì)、獨(dú)立于應(yīng)用的協(xié)議,能夠很好地彌補(bǔ)現(xiàn)場(chǎng)總性的要求高,所以要想將BACnet協(xié)議應(yīng)用到工業(yè)控制領(lǐng)域還需要對(duì)BACnet網(wǎng)絡(luò)實(shí)時(shí)性進(jìn)行相應(yīng)的改進(jìn)。本文在上-d,節(jié)中,已經(jīng)對(duì)BACnet協(xié)議中網(wǎng)絡(luò)的實(shí)時(shí)性進(jìn)行了研究也提出了相應(yīng)的改進(jìn)算法。并且這種改進(jìn)是在tBCneBACnet協(xié)議與OPC標(biāo)準(zhǔn)的結(jié)合對(duì)雙方都是十分有好處的。OPC標(biāo)準(zhǔn)因?yàn)椴捎昧薆ACnet協(xié)議作為其底層數(shù)據(jù)的采集層,可以使OPC服務(wù)器具有更強(qiáng)的通用性和靈活性,使其應(yīng)用不再受底層數(shù)據(jù)采集的限制。對(duì)于BACnet而言,通過在OPCBACn樓宇控制系統(tǒng),這對(duì)BACnet協(xié)議的發(fā)展是十分有好處的本章首先對(duì)OPC標(biāo)準(zhǔn)進(jìn)行了較為深入的研究,分析了OPC標(biāo)準(zhǔn)所采用的COM/DCOM技術(shù),并且對(duì)OPC標(biāo)準(zhǔn)規(guī)范進(jìn)行了研究,了解了OPC服務(wù)器的總體架構(gòu)以及設(shè)計(jì)思路;然后介紹了BACnet的體系結(jié)構(gòu),對(duì)于BACnet實(shí)時(shí)性上的要求提出了一種保證實(shí)時(shí)性的算法,對(duì)BCt協(xié)議的三要素進(jìn)行了仔細(xì)的分析,這對(duì)于后續(xù)章節(jié)中OPC服務(wù)器數(shù)據(jù)采集的設(shè)計(jì)有很大的幫助;最后分析了OPC標(biāo)準(zhǔn)與BACnet協(xié)議相結(jié)合的可行性,為OPC服務(wù)器的設(shè)計(jì)提供了理論上的支第3章BACnetOPC服務(wù)器的設(shè)為了方便對(duì)專第3章BACnetOPC服務(wù)器的設(shè)為了方便對(duì)專業(yè)術(shù)語(yǔ)的描述以及理解,本文將基于BACnet協(xié)議的OPC器簡(jiǎn)稱為OPC服務(wù)器。本章主要研究OPC服務(wù)器的整體設(shè)計(jì)OPC服務(wù)器總體3.1.1系統(tǒng)設(shè)計(jì)需求BACnetOPC服務(wù)器的設(shè)計(jì)必需要能夠滿足工業(yè)監(jiān)控現(xiàn)場(chǎng)的需要,為工業(yè)監(jiān)工業(yè)信息化的發(fā)展作出相應(yīng)的貢獻(xiàn)。為此,本文提出BACnetOPC服務(wù)器的五OPC服務(wù)器作為一種數(shù)據(jù)服務(wù)器,應(yīng)該能夠向其他軟件或系統(tǒng)提供數(shù)據(jù)服務(wù),這是對(duì)OPC服務(wù)器最基本也是最本質(zhì)的要求。所以BCnetOC器也不例外,因此BACnetOPC服務(wù)器必須要實(shí)現(xiàn)OPC標(biāo)準(zhǔn)所定義的接口規(guī)范,從而使得其他監(jiān)控軟件的OPCBACnetOPC為OPC服務(wù)器上已經(jīng)存在了大量的工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù),因此用戶可以在該服務(wù)器上能夠查看這些數(shù)據(jù),并進(jìn)行數(shù)據(jù)分析。這就要求BACnetC較高。因此一個(gè)小型的,功能較為齊全的監(jiān)控軟件不失為他們的最佳選擇(3)BACnetACnt協(xié)議與C不同,因此,要想將BACnet協(xié)議數(shù)據(jù)應(yīng)用于OPC服務(wù)器,這里也必須要有一個(gè)數(shù)據(jù)的轉(zhuǎn)換過程i轉(zhuǎn)換的思路就是要將ACnt協(xié)議與C不同,因此,要想將BACnet協(xié)議數(shù)據(jù)應(yīng)用于OPC服務(wù)器,這里也必須要有一個(gè)數(shù)據(jù)的轉(zhuǎn)換過程i轉(zhuǎn)換的思路就是要將BACnet對(duì)象的數(shù)據(jù)屬性轉(zhuǎn)換為與工業(yè)監(jiān)控軟件相兼容,BACnetOPC服務(wù)器應(yīng)該具有相應(yīng)的數(shù)據(jù)庫(kù)系統(tǒng)是要有內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)。因?yàn)閮?nèi)存數(shù)據(jù)庫(kù)存在于計(jì)算機(jī)內(nèi)存上,實(shí)時(shí)性非常高有利于數(shù)據(jù)的快速傳輸。另外,該服務(wù)器還應(yīng)具有歷史數(shù)據(jù)庫(kù)系統(tǒng),以便綜上所述OPC服務(wù)器應(yīng)該是能夠提供多種功能,滿足不同場(chǎng)合求,非常靈活的一種數(shù)據(jù)服務(wù)器3.1.2根據(jù)上一小節(jié)需求分析,BACnetOPC服務(wù)器的總體架構(gòu)如圖3.1終端電圖OPC服務(wù)器總體框由圖3.1可知,BACnetOP由圖3.1可知,BACnetOPC服務(wù)器有四部分組成:數(shù)據(jù)驅(qū)動(dòng)層、數(shù)據(jù)緩存層、對(duì)外接口層以及數(shù)據(jù)庫(kù)系統(tǒng)。各個(gè)部分之間具有很強(qiáng)的層次性,數(shù)據(jù)驅(qū)動(dòng)層通過S/P網(wǎng)絡(luò)獲得工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù),然后將數(shù)據(jù)送入數(shù)據(jù)緩存層;數(shù)據(jù)緩存層對(duì)數(shù)據(jù)進(jìn)行映射處理,向?qū)ν饨涌趯右约皟?nèi)存數(shù)據(jù)庫(kù)提供數(shù)據(jù)來(lái)源?,F(xiàn)對(duì)數(shù)據(jù)驅(qū)動(dòng)層。該層的主要作用是獲得工業(yè)監(jiān)控現(xiàn)場(chǎng)的數(shù)據(jù),計(jì)算機(jī)與工業(yè)現(xiàn)場(chǎng)設(shè)備通過S/P網(wǎng)絡(luò)連接。數(shù)據(jù)驅(qū)動(dòng)層要完成兩個(gè)功能,一個(gè)是完成工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)與t協(xié)議數(shù)據(jù)的轉(zhuǎn)換,另一個(gè)功能是完成BACet務(wù)對(duì)底層數(shù)據(jù)的讀取工作。數(shù)據(jù)緩存層。從t底層驅(qū)動(dòng)所獲得的數(shù)據(jù)要存儲(chǔ)在緩存層,并進(jìn)行相應(yīng)的轉(zhuǎn)換,即將BACnet協(xié)議數(shù)據(jù)轉(zhuǎn)換為OPC項(xiàng)對(duì)象數(shù)據(jù),同時(shí)在這一層還要為OPC的服務(wù)器對(duì)象和組對(duì)象設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu),以實(shí)現(xiàn)服務(wù)器對(duì)象對(duì)外接口層。該層是OPC服務(wù)器向外提供OPC標(biāo)準(zhǔn)數(shù)據(jù)源的唯一出口,該層必須實(shí)現(xiàn)OPC標(biāo)準(zhǔn)的對(duì)外接口,否則C客戶端將不能獲得該服務(wù)器數(shù)據(jù)驅(qū)動(dòng)層主要完成對(duì)工業(yè)現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)源的讀取。讀取的要求就是必要保證數(shù)據(jù)的實(shí)時(shí)性,這個(gè)已經(jīng)在第二章中得到了論證。讀取數(shù)據(jù)的分為兩個(gè)部分:數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)輸3.2.1工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)與BACent工業(yè)監(jiān)控系統(tǒng)雖然不同于智能樓宇控制系統(tǒng),但是二者都是控制系統(tǒng),在很多方面都有相似之處。對(duì)于數(shù)據(jù)形式而言,在工業(yè)監(jiān)控領(lǐng)域有很多的復(fù)雜的數(shù)是變量的開或關(guān)兩種狀態(tài),如閥門的值、傳送帶的運(yùn)行或停止等,也而在BACnet協(xié)議中,表示數(shù)據(jù)的對(duì)象一共有六種:模擬輸(AnalogInputObjectType,簡(jiǎn)稱AI)、模擬輸出對(duì)象類型(AnalogOutputType,簡(jiǎn)稱AO)、二進(jìn)制輸入對(duì)象類InputOutputObjectType,簡(jiǎn)稱BO)、模擬值對(duì)象類(AnalogValueObjectType,簡(jiǎn)稱AV)、二進(jìn)制值對(duì)象類Type,簡(jiǎn)稱BV)。通過比較可以得知,工業(yè)現(xiàn)場(chǎng)的開關(guān)量數(shù)據(jù)相當(dāng)于表3.1工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)與BACnet數(shù)據(jù)的對(duì)應(yīng)關(guān)BACnet數(shù)據(jù)對(duì)象類開關(guān)BI、AI、狀態(tài)中間由表3.1BACnetBIBACeO,顯示輸出的封裝為AOAIA4狀態(tài)量最大數(shù)值容量的需要;將中間量卦為BACnet協(xié)議中的AV,因?yàn)锳V的數(shù)值占用8法,就可以完成工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)向BACnet數(shù)據(jù)的3.2.2數(shù)據(jù)驅(qū)動(dòng)流程數(shù)據(jù)驅(qū)動(dòng)的過程也就是BACnet應(yīng)用層向數(shù)據(jù)鏈路層索取服務(wù)的過程。驅(qū)動(dòng)流程與BACnetBACnet其他的請(qǐng)求由計(jì)算機(jī)來(lái)完成。BACnet協(xié)議數(shù)據(jù)服務(wù)請(qǐng)求流程即數(shù)據(jù)驅(qū)動(dòng)流程讀取下一設(shè)圖3.2數(shù)據(jù)圖3.2中的設(shè)備指的是BACnet設(shè)備對(duì)象,對(duì)應(yīng)于工業(yè)現(xiàn)場(chǎng)中現(xiàn)實(shí)的工業(yè)設(shè)(1)配置S/P網(wǎng)絡(luò),這包括定義網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)號(hào)、配置串口或口的屬性、MAC地址、最大連接數(shù)等MS/TP網(wǎng)絡(luò)參數(shù),這些參數(shù)對(duì)于調(diào)節(jié)網(wǎng)絡(luò)的實(shí)時(shí)性有很大的幫助,用戶可以根據(jù)自己的需求選擇適合自己的參數(shù),從而避免對(duì)網(wǎng)絡(luò)資源的浪費(fèi)中所有設(shè)備的設(shè)備號(hào),所有的設(shè)備號(hào)保存在設(shè)備列表中以供使用態(tài)則轉(zhuǎn)入步驟(4信息,并將該信息存儲(chǔ)在變量信息列表中,以供OPC服務(wù)器來(lái)使用。讀信息,并將該信息存儲(chǔ)在變量信息列表中,以供OPC服務(wù)器來(lái)使用。讀根設(shè)計(jì)服務(wù)器對(duì)象和組對(duì)象3.3.1BACnet數(shù)據(jù)轉(zhuǎn)換為oPC數(shù)BACnet協(xié)議所獲得的數(shù)據(jù)具有以下幾個(gè)屬性:數(shù)據(jù)所屬的設(shè)備的設(shè)備號(hào)(DevicelD)、數(shù)據(jù)所屬的數(shù)據(jù)類型(DataType)、數(shù)據(jù)的標(biāo)識(shí)號(hào)(Objectl)、以及數(shù)據(jù)所對(duì)應(yīng)的值(ae1】。t數(shù)據(jù)必須轉(zhuǎn)換為C項(xiàng)對(duì)象才能供服務(wù)器所使用,而C項(xiàng)對(duì)象,也被稱為標(biāo)簽(Tag),具有值(Valu)、品質(zhì)(Quality)、時(shí)間戳(TimesStamp)三個(gè)基本屬性。其中值的類型為VARINAT,表示實(shí)際的數(shù)值,品質(zhì)則標(biāo)識(shí)數(shù)值是否有效,時(shí)間戳則反應(yīng)了從設(shè)備讀取數(shù)據(jù)的時(shí)間或服務(wù)器刷新數(shù)據(jù)存儲(chǔ)區(qū)的時(shí)間。因此、必須要設(shè)計(jì)一種數(shù)據(jù)結(jié)構(gòu),能夠同時(shí)兼容BACnet協(xié)議數(shù)據(jù)與OPC數(shù)據(jù)的屬性,并且還應(yīng)具有顯示特性。用這種數(shù)據(jù)結(jié)構(gòu)來(lái)緩存所得到的數(shù)據(jù),可以很好地實(shí)現(xiàn)BACnt數(shù)據(jù)與OPC數(shù)據(jù)的映射。這種數(shù)據(jù)結(jié)構(gòu)可以設(shè)計(jì)成為一個(gè)結(jié)構(gòu)體。結(jié)構(gòu)的定義如下所示typedefstruct{//設(shè)備//類型//數(shù)據(jù)標(biāo)識(shí)//OPC//OPC//OPC//OPC項(xiàng)的時(shí)間該結(jié)構(gòu)體除了包含BACet與OPC的數(shù)據(jù)屬性,而且還增加了一個(gè)OPC項(xiàng)名稱的屬性,增加該屬性的目的是為了在服務(wù)器的界面顯示上能夠很好地展示OPC所具有的數(shù)據(jù)項(xiàng)。vARIN該結(jié)構(gòu)體除了包含BACet與OPC的數(shù)據(jù)屬性,而且還增加了一個(gè)OPC項(xiàng)名稱的屬性,增加該屬性的目的是為了在服務(wù)器的界面顯示上能夠很好地展示OPC所具有的數(shù)據(jù)項(xiàng)。vARINT類型是WINDWS系統(tǒng)定義的一種數(shù)據(jù)類型,它的T屬性指明了該值所屬的類型,如整型、字符型、符點(diǎn)型、字節(jié)型等。正因?yàn)槿绱?,則可以很方便的將BACnet對(duì)象數(shù)據(jù)轉(zhuǎn)換成OPC項(xiàng)對(duì)象數(shù)據(jù)。轉(zhuǎn)換方式是將BACnet中的BI、BO轉(zhuǎn)換成VT屬性為字節(jié)型的VARIANT類型的量,將AI、AO轉(zhuǎn)換為T屬性為符點(diǎn)型的VRIAT類型的變量,將AV轉(zhuǎn)換為VVARIAT類型的變量。因?yàn)橐粋€(gè)結(jié)構(gòu)體只能表示一個(gè)數(shù)據(jù),而服務(wù)器要處理的數(shù)據(jù)是大量的,那么織呢,考慮到服務(wù)器配置的時(shí)候有可能會(huì)增加或者刪除某個(gè)OPC3.3.2服務(wù)器對(duì)象OPCServer類設(shè)OCSevr類實(shí)現(xiàn)C服務(wù)器對(duì)象。它的主要功能是對(duì)組對(duì)象的創(chuàng)建進(jìn)行管理,并且提供在枚舉時(shí)使用的組對(duì)象快照。另外,OPC服務(wù)器對(duì)象還是組對(duì)示m宰OPCServer類維護(hù)所有接口的引用生存周期,這是通過管理接口的引用計(jì)數(shù)來(lái)實(shí)現(xiàn)的,當(dāng)有使用接151時(shí),引用計(jì)數(shù)加l,當(dāng)使用完接口時(shí)引用計(jì)算減1。當(dāng)引用數(shù)為0后,就可以釋放服務(wù)器對(duì)象中該接口的指針GenerateTransaction(DWORD幸LPOLESTR*幸GroupList,int木LPOLESTR*幸GroupList,int木圍查到的當(dāng)前組對(duì)象列表,從而確定組對(duì)象的屬性在OPCGroupist結(jié)構(gòu)體中列舉了該OPCServer所包含的組對(duì)象。它包括一個(gè)顯示該組對(duì)象是由存在的指示器和組對(duì)象的接口指針。OCSeverOPCServer類接口的全部功能將由IRealOPCServer類實(shí)現(xiàn),其都嚴(yán)格遵守OPC規(guī)范。它通過一個(gè)溯源指針(OPCSerVer毒OPCServer交互3.3.3組對(duì)象OPCGroup類設(shè)OPC組對(duì)象是OPC項(xiàng)對(duì)象的包含容器,因此它管理著對(duì)OPCOPC組對(duì)象擁有很多輔助函數(shù)來(lái)實(shí)現(xiàn)模塊化功能。OPCGroup事奉m·m幸事·m事事木士OPCGroup中定義了異步、同步通信時(shí)所需OPCGroup中定義了異步、同步通信時(shí)所需的變量和功能函數(shù),它也包含一枚舉對(duì)象的結(jié)構(gòu),對(duì)項(xiàng)對(duì)象的控制就是通過該結(jié)構(gòu)來(lái)完IRealOPCItemMgt類與IRealOPCServer的功能相似,唯一的不在OPCGroup內(nèi)管理項(xiàng),而IRealOPCServer是在OPCPCSeⅣer內(nèi)管理OPCGroup。該類實(shí)現(xiàn)IOPCItemMgt的所有方法,并提供一個(gè)溯源變量木parenO用來(lái)與其所屬的OPCGroupIRealOPCSynclO類實(shí)現(xiàn)IOPCSynclO接口的所有方法,該接口項(xiàng)對(duì)象數(shù)據(jù)的同步讀寫,并提供一個(gè)溯源變量與所屬的OPCGroup所屬的OPCGroup類相關(guān)個(gè)溯源變量與所屬的OPCGroup對(duì)外接口層是OPC服務(wù)器對(duì)外提供標(biāo)準(zhǔn)OPC數(shù)據(jù)服務(wù)器最關(guān)鍵的一部分,該部分所有的接口都已經(jīng)由OPC標(biāo)準(zhǔn)定義好了,開發(fā)者只要實(shí)現(xiàn)它就行了。但是只實(shí)現(xiàn)對(duì)外接口是不能完成OPC服務(wù)器對(duì)外提供數(shù)據(jù)功能,還需要對(duì)該接口層進(jìn)行輔助的設(shè)計(jì),比如對(duì)外接口的配置、客戶端訪問流程設(shè)計(jì)等【403.4.1對(duì)外接口配置功能設(shè)對(duì)外接口的配置功能主要是對(duì)服務(wù)器的各個(gè)參數(shù)以及運(yùn)行狀態(tài)進(jìn)行設(shè)定,其主要目的是為了向外界提供更好的接口服務(wù),這些配置的實(shí)現(xiàn)主要是由用戶通過界面進(jìn)行操作來(lái)實(shí)現(xiàn)的,當(dāng)然也可由服務(wù)器來(lái)自動(dòng)完成。這五項(xiàng)功能作詳細(xì)介紹注冊(cè)/注銷服務(wù)器:因?yàn)镺PC服務(wù)器是基于OLE/COM/DCOM技術(shù),所以只能運(yùn)行在WINDOWS系統(tǒng),為了使客戶端軟件能夠訪問到OPCOPC從系統(tǒng)中注銷。OPC從系統(tǒng)中注銷。圖3-3激活標(biāo)簽:只有被激活的標(biāo)簽,客戶端才能訪問到對(duì)應(yīng)的實(shí)時(shí)的數(shù)據(jù),否則是不一樣的。因此,為了增加服務(wù)器的靈活性,需要對(duì)刷新周期進(jìn)行設(shè)3.4.2數(shù)據(jù)訪問的流程設(shè)開發(fā)者可以根據(jù)自身的需求對(duì)接口進(jìn)行實(shí)現(xiàn)。那么實(shí)現(xiàn)接口就要考慮到客程序訪問數(shù)據(jù)的流程方式,因?yàn)椴煌脑L問數(shù)據(jù)流程對(duì)于數(shù)據(jù)的訪問一樣的【42舢】。訪問流程要力爭(zhēng)簡(jiǎn)捷,本文結(jié)合一樣的【42舢】。訪問流程要力爭(zhēng)簡(jiǎn)捷,本文結(jié)合工業(yè)監(jiān)控現(xiàn)場(chǎng)的實(shí)際情況.對(duì)于數(shù)據(jù)訪問流程進(jìn)行了較為合理的設(shè)計(jì)??蛻舫绦蛟L問數(shù)據(jù)流程如下所示(1)啟動(dòng)OPC服務(wù)器,一般OPC動(dòng)而自動(dòng)啟動(dòng)。當(dāng)然設(shè)計(jì)中也考慮到了可以讓用戶手動(dòng)啟動(dòng)或注銷服務(wù)器啟動(dòng)以后,等待客戶端的連接請(qǐng)求,一旦發(fā)現(xiàn)有客戶端要連接到服務(wù)器上,此時(shí)服務(wù)器將會(huì)創(chuàng)建服務(wù)器對(duì)象。服務(wù)器對(duì)象將承載客戶進(jìn)一步服務(wù)器啟動(dòng)以后,等待客戶端的連接請(qǐng)求,一旦發(fā)現(xiàn)有客戶端要連接到服務(wù)器上,此時(shí)服務(wù)器將會(huì)創(chuàng)建服務(wù)器對(duì)象。服務(wù)器對(duì)象將承載客戶進(jìn)一步刪除項(xiàng)對(duì)象的功能函數(shù),對(duì)項(xiàng)對(duì)象進(jìn)行添加/刪除操作。操作完成以后服務(wù)器返回到狀態(tài)如果請(qǐng)求行為是設(shè)置項(xiàng)的狀態(tài),服務(wù)器將首先根據(jù)請(qǐng)求參數(shù)找到該項(xiàng)對(duì)象,然后對(duì)項(xiàng)對(duì)象的狀態(tài)進(jìn)行設(shè)置。設(shè)置的結(jié)果以函數(shù)返回參數(shù)的方式返回。如果成功返回0,如果失敗返回相應(yīng)的代碼編號(hào)。操作完成以后,服務(wù)器返回到(2如果客戶端請(qǐng)求行為是斷開連接請(qǐng)求,此時(shí)服務(wù)器將會(huì)根據(jù)引用計(jì)數(shù)來(lái)判斷是否還有客戶端其他的數(shù)據(jù)請(qǐng)求沒有完成。如果引用計(jì)數(shù)不為00,則進(jìn)入狀態(tài)(9)。已經(jīng)與服務(wù)器斷開連接基本上所有的監(jiān)控軟件都帶有數(shù)據(jù)庫(kù)系統(tǒng),這是因?yàn)楝F(xiàn)在工業(yè)現(xiàn)場(chǎng)要的數(shù)據(jù)量越來(lái)越大,而數(shù)據(jù)的組織形式也越來(lái)越復(fù)雜,不只要獲取單一的E.R實(shí)體分為保證數(shù)據(jù)庫(kù)的設(shè)計(jì)更具有通用性,能夠和BCet協(xié)議與OPC容,就必須對(duì)工業(yè)現(xiàn)場(chǎng)的所有實(shí)體做最高級(jí)別的抽象,使其獨(dú)立于具體的應(yīng)用。工業(yè)現(xiàn)場(chǎng)中最高級(jí)別的抽象就是設(shè)備,因?yàn)樗械墓I(yè)數(shù)據(jù)都在設(shè)備之上。根據(jù)t協(xié)議標(biāo)準(zhǔn),設(shè)備其實(shí)也是一種對(duì)象,但是設(shè)備上還包含有數(shù)據(jù)對(duì)象和其實(shí)體關(guān)系圖如圖3.5圖3.5工業(yè)系統(tǒng)E—R實(shí)體關(guān)系而只從屬于一個(gè)設(shè)備,也就是說(shuō)設(shè)備與數(shù)據(jù)對(duì)象之間是1:N的關(guān)系;同樣道理,說(shuō)設(shè)備與報(bào)警對(duì)象之間是1:N的關(guān)系3.5.2根據(jù)E.R實(shí)體關(guān)系圖,可以確定數(shù)據(jù)庫(kù)表的結(jié)構(gòu),即系統(tǒng)至少需要三個(gè)表:記錄工業(yè)現(xiàn)場(chǎng)的人員信息。段如表3.2所示主數(shù)據(jù)要設(shè)備Dev非4設(shè)備非64字(2)數(shù)據(jù)對(duì)象表,由于設(shè)備對(duì)象與數(shù)據(jù)對(duì)象是l:N系劃分原則,在數(shù)據(jù)對(duì)象表中要有設(shè)備對(duì)象的3.5.2根據(jù)E.R實(shí)體關(guān)系圖,可以確定數(shù)據(jù)庫(kù)表的結(jié)構(gòu),即系統(tǒng)至少需要三個(gè)表:記錄工業(yè)現(xiàn)場(chǎng)的人員信息。段如表3.2所示主數(shù)據(jù)要設(shè)備Dev非4設(shè)備非64字(2)數(shù)據(jù)對(duì)象表,由于設(shè)備對(duì)象與數(shù)據(jù)對(duì)象是l:N系劃分原則,在數(shù)據(jù)對(duì)象表中要有設(shè)備對(duì)象的屬性。對(duì)象表如表3.3所示表3—3對(duì)象數(shù)據(jù)表對(duì)象對(duì)象數(shù)據(jù)類長(zhǎng)要求說(shuō)主4非空4非空設(shè)備4當(dāng)前實(shí)8非描狀態(tài)標(biāo)l事件標(biāo)lOut脫離服1非空單8非空8COV8非COV增量屬實(shí)(3)報(bào)警對(duì)象表,由于設(shè)備對(duì)象與數(shù)據(jù)對(duì)象是1:N域數(shù)據(jù)類要求說(shuō)報(bào)警整非空主4Dev整非空4日8報(bào)警時(shí)8報(bào)警類整非報(bào)警描字報(bào)警優(yōu)8整1布確認(rèn)標(biāo)l非布(3)報(bào)警對(duì)象表,由于設(shè)備對(duì)象與數(shù)據(jù)對(duì)象是1:N域數(shù)據(jù)類要求說(shuō)報(bào)警整非空主4Dev整非空4日8報(bào)警時(shí)8報(bào)警類整非報(bào)警描字報(bào)警優(yōu)8整1布確認(rèn)標(biāo)l非布(4表3.5實(shí)時(shí)信息表域變量數(shù)據(jù)類要求所屬設(shè)備所屬對(duì)象Dev4非空主非空字主非空Obj——主非空4非空最大Max——44Min——4優(yōu)先整非本章首先對(duì)BACnetOPC第4章BACnetOPC由于OPC技第4章BACnetOPC由于OPC技術(shù)是基于微軟的0L劇cOM/DcOM技術(shù),因此對(duì)OPC開發(fā)可以采用微軟的v+6.0開發(fā)工具。根據(jù)結(jié)構(gòu)化程序設(shè)計(jì)思想以及本服務(wù)器的需求,程序?qū)崿F(xiàn)應(yīng)該分為四大塊;程序界面實(shí)現(xiàn)、BACnet模塊實(shí)現(xiàn)、OPC服務(wù)器模塊實(shí)現(xiàn)和數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)。程序界面主要是顯示服務(wù)器的狀態(tài),并為用戶提供友好的人機(jī)交互的接口,咀方便用戶對(duì)服務(wù)器進(jìn)行操作。Bnt模塊實(shí)現(xiàn)主要是對(duì)數(shù)據(jù)驅(qū)動(dòng)模塊進(jìn)行實(shí)現(xiàn)。OPC服務(wù)器模塊主要實(shí)現(xiàn)數(shù)據(jù)緩存部分和OPC的對(duì)外接[1部分。數(shù)據(jù)庫(kù)系統(tǒng)部分主要實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的設(shè)計(jì)。為了使服BACnet模塊和BACnetdll和OPCSvr.dll4.1.1菜單欄/工具欄:主要為了操作BACrtet底層數(shù)據(jù)驅(qū)動(dòng)和配置OPC提供的用戶接口,這些接口簡(jiǎn)單、實(shí)用,操作起來(lái)非常方便,給用戶'f三到數(shù)據(jù)的實(shí)時(shí)值,因此在實(shí)時(shí)數(shù)據(jù)顯示區(qū)顯示數(shù)據(jù)的實(shí)時(shí)值以及其OPC屬性,其中最主要的屬性就是獲得數(shù)據(jù)的時(shí)間。BACneI模塊實(shí)數(shù)據(jù)驅(qū)動(dòng)模塊主要是利用BCet協(xié)議提供的服務(wù)機(jī)制實(shí)現(xiàn)S/TP動(dòng)工業(yè)現(xiàn)場(chǎng)設(shè)備的功能。按著數(shù)據(jù)驅(qū)動(dòng)流程.首先實(shí)現(xiàn)S/P網(wǎng)絡(luò)配置,然后罄鎣盤霞■圈瞳酋■鞠曹醴童■瞄■睡瞄醢目 r_————日镕日圉4.2網(wǎng)絡(luò)配置武漢理12太學(xué)碩士學(xué)位武漢理12太學(xué)碩士學(xué)位論Ts廠rP需要配置的幾個(gè)參數(shù)。網(wǎng)絡(luò)名是BACnctBACetBCnetMSffP網(wǎng)卡目USBMACs,r網(wǎng)卡的地址,最大連接數(shù)指的是Ms,rP網(wǎng)絡(luò)能承載的最』=節(jié)點(diǎn)數(shù)。最大幀長(zhǎng)度指的是應(yīng)用層編碼幀的最大字節(jié)數(shù),一般為125個(gè)字節(jié)掃描網(wǎng)絡(luò)是用戶通過菜單欄的掃描網(wǎng)絡(luò)命令來(lái)實(shí)現(xiàn)的,該命令的實(shí)質(zhì)用BACnet應(yīng)用層掃描網(wǎng)絡(luò)的服務(wù)。該服務(wù)的描述如下所示intbacnapiBACNAPI函數(shù)的出口參數(shù)是設(shè)備號(hào)列表,里面存有設(shè)備標(biāo)識(shí)符、生產(chǎn)商標(biāo)識(shí)息,調(diào)用成功函數(shù)返回0,調(diào)用失敗返回錯(cuò)誤型,如I、O、I、O等:然后就是讀取對(duì)象的范圍,是讀一個(gè)還是讀多個(gè)4.1.3OPCOPC服務(wù)器中關(guān)于OPC標(biāo)準(zhǔn)接口的實(shí)現(xiàn)通過Tear-4.1.3OPCOPC服務(wù)器中關(guān)于OPC標(biāo)準(zhǔn)接口的實(shí)現(xiàn)通過Tear-o印4”技術(shù)米完成。f技術(shù)只實(shí)例化OPC標(biāo)準(zhǔn)接口中必須宴例化的部分即IUnnown接口,而其他接口將不會(huì)被實(shí)例化。只有當(dāng)有客戶請(qǐng)求需要實(shí)例化這部分代碼時(shí)才會(huì)去實(shí)例化??蛻舫绦蛑粫?huì)頻繁地調(diào)用它所需要的接【】,而對(duì)它不關(guān)心的接口可能一次也不會(huì)調(diào)用。因此,如果要實(shí)例化OPC所有的接口,將會(huì)增加系統(tǒng)開銷,造成不必要的浪OPC標(biāo)準(zhǔn)接口的實(shí)現(xiàn)可以分為以下幾步來(lái)完成實(shí)現(xiàn)OPCServer類、OPCGroup類和OPCTag4_4]口拄 0{℃表不需睦取黃姑魄標(biāo)1代襲當(dāng)盲r需里鞋取z4e.確取I圖4—4設(shè)置標(biāo)簽類型界武漢理丁大學(xué)碩士武漢理丁大學(xué)碩士當(dāng)用戶決定需要螨時(shí)增加對(duì)某一設(shè)備中某個(gè)變量的訪問,這時(shí)就需要要圖4.5添加4.1.4而且該數(shù)據(jù)庫(kù)系統(tǒng)只是一種添加的功能,不屬于OPC服務(wù)器的主體部分。因此文選擇MySQL數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)管理系統(tǒng)的支撐。之所|三I選擇MySQL數(shù)據(jù)主要基于以下幾點(diǎn)考慮MySQL數(shù)據(jù)庫(kù)的存儲(chǔ)速度非常快.并且結(jié)構(gòu)簡(jiǎn)單,安裝方便,數(shù)據(jù)存儲(chǔ)的容量也很大。雖然MySQL在其他性能上比不上那些大型數(shù)據(jù)庫(kù),但是在工業(yè)監(jiān)控領(lǐng)域,使用MySQLMySQL于內(nèi)存數(shù)據(jù)庫(kù).對(duì)內(nèi)存讀取數(shù)于內(nèi)存數(shù)據(jù)庫(kù).對(duì)內(nèi)存讀取數(shù)據(jù)的速度將非???,能夠滿足工業(yè)現(xiàn)場(chǎng)時(shí)陛的要求。因此,本系統(tǒng)就不需要再開發(fā)單獨(dú)的內(nèi)存數(shù)據(jù)庫(kù)系(3)MySQL數(shù)據(jù)庫(kù)是款開源的軟件系統(tǒng),用戶可以根據(jù)自身的需求對(duì)數(shù)據(jù)庫(kù)功能進(jìn)行修改,具有很大的靈活性。另外,由于是開源,所以是免費(fèi)的,這樣就降低了企業(yè)的成本以MySQL作為數(shù)據(jù)庫(kù)系統(tǒng)的支撐,只需要將設(shè)計(jì)好的數(shù)據(jù)庫(kù)袁在數(shù)據(jù)庫(kù)中進(jìn)行實(shí)現(xiàn),就能完成數(shù)據(jù)庫(kù)的設(shè)計(jì)功能。當(dāng)然,同時(shí)要為數(shù)據(jù)庫(kù)訪問6顯示了對(duì)數(shù)據(jù)庫(kù)表的實(shí)現(xiàn)通過卜一節(jié)的開發(fā)實(shí)現(xiàn),BACnetOPC服務(wù)器的開發(fā)部分已經(jīng)完成。但這并不意味著所有工作的結(jié)束。開發(fā)完成以后,理所當(dāng)然要進(jìn)行測(cè)試,以對(duì)開發(fā)的結(jié)果進(jìn)行驗(yàn)證。本小節(jié)將從四個(gè)方面對(duì)BACnetOPC服務(wù)器進(jìn)行測(cè)試,首先測(cè)試MS/TP網(wǎng)絡(luò)實(shí)時(shí)性測(cè)假設(shè)MS/TP網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量Ⅳ為10,節(jié)點(diǎn)從0到MS/TP網(wǎng)絡(luò)實(shí)時(shí)性測(cè)假設(shè)MS/TP網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量Ⅳ為10,節(jié)點(diǎn)從0到9的周期報(bào)文最大允許遲蛾分別為O.7,0.6,1.1,1.3,1.4,1.5,1.7,2.0,2.3,2.8(單位S)。根乃=疹SK2{1,l,1,2,2,2,3,3,4,4>t網(wǎng)絡(luò)節(jié)點(diǎn)周期報(bào)文產(chǎn)生的間隔情況如圖4.7報(bào)文,使得令牌輪詢周期中,整個(gè)報(bào)文的窗口大小始終保持在6了令牌輪詢周期n玎的抖動(dòng),使得其他節(jié)點(diǎn)能及時(shí)獲取令牌,從而保證了全網(wǎng)邏亞?節(jié)點(diǎn):&?旦?叟一叟?旦?曼一叟?殳一凸億砘如.心嘲節(jié)點(diǎn)&??一旦??叟??叟??凸¨.。。.~節(jié)點(diǎn)t迎??一??????m.s叟??妙俳池.。鋤。節(jié)點(diǎn)。?一旦??一叟??.叟??曼節(jié)點(diǎn),?一叟??一業(yè)??一旦??殳?帆.:一一節(jié)點(diǎn)8??.T8節(jié)點(diǎn)9一旦一h圖4.7MS題,進(jìn)一步增強(qiáng)了網(wǎng)絡(luò)的可靠性和實(shí)時(shí)性,最重要的是該算法符合工程實(shí)踐的應(yīng)用條件,具有現(xiàn)實(shí)意義4.2.2服務(wù)器數(shù)據(jù)訪問量測(cè)服務(wù)器的數(shù)據(jù)訪問量表明了服務(wù)器吞吐數(shù)據(jù)的能力,是數(shù)據(jù)服務(wù)器的非常重要的指標(biāo)。本章通過逐步加大數(shù)據(jù)訪問量的方式,來(lái)對(duì) OPC服圖4—8服務(wù)器數(shù)據(jù)訪問圖4—8服務(wù)器數(shù)據(jù)訪問從圖48中可以看出.當(dāng)數(shù)據(jù)量比較少時(shí),服務(wù)器的響應(yīng)時(shí)間非??欤?dāng)數(shù)據(jù)量大約在100-10000個(gè)的時(shí)候,服務(wù)器的響應(yīng)時(shí)間基本上穩(wěn)定在800ms左右,這是因?yàn)镺PC服務(wù)器的數(shù)據(jù)讀取是以組為單位,所以在組所能容納的范圍之內(nèi),響應(yīng)速度基本上差不多。但是當(dāng)服務(wù)器的數(shù)據(jù)訪問量增大到15000左右時(shí),服務(wù)器的響應(yīng)時(shí)間達(dá)到了3500ms,這說(shuō)明服務(wù)器的性能大幅F降。因此,通過測(cè)試可以肯定,服務(wù)器的最大數(shù)據(jù)容量為10000個(gè)。這個(gè)數(shù)據(jù)與大型監(jiān)控軟件相4.2.3本地監(jiān)控軟件它具有監(jiān)控軟件所應(yīng)具有的基本功能,用戶能夠在該服務(wù)器上查看工業(yè)現(xiàn)場(chǎng)的實(shí)BCaetOPC圖4-9OPC武議理工大學(xué)碩士從圖49況,并且也能夠很好地顯示出數(shù)據(jù)的值及其變化,根據(jù)測(cè)算,數(shù)據(jù)在本地服務(wù)100as,武議理工大學(xué)碩士從圖49況,并且也能夠很好地顯示出數(shù)據(jù)的值及其變化,根據(jù)測(cè)算,數(shù)據(jù)在本地服務(wù)100as,4.2.4第三方軟件測(cè)第三方軟件測(cè)試包含兩方面的內(nèi)容,一個(gè)測(cè)試OPC服務(wù)器向OPC供標(biāo)準(zhǔn)OPC數(shù)據(jù)服務(wù)器的測(cè)試.另一個(gè)則是測(cè)試遠(yuǎn)程監(jiān)控對(duì)本地?cái)?shù)據(jù)庫(kù)系統(tǒng)的(1)OPCOPC客戶端讀取服務(wù)器數(shù)據(jù)測(cè)試首先要測(cè)試能否讀到本服務(wù)器上的數(shù)然后再測(cè)試讀到的數(shù)據(jù)的變化速率是否滿足要求。只有這兩點(diǎn)都達(dá)到了,才能保證OPC服務(wù)器提供的數(shù)據(jù)服務(wù)是合格的。OPC客戶端讀取數(shù)據(jù)效果如圖4—所示。從圖可以看出,OPC客戶端能夠讀取本服務(wù)器的數(shù)據(jù),并且數(shù)據(jù)的變化茹目∞目口#d《d黧瓣瓣雨??~~口??w‘5口?¨I霜蕊r篙焉崔溢囂m焉凳器器m纛黼百圖4一10OPC客戶端讀取服務(wù)器數(shù)(2r~一-一r~一-一一o遍運(yùn)篷量盈醫(yī)受壁囊:=.一:=。乏:矗日a翟&翟g口目_《■i墨《目t&警§j目岱∞■■目l面:玉。圖4-11遠(yuǎn)程監(jiān)控系統(tǒng)訪問數(shù)據(jù)本章首先闡述了OPC服務(wù)器的實(shí)現(xiàn)思路,然后從四個(gè)方面:界面分、BACnet數(shù)據(jù)驅(qū)動(dòng)部分、服務(wù)器模塊實(shí)現(xiàn)部分、數(shù)據(jù)庫(kù)系統(tǒng)對(duì)OPC行了編碼實(shí)現(xiàn),接著對(duì)服務(wù)器的各項(xiàng)指標(biāo)和性能進(jìn)行了測(cè)試。測(cè)試結(jié)果表明本文所設(shè)計(jì)的服務(wù)器完全能達(dá)到要求。至此,BACnetOPC服務(wù)器的開發(fā)工作已經(jīng)基本上完成第5章總結(jié)與第5章總結(jié)與OPC標(biāo)準(zhǔn)是在工業(yè)監(jiān)控領(lǐng)域的一種新興標(biāo)準(zhǔn),它的出現(xiàn)很好地解決了工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)不能與企業(yè)生產(chǎn)管理和經(jīng)營(yíng)管理的數(shù)據(jù)進(jìn)行交互的問題,有效地避免了“信息孤島"現(xiàn)象。但是OPC服務(wù)器一般采用現(xiàn)場(chǎng)總線對(duì)工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采集,而現(xiàn)場(chǎng)總線由于廠商不同導(dǎo)致通信協(xié)議不同從而造成了不同廠商的現(xiàn)場(chǎng)總線數(shù)據(jù)不能互通。而Ant協(xié)議具有很好的開放性和通用性,其最大的優(yōu)點(diǎn)就是獨(dú)立于應(yīng)用,實(shí)現(xiàn)樓宇設(shè)備間的互連互通,是樓宇自控網(wǎng)絡(luò)領(lǐng)域的通用標(biāo)準(zhǔn)。因此將Ant協(xié)議引入到工業(yè)監(jiān)控領(lǐng)域,能有效地解決現(xiàn)場(chǎng)總路線所存在的問題。C標(biāo)準(zhǔn)與BACet協(xié)議相結(jié)合,將會(huì)使C服務(wù)器具有更強(qiáng)的通用性,同時(shí)對(duì)“管控一體化”的發(fā)展具有現(xiàn)實(shí)意義。本文深入研究了OPC規(guī)范和BACnet協(xié)議標(biāo)準(zhǔn),并從理論上認(rèn)證了二者結(jié)合的可能性和必要性。在此基礎(chǔ)之上提出了基于BACnet協(xié)議OPC服務(wù)器的總體設(shè)計(jì)方案,并按設(shè)計(jì)方案對(duì)服務(wù)器的各個(gè)部分進(jìn)行了實(shí)現(xiàn),完成服務(wù)器的編碼工作。最后對(duì)服務(wù)器的各項(xiàng)指標(biāo)和性能進(jìn)行測(cè)試,測(cè)試結(jié)果表明服務(wù)器達(dá)到了設(shè)計(jì)要求。本服務(wù)器在廣東省產(chǎn)學(xué)研合作項(xiàng)目中得了應(yīng)用,反應(yīng)良好?,F(xiàn)將服務(wù)器進(jìn)行論證與設(shè)計(jì)。為適應(yīng)工業(yè)監(jiān)控的需求,在原有算法的基礎(chǔ)之上提出了重點(diǎn)對(duì)BACnetOPC服務(wù)器進(jìn)行了設(shè)計(jì),使用結(jié)構(gòu)化設(shè)計(jì)方器的總體設(shè)計(jì)劃分為四個(gè)部分,并分別對(duì)這四個(gè)部分進(jìn)行了詳細(xì)的設(shè)計(jì)和論證以保證設(shè)計(jì)的可行性(3)利用Tear-off技術(shù)實(shí)現(xiàn)了OPC標(biāo)準(zhǔn)接口的開發(fā),分別利用VC6.0工和MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)了服務(wù)器界面和數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)。最后對(duì)服務(wù)器進(jìn)行測(cè)試,結(jié)果表明設(shè)計(jì)達(dá)到了預(yù)期效果OPC標(biāo)準(zhǔn)和BOPC標(biāo)準(zhǔn)和BACnet協(xié)議都是開放式的、具有通用性的協(xié)議標(biāo)準(zhǔn),隨著信息技術(shù)的不斷發(fā)展,以及協(xié)議本身的不斷完善,它們將會(huì)在工業(yè)控制領(lǐng)域發(fā)揮著越來(lái)越重要的作用。本文雖然完成了服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn),但是仍然有以下幾OPC標(biāo)準(zhǔn)的其他規(guī)范進(jìn)行實(shí)現(xiàn),如OPC報(bào)警與事件處理規(guī)范、OPC(2)對(duì)于BACnet的參考文[1高強(qiáng),張亮,李月風(fēng).基于OPC技術(shù)的虛擬DCS監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J】.自動(dòng)化【2柴凱,侯立剛,姜軍銀.OPC技術(shù)在工業(yè)過程控制中的應(yīng)用研究[J】.工業(yè)儀表置,2005(3):70—董春橋.智能樓宇BACnet原理與應(yīng)用.北京:電子工業(yè)出版社[M】,2003:159—pFoundation.OPCOverviewDefinitionsand1.O[S】,1998.1p眵FoundationDataAccess參考文[1高強(qiáng),張亮,李月風(fēng).基于OPC技術(shù)的虛擬DCS監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J】.自動(dòng)化【2柴凱,侯立剛,姜軍銀.OPC技術(shù)在工業(yè)過程控制中的應(yīng)用研究[J】.工業(yè)儀表置,2005(3):70—董春橋.智能樓宇BACnet原理與應(yīng)用.北京:電子工業(yè)出版社[M】,2003:159—pFoundation.OPCOverviewDefinitionsand1.O[S】,1998.1p眵FoundationDataAccessInterface1.O【SofModelofBACnet-陋Tae InternationalConferenceIndustrialLighting深圳市鑫王科技發(fā)展有限公司.BACnet樓宇自動(dòng)控制網(wǎng)絡(luò)數(shù)據(jù)通信協(xié)議【M】.廣東經(jīng)濟(jì)VuYi.ModemDistributed【8Tan,Dae-AnnualInternationalComputer-15-【9AnalysisofBuildingAutomationIEEE2003InternationalConferenceInformation.2003.4(6):140--廖方誠(chéng).基于BACnet協(xié)議的現(xiàn)場(chǎng)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究與設(shè)計(jì):[碩士學(xué)位論文】.武漢武漢理工大學(xué)【10羅剛,張浞.基于OPC數(shù)據(jù)訪問標(biāo)準(zhǔn)客戶端軟件的開發(fā)【J】.微處理機(jī),2006(4):71-【1l【12惠曉實(shí),劉賢德,石巖.BACnet數(shù)據(jù)鏈路/物理層規(guī)范【J】.工程設(shè)計(jì)CAD與智能建筑1999.4(12):15-【13趙紅洲,潘西明.基于OPC協(xié)議的數(shù)據(jù)集成實(shí)現(xiàn)與應(yīng)用[J】.微計(jì)算機(jī)信AutomationDataCommunication【14【15Iizuka,MakotoDe—ConstraintsforStandardLayouts[C].Proceedingsofthe【16】Interfaces,2006,28(4):386—Standards【17】謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)第四版[M】.北京:電子工業(yè)出版社,2003.70--Communicationbetween【l8】IEEEInternationalConferenceSystems,ManCybernetics.TheTolerantBBMDinthe【 9】Protoc01.2006InternationalConference【16】Interfaces,2006,28(4):386—Standards【17】謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)第四版[M】.北京:電子工業(yè)出版社,2003.70--Communicationbetween【l8】IEEEInternationalConferenceSystems,ManCybernetics.TheTolerantBBMDinthe【 9】Protoc01.2006InternationalConferenceIndustrialInformation.The【21】董春橋.樓宇自動(dòng)控制網(wǎng)絡(luò)通信協(xié)議BACnet實(shí)現(xiàn)模型的研究[J】.計(jì)算機(jī)工程與應(yīng)用【22】胡自權(quán),王平.基于EPA的OPC服務(wù)器模型設(shè)計(jì)[J】.計(jì)算機(jī)工程【23】LadhaSoumbh,AmerPaulfileWansferinnetworks.Proceedings-CommunicationsMILCOM.2003.6(2):944,--【24】Anon.WestcontrolsselectsCenter.CONTROLENGINEERING,2006.5(4):44---【25】李建軍.基于COM/DCOM的組件技術(shù)研究與應(yīng)用[D】.上海:同濟(jì)大學(xué)圖算機(jī)應(yīng)用與軟件JinPark.Theeffects【27】 BACnet-HVAC【28】侯穎,孟小鎖.COM中可連接對(duì)象的通信機(jī)制明.計(jì)算機(jī)技術(shù)與發(fā)【29】馬楠.基于OPC的數(shù)據(jù)傳輸系統(tǒng)的研究與開發(fā)[D】一匕京:北京化工大學(xué)Zu·de.PerformanceEvaluationof【30】AllocationAlgorithmforReal-TimeBandwidthin【31】Quartinformatio

溫馨提示

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

評(píng)論

0/150

提交評(píng)論