工業(yè)以太網(wǎng)通訊簡介課件_第1頁
工業(yè)以太網(wǎng)通訊簡介課件_第2頁
工業(yè)以太網(wǎng)通訊簡介課件_第3頁
工業(yè)以太網(wǎng)通訊簡介課件_第4頁
工業(yè)以太網(wǎng)通訊簡介課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1課程設(shè)計(jì)-軟件設(shè)計(jì) 工業(yè)以太網(wǎng)數(shù)據(jù)交換簡介北京科技大學(xué)自動化學(xué)院2企業(yè)信息化網(wǎng)絡(luò)架構(gòu)3數(shù)據(jù)交換問題工業(yè)現(xiàn)場不同的控制系統(tǒng)間數(shù)據(jù)如何進(jìn)行通訊?4常用的解決方案DDE(Dynamic Data Exchange)設(shè)備或軟件提供方專有的通信接口OPC(OLE for Process Control)5OPC的目的企業(yè)信息化網(wǎng)絡(luò)系統(tǒng)中,從處理設(shè)備數(shù)據(jù)的現(xiàn)場總線層,到進(jìn)行過程處理的監(jiān)控層,以至生產(chǎn)管理層,建立一個有效的數(shù)據(jù)交換工業(yè)標(biāo)準(zhǔn)。OLE: Object Linking and Embedding 對象連接與嵌入OLE for Process Control6利用驅(qū)動程序的數(shù)據(jù)通訊7利用OPC的數(shù)

2、據(jù)通訊系統(tǒng)8OPC的歷史OPC標(biāo)準(zhǔn)是由提供工業(yè)制造軟件的5家公司所組成的OPC工作小組1995年開發(fā)的。Fisher-RosementIntellutionRockwell SoftWareIntuitive TechnologyOpto22微軟作為技術(shù)顧問給予支持。9OPC的歷史1996年8月完成OPC數(shù)據(jù)訪問標(biāo)準(zhǔn)版本1.0。1996年9月OPC基金會在美國達(dá)拉斯舉行第一次理事會,同年10月在美國的芝加哥舉行第一次全體大會上正式宣告成立OPC基金會(OPC Foundation)。10OPC的歷史1996年10月成立日本OPC協(xié)會。幾乎同時OPC歐洲協(xié)會成立。中國在2001年12月成立了中國

3、OPC促進(jìn)會,由5家公司組成:Intellution 公司NI(中國)公司西門子(中國)有限公司愛默生過程管理(中國)公司北京華富惠通技術(shù)有限公司11OPC的歷史目前OPC基金會的理事由如下公司組成:Fisher-RosementHoneywellIntellutionRockwell SoftWareNational InstrumentSiements(歐洲代表)東芝(遠(yuǎn)東代表) OPC規(guī)范的制定由來自90多家公司的專家參與,并參考了來自200多個合作伙伴的評論意見,所以具有廣泛的代表性。12OPC的歷史300家加入OPC標(biāo)準(zhǔn)組織。600種以上的OPC服務(wù)器產(chǎn)品和OPC應(yīng)用程序產(chǎn)品。目前大

4、部分HMI軟件都帶有OPC服務(wù)器,和OPC客戶程序。如WinCC、iFix、KingVIEW等。13OPC的發(fā)展從國外來看,許多國際知名的控制類公司如:ABB,AspenTech,Eurotherm,F(xiàn)oxboro,Honeywell, National Instruments,Siemens,Toshiba,Johnson-Yokogawa,GE Fanue等相繼宣布支持OPC標(biāo)準(zhǔn),在自己的產(chǎn)品中增加OPC特性,包括為控制應(yīng)用軟件添加OPC客戶端的功能,為現(xiàn)場設(shè)備提供OPC服務(wù)器等,一些公司還提供了OPC服務(wù)器的開發(fā)工具軟件。14OPC的發(fā)展在國內(nèi),OPC技術(shù)作為一項(xiàng)工業(yè)標(biāo)準(zhǔn)也正在得到逐步的

5、推廣和應(yīng)用,特別是近年來引起了廣泛的關(guān)注。在應(yīng)用方面,中科院沈陽自動化研究所在開發(fā)新一代分布式控制系統(tǒng)時就采用了OPC技術(shù),實(shí)現(xiàn)了上層應(yīng)用軟件通過OPC服務(wù)器訪問現(xiàn)場設(shè)備信息的功能,同時,己經(jīng)開發(fā)出了OPC數(shù)據(jù)服務(wù)器的開發(fā)工具軟件 SmartOPC2.0版。還有其他一些公司也開發(fā)自己的開發(fā)工具軟件,例如拓林、安捷爾、林柯、華富惠通。另外其他一些工控軟件公司也充分利用OPC技術(shù)增強(qiáng)和擴(kuò)展其軟件功能,例如組態(tài)王、三維力控等等。15OPC標(biāo)準(zhǔn)16OPC簡介微軟公司的組件對象模型(Component Object Model COM )技術(shù)。其特點(diǎn)是:COM是兩個軟件組件間數(shù)據(jù)交換的一種機(jī)制,而不管這

6、兩個軟件使用什么語言開發(fā)的;COM服務(wù)器:提供數(shù)據(jù)的數(shù)據(jù)源,根據(jù)COM客戶的要求提供COM服務(wù);COM客戶程序:數(shù)據(jù)的使用者。17OPC簡介DCOM(Distributed Component Object Model)分布式COM技術(shù)。18OPC簡介COM技術(shù)的出現(xiàn)為控制設(shè)備與設(shè)備之間、控制設(shè)備與控制管理系統(tǒng)之間的數(shù)據(jù)交換提供了一種簡單的實(shí)現(xiàn)方式。但如果沒有一個工業(yè)標(biāo)準(zhǔn)化的COM接口,各設(shè)備廠家開發(fā)的COM組件間的連接依然困難。OPC是作為工業(yè)標(biāo)準(zhǔn)定義的特殊的COM接口。19OPC好處設(shè)備開發(fā)者:可以使設(shè)備驅(qū)動程序單一化。應(yīng)用軟件開發(fā)者:可以使用通用的開發(fā)工具,不必特別開發(fā)接口,使設(shè)備接口的

7、開發(fā)簡單易行。用戶:可以使用各種商業(yè)軟件包,降低系統(tǒng)構(gòu)成的成本。同時可以方便的使用不同設(shè)備廠商的設(shè)備。20OPC好處在OPC技術(shù)出現(xiàn)前,DDE在控制系統(tǒng)中使用最多的數(shù)據(jù)交換技術(shù)。DDE是基于Windows的消息傳遞建立的技術(shù),所以DDE技術(shù)存在以下問題。數(shù)據(jù)的傳送速度較慢;沒有安全機(jī)制;開發(fā)困難;功能缺乏柔軟性;可靠性難令人滿意。21OPC好處與DDE相比OPC有如下的優(yōu)越性:高速的數(shù)據(jù)傳送性能;基于分布式COM的安全管理機(jī)制;開發(fā)成本降低;可以實(shí)現(xiàn)高度柔軟性的系統(tǒng);高可靠性。22OPC好處23OPC問題?COM程序設(shè)計(jì)的難度較大,是否給OPC的應(yīng)用帶來困難?OPC服務(wù)器的設(shè)計(jì)確實(shí)需要深入理解

8、和掌握COM技術(shù),但目前有許多開發(fā)工具包,可以不需要多少COM知識的情況下開發(fā)OPC服務(wù)器??蛻舳说某绦蜷_發(fā)同樣不需要太多的COM知識。大多數(shù)應(yīng)用軟件都帶有OPC接口。24OPC的應(yīng)用領(lǐng)域數(shù)據(jù)采集軟件:歷史數(shù)據(jù)訪問:OPC提供了讀取存儲在過程數(shù)據(jù)存檔文件、數(shù)據(jù)庫或遠(yuǎn)程終端設(shè)備中的歷史數(shù)據(jù)以及對其操作、編輯的方法。報警和事件處理:OPC能夠更好地捕捉控制過程中的各種報警和事件并給予相應(yīng)的處理。25OPC的應(yīng)用領(lǐng)域數(shù)據(jù)冗余技術(shù):OPC技術(shù)的使用可以更加方便地實(shí)現(xiàn)軟件冗余,而且具有較好的開放性和可互操作性。遠(yuǎn)程數(shù)據(jù)訪問:利用Mierosoft的DCOM技術(shù),OPC實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問能力。26

9、OPC同步數(shù)據(jù)訪問處理27OPC異步數(shù)據(jù)訪問處理28OPC訂閱方式數(shù)據(jù)采集29使用VB開發(fā)OPC應(yīng)用程序OPC應(yīng)用程序首先生成OPC服務(wù)器支持的OPC對象,然后可以使用OPC對象支持的屬性和方法對其進(jìn)行操作。一個OPC程序可以和多個OPC服務(wù)器連接。30OPC對象在Visual Basic里,是以對象的單位對OPC服務(wù)器進(jìn)行訪問。OPC自動化接口是由以下四種對象所定義。 OPC服務(wù)器 OPC組(OPC組集合) OPC標(biāo)簽(OPC標(biāo)簽集合) OPC瀏覽器 31開發(fā)OPC應(yīng)用程序的步驟建立一個VB工程;在工程中注冊O(shè)PC的DLL選擇菜單Project/References;得到References

10、窗口;在Available References列表中選中OPC Automation 2.0;單擊OK按鈕。32開發(fā)OPC應(yīng)用程序的步驟Option Base 1Option Explicit建立OPC對象-聲明變量Dim WithEvents objServer As OPCServerDim objGroups As OPCGroupsDim WithEvents objTestGrp As OPCGroup Dim objItems As OPCItemsDim lServerHandles() As Long33開發(fā)OPC應(yīng)用程序的步驟定義變量Dim lTransID_Rd As L

11、ongDim lCancelID_Rd As LongDim lTransID_Wt As LongDim lCancelID_Wt As Long34開發(fā)OPC應(yīng)用程序的步驟連接OPC服務(wù)器:Sub Connect(strProgID As String, Optional strNode As String) If objServer Is Nothing Then 建立一個OPC服務(wù)器對象 Set objServer = New OPCServer End If If objServer.ServerState = OPCDisconnected Then 連接OPC服務(wù)器 objSer

12、ver.Connect strProgID, strNode End If35開發(fā)OPC應(yīng)用程序的步驟 If objGroups Is Nothing Then 建立一個OPC組集合 Set objGroups = objServer.OPCGroups End If If objTestGrp Is Nothing Then 添加一個OPC組 Set objTestGrp = objGroups.Add(TestGrp) End If End Sub36開發(fā)OPC應(yīng)用程序的步驟添加OPC標(biāo)簽:Sub AddItem() Dim strItemIDs(8) As String Dim lCli

13、entHandles(8) As Long Dim lErrors() As Long Dim I As Integer If objTestGrp Is Nothing Then Exit Sub End If37開發(fā)OPC應(yīng)用程序的步驟 If Not objItems Is Nothing Then If objItems.Count 0 Then Exit Sub End If End If 設(shè)置組活動狀態(tài) If DataChgChk.Value = vbChecked Then objTestGrp.IsActive = True Else objTestGrp.IsActive =

14、False End If38開發(fā)OPC應(yīng)用程序的步驟 啟動組非同期通知 objTestGrp.IsSubscribed = True 建立OPC項(xiàng)集合 Set objItems = objTestGrp.OPCItems 生成從TAG1到TAG8的項(xiàng)標(biāo)識符 For I = 1 To 8 strItemIDs(I) = USTB_AUTO.Simulation0000 & I lClientHandles(I) = I Next 添加OPC項(xiàng) Call objItems.AddItems(8, strItemIDs, _ lClientHandles, lServerHandles, lErro

15、rs)End Sub39開發(fā)OPC應(yīng)用程序的步驟斷開OPC服務(wù)器:Sub Disconnect()Dim lErrors() As Long If Not objItems Is Nothing Then If objItems.Count 0 Then 清除OPC項(xiàng) objItems.Remove 8, lServerHandles, lErrors End If Set objItems = Nothing End If40開發(fā)OPC應(yīng)用程序的步驟 If Not objTestGrp Is Nothing Then 清除OPC組 objGroups.Remove TestGrp Set o

16、bjTestGrp = Nothing End If If Not objGroups Is Nothing Then Set objGroups = Nothing End If41開發(fā)OPC應(yīng)用程序的步驟If Not objServer Is Nothing Then If objServer.ServerState OPCDisconnected Then 斷開OPC服務(wù)器. objServer.Disconnect End If Set objServer = Nothing End If End Sub42開發(fā)OPC應(yīng)用程序的步驟讀OPC服務(wù)器的數(shù)據(jù)Sub AsyncRead() D

17、im lErrors() As Long If objTestGrp Is Nothing Then Exit Sub End If43開發(fā)OPC應(yīng)用程序的步驟 If objTestGrp.OPCItems.Count 0 Then 非同期讀取 lTransID_Rd = lTransID_Rd + 1 objTestGrp.AsyncRead 8, lServerHandles, _ lErrors, lTransID_Rd, lCancelID_Rd End IfEnd Sub44開發(fā)OPC應(yīng)用程序的步驟數(shù)據(jù)變化處理Private Sub objTestGrp_DataChange( _

18、ByVal TransactionID As Long, ByVal NumItems As Long, _ ClientHandles() As Long, ItemValues() As Variant, _ Qualities() As Long, TimeStamps() As Date) Dim strBuf As String Dim nWidth As Integer Dim nHeight As Integer Dim nDrawHeight As Integer Dim sglScale As Single Dim I As Integer Dim index As Inte

19、ger45開發(fā)OPC應(yīng)用程序的步驟 棒圖的表示 For I = 1 To NumItems 數(shù)據(jù)的格式化 strBuf = Format(ItemValues(I), #.000) 得到客戶標(biāo)識符 index = ClientHandles(I) 表示數(shù)據(jù)字符串 lbBar(index).Caption = strBuf46開發(fā)OPC應(yīng)用程序的步驟 計(jì)算棒的寬和高 nWidth = picBar(index).ScaleWidth nHeight = picBar(index).ScaleHeight sglScale = ItemValues(I) / 100 nDrawHeight = CInt(nHeight * sglScale) 清除現(xiàn)棒圖 picBar(index).Cls 繪

溫馨提示

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

評論

0/150

提交評論