久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > LabVIEW中的數據流編程基礎

LabVIEW中的數據流編程基礎

作者: 時間:2017-01-06 來源:網絡 收藏
LabVIEW按照數據流(dataflow)模式運行VI。 當接受到所有所需的輸入時,程序框圖節點將運行。節點在運行時產生輸出端數據并將該數據傳送給數據流路徑中的下一個節點。 數據流經節點的過程決定了程序框圖上VI和函數的執行順序。

Visual Basic,C++,JAVA以及絕大多數其它文本編程語言都遵循程序執行的控制流模式。 在控制流中,程序元素的先后順序決定了程序的執行順序。

本文引用地址:http://cqxgywz.com/article/201701/336707.htm

圖1顯示了一個數據流編程的范例,程序框圖中兩個數字相加,然后從結果中減去50.00。 在這個范例中,程序框圖從左向右執行,這并非因為對象的放置順序,而是因為“減”函數必須在“加”函數執行完,并將數據傳到“減”法函數后才能執行。 節點只有在所有輸入接線端數據準備好后才能執行,只有在節點完成執行后才能向輸出接線端提供數據。

圖1.數據流編程范例

在圖2中,考慮哪段代碼先執行—“加”、“隨機數”,還是“除”函數。 您無法知道答案,因為“加”和“除”函數的輸入同時可用,而隨機數并沒有輸入。 在一個代碼段必須在另一個前執行,并且兩個函數間沒有數據依賴關系的情況下,可以采用其它編程方法(例如順序結構或錯誤簇)強制設定執行的順序。

圖2.多代碼段的數據流范例

最后補充一下:

如果兩個或兩個以上的線程在同一時間企圖訪問同一個內存 地址,那么將會發生數據沖突。顯然,在應用程序中識別可能產生沖突的代碼是一項艱巨的任務。但是,通過在 LabVIEW中以 圖形化的方式創建程序框圖,用戶可以迅速展開具體工作,并實現自己的構想,而無需考慮線程同步。兩個并行化的圖形代碼段在寫入文件時都需要訪問硬盤,LabVIEW可 以自動地處理這兩個線程的同步。



評論


技術專區

關閉