• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      樓宇自控系統(tǒng)集成中的OPC 客戶(hù)端軟件開(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è)備制造廠(chǎng)商封閉地發(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ā)展。在這種情況下,要把不同廠(chǎng)家的設(shè)備和控制系統(tǒng)連接到一起是非常困難的。OPC就是在這種情況下產(chǎn)生的,它提供了一個(gè)標(biāo)準(zhǔn)接口,使得樓宇自控各子系統(tǒng)通過(guò)OPC客戶(hù)接口與具有標(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),采用客戶(hù)/服務(wù)器模式,把開(kāi)發(fā)訪(fǎng)問(wèn)接口的任務(wù)放在硬件生產(chǎn)廠(chǎng)家或第三方廠(chǎng)家,以O(shè)PC服務(wù)器的形式提供給用戶(hù),解決了軟、硬件廠(chǎng)商的矛盾,完成了系統(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ǔ),采用客戶(hù)/服務(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)中的接口主要有兩種:客戶(hù)端和服務(wù)器程序員所使用的OPC自定義接口(OPC COM Custom Interfaces)和支持用高端商業(yè)應(yīng)用(如用Visual Basic,Delphi,Excel等)開(kāi)發(fā)的客戶(hù)程序的OPC自動(dòng)化接口(OPC OLE Automation Interfaces)。OPC自定義接口是OPC服務(wù)器必須提供的,而OPC自動(dòng)化接口則不一定提供。利用這兩種接口與OPC服務(wù)器通信的方式見(jiàn)圖2。

      兩種接口的OPC服務(wù)器通信方式對(duì)于客戶(hù)端應(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客戶(hù)端軟件。

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

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

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

      r1=CoCreateInstance(clsid,NULL,

      CLSCTX_LOCAL_SERVER,IID_IOPCServer,

      (void**)&m_IOPCServer);

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

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

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

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

      1,//[in]客戶(hù)句柄

      &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ù)類(lèi)型

      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客戶(hù)端軟件實(shí)現(xiàn)

      應(yīng)用Visual C++編寫(xiě)的OPC客戶(hù)端程序,此程序即可與樓宇自控各子系統(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)境,從軟件層面解決了不同廠(chǎng)家的各種子系統(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)用程序多線(xiàn)程混合顯示界面方法研究
      車(chē)牌識(shí)別與視頻監(jiān)控系統(tǒng)集成探討
      讷河市| 中宁县| 米林县| 吕梁市| 菏泽市| 蒙山县| 句容市| 手机| 涟水县| 东乡族自治县| 广元市| 滦南县| 靖江市| 承德县| 仪征市| 中江县| 嘉善县| 阿拉善右旗| 阿拉善左旗| 芮城县| 宽城| 贵定县| 鱼台县| 垣曲县| 页游| 商城县| 镇宁| 巨野县| 乌兰浩特市| 鄄城县| 潼关县| 新巴尔虎左旗| 渝北区| 岗巴县| 汶上县| 玛纳斯县| 禄丰县| 海原县| 会同县| 唐河县| 璧山县|