国产性一乱一性一伧的解决方法,国产一区影视,日韩欧美国产亚洲,日韩av在线播放不卡,国产69精品久久久久孕妇大杂乱 ,亚洲国产一,97国产精品视频,波多野结无码高清中文
君億道科技聯系電話:0755-26830682

公司新聞

最全面及時的公司資訊、企業動態

NI LabVIEW ULx 入門 - 第 2 部分

來源君億道

使用 ULx for NI LabVIEW?

了解如何采集數據并將數據顯示到圖表以及將數據保存到文件

在第 1 部分中,我們了解了獲取一個模擬數據樣本并將其顯示在 NI LabVIEW 前面板上所需的最少 VI 數量。在第 2 部分中,我們將通過包括以下內容添加到此示例中:

 

循環播放

迭代時間

錯誤處理

在條形圖中顯示數據

將數據保存到文件

循環

每次單擊按鈕時采集一個數據樣本是好的,但讓它連續采集數據更好!為此,我們將添加一個“While 循環

這是我們離開的地方:

 

image.png

 

在框圖中,右鍵單擊任何空白處以彈出功能菜單。選擇 Express >> Exec Control >> While 循環。您的光標將變為 this 。將光標放在程序框圖上兩個 ULx VI 之間和上方,單擊并按住鼠標左鍵,然后拖動光標直到它位于 data.VI 的右側和下方。您的圖表將如下所示:

 

image.png

此外,您將在前面板上看到一個“停止”按鈕。隨意調整大小并將其在面板上移動到您喜歡的大小和位置。

 

您可以單擊運行按鈕,VI 將運行,但數據可能更改得太快而無用。另一個問題是您不知道數據是否以統一的速率更新,或者您可能獲得了太多數據。大多數條形圖和數據記錄應用程序要求以每秒、每分鐘甚至每小時的樣本收集數據。

 

這里的一個基本問題是“為什么我需要使用 while 循環,而我只需點擊 NI LabVIEW Continuous Run 按鈕?答案是你可以,但你可能不想這樣做有幾個原因。這是一個非常簡單的例子,大多數人都希望在他們的 VI 中更多或更多地獲取數據并以所需的方式對其進行操作。使用該示例的方式,VI 每次執行時都會創建任務,然后銷毀任務,然后重復該過程。這不如創建任務然后循環獲取新數據樣本并使用它做一些有用的事情那么有效。現在聽起來可能不像是節省太多,但是當您的 VI 變得更復雜時,您會看到它的價值。

 

迭代計時

為了減慢循環速度,我們將添加 Time Delay.VI。它位于 Functions Palette 上,選擇 Express >> Exec Control,然后單擊并將其拖動到循環內部,如下所示。

 

image.png

如您所見,彈出一個帶有該VI的對話框,要求您設置時間延遲。出于本示例的目的,我將其設置為 0.100 秒,以便每秒獲得 10 次或 100 毫秒的新樣本。

 

讓我們繼續從前面板運行它。您會看到數據現在以更慢的速度更新。要停止執行,請單擊您添加的停止按鈕,而不是 NI LabVIEW 菜單上的中止執行按鈕。

 

“這有什么不同?” 你可能會問。如上所述,在本例中,它沒有太大區別,但是當您的 VI 運行多個循環和高速掃描時,Abort Execution 按鈕會強制 VI 以潛在的不良方式終止,例如未正確結束掃描或讓繼電器、螺線管、皮帶和流程等外部設備仍在運行,這可能對您周圍的人員和設備造成危險。通常最好學習正確的方法,正如我在許多 NI LabVIEW 書籍和幫助中閱讀的那樣,結束循環的正確方法是通過停止按鈕,而不是中止執行。

 

錯誤處理

在其當前狀態下,此示例可以無限期地運行。也就是說,只要 USB-1608G 保持連接、供電,并且只要沒有外部影響損壞設備。但是應該發生什么類似的事情呢?我們希望發生兩件事。首先,我們想要停止該過程,在本例中是我們的循環,其次,我們想要得到通知有問題。為了處理這些問題,我們添加了錯誤處理。

 

首先,我們將添加一種方法來顯示存在問題。為此,我們在 VI 中添加了一個 Simple Error Handler.VI。將鼠標懸停在 Read.VI 上,并將其移至 Error out 引腳。當光標變為連線工具時,右擊彈出菜單,選擇Dialog & User Interface Palette,然后點擊Simple Error Handler.VI,將其拖到Read.VI的右側,在while循環之外。將 Read.VI 的錯誤輸出引腳連接到 Simple Error Handler.VI 的錯誤輸入。接下來將鼠標懸停在 Simple Error Handler.VI 上,找到對話框引腳的類型,右鍵單擊,選擇 Create>>Constant。它將被添加為“OK 消息,這對這個應用程序來說很好。

 

現在我們將添加一種在出現問題時退出 While 循環的方法。在 while 循環中,將鼠標光標放在 Read.VI 的錯誤輸出線上。出現連線工具時,右擊,選擇Cluster, Class & Variant Palette。在 Read.VI 的下方和右側添加 Unbundle.VI。將 Read 的錯誤連接到 Unbundle 的錯誤。您可能需要擴大 while 循環以使其全部適合,如果是這樣,請左鍵單擊 while 循環右側的藍色拖動手柄并將其拖動到右側. 您還需要將條件終端向右移動。刪除停止按鈕和條件接線端之間的連線。您可以通過鼠標左鍵單擊電線來選擇它,然后按鍵盤上的“Delete”鍵。我們想添加一個或門,因此如果單擊停止按鈕或出現錯誤,則循環停止。在 Unbundle.VI 的輸出上單擊鼠標右鍵,選擇 Boolean Palette 并在 Unbundle.VI 的右側添加一個或門。如果 OR 門的其中一個輸入尚未連接到 Unbundle.VI,則將另一個輸入連接到 Stop 按鈕,并將 OR 門的輸出連接到條件接線端。您的框圖應如下所示:

image.png

 

現在運行它,然后從 USB-1608G 上拔下 USB 電纜。您應該會看到以下錯誤消息彈出:

 

image.png

當您單擊 Continue 時,通知 VI 的執行已停止。這正是我們想要發生的。

 

此技術提示還有 2 個目標 - 添加條形圖并將數據記錄到文件中。由于 NI LabVIEW 包含用于這些功能的 Express VI,您會發現這很容易實現。

 

在條形圖

中顯示數據 除了以數字方式顯示數據之外,讓我們添加一個圖表。在前面板中,右鍵單擊未使用的灰色區域,然后選擇 Express>> Graph Indicators,單擊圖表并將其拖到前面板。它應該如下所示:

 

image.png

您需要從 Read.VI 的數據端子(引腳)添加一條連線到 Waveform Chart.VI 上的數據引腳。您的框圖應如下所示:

 

image.png

您可以運行此程序,但在此之前,請記住將 USB 電纜重新插入您的設備。

 

您的前面板在獲取數據時應該如下所示:

image.png

 

將數據保存到文件

我們的最后一個目標是將數據保存到文件中。同樣,我們將使用 Express.VI 來保持簡單。右鍵單擊以調出函數面板,選擇 Express>>Output 并單擊 Write to Measurement File.VI 并將其放置在 Block Diagram 中,在循環中,在 Waveform Chart 的右側。放置后,您將看到一個名為配置寫入測量文件的對話框。為了盡可能保持直截了當,請將文件路徑更改為您會記住的內容。除此之外,唯一的其他更改是分段標題,選擇僅一個標題,然后單擊確定關閉對話框并保存更改。只需添加一根電線,我們就完成了。將 Write to Measurement File.VI Signals 輸入連接到 Read.VI 的數據輸出。您現在完成的框圖 VI 將如下所示:

image.png

 

讓我們運行我們的 VI!運行一段時間,然后停止。如果一切正常,您應該有一個數據文件在等著您。雖然文件比這個長得多,但這里是文件內容的示例,包括標題:

 

image.png

總結

在第 1 部分中,我們通過創建一個簡單的 VI 了解了使用 USB-1608G 和用于 NI LabVIEW ULx 獲取一個數據樣本是多么簡單。在第 2 部分中,我們增強了我們在第 1 部分中創建的 VI,增加了以穩定速率采集數據、在條形圖中顯示數據、將數據保存到日志文件以及通知操作員出現錯誤的功能。

主營:電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測量產品
粵ICP備14003389號深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 万山特区| 翁源县| 鹤壁市| 镇雄县| 贡觉县| 玉林市| 防城港市| 宝丰县| 伊宁市| 会宁县| 常州市| 安新县| 苍溪县| 宝山区| 贵港市| 犍为县| 永靖县| 顺昌县| 钟山县| 祥云县| 台南市| 红桥区| 苏尼特右旗| 山阳县| 榕江县| 澜沧| 鹤庆县| 肥东县| 三江| 张家界市| 马关县| 鹿泉市| 伊宁县| 万荣县| 汤原县| 井冈山市| 岑巩县| 石城县| 二连浩特市| 平湖市| 定边县| 静安区| 自治县| 辽阳市| 封丘县| 林周县| 三门县| 麦盖提县| 汝南县| 上高县| 湖州市| 大石桥市| 甘肃省| 蒲城县| 呼伦贝尔市| 龙口市| 读书| 西昌市| 滨州市| 民和| 彝良县| 连江县| 临夏县| 平湖市| 松滋市| 邢台市| 平顺县| 宿迁市| 绥化市| 搜索| 张家口市| 怀化市| 右玉县| 广南县| 政和县| 玛沁县| 灵石县| 贞丰县| 兰坪| 恩施市| 锡林浩特市| 长垣县|