時間:2009-01-08 11:49:35來源:zhangting
1 引言
隨著工業生產的不斷發展以及自動化系統集成度的不斷提高,工業自動化系統軟件取得了長足的發展與進步。然而,工業系統中設備數量的不斷增加和現場信息交互共享能力要求的不斷提高,傳統的智能設備之間及智能設備與控制系統之間采用專門驅動程序實現信息共享的通訊方式已不能滿足工業控制系統的發展需要。因此,為了能夠解決工業系統硬件設備的升級改變為軟件系統帶來的不便,更好的實現不同設備廠家硬件產品的集成互連,增強系統的穩定性與可靠性,工業自動化軟件接口的標準化、統一化成為工業控制領域必須面臨的一個問題。
為了能夠使得自動化軟件的開發具有統一的接口標準,dde(動態數據交換:dynamic data exchan-ge)、opc(基于過程控制的鏈接與嵌入:ole for process control)技術的出現和應用為不同的自動化程序系統之間能夠實現簡單交互、無縫互連做出了巨大的貢獻。
2 dde與opc技術的工作機制
2.1 dde技術的工作機制
dde是為在同一臺計算機或不同計算機上運行的程序提供動態數據交換,最早由microsoft 公司提出的。動態數據交換(dde)技術由于其具有實時性好、網絡通信連接實現方便等特點,在控制軟件與信息網絡集成中得到了廣泛應用。
動態數據交換基于windows消息機制,各應用程序間通過傳遞消息進行對話交換信息。windows dde消息傳遞采用client/server模式,客戶(client)是數據的請求和接受者,而服務器(server)是數據的提供者,兩者之間通過請求、應答、傳輸三個步驟來完成數據的傳送。dde協議使用服務(service)、主題(topic)和數據項(item)三級命名來標識dde所傳遞的數據單元。一般情況下,服務(service)就是應用程序的文件名,主題是對服務器有意義的信息單元。每次dde客戶與服務程序之間的對話都是先由客戶啟動的,所以在每次客戶啟動之前,dde服務器應當首先投入運行。
當客戶程序需要向服務器程序請求數據時,客戶程序發送一條wm-dde-initiate消息給當前運行的所有windows應用程序,這條消息不但包含了它所需要的服務器名(service)和主題名(topic),而且指明了它所希望的數據類型,收到wm-dde-initiate消息的應用程序通過判別服務器名和會話主題決定是否應答,一旦dde服務器響應了這條被傳播的消息,dde會話就開始了。
dde的工作方式有冷連接(cool link)、溫連接(warm link)和熱連接(hot link)等3種。在冷連接方式下,當server中的數據發生變化后不主動通知client,但client可以隨時從server讀寫數據;在溫連接方式下,當server中的數據發生變化后馬上通知client,client得到通知后將數據取回;在熱連接方式下,當server中的數據發生變化后馬上通知client,同時將變化的數據直接送給client。
dde的網絡形式稱為netdde,它包含了dde的全部特征,是動態數據交換(dde)的擴充,可以在跨越網絡的計算機之間使用。采用netdde后,兩個或更多網絡上的應用能夠通過dde共享來建立網絡上不同工作站之間的連接,從而實現站站之間的動態信息共享。
2.2 opc技術的工作機制
在opc技術出現以前,dde技術是絕大多數控制系統都支持和采用的數據交換方式。但是,由于dde是基于windows信息傳遞而建立的技術,因此,當通信量較大時,就會出現數據刷新速度慢、安全性管理機制差、可靠性能低等現象,從而就有可能致使dde客戶程序在較長時間內得不到回應。和dde 技術相比,基于com和dcom技術的opc技術具有數據傳送性能高、 安全性管理性能好、開發成本低等特點。
最初階段的opc規范是由opc基金會的先驅fisher-rosemount、rockwell、opto 22、intellution、intuitive technology公司于1996年8月發布的,目前opc基金會成員在全球已超過300多個,其中包括世界上幾乎所有主要的控制系統、儀器儀表、過程控制系統生產廠家。
opc以ole/com/dcom技術為基礎,是ole(object linking and embedding)for process control的縮寫,是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用。與dde一樣,opc也采用client/server模式。opc服務器是數據源的提供者,數據源可以是plc、dcs、條形碼讀取器等控制設備,隨控制系統的構成不同,作為數據源的opc服務器既可以是和opc應用程序在同一臺計算機上運行的本地opc服務器,也可以是在另外計算機上運行的遠程opc服務器。opc客戶是數據的使用者,它按照opc接口規范從opc服務器獲取所需要的數據。
opc服務器主要包括三部分:服務器(server)、組(group)和數據項(item)。服務器對象保存服務器和服務器作為opc組對象容器的所有信息。opc組對象包括公共組和局部組(私有組)兩種,公共組由多個客戶共享,局部組只隸屬于一個opc客戶。一個組可能代表一個特殊設備的數據項,opc 客戶可以通過組對象來讀寫數據,并可以設定opc服務器應該提供給opc client數據的更新速率。opc 數據項是讀寫數據的最小邏輯單位(在實際應用中,可能是物理設備的寄存器或寄存器的某一位),其數據值以variant形式表示,每個數據項包括值(value)、品質(quality)和時間戳(time stamp)3個變量。在一個組對象中,opc 客戶可以加入多個opc數據項。
opc客戶與opc服務器的接口有自定義接口(custom interface)和自動化接口(automation interface)兩種形式。自定義接口是一組com接口,主要用于采用c++語言的應用程序開發;自動化接口是自動化的ole接口,主要用于采用vb,delphi等基于腳本編程語言的應用程序開發。對于客戶端應用程序的開發,采用自定義接口的方式運行效率高,但開發難度較大;采用自動化接口的方式運行效率低,但開發簡單。這兩種接口與opc服務器的通信方式可用1圖所示。
圖1 自定義接口和自動化接口與opc服務器通信方式示意圖
對于分布式計算機上的opc客戶程序的開發,opc標準采用dcom技術實現服務器和客戶程序的通訊。
opc的數據訪問主要有同步數據訪問和異步數據訪問兩種方式。同步數據訪問時,opc服務器在將按照opc應用程序要求的數據返回之前,opc應用程序一直處于等待狀態,也就是說,同步方式的數據訪問在要求的動作沒有完成前不能執行任何opc應用程序側的處理。與之相比,異步方式的數據訪問在對opc服務器提出數據訪問要求后,立即返回到opc應用程序側的主處理程序中,opc服務器完成數據訪問時通知opc應用程序,opc應用程序從而得到數據訪問結果。當opc應用程序采用自動化接口訪問opc服務器時,同步和異步數據操作分別由syncread、syncwrite和asyncread、asyncwrite四個opc組對象的方法函數來實現。
3 dde與opc技術應用
當前,dde、opc技術在許多世界著名的自動化廠家的i/o通訊服務器、scada等自動化軟件中都得到了體現。例如wonderware 公司的daserver和intouch、siemens公司的simatic net和wincc、 rockwell-ab公司的rslinx和rsview32等。其中daserver和rslinx既可作為opc server,又可作為dde server;wincc和rsview32則既可以作為opc client,又可作為dde client。同時,由于各家的軟件接口都合乎dde、opc接口規范標準,所以,不同廠家的i/o通訊、scada等軟件產品也可以很方便的實現互連。
下面分別以wonderware 公司的intouch與daserver(dassidirect)、intouch與rockwell-ab公司的rslinx進行dde通訊,siemens 公司的wincc 與simatic net 、wincc 與rslinx進行opc通訊的方法為例說明dde、opc技術在工業自動化軟件的應用情況。
dassidirect是wonderware 公司開發用于對siemens s7 200/300/400系列plc進行以太網數據訪問的服務器軟件,支持dde、opc、suitlink、fastdde等通訊方式。當客戶程序通訊接口與dassidirect的連接采用dde方式時,dassidirect 的數據訪問采用了節點名(node name)、應用程序名(application name,此處為dassidirect)、主題名(topic name)和項目名(item name)的層次結構。而當通訊接口以opc方式與dassidirect連接時,dassidirect 的數據訪問則采用了節點名(node name)、服務器名(program name,此處為archestra.dassidirect.1)、組名(group name)、設備組名(device group)、連接名(link name)和項目名(item name)的層次結構。各層次項可在dassidirect軟件界面中配置實現。
工程應用時,需要在dassidirect管理界面smc archestra.dassidirect.1目錄下根據需要依次添加接口類型(tcp/ip)、接口處理器類型(s7 plc),并進行必要的參數設置,然后還要為device groups添加不同的topic以方便對不同變量的歸類管理。intouch標簽變量對dassidirect的訪問是通過“訪問名”的設置來實現的,所以intouch中“訪問名”的設置必須和dassidirect軟件中的設置一一對應,例如,“訪問名”中“應用程序名”應設置為dassidirect,“訪問名”中“主題名”的設置應和dassidirect中所添加的topic名稱完全一致。此外,intouch標簽變量“項目名”的填寫也必須遵從dassidirect中item name的定義形式,例如對s7 plc數據塊地址word的訪問形如db11.w80,對數據塊地址dword的訪問形如db11.d80,對輸入/輸出位的訪問形式分別為i5.2/q7.5等。
和wonderware公司的dassid -irect一樣,rslinx也支持opc/dde兩種通訊方式。當intouch和rslinx以dde方式進行通訊時,首先需要在rslinx“dde/opc topic configuration ”對話框中添加新的topic,并建立該topic與要連接rslogix plc cpu之間的對應關系,然后再對intouch中“訪問名”做相應的配置。不過,此時“訪問名”中“應用程序名”應設置為rslinx,“訪問名”中的“主題名”則應和在rslinx中所添加的topic名稱完全一致。而intouch標簽變量“項目名”的填寫也應遵從rslinx中item name的定義形式,例如對rslogix plc cpu中全局變量controller tags地址的訪問即為 plc變量地址的tag name,而對cpu中程序變量program tags地址的訪問則為program:
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26