技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 利用熟悉的計(jì)算模型進(jìn)行設(shè)計(jì)

利用熟悉的計(jì)算模型進(jìn)行設(shè)計(jì)

時(shí)間:2009-09-03 11:36:51來(lái)源:ronggang

導(dǎo)語(yǔ):?本文將概括了在LabVIEW中可用的幾種計(jì)算模型,以及何時(shí)使用這些模型的指南
概覽   本文將概括了在LabVIEW中可用的幾種計(jì)算模型,以及何時(shí)使用這些模型的指南。 目錄   引言   數(shù)據(jù)流   數(shù)學(xué)文本公式   ODE建模   狀態(tài)圖   中斷驅(qū)動(dòng)式編程   C 代碼   案例研究——帶刷直流電機(jī)控制   如欲了解更多 引言   在可執(zhí)行代碼中實(shí)現(xiàn)一個(gè)算法的最有效方式是什么?當(dāng)新的項(xiàng)目增加了工程設(shè)計(jì)的復(fù)雜度,而這一復(fù)雜度與最終實(shí)現(xiàn)所需的工程工作量之間的鴻溝擴(kuò)大時(shí),該問(wèn)題變得與工程人員更為相關(guān)。加州大學(xué)伯克利分校利用“計(jì)算模型(MoC)”概念解答了這一問(wèn)題。我們將探究NI LabVIEW平臺(tái)所提供的一些不同MoC,以及開(kāi)發(fā)人員如何在不同的執(zhí)行目標(biāo)平臺(tái)(包括臺(tái)式機(jī)PC、實(shí)時(shí)系統(tǒng)、嵌入式微處理器和現(xiàn)場(chǎng)可編程門陣列(FPGA)上使用這些模型。 數(shù)據(jù)流   LabVIEW或許因數(shù)據(jù)流MoC最為著稱。對(duì)于數(shù)據(jù)流,一項(xiàng)操作要求開(kāi)發(fā)人員在其執(zhí)行前在所有的輸入中插入數(shù)據(jù)。必須滿足這一條件以執(zhí)行代碼。 [align=center] 圖1。數(shù)據(jù)流執(zhí)行——在乘法操作前實(shí)現(xiàn)加法操作。[/align]   數(shù)據(jù)流編程本質(zhì)上是直觀的,因?yàn)樗c人類的思維相仿。其他的優(yōu)勢(shì)還包括能夠方便地實(shí)現(xiàn)和并行化代碼。該數(shù)據(jù)流MoC是該LabVIEW平臺(tái)的基礎(chǔ),它不需要使用任何額外的模塊或工具集。 數(shù)學(xué)文本公式   在設(shè)計(jì)階段,描述一項(xiàng)算法的最佳工具經(jīng)常是高層次的數(shù)學(xué)函數(shù)。該數(shù)學(xué)模型的優(yōu)勢(shì)在于非常易于人們解讀,以及利用定義的復(fù)雜函數(shù)通過(guò)腳本來(lái)解釋執(zhí)行的順序。 [align=center]   圖2。采用數(shù)學(xué)文本公式實(shí)現(xiàn)巴特沃思濾波器[/align]   開(kāi)發(fā)人員可以通過(guò)新推出的LabVIEW 2009數(shù)學(xué)腳本RT模塊(該模塊同時(shí)與Windows和實(shí)時(shí)目標(biāo)平臺(tái)相兼容),在LabVIEW平臺(tái)內(nèi)實(shí)現(xiàn)數(shù)學(xué)文本公式。 ODE建模   開(kāi)發(fā)人員在需要表達(dá)一組耦合的微分方程與代數(shù)方程時(shí),常常使用常微分方程(ODE)建模,也稱為連續(xù)時(shí)間建模。為實(shí)現(xiàn)該MoC,開(kāi)發(fā)人員采用ODE解析算子數(shù)值求解微分方程?,F(xiàn)今,LabVIEW 2009控制設(shè)計(jì)與仿真模塊通過(guò)一種成為控制與仿真循環(huán)的結(jié)構(gòu)增加了ODE技術(shù)。 [align=center] 圖3。通過(guò)ODE構(gòu)建組塊表示的彈簧-質(zhì)量阻尼系統(tǒng)[/align] 狀態(tài)圖   狀態(tài)圖將算法表示為一系列的狀態(tài),這使其在表示具有有限個(gè)不同工作狀態(tài)的軟件系統(tǒng)(如一個(gè)通信協(xié)議或控制系統(tǒng))時(shí)尤為有用。狀態(tài)間的通信通過(guò)狀態(tài)轉(zhuǎn)移實(shí)現(xiàn)。這些狀態(tài)轉(zhuǎn)移具有控制每個(gè)狀態(tài)間執(zhí)行的約束條件。 [align=center] 圖4。LabVIEW狀態(tài)圖開(kāi)發(fā)環(huán)境[/align]   狀態(tài)與狀態(tài)轉(zhuǎn)移為開(kāi)發(fā)人員實(shí)現(xiàn)了抽象的底層細(xì)節(jié),從而為他們提供了一個(gè)用于創(chuàng)建自述文件與可擴(kuò)展設(shè)計(jì)的系統(tǒng)層次視角。利用該LabVIEW狀態(tài)圖模塊,開(kāi)發(fā)人員可以構(gòu)建基于UML規(guī)范的狀態(tài)圖,以運(yùn)行于臺(tái)式機(jī)、FPGA和嵌入式目標(biāo)平臺(tái)之上。 中斷驅(qū)動(dòng)式編程   在中斷驅(qū)動(dòng)式系統(tǒng)中,通過(guò)軟件設(shè)計(jì),使得當(dāng)接受到一個(gè)注冊(cè)事件(如一個(gè)定時(shí)器)時(shí),激發(fā)一個(gè)響應(yīng)以響應(yīng)該事件。任意一個(gè)中斷式系統(tǒng)都具有兩個(gè)要素:中斷與中斷處理程序。一個(gè)中斷是一種由硬件生成的信號(hào),它表明一事件已發(fā)生并應(yīng)當(dāng)中止當(dāng)前正在執(zhí)行的程序。中斷處理程序(也稱為中斷服務(wù)程序)是指通過(guò)向處理器注冊(cè)以便在某個(gè)中斷發(fā)生時(shí)被執(zhí)行的一部分代碼。一旦該處理器察覺(jué)一個(gè)中斷,它掛起當(dāng)前正在執(zhí)行的進(jìn)程,執(zhí)行上下文切換以保存該系統(tǒng)的狀態(tài),并執(zhí)行中斷處理程序。一旦該中斷處理程序的代碼執(zhí)行完成,該處理器將控制權(quán)交還先前在運(yùn)行的程序。   在中斷驅(qū)動(dòng)式編程模式下,開(kāi)發(fā)人員可以實(shí)現(xiàn)利用最少的處理器開(kāi)銷快速響應(yīng)同步事件或異步事件的高效率代碼。   利用LabVIEW,開(kāi)發(fā)人員可以編程實(shí)現(xiàn)基于其系統(tǒng)內(nèi)所發(fā)生事件的響應(yīng)和定時(shí)循環(huán)的執(zhí)行。LabVIEW FPGA中斷可以通過(guò)響應(yīng)該中斷的LabVIEW實(shí)時(shí)模塊進(jìn)行觸發(fā)。   在LabVIEW中創(chuàng)建中斷的另一個(gè)方法便是通過(guò)面向ARM微控制器的NI LabVIEW嵌入式模塊使用中斷管理器。開(kāi)發(fā)人員可以利用VI和定時(shí)循環(huán),響應(yīng)定時(shí)器和數(shù)字輸入等中斷。 [align=center] 圖5。利用面向ARM微控制器的LabVIEW嵌入式模塊進(jìn)行中斷管理[/align] C 代碼   C語(yǔ)言是一種程序式編程語(yǔ)言,這意味著一項(xiàng)程序必須采取一組步驟序列才可以到達(dá)一個(gè)期望狀態(tài)。編程人員必須定義一定數(shù)量的步驟以達(dá)成一個(gè)設(shè)定目標(biāo)。C語(yǔ)言還添加了調(diào)用子程序或函數(shù)的功能,這支持代碼復(fù)用、模塊性和可維護(hù)性。   C代碼可以多種方式供使用,純文本或編譯后的二進(jìn)制文件。LabVIEW提供了多種將C代碼包含在LabVIEW應(yīng)用中的方式:   調(diào)用庫(kù)節(jié)點(diǎn)——節(jié)點(diǎn)可與一個(gè)C函數(shù)庫(kù)相連接,呈現(xiàn)其C接口以供與LabVIEW協(xié)同使用   與LabVIEW FPGA的C接口——開(kāi)發(fā)人員可以利用C在臺(tái)式機(jī)、PXI和NI CompactRIO系統(tǒng)上實(shí)現(xiàn)與LabVIEW FPGA的通信   聯(lián)機(jī)C節(jié)點(diǎn)——在ARM和Blackfin處理器等LabVIEW微處理器目標(biāo)平臺(tái)上,C代碼可以直接集成入LabVIEW,以便開(kāi)發(fā)人員可以采用已有的以C語(yǔ)言編寫(xiě)的IP。 [align=center] 圖6。通過(guò)聯(lián)機(jī)C節(jié)點(diǎn)將C代碼集成入LabVIEW[/align] 案例研究——帶刷直流電機(jī)控制   MoC并不是互斥的,所以開(kāi)發(fā)人員可以將其組合以有效描述一個(gè)問(wèn)題或?qū)崿F(xiàn)一個(gè)解決方案。例如,考慮下面的帶刷直流電機(jī)控制應(yīng)用,其中,一個(gè)PWM信號(hào)控制該電機(jī)的旋轉(zhuǎn)速率。   圖7展示了該系統(tǒng)的最終實(shí)現(xiàn)。C代碼與ODE建模的組合描述了該直流電機(jī)的動(dòng)態(tài)特性,而數(shù)據(jù)流則表示了驅(qū)動(dòng)該P(yáng)WM電壓信號(hào)對(duì)該電機(jī)進(jìn)行控制的邏輯。然后,它們被利用ODE再次組合,以驗(yàn)證控制性能并進(jìn)行必要的調(diào)節(jié)。 [align=center] 圖7。組合多個(gè)MoC以表示帶刷直流電機(jī)控制[/align]

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:水與廢水領(lǐng)域的卓越成效

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)