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

?

基于OPC協(xié)議的省級計量中心檢定區(qū)溫濕度接口函數(shù)開發(fā)及實(shí)現(xiàn)

2015-10-11 08:56:52范志夫曹宏純湯振華
江西電力 2015年3期
關(guān)鍵詞:溫濕度客戶端計量

范志夫,曹宏純,湯振華

(國網(wǎng)江西省電力公司計量中心,江西南昌 330096)

0 引言

省級計量中心承擔(dān)著所轄電能計量設(shè)備和電能信息采集終端檢定、檢測工作。而檢定環(huán)境對于檢定結(jié)果的準(zhǔn)確性有著至關(guān)重要的影響,檢定報告中環(huán)境溫濕度也是必須標(biāo)明的。根據(jù)省級計量中心的建設(shè)要求,必須配備大型中央空調(diào)及排風(fēng)系統(tǒng)。以江西省電力公司計量中心為例,該空調(diào)系統(tǒng)采用SIMATIC WINCC開發(fā)編寫,在自身控制主機(jī)界面上能夠顯示實(shí)時溫濕度等參數(shù)。但生產(chǎn)調(diào)度平臺及自動化檢定線系統(tǒng)卻無法直接從此取得需要的溫濕度參數(shù)。本文介紹一種基于OPC協(xié)議,能夠讀取WINCC數(shù)據(jù)存儲區(qū)溫濕度數(shù)據(jù)的方法,并在此基礎(chǔ)上開發(fā)相應(yīng)的接口函數(shù),以提供數(shù)據(jù)給第三方實(shí)時調(diào)用。

1 SIMATICWINCC及OPC協(xié)議簡介

SIMATIC?WinCC?基于Windows平臺,能為工業(yè)領(lǐng)域提供完備的監(jiān)控與數(shù)據(jù)采集(SCADA)功能,涵蓋單用戶系統(tǒng)直到支持冗余服務(wù)器和遠(yuǎn)程Web客戶機(jī)解決方案的多用戶系統(tǒng)。WinCC是跨公司垂直集成交換信息的基礎(chǔ),它采用了工廠智能,可以實(shí)現(xiàn)更大程度的生產(chǎn)過程的透明性。WinCC不僅包含開放的編程接口,還包含大量已經(jīng)開發(fā)了的WinCC選件和WinCC附加件,用于給用戶提供各種功能的擴(kuò)展。隨著自設(shè)備級直至企業(yè)級工廠智能應(yīng)用的整合,西門子工業(yè)自動化與驅(qū)動技術(shù)集團(tuán)(IA&DT)可以提供一種完美、靈活的“一站式”解決方案。SIMATIC WinCC工廠智能選件有效、智能地利用數(shù)據(jù),并實(shí)時地生成關(guān)鍵信息,從而可以改善公司的決策過程。該過程能進(jìn)一步降低工廠成本、防止原料浪費(fèi),更好地利用生產(chǎn)設(shè)施,確保更高的管理效率和管理有效性。SIMATICWinCC工廠智能選件實(shí)現(xiàn)了監(jiān)控級和制造執(zhí)行系統(tǒng)級的連接,從而可以高效地進(jìn)行生產(chǎn)數(shù)據(jù)的采集、歸檔、壓縮、分析和發(fā)布工作,使生產(chǎn)過程具有更大的透明性。

OPC全稱是Object Linking and Embedding(OLE)for Process Control,它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場過程控制應(yīng)用建立了橋梁。在過去,為了存取現(xiàn)場設(shè)備的數(shù)據(jù)信息,每一個應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場設(shè)備的種類繁多,且產(chǎn)品的不斷升級,往往給用戶和軟件開發(fā)商帶來了巨大的工作負(fù)擔(dān)。通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動程序。OPC以O(shè)LE/COM/DCOM技術(shù)為基礎(chǔ),采用客戶/服務(wù)器模式,為工業(yè)自動化軟件面向?qū)ο蟮拈_發(fā)提供了統(tǒng)一的標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動化實(shí)時數(shù)據(jù)的方法,用這項(xiàng)標(biāo)準(zhǔn)后,硬件開發(fā)商將取代軟件開發(fā)商為自己的硬件產(chǎn)品開發(fā)統(tǒng)一的OPC接口程序,而軟件開發(fā)者可免除開發(fā)驅(qū)動程序的工作,充分發(fā)揮自己的特長,把更多的精力投入到其核心產(chǎn)品的開發(fā)上。

2 OPC讀數(shù)據(jù)方式

OPC讀數(shù)據(jù)有3種方式:同步、異步、訂閱。

同步通訊時,OPC客戶程序向OPC服務(wù)器進(jìn)行請求時,OPC客戶程序必須等到OPC服務(wù)器對應(yīng)的響應(yīng)全部完成以后才能返回,在此期間OPC客戶程序一直處于等待狀態(tài),若進(jìn)行讀操作,那么必須等待OPC服務(wù)器響應(yīng)后才返回(如圖1所示)。因此在同步通訊時,如果有大量數(shù)據(jù)進(jìn)行操作或者有很多OPC客戶程序?qū)PC服務(wù)器進(jìn)行讀操作,必然造成OPC客戶程序的阻塞現(xiàn)象。因此同步通訊適用于OPC客戶程序較少,數(shù)據(jù)量較小時的場合。

圖1 OPC同步方式讀數(shù)據(jù)

異步通訊時,OPC客戶程序?qū)Ψ?wù)器進(jìn)行請求時,OPC客戶程序請求后立刻返回,不用等待OPC服務(wù)器的響應(yīng),可以進(jìn)行其它操作。OPC服務(wù)器完成響應(yīng)后再通知OPC客戶程序,如進(jìn)行讀操作,OPC客戶程序通知OPC服務(wù)器后離開返回,不等待OPC服務(wù)器的讀完成,而OPC服務(wù)器完成讀后,會自動的通知OPC客戶程序,把讀結(jié)果傳送給OPC客戶程序(如圖2所示)。因此相對于同步通訊,異步通訊的效率更高。

訂閱方式時,OPC客戶程序?qū)Ψ?wù)器進(jìn)行請求時,OPC客戶程序操作后立刻返回,不用等待OPC服務(wù)器的操作,可以進(jìn)行其它操作,OPC服務(wù)器的Group組在組內(nèi)有數(shù)據(jù)發(fā)生改變時,自動根據(jù)更新周期刷新相應(yīng)的客戶端數(shù)據(jù),如圖3所示,客戶端只向OPC服務(wù)發(fā)送一次請求,之后不再對服務(wù)器請求。

圖2 OPC異步方式讀數(shù)據(jù)

圖3 OPC訂閱方式讀數(shù)據(jù)

3 OPC數(shù)據(jù)訪問

總的來說,OPC技術(shù)的實(shí)現(xiàn)由2部分組成:OPC服務(wù)器和OPC客戶應(yīng)用部分。OPC服務(wù)器收集現(xiàn)場設(shè)備的數(shù)據(jù)信息,然后通過標(biāo)準(zhǔn)的OPC接口傳送給OPC客戶端應(yīng)用。OPC客戶端則通過標(biāo)準(zhǔn)的OPC接口接收數(shù)據(jù)信息。

OPC服務(wù)器通常支持2種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機(jī)制,包括自動化接口標(biāo)準(zhǔn)(Automation Interface Standard)和自定義接口標(biāo)準(zhǔn)(Custom Interface Standard)。自動化接口通常是為基于腳本編程語言而定義的標(biāo)準(zhǔn)接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務(wù)器的客戶應(yīng)用。,而自定義接口適用于C和C++應(yīng)用程序,它比自動化接口更高效,功能更強(qiáng)大。

一般地講,一個OPC數(shù)據(jù)訪問服務(wù)器由幾類對象組成(如圖4所示):服務(wù)器(Server)、組(Group)和項(xiàng)(Item)。OPC服務(wù)器對象包括有關(guān)服務(wù)器的信息而且作為一個容器為OPC組對象服務(wù)。OPC組對象包含了有關(guān)它自身的信息而且提供了邏輯上組織OPC項(xiàng)的機(jī)制。對于OPC客戶端提供了一種組織數(shù)據(jù)的方法。例如,在一個特殊的操作顯示或報告中組可以聲稱項(xiàng)數(shù)據(jù)能被讀和寫??梢栽诳蛻舳撕徒M里面的項(xiàng)之間創(chuàng)建基于連接的例外,也可根據(jù)需要使之允許或禁止。OPC客戶端能配置OPC服務(wù)器提供給OPC客戶端的數(shù)據(jù)變化率。

圖4 OPC對象

4 OPC接口函數(shù)開發(fā)

計量中心中央空調(diào)系統(tǒng)自帶的軟件溫濕度顯示界面如圖5所示,各區(qū)域的溫濕度標(biāo)有相應(yīng)的數(shù)字,每個區(qū)域?qū)?yīng)著相應(yīng)的WINCC數(shù)據(jù)區(qū)的變量,因此,需開發(fā)接口函數(shù)讀取相應(yīng)的數(shù)據(jù)區(qū)的內(nèi)容,最終獲取溫濕度數(shù)據(jù)。

OPC接口開發(fā)的一般流程見圖6。

圖5 計量中心廠區(qū)空調(diào)系統(tǒng)溫濕度分布

圖6 OPC接口開發(fā)流程

由于獲取溫濕度的數(shù)據(jù)量較小,故采用同步讀數(shù)據(jù)的方式來實(shí)現(xiàn),具體實(shí)現(xiàn)及關(guān)鍵代碼如下:

(1)首先需安裝并注冊相關(guān)的OPC自動化接口服務(wù),并添加命名空間:(需要在項(xiàng)目中添加相應(yīng)的引用)

using OPCAutomation;

(2)定義OPC相關(guān)變量

OPCServer KepServer;

OPCGroups KepGroups;

OPCGroup KepGroup;

OPCItems KepItems;

OPCItem KepItem;

(3)獲取服務(wù)器列表并選擇連接OPC服務(wù)器,此處服務(wù)器為WINCC

privatevoid connectServer()

{

strHostIP="192.168.1.40";//通過IP來獲取計算機(jī)名稱,可用在局域網(wǎng)內(nèi)。

IPHostEntry ipHostEntry=Dns.GetHostByAddress(strHostIP);

strHostName=ipHostEntry.HostName.ToString();

//獲取本地計算機(jī)上的OPCServerName

KepServer=new OPCServer();

object serverList = KepServer.GetOPCServers(strHostName);

foreach(stringturn in(Array)serverList)

{

if(turn=="OPCServer.WinCC")

{

servername=turn;

}

}

KepServer.Connect(servername,strHostIP);

}

(4)設(shè)置OPC服務(wù)組相關(guān)屬性

privatevoid SetGroupProperty()

{

KepServer.OPCGroups.DefaultGroupIsActive =true;

KepServer.OPCGroups.DefaultGroupDeadband=0;

KepGroup.UpdateRate=1000;

KepGroup.IsActive=true;

KepGroup.IsSubscribed=true;

}

(5)編寫函數(shù),通過OPC協(xié)議讀取WINCC數(shù)據(jù)區(qū)溫濕度數(shù)據(jù)。

privatestring Readvalue(stringname)

{

connectServer();

KepGroups=KepServer.OPCGroups;

KepGroup = KepGroups.Add("OPCDOTNETGROUP");

SetGroupProperty();

KepItems=KepGroup.OPCItems;

KepItem=KepItems.AddItem(name,0);

object ItemValues;object Qualities;object Time-Stamps;

//同步讀的臨時變量:值、質(zhì)量、時間戳

KepItem.Read(1,out ItemValues,out Qualities,out TimeStamps);

stringmyvalue=(ItemValues).ToString();

return myvalue;

}

(6)封裝成可供第三方使用者調(diào)用的接口函數(shù)

public stringgetwenshidu(stringwsd)

{

return Readvalue(wsd);

}

5 接口函數(shù)發(fā)布

通過IIS發(fā)布webservice函數(shù),第三方系統(tǒng)可以直接按照約定調(diào)用該函數(shù)getwenshidu(string wsd)來返回需要的值,正常返回符合條件數(shù)據(jù),錯誤則返回相應(yīng)錯誤代碼。字符串參數(shù)wsd對應(yīng)著各個區(qū)域相應(yīng)的溫濕度變量名,經(jīng)過測試,省級計量生產(chǎn)調(diào)度平臺及自動化檢定線都能正常的調(diào)用接口函數(shù)并取得相應(yīng)的數(shù)據(jù)。

6 結(jié)語

由于OPC協(xié)議的出現(xiàn),軟件開發(fā)者無需了解硬件的實(shí)質(zhì)和操作過程,只需遵循OPC標(biāo)準(zhǔn)進(jìn)行開發(fā),就能夠訪問OPC服務(wù)器中的數(shù)據(jù),而C#可以根據(jù)需要將OPC客戶端方便地和其他應(yīng)用程序集成在一起。在此介紹了一種基于OPC協(xié)議,采用C#進(jìn)行開發(fā)并使用IIS發(fā)布的省級計量中心檢定區(qū)溫濕度接口函數(shù)開發(fā)過程。OPC技術(shù)結(jié)合.NET架構(gòu),能夠做到快速、高效的底層數(shù)據(jù)采集,安全、靈活的數(shù)據(jù)處理,便捷的信息發(fā)布,是一種非常普遍的解決方案。

[1]朱立軍,安娜,陳未如.基于Visual C#的OPC客戶端實(shí)現(xiàn)[J].現(xiàn)代電子技,2009(2):171-173.

[2]如何在C#中實(shí)現(xiàn)OPC數(shù)據(jù)訪問[Z].西門子幫助文檔,2009.

[3]楊傳穎,黃德先.基于Microsoft.NETFramework的OPC客戶端的研究與應(yīng)用[J].微計算機(jī)信息,2006(06):1-3.

[4]蔡思文,祁耀斌.OPC客戶端設(shè)計及其在監(jiān)控系統(tǒng)的應(yīng)用[J].微計算機(jī)信息,2007,23(5):106-108.

[5]顧亮,饒豐,寇東升.OPC技術(shù)結(jié)合.NET架構(gòu)在系統(tǒng)集成項(xiàng)目中的應(yīng)用[J].制造業(yè)自動化,2006,28(07):74-77.

[6]胡艷菊.C#程序設(shè)計[M].北京:北京大學(xué)出版社,2012.

猜你喜歡
溫濕度客戶端計量
溫濕度控制器在回收砂冷卻系統(tǒng)中的應(yīng)用
《化學(xué)分析計量》2020年第6期目次
基于DSP的多路溫濕度監(jiān)測系統(tǒng)
基于溫濕度控制的天氣預(yù)測裝置
電子制作(2018年11期)2018-08-04 03:26:02
關(guān)注日常 計量幸福
特別健康(2018年4期)2018-07-03 00:38:26
縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實(shí)現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
計量自動化在線損異常中的應(yīng)用
蒸發(fā)冷卻溫濕度獨(dú)立控制空調(diào)系統(tǒng)的應(yīng)用
固安县| 恩平市| 类乌齐县| 文安县| 新丰县| 紫云| 铜山县| 忻城县| 香港 | 阳新县| 宜城市| 河南省| 丹寨县| 大渡口区| 乐陵市| 柳州市| 河源市| 三亚市| 洪湖市| 宁津县| 介休市| 宣武区| 南涧| 陆良县| 康平县| 华蓥市| 广宗县| 大邑县| 红桥区| 万源市| 平顺县| 平顶山市| 寿宁县| 永寿县| 乌兰察布市| 乌鲁木齐县| 连江县| 宁城县| 黄龙县| 临朐县| 崇礼县|