亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VB的OPC客戶端在磨機負荷控制系統(tǒng)中的應(yīng)用

        2014-03-22 00:42:48李艷姣王建民
        儀表技術(shù)與傳感器 2014年8期
        關(guān)鍵詞:磨機組態(tài)客戶端

        李艷姣,王建民,張 杰

        (河北聯(lián)合大學(xué)電氣工程學(xué)院,河北唐山 063009)

        0 引言

        Visual Basic是一種可視化編程方法,是應(yīng)用廣泛的編程語言[1]。在用VB進行智能控制算法的軟件設(shè)計時,存在WINCC組態(tài)軟件與VB之間的數(shù)據(jù)交換問題。WINCC組態(tài)軟件支持OPC技術(shù),而且OPC具有高速的數(shù)據(jù)傳送性能、開發(fā)成本低,具有很強的優(yōu)越性。

        選礦廠的磨礦過程具有機理復(fù)雜、過程影響因素多,非線性、大滯后和時變性的特性,常規(guī)的PID控制難以取得很好的控制效果[2]。集散控制主要提供了梯形圖、功能塊圖的編程方式,如果要完成智能控制(例如模糊控制),需編制相應(yīng)的程序模塊。SIMATIC WINCC提供OPC技術(shù),采用VB編寫了相應(yīng)的智能控制程序,并用OPC技術(shù)實現(xiàn)與WINCC的數(shù)據(jù)交換。

        1 磨機負荷DCS系統(tǒng)

        采用S7-300PLC和工控機構(gòu)成DCS系統(tǒng),其監(jiān)控系統(tǒng)結(jié)構(gòu)圖如圖1所示。

        圖1 系統(tǒng)結(jié)構(gòu)圖

        (1)生產(chǎn)管理層主要是面向該廠的領(lǐng)導(dǎo)層,通過以太網(wǎng),董事長、總經(jīng)理和礦長等在辦公室對現(xiàn)場的情況進行了解。

        (2)監(jiān)控操作層主要包括作為服務(wù)器的工業(yè)控制計算機和中控室,操作人員在中控室可以監(jiān)控生產(chǎn)現(xiàn)場各個信號的變化并進行相應(yīng)的操作,服務(wù)器負責(zé)層與層之間的通訊,同時該層所記錄的數(shù)據(jù)也為日后的數(shù)據(jù)分析和系統(tǒng)故障分析帶來了方便。中控室中的集中監(jiān)控站軟件采用WINCC V6.0。SIMATIC WINCC全面支持OPC技術(shù),WINCC中的OPC符合OPC基金會的OPC規(guī)范,因此,將WINCC作為OPC服務(wù)器[3]。

        (3)過程控制層由2個S7-300PLC和6個ET200遠程分站組成,與中控室進行通訊,還與現(xiàn)場設(shè)備相連接。

        有些組態(tài)軟件的數(shù)據(jù)庫是經(jīng)過加密封裝的,用戶無法從外部直接訪問其中的數(shù)據(jù),雖然WINCC軟件的數(shù)據(jù)庫未加密,但是數(shù)據(jù)庫中的表名、表的結(jié)構(gòu)等都是保密的,這樣給數(shù)據(jù)共享帶來的困難。需要從監(jiān)控站上實時獲取相關(guān)的生產(chǎn)數(shù)據(jù)來控制磨機負荷的給定控制。因此,采用運算能力較強的VB編程語言實現(xiàn),VB程序通過OPC接口實現(xiàn)與WINCC的數(shù)據(jù)交換。

        2 OPC技術(shù)

        OPC(OLE for Processing Control,用于過程控制的OLE技術(shù))是為了保證不同軟件產(chǎn)品、硬件設(shè)備及現(xiàn)場的數(shù)據(jù)能進行交換而由OPC基金會制定的。OPC服務(wù)器有3種對象:服務(wù)器(Server)、組(Group)、數(shù)據(jù)項(Item)[4]。OPC服務(wù)器作為數(shù)據(jù)源程序,收集現(xiàn)場的數(shù)據(jù)信息,通過OPC接口傳送給OPC客戶端;OPC客戶端作為數(shù)據(jù)接收程序[5]。該系統(tǒng)的OPC體系接口如圖2所示。

        圖2 OPC的體系結(jié)構(gòu)

        WINCC組態(tài)軟件按服務(wù)器提供OPC接口,VB中的OPC自動化接口為OPC客戶端模式編寫OPC接口軟件。VB開發(fā)的OPC客戶端能夠?qū)崿F(xiàn)與OPC服務(wù)器之間的連接、斷開和讀取數(shù)據(jù)的功能。

        3 WINCC與VB客戶端的OPC通信

        3.1WINCCOPC服務(wù)器的設(shè)置

        由于WINCC OPC服務(wù)器與客戶端程序運行在網(wǎng)絡(luò)不同的計算機上,要進行數(shù)據(jù)交互,則需對OPC服務(wù)器進行相應(yīng)的DCOM的設(shè)置。Windows XP下的dcomcnfg.exe是專門對遠程訪問DCOM進行設(shè)置的工具。在計算機的“開始”菜單選擇“運行”,并在輸入框中輸入dcomcnfg.exe,打開“分布式DCOM組態(tài)屬性”對話框,選擇“應(yīng)用程序”標簽,從應(yīng)用程序的顯示列表中選擇“OPCServer.Wincc”條目。單擊“屬性”按鈕,進行“OPCServer.Wincc”屬性的設(shè)置,完成DCOM的組態(tài)[6]。

        在WINCC中要建立通過OPC通訊的變量。 值得注意的是,WINCC OPC 服務(wù)器必須與客戶機位于相同的網(wǎng)絡(luò)上[7]。

        3.2OPC客戶應(yīng)用程序的編寫

        服務(wù)器與客戶端之間的數(shù)據(jù)交互主要包括創(chuàng)建與連接服務(wù)器對象;添加組、項;進行數(shù)據(jù)的讀寫[8]。VB開發(fā)的OPC客戶端流程如圖3所示。

        圖3 客戶端程序流程圖

        VB開發(fā)OPC客戶端的設(shè)計步驟為:在VB中新建1個工程,在VB工具欄中利用“工程-引用”將Siemens OPC DAAutomation 2.0控件加入,然后編寫VB客戶端程序。

        3.2.1變量聲明

        先對OPC對象的變量進行聲明,變量的數(shù)據(jù)類型應(yīng)該指定為對象型。這些變量在窗體代碼的通用部分進行聲明。這樣,就可以在窗體的任何位置代碼內(nèi)引用。在模塊代碼的開始部分,加上“Option Explicit”語句,表示模塊里所有變量需要顯式的聲明。OPC自動化接口數(shù)組的索引要求必須從1開始[9]。

        Dim WithEvents MyobjServer As OPCServer ‘定義OPC服務(wù)器

        Dim MyobjGroups As OPCGroups ‘定義OPC標簽組

        Dim MyobjGroup As OPCGroup ‘定義OPC組

        Dim MyobjItems As OPCItems ‘OPC項對象

        Dim lServerHandles() As Long ‘句柄

        Dim ClientHandles() As Long

        Dim errors() As Long

        3.2.2OPC的連接

        所有變量定義后,進行OPC連接的編程??紤]到代碼的重復(fù)利用,采用子程序的方法進行編程。然后調(diào)用該子程序?qū)崿F(xiàn)和OPC服務(wù)器連接。

        Sub Connect()

        If MyobjServer Is Nothing Then

        ‘創(chuàng)建1個OPC服務(wù)器對象

        Set MyobjServer = New OPCServer

        End If

        If MyobjServer.ServerState = OPCDisconnected Then

        ‘連接OPC服務(wù)器

        MyobjServer.Connect strProgID,strNode

        End If

        If MyobjGroups Is Nothing Then

        ‘建立1個OPC組集合

        Set MyobjGroups = MyobjServer.OPCGroups

        End If

        If MyobjTestGrp Is Notbing Then

        ‘添加1個OPC組

        Set MyobjtTestGrp = MyobjGroups.Add("TestGrp")

        End If

        End Sub

        3.2.3添加OPC標簽

        對OPC服務(wù)器訪問前,應(yīng)先在OPC組里添加要訪問的OPC標簽。添加OPC標簽的子程序為:

        Sub AddItem()

        Dim strItemIDs(10) As String

        Dim lClientHandles(10) As Long

        Dim lErrors() As Long

        Dim I As Integer

        If MyobjTestGrp Is Nothing Then

        Exit Sub

        End If

        If Not MyobjItems Is Nothing Then

        If MyobjItems.Count > 0 Then

        Exit Sub

        End If

        End If

        ‘設(shè)置組活動狀態(tài)

        MyobjTestGrp.IsActive = True

        ‘取消組異步通知

        Set MyobjItems = MyobjTestGrp.OPCItems

        ‘生成從TAG1到TAG8的項標識符

        For I = 1 To 8

        strItemIDs(I) = "TAG" & I

        lClientHandles(I) = I

        Next

        ‘添加OPC標簽

        Call MyobjItems.AddItems(10,strItemIDs,lClientHandles,lErrors)

        End Sub

        3.2.4OPC變量的讀寫

        在讀取前,為了避免錯誤發(fā)生,對OPC組和OPC標簽數(shù)進行檢查。讀寫的子程序為:

        Sub SyncRead(nSource As Integer,ByRef vtItemValues() As Variant,ByRef lErrors() As Long)

        If MyobjTestGrp Is Nothing Then

        Exit Sub

        End If

        If MyobjTestGrp.OPCItems.Count>0 Then

        ‘同步讀取

        MyobjTestGrp.SyncRead nSource,8,lServerHandles,vtItemValues,lErrors

        End If

        End Sub

        Sub SyncWrite(nIndex As Integer,ByRef vtItemValues() As Variant,ByRef lErrors() As Long)

        Dim lHandle(1) As Long

        If MyobjTestGrp Is Nothing Then

        Exit Sub

        End If

        If MyobjTestGrp.OPCItems.Count>0 Then

        lHandle(1)=lServerHandles(nIndex)

        ‘同步寫入

        MyobjTestGrp.SyncWrite 1,lHandle(),vtItemValues,lErrors

        End If

        End Sub

        3.2.5OPC斷開

        連接著OPC服務(wù)器的OPC應(yīng)用程序,在退出前應(yīng)斷開與OPC服務(wù)器的連接。如果不斷開連接,OPC服務(wù)器使用的計算機資源將不斷被釋放,如果長期反復(fù)發(fā)生,連接運轉(zhuǎn)的控制系統(tǒng)可能會使計算機的資源慢慢枯竭,從而發(fā)生嚴重的問題[10]。

        Sub Disconnect()

        Dim lError() As Long

        If Not MyobjItems Is Nothing Then

        If MyobjItems.Count > 0 Then

        ‘清除OPC標簽

        MyobjItems.Remove8 ,lServerHandles,lErrors

        End If

        Set MyobjItems = Nothing

        End If

        If Not MyobjTestGrp Is Nothing Then

        ‘清除OPC組

        MyobjGrounps.Remove "TestGrp"

        Set MyobjTestGrp = Nothing

        End If

        If Not MyobjGroups Is Nothing Then

        Set MyobjGroups = Nothing

        End If

        If Not MyobjServer Is Nothing Then

        If MyobjServer.ServerState < > OPCDisconnected Then

        ‘?dāng)嚅_OPC服務(wù)器

        MyobjServer.Disconnect

        End If

        Set MyobjServer = Nothing

        End If

        End Sub

        4 應(yīng)用效果

        在某大型選礦廠,為實現(xiàn)磨機負荷的最優(yōu)控制,在外環(huán)功率控制回路中,采用VB編程語言開發(fā)來控制磨機負荷,必須保證WINCC組態(tài)軟件與VB上位機之間的數(shù)據(jù)交互。采用OPC技術(shù)很好地實現(xiàn)了監(jiān)控系統(tǒng)之間的數(shù)據(jù)交互,滿足了選礦廠的要求,效果良好。圖4為WINCC實時監(jiān)控界面,圖5為VB開發(fā)的磨機負荷控制界面。在實際的應(yīng)用中,能夠順利地進行數(shù)據(jù)交換。

        圖4 WINCC實時數(shù)據(jù)界面

        5 結(jié)束語

        文中介紹了磨機負荷控制系統(tǒng)中利用WINCC作為OPC服務(wù)器,VB開發(fā)OPC客戶端的方法,重點闡述了VB開發(fā)客戶端程序的設(shè)計過程,實現(xiàn)了WINCC與監(jiān)控軟件之間的數(shù)據(jù)交換操作。在線調(diào)試和試運行后,實現(xiàn)了控制系統(tǒng)之間的無縫連接和數(shù)據(jù)實時共享。

        圖5 開發(fā)的磨機負荷控制界面

        參考文獻:

        [1]趙艷秋,王建民.采用OPC技術(shù)實現(xiàn)豎爐燒結(jié)DCS系統(tǒng)與VB軟件的接口.計算機與數(shù)字工程,2006,34(1):114-117.

        [2]鄒金慧,黃宋魏,許江淳.基于PLC的磨礦分級智能控制系統(tǒng).自動化儀表,2007,28(11):43-45.

        [3]吳曉蕾,李逸,胡國軍,等.通過OPC實現(xiàn)VB訪問WINCC數(shù)據(jù).電氣傳動,2009,39(12):63-66.

        [4]尹靜濤,劉利平.OPC技術(shù)在高爐生產(chǎn)測控系統(tǒng)中的應(yīng)用.制造業(yè)自動化,2012,34(1):139-140.

        [5]徐思成,李增權(quán),郭國選.基于OPC技術(shù)和以太網(wǎng)的異構(gòu)網(wǎng)絡(luò)集成.儀表技術(shù)與傳感器,2011(1):109-110.

        [6]高德欣,張文武,楊清.利用OPC實現(xiàn)WINCC與監(jiān)控系統(tǒng)的動態(tài)數(shù)據(jù)交換.中國海洋大學(xué)學(xué)報,2006,36(4):677-680.

        [7]童立均,江智軍,何小斌.OPC技術(shù)在水廠生產(chǎn)過程控制系統(tǒng)的應(yīng)用研究.自動化儀表,2008,29(6):37-41.

        [8]匡芬芳.OPC技術(shù)在液位控制中的應(yīng)用.自動化儀表,2011,32(6):46-49.

        [9]葉海濤,蘇建元.VB中利用OPC訪問WinCC實現(xiàn)下位機實時報警.測控技術(shù),2005,24(11):50-52.

        [10]郭春芬,莊立臣.基于OPC技術(shù)的粉塵濃度監(jiān)控系統(tǒng)研究.煤礦機械,2011,32(1):83-85.

        猜你喜歡
        磨機組態(tài)客戶端
        立磨機刮板結(jié)構(gòu)的改進
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
        磨機端蓋鑄造缺陷研究與工藝研發(fā)
        水泥廠風(fēng)掃煤磨機的永磁直驅(qū)改造
        上海建材(2019年3期)2019-09-18 01:50:50
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
        PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
        鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
        色婷婷一区二区三区四| 在线播放免费播放av片| 国产96在线 | 欧美| 国产精品无码久久久一区蜜臀| 免费毛片一区二区三区女同 | 色综合久久丁香婷婷| 视频一区二区三区中文字幕狠狠| 在线免费观看蜜桃视频| 久久96国产精品久久久| 拍摄av现场失控高潮数次| 国产成人香蕉久久久久| 青青久久精品一本一区人人| 人妻丰满熟妇av无码区app| 无码少妇一区二区浪潮av| 美女一级毛片免费观看97| 91青青草手机在线视频| 欧美奶涨边摸边做爰视频| 国产内射在线激情一区| 国产精品欧美亚洲韩国日本| 国产内射一级一片高清内射视频| 无码一区二区三区免费视频| 俺来也俺去啦久久综合网| 又色又爽又黄的视频网站| 亚洲中文字幕九色日本| 久久久亚洲欧洲日产国码αv| 99精品国产在热久久国产乱| 狼人av在线免费观看| 一本色道久久亚洲综合| 日本黄页网站免费观看| 神马不卡一区二区三级| 国产精品女主播在线播放| 国产特级毛片aaaaaa视频| 色婷婷精品| 亚洲天堂av免费在线| 国产狂喷水潮免费网站www| www插插插无码免费视频网站| 精品久久久久久99人妻| 一区二区三区国产内射| 国产揄拍国产精品| 无遮挡中文毛片免费观看| 中文字幕在线亚洲精品一区|