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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、立。l中國(guó)在2001年12月成立了中國(guó)OPC促進(jìn)會(huì),由5家公司組成:lIntellution 公司lNI(中國(guó))公司l西門(mén)子(中國(guó))有限公司l愛(ài)默生過(guò)程管理(中國(guó))公司l北京華富惠通技術(shù)有限公司11OPC的歷史l目前OPC基金會(huì)的理事由如下公司組成:lFisher-RosementlHoneywelllIntellutionlRockwell SoftWarelNational InstrumentlSiements(歐洲代表)l東芝(遠(yuǎn)東代表)l OPC規(guī)范的制定由來(lái)自90多家公司的專(zhuān)家參與,并參考了來(lái)自200多個(gè)合作伙伴的評(píng)論意見(jiàn),所以具有廣泛的代表性。12OPC的歷史l300家加入OPC

4、標(biāo)準(zhǔn)組織。l600種以上的OPC服務(wù)器產(chǎn)品和OPC應(yīng)用程序產(chǎn)品。l目前大部分HMI軟件都帶有OPC服務(wù)器,和OPC客戶(hù)程序。如WinCC、iFix、KingVIEW等。13OPC的發(fā)展l從國(guó)外來(lái)看,許多國(guó)際知名的控制類(lèi)公司如: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客戶(hù)端的功能,為現(xiàn)場(chǎng)設(shè)備提供OPC服務(wù)器等,一些公司還提供了OPC服務(wù)器的開(kāi)發(fā)工

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

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

7、可以使設(shè)備驅(qū)動(dòng)程序單一化。l應(yīng)用軟件開(kāi)發(fā)者:可以使用通用的開(kāi)發(fā)工具,不必特別開(kāi)發(fā)接口,使設(shè)備接口的開(kāi)發(fā)簡(jiǎn)單易行。l用戶(hù):可以使用各種商業(yè)軟件包,降低系統(tǒng)構(gòu)成的成本。同時(shí)可以方便的使用不同設(shè)備廠商的設(shè)備。20OPC好處l在OPC技術(shù)出現(xiàn)前,DDE在控制系統(tǒng)中使用最多的數(shù)據(jù)交換技術(shù)。DDE是基于Windows的消息傳遞建立的技術(shù),所以DDE技術(shù)存在以下問(wèn)題。l數(shù)據(jù)的傳送速度較慢;l沒(méi)有安全機(jī)制;l開(kāi)發(fā)困難;l功能缺乏柔軟性;l可靠性難令人滿(mǎn)意。21OPC好處l與DDE相比OPC有如下的優(yōu)越性:l高速的數(shù)據(jù)傳送性能;l基于分布式COM的安全管理機(jī)制;l開(kāi)發(fā)成本降低;l可以實(shí)現(xiàn)高度柔軟性的系統(tǒng);l高可

8、靠性。22OPC好處23OPC問(wèn)題?lCOM程序設(shè)計(jì)的難度較大,是否給OPC的應(yīng)用帶來(lái)困難?lOPC服務(wù)器的設(shè)計(jì)確實(shí)需要深入理解和掌握COM技術(shù),但目前有許多開(kāi)發(fā)工具包,可以不需要多少COM知識(shí)的情況下開(kāi)發(fā)OPC服務(wù)器。l客戶(hù)端的程序開(kāi)發(fā)同樣不需要太多的COM知識(shí)。l大多數(shù)應(yīng)用軟件都帶有OPC接口。24OPC的應(yīng)用領(lǐng)域數(shù)據(jù)采集數(shù)據(jù)采集軟件:軟件:歷史數(shù)據(jù)訪問(wèn)歷史數(shù)據(jù)訪問(wèn):OPC提供了讀取存儲(chǔ)在過(guò)程數(shù)據(jù)存檔文件、數(shù)據(jù)庫(kù)或遠(yuǎn)程終端設(shè)備中的歷史數(shù)據(jù)以及對(duì)其操作、編輯的方法。報(bào)警和事件處理報(bào)警和事件處理:OPC能夠更好地捕捉控制過(guò)程中的各種報(bào)警和事件并給予相應(yīng)的處理。25OPC的應(yīng)用領(lǐng)域數(shù)據(jù)冗余技術(shù)數(shù)

9、據(jù)冗余技術(shù):OPC技術(shù)的使用可以更加方便地實(shí)現(xiàn)軟件冗余,而且具有較好的開(kāi)放性和可互操作性。遠(yuǎn)程數(shù)據(jù)訪問(wèn):遠(yuǎn)程數(shù)據(jù)訪問(wèn):利用Mierosoft的DCOM技術(shù),OPC實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問(wèn)能力。26OPC同步數(shù)據(jù)訪問(wèn)處理27OPC異步數(shù)據(jù)訪問(wèn)處理28OPC訂閱方式數(shù)據(jù)采集29使用VB開(kāi)發(fā)OPC應(yīng)用程序lOPC應(yīng)用程序首先生成OPC服務(wù)器支持的OPC對(duì)象,然后可以使用OPC對(duì)象支持的屬性和方法對(duì)其進(jìn)行操作。l一個(gè)OPC程序可以和多個(gè)OPC服務(wù)器連接。30OPC對(duì)象l在Visual Basic里,是以對(duì)象的單位對(duì)OPC服務(wù)器進(jìn)行訪問(wèn)。OPC自動(dòng)化接口是由以下四種對(duì)象所定義。l OPC服務(wù)器l OP

10、C組(OPC組集合)l OPC標(biāo)簽(OPC標(biāo)簽集合)l OPC瀏覽器 31開(kāi)發(fā)OPC應(yīng)用程序的步驟l建立一個(gè)VB工程;l在工程中注冊(cè)O(shè)PC的DLLl選擇菜單Project/References;l得到References窗口;l在Available References列表中選中OPC Automation 2.0;l單擊OK按鈕。32開(kāi)發(fā)OPC應(yīng)用程序的步驟lOption Base 1lOption Explicitl建立OPC對(duì)象-聲明變量lDim WithEvents objServer As OPCServerlDim objGroups As OPCGroupslDim WithEv

11、ents objTestGrp As OPCGroup lDim objItems As OPCItemslDim lServerHandles() As Long33開(kāi)發(fā)OPC應(yīng)用程序的步驟l定義變量定義變量lDim lTransID_Rd As LonglDim lCancelID_Rd As LonglDim lTransID_Wt As LonglDim lCancelID_Wt As Long34開(kāi)發(fā)OPC應(yīng)用程序的步驟l連接OPC服務(wù)器:lSub Connect(strProgID As String, Optional strNode As String) l If objSer

12、ver Is Nothing Thenl 建立一個(gè)OPC服務(wù)器對(duì)象l Set objServer = New OPCServerl End Ifl If objServer.ServerState = OPCDisconnected Thenl 連接OPC服務(wù)器l objServer.Connect strProgID, strNodel End If35開(kāi)發(fā)OPC應(yīng)用程序的步驟l If objGroups Is Nothing Thenl 建立一個(gè)OPC組集合l Set objGroups = objServer.OPCGroupsl End Ifl l If objTestGrp Is N

13、othing Thenl 添加一個(gè)OPC組l Set objTestGrp = objGroups.Add(TestGrp)l End Ifl lEnd Sub36開(kāi)發(fā)OPC應(yīng)用程序的步驟l添加OPC標(biāo)簽:lSub AddItem()l Dim strItemIDs(8) As Stringl Dim lClientHandles(8) As Longl Dim lErrors() As Longl Dim I As Integerl If objTestGrp Is Nothing Thenl Exit Subl End If37開(kāi)發(fā)OPC應(yīng)用程序的步驟l If Not objItems I

14、s Nothing Thenl If objItems.Count 0 Thenl Exit Subl End Ifl End Ifl 設(shè)置組活動(dòng)狀態(tài)l If DataChgChk.Value = vbChecked Thenl objTestGrp.IsActive = Truel Elsel objTestGrp.IsActive = Falsel End If38開(kāi)發(fā)OPC應(yīng)用程序的步驟l 啟動(dòng)組非同期通知l objTestGrp.IsSubscribed = Truel 建立OPC項(xiàng)集合l Set objItems = objTestGrp.OPCItemsl 生成從TAG1到TAG8

15、的項(xiàng)標(biāo)識(shí)符l For I = 1 To 8l strItemIDs(I) = USTB_AUTO.Simulation0000 & Il lClientHandles(I) = Il Nextl 添加OPC項(xiàng)l Call objItems.AddItems(8, strItemIDs, _l lClientHandles, lServerHandles, lErrors)lEnd Sub39開(kāi)發(fā)OPC應(yīng)用程序的步驟l斷開(kāi)OPC服務(wù)器:lSub Disconnect()lDim lErrors() As Longl If Not objItems Is Nothing Thenl If

16、objItems.Count 0 Thenl 清除OPC項(xiàng)l objItems.Remove 8, lServerHandles, lErrorsl End Ifl Set objItems = Nothingl End If40開(kāi)發(fā)OPC應(yīng)用程序的步驟l If Not objTestGrp Is Nothing Thenl 清除OPC組l objGroups.Remove TestGrpl Set objTestGrp = Nothingl End Ifl l If Not objGroups Is Nothing Thenl Set objGroups = Nothingl End If4

17、1開(kāi)發(fā)OPC應(yīng)用程序的步驟lIf Not objServer Is Nothing Thenl If objServer.ServerState OPCDisconnected Thenl 斷開(kāi)OPC服務(wù)器.l objServer.Disconnectl End Ifl l Set objServer = Nothingl End If lEnd Sub42開(kāi)發(fā)OPC應(yīng)用程序的步驟l讀OPC服務(wù)器的數(shù)據(jù)lSub AsyncRead()l Dim lErrors() As Longl If objTestGrp Is Nothing Thenl Exit Subl End If43開(kāi)發(fā)OPC應(yīng)用

18、程序的步驟l If objTestGrp.OPCItems.Count 0 Thenl 非同期讀取l lTransID_Rd = lTransID_Rd + 1l objTestGrp.AsyncRead 8, lServerHandles, _l lErrors, lTransID_Rd, lCancelID_Rdl End IflEnd Sub44開(kāi)發(fā)OPC應(yīng)用程序的步驟l數(shù)據(jù)變化處理lPrivate Sub objTestGrp_DataChange( _l ByVal TransactionID As Long, ByVal NumItems As Long, _l ClientHan

19、dles() As Long, ItemValues() As Variant, _l Qualities() As Long, TimeStamps() As Date)l Dim strBuf As Stringl Dim nWidth As Integerl Dim nHeight As Integerl Dim nDrawHeight As Integerl Dim sglScale As Singlel Dim I As Integerl Dim index As Integer45開(kāi)發(fā)OPC應(yīng)用程序的步驟l 棒圖的表示l For I = 1 To NumItemsl 數(shù)據(jù)的格式化l

20、 strBuf = Format(ItemValues(I), #.000)l 得到客戶(hù)標(biāo)識(shí)符l index = ClientHandles(I)l 表示數(shù)據(jù)字符串l lbBar(index).Caption = strBuf46開(kāi)發(fā)OPC應(yīng)用程序的步驟l 計(jì)算棒的寬和高l nWidth = picBar(index).ScaleWidthl nHeight = picBar(index).ScaleHeightl sglScale = ItemValues(I) / 100l nDrawHeight = CInt(nHeight * sglScale)l 清除現(xiàn)棒圖l picBar(index).Clsl 繪制棒圖l picBar(index).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), RGB(255, 0, 0), BFl NextlEnd Sub47OPC應(yīng)用程序演示48課程設(shè)計(jì)-軟件設(shè)計(jì)l目標(biāo):掌握常用開(kāi)發(fā)軟件(VB)讀取數(shù)據(jù)采集卡中數(shù)據(jù)的方

溫馨提示

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

評(píng)論

0/150

提交評(píng)論