新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DDE與OPC技術(shù)在工業(yè)自動(dòng)化系統(tǒng)中的應(yīng)用

DDE與OPC技術(shù)在工業(yè)自動(dòng)化系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2012-08-14 來源:網(wǎng)絡(luò) 收藏

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ù)源可以是plcdcs、條形碼讀取器等控制設(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ù)器主要包括三部分:服務(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è)變量。在一個(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ī)上的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īng)用情況。

太網(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:program_name>.tag_name>的形式。

當(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:[連接名稱>]plc變量地址>”,而rockwell rslinx opc服務(wù)器的名稱和對(duì)rslogix 系列plc數(shù)據(jù)訪問的地址格式分別是“rsllinx opc server”和“[opc group名稱>]plc變量名>”。

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

來滿足實(shí)際需求,例如wonderware公司的opclink便是實(shí)現(xiàn)opc、dde接口轉(zhuǎn)換的專用軟件。



關(guān)鍵詞: DDE OPC 工業(yè)自動(dòng)化

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉
×

有奖问卷
英飞凌400V CoolSiC™重新定义高性能电源设计的功率密度和效率,含有奖小问卷,限前200名工程师!