第9章-LabVIEW應(yīng)用工程管理.ppt_第1頁
第9章-LabVIEW應(yīng)用工程管理.ppt_第2頁
第9章-LabVIEW應(yīng)用工程管理.ppt_第3頁
第9章-LabVIEW應(yīng)用工程管理.ppt_第4頁
第9章-LabVIEW應(yīng)用工程管理.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余103頁可下載查看

下載本文檔

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

文檔簡介

LabVIEW應(yīng)用工程管理 IntelligentElectronicsInstituteHuazhongUniversityofScience Technology 2 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 3 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 這種結(jié)構(gòu)可以為自動(dòng)化測試系統(tǒng)提供一套高效的解決方案 4 測試管理軟件從最頂層管理用戶的測試模式 流程 數(shù)據(jù) 報(bào)表 幫助用戶充分挖掘測試設(shè)備的效能 從而構(gòu)建一套高效 高性價(jià)比 可移植的自動(dòng)測試系統(tǒng) LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 5 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 測試開發(fā)軟件測試管理軟件能夠管理的內(nèi)容 必須由測試開發(fā)軟件具體實(shí)現(xiàn) LabVIEW即是一種能夠充分滿足需求的測試開發(fā)軟件 6 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 系統(tǒng)服務(wù)與驅(qū)動(dòng)程序這一層的開發(fā)工作必須全面而細(xì)膩 才能保證系統(tǒng)具有良好的可維護(hù)性 兼容性和移植性 7 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 處理總線平臺(tái)在自動(dòng)測試系統(tǒng)中 處理總線平臺(tái)是軟件與硬件的載體 也是軟硬件交互的通道 直接決定了整個(gè)系統(tǒng)的性能和穩(wěn)定性 可分為以下3類 普通PC平臺(tái) 成本低 穩(wěn)定性差 兼容性差 適用于試驗(yàn)階段 基于PC的堅(jiān)固型系統(tǒng) NI公司提出的處理總線平臺(tái) 基于PC架構(gòu) 進(jìn)行了堅(jiān)固性的優(yōu)化升級(jí) 適合于各種工業(yè)自動(dòng)測試系統(tǒng) 工控機(jī)平臺(tái) 大型工業(yè)測試系統(tǒng)最常選用的處理總線平臺(tái) 穩(wěn)定性和兼容性最好 適應(yīng)嚴(yán)酷的工業(yè)測試環(huán)境 8 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 模塊化I O與儀器控制NI公司提出的 以軟件為核心 的理念 將軟件提升到了很高的層面 相應(yīng)的硬件部分也變得更加模塊化 更具有靈活性 模塊化I O具備諸多方便性和自由性 但在實(shí)際自動(dòng)測試系統(tǒng)中 分立儀器以及特殊用途儀器等等也經(jīng)常會(huì)被采用 9 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 模塊化I O與儀器控制對(duì)儀器的控制需要借助于不同總線技術(shù) 總線 BUS 是最重要的硬件組成部分 也是各硬件模塊之間交互的紐帶 總線的速度以及穩(wěn)定性直接關(guān)系到整個(gè)自動(dòng)測試系統(tǒng)的執(zhí)行效率以及出錯(cuò)率 10 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 模塊化I O與儀器控制在當(dāng)前工業(yè)自動(dòng)測試系統(tǒng)中 常用總線一般根據(jù)具體需求可以分為以下4類 GPIB總線 應(yīng)用最早也最為廣泛的總線 穩(wěn)定性強(qiáng) 可靠性高 在常用的分立儀器以及特殊用途的儀器上應(yīng)用較多 USB總線 具備自動(dòng)檢測 即插即用的特性 因此在便攜式的儀器以及需要經(jīng)常拆分及組裝的系統(tǒng)上應(yīng)用非常廣泛 Ethernet LAN LXI總線 即通常說的基于網(wǎng)絡(luò)的總線 借助于互聯(lián)網(wǎng)可以進(jìn)行分布式的測試測量以及對(duì)儀器進(jìn)行遠(yuǎn)程控制 PCI PXI PXI e總線 具備最高的帶寬和最低的傳輸延遲 在高速數(shù)據(jù)采集以及實(shí)時(shí)測量控制系統(tǒng)中應(yīng)用廣泛 11 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 小結(jié) 總之 以軟件為核心的開放性系統(tǒng)架構(gòu)和模塊化系統(tǒng)集成技術(shù)推進(jìn)自動(dòng)化測試測量系統(tǒng)開發(fā)與應(yīng)用 將為實(shí)施圖形化系統(tǒng)設(shè)計(jì)LabVIEW應(yīng)用工業(yè)與工程項(xiàng)目管理奠定重要技術(shù)基礎(chǔ) 12 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 13 LabVIEW軟件工程 LabVIEW定位在讓那些沒有任何編程經(jīng)驗(yàn)的測試測量工程師也能夠編寫自己的測試測量軟件 但是這并不意味著知道了程序的大概功能就可以直接動(dòng)手編寫程序代碼 對(duì)于簡單的程序 這樣做是可行的 但遇到大規(guī)模的系統(tǒng)開發(fā) 這樣做會(huì)給程序開發(fā)帶來較大的隱患 因此在著手開發(fā)程序之前 做好詳細(xì)的需求分析和計(jì)劃可以極大地降低大型系統(tǒng)開發(fā)的難度 節(jié)省開發(fā)時(shí)間 提高軟件設(shè)計(jì)質(zhì)量 降低軟件開發(fā)成本 在工業(yè)應(yīng)用的測試系統(tǒng)的構(gòu)建過程中 不僅需要考慮用戶交互 測試流程 數(shù)據(jù)處理保存的設(shè)計(jì) 還需要考慮各系統(tǒng)之間的相互關(guān)系 這需要開發(fā)者具有相應(yīng)的軟件工程的背景知識(shí) 14 LabVIEW軟件工程 軟件生命周期軟件也有一個(gè)孕育 誕生 成長 成熟 衰亡的生存過程 把上述基本的過程活動(dòng)進(jìn)一步展開 可以得到軟件生存周期的6個(gè)階段 軟件項(xiàng)目計(jì)劃 planning 確定待開發(fā)軟件系統(tǒng)的總目標(biāo) 對(duì)其進(jìn)行可行性分析 并對(duì)資源分配 進(jìn)度安排等做出合理的計(jì)劃 需求分析和定義 requirementanalysisanddefinition 確定待開發(fā)軟件系統(tǒng)的功能 性能 數(shù)據(jù) 界面等要求 從而確定系統(tǒng)的邏輯模型 15 LabVIEW軟件工程 軟件生命周期軟件設(shè)計(jì) softwaredesign 設(shè)計(jì)是軟件工程的技術(shù)核心 軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì) 概要設(shè)計(jì)的任務(wù)是模塊分解 確定軟件的結(jié)構(gòu) 模塊的功能和模塊間的接口 以及全局?jǐn)?shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) 詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu) 編碼 coding 編碼的任務(wù)是用程序語言為每個(gè)模塊編寫程序 測試 testing 測試是保證軟件質(zhì)量的重要手段 其主要方式是在設(shè)計(jì)測試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分 運(yùn)行和維護(hù) running maintenance 已交付的軟件投入正式使用 便進(jìn)入運(yùn)行階段 這一階段可能持續(xù)若干年甚至幾十年 軟件在運(yùn)行中可能由于多方面的原因需要對(duì)它進(jìn)行修改 其原因可能有 運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正 為了適應(yīng)變化了的軟件工作環(huán)境 需做適當(dāng)變更 為了增強(qiáng)軟件的功能需做變更 16 LabVIEW軟件工程 軟件開發(fā)模型1 瀑布模型 WaterfallModel 在瀑布模型中 軟件開發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行 當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果 實(shí)施完成所需的工作內(nèi)容 當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證 如果驗(yàn)證通過 則該結(jié)果作為下一項(xiàng)活動(dòng)的輸入 繼續(xù)進(jìn)行下一項(xiàng)活動(dòng) 否則返回修改 17 LabVIEW軟件工程 軟件開發(fā)模型1 瀑布模型 WaterfallModel 瀑布模型強(qiáng)調(diào)文檔的作用 并要求每個(gè)階段都要仔細(xì)驗(yàn)證 但是 這種模型的線性過程太理想化 已不再適合現(xiàn)代的軟件開發(fā)模式 幾乎被業(yè)界拋棄 其主要問題在于 各個(gè)階段的劃分完全固定 階段之間產(chǎn)生大量的文檔 極大地增加了工作量 由于開發(fā)模型是線性的 用戶只有等到整個(gè)過程的末期才能見到開發(fā)成果 從而增加了開發(fā)的風(fēng)險(xiǎn) 早期的錯(cuò)誤可能要等到開發(fā)后期的測試階段才能發(fā)現(xiàn) 進(jìn)而帶來嚴(yán)重的后果 18 LabVIEW軟件工程 軟件開發(fā)模型2 快速原型模型 RapidPrototypeModel 快速原型模型的第一步是建造一個(gè)快速原型 實(shí)現(xiàn)用戶與系統(tǒng)的交互 用戶對(duì)原型進(jìn)行評(píng)價(jià) 進(jìn)一步細(xì)化待開發(fā)軟件的需求 通過逐步調(diào)整原型使其滿足用戶的要求 開發(fā)人員可以確定用戶的真正需求是什么 第二步則在第一步的基礎(chǔ)上開發(fā)用戶滿意的軟件產(chǎn)品 19 軟件開發(fā)模型3 增量模型 IncrementalModel 在增量模型中 軟件被作為一系列的增量構(gòu)件來設(shè)計(jì) 實(shí)現(xiàn) 集成和測試 每個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成 增量模型在各個(gè)階段并不交付一個(gè)可運(yùn)行的完整產(chǎn)品 而是交付滿足客戶需求的一個(gè)子集的可運(yùn)行產(chǎn)品 開發(fā)人員逐個(gè)構(gòu)件地交付產(chǎn)品 這樣做的好處是軟件開發(fā)可以較好地適應(yīng)變化 客戶可以不斷地看到所開發(fā)的軟件 從而降低開發(fā)風(fēng)險(xiǎn) LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu) 20 LabVIEW軟件工程 軟件開發(fā)模型3 增量模型 IncrementalModel 但是 增量模型也存在以下缺陷 由于各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的 所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分 這需要軟件具備開放式的體系結(jié)構(gòu) 在開發(fā)過程中 需求的變化是不可避免的 增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型 但也很容易退化為邊做邊改模型 從而使軟件過程的控制失去整體性 21 LabVIEW軟件工程 軟件開發(fā)模型4 螺旋模型 SpiralModel 螺旋模型 它將瀑布模型和快速原型模型結(jié)合起來 強(qiáng)調(diào)了其他模型所忽視的風(fēng)險(xiǎn)分析 特別適合于大型復(fù)雜的系統(tǒng) 22 LabVIEW軟件工程 軟件開發(fā)模型4 螺旋模型 SpiralModel 但是 螺旋模型也有一定的限制條件 具體如下 螺旋模型強(qiáng)調(diào)風(fēng)險(xiǎn)分析 但要求許多客戶接受和相信這種分析 并作出相關(guān)反應(yīng)是不容易的 因此 這種模型往往適應(yīng)于內(nèi)部的大規(guī)模軟件開發(fā) 如果執(zhí)行風(fēng)險(xiǎn)分析將大大影響項(xiàng)目的利潤 那么進(jìn)行風(fēng)險(xiǎn)分析毫無意義 因此 螺旋模型只適合于大規(guī)模軟件項(xiàng)目 軟件開發(fā)人員應(yīng)該擅長尋找可能的風(fēng)險(xiǎn) 準(zhǔn)確地分析風(fēng)險(xiǎn) 否則將會(huì)帶來更大的風(fēng)險(xiǎn) 23 LabVIEW軟件工程 測試管理軟件5 演化模型 EvolutionaryModel 演化模型主要針對(duì)事先不能完整定義需求的軟件開發(fā) 用戶可以給出待開發(fā)系統(tǒng)的核心需求 并且當(dāng)看到核心需求實(shí)現(xiàn)后 能夠有效地提出反饋 以支持系統(tǒng)的最終設(shè)計(jì)和實(shí)現(xiàn) 軟件開發(fā)人員根據(jù)用戶的需求 首先開發(fā)核心系統(tǒng) 用戶試用核心系統(tǒng) 并提出精化系統(tǒng) 增強(qiáng)系統(tǒng)能力的需求 軟件開發(fā)人員根據(jù)用戶的反饋 實(shí)施開發(fā)的迭代過程 每迭代一次 系統(tǒng)都演進(jìn)一次 實(shí)際上 這個(gè)模型可看做是重復(fù)執(zhí)行的多個(gè)瀑布模型 24 LabVIEW軟件工程 軟件開發(fā)模型6 混合模型 HybridModel 混合模型把幾種不同模型組合成一種模型 它允許一個(gè)項(xiàng)目能沿著最有效的路徑發(fā)展 實(shí)際上 一些軟件開發(fā)單位都是使用幾種不同的開發(fā)方法組成他們自己的混合模型 25 LabVIEW軟件工程 小結(jié) 在程序開發(fā)過程中遇到毫無頭緒的情況下 可以從軟件開發(fā)模型入手 針對(duì)不同的項(xiàng)目 需要使用不同的軟件開發(fā)模型 甚至混合使用幾種開發(fā)模型 這需要在開發(fā)過程中靈活選擇 26 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 27 LabVIEW工程項(xiàng)目管理 在工業(yè)領(lǐng)域應(yīng)用LabVIEW 是為了構(gòu)建自動(dòng)測試測量系統(tǒng) 從而達(dá)到節(jié)約人工 提高效率的目的 28 LabVIEW工程項(xiàng)目管理 LabVIEW的工程應(yīng)用特點(diǎn)基于LabVIEW內(nèi)置庫和數(shù)千種儀器驅(qū)動(dòng)支撐體系 開發(fā)的系統(tǒng)可以連接任何儀器或傳感器 滿足各種各樣工業(yè)測量和控制的需要 經(jīng)過20多年快速發(fā)展 LabVIEW已經(jīng)應(yīng)用于各個(gè)工業(yè)領(lǐng)域 尤其在自動(dòng)測試測量領(lǐng)域獲得廣泛應(yīng)用 不論是在標(biāo)準(zhǔn)測試領(lǐng)域 如太陽能電池組件測試 電能質(zhì)量測試等 還是在定制測試應(yīng)用中 圖形化系統(tǒng)設(shè)計(jì)LabVIEW編程都能游刃有余 相比于傳統(tǒng)的人工手動(dòng)測試 基于LabVIEW的自動(dòng)測試系統(tǒng)將測試測量應(yīng)用推向了一個(gè)更高的水平 29 LabVIEW工程項(xiàng)目管理 LabVIEW的工程應(yīng)用特點(diǎn)提高測試效率增強(qiáng)系統(tǒng)可靠性減少數(shù)據(jù)誤差靈活擴(kuò)展升級(jí)降低測試成本方便管理 30 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法我們按照軟件工程的思想 根據(jù)LabVIEW測試系統(tǒng)設(shè)計(jì)的特點(diǎn) 組織編寫了一套實(shí)用的項(xiàng)目管理方法 經(jīng)過實(shí)踐檢驗(yàn) 能夠適應(yīng)大多數(shù)LabVIEW項(xiàng)目管理的綜合需求 可以推動(dòng)相應(yīng)的具體程序開發(fā)工作 滿足不同客戶應(yīng)用眾多需求 31 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法我們?cè)谲浖_發(fā)活動(dòng)中 采用一種快速原型模型與演化模型相結(jié)合的混合模型 在軟件生命周期的需求分析階段 采用快速原型模型 盡可能快速直觀地與用戶確定軟件功能需求 隨后則采用演化模型 在滿足項(xiàng)目基本功能需求的情況下 根據(jù)用戶在使用過程中反饋的問題和新的要求 開發(fā)功能更完善 性能更穩(wěn)定的系統(tǒng)軟件 32 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法1 需求分析觀點(diǎn) 用戶界面的設(shè)計(jì)在很大程度上可以反映系統(tǒng)功能 在這個(gè)階段使用快速原型作為商談系統(tǒng)需求的切入點(diǎn) 開發(fā)人員和用戶在需求分析時(shí)就可以更順暢 更準(zhǔn)確地溝通 從而同時(shí)保證需求分析環(huán)節(jié)的可靠性和高效性 注意 快速原型必須采用忽視設(shè)備 或稱作模擬設(shè)備輸入 輸出 的編程方式 33 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法1 需求分析但是 使用快速原型模型并不是為了得到一個(gè)可以使用的系統(tǒng)軟件 而是為了方便快速準(zhǔn)確地分析 確定系統(tǒng)需求 同時(shí) 圖形化自動(dòng)測試系統(tǒng)的快速原型也偏重實(shí)現(xiàn)用戶界面 構(gòu)建的代碼結(jié)構(gòu)通常比較粗糙 所以 在得到雙方確認(rèn)的系統(tǒng)原型之后 需要編寫 系統(tǒng)技術(shù)方案 逐一陳述快速原型反映出來的系統(tǒng)需求 指導(dǎo)開發(fā)用于實(shí)際的系統(tǒng) 最終 通過確認(rèn) 系統(tǒng)技術(shù)方案 完成需求分析 34 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法2 核心系統(tǒng)開發(fā)在大型測試系統(tǒng)開發(fā)中 最重要的就是分工合作 要分工就必須為系統(tǒng)劃分模塊 要合作就必須設(shè)計(jì)模塊的輸入 輸出接口 不同于文本語言在一維隊(duì)列上進(jìn)行開發(fā) 基于LabVIEW的測試系統(tǒng)是在一個(gè)二維平面上進(jìn)行開發(fā)的 網(wǎng)狀的代碼結(jié)構(gòu)在進(jìn)行模塊劃分時(shí)要特別注意輸入 輸出接口的設(shè)計(jì) 35 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法2 核心系統(tǒng)開發(fā)核心系統(tǒng)開發(fā)的下一步是將 系統(tǒng)技術(shù)方案 解釋成團(tuán)隊(duì)內(nèi)部用于開發(fā)的 軟件編程結(jié)構(gòu) 軟件編程結(jié)構(gòu) 包含以下幾個(gè)要素 模塊劃分 功能描述 子vi劃分 設(shè)計(jì)接口 vi命名 36 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法2 核心系統(tǒng)開發(fā)測試系統(tǒng)運(yùn)行時(shí) 需要控制測試進(jìn)行的流程 并監(jiān)視測試進(jìn)行的狀態(tài) 這個(gè)界面作為主界面在系統(tǒng)軟件中處于核心地位 它的編寫狀況直接影響整個(gè)系統(tǒng)軟件的可靠性和測試的效率 在實(shí)際應(yīng)用時(shí) 可以采用一種用戶界面響應(yīng)代碼和功能執(zhí)行代碼并列的編寫方式 37 LabVIEW工程項(xiàng)目管理 用戶界面響應(yīng)代碼 功能執(zhí)行代碼 38 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法2 核心系統(tǒng)開發(fā) 39 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法3 系統(tǒng)脫機(jī)調(diào)試測量設(shè)備是自動(dòng)測試系統(tǒng)的重要組成部分 但在LabVIEW中 與設(shè)備相關(guān)的設(shè)備驅(qū)動(dòng)處于軟件的最底層 不連接設(shè)備運(yùn)行軟件時(shí) 與設(shè)備進(jìn)行通信的部分代碼會(huì)由于不能正確通信而報(bào)錯(cuò) 導(dǎo)致軟件不正常終止 系統(tǒng)軟件無法進(jìn)行整體調(diào)試 40 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法3 系統(tǒng)脫機(jī)調(diào)試通過靈活運(yùn)用DiagramDisableStructure 程序框圖禁用結(jié)構(gòu) 和CaseStructure 條件結(jié)構(gòu) 使與設(shè)備進(jìn)行通信的部分在不連接設(shè)備時(shí)不工作 而輸出模擬的數(shù)據(jù)傳遞到下游程序 從而達(dá)到系統(tǒng)正常運(yùn)行 脫機(jī)進(jìn)行整體調(diào)試的目的 41 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法4 系統(tǒng)上機(jī)調(diào)試不論是脫機(jī)調(diào)試還是上機(jī)調(diào)試 都是為了發(fā)現(xiàn)編程中存在的問題 進(jìn)一步完善測試系統(tǒng) 重視脫機(jī)調(diào)試 有利于減少系統(tǒng)開發(fā)成本 但最終的系統(tǒng)設(shè)計(jì)完成 定型交貨 還是要進(jìn)行上機(jī)調(diào)試才能完成 42 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法4 系統(tǒng)上機(jī)調(diào)試在保證系統(tǒng)方案正確 設(shè)備齊全無故障的情況下 上機(jī)調(diào)試主要有兩項(xiàng)工作 設(shè)備驅(qū)動(dòng)調(diào)試和系統(tǒng)整體功能調(diào)試 設(shè)備驅(qū)動(dòng)調(diào)試是指 在單個(gè)設(shè)備上 使用最底層的設(shè)備驅(qū)動(dòng)驗(yàn)證控制指令 設(shè)備功能 數(shù)據(jù)格式等是否與設(shè)想的一致 逐個(gè)驅(qū)動(dòng) 逐臺(tái)設(shè)備進(jìn)行調(diào)試 直至確認(rèn)所有設(shè)備驅(qū)動(dòng)正常工作 系統(tǒng)整體功能調(diào)試是指 連接所有設(shè)備 按照設(shè)計(jì)的測試流程進(jìn)行測試 發(fā)現(xiàn)脫機(jī)調(diào)試中不能發(fā)現(xiàn)的整體性問題 43 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法4 系統(tǒng)上機(jī)調(diào)試當(dāng)上機(jī)調(diào)試完成后 應(yīng)該進(jìn)行系統(tǒng)交貨 索取用戶的書面確認(rèn) 若一次系統(tǒng)上機(jī)調(diào)試不能完全解決問題 則需要書面確認(rèn)問題 修改設(shè)計(jì)方案等 做到有據(jù)可查 按章辦事 系統(tǒng)交貨 主要包括測量設(shè)備 軟件安裝程序 系統(tǒng)操作說明書等 44 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法5 系統(tǒng)升級(jí)完善需要給用戶一段售后服務(wù)期 提供使用培訓(xùn) bug消除等服務(wù) 如果用戶在使用之后提出更高的性能要求或更多的功能需求 一般需要另行簽訂一份合同 以避免發(fā)生 無限售后服務(wù) 的情況 45 LabVIEW工程項(xiàng)目管理 LabVIEW實(shí)用項(xiàng)目管理方法5 系統(tǒng)升級(jí)完善即便是用戶沒有提出售后服務(wù)的要求 也有必要根據(jù)情況完善系統(tǒng)功能 推出更成熟的系統(tǒng) 因?yàn)楣I(yè)應(yīng)用一般都遵循國際 國家的測試標(biāo)準(zhǔn) 一套成熟的測試系統(tǒng)可以多次銷售 良好的系統(tǒng)升級(jí) 完善工作帶來的成本上升 可以通過多次銷售攤低 甚至可以提高整體效益 46 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 47 LabVIEW設(shè)備驅(qū)動(dòng) 在LabVIEW平臺(tái)上 通過VISA DAQmx等驅(qū)動(dòng)包構(gòu)建測試系統(tǒng)使設(shè)備 設(shè)備接口呈現(xiàn)出黑箱特性 因此項(xiàng)目負(fù)責(zé)人在進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計(jì)時(shí)可以不關(guān)心硬件 設(shè)備 的情況 而只關(guān)心其輸入和輸出 但這不意味著設(shè)備驅(qū)動(dòng)編寫的工作是無關(guān)緊要的 正相反 編程人員需要格外重視LabVIEW設(shè)備驅(qū)動(dòng)程序的編寫 48 LabVIEW設(shè)備驅(qū)動(dòng) LabVIEW工程應(yīng)用與設(shè)備 49 LabVIEW設(shè)備驅(qū)動(dòng) LabVIEW工程應(yīng)用與設(shè)備 50 LabVIEW設(shè)備驅(qū)動(dòng) SCPI指令系統(tǒng)SCPI StandardCommandsforProgrammableInstruments 是建立在IEEE488 2基礎(chǔ)上的可程控儀器標(biāo)準(zhǔn)命令 主要側(cè)重解決儀器程控指令和儀器響應(yīng)信息的標(biāo)準(zhǔn)化問題 目的是減少自動(dòng)化測試測量儀器的編程時(shí)間 51 LabVIEW設(shè)備驅(qū)動(dòng) SCPI指令系統(tǒng)SCPI命令集的語法形式 它包含3個(gè)要素 助記符 層次結(jié)構(gòu)和參數(shù)格式 SCPI的助記符按照以下規(guī)則簡略書寫 如果一個(gè)英文單詞的字母個(gè)數(shù)不多于4個(gè) 這個(gè)詞本身就是助記符 如果一個(gè)英文單詞的字母個(gè)數(shù)超過4個(gè) 則用前4個(gè)字母作為助記符 如果助記符結(jié)尾是元音字母 則去掉這個(gè)元音字母 只保留3個(gè)字母 如果不是單詞而是一個(gè)句子 則使用每個(gè)單詞中的第一個(gè)字母和最后一個(gè)單詞的全部字母作為關(guān)鍵詞 再按規(guī)則 進(jìn)行處理 例如 單詞Frequency Power free ACVolts的助記符為FREQ POW FREE ACV 52 LabVIEW設(shè)備驅(qū)動(dòng) SCPI指令系統(tǒng)SCPI的指令普遍采用復(fù)合層次結(jié)構(gòu) 同類指令則構(gòu)成 指令樹 復(fù)合層次結(jié)構(gòu)是指 將多個(gè)助記符連接構(gòu)成一個(gè)復(fù)合詞 各個(gè)助記符之間用冒號(hào)隔開 以表示一個(gè)特定的功能 例如 設(shè)置輸入衰減器 InputAttenuator 可寫為 INPut ATTenuator 53 LabVIEW設(shè)備驅(qū)動(dòng) SCPI指令系統(tǒng)SCPI規(guī)定了幾種標(biāo)準(zhǔn)的參數(shù)格式 一般有數(shù)值參數(shù) 布爾參數(shù) 開關(guān)參數(shù)等形式 其中數(shù)值參數(shù)用ASCII碼傳遞 另外還包括最大值 最小值 無窮大等 布爾參數(shù)有兩個(gè)取值 即1 0 或ON OFF 開關(guān)參數(shù)可能有多個(gè)開關(guān)值 最典型的指令 例如 MEASure POWer 為測量功率 VOLT PROT20V 為設(shè)置過壓保護(hù)值 最大輸出電壓 20V 54 LabVIEW設(shè)備驅(qū)動(dòng) LabVIEW設(shè)備驅(qū)動(dòng)編寫1 層次分明直接與硬件進(jìn)行作用的所有代碼都應(yīng)當(dāng)被限制在設(shè)備驅(qū)動(dòng)之中 除了能方便調(diào)用提高編程效率以外 這樣做最突出的優(yōu)勢(shì)就是可以實(shí)現(xiàn)軟硬件剝離 防止軟件問題和設(shè)備故障混雜難辨 從而提高系統(tǒng)調(diào)試效率 同樣 在進(jìn)行設(shè)備驅(qū)動(dòng)編寫時(shí) 也可以采用層次劃分的方法 將使用單一指令的功能放置在底層 需要使用多種指令 按照一定流程進(jìn)行復(fù)雜控制或通信的功能放置在頂層 55 LabVIEW設(shè)備驅(qū)動(dòng) LabVIEW設(shè)備驅(qū)動(dòng)編寫2 功能完備從開發(fā)和未來擴(kuò)充功能的角度 所有涉及的驅(qū)動(dòng)都應(yīng)該具備盡可能豐富的可選輸入和輸出 驅(qū)動(dòng)的編寫通常安排在系統(tǒng)開發(fā)的初期 如果不以這種思路編寫驅(qū)動(dòng) 在后期功能調(diào)整 擴(kuò)充的時(shí)候 就很可能發(fā)生牽一發(fā)而動(dòng)全身的修改 56 LabVIEW設(shè)備驅(qū)動(dòng) LabVIEW設(shè)備驅(qū)動(dòng)編寫3 演示 調(diào)試接口 與 系統(tǒng)脫機(jī)調(diào)試 中介紹的程序編寫方式類似 用條件結(jié)構(gòu)替換使能結(jié)構(gòu) 并增加一個(gè)演示控制的接口 就可以實(shí)現(xiàn)脫離設(shè)備 便攜演示功能 如上圖 當(dāng)輸入控件 DEMO 為 假 時(shí) 執(zhí)行硬件通信 當(dāng)為 真 時(shí) 執(zhí)行 演示 調(diào)試代碼 57 LabVIEW設(shè)備驅(qū)動(dòng) 具體到演示部分代碼的編寫 應(yīng)當(dāng)盡量模擬實(shí)際的輸入 輸出情況 并在必要的情況下添加人工擾動(dòng)的輸入接口 從而模擬實(shí)際情況下的變動(dòng)乃至超出閾值的情況 如圖9 14所示 為圖9 13所示代碼的另一部分 在保證輸入 輸出一致的基礎(chǔ)上 盡量保持延時(shí)相等和輸出數(shù)據(jù)的波動(dòng)性 LabVIEW設(shè)備驅(qū)動(dòng)編寫3 演示 調(diào)試接口 58 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 59 使用LabVIEW控制儀器 儀器與計(jì)算機(jī)之間是使用驅(qū)動(dòng)指令進(jìn)行通信的 在LabVIEW中可以使用VISA標(biāo)準(zhǔn)發(fā)送命令到儀器并獲取儀器返回的數(shù)據(jù) 這些封裝了VISA指令的函數(shù)稱為驅(qū)動(dòng) 通過這些VISA指令 我們可以控制儀器的行為 例如 使用某些數(shù)字萬用表儀器 可以編程使其高速獲取緩沖數(shù)據(jù) 這時(shí)更像是一臺(tái)示波器 有備注 60 使用LabVIEW控制儀器 儀器驅(qū)動(dòng)的結(jié)構(gòu)典型儀器驅(qū)動(dòng)由3個(gè)部分組成 頂層是應(yīng)用層 用于LabVIEW對(duì)該儀器控制的示例程序 中層是函數(shù)體 是封裝過的VISA指令函數(shù) 底層是與通信協(xié)議直接相關(guān)的函數(shù) 最直接的VISA指令 61 使用LabVIEW控制儀器 儀器驅(qū)動(dòng)的類型LabVIEW中有3種通用的儀器驅(qū)動(dòng)來控制儀器 1 LabVIEWPlugandPlay驅(qū)動(dòng)LabVIEWPlugandPlay儀器驅(qū)動(dòng)是一套用來控制和通信可編程儀器的VI 由于該種類型的儀器驅(qū)動(dòng)保留了通用的結(jié)構(gòu)和接口 因此可以用很少的甚至是不需要代碼快速地和儀器連接與通信 2 IVI驅(qū)動(dòng)IVI驅(qū)動(dòng)是允許仿真和儀器可交換性的更高級(jí)的驅(qū)動(dòng) 它可以實(shí)現(xiàn)類似儀器的驅(qū)動(dòng)互換性 與其他類型的驅(qū)動(dòng)相比 IVI驅(qū)動(dòng)有以下3種優(yōu)勢(shì) 儀器狀態(tài)緩存來提高性能 多線程安全 儀器屬性存取 3 分布式儀器驅(qū)動(dòng) 62 使用LabVIEW控制儀器 LabVIEW中的VISA模塊VISA是虛擬儀器體系結(jié)構(gòu) VirtualInstrumentSoftwareArchitecture 的簡稱 它是由VXIPlug Play系統(tǒng)聯(lián)盟在1996年2月提出的 其目的是制定一種新的標(biāo)準(zhǔn) 確保不同廠商 不同接口標(biāo)準(zhǔn)的儀器能相互兼容 可通信和數(shù)據(jù)交換 并且提供給用戶方便易用的驅(qū)動(dòng)程序 VISA的主要特點(diǎn)是 面向?qū)ο缶幊?是當(dāng)前所有儀器接口類型功能函數(shù)的超集 并且十分簡潔 與儀器的I O接口類型無關(guān) 與操作系統(tǒng)和編程語言無關(guān) 便于驅(qū)動(dòng)的可移植性 LabVIEW的VISA模塊位于 儀器I O VISA 函數(shù)子選板中 通過選擇不同類型的VISession可以調(diào)用相應(yīng)的驅(qū)動(dòng)程序控制GPIB Serial Ethernet PXI或VXI總線的儀器 63 使用LabVIEW控制儀器 LabVIEW中的VISA模塊1 使用InstrumentI OAssistant校驗(yàn)VISA通信在使用VISA對(duì)儀器進(jìn)行控制時(shí) 需要獲取對(duì)應(yīng)儀器的地址 并使用 IDN 指令校驗(yàn)與儀器的通信 以確認(rèn)計(jì)算機(jī)是否能夠與儀器正常進(jìn)行通信 在 函數(shù) 儀器I O 選板中 將儀器I O助手ExpressVI放入程序框圖 LabVIEW會(huì)自動(dòng)搜索與系統(tǒng)相連的儀器并獲取儀器的地址 此外 可以使用QueryandParse步驟向儀器發(fā)送一個(gè)確認(rèn)指令來使通信生效 多數(shù)情況下為 IDN 64 使用LabVIEW控制儀器 LabVIEW中的VISA模塊 65 使用LabVIEW控制儀器 LabVIEW中的VISA模塊2 使用VISA查找資源函數(shù)校驗(yàn)VISA通信如果LabVIEW中沒有VISAVI或儀器驅(qū)動(dòng)可用 可以使用 VISA查找資源 函數(shù)校驗(yàn)VISA通信 LabVIEW同樣提供了另外一種交互式運(yùn)行的工具 VISAInteractiveControl VISAIC 在Windows平臺(tái)下可以通過選擇 開始 NationalInstruments VISA VISAInteractiveControl 選項(xiàng)來啟動(dòng) VISAIC 工具 也可以選擇MAX中的 工具 NI VISA VISAInteractiveControl 選項(xiàng)來啟動(dòng)VISAIC 66 使用LabVIEW控制儀器 LabVIEW中的VISA模塊 67 使用LabVIEW控制儀器 LabVIEW中的VISA模塊3 編寫VISA應(yīng)用程序在使用InitializeInstrumentDriver vi初始化儀器時(shí) 需要知道資源名稱或儀器描述符 也就是VISA別名或IVI邏輯名 它描述的是資源的準(zhǔn)確名稱和位置 它有下面的格式 InterfaceType boardindex Address INSTR例如 GPIB0 2 INSTR就是儀器描述符 表示使用第一塊GPIB卡的設(shè)備地址2與儀器通信 實(shí)際上 簡單的VISA應(yīng)用程序只需要兩個(gè)VISA函數(shù) VISA寫入和VISA讀取 68 使用LabVIEW控制儀器 使用LabVIEW創(chuàng)建典型的VISA應(yīng)用以Agilent公司生產(chǎn)的34401數(shù)據(jù)采集單元為例 說明LabVIEW與其他廠商的儀器利用VISA通信的步驟和方式 假定使用34401數(shù)據(jù)采集單元采集AC電壓信號(hào) 頻率fmax 100Hz 的有效值 并且只有在觸發(fā)源信號(hào)為上升沿時(shí)才開始采集信號(hào) 69 使用LabVIEW控制儀器 使用LabVIEW創(chuàng)建典型的VISA應(yīng)用首先使用Initialize vi進(jìn)行儀器的初始化工作 建立與儀器的遠(yuǎn)程連接 ConfigureAperture vi用于配置儀器采集信號(hào)的類型 這里選擇的是AC電壓信號(hào) 為了進(jìn)行有效的測量 使用ConfigureACFilter vi以過濾無用頻率的信號(hào) 該步驟是可選的 其次是配置觸發(fā)源 觸發(fā)電平和觸發(fā)模式 再使用InitiateMeasurement vi使儀器進(jìn)入測量狀態(tài) 準(zhǔn)備進(jìn)行讀取AC電壓值 Read SinglePoint vi函數(shù)用于獲取34401返回的AC電壓數(shù)據(jù) 并賦值給測量數(shù)據(jù)顯示控件 最后需要使用Close vi釋放占用的儀器資源 70 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 71 使用LabVIEW控制DAQ 有備注 一個(gè)通用DAQ測量系統(tǒng)不同于其他的系統(tǒng) 其主要的測量任務(wù)實(shí)質(zhì)上是由安裝在計(jì)算機(jī)中的軟件完成的 而DAQ硬件只是將輸入信號(hào)轉(zhuǎn)換成計(jì)算機(jī)能操作的數(shù)字信號(hào) 這意味著同一個(gè)DAQ設(shè)備能執(zhí)行多種測量任務(wù) 不同的測量任務(wù)僅僅是軟件的不同 這就給予了用戶足夠的靈活性 同時(shí)也要求對(duì)應(yīng)的程序設(shè)計(jì)語言可以方便 簡單地與DAQ設(shè)備通信 這正是LabVIEW相對(duì)于其他編程語言無可比擬的優(yōu)勢(shì) 72 使用LabVIEW控制DAQ 信號(hào)源信號(hào)源是待測單元的激勵(lì)信號(hào)端 不同的測試系統(tǒng)需要選擇相應(yīng)的信號(hào)源 避免信號(hào)源對(duì)待測單元的影響 對(duì)于模擬輸入信號(hào)而言 按地線方式劃分 信號(hào)源可分為接地信號(hào)源和浮地信號(hào)源 73 使用LabVIEW控制DAQ 信號(hào)調(diào)理信號(hào)調(diào)理是指對(duì)測量信號(hào)進(jìn)行放大 隔離 濾波 激勵(lì) 線性化等處理的過程 在將原始信號(hào)送入相關(guān)數(shù)據(jù)采集設(shè)備或者測試儀器之前 往往需要進(jìn)行預(yù)處理步驟 如增加有效信號(hào)強(qiáng)度 減少噪音信號(hào)強(qiáng)度 線性化等 以便更準(zhǔn)確容易地獲得原始信號(hào)的特征 74 使用LabVIEW控制DAQ 信號(hào)采樣對(duì)于模擬信號(hào)數(shù)據(jù)采集系統(tǒng)而言 一個(gè)最重要的參數(shù)是采集設(shè)備采樣輸入信號(hào)或產(chǎn)生輸出信號(hào)的速率 在固定時(shí)間內(nèi)采樣率高的設(shè)備可以讀取更多的點(diǎn) 可以比低速采樣率更好地表現(xiàn)原始信號(hào) 1 混疊混疊是由采樣速率過慢引起的 會(huì)輸出有誤的信號(hào) 因此為了避免混疊 采樣頻率通常應(yīng)若干倍于原始信號(hào)的最大頻率 2 采樣率采樣率越大 就越能夠重現(xiàn)原始信號(hào) 但是 長時(shí)間快速采樣會(huì)導(dǎo)致沒有足夠的內(nèi)存或硬盤空間保存數(shù)據(jù) 并且會(huì)增加儀器的生產(chǎn)難度和成本 所以還需要綜合考慮 75 使用LabVIEW控制DAQ 觸發(fā)觸發(fā)器是引起某種動(dòng)作的信號(hào) 如開始采集數(shù)據(jù)等 如果需要在某個(gè)特定時(shí)刻開始一次測量就需要采用觸發(fā)器 以更加準(zhǔn)確地獲取需要的信號(hào) 而不采集無用的信號(hào) 1 模擬邊沿觸發(fā)當(dāng)模擬信號(hào)符合指定要求時(shí) 如水平信號(hào)或斜坡的上升下降沿 可以使用模擬邊沿觸發(fā) 2 模擬水平觸發(fā)當(dāng)模擬信號(hào)在兩個(gè)電壓電平所定義的區(qū)間進(jìn)出時(shí) 可以使用模擬水平觸發(fā)器 3 數(shù)字邊沿觸發(fā)數(shù)字邊沿觸發(fā)通常是TTL信號(hào) 它有兩個(gè)間斷電平 高電平和低電平 當(dāng)數(shù)字信號(hào)從高電平到低電平移動(dòng)時(shí)會(huì)產(chǎn)生一個(gè)下降沿 而從低電平到高電平移動(dòng)時(shí)會(huì)產(chǎn)生一個(gè)上升沿 可以使用數(shù)字邊沿觸發(fā) 76 使用LabVIEW控制DAQ 信號(hào)分析信號(hào)分析是一系列的過程 轉(zhuǎn)換獲得的信號(hào) 抽取信號(hào)相關(guān)信息 濾除噪聲 以及用比原始信號(hào)更易理解的形式表達(dá)該信號(hào) 1 濾波濾波是一種最常見的信號(hào)處理技術(shù) 它能夠從所采集的信號(hào)中濾除不需要的信號(hào)或噪聲 2 加窗譜泄露是一種所測得的譜好像從某個(gè)頻率泄露到其他頻率上的現(xiàn)象 當(dāng)采樣波形的長度不是采樣周期的整數(shù)倍時(shí)會(huì)出現(xiàn)這種情況 減少譜泄露的方法通常是將時(shí)域波形乘以窗函數(shù) 77 使用LabVIEW控制DAQ 信號(hào)分析 78 使用LabVIEW控制DAQ 測量直流電壓電壓有兩種類型 直流電 DC 和交流電 AC 前者是隨時(shí)間變化很緩慢的模擬信號(hào) 如電壓 溫度 壓力和張力等信號(hào) 1 單點(diǎn)讀數(shù)在LabVIEW中使用內(nèi)置的DAQmx函數(shù)可以很方便地對(duì)DAQ設(shè)備進(jìn)行控制 如圖所示為一種風(fēng)速測量的單點(diǎn)讀數(shù)編程方式 2 多點(diǎn)讀數(shù)如果信號(hào)變化很快或者測量線上存在噪聲 則無法使用上述方法得到準(zhǔn)確的讀數(shù) 可以采用采集多個(gè)點(diǎn)取平均值的方法 如圖所示為一種風(fēng)速測量的多點(diǎn)讀數(shù)編程方式 79 使用LabVIEW控制DAQ 測量交流電壓由于交流信號(hào)交替改變 其電壓 電流和功率都不再是常量 在測試時(shí)一般采用有效值表征其大小 對(duì)于正弦型交流電而言 如圖是在LabVIEW中利用NI DAQmx獲取交流電壓讀數(shù)的例子 80 使用LabVIEW控制DAQ 測量電流電流是由于運(yùn)動(dòng)電荷的改變而形成的一種物理現(xiàn)象 通過歐姆定律I V R可以將其與電壓方便地相互轉(zhuǎn)換 普通的多功能DAQ并沒有提供直接獲取電流值的方式 而是通過測量采樣電阻兩端的電壓值來計(jì)算出電流 如圖9 37所示 將信號(hào)輸出端與采樣電阻RP相連 使用DAQ設(shè)備直接采集RP兩端的電壓 但是值得注意的是 DAQ設(shè)備的輸入電壓范圍一般是 10 10V 因此必須根據(jù)輸出電流的典型值合理地選擇采樣電阻RP 81 使用LabVIEW控制DAQ 測量電阻電阻是指電流在傳輸過程中受到的阻礙 1 表示1V的電壓在產(chǎn)生1A電流時(shí)受到的阻礙 常用的測量電阻的方法是2線制法和4線制法 它們都是基于歐姆定律 使用測量裝置測出電壓在電流通過前后的落差 82 使用LabVIEW控制DAQ 產(chǎn)生電壓信號(hào)使用DAQ設(shè)備中的模擬輸出AO可以產(chǎn)生單一的直流信號(hào)或時(shí)變信號(hào) 緩沖信號(hào) 前者采用單點(diǎn)輸出方式以產(chǎn)生一個(gè)穩(wěn)定的DC信號(hào) 當(dāng)需要改變?cè)撃M輸出通道的值時(shí) 就必須調(diào)用一個(gè)VI進(jìn)行DC更新 后者采用緩沖輸出方式以產(chǎn)生一個(gè)頻繁變化的波形 當(dāng)計(jì)算機(jī)無法將整個(gè)波形保存在一個(gè)緩沖區(qū)中時(shí) 就必須在信號(hào)產(chǎn)生過程中不斷地向緩沖區(qū)載入新數(shù)據(jù) 如圖顯示了采用NI DAQmx在某個(gè)模擬輸出通道上產(chǎn)生頻率為10Hz 振幅為1V的正弦波 83 使用LabVIEW控制DAQ 使用LabVIEW創(chuàng)建典型的DAQ應(yīng)用可以使用NIMeasurements面板的VI生成DAQ應(yīng)用 測試步驟如圖所示 首先需要根據(jù)DAQ物理通道創(chuàng)建虛擬通道和DAQ任務(wù) 得到該任務(wù)的Handle 接著需要使用設(shè)置時(shí)鐘 vi函數(shù)設(shè)置采樣模式 采樣點(diǎn)數(shù)和采樣速率 該步驟是可選的 然后使用設(shè)置觸發(fā) vi函數(shù)設(shè)置數(shù)據(jù)采集的觸發(fā) 主要是配置觸發(fā)模式和觸發(fā)源 該步驟是可選擇的 如果沒有配置觸發(fā)方式則直接開始采集任務(wù)并不等待觸發(fā)信號(hào) 此外 還需要使用讀取 寫入數(shù)據(jù) vi函數(shù)將輸入寫入DAQ設(shè)備或者從DAQ設(shè)備中讀取數(shù)據(jù) 最后需要使用DAQmx清除任務(wù) vi函數(shù)釋放DAQ資源 84 使用LabVIEW控制DAQ 使用LabVIEW創(chuàng)建典型的DAQ應(yīng)用如果需要連續(xù)采集某個(gè)單通道的電壓 并且只有當(dāng)PFI3信號(hào)發(fā)生上升沿跳變時(shí)才開始采集模擬信號(hào) 如圖9 42所示 首先根據(jù)物理通道創(chuàng)建DAQ模擬輸入采集任務(wù) 接著根據(jù)要求將采樣模式設(shè)置為 連續(xù)采樣 并設(shè)置每個(gè)物理通道每次讀取的采樣點(diǎn)數(shù)和采樣速率 然后 還需要配置PFI3為觸發(fā)源信號(hào) 并設(shè)置使用上升沿觸發(fā) 配置完成后 就可以使用DAQmx開始任務(wù) vi開始執(zhí)行該采集任務(wù) 由于是連續(xù)采集 為了使程序能夠持續(xù)運(yùn)行 還需要使用While循環(huán)并用DAQmx讀取 vi不斷獲取DAQ卡中模擬輸入通道得到的數(shù)據(jù) 85 目錄 LabVIEW自動(dòng)測試測量系統(tǒng)的層次結(jié)構(gòu)LabVIEW軟件工程LabVIEW工程項(xiàng)目管理LabVIEW設(shè)備驅(qū)動(dòng)使用LabVIEW控制儀器使用LabVIEW控制DAQLabVIEW應(yīng)用工程實(shí)例 86 LabVIEW工程應(yīng)用實(shí)例 LabVIEW作為代表性的圖形化系統(tǒng)設(shè)計(jì)編程語言 在工業(yè)上特別是測試測量領(lǐng)域有廣泛的應(yīng)用前景 本節(jié)將結(jié)合為某大型能源公司開發(fā)的一套 太陽能電池板組件連續(xù)性實(shí)驗(yàn)系統(tǒng) 為例 從最開始的需求分析 核心系統(tǒng)開發(fā) 系統(tǒng)脫機(jī)調(diào)試 系統(tǒng)上機(jī)調(diào)試直至系統(tǒng)后期的升級(jí)維護(hù)進(jìn)行全面介紹 87 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)需求分析接觸一個(gè)項(xiàng)目后 首先要研究的就是對(duì)這個(gè)項(xiàng)目的開發(fā)難度 時(shí)間成本和人力成本 和收益等進(jìn)行評(píng)估 這個(gè)工作一般可由項(xiàng)目團(tuán)隊(duì)的負(fù)責(zé)人完成 也可以由團(tuán)隊(duì)完成 初期評(píng)估非常必要 否則可能會(huì)對(duì)項(xiàng)目和團(tuán)隊(duì)造成嚴(yán)重危害 88 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)需求分析完成初期評(píng)估并確定承接這個(gè)項(xiàng)目后 需要對(duì)客戶的需求進(jìn)行分析 通常 客戶并沒有自動(dòng)化測試測量的專業(yè)背景 他們往往給出的只是測試測量功能的一個(gè)大致描述 所以需要在了解基本需求后 編寫一個(gè)快速模型 并以此為基礎(chǔ)與客戶繼續(xù)進(jìn)行充分溝通 設(shè)身處地地去思考客戶最終要實(shí)現(xiàn)的是什么功能 以客戶能理解的通俗語言 結(jié)合文檔和快速模型形式 展現(xiàn)給客戶 并不斷溝通修改 直至達(dá)成一致 完成需求分析后 作出一份需求文檔 由雙方簽字確認(rèn) 89 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)需求分析在跟進(jìn)的編程過程中 除非有特殊原因 否則項(xiàng)目需嚴(yán)格地按照需求文檔進(jìn)行 因?yàn)樵趯?shí)際的工業(yè)工程應(yīng)用中 由于產(chǎn)業(yè)擴(kuò)張 產(chǎn)品升級(jí) 客戶的想法會(huì)發(fā)生變化 但是 如果項(xiàng)目需求經(jīng)常變動(dòng) 甚至反復(fù)變動(dòng) 這會(huì)極大消耗系統(tǒng)開發(fā)人員的精力 降低開發(fā)項(xiàng)目的收益 所以 在初步溝通后 要給出充足的時(shí)間讓客戶去審查初步討論的方案 然后再進(jìn)行充分溝通 保證滿足客戶需求并有效實(shí)現(xiàn)測試測量功能 并經(jīng)雙方簽字確認(rèn) 不能輕易修改 將這個(gè)思路貫徹在具體項(xiàng)目中 將為隨后的項(xiàng)目開發(fā)省去很多麻煩 90 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)需求分析在需求分析中 不論是接受還是拒絕客戶的要求 始終要把握一點(diǎn) 那就是承接這個(gè)項(xiàng)目 最終目的是為了快速高效地幫助客戶的實(shí)現(xiàn)測量功能 所有的開發(fā)工作都是圍繞這個(gè)觀點(diǎn)展開的 91 LabVIEW工程應(yīng)用實(shí)例 如表所示 就是IEI開發(fā)團(tuán)隊(duì)在 太陽能電池板組件連續(xù)性實(shí)驗(yàn)系統(tǒng) 項(xiàng)目中 與客戶達(dá)成一致后編寫的客戶部分需求列表 92 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)軟件開發(fā)由于現(xiàn)代工業(yè)測試測量系統(tǒng)的復(fù)雜性和項(xiàng)目開發(fā)時(shí)間的緊迫性 往往需要一個(gè)團(tuán)隊(duì)協(xié)作完成 在團(tuán)隊(duì)協(xié)作時(shí) 采用模塊化 層次化的結(jié)構(gòu)設(shè)計(jì)系統(tǒng)軟件能提高團(tuán)隊(duì)的協(xié)調(diào)性 提高項(xiàng)目的整體推進(jìn)效率 在本項(xiàng)目開發(fā)中 IEI開發(fā)團(tuán)隊(duì)將整個(gè)測試系統(tǒng)根據(jù)功能的差異分成幾個(gè)主要的模塊 主界面模塊 配置模塊 設(shè)備驅(qū)動(dòng) 數(shù)據(jù)采集模塊 數(shù)據(jù)分析模塊和報(bào)表生成模塊 并撰寫了一份稱為 編程結(jié)構(gòu) 的文檔 詳細(xì)說明各個(gè)模塊的功能 子vi及其重要輸入 輸出接口 93 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)軟件開發(fā)參照 編程結(jié)構(gòu) 這一文檔進(jìn)行任務(wù)分配 團(tuán)隊(duì)中每個(gè)開發(fā)人員的工作就變得相對(duì)獨(dú)立 在較大的自由度上可以不受干擾地實(shí)現(xiàn)特定模塊 同時(shí) 由于各個(gè)模塊和vi的重要數(shù)據(jù)接口已經(jīng)被定義 也保證了所有開發(fā)任務(wù)可以實(shí)現(xiàn)無縫連接 如此 在整體上就能大大提高系統(tǒng)的開發(fā)效率 94 LabVIEW工程應(yīng)用實(shí)例 下面所示為 太陽能電池板組件連續(xù)性實(shí)驗(yàn)系統(tǒng) 編程結(jié)構(gòu) 的一段引用 95 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)脫機(jī)調(diào)試在完成核心系統(tǒng)開發(fā)之后 下一項(xiàng)工作就是進(jìn)行調(diào)試 對(duì)于本項(xiàng)目而言 脫機(jī)調(diào)試就是在沒有連接太陽能電池板組件 恒流源 數(shù)據(jù)采集器等設(shè)備的情況下 進(jìn)行系統(tǒng)調(diào)試 如圖所示為readdatahengliu vi中的demo代碼 使這一底層驅(qū)動(dòng)在DEMO模式下不運(yùn)行設(shè)備通信代碼 而是產(chǎn)生一些仿真數(shù)據(jù) 提供給上層 下游 程序使用 從而保持整個(gè)系統(tǒng)運(yùn)行在仿真環(huán)境中 方便發(fā)現(xiàn)與設(shè)備無關(guān)的代碼錯(cuò)誤和功能缺陷 96 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)脫機(jī)調(diào)試在本項(xiàng)目脫機(jī)調(diào)試過程中需要編寫demo代碼 主要包括配置模塊中的設(shè)備自檢部分 數(shù)據(jù)采集模塊 驅(qū)動(dòng)模塊 報(bào)表生成模塊 經(jīng)過相應(yīng)處理后 這套測試系統(tǒng)在沒有接入設(shè)備的情況下也能夠模擬實(shí)際運(yùn)行的情況 97 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)上機(jī)調(diào)試上機(jī)調(diào)試就是親臨測試現(xiàn)場 連接設(shè)備進(jìn)行調(diào)試 到達(dá)現(xiàn)場后 在保證系統(tǒng)方案正確 設(shè)備齊全無故障的情況下 主要有兩項(xiàng)工作 設(shè)備驅(qū)動(dòng)調(diào)試和系統(tǒng)整體功能調(diào)試 程序設(shè)計(jì)人員到達(dá)測試現(xiàn)場后 一般將調(diào)試工作分成以下4個(gè)方面進(jìn)行 98 LabVIEW工程應(yīng)用實(shí)例 系統(tǒng)上機(jī)調(diào)試1 確認(rèn)系統(tǒng)方案是否有重大變更俗話說 計(jì)劃趕不上變化 在工業(yè)工程應(yīng)用中 由于設(shè)備預(yù)算超支 對(duì)測試對(duì)象估計(jì)不足 沒有相關(guān)測試標(biāo)準(zhǔn)等原因 客戶的測試測量需求可能發(fā)生變化 這種變化應(yīng)該盡量在系統(tǒng)開發(fā)階段 通過定期的協(xié)商 交流從客戶獲取并確認(rèn) 但是 仍然可能在開發(fā)人員到達(dá)測試現(xiàn)場后發(fā)生新的變化 疏忽 誤解和新的認(rèn)識(shí)都會(huì)產(chǎn)生這種需求變化 99

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論