<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW之生產(chǎn)者/消費(fèi)者模式--隊(duì)列操作

          LabVIEW之生產(chǎn)者/消費(fèi)者模式--隊(duì)列操作

          作者: 時(shí)間:2016-12-27 來(lái)源:網(wǎng)絡(luò) 收藏
          本文章主要是對(duì)學(xué)習(xí)LabVIEW生產(chǎn)者/消費(fèi)者模式的學(xué)習(xí)筆記,其中涉及到同步控制技術(shù)-隊(duì)列、事件、狀態(tài)機(jī)、生產(chǎn)者-消費(fèi)者模式,這幾種技術(shù)在在本章中都會(huì)有側(cè)重點(diǎn)的進(jìn)行介紹和總結(jié)!
          • 隊(duì)列同步技術(shù)-操作函數(shù)

          同步控制技術(shù)可以實(shí)現(xiàn)在多個(gè)VI之間或者同一VI 不同縣城之間同步任務(wù)和交換數(shù)據(jù);在LabVIEW中提供了‘同步’函數(shù)選板,包括通知器、隊(duì)列、信號(hào)量、集合點(diǎn)、事件、首次調(diào)用函數(shù),本文主要關(guān)注同步控制技術(shù)之隊(duì)列技術(shù):

          本文引用地址:http://www.ex-cimer.com/article/201612/334170.htm

          隊(duì)列操作函數(shù):

          1 “獲取隊(duì)列引用”函數(shù)

          2 "元素入隊(duì)列" 和 “元素出隊(duì)列” 函數(shù)

          函數(shù)作用:將元素入隊(duì)列和出隊(duì)列用(沒(méi)什么好說(shuō)的?。┏瑫r(shí)毫秒(-1)端子:如果未連接,默認(rèn)輸入值為-1,表示永不超時(shí),如果隊(duì)列滿,則一直等待直到隊(duì)列有空位為止;如果連接端子,則新元素等待設(shè)定時(shí)間后仍無(wú)法入隊(duì)列,則結(jié)束本次等待!

          3 “最前端插入元素” 和 “有損耗元素入隊(duì)列” 函數(shù)

          函數(shù)作用:將元素插入隊(duì)列,不過(guò)插入隊(duì)列方式有區(qū)別;元素入隊(duì)列、最前端插入元素、有損耗元素入隊(duì)列三者區(qū)別:”元素入隊(duì)列“函數(shù)采用先入后出次序,而“最前端插入元素”函數(shù)則采用后入先出(FIFO)的原則,類似于堆棧,因此可以使用隊(duì)列實(shí)現(xiàn)堆棧效果,相比數(shù)組實(shí)現(xiàn)有優(yōu)勢(shì);“元素入隊(duì)列”函數(shù)如果隊(duì)列滿,則線程等待,直到有空位為止;“有損耗元素入隊(duì)列”在這種情況下則會(huì)自動(dòng)刪除隊(duì)列前端元素,并在末端插入元素,可以用于實(shí)現(xiàn)緩沖區(qū)效果;

          4 “預(yù)覽隊(duì)列元素”函數(shù)

          預(yù)覽隊(duì)列元素和元素出隊(duì)列區(qū)別:當(dāng)返回隊(duì)列前段的元素時(shí),是否刪除該元素!

          5 “獲取隊(duì)列狀態(tài)”函數(shù):主要用于判定隊(duì)列引用是否有效!

          6 “清空隊(duì)列”和“釋放隊(duì)列引用”函數(shù)

          “清空隊(duì)列”函數(shù):清楚隊(duì)列所有元素,并以數(shù)組形式返回元素,用于一次全部讀取隊(duì)列元素;

          • 隊(duì)列課后練習(xí)

          1 基于隊(duì)列的數(shù)據(jù)采集系統(tǒng)

          在此程序設(shè)計(jì)中學(xué)習(xí)到的知識(shí):1 數(shù)據(jù)類型和采用顯示控件的關(guān)系:此隊(duì)列的數(shù)據(jù)類型為一維數(shù)組,所以在元素出隊(duì)列時(shí)的元素也為一維數(shù)組,因此要采用波形圖空間;2 子程序VI中設(shè)置了“等待函數(shù)”,但是沒(méi)有while循環(huán),將子VI放入while循環(huán)中,相當(dāng)于在while循環(huán)中添加了“等待函數(shù)”,其實(shí)對(duì)其的理解可以從c語(yǔ)言中加深理解;3 while循環(huán)中停止條件的處理:對(duì)于入隊(duì)列循環(huán),停止只意味著本循環(huán)停止,但并不意味著整個(gè)程序停止運(yùn)行了,因?yàn)檫€有兩個(gè)循環(huán)在運(yùn)行;對(duì)于元素出隊(duì)列循環(huán),當(dāng)元素空的時(shí)候會(huì)發(fā)生超時(shí)錯(cuò)誤,進(jìn)而停止本循環(huán);在元素出隊(duì)列循環(huán)停止后會(huì)銷毀隊(duì)列引用,從而導(dǎo)致獲取隊(duì)列狀態(tài)循環(huán)出錯(cuò),進(jìn)而停止循環(huán)。具體結(jié)果如下:

          2 隊(duì)列傳遞數(shù)據(jù)練習(xí)

          此程序?qū)W到的知識(shí):1 隊(duì)列數(shù)據(jù)類型設(shè)置為常量,所以用于數(shù)據(jù)顯示的控件為波形圖控件;2 注釋的箭頭設(shè)置:函數(shù)->編程->結(jié)構(gòu)->修飾

          3 多數(shù)據(jù)源輸入隊(duì)列程序

          此程序?qū)W習(xí)知識(shí)點(diǎn):1 對(duì)于隊(duì)列的創(chuàng)建:通過(guò)隊(duì)列創(chuàng)建函數(shù)的名字搜索該引用,如果沒(méi)有則創(chuàng)建,如果有,則直接加入隊(duì)列2 此程序采用三個(gè)while循環(huán)創(chuàng)建三個(gè)線程,并將數(shù)據(jù)同時(shí)加入一個(gè)隊(duì)列中,并最終進(jìn)行顯示3 注意此程序中對(duì)while循環(huán)的停止條件的處理;



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();