• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      VB與組態(tài)軟件集成監(jiān)控解決方案研究

      2011-04-03 02:00:24楊東升鄭煒吳宏
      船舶 2011年1期
      關(guān)鍵詞:驅(qū)動(dòng)程序控件組態(tài)

      楊東升鄭煒吳宏

      (1.駐上海滬東中華造船(集團(tuán))有限公司軍事代表室 上海 200129)

      (2.中國船舶重工集團(tuán)公司第七○一研究所湖北 武漢 430064)

      VB與組態(tài)軟件集成監(jiān)控解決方案研究

      楊東升1鄭煒2吳宏1

      (1.駐上海滬東中華造船(集團(tuán))有限公司軍事代表室 上海 200129)

      (2.中國船舶重工集團(tuán)公司第七○一研究所湖北 武漢 430064)

      組態(tài)軟件;VB;遠(yuǎn)程監(jiān)控;軟件接口

      研究了組態(tài)軟件與VB的集成方法,提出了VB與組態(tài)軟件集成監(jiān)控方案。該方案克服了組態(tài)軟件本身功能性的不足,并結(jié)合具體應(yīng)用,以MCGS為例進(jìn)行了方案的實(shí)施和驗(yàn)證。

      鄭煒(1971.11-),男,漢族,高級工程師,主要從事船舶電氣設(shè)計(jì)研究工作。

      吳宏(1975.12-),男,漢族,工程師,主要從事船舶電氣工作。

      0 引言

      隨著控制技術(shù)、通訊技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程監(jiān)控系統(tǒng)在工業(yè)過程控制中的應(yīng)用越來越廣泛。組態(tài)軟件由于功能強(qiáng)大、良好的人機(jī)界面、模塊化、編程簡便、開發(fā)成本低、周期短等優(yōu)勢,成為工業(yè)現(xiàn)場遠(yuǎn)程監(jiān)控方案的首選[1]。

      使用組態(tài)軟件,能夠快速構(gòu)造計(jì)算機(jī)監(jiān)控系統(tǒng),而且能夠通過對現(xiàn)場數(shù)據(jù)的采集處理,實(shí)現(xiàn)動(dòng)畫顯示、報(bào)警處理、流程控制、實(shí)時(shí)曲線、歷史曲線和報(bào)表輸出等。然而,組態(tài)軟件在實(shí)際應(yīng)用中也存在一些不足,那就是組態(tài)軟件為數(shù)據(jù)采集和控制提供的大量底層設(shè)備驅(qū)動(dòng)程序,主要是針對有名廠商的板卡和模塊,對于較小廠商開發(fā)的各種智能化儀表及用戶自己設(shè)計(jì)的板卡,卻沒有現(xiàn)成的驅(qū)動(dòng)程序提供。此外,組態(tài)軟件往往不支持對計(jì)算機(jī)底層設(shè)備如串口的直接操作,給用戶的使用帶來了諸多不便[2]。

      針對以上問題,本文提出了一種組態(tài)軟件與VB混合編程的集成解決方案,由VB實(shí)現(xiàn)底層通用設(shè)備的部分功能,并通過軟件接口與組態(tài)軟件實(shí)現(xiàn)數(shù)據(jù)交換。該方案的技術(shù)特點(diǎn)是充分利用了組態(tài)軟件圖形功能完備、界面一致性好、易學(xué)易用的特點(diǎn)和VB語言簡潔、功能強(qiáng)大、開發(fā)效率高等諸多優(yōu)點(diǎn),比以往使用專用機(jī)開發(fā)的工業(yè)控制系統(tǒng)更具有通用性,在自動(dòng)化領(lǐng)域有著更廣泛的應(yīng)用。

      1 組態(tài)軟件的開放性技術(shù)

      目前,主流組態(tài)軟件都致力于提高本身的開放性,大量采用“標(biāo)準(zhǔn)化技術(shù)”,如DDE、OPC、ODBC、ActiveX控件、COM/DCOM等,使組態(tài)軟件演變成軟件平臺(tái),在軟件功能不能滿足用戶特殊需要時(shí),用戶可以根據(jù)自己的需要進(jìn)行二次開發(fā)[3]。

      1.1 組態(tài)軟件DDE接口技術(shù)

      DDE(Dynamic Data Exchange,動(dòng)態(tài)數(shù)據(jù)交換)是開放的、與語言無關(guān)的、基于消息的協(xié)議,是在Windows系統(tǒng)下使用共享內(nèi)存在兩個(gè)應(yīng)用程序之間進(jìn)行數(shù)據(jù)交換的方式。采用DDE方式,可以利用計(jì)算機(jī)上的豐富資源來擴(kuò)充組態(tài)軟件的功能,使計(jì)算機(jī)上的多種應(yīng)用程序通過DDE的方式與組態(tài)軟件進(jìn)行數(shù)據(jù)交換。DDE通訊的雙方根據(jù)數(shù)據(jù)的流向可以分為客戶端和服務(wù)器端,服務(wù)器程序與客戶端程序之間的數(shù)據(jù)交換被稱為一個(gè)“會(huì)話”,其中客戶端程序初始化鏈接和發(fā)送請求,而服務(wù)器程序通過執(zhí)行自身的命令和發(fā)送數(shù)據(jù)來響應(yīng)客戶程序。DDE協(xié)議將控制通訊對象劃分為應(yīng)用程序名(Application)、主題名(Topic)和項(xiàng)目名(Item)。每次DDE會(huì)話由應(yīng)用程序名和主題名唯一確定??蛻舳顺绦蚩梢酝ㄟ^DDE協(xié)議與服務(wù)器程序的一個(gè)或多個(gè)項(xiàng)目建立鏈接[4]。

      本機(jī)DDE地址由三部分構(gòu)成,其形式為:

      應(yīng)用程序名|主題名!項(xiàng)名

      網(wǎng)絡(luò)DDE地址同樣由三部分構(gòu)成,其形式為:

      \計(jì)算機(jī)名NDDE$|DDE共享名.DDE!項(xiàng)名

      1.2 組態(tài)軟件OPC接口技術(shù)

      OPC(OLE for Process Control,過程控制的OLE)是一個(gè)新興的通用工業(yè)應(yīng)用軟件標(biāo)準(zhǔn),大多組態(tài)軟件提供了標(biāo)準(zhǔn)的OPC接口,既可作為OPC客戶端,也可以作為OPC服務(wù)器,因而,可以方便地與其他具有OPC標(biāo)準(zhǔn)接口的工業(yè)應(yīng)用程序或外部控制設(shè)備連接,實(shí)現(xiàn)數(shù)據(jù)交互,完成對現(xiàn)場數(shù)據(jù)的處理維護(hù)和對設(shè)備的有效控制。

      組態(tài)軟件把其核心作為對象封裝起來,把組態(tài)軟件的大多數(shù)功能作為對象的屬性和方法暴露出來,使其他程序可以通過OLE自動(dòng)化操作直接操作組態(tài)軟件的屬性和方法。

      1.3 組態(tài)軟件ODBC接口技術(shù)

      組態(tài)軟件支持標(biāo)準(zhǔn)的ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)接口,用戶可以使用標(biāo)準(zhǔn)的ODBC接口將數(shù)據(jù)登錄到Oracle、Microsoft SQL Server、Microsoft Access、Sybase等數(shù)據(jù)庫中,方便地進(jìn)行歷史和實(shí)時(shí)數(shù)據(jù)的分析、處理和維護(hù)。

      1.4 組態(tài)軟件ActiveX接口技術(shù)

      在某些組態(tài)軟件中可以插入標(biāo)準(zhǔn)的Windows ActiveX控件,用戶也可以根據(jù)需要開發(fā)自己的ActiveX控件或者選用其他廠商開發(fā)的ActiveX控件。這樣,大大豐富了組態(tài)軟件的控件工具箱,使系統(tǒng)組態(tài)時(shí)更加靈活和方便。

      1.5 組態(tài)軟件設(shè)備驅(qū)動(dòng)程序的開發(fā)

      多數(shù)組態(tài)軟件的設(shè)備驅(qū)動(dòng)程序的實(shí)現(xiàn)方法和原理與標(biāo)準(zhǔn)VB的ActiveDLL完全一致,但組態(tài)軟件規(guī)定了一套接口規(guī)范,遵守這些接口規(guī)范,用戶可以開發(fā)自己的ActiveDLL用作組態(tài)軟件的設(shè)備驅(qū)動(dòng)構(gòu)件。用戶開發(fā)組態(tài)軟件設(shè)備驅(qū)動(dòng)的過程,實(shí)際上就是根據(jù)設(shè)備的特性和含義來完成方法功能的編程過程。

      2 VB與MCGS組態(tài)軟件集成技術(shù)[5,6]

      MCGS(Monitor and Control Generated System,通用監(jiān)控系統(tǒng))是一套用于快速構(gòu)造和生成計(jì)算機(jī)監(jiān)控系統(tǒng)的組態(tài)軟件,它能夠在基于Microsoft的各種32位Windows平臺(tái)上運(yùn)行,通過對現(xiàn)場數(shù)據(jù)的采集處理,以動(dòng)畫顯示、報(bào)警處理、流程控制和報(bào)表輸出等多種方式向用戶提供解決實(shí)際工程問題的方案,它充分利用了Windows圖形功能完備、界面一致性好、易學(xué)易用的特點(diǎn),比以往使用專用機(jī)開發(fā)的工業(yè)控制系統(tǒng)更具有通用性,在自動(dòng)化領(lǐng)域有著更廣泛的應(yīng)用。

      由于語言簡潔、功能強(qiáng)大、開發(fā)效率高等諸多優(yōu)點(diǎn),VB作為一種通用的Windows環(huán)境開發(fā)環(huán)境,已經(jīng)被全球數(shù)以百萬計(jì)的程序員所接受。下面以VB和MCGS為例,對組態(tài)軟件二次開發(fā)進(jìn)行研究。

      2.1 VB通過DDE與MCGS數(shù)據(jù)交換

      利用DDE技術(shù)實(shí)現(xiàn)VB與MCGS的數(shù)據(jù)交換,需要對通訊的雙方進(jìn)行必要的配置。例如:

      圖1 “DDE連接管理”對話框

      2.1.1 MCGS作為DDE服務(wù)器向VB傳送數(shù)據(jù)Output CurSet

      在MCGS程序中,通過“工具”→“DDE連接管理”,在“DDE連接管理”對話框中,將OutputCurSet設(shè)置為DDE輸出。

      MCGS程序的服務(wù)器名為MCGSRun,主題名為DataCentre,項(xiàng)目名為變量名。

      在VB程序中,在窗體中添加DDE鏈接控件,如Label,設(shè)置該控件的LinkTopic屬性為MCGSRun|DataCentre,Link Item屬性為OutputCurSet,LinkMode屬性為1,Link Timeout屬性為合適值。

      2.1.2 VB作為DDE服務(wù)器向MCGS傳送數(shù)據(jù)SysState

      在VB程序中,將應(yīng)用程序名改為DDETestVB,在窗體中添加TextBox1作為DDE項(xiàng)目,設(shè)置窗體的LinkTopic屬性為Form1,LinkMode屬性為1。

      在MCGS程序“DDE連接管理”對話框中,將SysState變量設(shè)置為DDE輸入,并為其建立服務(wù)器節(jié)點(diǎn)VB:服務(wù)名為DDETestVB,主題名為Form1,然后在“連接項(xiàng)目”輸入框中輸入TextBox1。

      2.2 VB通過OPC技術(shù)操作MCGS

      VB程序可以通過引用MCGS公開的OPC接口,以對象的形式直接引用MCGS的屬性和方法,下例為VB程序操作MCGS程序變量Data1和Data2的主要語句:

      Private DataObj As Object

      Set

      DataObj=GetObject(,”McgsRun.DataCentre”)

      Text1=Format$(DataObj.GetValueFromName(“Data1”))

      DataObj.SetValueFromName

      “Data2”,Val(Text2)

      2.3 VB通過ODBC與MCGS數(shù)據(jù)交換

      ODBC是一種分層結(jié)構(gòu),包括驅(qū)動(dòng)程序管理器和多個(gè)數(shù)據(jù)庫的ODBC驅(qū)動(dòng)程序.驅(qū)動(dòng)程序管理器根據(jù)應(yīng)用程序的指令,調(diào)用相應(yīng)的ODBC驅(qū)動(dòng)程序,把應(yīng)用程序的SQL語句或函數(shù)調(diào)用傳送到數(shù)據(jù)庫管理系統(tǒng),從而實(shí)現(xiàn)對數(shù)據(jù)庫的訪問和操作.ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫.一個(gè)完整的ODBC由下列部件組成:

      (1)應(yīng)用程序(Application);

      (2)ODBC管理器(Administrator):主要任務(wù)是管理安裝的ODBC驅(qū)動(dòng)程序和管理數(shù)據(jù)源;

      (3)驅(qū)動(dòng)程序管理器(Driver Manager):驅(qū)動(dòng)程序管理器包含在ODBC32.DLL中,對用戶是透明的,其任務(wù)是管理ODBC驅(qū)動(dòng)程序,是ODBC中最重要的部件;

      (4)ODBC API;

      (5)ODBC驅(qū)動(dòng)程序:主要是一些DLL,提供ODBC和數(shù)據(jù)庫之間的接口;

      (6)數(shù)據(jù)源:數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象。

      VB和MCGS可用SQL語句訪問同一ODBC數(shù)據(jù)庫,從而實(shí)現(xiàn)VB與MCGS數(shù)據(jù)交換。

      2.4 VB通過ActiveX與MCGS集成

      VB用戶可以創(chuàng)建自己的ActiveX控件和ActiveX DLL,具體方法見參考文獻(xiàn)2。MCGS可以將這些ActiveX控件和ActiveX DLL作為動(dòng)畫構(gòu)件和設(shè)備驅(qū)動(dòng)程序添加到項(xiàng)目中。其中,MCGS設(shè)備驅(qū)動(dòng)程序的開發(fā)必須遵循規(guī)定的接口規(guī)范,具體包括5個(gè)和8個(gè)方法:屬性DevType(標(biāo)識設(shè)備的類型)、屬性DevChannel(標(biāo)識設(shè)備的通道個(gè)數(shù))、屬性DevBaseIO(標(biāo)識設(shè)備所用IO的基地址)、屬性DevIONumber(標(biāo)識設(shè)備所用IO地址的個(gè)數(shù))、方法GetDevName(讀取設(shè)備構(gòu)件類型名稱)、方法GetDevHelp(調(diào)用設(shè)備構(gòu)件的在線幫助內(nèi)容)、方法SetDevPage(調(diào)用設(shè)備的內(nèi)部屬性頁)、方法(InitNewDev)初試化設(shè)備的初始值、方法GetChlType(讀取設(shè)備構(gòu)件各通道的數(shù)據(jù)類型和注釋)、方法InitDevRun(運(yùn)行時(shí)對設(shè)備進(jìn)行初始化工作)、方法RunDevCommand(執(zhí)行指定的設(shè)備命令)、方法CollectDevDat(定時(shí)操作設(shè)備,采集或輸出數(shù)據(jù))。

      3 應(yīng)用案例

      上述方法已經(jīng)在某大功率船用直流可編程電源的監(jiān)控程序中得到成功應(yīng)用。該監(jiān)控系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。

      在該項(xiàng)目中,VB程序作為后臺(tái)程序運(yùn)行,通過485接口與設(shè)備的DSP控制器進(jìn)行Modbus協(xié)議通訊,通過PCI板卡實(shí)現(xiàn)設(shè)備數(shù)據(jù)采集,并通過DDE、OPC和ODBC技術(shù)與MCGS程序通訊。MCGS程序作為系統(tǒng)的監(jiān)控主程序,通過與VB的通訊實(shí)現(xiàn)指令的下達(dá),并對VB程序通過Modbus通訊和采集卡獲得的參數(shù)、狀態(tài)、故障報(bào)警等數(shù)據(jù)進(jìn)行進(jìn)一步處理,并以友好的HMI呈現(xiàn)給用戶。圖3為MCGS程序主畫面。

      圖3 MCGS監(jiān)控主畫面

      4 結(jié)語

      本文提出了一種組態(tài)軟件與Windows高級編程語言混合編程的集成解決方案,充分利用了組態(tài)軟件和高級語言各自的優(yōu)點(diǎn),通過DDE、OPC、ODBC和ActiveX自動(dòng)化等軟件接口規(guī)范,可以方便地實(shí)現(xiàn)組態(tài)軟件與高級語言的集成。該方案突破了單純應(yīng)用工控組態(tài)軟件的不足,極大地?cái)U(kuò)展了其應(yīng)用范圍,為快速靈活的構(gòu)建監(jiān)控系統(tǒng)提供了解決方案,該方案和關(guān)鍵技術(shù)已經(jīng)在項(xiàng)目中得到成功應(yīng)用,其有效性和開發(fā)效率得到充分驗(yàn)證。

      [1]Yong Xiao,Tie-jun Liu.Development of a new power quality monitoring terminal based on configuration[J].Electricity Distribution,2008.CICED 2008.International Conference.

      [2]劉燕,夏建全等.基于VB實(shí)現(xiàn)的組態(tài)王與單片機(jī)間通信[J].自動(dòng)化與儀器儀表,2006(5).

      [3]A SKravchenko,Yu V Vilkov.A power supply for simulting lightning current pulses[J].Instruments and Experimental Techniques,2006,49(4).

      [4]施建強(qiáng).InTouch、VB和Matlab之間的DDE接口方法[J].南京工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2003,(3).

      [5][美]Bob Reselman,Richard Peasley.何鍵輝,董方鵬,馮毅.實(shí)用Visual Basic 6教程[M].北京:清華大學(xué)出版社,2001.03.

      [6]曹輝等.組態(tài)軟件技術(shù)及其應(yīng)用[M].北京:電子工業(yè)出版社,2009.01.

      Research on monitoring&control scheme based on VB and the configuration software

      Yang Dong sheng Zheng Wei Wu Hong

      configuration software;VB;Remote Monitoring&Control;software interface

      This paper researches on the integration means of the configuration software and VB,and puts forward to an industrial Remote Monitoring&Control System scheme.This novel scheme gets over the disadvantages of the configuration software and is validated in practice with the case of MCGS.

      TP311.52

      A

      1001-9855(2011)01-0061-04

      2010-08-31

      楊東升(1979.09-),男,漢族,工程師,主要從事船舶電氣設(shè)計(jì)研究工作。

      猜你喜歡
      驅(qū)動(dòng)程序控件組態(tài)
      基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
      PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
      鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序的真心話和大冒險(xiǎn)
      都安| 通山县| 淮滨县| 奉节县| 中江县| 海原县| 龙岩市| 兴业县| 安溪县| 丰宁| 元朗区| 昌邑市| 怀柔区| 瑞安市| 巴楚县| 洪雅县| 区。| 龙胜| 朝阳市| 讷河市| 台安县| 边坝县| 丹江口市| 柳州市| 广丰县| 南皮县| 玛多县| 尚志市| 隆化县| 蚌埠市| 嘉义县| 济阳县| 宁阳县| 黄陵县| 湘乡市| 无为县| 交城县| 洪泽县| 股票| 天台县| 乡城县|