數(shù)據(jù)交換方式opc及dde_第1頁(yè)
數(shù)據(jù)交換方式opc及dde_第2頁(yè)
數(shù)據(jù)交換方式opc及dde_第3頁(yè)
數(shù)據(jù)交換方式opc及dde_第4頁(yè)
數(shù)據(jù)交換方式opc及dde_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、概念介紹:1 .OLE及DDE操作系統(tǒng)流行以來,“剪貼板”(Clipboard)首先解決了不同程序間的通信問題(由剪貼板作為數(shù)據(jù)交換中心,進(jìn)行復(fù)制、粘貼的操作),但是剪貼板傳遞的都是“死”數(shù)據(jù),應(yīng)用程序開發(fā)者得自行編寫、解析數(shù)據(jù)格式的代碼,于是動(dòng)態(tài)數(shù)據(jù)交換(Dynamic Data Exchange,DDE)的通信協(xié)定應(yīng)運(yùn)而生,它可以讓應(yīng)用程序之間自動(dòng)獲取彼此的最新數(shù)據(jù),但是,解決彼此之間的“數(shù)據(jù)格式”轉(zhuǎn)換仍然是程序員沉重的負(fù)擔(dān)。對(duì)象的鏈接與嵌入(Object Linking and Embedded,OLE)的誕生把原來應(yīng)用程序的數(shù)據(jù)交換提高到“對(duì)象交換”,這樣程序間不但獲得數(shù)據(jù)也同樣獲

2、得彼此的應(yīng)用程序?qū)ο?,并且可以直接使用彼此的?shù)據(jù)內(nèi)容,其實(shí)OLE是Microsoft的復(fù)合文檔技術(shù),它的最初版本只是瞄準(zhǔn)復(fù)合文檔,但在后續(xù)版本OLE2中,導(dǎo)入了COM。 2 .OPCOPC(OLE for Process Control)是一個(gè)軟件標(biāo)準(zhǔn),它可以使自動(dòng)化應(yīng)用程序方便地讀取工業(yè)企業(yè)的工廠級(jí)數(shù)據(jù)。OPC是基于Microsoft的組件對(duì)象建模(COM)技術(shù)定義一個(gè)標(biāo)準(zhǔn)接口,允許自動(dòng)化和控制應(yīng)用程序、控制設(shè)備、以及商業(yè)和辦公應(yīng)用軟件之間相互操作。3 .ODBC開放式數(shù)據(jù)庫(kù)連接 (ODBC) 技術(shù)為訪問不同種類的 SQL 數(shù)據(jù)庫(kù)提供了通用接口。ODBC 是基于結(jié)構(gòu)查詢語(yǔ)言 (SQL) 的,

3、以此作為訪問數(shù)據(jù)的標(biāo)準(zhǔn)。此接口提供了最大的互操作性:一個(gè)應(yīng)用程序可以通過一組公用代碼訪問不同的 SQL 數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS)。4 .SCADA數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)是一種軟件應(yīng)用程序,它用于遠(yuǎn)程實(shí)時(shí)遙控?cái)?shù)據(jù)采集過程,以實(shí)現(xiàn)對(duì)設(shè)備和條件的控制。SCADA可用于電場(chǎng)、石油和天然氣精煉、通信、運(yùn)輸以及水和廢物控制。二、OPC及DDE的工作機(jī)制和差別1.DDE技術(shù)的工作機(jī)制 dde是為在同一臺(tái)計(jì)算機(jī)或不同計(jì)算機(jī)上運(yùn)行的程序提供動(dòng)態(tài)數(shù)據(jù)交換,最早由microsoft 公司提出的。動(dòng)態(tài)數(shù)據(jù)交換(dde)技術(shù)由于其具有實(shí)時(shí)性好、網(wǎng)絡(luò)通信連接實(shí)現(xiàn)方便等特點(diǎn),在控制軟件與信息網(wǎng)絡(luò)集成中得到了廣

4、泛應(yīng)用。動(dòng)態(tài)數(shù)據(jù)交換基于windows消息機(jī)制,各應(yīng)用程序間通過傳遞消息進(jìn)行對(duì)話交換信息。windows dde消息傳遞采用client/server模式,客戶(client)是數(shù)據(jù)的請(qǐng)求和接受者,而服務(wù)器(server)是數(shù)據(jù)的提供者,兩者之間通過請(qǐng)求、應(yīng)答、傳輸三個(gè)步驟來完成數(shù)據(jù)的傳送。dde協(xié)議使用服務(wù)(service)、主題(topic)和數(shù)據(jù)項(xiàng)(item)三級(jí)命名來標(biāo)識(shí)dde所傳遞的數(shù)據(jù)單元。一般情況下,服務(wù)(service)就是應(yīng)用程序的文件名,主題是對(duì)服務(wù)器有意義的信息單元。每次dde客戶與服務(wù)程序之間的對(duì)話都是先由客戶啟動(dòng)的,所以在每次客戶啟動(dòng)之前,dde服務(wù)器應(yīng)當(dāng)首先投入運(yùn)行

5、。當(dāng)客戶程序需要向服務(wù)器程序請(qǐng)求數(shù)據(jù)時(shí),客戶程序發(fā)送一條wm-dde-initiate消息給當(dāng)前運(yùn)行的所有windows應(yīng)用程序,這條消息不但包含了它所需要的服務(wù)器名(service)和主題名(topic),而且指明了它所希望的數(shù)據(jù)類型,收到wm-dde-initiate消息的應(yīng)用程序通過判別服務(wù)器名和會(huì)話主題決定是否應(yīng)答,一旦dde服務(wù)器響應(yīng)了這條被傳播的消息,dde會(huì)話就開始了。dde的工作方式有冷連接(cool link)、溫連接(warmlink)和熱連接(hot link)等3種。在冷連接方式下,當(dāng)server中的數(shù)據(jù)發(fā)生變化后不主動(dòng)通知client,但client可以隨時(shí)從serv

6、er讀寫數(shù)據(jù);在溫連接方式下,當(dāng)server中的數(shù)據(jù)發(fā)生變化后馬上通知client,client得到通知后將數(shù)據(jù)取回;在熱連接方式下,當(dāng)server中的數(shù)據(jù)發(fā)生變化后馬上通知client,同時(shí)將變化的數(shù)據(jù)直接送給client。 dde的網(wǎng)絡(luò)形式稱為netdde,它包含了dde的全部特征,是動(dòng)態(tài)數(shù)據(jù)交換(dde)的擴(kuò)充,可以在跨越網(wǎng)絡(luò)的計(jì)算機(jī)之間使用。采用netdde后,兩個(gè)或更多網(wǎng)絡(luò)上的應(yīng)用能夠通過dde共享來建立網(wǎng)絡(luò)上不同工作站之間的連接,從而實(shí)現(xiàn)站站之間的動(dòng)態(tài)信息共享。2. opc技術(shù)的工作機(jī)制 在opc技術(shù)出現(xiàn)以前,dde技術(shù)是絕大多數(shù)控制系統(tǒng)都支持和采用的數(shù)據(jù)交換方式。但是,由于dde

7、是基于windows信息傳遞而建立的技術(shù),因此,當(dāng)通信量較大時(shí),就會(huì)出現(xiàn)數(shù)據(jù)刷新速度慢、安全性管理機(jī)制差、可靠性能低等現(xiàn)象,從而就有可能致使dde客戶程序在較長(zhǎng)時(shí)間內(nèi)得不到回應(yīng)。和dde 技術(shù)相比,基于com和dcom技術(shù)的opc技術(shù)具有數(shù)傳送性能高、 安全性管理性能好、開發(fā)成本低等特點(diǎn)。最初階段的opc規(guī)范是由opc基金會(huì)的先fisher-rosemount、rockwell、opto 22、intellution、intuitive technology公司于1996年8月發(fā)布的,目前opc基金會(huì)成員在全球已超過300多個(gè),其中包括世界上幾乎所有主要的控制系統(tǒng)、儀器儀表、過程控制系統(tǒng)生產(chǎn)廠

8、家。opc以ole/com/dcom技術(shù)為基礎(chǔ),是ole(object linking and embedding)for process control的縮寫,是微軟公司的對(duì)象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用。與dde一樣,opc也采用client/server模式。opc服務(wù)器是數(shù)據(jù)源的提供者,數(shù)據(jù)源可以是plc、dcs、條形碼讀取器等控制設(shè)備,隨控制系統(tǒng)的構(gòu)成不同,作為數(shù)據(jù)源的opc服務(wù)器既可以是和opc應(yīng)用程序在同一臺(tái)計(jì)算機(jī)上運(yùn)行的本地opc服務(wù)器,也可以是在另外計(jì)算機(jī)上運(yùn)行的遠(yuǎn)程opc服務(wù)器。opc客戶是數(shù)據(jù)的使用者,它按照opc接口規(guī)范從opc服務(wù)器獲取所需要的數(shù)據(jù)。opc服務(wù)器

9、主要包括三部分:服務(wù)器(server)、組(group)和數(shù)據(jù)項(xiàng)(item)。服務(wù)器對(duì)象保存服務(wù)器和服務(wù)器作為opc組對(duì)象容器的所有信息。opc組對(duì)象包括公共組和局部組(私有組)兩種,公共組由多個(gè)客戶共享,局部組只隸屬于一個(gè)opc客戶。一個(gè)組可能代表一個(gè)特殊設(shè)備的數(shù)據(jù)項(xiàng),opc 客戶可以通過組對(duì)象來讀寫數(shù)據(jù),并可以設(shè)定opc服務(wù)器應(yīng)該提供給opc client數(shù)據(jù)的更新速率。opc 數(shù)據(jù)項(xiàng)是讀寫數(shù)據(jù)的最小邏輯單位(在實(shí)際應(yīng)用中,可能是物理設(shè)備的寄存器或寄存器的某一位),其數(shù)據(jù)值以variant形式表示,每個(gè)數(shù)據(jù)項(xiàng)包括值(value)、品質(zhì)(quality)和時(shí)間戳(time stamp)3個(gè)變

10、量。在一個(gè)組對(duì)象中,opc 客戶可以加入多個(gè)opc數(shù)據(jù)項(xiàng)。opc客戶與opc服務(wù)器的接口有自定義接口(custom interface)和自動(dòng)化接口(automation interface)兩種形式。自定義接口是一組com接口,主要用于采用c+語(yǔ)言的應(yīng)用程序開發(fā);自動(dòng)化接口是自動(dòng)化的ole接口,主要用于采用vb,delphi等基于腳本編程語(yǔ)言的應(yīng)用程序開發(fā)。對(duì)于客戶端應(yīng)用程序的開發(fā),采用自定義接口的方式運(yùn)行效率高,但開發(fā)難度較大;采用自動(dòng)化接口的方式運(yùn)行效率低,但開發(fā)簡(jiǎn)單。這兩種接口與opc服務(wù)器的通信方式可用1圖所示。圖1自定義接口和自動(dòng)化接口與opc服務(wù)器通信方式示意圖 對(duì)于分布式計(jì)算機(jī)

11、上的opc客戶程序的開發(fā),opc標(biāo)準(zhǔn)采用dcom技術(shù)實(shí)現(xiàn)服務(wù)器和客戶程序的通訊。opc的數(shù)據(jù)訪問主要有同步數(shù)據(jù)訪問和異步數(shù)據(jù)訪問兩種方式。同步數(shù)據(jù)訪問時(shí),opc服務(wù)器在將按照opc應(yīng)用程序要求的數(shù)據(jù)返回之前,opc應(yīng)用程序一直處于等待狀態(tài),也就是說,同步方式的數(shù)據(jù)訪問在要求的動(dòng)作沒有完成前不能執(zhí)行任何opc應(yīng)用程序側(cè)的處理。與之相比,異步方式的數(shù)據(jù)訪問在對(duì)opc服務(wù)器提出數(shù)據(jù)訪問要求后,立即返回到opc應(yīng)用程序側(cè)的主處理程序中,opc服務(wù)器完成數(shù)據(jù)訪問時(shí)通知opc應(yīng)用程序,opc應(yīng)用程序從而得到數(shù)據(jù)訪問結(jié)果。當(dāng)opc應(yīng)用程序采用自動(dòng)化接口訪問opc服務(wù)器時(shí),同步和異步數(shù)據(jù)操作分別由syncre

12、ad、syncwrite和asyncread、asyncwrite四個(gè)opc組對(duì)象的方法函數(shù)來實(shí)現(xiàn)。3.opc和dde的差別DDE動(dòng)態(tài)數(shù)據(jù)交換機(jī)制是需要兩個(gè)Windows應(yīng)用程序,其中一個(gè)作為服務(wù)器處理信息,另外一個(gè)作為客戶機(jī)從服務(wù)器獲得信息??蛻魴C(jī)應(yīng)用程序向當(dāng)前所激活的服務(wù)器應(yīng)用程序發(fā)送一條消息請(qǐng)求信息,服務(wù)器應(yīng)用程序根據(jù)該信息作出應(yīng)答,從而實(shí)現(xiàn)兩個(gè)程序之間的數(shù)據(jù)交換。 OPC(bject Linking and Embeding for Process Control)是以O(shè)LE/COM機(jī)制作為應(yīng)用程序的通訊標(biāo)準(zhǔn)。OPC是一種基于開放標(biāo)準(zhǔn)的開放式連結(jié),允許在自動(dòng)化/控制應(yīng)用、現(xiàn)場(chǎng)設(shè)備和商業(yè)

13、/辦公室應(yīng)用之間進(jìn)行簡(jiǎn)明的、標(biāo)準(zhǔn)化的數(shù)據(jù)交換。OPC標(biāo)準(zhǔn)以微軟公司的OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。OPC規(guī)范了接口函數(shù),不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對(duì)客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。 OPC取代DDE的原因:DDE使客戶應(yīng)用能夠獨(dú)立于數(shù)據(jù)源的供應(yīng)方,開發(fā)商不必再象以往那樣定義專用的接口。于是DDE成為許多類型的自動(dòng)化設(shè)備的標(biāo)準(zhǔn)接口。DDE的出現(xiàn)使人們以為數(shù)據(jù)訪問的問題得到了有效解決,但在使用過程中,用戶才發(fā)現(xiàn)采用D

14、DE來在設(shè)備和控制系統(tǒng)之間傳遞實(shí)時(shí)信息并非理想的辦法,因?yàn)樗趥鬏斝阅芎涂煽啃缘确矫娑即嬖谠S多限制。為此開發(fā)商不得不對(duì)DDE標(biāo)準(zhǔn)進(jìn)行擴(kuò)展,他們開發(fā)出各種專用的信息格式,以提高客戶應(yīng)用程序的性能和通信吞吐量。于是出現(xiàn)了DDE的多種演化版本。多種版本的DDE違背DDE最初的宗旨,因?yàn)椴煌腄DE格式使得客戶在選擇時(shí)又不得不受開發(fā)商所用格式的限制,也最終使得DDE不能夠再稱為統(tǒng)一的標(biāo)準(zhǔn)。另外DDE不適用于大量數(shù)據(jù)的高速數(shù)據(jù)采集,并且DDE從來沒有為不同計(jì)算機(jī)之間的數(shù)據(jù)交換提供可靠的機(jī)制。上述這些原因促使工業(yè)界不得不重新制訂更為高效、可靠的數(shù)據(jù)訪問標(biāo)準(zhǔn),這就是OPC。OPC比DDE更好,所提供的功能也

15、更為強(qiáng)大。此外,OPC提供的是一個(gè)標(biāo)準(zhǔn)的通信協(xié)議,而不象DDE那樣存在不同的DDE格式。OPC時(shí)代的到來使數(shù)據(jù)的交換與通信變得開放、高效、安全、可靠,同時(shí)也為信息的集成提供了更為合理和簡(jiǎn)便的方法。與DDE相比,OPC最主要的優(yōu)勢(shì)體現(xiàn)在數(shù)據(jù)傳輸速率上。由于OPC服務(wù)器每秒能管理成百上千個(gè)事務(wù),而且與DDE不同的是它的每個(gè)事務(wù)能包含多個(gè)數(shù)據(jù)項(xiàng),因此采用OPC傳輸數(shù)據(jù)要比DDE快得多。三、DDE與OPC技術(shù)在自動(dòng)化領(lǐng)域中的應(yīng)用當(dāng)前,dde、opc技術(shù)在許多世界著名的自動(dòng)化廠家的i/o通訊服務(wù)器、scada等自動(dòng)化軟件中都得到了體現(xiàn)。例如wonderware 公司的daserver和intouch、s

16、iemens公司的simatic net和wincc、 rockwell-ab公司的rslinx和rsview32等。其中daserver和rslinx既可作為opc server,又可作為dde server;wincc和rsview32則既可以作為opc client,又可作為dde client。同時(shí),由于各家的軟件接口都合乎dde、opc接口規(guī)范標(biāo)準(zhǔn),所以,不同廠家的i/o通訊、scada等軟件產(chǎn)品也可以很方便的實(shí)現(xiàn)互連。 以太網(wǎng)數(shù)據(jù)訪問的服務(wù)器軟件,支持dde、opc、suitlink、fastdde等通訊方式。當(dāng)客戶程序通訊接口與dassidirect的連接采用dde方式時(shí),das

17、sidirect 的數(shù)據(jù)訪問采用了節(jié)點(diǎn)名(node name)、應(yīng)用程序名(application name,此處為dassidirect)、主題名(topic name)和項(xiàng)目名(item name)的層次結(jié)構(gòu)。而當(dāng)通訊接口以opc方式與dassidirect連接時(shí),dassidirect 的數(shù)據(jù)訪問則采用了節(jié)點(diǎn)名(node name)、服務(wù)器名(program name,此處為archestra.dassidirect.1)、組名(group name)、設(shè)備組名(device group)、連接名(link name)和項(xiàng)目名(item name)的層次結(jié)構(gòu)。各層次項(xiàng)可在dassidir

18、ect軟件界面中配置實(shí)現(xiàn)。工程應(yīng)用時(shí),需要在dassidirect管理界面smc archestra.dassidirect.1目錄下根據(jù)需要依次添加接口類型(tcp/ip)、接口處理器類型(s7 plc),并進(jìn)行必要的參數(shù)設(shè)置,然后還要為device groups添加不同的topic以方便對(duì)不同變量的歸類管理。intouch標(biāo)簽變量對(duì)dassidirect的訪問是通過“訪問名”的設(shè)置來實(shí)現(xiàn)的,所以intouch中“訪問名”的設(shè)置必須和dassidirect軟件中的設(shè)置一一對(duì)應(yīng),例如,“訪問名”中“應(yīng)用程序名”應(yīng)設(shè)置為dassidirect,“訪問名”中“主題名”的設(shè)置應(yīng)和dassidirec

19、t中所添加的topic名稱完全一致。此外,intouch標(biāo)簽變量“項(xiàng)目名”的填寫也必須遵從dassidirect中item name的定義形式,例如對(duì)s7 plc數(shù)據(jù)塊地址word的訪問形如db11.w80,對(duì)數(shù)據(jù)塊地址dword的訪問形如db11.d80,對(duì)輸入/輸出位的訪問形式分別為i5.2/q7.5等。和wonderware公司的dassid-irect一樣,rslinx也支持opc/dde兩種通訊方式。當(dāng)intouch和rslinx以dde方式進(jìn)行通訊時(shí),首先需要在rslinx“dde/opc topic configuration ”對(duì)話框中添加新的topic,并建立該topic與要連接r

溫馨提示

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

評(píng)論

0/150

提交評(píng)論