曾紅彪 陳錫文 劉靜文 左輝
摘 ? 要:隨著信息化技術(shù)在管理中的深入應(yīng)用,智慧校園是否擁有一套智能樓宇自動(dòng)化控制系統(tǒng)成為衡量校園管理優(yōu)劣的又一個(gè)標(biāo)準(zhǔn)。文章應(yīng)用OPC技術(shù)實(shí)現(xiàn)智慧校園樓宇控制系統(tǒng)的信息集成,滿(mǎn)足智慧校園樓宇的本地監(jiān)控和Internet遠(yuǎn)程監(jiān)控,構(gòu)筑云控制智慧校園樓宇管理平臺(tái),通過(guò)實(shí)際應(yīng)用證明了文章所設(shè)計(jì)的OPC方法開(kāi)發(fā)的智能樓宇服務(wù)器體系是可行的。
關(guān)鍵詞:智慧校園;智能樓宇;自動(dòng)化控制系統(tǒng);遠(yuǎn)程監(jiān)控;開(kāi)放平臺(tái)通信
智慧校園樓宇控制系統(tǒng)是由計(jì)算機(jī)網(wǎng)絡(luò)將分布在被監(jiān)控區(qū)域的智能節(jié)點(diǎn)連接起來(lái)的智能系統(tǒng),本文根據(jù)分布控制理論設(shè)計(jì)智能控制結(jié)構(gòu),通過(guò)Lon Works,CAN和RS485總線(xiàn)實(shí)現(xiàn)開(kāi)放平臺(tái)通信(Open Platform Communications,OPC)智能樓宇服務(wù)。
使用OPC技術(shù)解決信息管理應(yīng)用與現(xiàn)場(chǎng)過(guò)程設(shè)備之間的信息交換問(wèn)題,通過(guò)相應(yīng)的OPC控制網(wǎng)絡(luò)服務(wù)器實(shí)現(xiàn)對(duì)底層控制設(shè)備之間的數(shù)據(jù)采集,信息管理層軟件只需支持OPC技術(shù)即可以為客戶(hù)端提供服務(wù),減少客戶(hù)端對(duì)軟件程序安裝與配置的需求,簡(jiǎn)化交互過(guò)程。
1 ? ?基于OPC技術(shù)的智能樓宇控制系統(tǒng)設(shè)計(jì)
1.1 ?系統(tǒng)設(shè)計(jì)方法分析
OPC服務(wù)器直接開(kāi)發(fā)方法屬于源代碼開(kāi)發(fā)級(jí),包括OPC服務(wù)器的全部代碼,使用的開(kāi)發(fā)平臺(tái)效率高,比如可以采用Java++或者Visual C++6.0實(shí)現(xiàn)。
快速開(kāi)發(fā)方式是軟件開(kāi)發(fā)商把半成品以動(dòng)態(tài)鏈接庫(kù)的形式交付給用戶(hù),用戶(hù)按照動(dòng)態(tài)鏈接庫(kù)的接口完成OPC服務(wù)器程序的開(kāi)發(fā)。該方法相對(duì)簡(jiǎn)單,設(shè)計(jì)者可以不用完全了解OPC軟件對(duì)象的實(shí)現(xiàn)細(xì)節(jié),該方法被大多數(shù)用戶(hù)所采納。
1.2 ?設(shè)計(jì)思想
本文設(shè)計(jì)的校園樓宇控制系統(tǒng)采用OPC技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)控制服務(wù),設(shè)計(jì)不同的OPC服務(wù)體系,并且不斷優(yōu)化已經(jīng)完成的服務(wù)器程序,保證客戶(hù)端與服務(wù)器之間的最簡(jiǎn)單互聯(lián),最終實(shí)現(xiàn)整個(gè)系統(tǒng)的實(shí)時(shí)聯(lián)動(dòng)。
2 ? ?OPC服務(wù)器系統(tǒng)設(shè)計(jì)
2.1 ?體系結(jié)構(gòu)設(shè)計(jì)
基于OPC技術(shù)的服務(wù)器由接口程序、硬件設(shè)備和軟件系統(tǒng)組成,使用TLSrvRdk.dll配置OPC技術(shù)的服務(wù)器,實(shí)現(xiàn)延遲鎖相環(huán)(Delay-Locked Loop,DLL)封裝COM,OPC服務(wù)器,特定的硬件針對(duì)數(shù)據(jù)封裝和通信接口編寫(xiě)通信協(xié)議,利于軟硬件協(xié)調(diào)程序?;贠PC技術(shù)服務(wù)器體系結(jié)構(gòu)如圖1所示[1]。
2.2 ?基于OPC技術(shù)服務(wù)器的算法設(shè)計(jì)
OPC服務(wù)器的應(yīng)用程序編程接口(Application Programming Interface,API)函數(shù)源于OPC動(dòng)態(tài)庫(kù)索制定的數(shù)據(jù),客戶(hù)端可以通過(guò)API函數(shù)實(shí)現(xiàn)添加(注冊(cè))、刪除(注銷(xiāo))用戶(hù),實(shí)現(xiàn)硬件接口控制和讀寫(xiě)操作,將客戶(hù)數(shù)據(jù)通過(guò)OPC接口傳送到服務(wù)器,流程如圖2所示。
3 ? ?基于OPC技術(shù)的智能樓宇服務(wù)器實(shí)現(xiàn)
本文通過(guò)TLSVRRDK動(dòng)態(tài)快速設(shè)計(jì),使用Visual 6.0++開(kāi)發(fā)服務(wù)程序,TLSVRRDK動(dòng)態(tài)鏈接庫(kù)和Visual C++6.0集成COM規(guī)范和OPC應(yīng)用,實(shí)現(xiàn)OPC函數(shù)接口標(biāo)準(zhǔn)化。在VC和VB中調(diào)用動(dòng)態(tài)連接庫(kù)(Dynamic Link Library,DLL)相對(duì)方便,程序模塊中使用API函數(shù)可以直接聲明并使用,其過(guò)程如圖3所示[2]。
3.1 ?服務(wù)器注冊(cè)與注銷(xiāo)
3.1.1 ?注冊(cè)
(1)啟動(dòng)NETCOM-1025E或者NETCOM-100E調(diào)用在線(xiàn)注冊(cè)程序。(2)開(kāi)啟新節(jié)點(diǎn)注冊(cè),進(jìn)入注冊(cè)頁(yè)面,判斷注冊(cè)信息是否合法。(3)如果合法,開(kāi)始注冊(cè)。(4)輸入用戶(hù)的詳細(xì)信息,完成注冊(cè),并反饋“注冊(cè)成功”,置判斷函數(shù)IDR-Boolean=1,否則反饋“注冊(cè)失敗”,置IDR-Boolean=0。(5)更新用戶(hù)(節(jié)點(diǎn))信息,完成注冊(cè)[3]。
3.1.2 ?注銷(xiāo)
(1)調(diào)用在線(xiàn)注銷(xiāo)程序進(jìn)入在線(xiàn)注銷(xiāo)頁(yè)面。(2)開(kāi)啟節(jié)點(diǎn)狀態(tài)判斷,如果登錄用戶(hù)級(jí)別高于刪除用戶(hù)級(jí)別,并且登錄用戶(hù)具有注銷(xiāo)權(quán)利。(3)如果前面兩個(gè)條件滿(mǎn)足,開(kāi)始注銷(xiāo)。(4)確認(rèn)注銷(xiāo)用戶(hù)的詳細(xì)信息,完成注銷(xiāo),并反饋“注銷(xiāo)成功”,置判斷函數(shù)IDD-Boolean=1,否則反饋“注銷(xiāo)失敗”,置IDD-Boolean=0。(5)更新用戶(hù)(節(jié)點(diǎn))信息。
3.2 ?OPC服務(wù)器程序初始化
若DLL存在,調(diào)用TL Init OPC Server函數(shù),DLL將完成OPC服務(wù)器的COM接口初始化,創(chuàng)建OPC樓宇服務(wù)器的接口對(duì)象,方便OPC客戶(hù)端與服務(wù)器建立連接,設(shè)置OPC服務(wù)器連接刷新率為500 ms。
(1)OPC服務(wù)器刷新,判斷是否有新節(jié)點(diǎn),確定新的端口設(shè)置,在服務(wù)器進(jìn)行OPC節(jié)點(diǎn)操作,刷新節(jié)點(diǎn),通過(guò)動(dòng)態(tài)連接庫(kù)(DLL Database)的刷新函數(shù)更新服務(wù)器內(nèi)部節(jié)點(diǎn)。
(2)更新目標(biāo)退出服務(wù)器程序,判斷是否還有節(jié)點(diǎn)和服務(wù)器相連,如果有則釋放連接端口,退出服務(wù)器程序[4]。
4 ? ?基于OPC智能樓宇服務(wù)器程序驗(yàn)證
前面已經(jīng)對(duì)基于OPC技術(shù)的智能樓宇服務(wù)器接口程序設(shè)計(jì)與實(shí)現(xiàn)作了詳細(xì)的介紹,下面將對(duì)OPC服務(wù)器程序編寫(xiě)進(jìn)行必要的測(cè)試,由此驗(yàn)證本文所設(shè)計(jì)的OPC服務(wù)器是否可靠。OPC服務(wù)器接口程序測(cè)試過(guò)程包括系統(tǒng)注冊(cè)(插入節(jié)點(diǎn))、注銷(xiāo)(刪除節(jié)點(diǎn))、數(shù)據(jù)讀取、組對(duì)象和數(shù)據(jù)的瀏覽,在服務(wù)器和節(jié)點(diǎn)之間建立遠(yuǎn)程訪(fǎng)問(wèn)。
4.1 ?串口配置
(1)啟用點(diǎn)NETCOM 1025E服務(wù)器接口程序進(jìn)入串口OPC Server主程序界面。