色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 利用OPC實現(xiàn)VC應用程序與PLC的數(shù)據(jù)交換

          利用OPC實現(xiàn)VC應用程序與PLC的數(shù)據(jù)交換

          作者: 時間:2011-09-11 來源:網(wǎng)絡 收藏

            (Visual C++)是功能強大的一種Windows可視化軟件開發(fā)工具。支持面向?qū)ο蟮脑O計方法,并可以使用功能強大的微軟基礎類庫MFC(Micro - soft foundation class)。并且由于Microsoft公司在操作市場上的壟斷地位,用VC開發(fā)出來的軟件穩(wěn)定性好、可移植性強,而且軟件與硬件相互獨立[1],可以用來開發(fā)控制系統(tǒng)的上層管理系統(tǒng)。RSView32是作為一種專門用于工業(yè)控制的組態(tài)軟件,不僅包含了大量圖形開發(fā)工具和現(xiàn)成圖形庫,使用戶能夠方便的進行系統(tǒng)開發(fā),而且還可以對報警、活動記錄、事件、歷史趨勢等進行組態(tài),是一個功能強大的工業(yè)自動化產(chǎn)品[2],因此可以很方便地對下層設備進行組態(tài)。在實際系統(tǒng)開發(fā)時,技術把兩種工具有效的結合起來,使上層的VC程序通過RSView32間接地與下層進行通信,以獲取令人滿意的結果。

          本文引用地址:http://cafeforensic.com/article/155781.htm

            2 介紹

            OPC(OLE for Process Control)是根據(jù)Microsoft的OLE(現(xiàn)在Active)、COM(部件對象模型)和DCOM(分布式部件對象模型)技術所要求的功能制定的一個開放和互用式的用戶界面標準,它保證了自動化/控制和區(qū)域系統(tǒng)/設備之間的互用。它以OLE/COM機制作為應用程序級的通訊標準,采用 CLIENT/SERVER模式,典型的OPC體系結構如圖1所示:


            圖1 典型的OPC體系結構

            OPC規(guī)范中提供了兩套接口方案,即定制接口和自動化接口。定制接口效率高,通過該接口能夠發(fā)揮OPC服務器的最佳性能,采用C++語言的客戶一般采用定制接口方案;自動化接口使解釋性語言和宏語言訪問OPC服務器成為可能,采用VB等語言的客戶一般采用自動化接口。

            OPC 存取服務器由三類對象組成:服務器(Server)、組(Group)、數(shù)據(jù)項(Item)。服務器對象用于指出特定的OPC服務器應用程序名,并作為組對象的容器;組對象存儲由若干Item組成的Group信息并邏輯組織數(shù)據(jù)項;數(shù)據(jù)項對象()存儲具體的Item的定義、數(shù)據(jù)值、狀態(tài)值等信息,一個 Item就代表一個具體的過程變量。OPC客戶應用程序要獲取OPC服務器的數(shù)據(jù),必須事先指定服務器應用程序所在的計算機名(服務器應用程序和客戶應用程序不在同一臺PC上)、OPC數(shù)據(jù)訪問服務器名和該服務器提供的OPC項的定義。

            建立OPC連接后,客戶應用程序一般可以通過三種方式從OPC 服務器讀取數(shù)據(jù):使用同步接口IOPC- SyncIO,簡單有效,適合于只讀取少量數(shù)據(jù)的客戶程序;使用接口IOPCCallback的“訂閱”的功能OnChange,每當數(shù)據(jù)有變化時,服務器自動通知客戶;使用異步接口IOPCASyncIO2,可以直接與物理設備通訊,速度慢但數(shù)據(jù)精確度高。

            3 RSView32作為OPC服務器

            西門子專門用于工業(yè)控制的通用組態(tài)軟件之一RSView32支持OPC技術,它可以用作一個OPC客戶和外部OPC服務器軟件通信,也可以作為一個OPC服務器和其它第三方支持OPC技術的軟件進行連接。本文中RSView32作為服務器,VC應用程序作為客戶端,采用C/S模式兩者之間的數(shù)據(jù)

            3.1 使RSView32作為OPC服務器[4]

            用下列方法之一使RSView32作為OPC服務器:

            (1) 選擇“啟動”編輯器里“啟動”頁上的“OPC/DDE服務器”復選框;

            (2) 發(fā)出RTDataServerOn命令(從命令行或另一個 RSView32組件里,使用RTDataServerOff命令可以取消此功能),這將允許其它應用程序讀取數(shù)值但不能改變它;

            (3) 發(fā)出RTDataWriteEnable命令(從命令行或另一個RSView32組件里,使用RTDataWriteDisable命令可以取消此功能),這允許從外部OPC應用程序?qū)懭?,以改變RSView32的標記值。

            3.2 建立 OPC 客戶項目[4]

            VC應用程序要從RSView32取得數(shù)據(jù),必須使用下列信息:

            服務器:RSI.RSView32OPCTagServer;

            類型:本機/遠程;

            服務器計算機名或地址:如果客戶和服務器在同一計算機上,這項可以是空白。

            訪問路徑:項目名;

            更新速率:一個以秒為單位的速率;

            條目:標記名??梢酝ㄟ^查看RSView32的標簽數(shù)據(jù)庫獲得。

            4 VC應用程序作為OPC客戶端的程序

            在VC環(huán)境中使用定制接口開發(fā)OPC客戶應用程序,下面是程序?qū)崿F(xiàn)的關鍵步驟。

            4.1 包含OPC頭文件

            開發(fā)OPC客戶應用程序,除了需要OPC接口外,還需要在程序中包含OPC標準庫文件,可以從OPC基金會網(wǎng)站(網(wǎng)址:www.opcfoundation.org)下載這些文件:

            #include opcda_i.c OPC數(shù)據(jù)存取接口

            #include opcda.h OPC數(shù)據(jù)存取2.0頭文件

            #include opccomn_i.c OPC公共接口定義

            #include opccomn.h OPC公共頭文件

            4.2 初始化COM支持庫

            由于OPC是基于COM技術制定,所以在使用接口類之前必須首先使用CoInitialize(NULL)函數(shù)初始化COM庫,如果成功,函數(shù)返回值等于S_ OK。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉