• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于VB平臺的Simulink電力系統(tǒng)繼電保護仿真

    2012-09-25 01:49:14趙曉楠
    電氣傳動自動化 2012年6期
    關(guān)鍵詞:調(diào)用命令繼電器

    趙曉楠,于 群

    (山東科技大學信息與電氣工程學院,山東青島 266510)

    1 引言

    現(xiàn)代電力網(wǎng)絡結(jié)構(gòu)的主要特點是:大容量發(fā)電機組、超高壓或者特高壓的輸電電壓等級、遠距離輸電、大規(guī)模的交直流混聯(lián)電網(wǎng)和較高的自動化運行水平。在這種形勢下,對電力系統(tǒng)網(wǎng)絡故障后的穩(wěn)定分析和保護裝置的研發(fā)制造都需要提前進行仿真研究。Simulink是Matlab最重要的組件之一,它提供了一個動態(tài)的系統(tǒng)模型建立、模擬仿真以及綜合分析的集成環(huán)境。在這個環(huán)境下,不用大量編寫程序,而只需要通過非常簡單地鼠標操作,就可以完整地繪制復雜的電力系統(tǒng)。Simulink具有適應性強、繪制過程清晰以及仿真精度高、相似度高、工作效率高、靈活性等優(yōu)點。基于以上優(yōu)點,Simulink已被廣泛應用于復雜電力系統(tǒng)的仿真和計算之中。

    雖然Simulink依托強大的Matlab使其擁有了強大的計算能力,對于復雜的電力系統(tǒng)仿真能輕而易舉地進行動態(tài)仿真、波形顯示、各種故障的產(chǎn)生等一系列實際運行情況,但是其界面較為復雜,編程比較困難,用戶界面不夠直觀以及將整個仿真環(huán)境暴露等一系列缺點也限制了它在實際中的應用。

    微軟開發(fā)的Visual Basic編程語言作為一種可視化程度高,界面友好的軟件,恰好可以彌補Matlab在這方面的缺陷,即使對于Matlab不夠熟悉的用戶,也能輕松的完成線路參數(shù)設(shè)置,仿真以及結(jié)果的查看。而且封裝后的VB程序看不出Simulink原本的仿真模型,增強了程序的保密性,因而這二者的結(jié)合,大大提高了Matlab在實際工程中的應用。二者結(jié)合后,既可以作為繼電保護的平臺搭建的軟件基礎(chǔ),也可作為繼電保護課程的教學演示,在電氣工程的教學中具有較高的應用價值。

    本文通過ActiveX技術(shù)將Matlab的Simulink與VB相聯(lián)接,并在聯(lián)接成功的基礎(chǔ)上完成了一個通過VB調(diào)用Simulink的繼電保護仿真實例。

    2 Simulink與VB集成的方法

    根據(jù)目前的研究情況,Simulink與VB集成主要有以下4種方法:運用Microsoft ActiveX部件,借助動態(tài)數(shù)據(jù)交換機制(Dynamic Data Exchange,DDE),通過調(diào)用MatrixVB和通過Matlab的程序文件——M文件。在實際工程中這4種集成方法都可以使用,但要視具體的情況來選擇具體的方法。前兩種比較適合Client/Server模式,后兩種則應該視實際系統(tǒng)進行選擇。

    2.1 借助動態(tài)數(shù)據(jù)交換機制技術(shù)

    動態(tài)數(shù)據(jù)交換機制允許Microsoft Windows的應用程序通過傳輸數(shù)據(jù)實現(xiàn)幾者之間的通信。使用DDE通訊需要兩個Windows應用程序,其中MATLAB程序作為服務器(Server)受理信息,而VB則可以作為客戶端(Client)發(fā)出控制信息??蛻舳讼蚍掌靼l(fā)送一條程序命令作為請求信息,服務器則依據(jù)該信息作出處理并返回信息,從而實現(xiàn)兩個程序之間的數(shù)據(jù)交換。

    2.2 通過 Matlab的程序文件(通過 Shell()函數(shù))

    Matlab產(chǎn)生的程序文件(M文件)不能直接在VB中調(diào)用,可以利用Matlab自帶命令mcc將M文件編譯成EXE文件,然后需要在VB中聲明三個API函數(shù),最后使用Shell()命令把VB和Matlab的集成起來。

    2.3 通過 MatrixVB

    MatrixVB是嵌入VB的矩陣函數(shù)庫。它提供了大量函數(shù),可以強化VB本身較弱的數(shù)學運算能力和圖形圖像處理能力,使VB功能得到極大的擴展。在VB編程過程中使用該工具包可以避免重復勞動從而減少編程人員實現(xiàn)算法和設(shè)計界面的困難。

    下面主要介紹“運用Microsoft ActiveX部件”的方法。

    3 通過ActiveX技術(shù)將Simulink與VB聯(lián)接

    微軟把所有以部件對象模型(Component Object Model,COM)作為基礎(chǔ)的技術(shù),統(tǒng)稱為ActiveX技術(shù)。自動執(zhí)行是大部分ActiveX技術(shù)的特點。它使比較復雜的計算機語言能夠在不知道所控程序的具體內(nèi)容的情況下對需要控制的對象進行操作。Matlab中還加入了對ActiveX控件的支持,在VB編程環(huán)境下通過與ActiveX的接入端口就可以將Simulink作為VB的一個ActiveX控件調(diào)用。

    由于Matlab對ActiveX技術(shù)的支持。Matlab的Simulink部件可通過ActiveX技術(shù)接受其它應用程序的調(diào)用。Matlab提供了一個外部名稱為Matlab.Application的對象,它可以支持COM技術(shù),其他的應用程序可以通過COM技術(shù)提供的函數(shù)獲得操作控制對象的接口地址,通過調(diào)用接口地址的函數(shù)便可直接控制和使用被操控的對象了。VB支持ActiveX被控端協(xié)議,而Matlab支持作為ActiveX服務器端的協(xié)議,所以理論上VB通過ActiveX技術(shù)完全可以調(diào)用Matlab進行仿真。

    以下代碼可以在VB中啟動Matlab的服務器功能:

    這樣就創(chuàng)建好了ActiveX對象,接下來可以在VB中對Matlab進行操作了。

    3.1 通過ActiveX對Matlab進行操作

    Matlab中集成了一些可以在VB中使用的函數(shù),可以在VB中使用作為被控服務器端。

    (1)Matlab.Execute

    這條命令可以調(diào)用Matlab來執(zhí)行一條Matlab命令,然后返回一個命令完成情況字符串。它的具體格式為:Matlab.Execute([in]Bstr Command),″Bstr″是指字符串類型,″Command″是指所有在Matlab中可以執(zhí)行的命令,輸入的參數(shù)可以是任何可以在Matlab中執(zhí)行的命令,并將執(zhí)行結(jié)果以字符串的形式返回VB。

    (2)Matlab.GetFullMatrix

    這條命令可以將Matlab中的一個矩陣放到VB程序里的一個數(shù)組中。格式為:Matlab.Get-FullMatrix([in]BSTR Name,[in]BSTR Workspace,[in,out]SAFEARRAY(double)*pr&pi)。

    ″BSTR″指字符串格式類型,″Name″是矩陣的名稱;″Workspace″指的是MATLAB中矩陣的工作空間;pr和pi則分別是VB里數(shù)組的實部和虛部,數(shù)據(jù)類型是雙精度。

    (3)Matlab.PutFullMatrix

    可以將VB程序中的一個數(shù)組傳送到Matlab的一個矩陣中。其格式和使用方法與GetFullMatrix類似。

    (4)Matlab.MaximizeCommandWindow

    可以將Matlab的命令窗口最大化,使用方法為:Call MaximizeCommandWindow()。

    (5)Matlab.MinimizeCommandWindow

    用來將Matlab的命令窗口最小化,使用方法為:Call MinimizeCommandWindow()。

    4 繼電保護仿真實例

    4.1 距離保護原理

    距離保護是反應線路發(fā)生故障的地方到保護安裝處之間的距離(或阻抗),并根據(jù)測算出的距離遠近來確定保護動作的時間的一種繼電保護裝置。該裝置的主要部件就是阻抗繼電器,它可根據(jù)在它采集端上所施加的電壓和電流來測知保護安裝處至短路點間的阻抗值,此阻抗便是繼電器的測量阻抗。距離保護裝置就是對采集到得測量阻抗與事先確定的整定阻抗值進行比較從而確定保護是否動作的一種保護裝置。

    4.2 阻抗繼電器

    由于ZJ可以寫成R+jX的形式,于是就可以利用復平面來分析繼電器的動作特性,最終可以用一個坐標軸上的幾何圖形把它的動作特性表示出來。

    方向阻抗繼電器是以整定阻抗Zset為直徑而通過坐標原點的一個圓,動作特性如圖1所示,整定圓內(nèi)為動作區(qū),圓外為不動作區(qū)。

    圖1 方向阻抗繼電器的特性

    圖2 系統(tǒng)仿真線路圖

    繼電器能夠動作(即測量阻抗ZJ位于圓內(nèi))的條件是:

    4.3 BC相阻抗繼電器仿真

    BC相阻抗繼電器的Simulink仿真模型如圖2所示,采用的是500kV單側(cè)電源系統(tǒng),輸電線路采用分布式線路。每條線路首末端均將采集到得電壓、電流值傳入WorkSpace中;仿真時間設(shè)定為0.2s,在 0.1s時發(fā)生三相故障。通過 M 文件,調(diào)用保護1處的電壓、電流數(shù)據(jù)進行分析,判斷是否有故障發(fā)生并在故障發(fā)生后及時切斷線路。

    VB界面如圖3所示,其中,線路圖為實際線路模型,故障點已在圖中標出,雙擊線路還可以更改線路參數(shù),如圖4所示。

    圖3 VB前臺運行界面

    圖4 VB前臺運行界面(線路參數(shù)修改)

    主要程序部分代碼如下:

    點擊開始仿真按鈕后,執(zhí)行結(jié)果如圖5和圖6所示。

    圖5 VB前臺運行結(jié)果界面1

    圖6 VB前臺運行結(jié)果界面2

    BC相阻抗繼電器的VB程序運行結(jié)果表明,當0.1s發(fā)生三相故障時,保護1處BC相阻抗繼電器的測量阻抗軌跡落在阻抗圓中,保護動作;而當沒有故障發(fā)生時,測量阻抗沒有落在阻抗圓中,因此保護不會動作。

    5 結(jié)論

    通過VB調(diào)用Simulink實例可以發(fā)現(xiàn),用這種方法,不僅能夠直觀地看到線路的構(gòu)成,而且能實時修改相應仿真模型的參數(shù),并且將仿真結(jié)果實時顯示出來;并且能夠?qū)⒄鎸嵞P碗[藏,達到保密程序的作用。

    [1]黎洪生,龔 榮,陳 雷.基于MATLAB與VB混合編程的電力系統(tǒng)仿真設(shè)計[J].電力科學與工程,2004.

    [2]于 群,曹 娜.電力系統(tǒng)微機繼電保護[M].機械工業(yè)出版社,2008.

    [3]張 菁,陳宇晨,Matlab與VB的集成在電力系統(tǒng)潮流計算中的應用[J].微計算機信息,2007,(2).

    [4]陳 皓.微機保護原理及算法防真[M].中國電力出版社,2007.

    [5]韓 笑,徐 曦,陳卓平.基于Matlab與VB數(shù)據(jù)交換的繼電保護仿真[J].電力自動化設(shè)備,2006,26(5).

    猜你喜歡
    調(diào)用命令繼電器
    只聽主人的命令
    便攜式繼電器測試臺的研制和應用
    核電項目物項調(diào)用管理的應用研究
    電氣工程及其自動化控制系統(tǒng)中繼電器的應用
    電子測試(2018年22期)2018-12-19 05:12:42
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    移防命令下達后
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    繼電器在電氣工程及其自動化低壓電器中的作用
    電子制作(2016年23期)2016-05-17 03:53:43
    這是人民的命令
    泓格科技繼電器輸出模塊-87061PW
    琼结县| 易门县| 旺苍县| 大城县| 依兰县| 沂源县| 随州市| 富源县| 称多县| 仲巴县| 乌恰县| 寿阳县| 安泽县| 乌兰浩特市| 石台县| 金秀| 固原市| 湟源县| 无极县| 玛曲县| 农安县| 西城区| 乌拉特前旗| 芮城县| 博湖县| 鹿邑县| 公安县| 蕲春县| 上饶市| 专栏| 西藏| 静海县| 扎鲁特旗| 依安县| 宁南县| 盐边县| 黄梅县| 宁明县| 邹城市| 凌源市| 临颍县|