在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DDE與OPC技術(shù)的工作機(jī)制及在工業(yè)控制領(lǐng)域中的應(yīng)用分析

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-29 09:59 ? 次閱讀

1 引言

隨著工業(yè)生產(chǎn)的不斷發(fā)展以及自動(dòng)化系統(tǒng)集成度的不斷提高,自動(dòng)化控制是一種現(xiàn)代工業(yè)、農(nóng)業(yè)、制造業(yè)等生產(chǎn)領(lǐng)域中機(jī)械電氣一體自動(dòng)化集成控制技術(shù)和理論。自動(dòng)化控制技術(shù)廣泛用于工業(yè)、農(nóng)業(yè)、軍事、科學(xué)研究、交通運(yùn)輸、商業(yè)、醫(yī)療、服務(wù)和家庭等方面。采用自動(dòng)化控制不僅可以把人從繁重的體力勞動(dòng)、部分腦力勞動(dòng)以及惡劣、危險(xiǎn)的工作環(huán)境中解放出來,而且能擴(kuò)展人的器官功能,極大地提高勞動(dòng)生產(chǎn)率,增強(qiáng)人類認(rèn)識(shí)世界和改造世界的能力。因此,自動(dòng)化控制是工業(yè)、農(nóng)業(yè)、國(guó)防和科學(xué)技術(shù)現(xiàn)代化的重要條件和顯著標(biāo)志。因此,為了能夠解決工業(yè)系統(tǒng)硬件設(shè)備的升級(jí)改變?yōu)檐浖到y(tǒng)帶來的不便,更好的實(shí)現(xiàn)不同設(shè)備廠家硬件產(chǎn)品的集成互連,增強(qiáng)系統(tǒng)的穩(wěn)定性與可靠性,工業(yè)自動(dòng)化軟件接口的標(biāo)準(zhǔn)化、統(tǒng)一化成為工業(yè)控制領(lǐng)域必須面臨的一個(gè)問題。

為了能夠使得自動(dòng)化軟件的開發(fā)具有統(tǒng)一的接口標(biāo)準(zhǔn),dde(動(dòng)態(tài)數(shù)據(jù)交換:dynamic data exchan-ge)、opc(基于過程控制的鏈接與嵌入:ole for process control)技術(shù)的出現(xiàn)和應(yīng)用為不同的自動(dòng)化程序系統(tǒng)之間能夠?qū)崿F(xiàn)簡(jiǎn)單交互、無縫互連做出了巨大的貢獻(xiàn)。

2 dde與opc技術(shù)的工作機(jī)制

2.1 dde技術(shù)的工作機(jī)制

DDE是一種動(dòng)態(tài)數(shù)據(jù)交換機(jī)制(Dynamic Data Exchange,DDE)。使用DDE通訊需要兩個(gè)Windows應(yīng)用程序,其中一個(gè)作為服務(wù)器處理信息,另外一個(gè)作為客戶機(jī)從服務(wù)器獲得信息。客戶機(jī)應(yīng)用程序向當(dāng)前所激活的服務(wù)器應(yīng)用程序發(fā)送一條消息請(qǐng)求信息,服務(wù)器應(yīng)用程序根據(jù)該信息作出應(yīng)答,從而實(shí)現(xiàn)兩個(gè)程序之間的數(shù)據(jù)交換。

動(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)行。

當(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)、溫連接(warm link)和熱連接(hot link)等3種。在冷連接方式下,當(dāng)server中的數(shù)據(jù)發(fā)生變化后不主動(dòng)通知client,但client可以隨時(shí)從server讀寫數(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.2 opc技術(shù)的工作機(jī)制

OPC全稱是Object Linking and Embeding(OLE) for Process Control,它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場(chǎng)過程控制應(yīng)用建立了橋梁。在過去,為了存取現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息,每一個(gè)應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場(chǎng)設(shè)備的種類繁多,且產(chǎn)品的不斷升級(jí),往往給用戶和軟件開發(fā)商帶來了巨大的工作負(fù)擔(dān)。通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。在這種情況下,OPC標(biāo)準(zhǔn)應(yīng)運(yùn)而生。OPC標(biāo)準(zhǔn)以微軟公司的OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE 2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。

在opc技術(shù)出現(xiàn)以前,dde技術(shù)是絕大多數(shù)控制系統(tǒng)都支持和采用的數(shù)據(jù)交換方式。但是,由于dde是基于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ù)據(jù)傳送性能高、 安全性管理性能好、開發(fā)成本低等特點(diǎn)。

DDE與OPC技術(shù)的工作機(jī)制及在工業(yè)控制領(lǐng)域中的應(yīng)用分析

最初階段的opc規(guī)范是由opc基金會(huì)的先驅(qū)fisher-rosemount、rockwell、opto 22、intellution、intuitive technology公司于1996年8月發(fā)布的,目前opc基金會(huì)成員在全球已超過300多個(gè),其中包括世界上幾乎所有主要的控制系統(tǒng)儀器儀表、過程控制系統(tǒng)生產(chǎn)廠家。

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ù)器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機(jī)制。這兩種接口是:自動(dòng)化接口(Automation interface);自定義接口(Custom interface)。自動(dòng)化接口通常是為基于腳本編程語言而定義的標(biāo)準(zhǔn)接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務(wù)器的客戶應(yīng)用。而自定義接口是專門為C++等高級(jí)編程語言而制定的標(biāo)準(zhǔn)接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來了便利,用戶不用為通訊協(xié)議的難題而苦惱。任何一家自動(dòng)化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。

opc客戶與opc服務(wù)器的接口有自定義接口(custom interface)和自動(dòng)化接口(automation interface)兩種形式。自定義接口是一組com接口,主要用于采用c++語言的應(yīng)用程序開發(fā);自動(dòng)化接口是自動(dòng)化的ole接口,主要用于采用vb,delphi等基于腳本編程語言的應(yīng)用程序開發(fā)。對(duì)于客戶端應(yīng)用程序的開發(fā),采用自定義接口的方式運(yùn)行效率高,但開發(fā)難度較大;采用自動(dòng)化接口的方式運(yùn)行效率低,但開發(fā)簡(jiǎn)單。這兩種接口與opc服務(wù)器的通信方式可用1圖所示。

DDE與OPC技術(shù)的工作機(jī)制及在工業(yè)控制領(lǐng)域中的應(yīng)用分析

圖1 自定義接口和自動(dòng)化接口與opc服務(wù)器通信方式示意圖

對(duì)于分布式計(jì)算機(jī)上的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ù)操作分別由syncread、syncwrite和asyncread、asyncwrite四個(gè)opc組對(duì)象的方法函數(shù)來實(shí)現(xiàn)。

3 dde與opc技術(shù)應(yīng)用

當(dāng)前,dde、opc技術(shù)在許多世界著名的自動(dòng)化廠家的i/o通訊服務(wù)器、scada等自動(dòng)化軟件中都得到了體現(xiàn)。例如wonderware 公司的daserver和intouch、siemens公司的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)互連。

下面分別以wonderware 公司的intouch與daserver(dassidirect)、intouch與rockwell-ab公司的rslinx進(jìn)行dde通訊,siemens 公司的wincc 與simatic net 、wincc 與rslinx進(jìn)行opc通訊的方法為例說明dde、opc技術(shù)在工業(yè)自動(dòng)化軟件的應(yīng)用情況。

dassidirect是wonderware 公司開發(fā)用于對(duì)siemens s7 200/300/400系列plc進(jìn)行以太網(wǎng)數(shù)據(jù)訪問的服務(wù)器軟件,支持dde、opc、suitlink、fastdde等通訊方式。當(dāng)客戶程序通訊接口與dassidirect的連接采用dde方式時(shí),dassidirect 的數(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)可在dassidirect軟件界面中配置實(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)和dassidirect中所添加的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與要連接rslogix plc cpu之間的對(duì)應(yīng)關(guān)系,然后再對(duì)intouch中"訪問名"做相應(yīng)的配置。不過,此時(shí)"訪問名"中"應(yīng)用程序名"應(yīng)設(shè)置為rslinx,"訪問名"中的"主題名"則應(yīng)和在rslinx中所添加的topic名稱完全一致。而intouch標(biāo)簽變量"項(xiàng)目名"的填寫也應(yīng)遵從rslinx中item name的定義形式,例如對(duì)rslogix plc cpu中全局變量controller tags地址的訪問即為 plc變量地址的tag name,而對(duì)cpu中程序變量program tags地址的訪問則為program:.的形式。

當(dāng)采用siemens 公司的wincc作為opc client與opc服務(wù)器進(jìn)行opc方式連接時(shí),首先需要在wincc資源管理器中添加opc通訊驅(qū)動(dòng)程序opc.chn,然后在出現(xiàn)的opc通道單元的"連接屬性"和所建變量的"變量地址屬性"對(duì)話框中分別填寫"opc服務(wù)器名稱"和"變量地址名稱",這樣便可建立該變量到opc服務(wù)器的連接。需要說明的是,不同的opc服務(wù)器,其opc服務(wù)器名稱和地址格式是不盡相同的,例如siemens simatic net opc服務(wù)器的名稱和地址訪問格式(以按s7協(xié)議對(duì)s7系列 plc數(shù)據(jù)訪問為例)分別是"opc.simaticnet"和"s7:[<連接名稱>]",而rockwell rslinx opc服務(wù)器的名稱和對(duì)rslogix 系列plc數(shù)據(jù)訪問的地址格式分別是"rsllinx opc server"和"[]".

同樣,其它scada軟件與相關(guān)dde、opc服務(wù)器軟件通訊的實(shí)現(xiàn)方法與此類似,不再贅述。

此外,由于dde、opc都是標(biāo)準(zhǔn)規(guī)范,所以也可以根據(jù)需要來實(shí)現(xiàn)dde、opc之間的接口轉(zhuǎn)換來滿足實(shí)際需求,例如wonderware公司的opclink便是實(shí)現(xiàn)opc、dde接口轉(zhuǎn)換的專用軟件。

4 利用vb開發(fā)dde與opc客戶端

vb是Visual Basic的簡(jiǎn)稱,是由美國(guó)微軟公司于1991年開發(fā)的一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語言,可用于開發(fā) Windows 環(huán)境下的各類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大可以與 Windows 專業(yè)開發(fā)工具SDK相媲美。在Visual Basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),動(dòng)態(tài)鏈接庫(kù)(DLL)、對(duì)象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。

Visual 意為可視的、可見的,指的是開發(fā)像Windows操作系統(tǒng)的圖形用戶界面(Graphic User Interface,GUI)的方法,它與其他編程軟件不同的是不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對(duì)象拖放到屏幕上相應(yīng)的位置即可。應(yīng)該說,這是一次質(zhì)的飛躍,是一次編程技術(shù)的革命。

如上所述,目前許多scada軟件都采用了dde、opc技術(shù)規(guī)范作為其軟件接口,而scada監(jiān)控軟件在實(shí)際工程應(yīng)用中則扮演了dde、opc客戶端的角色。另外,wonderware公司的wwclient,siemens公司的simatic net opc scout和rockwell-ab公司的opc test client等測(cè)試軟件也都是dde、opc客戶端軟件的實(shí)例。

dde、opc客戶端軟件可采用visual c++、visual basic、delphi等編程軟件實(shí)現(xiàn),這里主要對(duì)如何用visual basic 6.0編寫dde、opc 客戶端實(shí)現(xiàn)和dde、opc 服務(wù)器通訊的方法分別予以介紹。

4.1 利用vb開發(fā)dde 客戶端

作為microsoft 公司軟件產(chǎn)品的重要一員,visual basic理所當(dāng)然的對(duì)windows操作系統(tǒng)的下的dde技術(shù)給予支持。visual basic為一些控件提供了用于dde動(dòng)態(tài)數(shù)據(jù)交換的linktopic、linkitem、linktimeout、linkmode等屬性,以及l(fā)inkrequest、linkpoke、linkexecute、linksend等方法。其中,linktopic、linkitem兩項(xiàng)屬性分別對(duì)應(yīng)于dde通訊架構(gòu)中的主題名和數(shù)據(jù)項(xiàng)名,linktimeout、linkmode分別表示dde 客戶端與dde服務(wù)器的嘗試連接時(shí)間和連接模式(數(shù)據(jù)交換方式),linkmode有manual、notify、automatic三種方式,而automatic方式最為常用,它主要用于和dde server建立"熱連接(hot link)",即在dde服務(wù)器數(shù)據(jù)發(fā)生變化時(shí)主動(dòng)發(fā)送數(shù)據(jù)給客戶端。linkrequest、linkpoke分別用于dde 客戶端對(duì)dde服務(wù)器數(shù)據(jù)的讀寫操作。

根據(jù)應(yīng)用程序與服務(wù)器程序dde方式通訊機(jī)制,可以在visual basic編程環(huán)境下開發(fā)適合實(shí)際需要的dde客戶端應(yīng)用程序。例如,visual basic訪問intouch 程序變量"intouchtag"時(shí),其代碼為label1.linktopic= "view|tagn-ame"

label1.linkitem= "intouchtag"

label1.linkmode=1

label1.linkrequest

其中,代碼中的"view"和"tagname"分別表示intouch windowviewer的應(yīng)用程序名和主題名,"linkmode"值為1表示該應(yīng)用程序與windowviewer的連接方式為automatic(即"熱連接")方式。這樣,當(dāng)該應(yīng)用代碼被執(zhí)行時(shí),label1的值便隨intouch windowviewer"intouchtag"變量的變化而變化。

同樣可以在visual basic中添加label2、label3,并建立和dassidirect、rsllinx的dde通訊連接,使其分別隨所連接s7-300 plc數(shù)據(jù)db5.dbw20、controllogix 1756-l55 plc全局變量"linxlogixtag"數(shù)值的變化而變化,其代碼分別如下:

label2.linktopic = "dassidire

-ct|dasvrtopic"

label2.linkitem = "db5.w20"

label2.linkmode = 1

label2.linkrequest

label3.linktopic = "rslinx|" & "rslinxtopic"

label3.linkitem= "linxlogixtag"

label3.linkmode = 1

label3.linkrequest

其中,"dassidirect"和"dasvrtopic"、"rslinx"和"rslinxtopic"分別為dassidirect和rslinx的應(yīng)用程序名以及在dassidirect和rslinx dde服務(wù)器中建立的主題名。而"db5.w20"和"linxlogixtag"則分別對(duì)應(yīng)于s7-300 plc數(shù)據(jù)db5.dbw20和controllogix 1756-l55 plc全局變量linxlogixtag,這樣,該段代碼被執(zhí)行時(shí),label2和label3的數(shù)值將隨plc中數(shù)據(jù)db5.dbw20與linxlogixtag變量值的變化而變化。

netdde是dde的網(wǎng)絡(luò)擴(kuò)展形式,主要為網(wǎng)絡(luò)上不同計(jì)算機(jī)之間的動(dòng)態(tài)數(shù)據(jù)交換提供方便。在visual basic編程環(huán)境下,也可以開發(fā)基于netdde的客戶端應(yīng)用程序。與開發(fā)dde客戶端不同的是,網(wǎng)絡(luò)上作為dde服務(wù)器和客戶端的計(jì)算機(jī)都要啟動(dòng)netdde.exe服務(wù),并在作為dde服務(wù)器的計(jì)算機(jī)上同時(shí)啟動(dòng)ddeshare.exe程序,對(duì)新建的dde共享進(jìn)行必要的設(shè)置。如下代碼的功能為計(jì)算機(jī)pc02讀取pc01計(jì)算機(jī)上rslinx dde服務(wù)器所采集的"linxlogixtag" plc變量的值。

label4.linktopic= "\pc01

ndde$|pc01shrnm"

label4.linkitem= "linxlogixtag"

label4.linkmode=1

label4.linkrequest

由于netdde的訪問采用了"\<計(jì)算機(jī)名>|<共享名>!<變量名>"的形式,所以,上述代碼中的"pc01"、"pc01shrnm"分別為dde服務(wù)器的計(jì)算機(jī)名和ddeshare.exe程序中的新建共享名,而dde訪問所需要的應(yīng)用程序名rslinx和主題名rslinxtopic則在新建共享"pc01shrnm"的屬性對(duì)話框中進(jìn)行了設(shè)置。

此外,由于excel也支持dde技術(shù),所以pc01計(jì)算機(jī)上rslinx dde服務(wù)器plc變量linxlogixtag的變化也可以在pc02計(jì)算機(jī)excel表格中得到體現(xiàn),只需要在需要顯示該值的單元格中填寫如下代碼='\pc01ndde$'|pc01shrnm!linxlogixtag

4.2 利用vb開發(fā)opc 客戶端

利用visual basic所開發(fā)的opc客戶端應(yīng)用程序主要采用自動(dòng)化通信接口和opc服務(wù)器程序?qū)嵤┩ㄐ拧6鴒pc基金會(huì)提供的opc自動(dòng)化接口 opcdaauto.dll動(dòng)態(tài)鏈接庫(kù)集成了所有用于對(duì)opc服務(wù)器進(jìn)行訪問的對(duì)象、屬性和方法,為利用visual basic開發(fā)opc客戶端應(yīng)用程序提供了極大方便。程序設(shè)計(jì)時(shí),opc客戶程序應(yīng)當(dāng)首先生成opc服務(wù)器支持的opc對(duì)象,然后再使用opc對(duì)象支持的屬性和方法,實(shí)現(xiàn)對(duì)opc服務(wù)器的操作和訪問。

opc數(shù)據(jù)訪問對(duì)象主要包括opc服務(wù)器(opcserver)、opc組集合(opcgroups)、opc組(opcgroup)、opc標(biāo)簽集合(opcitems)、opc標(biāo)簽(opcitem)、opc瀏覽器(opcbrowser)等幾個(gè)部分。程序設(shè)計(jì)時(shí),要首先在visual basic環(huán)境下選擇對(duì)opc automation 2.0接口的引用,此時(shí),opc對(duì)象會(huì)被自動(dòng)添加到正在開發(fā)的工程項(xiàng)目中,然后,再根據(jù)需要建立這些對(duì)象的實(shí)例并利用其屬性和方法來實(shí)現(xiàn)對(duì)opc服務(wù)器的訪問。對(duì)opc服務(wù)器的訪問主要包括聲明opc對(duì)象實(shí)例、連接opc server、添加標(biāo)簽變量、讀寫opc服務(wù)器(同步/異步)、斷開連接等幾個(gè)步驟。

opc對(duì)象實(shí)例的聲明主要包括對(duì)opc服務(wù)器、opc組集合、opc組、opc標(biāo)簽集合、opc服務(wù)器句柄的聲明及程序所需要的其它實(shí)例的聲明。opc客戶端和opc server的連接主要靠調(diào)用opc服務(wù)器對(duì)象實(shí)例的connect方法函數(shù)來完成,例如,連接本地計(jì)算機(jī)dassidirect和rslinx opc server 的代碼分別為connect("archestra.dassidirect.1")和connect("rslinx opc server")

連接網(wǎng)絡(luò)遠(yuǎn)程計(jì)算機(jī)(ip地址為10.144.45.45)上dassidirect和rslinx opc server 的代碼分別為connect("archestra.dassidirect.1", "\10.144.45.45")和connect("rslinx opc server", "\10.144.45.45")

需要說明的是當(dāng)進(jìn)行遠(yuǎn)程opc連接時(shí),必須在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行dcomcnfg程序,并啟動(dòng)該計(jì)算機(jī)opc服務(wù)器的dcom服務(wù)。

標(biāo)簽變量的添加主要由opc標(biāo)簽集合的additems方法函數(shù)實(shí)現(xiàn),該函數(shù)定義了添加的標(biāo)簽數(shù)量、標(biāo)簽變量名(數(shù)組)、應(yīng)用程序句柄(數(shù)組)、opc服務(wù)器句柄(數(shù)組)、錯(cuò)誤代碼(數(shù)組)等方面的信息。例如,為dassidirect和rslinx opc服務(wù)器添加標(biāo)簽變量的代碼為tagnms(1)="portcps7.jsbf.db2,x48.0"或者tagnms(1)="linxlogixtag"

my_items.additems itmnum, tagnms, clienthdls, svrhandles, err

其中,my_items為opc標(biāo)簽集合的一個(gè)實(shí)例。標(biāo)簽變量添加完成后,可通過syncread、syncwrite和asyncread、asyncwrite四個(gè)函數(shù)實(shí)現(xiàn)對(duì)opc服務(wù)器中相應(yīng)數(shù)據(jù)的讀寫操作。在讀寫操作完成后,程序?qū)?huì)自動(dòng)執(zhí)行syncreadcomplete、syncwritecomplete和asyncread-complete、asyncwritecomple-te等過程,opc客戶端應(yīng)用程序的數(shù)據(jù)顯示、故障診斷等功能可在該段程序代碼中實(shí)現(xiàn)。

此外,在對(duì)opc服務(wù)器完成讀寫后,可以調(diào)用opc服務(wù)器的disconnect方法來斷開與相應(yīng)opc服務(wù)器的連接。不過,為了節(jié)省系統(tǒng)開支,增加程序穩(wěn)定性,通常要在斷開和opc服務(wù)器連接前先移除opc服務(wù)器中的opc標(biāo)簽和opc組,并將opc集合對(duì)象都置為nothing,然后再執(zhí)行disconnect操作并將opc server對(duì)象實(shí)例置為nothing.

5 結(jié)束語

dde、opc技術(shù)的出現(xiàn)與發(fā)展已經(jīng)在包括工業(yè)自動(dòng)控制在內(nèi)的諸多領(lǐng)域得到了廣泛的應(yīng)用。dde作為一種較成熟的數(shù)據(jù)交換方式已擁有最全面的支持,而opc技術(shù)也越來越受眾多自動(dòng)化軟硬件企業(yè)的支持與青睞,所以,在將來很長(zhǎng)的一段時(shí)間里,dde與opc將繼續(xù)在各自的應(yīng)用領(lǐng)域發(fā)揮重要作用,dde、opc技術(shù)的出現(xiàn)和發(fā)展為我們提供了一個(gè)方便的數(shù)據(jù)訪問接口,從而使控制系統(tǒng)進(jìn)一步走向開放,用戶系統(tǒng)因此受益。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9225

    瀏覽量

    85616
  • 醫(yī)療
    +關(guān)注

    關(guān)注

    8

    文章

    1824

    瀏覽量

    58813
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5592

    瀏覽量

    79394
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無線通訊工業(yè)自動(dòng)化控制領(lǐng)域中的應(yīng)用

    無線通訊工業(yè)自動(dòng)化控制領(lǐng)域中的應(yīng)用在工業(yè)自動(dòng)化無處不在的今天,什么才是人們對(duì)工業(yè)最高的期望與追
    發(fā)表于 07-02 11:42

    工業(yè)無線技術(shù)領(lǐng)域的三大標(biāo)準(zhǔn)

    工業(yè)無線技術(shù)是繼現(xiàn)場(chǎng)總線之后,工業(yè)控制領(lǐng)域的又一個(gè)熱點(diǎn)技術(shù),是降低
    發(fā)表于 10-19 10:50

    單片機(jī)工業(yè)控制領(lǐng)域應(yīng)用

    表明,工作室中按用戶要求設(shè)計(jì)的小型工業(yè)采暖控制系統(tǒng),盡管各項(xiàng)邏輯功能及技術(shù)指標(biāo)的測(cè)試都正常,但該系統(tǒng)拿到現(xiàn)場(chǎng)上卻不能使用,檢測(cè)失靈,操作失
    發(fā)表于 11-23 06:17

    OPC技術(shù)監(jiān)測(cè)控制系統(tǒng)中的應(yīng)用

    簡(jiǎn)要介紹OPC技術(shù)的產(chǎn)生,OPC標(biāo)準(zhǔn)的技術(shù)規(guī)范及采用該規(guī)范對(duì)系統(tǒng)設(shè)計(jì)帶來的益處。概述OPC在國(guó)內(nèi)外的主要應(yīng)用
    發(fā)表于 12-28 10:53 ?20次下載

    電源監(jiān)控技術(shù)軍事領(lǐng)域中的應(yīng)用

    簡(jiǎn)要介紹了電源監(jiān)控系統(tǒng)近幾年內(nèi)的發(fā)展技術(shù),對(duì)現(xiàn)代軍事的發(fā)展和軍事領(lǐng)域的電源特點(diǎn)做了簡(jiǎn)單的分析,重點(diǎn)介紹了電源監(jiān)控系統(tǒng)軍事
    發(fā)表于 10-11 15:20 ?46次下載

    ddeopc技術(shù)工作機(jī)制

    本內(nèi)容介紹了ddeopc技術(shù)工作機(jī)制,詳細(xì)分析DDE
    發(fā)表于 02-02 15:30 ?2665次閱讀
    <b class='flag-5'>dde</b>與<b class='flag-5'>opc</b><b class='flag-5'>技術(shù)</b>的<b class='flag-5'>工作</b><b class='flag-5'>機(jī)制</b>

    紫金橋通過OPC與Matlab進(jìn)行通信

    隨著紫金橋組態(tài)軟件和實(shí)時(shí)數(shù)據(jù)庫(kù)全球范圍內(nèi)的廣泛應(yīng)用,同時(shí)也為了更好的和第三方軟件進(jìn)行通信,紫金橋公司提供了DDE/OPC 客戶端和DDE/OPC
    發(fā)表于 10-13 17:13 ?4次下載
    紫金橋通過<b class='flag-5'>OPC</b>與Matlab進(jìn)行通信

    OPC技術(shù)SCADA系統(tǒng)中的應(yīng)用

    OPC(OLE for Process Control)是微軟公司的對(duì)象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用,為工業(yè)自動(dòng)化軟件面向?qū)ο蟮拈_發(fā)提供一項(xiàng)統(tǒng)一的標(biāo)準(zhǔn)。
    發(fā)表于 12-04 09:18 ?7461次閱讀
    <b class='flag-5'>OPC</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>在</b>SCADA系統(tǒng)中的應(yīng)用

    西安站--黃鵬:ADI公司產(chǎn)品工業(yè)控制領(lǐng)域中的應(yīng)用(1)

    專家面對(duì)面西安站--黃鵬-ADI公司產(chǎn)品工業(yè)控制領(lǐng)域中的應(yīng)用(1)
    的頭像 發(fā)表于 08-08 06:17 ?1620次閱讀

    黃鵬:ADI產(chǎn)品工業(yè)領(lǐng)域中有哪些應(yīng)用(2)

    黃鵬-ADI產(chǎn)品工業(yè)領(lǐng)域中的應(yīng)用2
    的頭像 發(fā)表于 08-08 06:16 ?2939次閱讀

    西安站--黃鵬:ADI公司產(chǎn)品工業(yè)控制領(lǐng)域中的應(yīng)用(2)

    專家面對(duì)面西安站--黃鵬-ADI公司產(chǎn)品工業(yè)控制領(lǐng)域中的應(yīng)用(2)
    的頭像 發(fā)表于 08-08 06:18 ?1488次閱讀

    黃鵬:ADI產(chǎn)品工業(yè)領(lǐng)域中有哪些應(yīng)用(1)

    黃鵬-ADI產(chǎn)品工業(yè)領(lǐng)域中的應(yīng)用1
    的頭像 發(fā)表于 08-08 06:15 ?2175次閱讀

    PLC廣泛地運(yùn)用到工業(yè)自動(dòng)化領(lǐng)域中

    隨著工業(yè)控制技術(shù)的發(fā)展,PLC已經(jīng)作為工業(yè)控制的基礎(chǔ)廣泛地運(yùn)用到工業(yè)自動(dòng)化
    的頭像 發(fā)表于 10-12 15:33 ?4802次閱讀
    PLC廣泛地運(yùn)用到<b class='flag-5'>工業(yè)</b>自動(dòng)化<b class='flag-5'>領(lǐng)域中</b>

    PLC技術(shù)醫(yī)療設(shè)備領(lǐng)域中的作用和發(fā)展

    本研究通過案例介紹PLC技術(shù)醫(yī)療設(shè)備中的應(yīng)用,并分析PLC技術(shù)醫(yī)療設(shè)備領(lǐng)域中的作用和發(fā)展。
    的頭像 發(fā)表于 10-12 15:37 ?1w次閱讀
    PLC<b class='flag-5'>技術(shù)</b><b class='flag-5'>在</b>醫(yī)療設(shè)備<b class='flag-5'>領(lǐng)域中</b>的作用和發(fā)展

    OPC協(xié)議解析工業(yè)網(wǎng)關(guān)是什么

    OPC協(xié)議是一種用于工業(yè)自動(dòng)化領(lǐng)域中不同軟件應(yīng)用程序之間通信的標(biāo)準(zhǔn)接口規(guī)范。它定義了如何在Windows平臺(tái)上實(shí)現(xiàn)過程控制和其他工業(yè)應(yīng)用的數(shù)
    的頭像 發(fā)表于 08-12 15:47 ?283次閱讀
    <b class='flag-5'>OPC</b>協(xié)議解析<b class='flag-5'>工業(yè)</b>網(wǎng)關(guān)是什么
    主站蜘蛛池模板: 色吊丝中文字幕| 天堂资源在线bt种子8| 中国高清色视频www| 国产激情久久久久影院小草| 在线网站你懂得| 精品精品国产理论在线观看| 天天干夜夜草| a毛片网站| 黄色一级片网址| 国产美女流出白浆在线观看| 俺就色| 一本在线免费视频| 国产亚洲3p一区二区三区| 精品国产成人系列| 成色视频| 欧美骚| 69日本xxⅹxxxxx19| 日本不卡高清视频| 很黄的网站在线观看| 亚洲国产欧美在线人成aaa| 国产h视频在线观看网站免费| 日本一区二区三区在线 视频观看免费 | 免费啪视频在线观看| 亚洲一卡2卡3卡4卡5卡乱码| 亚洲综合色丁香婷婷六月图片| 日韩在线天堂免费观看| 黄色美女网站在线观看| 午夜视| 天天做天天爱天天爽| 美女禁处| 亚洲光棍天堂| 手机在线色| 国产视频一二区| 免费黄色成人| 男女草逼视频| 日本色www| 91九色在线视频| 在线观看黄网| 五月婷婷综合激情网| 久久亚洲视频| 丁香花成人另类小说|