




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第3講復合數(shù)據(jù)類型:數(shù)組、簇和波形LabVIEW編程及虛擬儀器設計上一講內容回顧 兩種循環(huán)結構:While循環(huán)和For循環(huán);循環(huán)結構內外的數(shù)據(jù)交換;自動索引;移位寄存器 條件結構;順序結構;公式節(jié)點;事件結構打開了自動索引的輸入隧道具有3個左端元素的移位寄存器,保存之前3次循環(huán)的值本講內容基本數(shù)據(jù)類型:數(shù)值(整型,浮點型)、布爾、字符串本講內容,復合數(shù)據(jù)類型數(shù)組(Array)簇(Cluster)1. 波形(Waveform)本講內容 數(shù)組 簇 波形本講內容 數(shù)組 簇 波形1. 數(shù)組(Array)數(shù)組:相同數(shù)據(jù)類型的多個數(shù)據(jù)的有序組合。數(shù)組的建立步驟:1. 創(chuàng)建數(shù)組框架(前面板)控件選板,新式-
2、數(shù)組、矩陣與簇-數(shù)組(框圖)函數(shù)選板,編程-數(shù)組-數(shù)組常量數(shù)組輸入控件和輸出顯示控件框架數(shù)組常量框架1. 數(shù)組 (前面板)數(shù)組輸入控件和輸出顯示控件框架(框圖)數(shù)組常量框架數(shù)組元素索引元素區(qū)域2. 向數(shù)組框架中添加某種數(shù)據(jù)類型的“元素”,確定數(shù)組的數(shù)據(jù)類型(數(shù)組尚無任何元素)3. 拖曳改變數(shù)組的可視區(qū)域(可選)改變元素大小1. 數(shù)組同時顯示多個元素4. 為數(shù)組元素賦值(直接在對應元素區(qū)域輸入)索引1. 數(shù)組數(shù)組的維數(shù)1. 1維數(shù)組,一行或一列,只有一個索引:2. 2維數(shù)組,m行n列,有兩個索引:3. 3維數(shù)組,p頁m行n列,有三個索引:頁索引行索引列索引行索引列索引索引區(qū)的值對應數(shù)組左上角元素
3、如何從1維數(shù)組建立2維數(shù)組?在索引區(qū)彈出快捷菜單,添加維度1. 數(shù)組典型數(shù)組操作函數(shù):函數(shù)選板,編程-數(shù)組子選板1. 數(shù)組大?。ˋrray Size)功能:返回數(shù)組各維大小。輸入1維數(shù)組時,返回整型值;輸入多維數(shù)組時,返回1維整型數(shù)組1. 數(shù)組2. 索引數(shù)組(Index Array)功能:返回指定索引位置的元素或者子數(shù)組。n維數(shù)組接入n個索引時,返回一個元素;接入部分索引時,返回子數(shù)組1. 數(shù)組3. 替換數(shù)組子集(Replace Array Subset)功能:從索引位置開始,替換元素或者子數(shù)組1. 數(shù)組4. 初始化數(shù)組(Initialize Array)功能:以指定元素創(chuàng)建n維數(shù)組。可向下拖
4、曳函數(shù)邊框,增加更多維數(shù)1. 數(shù)組5. 創(chuàng)建數(shù)組(Build Array)功能:連接多個數(shù)組,或向數(shù)組添加元素可向下拖曳函數(shù)邊框,增加更多輸入接線端??旖莶藛沃械摹斑B接輸入”選項:打開時,按順序連接輸入數(shù)組,輸出數(shù)組維數(shù)與輸入數(shù)組最高維數(shù)相同;關閉時,輸入數(shù)組維數(shù)必須相同,輸出數(shù)組維數(shù)比輸入高一維(可能補零)。6. 數(shù)組子集(Array Subset)功能:返回數(shù)組的一部分,從“索引”位置開始,共“長度”個?!八饕焙汀伴L度”成對出現(xiàn),對數(shù)與輸入?yún)?shù)“數(shù)組”的維數(shù)相同。輸出“子數(shù)組”與輸入“數(shù)組”維數(shù)相同維數(shù)相同。1. 數(shù)組從只有1頁的3維數(shù)組中提取2維數(shù)組數(shù)組參與計算,算數(shù)函數(shù)的多態(tài)性算數(shù)函
5、數(shù)的多態(tài):函數(shù)的輸入可以是不同的數(shù)據(jù)類型(此處為標量和數(shù)組)1. 數(shù)組本講內容 數(shù)組 簇 波形2. 簇(Cluster)簇:不同(或相同)數(shù)據(jù)類型的多個數(shù)據(jù)的組合。類似C語言中的結構(Struct)。簇的建立步驟:1. 創(chuàng)建簇框架(前面板)控件選板,新式-數(shù)組、矩陣與簇(框圖)函數(shù)選板,編程-簇、類與變體簇輸入控件和輸出顯示控件框架簇常量框架2. 簇 (前面板)簇輸入控件和輸出顯示控件框架(框圖)簇常量框架簇元素區(qū)域2. 向簇框架中添加某種數(shù)據(jù)類型的“元素”,不斷重復此過程 簇輸入控件簇常量示例:字符串雙精度浮點數(shù)布爾2. 簇簇的作用和價值將不同類型的數(shù)據(jù)組織在一起,方便數(shù)據(jù)傳遞(框圖上兩個不
6、同的程序代碼區(qū)域,子函數(shù)/VI和上層函數(shù)/VI之間的參數(shù)傳遞)簡化程序框圖,減少錯誤整型雙精度布爾字符串整型數(shù)組捆綁/打包解除捆綁/解包數(shù)據(jù)傳遞2. 簇簇中元素的順序創(chuàng)建簇時向其中添加元素的順序。改變已有簇中元素的順序:簇邊框上快捷菜單,“重新排序簇中控件”選項。為前面板簇輸入控件中的元素重新排序當前順序新順序下一次鼠標點擊指定的順序某些操作和函數(shù)對簇中的元素排序有要求;簇賦值需要元素類型和順序匹配2. 簇典型簇操作函數(shù):函數(shù)選板,編程-簇、類與變體子選板1. 捆綁(Bundle)功能:將所有輸入元素打包為簇。輸入?yún)?shù)”簇“可選。輸入控件的框圖端子輸出簇控件的框圖端子輸入控件輸出簇控件2. 簇
7、可選輸入?yún)?shù)”簇“的作用替換已有簇的某個元素,生成新簇。簇元素新值已有簇常量新簇2. 簇2. 解除捆綁(Unbundle)功能:解除捆綁已有的簇,捆綁的逆操作。已有簇常量2. 簇3. 按名稱捆綁(Bundle By Name)功能:按元素名稱打包生成新簇。”輸入簇“參數(shù)必須接入。已有簇常量,建立新簇的模板元素名稱來自“輸入簇”參數(shù)2. 簇4. 按名稱解除捆綁(Unbundle By Name)功能:按元素名稱解包已有簇。要求元素有名稱(標簽)。已有簇常量元素名稱來自“已命名簇”參數(shù)2. 簇簇與數(shù)組的轉化已有簇常量(三個整型元素)功能:將元素類型相同的簇轉化為1維數(shù)組。功能:將1維數(shù)組轉化為元素
8、類型相同的簇。(快捷菜單中“簇大小”選項指定簇元素數(shù)目)5. 簇至數(shù)組轉換(Cluster To Array)6. 數(shù)組至簇轉換( Array To Cluster )自動生成的簇元素標簽2. 簇錯誤簇什么是錯誤?程序執(zhí)行中的異常狀態(tài)控件選板,新式-數(shù)組、矩陣與簇簇中元素:狀態(tài)(status),布爾類型,T表示有錯誤,F(xiàn)表示無錯誤;代碼(code),I32類型,0表示無錯誤;源(source),字符串類型,描述錯誤信息。輸入控件輸出顯示控件程序中的錯誤簇很多函數(shù)都有“錯誤輸入” 和“錯誤輸出” 接線端:在編程時,經(jīng)常將這些函數(shù)的錯誤簇參數(shù)串接在一起。2. 簇錯誤輸入(error in)函數(shù)1函
9、數(shù)2函數(shù)3函數(shù)4錯誤輸出(error out)函數(shù)內部如何使用錯誤簇?通常情況下:在函數(shù)中首先判斷“錯誤輸入”參數(shù)是否有錯誤(簇的“狀態(tài)”元素為T時有錯誤),如果有錯誤,則不執(zhí)行實際代碼(除非必要,例如釋放占用的資源),將輸入的錯誤簇直接輸出;如果無錯誤,則執(zhí)行實際代碼,根據(jù)代碼執(zhí)行情況設置錯誤輸出(有錯即輸出錯誤)。2. 簇錯誤輸入(error in)函數(shù)1函數(shù)2函數(shù)3函數(shù)4錯誤輸出(error out)自行構建子VI/子函數(shù)時也應遵循該原則!當錯誤簇遇到Case結構2. 簇子VI功能代碼“錯誤”分支“無錯誤”分支“錯誤輸入”直接傳遞到“錯誤輸出”根據(jù)代碼執(zhí)行情況設置“錯誤輸出”帶錯誤處理功
10、能的帶錯誤處理功能的子子VI的一般架構的一般架構本講內容 數(shù)組 簇 波形3.波形(Waveform)用于存儲數(shù)字化信號、波形數(shù)據(jù)隨時間連續(xù)變化的信號(已經(jīng)轉為電信號,非周期信號)通過采樣得到的數(shù)字信號采樣點采樣間隔、采樣周期(倒數(shù)為采樣率Fs)3.波形時間標識/時間戳(Timestamp):表示精確時間的特殊數(shù)據(jù)類型(前面板)控件選板,新式-數(shù)值(框圖)函數(shù)選板,編程-定時時間標識輸入控件時間標識輸出顯示控件時間標識常量時間/日期瀏覽按鈕3.波形時間標識函數(shù)舉例獲取日期/時間(Get Date/Time In Seconds)功能:讀取當前時間,返回對應時間標識。需統(tǒng)計執(zhí)行時間的代碼段(延時3
11、秒)第1次讀取當前時間第2次讀取當前時間對時間標識做差第0幀第1幀第2幀3.波形波形數(shù)據(jù)類型一種特殊的簇,用于存儲隨時間變化的信號的數(shù)據(jù)類型(信號已經(jīng)被數(shù)字化)(前面板)控件選板:新式-I/O(框圖)波形常量快捷菜單,顯示項-屬性波形輸入控件t0 時間標識類型,表示時間起點dt 雙精度浮點數(shù),表示數(shù)字化波形相鄰兩點時間間隔Y 雙精度浮點數(shù)的一維數(shù)組,表示具體波形數(shù)據(jù)屬性屬性/attributes 變體類型,攜帶相關信息如設備號,數(shù)據(jù)采集通道號變體數(shù)據(jù)類型變體數(shù)據(jù)類型參見補充內容!參見補充內容!3.波形t0dtY3.波形波形相關典型函數(shù),函數(shù)選板,編程-波形創(chuàng)建波形(Build Waveform
12、)功能:創(chuàng)建一個波形(未連入“波形”參數(shù))或修改已有波形(連入“波形”參數(shù))。默認,只有Y輸入端上、下拖動邊框,出現(xiàn)t0,dt,attributes類似簇的“按名稱捆綁”3.波形2. 獲取波形成分(Get Waveform Components)功能:提取已有波形中的成分(t0,dt,Y,屬性)。類似簇的“按名稱解除捆綁”3.波形3. 設置波形屬性(Set Waveform Attribute)4. 獲取波形屬性(Get Waveform Attribute)功能:實際上是為波形中的變體類型的attributes分量設置和獲取屬性即(名,值)對。參見補充內容中的以下函數(shù)設置變體屬性(Set V
13、ariant Attribute)獲取變體屬性(Get Variant Attribute)3.波形程序示例菜單,幫助-查找范例,瀏覽方式:任務-基礎-波形-Create Waveform example.vi 所生成波形中包含名為“attributes”的空變體,該變體含兩個屬性(值都為字符串類型): NI_ChannelName CH:0 NI_UnitDescription - deg C 3.波形為數(shù)眾多的其他波形相關函數(shù):波形操作和運算波形發(fā)生波形測量請自行學習和使用練習習題1:生成含10個隨機數(shù)1維數(shù)組,將數(shù)組元素順序顛倒,再將數(shù)組最后5個元素移到數(shù)組前端,形成 一個新數(shù)組。習題2
14、:創(chuàng)建一個簇控件,其元素分別為字符型控件“姓名”,數(shù)值型控件“學號”,布爾型控件“注冊”;從該簇控件中提取出元素“注冊”并顯示在前面板上。練習習題3:學習波形發(fā)生函數(shù)的使用方法,注意“采樣信息”參數(shù)。正弦波形函數(shù)的位置:函數(shù)選板,編程-波形-模擬波形-波形生成(補充)變體數(shù)據(jù)類型變體數(shù)據(jù)類型(Variant)可以包含任意數(shù)據(jù)類型的特殊數(shù)據(jù)類型。(前面板)控件選板:新式-變體與類輸出顯示控件(默認)北京北京上海上??爝f員不關心包裹內裝了什么表示其中所含數(shù)據(jù)的字符表示其中所含數(shù)據(jù)的字符串,串,非數(shù)據(jù)本身非數(shù)據(jù)本身?。ㄑa充)變體數(shù)據(jù)類型變體相當于可以容納某個任何類型數(shù)據(jù)的容器。典型函數(shù)轉換為變體(To Variant)功能:將“任何數(shù)據(jù)”轉化為“變體”。描述其中所含數(shù)據(jù)的字符串,非數(shù)據(jù)本身?。ㄑa充)變體數(shù)據(jù)類型變體能夠嵌套么?可以,因為變體也是一種LabVIEW數(shù)據(jù)類型(補充)變體數(shù)據(jù)類型2. 變體至數(shù)據(jù)轉換(Variant To Data)功能:將“變體”轉化為“數(shù)據(jù)”,轉化規(guī)則依據(jù)所接入的“類型”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五一燈具套餐活動方案
- 五聲校園創(chuàng)建活動方案
- 邯鄲職業(yè)技術學院《教育管理》2023-2024學年第二學期期末試卷
- 五折沃爾瑪活動方案
- 五金公司團建活動方案
- 亞運會教學活動方案
- 交個醫(yī)生做朋友活動方案
- 交易中心志愿者活動方案
- 交通助崗活動方案
- 產(chǎn)品下線儀式活動方案
- GA 1025-2012消防產(chǎn)品消防安全要求
- 50097馬工程-國際組織(第二版)全套課件
- 數(shù)字電子技術基礎(第六版)閻石版課后答案課后題答案與解析課后習題答案
- 自身免疫性腦炎
- 項目部用印臺賬
- 體育與健康人教版三年級上冊前滾翻教案
- GB 38454-2019 墜落防護 水平生命線裝置
- 2022年北京市西城區(qū)八年級下學期期末語文試卷
- 中班繪本《跑跑鎮(zhèn)》微課件
- 基于崗位拓展模型和KPI的主基二元考核績效體系的構建
- 初三英語畢業(yè)考試補考試卷
評論
0/150
提交評論