国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

樓宇自控系統(tǒng)集成中的OPC 客戶端軟件開(kāi)發(fā)

2011-11-05 11:16:52杜曉克魏運(yùn)均
山西建筑 2011年36期
關(guān)鍵詞:句柄系統(tǒng)集成自控

杜曉克 魏運(yùn)均

0 引言

樓宇自動(dòng)化系統(tǒng)(Building Automation System,BAS)是智能建筑的主要組成部分之一,智能建筑通過(guò)樓宇自動(dòng)化系統(tǒng)實(shí)現(xiàn)建筑物內(nèi)設(shè)備與建筑環(huán)境的全面監(jiān)控與管理[1]。

樓宇自動(dòng)化系統(tǒng)應(yīng)屬過(guò)程控制范疇,在樓宇自動(dòng)化技術(shù)發(fā)展過(guò)程中,由于歷史的原因,各個(gè)設(shè)備制造廠商封閉地發(fā)展自己的系統(tǒng),長(zhǎng)期以來(lái)沒(méi)有建立國(guó)際性的標(biāo)準(zhǔn)通信協(xié)議,使得各個(gè)設(shè)備或子系統(tǒng)不能無(wú)縫地集成到一個(gè)操作平臺(tái)上來(lái)。這種局面嚴(yán)重阻礙了智能建筑技術(shù)的發(fā)展。在這種情況下,要把不同廠家的設(shè)備和控制系統(tǒng)連接到一起是非常困難的。OPC就是在這種情況下產(chǎn)生的,它提供了一個(gè)標(biāo)準(zhǔn)接口,使得樓宇自控各子系統(tǒng)通過(guò)OPC客戶接口與具有標(biāo)準(zhǔn)OPC服務(wù)器接口的現(xiàn)場(chǎng)設(shè)備實(shí)現(xiàn)數(shù)據(jù)交互,這種軟件數(shù)據(jù)集成使得樓宇自控在真正意義上實(shí)現(xiàn)了開(kāi)放化、集成化、信息化。

1 OPC系統(tǒng)構(gòu)成

OPC以O(shè)LE/COM機(jī)制作為應(yīng)用程序級(jí)的通信標(biāo)準(zhǔn),采用客戶/服務(wù)器模式,把開(kāi)發(fā)訪問(wèn)接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開(kāi)放性和互操作性[2]。

OPC技術(shù)是以Microsoft的OLE/COM技術(shù)為基礎(chǔ)建立的一項(xiàng)技術(shù)規(guī)范與標(biāo)準(zhǔn),它以組件對(duì)象模型和分布式組件對(duì)象模型COM/DCOM技術(shù)為基礎(chǔ),采用客戶/服務(wù)器模型,定義了一組COM對(duì)象及其雙接口。

OPC對(duì)象主要包括服務(wù)器(Server)、組(Group)和項(xiàng)(Item)。OPC服務(wù)器對(duì)象除了維護(hù)自身信息外,還作為組對(duì)象的容器,可動(dòng)態(tài)地創(chuàng)建或釋放組對(duì)象;而組對(duì)象相對(duì)于項(xiàng)而言也是一個(gè)包容器,它提供一套管理項(xiàng)的機(jī)制;OPC項(xiàng)則表示了與OPC服務(wù)器中數(shù)據(jù)的連接,包括:值(Value)、品質(zhì)(Quality)、時(shí)間戳(Timer Stamp)三個(gè)基本屬性。圖1為OPC服務(wù)器結(jié)構(gòu)圖。

OPC標(biāo)準(zhǔn)中的接口主要有兩種:客戶端和服務(wù)器程序員所使用的OPC自定義接口(OPC COM Custom Interfaces)和支持用高端商業(yè)應(yīng)用(如用Visual Basic,Delphi,Excel等)開(kāi)發(fā)的客戶程序的OPC自動(dòng)化接口(OPC OLE Automation Interfaces)。OPC自定義接口是OPC服務(wù)器必須提供的,而OPC自動(dòng)化接口則不一定提供。利用這兩種接口與OPC服務(wù)器通信的方式見(jiàn)圖2。

兩種接口的OPC服務(wù)器通信方式對(duì)于客戶端應(yīng)用程序的開(kāi)發(fā),采用自定義接口的方式運(yùn)行效率高,但開(kāi)發(fā)難度大;采用自動(dòng)化接口的方式運(yùn)行效率低,但開(kāi)發(fā)簡(jiǎn)單。本文采用Visual C++高級(jí)編程語(yǔ)言通過(guò)定制接口的形式編寫(xiě)了OPC客戶端軟件。

2 OPC客戶端的編程實(shí)現(xiàn)

OPC客戶程序訪問(wèn)OPC服務(wù)器,實(shí)際上就是一個(gè)典型的客戶訪問(wèn)進(jìn)程外組件的過(guò)程。編寫(xiě)OPC客戶程序的步驟可以概括為:指定服務(wù)器、建立OPC組、添加OPC項(xiàng)、接收數(shù)據(jù)、斷開(kāi)連接。

//創(chuàng)建OPC服務(wù)器對(duì)象,并查詢對(duì)象的IID_IOPCServer接口

r1=CoCreateInstance(clsid,NULL,

CLSCTX_LOCAL_SERVER,IID_IOPCServer,

(void**)&m_IOPCServer);

//添加一個(gè)group對(duì)象,并查詢IOPCItemMgt接口

r1=m_IOPCServer->AddGroup(L"grp1",//[in]組名字

TRUE,//[in]是否活動(dòng)狀態(tài)

500,//[in]刷新率(毫秒)

1,//[in]客戶句柄

&TimeBias,//[in]

&PercentDeadband,//[in]死區(qū)參數(shù)

LOCALE_ID,//[in]語(yǔ)言

&m_GrpSrvHandle,//[out]服務(wù)器句柄

&RevisedUpdateRate,//[out]服務(wù)器返回的刷新率

IID_IOPCItemMgt,//[in]需要的接口指針

(LPUNKNOWN*)&m_IOPCItemMgt);//[out]返回的需要的接口指針

//為AddItem定義item表的參數(shù)

m_Items[0].szAccessPath=L"";// 不需要 Accesspath

m_Items[0].szItemID=szItemID;//ItemID

m_Items[0].bActive=TRUE;

m_Items[0].hClient=1;

m_Items[0].dwBlobSize=0;

m_Items[0].pBlob=NULL;

m_Items[0].vtRequestedDataType=0;// 數(shù)據(jù)類型

r1=m_IOPCItemMgt->AddItems(1,//[in]添加1個(gè) item m_Items,//[in]前面定義

&m_ItemResult,//[out]結(jié)果信息指針

&m_pErrors);//[out]錯(cuò)誤碼

//接收數(shù)據(jù)

OPCHANDLE*phServer;

OPCITEMSTATE*pItemValue;

HRESULT*pErrors;

HRESULT r1;

UINT qnr;

if(m_pErrors[0]!=S_OK)//Item 不可用

{

AfxMessageBox("OPC Item不可用,不能用同步讀功能!");

return;

}

//內(nèi)存分配

phServer=new OPCHANDLE[1];

//通過(guò)server句柄選擇item(由AddItem得到的)

phServer[0] =m_ItemResult[0].hServer;

r1=m_IOPCSyncIO->Read(OPC_DS_DEVICE,1,phServer,

&pItemValue,&pErrors);

//釋放內(nèi)存

delete[]phServer;

//釋放OPC服務(wù)器

m_IOPCServer->Release();

m_IOPCServer=NULL;

3 OPC客戶端軟件實(shí)現(xiàn)

應(yīng)用Visual C++編寫(xiě)的OPC客戶端程序,此程序即可與樓宇自控各子系統(tǒng)OPC服務(wù)器接口實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)交互以及數(shù)據(jù)信息化集成。

4 結(jié)語(yǔ)

OPC技術(shù)的出現(xiàn)使得樓宇自動(dòng)化系統(tǒng)各子系統(tǒng)之間實(shí)現(xiàn)了開(kāi)放的無(wú)縫連接,在提高系統(tǒng)互操作性的同時(shí),簡(jiǎn)化了系統(tǒng)集成環(huán)境,從軟件層面解決了不同廠家的各種子系統(tǒng)和設(shè)備往往由于不具備標(biāo)準(zhǔn)的接口而存在可集成性的問(wèn)題[3]。隨著OPC規(guī)范的不斷推出和完善,其在智能樓宇系統(tǒng)集成中的應(yīng)用將會(huì)越來(lái)越廣泛。

[1] 周 鳴,曲 凌.基于OPC技術(shù)的樓宇自動(dòng)化系統(tǒng)集成[J].現(xiàn)代電子技術(shù),2006(9):99-101.

[2] 蔡翔云,鄭小虎,姜 麟.OPC規(guī)范及開(kāi)發(fā)應(yīng)用[J].昆明理工大學(xué)學(xué)報(bào),2002(6):73-74.

[3] 陳 丹,徐利梅.OPC技術(shù)在樓宇自動(dòng)化系統(tǒng)集成中的應(yīng)用[J].樓宇自動(dòng)化,2007(2):62-63.

猜你喜歡
句柄系統(tǒng)集成自控
次氯酸鈉消毒系統(tǒng)及其自控改造與應(yīng)用
化工管理(2022年14期)2022-12-02 11:47:16
加氫站與調(diào)壓站能源供應(yīng)系統(tǒng)集成技術(shù)及應(yīng)用
煤氣與熱力(2021年6期)2021-07-28 07:21:32
成功來(lái)自于自控
高校圖書(shū)館持久標(biāo)識(shí)符應(yīng)用研究
工業(yè)企業(yè)系統(tǒng)集成技術(shù) 系統(tǒng)集成技術(shù)與信息化集成系統(tǒng)(下)
編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
“系統(tǒng)集成”式的改革
固體清潔劑自控裝置
MFC應(yīng)用程序多線程混合顯示界面方法研究
車牌識(shí)別與視頻監(jiān)控系統(tǒng)集成探討
南部县| 营山县| 嘉义市| 兴化市| 开原市| 惠水县| 沁水县| 洪湖市| 湖州市| 当阳市| 延长县| 怀安县| 诸城市| 沅陵县| 峨眉山市| 安平县| 原平市| 社会| 新乡县| 繁昌县| 林口县| 顺平县| 贵南县| 涟源市| 曲周县| 营山县| 岱山县| 于都县| 黔江区| 桃园县| 诸暨市| 和政县| 通州区| 桐庐县| 自贡市| 辛集市| 太湖县| 武平县| 霍林郭勒市| 沅江市| 海盐县|