周 鵬,郭旭東,宛元生,周家磊,宋 娜
(1.安徽工程大學 安徽省電氣傳動與控制重點實驗室,安徽 蕪湖 241000;2.煙臺三環(huán)門業(yè)有限公司,山東 煙臺 264000)
LabVIEW在線性電阻電路中的應用
周 鵬1,郭旭東1,宛元生1,周家磊1,宋 娜2
(1.安徽工程大學 安徽省電氣傳動與控制重點實驗室,安徽 蕪湖 241000;2.煙臺三環(huán)門業(yè)有限公司,山東 煙臺 264000)
以線性電阻電路為例,借助于LabVIEW軟件中的“MathScript節(jié)點”和“求解線性方程VI”函數節(jié)點來實現電路的設計與分析,通過設置隨時改變電路中的電阻值、電壓源以及電流源數值的大小,即時觀察各個支路電流的變換情況,有助于更加清晰地理解電路現象,為電路知識的學習開辟一種新的途徑.
線性電阻電路;LabVIEW;MathScript節(jié)點;求解線性方程VI
電路在電子、電氣、電力等各種電類技術領域中的基礎地位是非常重要的,對于電路知識的學習重點在于學習和理解各種電路定理定律的內涵,并從各類電路實驗中觀察電路現象,并結合理論進行分析,但是電路中的各種物理量的變化是看不見摸不著的,不容易直接觀察到,給直觀理解電路帶來了一定的困難.而LabVIEW以其交互性好、界面直觀、編程簡單易懂等優(yōu)勢給電路知識的學習、實驗和相關設計提供了一個嶄新的平臺[1].LabVIEW中提供了多大600多種內置函數,各種強大而又靈活的數學分析功能為電路仿真和計算提供了有力的技術支持.本文以線性電阻電路為例,借助于Lab-VIEW軟件中的“MathScript節(jié)點”和“求解線性方程VI”函數節(jié)點來實現該電路的設計與分析,實驗證明該設計方法簡單,界面清晰直觀,對線性電阻電路的分析具有一定的通用性.
電阻電路是以電阻、電流源、電壓源等電路元件構成的電路,若電路中的電阻元件的伏安特性是線性的,則稱該電路為線性電阻電路.線性電阻電路是比較簡單的一種電路,也是分析其它復雜形式電路的基礎.
求解線性電阻電路的數學方法一般是通過使用代數方程或代數方程組來實現,其電路所遵循的基本定律是基爾霍夫電壓定律(KVL)和基爾霍夫電流定律(KCL),常用的電路分析方法有支路電流法、回路電流法以及節(jié)點電壓法等.對于此類線性電路電路,利用已有的成熟定律和分析方法,按照一般規(guī)律寫出方程組進行求解即可.
而利用LabVIEW軟件來編寫程序來求解的優(yōu)點是,既可以搭建友好的交互界面,更加直觀的理解電路,又可以在運行程序時,動態(tài)地改變線性電阻電路中的元件參數,實時地觀察由于電路參數的改變所帶來的電路的影響和變化.
LabVIEW是實驗室虛擬儀器工程平臺(Laboratory Virtual Instrument Engineering Workbench)的簡稱,是美國國家儀器(National Instruments Corp.簡稱NI公司)推出的一種功能強大的圖形化編程軟件.LabVIEW的獨到之處在于它使用圖形化編程語言在程序框圖中創(chuàng)建源程序,即用程序框圖代替了傳統(tǒng)的程序代碼,運行方便,編程簡單容易實現,界面直觀易懂[2].
LabVIEW作為自動化測試、測量領域的專業(yè)軟件,在測量信號的時域分析和處理中,用戶經常需要對信號進行數學運算和分析,LabVIEW內部集成了600多個分析函數,其中包含了豐富而功能強大的數學分析函數節(jié)點,這些函數節(jié)點涵蓋了初等與特殊函數、函數計算與微積分、線性代數、概率統(tǒng)計、曲線擬合、最優(yōu)化等方面的應用,為用戶的編程提供了極大的方便.LabVIEW本身所具有的強大的數學分析能力可以有力地完成對數據的各種分析和處理.
由于本文將使用LabVIEW軟件中的“Math-Script節(jié)點”和“求解線性方程VI”函數節(jié)點來實現該電路的設計與分析,因此首先介紹“MathScript節(jié)點”和“求解線性方程VI”函數節(jié)點的詳細使用.
2.1 “MathScript節(jié)點”
MathScript節(jié)點是LabVIEW8.0以后版本推出的面向數學的文本編程語言,它的文本描述語言為LabVIEW MathScript,它是用于編寫函數和腳本的文本編程語言,一種與MATLAB語言語法極為相似的語言,熟悉MATLAB使用方法的用戶可以很方便地利用MathScript節(jié)點編寫出與MATLAB風格相似的基于LabVIEW MathScript語法的腳本代碼.新的MathScript節(jié)點包含了600多個數學分析與信號處理函數,并增加和增強了豐富的圖形功能.利用MathScript節(jié)點在LabVIEW圖形化代碼中嵌入.m文件腳本使用戶能訪問大量的圖形化工具庫,從而進行信號處理、分析和數學計算[3].
MathScript節(jié)點是內建于LabVIEW的,可處理大多數在MATLAB或兼容環(huán)境中創(chuàng)建的文本腳本,因此用戶不需要安裝MATLAB軟件也可以正常運行這些代碼,可以使用內建的600多個數學分析與信號處理函數.
注意,不是所有的文本腳本均有MathScript支持.另外在涉及到更具體復雜的領域,如神經網絡分析、圖形處理、小波變換、復雜混沌分析等方面,則需要結合MATLAB來實現[4].
在LabVIEW中使用MathScript的方法有兩種.一種是使用LabVIEW MathScript窗口,通過Lab-VIEW MathScript窗口,提供了一個交互式界面,通過它用戶可以像使用MATLAB一樣輸入m文件腳本命令,編譯運行M腳本文件,并能立即看到運行結果、觀察變量和命令歷史等.另一種方法是在程序框圖窗口中使用MathScript節(jié)點,如圖1所示.該函數節(jié)點VI由藍色矩形框表示,利用MathScript節(jié)點,用戶可以直接輸入m文件腳本語言或從文本文件中導入.用戶可以在MathScript節(jié)點的邊界定義、命名輸入和輸出,來指定圖形化LabVIEW程序和文本化MathScript節(jié)點之間傳輸的數據.本文使用第二種方法完成線性電阻電路的設計.
圖1 “MathScript節(jié)點”
2.2 “求解線性方程VI”函數節(jié)點
線性方程組是可以用一個線性的方程表示的方程組,它的數學表達式是AX=Y,如A為m×n的“輸入矩陣”,Y為“右端項”中的m個系數,X為方程組“向量解”中n個元素.“求解線性方程”函數節(jié)點如圖2所示.
圖2 “求解線性方程”函數節(jié)點
線性方程組的解具有以下特點[3]:
(1)由實際問題列出的線性方程組,其方程個數不一定等于未知量的個數,即m≠n.
(2)如果m>n,方程組中方程的個數多于未知量個數,方程組是超定的.滿足AX=Y的解可能不存在,VI可得到最小二乘解X,使得||AX=Y||最小化.
(3)如果m (4)如果m=n時,如A為非奇異矩陣,即沒有任何行或列是其它行或列的線性組合,通過使“輸入矩陣”A分解為上三角矩陣U和下三角矩陣L可求解方程組X,例如:AX=LZ=Y與Z=UX可以作為原有方程組的另一種表示方法.Z也是n個元素的向量.三角方程組容易通過遞歸方法求解.因此,得到矩陣A的上三角矩陣U和下三角矩陣L后,通過LZ=Y方程組可得到Z,通過UX=Z可得到X. (5)如果m≠n時,A可以分解為正交矩陣Q和上三角矩陣R,使得A=QR,線性方程組可以表示為QRX=Y.然后求解RX=QTY.通過遞歸方法容易求解上三角矩陣得到X[5]. 如圖3所示的電路中,R1,R2,R3為線性電阻,且已知R1=12歐,R2=6歐,R3=3歐.電壓源US=42伏,電流源IS=7安,參考方向如圖中標出所示,求解圖3中流過各個電阻的電流.該電路是一典型的線性電阻電路.通過分析可知,使用支路電流法求解最為簡單. 圖3 支路電流法分析電路 圖3所示的電路圖中支路數為4,但恒流源支路的電流已知,則未知電流只有3個,所以可只列3個方程.當不需求a、c和b、d間的電流時,(a、c)、(b、d)可分別看成一個結點.注意支路中含有恒流源. 對圖3中所示的結點a,應用KCL列結點電流方程: 因所選回路不包含恒流源支路,所以,3個網孔列2個KVL方程即可.對圖3中所示的回路①和對回路②,應用KVL列回路電壓方程: 將式(1)和(2)整理成矩陣形式的線性方程組為: 使用LabVIEW設計實現求解電流,具體步驟如下. (1)通過自定義控件的方法實現電阻元件來搭建電路圖.各個電阻和電壓源、電流源元件都設置成數值型輸入控件,以便參數可以根據具體要求進行調整. (2)在前面板上放置其他另外3個數值型顯示控件,用來表示所求的三個電流I1,I2,I3. (3)使用“MathScript節(jié)點”生成線性方程組的系數矩陣和已知向量,再使用“求解線性方程VI”函數節(jié)點求出向量解,向量的各個元素就是所求的三個電流I1,I2,I3的值. (4)由于該實例的參數量是帶有單位的,所以在編程是還要注意有單位數據和無單位數據之間的轉換,否則LabVIEW會報錯.該轉換是通過“函數”選板→“數值”→“轉換”→“單位轉換”函數節(jié)點“”來實現.本實例設計分析中,電壓的單位“伏”表示為“V”,電阻的單位“歐”表示為“Ohm”,電流的單位“安”表示為“A”. 實現該例程的前面板和程序框圖如圖4所示.在圖4(a)所示的程序前面板中設置三個電阻、電壓源以及電流源的值分別為R1=12歐,R2=6歐,R3=3歐電壓源US=42伏,電流源IS=7安,最后求的I1=2安,I2=-3安,I3=6安.也可以在程序運行時,通過前面板上的數值控件隨時改變電阻值和電壓源以及電流源數值的大小,即時觀察到各個支路電流的變換情況,界面非常直觀,更加清晰地理解電路現象,掌握電路的定律定理知識. 論文以一個簡單的線性電阻電路為例,使用LabVIEW軟件中的“MathScript節(jié)點”和“求解線性方程VI”函數節(jié)點來實現該電路的支路電流法設計與分析,實驗證明該設計方法求解簡單,界面清晰明了,對線性電阻電路的分析包括回路電流法、節(jié)點電壓法等方法都具有一定的通用性.通過設置前面板上的數值控件,就可以隨時改變與之對應的電阻值、電壓源以及電流源數值的大小,即時觀察到各個支路電流的變換情況,有助于更加清晰地理解電路現象,掌握電路的定律、定理,為電路知識的學習開辟了一種新的途徑,在復雜電路分析與求解中具有實際的顯著效果. 〔1〕陳國順,張桐,郭陽寬,王正林.精通LabVIEW程序設計(第2版)[M].北京:電子工業(yè)出版社,2012. 〔2〕周鵬.基于DSP和LabVIEW的虛擬儀器系統(tǒng)研究[D].煙臺大學,2007. 〔3〕NATIONAL INSTRUMENTS.LabVIEWTM User Manual[R].Autin Texas USA,April 2003 Edition. 〔4〕Mathscript編程指南[EB/OL].www.gsdzone.net/ community,2011. 〔5〕鄭對元,等.精通LabVIEW虛擬儀器程序設計[M].北京:清華大學出版社,2012. TP911.72 A 1673-260X(2014)04-0051-03 2012年地方高校國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目基金(201210363130,201210363126,201210363119)3 實例分析
4 結論