第10章_LabVIEW常用工具包_第1頁
第10章_LabVIEW常用工具包_第2頁
第10章_LabVIEW常用工具包_第3頁
第10章_LabVIEW常用工具包_第4頁
第10章_LabVIEW常用工具包_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、LabVIEW常用工具包Intelligent Electronics InstituteHuazhong University of Science & TechnologyHttp:/2目錄LabVIEW常用工具包簡介LabVIEW Office報表生成工具包LabVIEW數(shù)據(jù)庫連接工具包OpenG工具包MGI工具包JKI狀態(tài)機工具包Http:/3LabVIEW常用工具包簡介工具包:具有專用功能的LabVIEW插件NI官方工具包:LabVIEW OFFICE報表生成工具包LabVIEW 數(shù)據(jù)庫連接工具包第三方工具包:VI Package ManagerMGI工具包Http:/4La

2、bVIEW Office報表生成工具包基礎(chǔ)性的報表生成VIWORD與EXCEL相關(guān)操作VI插入VI說明信息及打印相關(guān)VI基于模板的報表生成VI函數(shù)編程報表生成Http:/5EXCEL報表生成要準(zhǔn)確迅速的進行報表生成工作需要進行兩個主要兩個步驟“Where”和”What”,即告訴報表生成工具包,在Office文檔的“哪個位置”,放置上“什么內(nèi)容”。Http:/6該例程的編寫步驟如下:(1)使用新建報表.vi進行報表建立,報表類型選擇為“Excel”,同時為了使程序運行時不會彈出Excel軟件窗口,窗口狀態(tài)選項要選擇為“minimized”;(2)放入Excel Easy Title.vi,該VI

3、可以在Excel Specific目錄下找到,使用本VI可以給當(dāng)前報表設(shè)置標(biāo)題。在本例中,將報表標(biāo)題設(shè)置為“IEI系統(tǒng)測試報告”,標(biāo)題位置為A1單元格,則需要設(shè)定“name”值為“A1”,“title”值為“IEI系統(tǒng)測試報告”。另外,使用本VI還可以設(shè)置標(biāo)題的字體等等;(3)放入Excel Easy Text.vi,該VI可以在Excel Specific目錄下找到,使用本VI即可以告訴報表工具包在Excel的哪個位置放置上什么內(nèi)容。在本例中,假設(shè)要在Excel文件的A2單元格內(nèi)放入“報告時間”這個字符串,則需要設(shè)定“name”值為“A2”,“text”值為“報告時間”。另外,使用本VI還可

4、以設(shè)置報表的字體以及邊框等等;(4)使用報表保存至文件.vi將報表保存為.xls格式。本例中將報表命名為IEI Report.xls保存在C盤根目錄下;(5)使用處置報表.VI關(guān)閉報表文件,釋放資源。EXCEL報表生成Http:/7Word報表的生成方式和Excel報表類似。該例程的編寫步驟如下:(1) 使用新建報表.vi進行報表建立,報表類型選擇為“Word”,同時為了使程序運行時不會彈出Excel軟件窗口,窗口狀態(tài)選項要選擇為“minimized”;(2) 放入Word Easy Title.vi,該VI可以在Word Specific目錄下找到,使用本VI可以給給當(dāng)前Word報表設(shè)置標(biāo)題

5、。在本例中,將報表標(biāo)題設(shè)置為“IEI系統(tǒng)測試報告”,另外,使用本VI還可以設(shè)置標(biāo)題的字體等等;(3) 放入Word Easy Text.vi,該VI可以在Word Specific目錄下找到,使用本VI即可以將所需內(nèi)容添加至Word報表中。在本例中,需要將報表日期插入當(dāng)前報表,則需要將報表日期字符串連接至“text”端。另外,使用本VI還可以設(shè)置報表的字體、背景顏色以及對齊方式等等;(4) 使用報表保存至文件.vi將報表保存為.doc格式。本例中將報表命名為IEI Report.doc保存在C盤根目錄下;(5) 使用處置報表.vi關(guān)閉報表文件,釋放資源。Word報表生成 Http:/8基于模板

6、的報表生成方式1.建立模板 (1) 打開Microsoft Excel程序,新建空白工作簿;( 2 )將 A 1 單 元 格 的 名 稱 改 為“ReportTitle”;( 3 )將 A 2 單 元 格 的 名 稱 改 為“ReportTime”;(4)將該工作簿保存為Excel97-2003模版的格式保存。本例中命名為Excel template.xlt保存在C盤根目錄下。 Http:/9基于模板的報表生成方式2.使用交互式VI編程 MS Office Report.vi就會自動添加兩個變體數(shù)據(jù)類型的輸入端,名字分別為“ReportTitle”和“ReportTime”,即為創(chuàng)建Excel

7、模版時定義好的名字。之后可以通過分別為這兩個輸入端賦值來生成所需要的報表。 Http:/10報表生成例程 Http:/11報表生成例程該例程遵循“打開操作保存關(guān)閉”的文件編程模式。首先使用新建報表.vi建立Excel報表;后使用Excel Easy Title.vi設(shè)置報表標(biāo)題為“IEI測試報告”,同時將標(biāo)題字體設(shè)置為“微軟雅黑”,字號設(shè)置為24號;接下來使用Excel Easy Text.vi插入報告概述,同時將報告概述的字體設(shè)置為“宋體”,字號設(shè)置為12號;下一步使用Excel Easy Table.vi將表格插入到Excel報表中,字體和字號依前設(shè)置;接下來使用Excel Easy Gr

8、aph.vi將波形圖插入到Excel報表中;最后設(shè)置好報表的保存路徑,保存完畢后使用處置報表.vi關(guān)閉報表,釋放資源。 Http:/12LabVIEW數(shù)據(jù)庫連接工具包數(shù)據(jù)庫分類:關(guān)系型數(shù)據(jù)庫;非關(guān)系型數(shù)據(jù)庫著名的商業(yè)用數(shù)據(jù)庫管理系統(tǒng)有MS SQL Server、Orace、DB2、Visual Foxpro、Microsoft Access等等。另外,開源的數(shù)據(jù)庫管理系統(tǒng)有MySQL、Apache Derby、PostgreSQL、Ingres等等。MS SQL Server是Microsoft公司開發(fā)的商用數(shù)據(jù)庫管理系統(tǒng),在工業(yè)測試應(yīng)用中非常流行,安裝和使用都非常方便,并且支持SQL語言,所

9、以本節(jié)基于MS SQL Server 2005為例介紹數(shù)據(jù)庫連接工具包的操作方式。Http:/13LabVIEW數(shù)據(jù)庫連接工具包數(shù)據(jù)庫是以表格的形式來記錄數(shù)據(jù)的。數(shù)據(jù)表的每一行,表示一條記錄(Record);數(shù)據(jù)表的每一列,表示記錄中的字段(Field),通俗的說就是記錄的一項內(nèi)容,比如儀器名稱等等;能夠唯一標(biāo)識表中某一行的屬性或?qū)傩越M,叫主鍵(Primary Key),一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標(biāo)識某一行記錄,所以可以確保執(zhí)行數(shù)據(jù)更新、刪除的時候不會出現(xiàn)張冠李戴的錯誤。 Http:/14LabVIEW數(shù)據(jù)庫連接工具包在使用LabVIEW數(shù)據(jù)庫連接工具包操作數(shù)

10、據(jù)庫之前,需要先連接數(shù)據(jù)庫,這就像操作文件之前,先要打開文件一樣。連接數(shù)據(jù)庫主要有以下兩種方式,分別為使用DSN連接數(shù)據(jù)庫和使用udl文件連接數(shù)據(jù)庫。Http:/15使用DSN連接數(shù)據(jù)庫LabVIEW數(shù)據(jù)庫連接工具包基于ODBC(Open Database Connectivity)技術(shù)。在使用該工具包的時候,需要提供數(shù)據(jù)源名DSN(Data Source Names)才能連接到數(shù)據(jù)庫,所以需要先創(chuàng)建DSN。在Windows控制面板管理工具數(shù)據(jù)源(ODBC)中打開數(shù)據(jù)源管理器,在“用戶DSN”選項卡中單擊“添加”按鈕,選擇“SQL Server”驅(qū)動,輸入用戶名和密碼后,點擊“測試數(shù)據(jù)源”,如

11、果配置正確的話,就會彈出“測試成功的提示”,本例中的DSN配置如圖所示。完成以上步驟后,就可以在“用戶DSN”中看到新建立的DSN了。 Http:/16使用udl文件連接數(shù)據(jù)庫Microsoft公司設(shè)計的ODBC標(biāo)準(zhǔn)只能訪問關(guān)系型數(shù)據(jù)庫,對非關(guān)系型數(shù)據(jù)庫則無能為力。為了解決這個問題,Microsoft公司另外提供了一種技術(shù):Active數(shù)據(jù)對象ADO(Active Data Objects)技術(shù)。ADO使用通用數(shù)據(jù)連接UDL(Universal Data Link)來獲得數(shù)據(jù)庫信息以實線數(shù)據(jù)庫連接。udl文件的創(chuàng)建方法非常簡單,可以在任意文件夾下建立一個文本文件,然后將其后綴名改為udl即可,

12、本例中將此文件命名為IEI_Measurements.udl,雙擊打開udl文件進行配置,在“提供程序”選項 卡 中 選 擇 “ M i c r o s f o t O L E D B Provider for SQL Server”,然后在“連接”選項卡中設(shè)置好數(shù)據(jù)庫服務(wù)器的相關(guān)信息,點擊“測試連接”按鈕,如果配置沒有問題,則會提示“測試連接成功”,至此udl文件配置完成。 Http:/17LabVIEW數(shù)據(jù)庫基本操作建立好數(shù)據(jù)源之后,使用LabVIEW數(shù)據(jù)庫連接工具包就可以非常方便的對數(shù)據(jù)庫進行操作了。LabVIEW數(shù)據(jù)庫連接工具包 安 裝 完 成 后 , 可 以 在 背 面 板 的 函

13、數(shù) 互 聯(lián) 接 口Database面板下找到所有的相關(guān)VI。Http:/18LabVIEW數(shù)據(jù)庫基本操作數(shù)據(jù)庫操作遵循“打開數(shù)據(jù)庫操作數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫”的基本流程。其中,使用DB Tools Open Connection.vi來打開數(shù)據(jù)庫連接,使用DB Tools Close Connection.vi關(guān)閉數(shù)據(jù)庫連接。在“操作數(shù)據(jù)庫”步驟中可以對數(shù)據(jù)庫進行所需的操作。Http:/19創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表是由LabVIEW數(shù)據(jù)庫連接工具包中的DB Tools Create Table.vi來實現(xiàn)的。首先使用DB Tools Open Connection.vi來打開數(shù)據(jù)庫連接,連接文件使用前面

14、創(chuàng)建的IEI_Measurements.udl文件;之后使用DB Tools Create Table.vi來建立新的數(shù)據(jù)表格,表格的名稱設(shè)定為“Device”,其中包含4個字段,分別為“DeviceName”、“DeviceType”、“DeviceID”和“Company”。 Http:/20刪除數(shù)據(jù)表刪除數(shù)據(jù)表格的過程與創(chuàng)建表格的過程類似,使用DB Tools Drop Table.vi實現(xiàn)。假設(shè)要刪除前面建立好的表格,只需要在DB Tools Drop Table.vi中指明要刪除的表格名稱即可。另外,創(chuàng)建表格和刪除表格的參數(shù)非常類似,在實際工程應(yīng)用中,一般將二者編寫為同一個VI,在其

15、中實現(xiàn)表格的創(chuàng)建和刪除操作。 Http:/21添加數(shù)據(jù)記錄添加數(shù)據(jù)記錄可以由LabVIEW數(shù)據(jù)庫連接工具包中的DB Tools Insert Data.vi實現(xiàn)。DB Tools Insert Data.vi需要3個主要的參數(shù):“table”參數(shù)確定將要插入的表格名稱;“data”參數(shù)確定將要插入的數(shù)據(jù);“columns”參數(shù)對應(yīng)插入列的名稱,可以先使用DB Tools List Columns.vi列出表格中列的名稱,可以省去手動輸入列名的麻煩,以方便下一步的數(shù)據(jù)插入。 Http:/22查詢數(shù)據(jù)記錄查詢數(shù)據(jù)記錄(讀出數(shù)據(jù)記錄)也是數(shù)據(jù)庫中經(jīng)常使用的操作步驟。在LabVIEW數(shù)據(jù)庫連接工具包中

16、,查詢數(shù)據(jù)記錄使用DB Tools Select Data.vi來實現(xiàn)。只需要在DB Tools Select Data.vi的“table”輸入端指明需要查詢記錄的表格名稱,該VI會把表中的所有數(shù)據(jù)讀出來。使用“columns”參數(shù)可以選擇性的讀出所需要的列。 Http:/23數(shù)據(jù)庫高級操作數(shù)據(jù)庫操作除了創(chuàng)建表格、刪除表格、添加記錄、查詢記錄這些基本操作之外,常用的還有刪除記錄、更新現(xiàn)有數(shù)據(jù)等高級操作。這些高級操作在LabVIEW數(shù)據(jù)庫連接工具包中并沒有對應(yīng)的現(xiàn)成VI,所以需要接觸SQL語句來實現(xiàn)。LabVIEW數(shù)據(jù)庫連接工具包執(zhí)行SQL語句是通過DB Tools Execute Query

17、.vi實現(xiàn)的,該VI可以在函數(shù)互聯(lián)接口DatabaseAdvanced面板下找到。Http:/24數(shù)據(jù)庫高級操作Delete通過查詢SQL參考手冊,可知刪除一條記錄的SQL關(guān)鍵字為“DELETE”,其語法為:DELETE FROM table_nameWHERE column_name = some_value假設(shè)要刪除DeviceName為“ELVIS”的數(shù)據(jù)記錄,則使用SQL語句刪除記錄的程序框圖如圖所示。 Http:/25數(shù)據(jù)庫高級操作Update在SQL語言中,修改數(shù)據(jù)記錄的關(guān)鍵字為“UPDATE”,其語法為:UPDATE table_name SET column_name = ne

18、w_valueWHERE column_name = some_value假設(shè)要修改DeviceName為“ELVIS”的數(shù)據(jù)記錄,將其“DeviceID”修改為“6”,程序框圖如圖所示。 Http:/26OpenG工具包“G”代表圖形化編程語言,“OpenG”則代表源代碼公開的圖形化編程語言,即“開源”語言。所謂“開源”,包含兩層含義:其一,對于用戶來講它是免費軟件;其二,它允許用戶自由地查看、修改和傳播源代碼。OpenG就是這么一種可運行在LabVIEW開發(fā)環(huán)境下,免費的、源代碼公開的圖形化編程語言軟件包(實質(zhì)是使用LabVIEW開發(fā)的)。由于開源的LabVIEW工具包多而且雜,不便于用戶

19、的查詢、下載和安裝,因此JKI Software社團開發(fā)了一種方便于用戶下載和管理LabVIEW工具包的軟件VIPM(VI Package Manager)。下面首先介紹VIPM的安裝和使用方法,之后在此基礎(chǔ)上介紹OpenG工具包中各種VI的使用方法。Http:/27VIPM安裝和使用VIPM安裝包可在VIPM主頁(http:/ 2010。VIPM分三種版本,其中Community Edition是免費版,另外兩種Professional Edition和Enterprise Edition需要付費才能使用。 Http:/28配置VIPM和LabVIEW的連接點擊菜單欄中的ToolsOptio

20、ns,進入軟件配置界面,點擊“LabVIEW”選項卡,在左邊的列表中會自動列出當(dāng)前系統(tǒng)中已經(jīng)安裝的LabVIEW版本。點擊左下角的“Edit Selected Item”按鈕,進入連接配置界面。在此界面配置好TCP/IP端口(默認(rèn)為3363),點擊“Test”按鈕,如果配置正確,則會提示測試成功,至此,VIPM與LabVIEW之間的連接配置完成。 Http:/29安裝OpenG工具包配置好VIPM與LabVIEW的連接之后,就可以使用VIPM安裝所需要的工具包了。以安裝OpenG工具包為例,首先點擊主界面上方的按鈕“Check All Package Repositories for Avai

21、lable Packages”,程序會列出所有可以下載安裝的工具包。在列出的工具包中找到OpenG Toolkit,右鍵點擊“Install”,VIPM會自動把全部的OpenG工具包安裝完畢。OpenG工具包也包含前面板控件和背面板函數(shù)兩部分。前面板控件主要包含一些常用的按鈕,背面板空間是OpenG工具包的核心,包含了豐富的函數(shù)。Http:/30OpenG函數(shù) Http:/31指定范圍隨機數(shù)產(chǎn)生工具LabVIEW自帶的隨機數(shù)發(fā)生器只能產(chǎn)生0,1)范圍內(nèi)的隨機數(shù),而在實際應(yīng)用中,需要的隨機數(shù)往往是其他范圍的,此時,使用Random Number-Within Range.vi就可以很方便的產(chǎn)生任

22、意范圍的隨機數(shù)。雙擊此vi可以查看它的源代碼,如圖所示。從一次函數(shù)的角度看就是線性化處理,該vi高極限和低極限默認(rèn)分別為1和0,也就是說如果不給定任何輸入?yún)?shù),等價于LabVIEW自帶的的0,1)隨機數(shù)發(fā)生器。 Http:/32數(shù)值轉(zhuǎn)換枚舉工具OpenG數(shù)值工具提供的另一個函數(shù)Coerce to Enum.vi可以將數(shù)值轉(zhuǎn)換為枚舉數(shù)據(jù)類型,這是一個非常有用的工具函數(shù),NI公司的狀態(tài)機工具包就使用了這種方法。從程序框圖上看,該函數(shù)通過變體數(shù)據(jù),將數(shù)值數(shù)據(jù)轉(zhuǎn)換成枚舉數(shù)據(jù),在LabVIEW中數(shù)值類型是可以直接轉(zhuǎn)換成枚舉的數(shù)據(jù)類型的,之所以采用這種轉(zhuǎn)換方式,主要的目的是為了便于實現(xiàn)狀態(tài)機或者條件分支結(jié)

23、構(gòu), Http:/33布爾觸發(fā)工具O p e n G 布 爾 工 具 只 包 含 一 個 函 數(shù) , 即 B o o l e a n Trigger.vi。該vi可以用來檢測輸入布爾變量的上升沿或者下降沿。在PLC編程中,上升沿和下降沿的概念非常重要,在數(shù)據(jù)采集中也同樣很常用。當(dāng)布爾量前一個裝狀態(tài)為FALSE,當(dāng)前狀態(tài)為TRUE,我們稱之為上升沿,當(dāng)布爾量前一個狀態(tài)為TRUE,當(dāng)前狀態(tài)為FALSE,稱之為下降沿。Boolean Trigger.vi使用了未初始化的移位寄存器來保存上一次循環(huán)的布爾值,并與當(dāng)前值進行比較,進而判斷出上升沿或是下降沿。 Http:/34檢測數(shù)據(jù)改變工具OpenG的比

24、較工具同樣僅包含一個函數(shù),即Data Changed.vi。該函數(shù)可以判斷輸入值是否發(fā)生了變化,如果當(dāng)前值與上次值不同則為TRUE,相同為FALSE,這實際上也是一個“沿”的變化,該函數(shù)類似于事件結(jié)構(gòu),當(dāng)一個控件的值發(fā)生變化時觸發(fā)一個事件,不過是在輪詢結(jié)構(gòu)中使用的。 Http:/35過濾數(shù)組工具在實際編程中,經(jīng)常需要對數(shù)組進行過濾操作,也就是將數(shù)組中某些特定值剔除。使用OpenG數(shù)組工具中的Filter 1D Array.vi可以方便的實現(xiàn)數(shù)組過濾功能, Http:/36數(shù)組搜索工具OpenG數(shù)組工具里包含一個常用數(shù)組搜索工具Search Array.vi。它是對LabVIEW數(shù)組工具中的搜索

25、一維數(shù)組.vi的擴展。搜索函數(shù)的目的是查找數(shù)組是否存在給定的元素并返回其所在位置,即索引,由于找到后立即返回,因此該函數(shù)無法直接返回所有滿足條件的元素的索引,必須通過循環(huán)給定另外的開始位置,重新尋找。很多情況下,我們需要找到所有滿足條件的索引,這就是OpenG數(shù)組搜索工具Search Array.vi完成的功能。 Http:/37刪除數(shù)組元素工具在LabVIEW自帶的數(shù)組工具中,有一個刪除數(shù)組元素.vi,但是使用此vi具有很多局限性。首先它每次只能刪除一個或者一段元素;其次,刪除一段元素的時候,這段元素必須是連續(xù)的。而OpenG工具包中的刪除數(shù)組元素工具Delete Elements From

26、 Array.vi是對LabVIEW自帶vi的擴展,使用Delete Elements From Array.vi可以非常方便的刪除數(shù)組中任意位置的任意數(shù)量的元素。 Http:/38索引數(shù)組元素工具OpenG的索引數(shù)組元素工具Index 1D Array Elements.vi也是對LabVIEW自帶數(shù)組索引工具的擴展。LabVIEW自帶的數(shù)組索引工具每次可以索引出一個元素、連續(xù)多個元素、整行或者整列,而使用OpenG的索引數(shù)組元素工具可以指定索引數(shù)組,從而索引出任意數(shù)量的元素。 Http:/39獲取VI引用工具Current VIs Reference.vi可以返回當(dāng)前vi的引用,而Curr

27、ent VIs Parents Reference.vi可以返回當(dāng)前vi的父函數(shù)的引用,這兩個工具在實際應(yīng)用中是經(jīng)常需要用到的。尤其是獲得當(dāng)前vi的父函數(shù)的引用,可以省去編程人員查閱函數(shù)調(diào)用鏈的麻煩。 Http:/40創(chuàng)建VI克隆引用工具Open VI Clone Reference.vi也是經(jīng)常用到的工具,該工具是對LabVIEW自帶函數(shù)打開VI引用.vi的擴展。當(dāng)用戶使用OpenG中的Open VI Clone Reference.vi的時候,首先給指定的VI創(chuàng)建一個模版,之后再創(chuàng)建這個模版的引用,在使用完此引用之后,會自動銷毀之前創(chuàng)建的模版,釋放資源。使用這種方式的好處是使新創(chuàng)建的引用和

28、原VI完全隔離,對新創(chuàng)建引用的任何操作將不會影響原VI的運行。 Http:/41MGI工具包MGI是Moore Good Ideas, INC. 的縮寫。MGI是一個以LabVIEW軟件和NI公司的硬件產(chǎn)品為主體的自動化系統(tǒng)專業(yè)技術(shù)開發(fā)公司,該公司由David A Moores在1999年創(chuàng)辦。幾年來,這個團隊的業(yè)務(wù)能力得到不斷發(fā)展和壯大,同時根據(jù)客戶的實際需求和他們自身多年來的工作需要,總結(jié)、設(shè)計、開 發(fā) 了 一 套 特 有 的 V I s 庫 ( M G I Freeware Vis),也就是下文將要介紹的MGI工具包,自由的提供給其他的LabVIEW愛好者參考使用。 Http:/42數(shù)組

29、移位工具在MGI的1維數(shù)組工具中包含一個數(shù)組移位函數(shù)MGI Shift Array.vi。使用該函數(shù)可以非常方便的對數(shù)組元素進行任意位數(shù)的移位操作,移位之后的空元素將使用NaN填充。使用數(shù)組移位函數(shù)的典型例程如圖所示,原數(shù)組經(jīng)過位數(shù)為“-2”的移位操作之后,原數(shù)組所有元素均向左移動2位,同時用NaN填充最右邊空出的兩個元素。 Http:/43以閾值插值1維數(shù)組擴展工具MGI的1維數(shù)組工具包含一個以閾值插值1維數(shù)組擴展函數(shù)MGI Threshold 1D Array Extended.vi,它是LabVIEW自帶以閾值插值1維數(shù)組函數(shù)的擴展,該函數(shù)擴展了LabVIEW自帶以閾值插值1維數(shù)組函數(shù)的

30、使用范圍,它可以產(chǎn)生數(shù)組限制之外的指數(shù)索引。當(dāng)閾值在輸入數(shù)組的范圍之內(nèi)時,MGI Threshold 1D Array Extended.vi和LabVIEW自帶的以閾值插值1維數(shù)組.vi返回的指數(shù)索引值完全相同;但是當(dāng)輸入的閾值超出數(shù)組范圍(大于數(shù)組最大值或者小于數(shù)組最小值)時,LabVIEW自帶的以閾值插值1維數(shù)組.vi只會返回數(shù)組內(nèi)和閾值最相近的指數(shù)索引,而MGI Threshold 1D Array Extended.vi則會返回精確的指數(shù)索引,而不受數(shù)組范圍的影響。 Http:/441維數(shù)組滑動平均工具MGI的1維數(shù)組工具包包含一個1維數(shù)組滑動平均函數(shù)MGI Centered Wei

31、ghted Moving Average.vi,使用該函數(shù)可以根據(jù)輸入的權(quán)值參數(shù)(Weighting)和大小參數(shù)(Size)對輸入數(shù)組進行滑動平均計算,經(jīng)過滑動平均操作后的數(shù)組會比原數(shù)組更為平滑,從而有利于其后的運算或觀察。 Http:/45計算2維數(shù)組大小工具MGI 的2維數(shù)組工具包包含一個計算2維數(shù)組大小函數(shù)MGI XY Sizes.vi,該函數(shù)可以計算出2維數(shù)組X維度和Y維度的大小。 Http:/46求一元二次方程實根工具MGI數(shù)值工具包中包含一個求一元二次方程實根函數(shù)MGI Get Real Quadratic Roots.vi,使用該函數(shù)可以解出一元二次方程Ax2+Bx+C=0的實數(shù)

32、根。如果方程沒有實數(shù)根,則函數(shù)返回NaN。使用該函數(shù)解一元二次方程實根的典型例程如圖所示。 Http:/47數(shù)值轉(zhuǎn)換為數(shù)字?jǐn)?shù)組工具MGI數(shù)值工具包中包含一個將數(shù)值轉(zhuǎn)換為數(shù)字?jǐn)?shù)組函數(shù)MGI Number to Digits.vi,使用該函數(shù)可以將一個I32型數(shù)值轉(zhuǎn)換為任意進制的數(shù)字?jǐn)?shù)組。該函數(shù)默認(rèn)將輸入數(shù)值轉(zhuǎn)換為10進制數(shù)字?jǐn)?shù)組,而用戶可以根據(jù)具體需求任意指定進制類型,如2進制、8進制等。轉(zhuǎn)換完畢后,可以使用N = Digits0 * Base0 + Digits1 * Base1 + Digits2 * Base2 + . + Digitsn * Basen重建原始數(shù)值。 Http:/48強制

33、轉(zhuǎn)換工具MGI數(shù)值工具包中包含一些強制轉(zhuǎn)換函數(shù),如將角度轉(zhuǎn)換為弧度函數(shù)MGI Degrees to Radians.vi、將弧度轉(zhuǎn)換為角度函數(shù)MGI Radians to Degrees.vi、將角度限制在0, 360范圍函數(shù)MGI Coerce Degrees.vi、將弧度限制在-, +范圍函數(shù)MGI Coerce Radians.vi等等。Http:/49浮點數(shù)“”比較工具MGI數(shù)值工具包中包含一個比較浮點數(shù)的函數(shù)MGI Approximately Equal.vi,專門用來比較浮點型數(shù)值是否相等。浮點型數(shù)值因為精度的關(guān)系,在程序設(shè)計中不能直接使用“=”來判斷是否相等,必須使用“”的比較方

34、式。MGI Approximately Equal.vi函數(shù)判斷兩個浮點型數(shù)值的比值是否在99%至101%范圍內(nèi),從而判斷兩個浮點型數(shù)值是否相等。 Http:/50展寬字符串工具MGI字符串工具包中包含一個用來展寬字符串的函數(shù)MGI Pad String.vi,使用該函數(shù)可以將輸入字符串展寬為用戶需求的長度(End Length),用戶可以自由輸入展寬所用的字符,默認(rèn)的展寬字符為s。當(dāng)待展寬的字符串的長度大于End Length時,函數(shù)返回原字符串;當(dāng)待展寬的字符串的長度小于End Length時,函數(shù)將使用用戶指定的展寬字符(默認(rèn)為s)將字符串展寬為End Length長度。 Http:/5

35、1安全文件名字符串工具MGI字符串工具包中包含一個將字符串轉(zhuǎn)換為安全文件名字符串的函數(shù)MGI Make String Filesafe.vi,使用該函數(shù)可以刪除文件名或者文件夾名中不允許使用的字符,從而得到安全的文件名字符串,該函數(shù)在文件保存操作中應(yīng)用廣泛。在任何操作系統(tǒng)中,總有一些字符是不允許作為文件名或者文件夾名的,比如在Windows操作系統(tǒng)中,“”、“/”、“:”、“?”等等字符不允許在文件或者文件夾名中出現(xiàn)。MGI Make String Filesafe.vi使用一個搜索替換字符串的內(nèi)置函數(shù)對這些字符進行搜索,從而刪除掉這些字符,返回安全的文件名字符串。 Http:/52字符串匹配

36、工具MGI字符串工具包中包含一個字符串匹配函數(shù)MGI String Pattern Match Exists.vi,該函數(shù)和LabVIEW自帶的字符串匹配函數(shù)的區(qū)別是:LabVIEW字符串匹配函數(shù)每次只能匹配一個字符串,而使用MGI String Pattern Match Exists.vi一次可以匹配多個字符串,函數(shù)將返回第一個匹配成功的字符串索引。 Http:/53JKI狀態(tài)機工具包JKI Software社團不僅開發(fā)出了VIPM工具包管理軟件,還開發(fā)出了一套實用的LabVIEW程序結(jié)構(gòu)。其中的JKI狀態(tài)機工具包因為其應(yīng)用的廣泛性以及開發(fā)的簡單性,逐漸成為大型工業(yè)程序開發(fā)的必選結(jié)構(gòu)之一。

37、JKI狀態(tài)機具有如下特點:(1)基于字符串型的狀態(tài)機結(jié)構(gòu);(2)單線程的生產(chǎn)者、消費者模式;(3)基于事件結(jié)構(gòu),便于捕捉各類事件;JKI狀態(tài)機工具包同樣需要借助于VIPM軟件來安裝,安裝完畢之后,在LabVIEW函數(shù)選板JKI ToolkitsJKI State Machine中可以找到JKI狀態(tài)機的相關(guān)函數(shù), Http:/54JKI狀態(tài)機工具包 Http:/55JKI狀態(tài)機工具包將String-Based Queued State Machine圖標(biāo)拖動到背面板上。JKI狀態(tài)機工具在幫助用戶構(gòu)建狀態(tài)機結(jié)構(gòu)的同時,還對每個狀態(tài)均進行了詳細(xì)的注釋說明。JKI狀態(tài)機基于字符串型的狀態(tài)隊列結(jié)構(gòu)以及單線程的生產(chǎn)者、消費者模式。程序會創(chuàng)建一個空的字符串隊列作為狀態(tài)隊列,在程序運行過程中,“生產(chǎn)者”會不斷的將新的狀態(tài)加入狀態(tài)隊列中,同時“消

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論