




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