新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于OPC接口搭建仿真實驗平臺

        基于OPC接口搭建仿真實驗平臺

        作者: 時間:2011-09-03 來源:網絡 收藏

          OPC是一個工業標準,管理這個標準國際組織是OPC基金會,OPC基金會現有會員已超過220家。遍布全球,包括世界上所有主要的自動化控制系統、儀器儀表及過程控制系統的公司。 基于微軟的OLE、COM和DCOM技術。OPC包括一整套接口、屬性和方法的標準集,用于過程控制和制造業自動化系統。

          以PLC、組態軟件為單元,可以組成從簡單到復雜的各種工業控制系統。PLC可以實現復雜的邏輯編程及簡單的算法編程,但是對于先進控制算法,如模糊控制算法等涉及到矩陣運算,由于算法本身的復雜性,單純依靠PLC編程功能已經不能滿足要求;組態軟件編程語言雖然簡單,但大多數是腳本語言,在處理算法方面仍然存在諸多不便。因此,提出將算法寫入VB程序的思路,借助VB的快速運算功能及豐富的函數庫,可以方便的實現算法編寫,求解輸出值通過可靠的反饋給組態軟件,最終實現對控制對象的控制。

          1. 組態王與VB的OPC通信

          1.1 OPC通訊原理

          現在常用的組態王和VB通信的接口有DDE和OPC,但在實際使用過程中,廣大用戶發現采用DDE在設備和控制系統之間傳遞實時信息并非理想的辦法,因為它在傳輸性能和可靠性等方面都存在許多限制,另外DDE不適用于大量數據的高速數據采集,并且DDE從來沒有為不同計算機之間的數據交換提供可靠的機制;OPC的產生有效的解決了此類問題。

          OPC是用于工業設備服務器的一種標準化接口。OPCServer可以讓設備與各種支持0PC 的組態軟件之間進行簡明的、標準化的數據交換。在過去,為了存取現場設備的數據信息,每一個應用軟件開發商都需要編寫專用的接口函數。由于現場設備的種類繁多,且產品的不斷升級,往往給用戶和軟件開發商帶來了巨大的工作負擔。通常這樣也不能滿足工作的實際需要,系統集成商和開發商需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設備驅動程序。OPC 以OLE/COM/DCOM機制作為應用程序級的通信標準,采用客戶/服務器模式,把開發訪問接口的任務放在硬件生產廠家或第三方廠家,以OPC服務器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統的集成,提高了系統的開放性和可互操作性。OPC技術的實現包括兩個組成部分,OPC服務器部分及 OPC客戶應用部分,其中OPCServer基本結構如圖1所示。且在傳輸速率和可靠性方面,優于DDE接口,因此本文采用完成VB與組態王數據通訊。

          圖 1 OPC Server基本結構圖

          1.2 OPC程序設計

          為了方便用戶使用組態王OPC Server功能,對組態王的實時數據進行訪問,北京亞控為組態王OPC用戶提供了kingvewcliend.dll動態鏈接庫,其內部包含 STartCliend、ReadTag、WriteTag等豐富庫函數。本方案在VB環境下,通過此動態鏈接庫完成和組態王數據詞典的動態數據交換,最終將下位機采集的數據通過實時傳輸到組態王。

          具體實現過程是,用StartCliend函數實現VB工程及組態王工程的連接,用戶調用AddTag函數將要采集的項目添加到采集的列表中,用戶必須進行此操作,否則不能進行項目的采集。當用戶調用此函數后,函數將返回項目在采集列表中的位置和項目的數據類型,用戶將根據返回的信息進行采集。用戶添加完成采集項目列表后,可以通過調用Readtag和WriteTag函數來對項目進行讀寫。

          圖 2 部分項目列表

          向組態王寫數據

          For i = 1 To TagNo-5 Step 1

          If i = 1 Then

          Data = YeWei_Xia

          End If

          ……

          xuhao = Val(i)

          Select Case Typ(xuhao - 1)

          Case 11

          bVal = Val(Data)

          Case 3

          lVal = Val(Data)

          Case 4

          fVal = Val(Data)

          Case 8

          sVal = Data

          Case Else

          MsgBox “無效的數據類型,不能寫數據。”, 64, “錯誤”

          Exit Sub

          End Select

          ret = WriteTag(i, bVal, lVal, fVal, sVal)

          Next i

          1.3 PID程序設計

          在VB環境中編寫液位的控制程序,為了確保整個系統的控制精度,我們在這采用串級控制,將下水箱液位作為主控對象,上水箱液位作為副控對象。采用PID控制算法,外環采用PID調節器,內環采用PI調節器。

          2、組態畫面的設計

          北京亞控公司的組態王有良好的圖形界面,豐富的驅動程序和網絡功能,編程風格簡單、純中文界面,且與其他應用程序交換方便。本系統正是利用組態王強大的組態功能建立了雙容水箱的服務器端畫面,包括主畫面、PID控制畫面、歷史趨勢畫面、報警畫面及報表畫面等。通過OPC協議建立組態王數據詞典變量與VB客戶端的連接,實現VB變量的實時監測。其中主畫面如圖3所示。

          圖3 組態王主畫面

          3、系統測試及結果分析

          在組態王環境編輯好組態畫面后,通過OPC協議建立與VB客戶端連接。在VB客戶端制作操作界面如圖4所示。編譯執行液位控制程序,并且通過點擊“連接服務器”按鈕建立OPC連接,并點擊“添加項目”按鈕建立組態王數據字典與VB變量連接,最終可實現對VB客戶端液位及其他變量的實時監測。圖5為組態王服務器端監測到的下水箱液位曲線,通過曲線可以看出,該平臺數據通信實時性好,準確率高。

          4. 結論

          在組態王環境編輯好組態畫面后,通過OPC協議建立與VB客戶端連接。在VB客戶端制作操作界面如圖4所示。編譯執行液位控制程序,并且通過點擊“連接服務器”按鈕建立OPC連接,并點擊“添加項目”按鈕建立組態王數據字典與VB變量連接,最終可實現對VB客戶端液位及其他變量的實時監測。圖5為組態王服務器端監測到的下水箱液位曲線,通過曲線可以看出,該平臺數據通信實時性好,準確率高。

          本文設計了一個基于OPC接口搭建的液位控制。采用組態王建立服務器端畫面,在VB客戶端編寫液位PID控制算法,兩者通過OPC接口建立連接。實驗結果表明,該實驗平臺數據通信實時性好,可廣泛應用于教學場合。除此之外,此種方法也可以有效彌補PLC無法實現復雜算法編程的缺陷,使PLC控制方法更加靈活,具有一定的實用價值。

        pid控制相關文章:pid控制原理


        pid控制器相關文章:pid控制器原理




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 聂荣县| 葵青区| 勐海县| 闽侯县| 双峰县| 灵台县| 钟山县| 津市市| 彭泽县| 濉溪县| 福州市| 花莲市| 天柱县| 江阴市| 达日县| 于都县| 特克斯县| 安阳市| 宜兰市| 天长市| 华宁县| 临西县| 婺源县| 湛江市| 翼城县| 康平县| 沅江市| 郧西县| 贵港市| 昭觉县| 龙门县| 襄樊市| 瑞金市| 于都县| 侯马市| 石柱| 英德市| 古田县| 喀喇| 江北区| 五寨县|