《組態(tài)軟件及應(yīng)用技術(shù)(基于組態(tài)王KingView)》 課件 第十六章 OPC設(shè)備_第1頁
《組態(tài)軟件及應(yīng)用技術(shù)(基于組態(tài)王KingView)》 課件 第十六章 OPC設(shè)備_第2頁
《組態(tài)軟件及應(yīng)用技術(shù)(基于組態(tài)王KingView)》 課件 第十六章 OPC設(shè)備_第3頁
《組態(tài)軟件及應(yīng)用技術(shù)(基于組態(tài)王KingView)》 課件 第十六章 OPC設(shè)備_第4頁
《組態(tài)軟件及應(yīng)用技術(shù)(基于組態(tài)王KingView)》 課件 第十六章 OPC設(shè)備_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

我們畢業(yè)啦其實(shí)是答辯的標(biāo)題地方組態(tài)軟件及應(yīng)用技術(shù)16.1OPC基本概念第16章OPC設(shè)備16.2組態(tài)王作為OPC客戶端的使用方法14.3歷史數(shù)據(jù)的查詢14.4網(wǎng)絡(luò)歷史庫的備份合并16.1OPC基本概念圖16-1組態(tài)王和OPC連接工作示意圖OPC是OLEforProcessControl的縮寫,即把OLE應(yīng)用于工業(yè)控制領(lǐng)域。OLE原意是對象鏈接和嵌入,隨著OLE2的發(fā)行,其范圍已遠(yuǎn)遠(yuǎn)超出了這個(gè)概念。現(xiàn)在的OLE包容了許多新的特征,如統(tǒng)一數(shù)據(jù)傳輸、結(jié)構(gòu)化存儲(chǔ)和自動(dòng)化,已經(jīng)成為獨(dú)立于計(jì)算機(jī)語言、操作系統(tǒng)甚至硬件平臺(tái)的一種規(guī)范,是面向?qū)ο蟪绦蛟O(shè)計(jì)概念的進(jìn)一步推廣。OPC建立OLE規(guī)范之上,它為工業(yè)控制領(lǐng)域提供了一種標(biāo)準(zhǔn)的數(shù)據(jù)訪問機(jī)制。在編輯本章中,需要NT/2000/XP軟件和3臺(tái)電腦進(jìn)行聯(lián)網(wǎng)才能做成相關(guān)界面,在此有的地方界面圖就省略了,可以參考北京亞控公司《組態(tài)王使用手冊》OPC設(shè)備章節(jié)。16.1.1OPC和組態(tài)王的連接工業(yè)控制領(lǐng)域用到大量的現(xiàn)場設(shè)備,在OPC出現(xiàn)以前,軟件開發(fā)商需要開發(fā)大量的驅(qū)動(dòng)程序來連接這些設(shè)備。即使硬件供應(yīng)商在硬件上做了一些小小改動(dòng),應(yīng)用程序就可能需要重寫;同時(shí),由于不同設(shè)備甚至同一設(shè)備不同單元的驅(qū)動(dòng)程序也有可能不同,軟件開發(fā)商很難同時(shí)對這些設(shè)備進(jìn)行訪問以優(yōu)化操作。硬件供應(yīng)商也在嘗試解決這個(gè)問題,然而由于不同客戶有著不同的需要,同時(shí)也存在著不同的數(shù)據(jù)傳輸協(xié)議,因此也一直沒有完整的解決方案。自O(shè)PC提出以后,這個(gè)問題終于得到解決。OPC規(guī)范包括OPC服務(wù)器和OPC客戶兩個(gè)部分,其實(shí)質(zhì)是在硬件供應(yīng)商和軟件開發(fā)商之間建立了一套完整的“規(guī)則”,只要遵循這套規(guī)則,數(shù)據(jù)交互對兩者來說都是透明的,硬件供應(yīng)商無需考慮應(yīng)用程序的多種需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實(shí)質(zhì)和操作過程。如圖16-1所示。16.1.2OPC的適用范圍OPC設(shè)計(jì)者們最終目標(biāo)是在工業(yè)領(lǐng)域建立一套數(shù)據(jù)傳輸規(guī)范,并為之制定了一系列的發(fā)展計(jì)劃?,F(xiàn)有的OPC規(guī)范涉及如下領(lǐng)域:①在線數(shù)據(jù)監(jiān)測。實(shí)現(xiàn)了應(yīng)用程序和工業(yè)控制設(shè)備之間高效、靈活的數(shù)據(jù)讀寫。②報(bào)警和事件處理。提供了OPC服務(wù)器發(fā)生異常時(shí),以及OPC服務(wù)器設(shè)定事件到來時(shí)向OPC客戶發(fā)送通知的一種機(jī)制。③歷史數(shù)據(jù)訪問。實(shí)現(xiàn)了讀取、操作、編輯歷史數(shù)據(jù)庫的方法。④遠(yuǎn)程數(shù)據(jù)訪問。借助Microsoft的DCOM技術(shù),OPC實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問能力。OPC近期將實(shí)現(xiàn)的功能還包括安全性、批處理、歷史報(bào)警事件數(shù)據(jù)訪問等。OPC的設(shè)計(jì)者在設(shè)計(jì)OPC時(shí)遵循如下原則:①易于實(shí)現(xiàn)。②靈活滿足多種客戶需求。③強(qiáng)大的功能。④高效的操作。16.1.3OPC中相關(guān)的基本概念1.

服務(wù)器、組、數(shù)據(jù)項(xiàng)OPC服務(wù)器由三類對象組成:服務(wù)器(Server)、組(Group)、數(shù)據(jù)項(xiàng)(Item)。服務(wù)器對象(Server)擁有服務(wù)器的所有信息,同時(shí)也是組對象(Group)的容器。組對象(Group)擁有本組的所有信息,同時(shí)包含并且組織OPC數(shù)據(jù)項(xiàng)(Item)。OPC組對象(Group)提供了客戶組織數(shù)據(jù)的一種方法??蛻艨蓪χM(jìn)行讀寫,還可設(shè)置客戶端的數(shù)據(jù)更新速率。當(dāng)服務(wù)器緩沖區(qū)內(nèi)數(shù)據(jù)發(fā)生改變時(shí),OPC將向客戶發(fā)出通知,客戶得到通知后再進(jìn)行必要的處理,而無需浪費(fèi)大量的時(shí)間進(jìn)行查詢。OPC規(guī)范定義了兩種組對象:公共組和局部組(私有組)。公共組由多個(gè)客戶共有,局部組只隸屬于一個(gè)OPC客戶。一般說來,客戶和服務(wù)器的一對連接只需要定義一個(gè)組對象。在每個(gè)組對象中,客戶可以加入多個(gè)OPC數(shù)據(jù)項(xiàng)(Item)。如圖16-2所示。

OPC數(shù)據(jù)項(xiàng)是服務(wù)器端定義的對象,通常指向設(shè)備的一個(gè)寄存器單元。OPC客戶對設(shè)備寄存器的操作都是通過其數(shù)據(jù)項(xiàng)來完成的,通過定義數(shù)據(jù)項(xiàng),OPC規(guī)范盡可能的隱藏了設(shè)備的特殊信息,也使OPC服務(wù)器的通用性大大增強(qiáng)。OPC數(shù)據(jù)項(xiàng)并不提供對外接口,客戶不能直接對之進(jìn)行操作,所有操作都是通過組對象進(jìn)行的??蛻舨僮鲾?shù)據(jù)項(xiàng)的一般步驟為:1)通過服務(wù)器對象接口枚舉服務(wù)器端定義的所有數(shù)據(jù)項(xiàng),如果客戶對服務(wù)器所定義的數(shù)據(jù)項(xiàng)非常熟悉,此步可以忽略。2)將要操作的數(shù)據(jù)項(xiàng)加入客戶定義的組對象中。3)通過組對象對數(shù)據(jù)項(xiàng)進(jìn)行讀寫等操作。每個(gè)數(shù)據(jù)項(xiàng)的數(shù)據(jù)結(jié)構(gòu)包括三個(gè)成員變量:即數(shù)據(jù)值、數(shù)據(jù)質(zhì)量和時(shí)間戳。數(shù)據(jù)值是以VARIANT形式表示的。應(yīng)當(dāng)注意,數(shù)據(jù)項(xiàng)表示同數(shù)據(jù)源的連接而不等同于數(shù)據(jù)源,無論客戶是否定義數(shù)據(jù)項(xiàng),數(shù)據(jù)源都是客觀存在的??梢园褦?shù)據(jù)項(xiàng)看作數(shù)據(jù)源的地址,即數(shù)據(jù)源的引用,而不應(yīng)看作數(shù)據(jù)源本身。圖16-2組對象中客戶可以加入多個(gè)OPC數(shù)據(jù)項(xiàng)2.

報(bào)警(Alarm)和事件(Event)報(bào)警和事件處理機(jī)制增強(qiáng)了OPC客戶處理異常的能力。服務(wù)器在工作過程中可能出現(xiàn)異常,此時(shí),OPC客戶可通過報(bào)警和事件處理接口得到通知,并能通過該接口獲得服務(wù)器的當(dāng)前狀態(tài)。在很多場合,報(bào)警(Alarm)和事件(Event)的含義并不加以區(qū)分,兩者也經(jīng)?;Q使用。從嚴(yán)格意義上講,兩者含義略有差別。依據(jù)OPC規(guī)范,報(bào)警是一種異常狀態(tài),是OPC服務(wù)器或服務(wù)器的一個(gè)對象可能出現(xiàn)的所有狀態(tài)中的一種特殊情況。例如,服務(wù)器上標(biāo)記為FC101的一個(gè)單元可能有如下狀態(tài):高出警戒,嚴(yán)重高出警戒,正常,低于警戒,嚴(yán)重低于警戒。除了正常狀態(tài)外,其他狀態(tài)都視為報(bào)警狀態(tài)。事件則是一種可以檢測到的出現(xiàn)的情況,這種情況或來自O(shè)PC客戶,或來自O(shè)PC服務(wù)器,也可能來自O(shè)PC服務(wù)器所代表的設(shè)備,通常都有一定的物理意義。事件可能與服務(wù)器或服務(wù)器的一個(gè)對象的狀態(tài)有關(guān),也可能毫無關(guān)系。如高出警戒和正常狀態(tài)的轉(zhuǎn)換事件和服務(wù)器的某個(gè)對象的狀態(tài)有關(guān),而操作設(shè)備,改變系統(tǒng)配置以及出現(xiàn)系統(tǒng)錯(cuò)誤等事件和對象狀態(tài)就無任何關(guān)系。3.

OPC體系結(jié)構(gòu) OPC規(guī)范提供了兩套接口方案,即COM接口和自動(dòng)化。COM接口效率高,通過該接口,客戶能夠發(fā)揮OPC服務(wù)器的最佳性能,采用C++語言的客戶一般采用COM接口方案;自動(dòng)化接口使解釋性語言和宏語言訪問OPC服務(wù)器成為可能,采用VB語言的客戶一般采用自動(dòng)化接口。自動(dòng)化接口使解釋性語言和宏語言編寫客戶應(yīng)用程序變得簡單,然而自動(dòng)化客戶運(yùn)行時(shí)需進(jìn)行類型檢查,這一點(diǎn)則大大犧牲了程序的運(yùn)行速度。OPC服務(wù)器必須實(shí)現(xiàn)COM接口,是否實(shí)現(xiàn)自動(dòng)化接口則取決于供應(yīng)商的主觀意愿。典型的OPC體系如圖16-3所示。圖16-3典型的OPC體系和COM接口4.

服務(wù)器緩沖區(qū)數(shù)據(jù)和設(shè)備數(shù)據(jù) OPC服務(wù)器本身就是一個(gè)可執(zhí)行程序,該程序以設(shè)定的速率不斷地同物理設(shè)備進(jìn)行數(shù)據(jù)交互。服務(wù)器內(nèi)有一個(gè)數(shù)據(jù)緩沖區(qū),其中存有最新的數(shù)據(jù)值,數(shù)據(jù)質(zhì)量戳和時(shí)間戳。時(shí)間戳表明服務(wù)器最近一次從設(shè)備讀取數(shù)據(jù)的時(shí)間。服務(wù)器對設(shè)備寄存器的讀取是不斷進(jìn)行的,時(shí)間戳也在不斷更新。即使數(shù)據(jù)值和質(zhì)量戳都沒有發(fā)生變化,時(shí)間戳也會(huì)進(jìn)行更新??蛻艏瓤蓮姆?wù)器緩沖區(qū)讀取數(shù)據(jù),也可直接從設(shè)備讀取數(shù)據(jù),從設(shè)備直接讀取數(shù)據(jù)速度會(huì)慢一些,一般只有在故障診斷或極特殊的情況下才會(huì)采用。5.

同步和異步

OPC客戶和OPC服務(wù)器進(jìn)行數(shù)據(jù)交互可以有兩種不同方式,即同步方式和異步方式。同步方式實(shí)現(xiàn)較為簡單,當(dāng)客戶數(shù)目較少而且同服務(wù)器交互的數(shù)據(jù)量也比較少的時(shí)候可以采用這種方式;異步方式實(shí)現(xiàn)較為復(fù)雜,需要在客戶程序中實(shí)現(xiàn)服務(wù)器回調(diào)函數(shù)。然而當(dāng)有大量客戶和大量數(shù)據(jù)交互時(shí),異步方式能提供高效的性能,盡量避免阻塞客戶數(shù)據(jù)請求,并最大可能地節(jié)省CPU和網(wǎng)絡(luò)資源。16.1.4組態(tài)王與OPC組態(tài)王充分利用了OPC服務(wù)器的強(qiáng)大性能,為工程人員提供方便高效的數(shù)據(jù)訪問能力。在組態(tài)王中可以同時(shí)掛接任意多個(gè)OPC服務(wù)器,每個(gè)OPC服務(wù)器都被作為一個(gè)外部設(shè)備,工程人員可以定義、增加或刪除它,如同一個(gè)PLC或儀表設(shè)備一樣。工程人員在OPC服務(wù)器中定義通訊的物理參數(shù),定義需要采集的下位機(jī)變量(稱為數(shù)據(jù)項(xiàng),詳見下文解釋);然后在組態(tài)王中定義組態(tài)王變量和下位機(jī)變量(數(shù)據(jù)項(xiàng))的對應(yīng)關(guān)系。在運(yùn)行系統(tǒng)中,組態(tài)王和每個(gè)OPC服務(wù)器建立連接,自動(dòng)完成和OPC服務(wù)器之間的數(shù)據(jù)交換。同時(shí),組態(tài)王本身也可以充當(dāng)OPC服務(wù)器,向其他符合OPC規(guī)范的廠商的控制系統(tǒng)提供數(shù)據(jù)。在作為OPC服務(wù)器的組態(tài)王中定義相關(guān)的變量并和采集數(shù)據(jù)的硬件進(jìn)行連接;然后在充當(dāng)客戶端的其他應(yīng)用程序中與OPC服務(wù)器(組態(tài)王運(yùn)行系統(tǒng))建立連接,并且添加數(shù)據(jù)項(xiàng)目。在應(yīng)用程序運(yùn)行時(shí),客戶端將按照指定的采集頻率對組態(tài)王的數(shù)據(jù)進(jìn)行采集。組態(tài)王的OPC服務(wù)器名稱為“KingView.View.1”。

16.2組態(tài)王作為OPC客戶端的使用方法圖16-4OPC設(shè)備16.2.1建立和刪除OPC設(shè)備組態(tài)王中支持多OPC服務(wù)器。在使用OPC服務(wù)器之前,需要先在組態(tài)王中建立OPC服務(wù)器設(shè)備。如圖16-4所示。在組態(tài)王工程瀏覽器的“設(shè)備”項(xiàng)目中選中“OPC服務(wù)器”,工程瀏覽器的右側(cè)內(nèi)容區(qū)顯示當(dāng)前工程中定義的OPC設(shè)備和“新建OPC”圖標(biāo)。雙擊“新建”圖標(biāo),組態(tài)王開始自動(dòng)搜索當(dāng)前的計(jì)算機(jī)系統(tǒng)中已經(jīng)安裝的所有OPC服務(wù)器,然后彈出“查看OPC服務(wù)器”對話框,如圖16-5所示。圖16-5OPC設(shè)備定義“網(wǎng)絡(luò)節(jié)點(diǎn)名”編輯框中為要查看OPC服務(wù)器的計(jì)算機(jī)名稱,默認(rèn)為“本機(jī)”。如果需要查看網(wǎng)絡(luò)上的其它站點(diǎn)的OPC服務(wù)器,在編輯框中輸入節(jié)點(diǎn)的UNC路徑。如計(jì)算機(jī)名稱為“數(shù)據(jù)采集站”,則輸入“\\數(shù)據(jù)采集站”,然后單擊"查找"按鈕,如果查找成功,則在右邊的“OPC服務(wù)器”列表中顯示目標(biāo)站點(diǎn)的所有已安裝的OPC服務(wù)器名稱;如果沒有查找到,則提示查找失敗?!癘PC服務(wù)器信息”文本框中顯示“OPC服務(wù)器”列表中選中的OPC服務(wù)器的相關(guān)說明信息。如選中“KingView.View.1”,則在信息中顯示“KingView.View”。“讀寫方式”是用來定義該OPC設(shè)備對應(yīng)的OPC變量在進(jìn)行讀寫數(shù)據(jù)時(shí)采用同步或異步方式。“嘗試恢復(fù)間隔”和“最長恢復(fù)時(shí)間”用來設(shè)置當(dāng)組態(tài)王與OPC服務(wù)器之間的通訊出現(xiàn)故障時(shí),系統(tǒng)嘗試恢復(fù)通訊的策略參數(shù)?!笆褂脛?dòng)態(tài)優(yōu)化”是組態(tài)王對通訊過程采取動(dòng)態(tài)管理的辦法?!皣L試恢復(fù)間隔”,“最長恢復(fù)時(shí)間”,“使用動(dòng)態(tài)優(yōu)化”的具體含義與IO設(shè)備定義向?qū)е械南嗤垍⒖础芭渲靡?.3定義外部設(shè)備和數(shù)據(jù)變量”一章。 用戶可以在列表中選擇所需的OPC服務(wù)器。單擊“確定”按鈕?!安榭碠PC服務(wù)器”對話框自動(dòng)關(guān)閉,OPC設(shè)備建立成功。如選擇圖中的“PCSoft.Sample.1”,建立的OPC設(shè)備如圖16-6所示。圖16-6OPC服務(wù)器的建立對于已經(jīng)建立的OPC設(shè)備,如果您確認(rèn)不再需要,可以將它刪除。如上圖,選中要?jiǎng)h除的OPC設(shè)備,單擊鼠標(biāo)右鍵,在彈出的如圖16-7所示的快捷菜單中選擇刪除,彈出如圖16-8所示的提示信息,如果選擇“是”,則將該設(shè)備從組態(tài)王中刪除。圖16-7快捷菜單中圖16-8刪除確認(rèn)的提示信息OPC服務(wù)器作為一個(gè)獨(dú)立的應(yīng)用程序,可能由硬件制造商、軟件開發(fā)商或其他第三方提供,因此數(shù)據(jù)項(xiàng)定義的方法和界面都可能有所差異。下面以PCSoft公司的ModbusServer為例講解OPCServer的使用方法。ModbusOPCServer應(yīng)用程序是一個(gè)高級的I/O服務(wù)器,提供友善的工程人員界面,支持DDE,AdvanceDDE和FastDDE等數(shù)據(jù)訪問方式。雙擊程序組ModbusServer圖標(biāo),彈出ModbusServer主窗口。

ModbusServer主窗口和Windows資源管理器風(fēng)格相似,窗口的上方是菜單和工具條,窗口的左側(cè)列出接入的兩個(gè)設(shè)備,即Simulate和Modbus,每個(gè)設(shè)備都包括自己的組對象和數(shù)據(jù)項(xiàng)。窗口的右側(cè)顯示出所選對象中已定義的數(shù)據(jù)項(xiàng)??梢韵騇odbusServer中添加、刪除設(shè)備或修改設(shè)備屬性。選擇“Add”菜單下“NewDevice…”子菜單或單擊工具條按鍵,彈出“設(shè)備屬性對話框”。對話框最下方是一個(gè)SimulateI/O(仿真I/O)核選框,不選該核選框,指示新加入的設(shè)備連接一個(gè)真實(shí)的物理設(shè)備;選中該框指示新加入的設(shè)備并未和真實(shí)物理設(shè)備建立連接,所得到的數(shù)據(jù)只是仿真結(jié)果??梢韵蛞粋€(gè)設(shè)備中直接加入數(shù)據(jù)項(xiàng),也可在設(shè)備中創(chuàng)建若干個(gè)組,將具有相似功能的數(shù)據(jù)項(xiàng)組織起來。組的下面也可以創(chuàng)建組,層次的多少原則上沒有限制,然而從方便起見,層次不宜太多。設(shè)備、組、數(shù)據(jù)項(xiàng)的概念和Windows文件系統(tǒng)的驅(qū)動(dòng)器、文件夾、文件的概念很相似。選擇“Add”菜單下“NewGroup…”子菜單,或單擊工具條按鍵彈出“組對話框”。

選擇“Add”菜單下“NewTag…”子菜單,或單擊工具條按鍵彈出“數(shù)據(jù)項(xiàng)屬性對話框”。

選中“ScalingandAlarming”組框中“Enable”核選框,單擊“Setting…”按鍵,彈出“數(shù)據(jù)項(xiàng)設(shè)置對話框”。

填入相應(yīng)數(shù)值后,按確定返回主窗口即可。16.2.3OPC服務(wù)器與組態(tài)王數(shù)據(jù)詞典的連接OPC服務(wù)器與組態(tài)王數(shù)據(jù)詞典的連接如同PLC或板卡等外圍設(shè)備與組態(tài)王數(shù)據(jù)詞典的連接一樣。在組態(tài)王工程瀏覽器中,選中數(shù)據(jù)詞典,在工程瀏覽器右側(cè)雙擊新建圖標(biāo),選擇I/O類型變量,在連接設(shè)備處選擇OPC服務(wù)器,(注意,如果OPC服務(wù)器沒有事先啟動(dòng)的話,此時(shí)系統(tǒng)會(huì)自動(dòng)啟動(dòng)OPC服務(wù)器),如圖16-9所示。圖16-9OPC服務(wù)器與組態(tài)王數(shù)據(jù)詞典的連接在寄存器下拉式菜單中列出了在OPC服務(wù)器中定義過的所有項(xiàng)目名及數(shù)據(jù)項(xiàng),項(xiàng)目名和數(shù)據(jù)項(xiàng)以樹型結(jié)構(gòu)排列,如果某個(gè)分支下還有項(xiàng)目的話,鼠標(biāo)雙擊該分支,隱藏在該分支下的數(shù)據(jù)項(xiàng)會(huì)自動(dòng)列出來。鼠標(biāo)雙擊選擇對應(yīng)的數(shù)據(jù)項(xiàng),則選擇的數(shù)據(jù)項(xiàng)會(huì)自動(dòng)添加到“寄存器”中。如圖16-10所示。圖16-10定義OPC服務(wù)器的變量在組態(tài)王中新建一個(gè)畫面,畫面上創(chuàng)建一個(gè)文本圖素,定義圖素的動(dòng)畫連接為“模擬值輸出”,連接的變量為剛定義的“Mod_Tag1”。保存畫面,切換到組態(tài)王運(yùn)行系統(tǒng),打開畫面,可以看到組態(tài)王與OPC服務(wù)器間的數(shù)據(jù)交換。組態(tài)王可以和各種標(biāo)準(zhǔn)OPC服務(wù)器之間進(jìn)行數(shù)據(jù)交換。16.3組態(tài)王作為OPC服務(wù)器的使用組態(tài)王在原有的OPC客戶端的基礎(chǔ)上添加了OPC服務(wù)器的功能,實(shí)現(xiàn)了組態(tài)王對OPC的服務(wù)器和客戶端的統(tǒng)一。通過組態(tài)王OPC服務(wù)器功能,用戶可以更方便的實(shí)現(xiàn)其他支持OPC客戶的應(yīng)用程序與組態(tài)王之間的數(shù)據(jù)通訊和調(diào)用。16.3.1組態(tài)王OPC服務(wù)器的功能簡介1.OPC通訊技術(shù)上的實(shí)現(xiàn)OPC實(shí)現(xiàn)的是系統(tǒng)中進(jìn)程間的通訊,其采用VC中的COM和DCOM技術(shù)實(shí)現(xiàn)了接口,調(diào)用非常方便。2.OPC數(shù)據(jù)的通訊OPC之間的通訊是以變量為單位的,在OPC服務(wù)器上定義相關(guān)的變量和要采集的硬件進(jìn)行連接,并生成唯一表示此變量的ID標(biāo)識(shí)。此變量中保存著變量的數(shù)值,變量相關(guān)的信息,外部的程序能夠訪問的就是此變量的所有信息,即OPC服務(wù)器與外部的數(shù)據(jù)的傳輸是通過變量進(jìn)行對應(yīng)的。組態(tài)王作為服務(wù)器其所有變量都可以被外部支持OPC的客戶端進(jìn)行訪問,訪問的對象是變量或變量的域。而且對于可讀寫變量的可修改的域,用戶可以通過對組態(tài)王OPC服務(wù)器的訪問得到相應(yīng)的數(shù)值并能夠修改相應(yīng)的數(shù)值。另外,為了方便用戶對組態(tài)王OPC功能的使用,組態(tài)王提供了OPC客戶端接口開發(fā)包。該接口支持VB、VC等編程語言,用戶可以很方便的使用該動(dòng)態(tài)庫訪問組態(tài)王的實(shí)時(shí)數(shù)據(jù)。16.3.2組態(tài)王OPC服務(wù)器的使用OPC客戶作為一個(gè)獨(dú)立的應(yīng)用程序,可能由硬件制造商、軟件開發(fā)商或其他第三方提供,因此數(shù)據(jù)項(xiàng)定義的方法和界面都可能有所差異。下面以FactorySoft的OPC客戶端為例說明組態(tài)王OPC服務(wù)器的使用。(1)啟動(dòng)組態(tài)王的運(yùn)行系統(tǒng)(組態(tài)王的OPC服務(wù)器是指組態(tài)王的運(yùn)行系統(tǒng))。(2)運(yùn)行某些廠家提供的OPC客戶端,彈出畫面。(3)選擇界面“OPC”菜單中的CONNECT(連接)選項(xiàng),彈出連接服務(wù)器選項(xiàng)畫面。(4)組態(tài)王的OPC服務(wù)器標(biāo)志是KingView.View.1(KingView.View),用戶選擇此選項(xiàng)并點(diǎn)擊<確定>按鈕完成客戶端與服務(wù)器的連接。(如果用戶事先沒有啟動(dòng)組態(tài)王運(yùn)行系統(tǒng),此時(shí)將自動(dòng)啟動(dòng)組態(tài)王。)(5)在客戶端界面菜單中點(diǎn)擊“OPC”菜單下的ADDITEM選項(xiàng),彈出填加項(xiàng)目畫面,在變量瀏覽列表中列出了組態(tài)王的所有變量數(shù)據(jù)項(xiàng)。(OPC客戶端的具體使用方法因廠家不同而不同,使用時(shí)請參見廠家說明。)(6)一旦在客戶端中加入了組態(tài)王的變量,客戶端便按照給定的采集頻率對組態(tài)王的數(shù)據(jù)進(jìn)行采集。(7)選擇菜單“OPC”下的“WrightItem”項(xiàng),可以對可讀寫變量的可讀寫的域進(jìn)行修改。16.3.3組態(tài)王為用戶提供的OPC接口為了方便用戶使用組態(tài)王的OPC服務(wù)器功能,使用戶無需在無其他需求的情況下再購買其它的OPC客戶端,組態(tài)王提供了一整套與組態(tài)王的OPC服務(wù)器連接的函數(shù)接口,這些函數(shù)可通過提供的動(dòng)態(tài)庫KingvewCliend.dll來實(shí)現(xiàn)。用戶使用該動(dòng)態(tài)庫可以自行用VB、VC等編程語言編制組態(tài)王的OPC客戶端程序。如用戶不知道應(yīng)該讀取的項(xiàng)目在組態(tài)王中的表現(xiàn)形式,用戶可以通過調(diào)用ReadItemNo()函數(shù),然后通過返回的數(shù)目,依次調(diào)用GetItemNames得到項(xiàng)目的名稱。如用戶已經(jīng)知道了要讀取的變量名稱,用戶可以通過以下方法合成項(xiàng)目名稱,因?yàn)榻M態(tài)王的OPC服務(wù)器對外部暴露的項(xiàng)目支持到域,用戶可以使用組態(tài)王變量名稱+“.”+域名稱,如變量名為鍋爐溫度,如果用戶需要讀取它的值,用戶合成項(xiàng)目名稱是:鍋爐溫度.Value,Value是變量的數(shù)值域。

當(dāng)用戶合成了要采集的項(xiàng)目名稱后,用戶得調(diào)用AddTag()函數(shù)將要采集的項(xiàng)目添加到采集的列表中,用戶必須進(jìn)行該操作,否則不能進(jìn)行項(xiàng)目的數(shù)據(jù)采集。當(dāng)用戶調(diào)用此函數(shù)后,函數(shù)將返回項(xiàng)目在采集列表中的位置(TagId),和項(xiàng)目的數(shù)據(jù)類型(TagDataType),用戶將根據(jù)返回的信息進(jìn)行采集。

用戶添加完成采集項(xiàng)目列表后,可以通過調(diào)用ReadTag()和WriteTag()來對項(xiàng)目進(jìn)行讀寫,其參數(shù)中TagId是通過AddTag()得到的項(xiàng)目的位置號(hào),后面的四個(gè)變量是項(xiàng)目的數(shù)值,用戶根據(jù)項(xiàng)目的數(shù)據(jù)類型,得到或者寫入項(xiàng)目的數(shù)值。

用戶在程序退出之前,應(yīng)調(diào)用StopCliend()函數(shù),斷開客戶端與組態(tài)王的連接。序號(hào)錯(cuò)誤碼錯(cuò)誤碼含義10成功2-1OPCSERVER已經(jīng)被非法關(guān)閉3-2找不到OPCSERVER的PROGID4-3連接OPCSERVER不成功5-4枚舉ITEMS錯(cuò)誤6-5OPCSERVER沒有定義ITEMS7-6內(nèi)存分配錯(cuò)誤8-7在向GROUP中加入ITEMS時(shí)出現(xiàn)錯(cuò)誤9-8未使用10-9讀ITEMS時(shí)出現(xiàn)錯(cuò)誤11-10不能識(shí)別的數(shù)據(jù)類型12-11讀ITEMS的質(zhì)量戳?xí)r出現(xiàn)錯(cuò)誤13-12向ITEMS中寫入數(shù)據(jù)時(shí)出現(xiàn)錯(cuò)誤14-13用戶添加變量的變量名錯(cuò)誤15-14用戶讀取的變量序號(hào)越界表16-1錯(cuò)誤碼列表注意:該接口有詳細(xì)的例程和說明文檔,稱為"SDK開發(fā)包",包含在亞控的工具開發(fā)包之中。請與亞控公司的技術(shù)支持或銷售人員聯(lián)系。16.4如何使用網(wǎng)絡(luò)OPC通訊組態(tài)王支持網(wǎng)絡(luò)OPC功能,組態(tài)王與組態(tài)王之間可以通過網(wǎng)絡(luò)以O(shè)PC方式進(jìn)行通訊,同樣其他OPCclient/OPCserver也可以通過網(wǎng)絡(luò)與組態(tài)王之間以O(shè)PC方式進(jìn)行通訊。組態(tài)王作為OPCserver時(shí)只能在NT/2000/XP上使用。具體操作如下:16.4.1使用網(wǎng)絡(luò)OPC前的DCOM配置在使用網(wǎng)絡(luò)OPC模式前,需要使用DCOM配置工具對系統(tǒng)進(jìn)行配置。本節(jié)主要以組態(tài)王之間的互聯(lián)來介紹,其它OPC程序連接方法相同。主要有配置充當(dāng)OPC服務(wù)器的機(jī)器和客戶端通過OPC連接服務(wù)器,配置的方法和步驟如下。16.4.1.1配置充當(dāng)OPC服務(wù)器的機(jī)器配置充當(dāng)OPC服務(wù)器的機(jī)器是指對dcomcnfg程序進(jìn)行配置,win2000/winNT以上操作系統(tǒng)自己帶有配置程序—dcomcnfg程序,設(shè)置過程如下:(1)運(yùn)行dcomcnfg:在windows“開始”菜單中選擇“運(yùn)行”,在編輯框中輸入“dcomcnfg”。(2)定義屬性:點(diǎn)擊“確定”后,彈出“分布式com配置屬性”對話框。點(diǎn)擊“默認(rèn)安全機(jī)制”屬性頁標(biāo)簽,進(jìn)行定義。對“默認(rèn)訪問權(quán)限”,“默認(rèn)啟動(dòng)權(quán)限”和“默認(rèn)配置權(quán)限”進(jìn)行設(shè)置,添加“everyone”用戶,并將其權(quán)限分別設(shè)置為“允許訪問”,“允許調(diào)用”和“完全控制”。在“應(yīng)用程序”屬性頁的列表中選中“opcEnum”,單擊“屬性”按鈕。在“

溫馨提示

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

評論

0/150

提交評論