如何同時顯示四組訊號在同一個圖上

各位大大:

我現在再寫一個程式 是要使用 "XY圖"來同時顯示四組擷取訊號  重點是我是使用USB 6008的DAQ卡

請問要如何來撰寫, 我寫了好久都只有一次顯示一組訊號?  沒辦法同時顯示四組 

不管channel 如何設定 都只會出現一組訊號  請問要如何更改?

我不是一開始就需要顯示電壓  而是有四個壓力感測器

當感測到電壓值才會開始顯示  但也是只有一組而已

附上程式 請各位大大幫忙一下  謝謝 !!

 

finger.vi

我把程式簡單化之後在PO上來

麻煩知道如何修改的高手敎一下吧  <(_ _)>

kalvin38936.9100694444

我沒用過DAQ的東西,所以你的程式我看不懂

不過我之前在Labview 的範例有看到一個例題,可能跟你想解決的問題有相關。

檔案位置  C:\Program Files\National Instruments\LabVIEW 7.1\examples\general\queue.llb  裡面的 Queue Multiplexer.vi

可以參考看看。

Queue Multiplexer.vi   

如果你可以把檔案存成labview 7.0

我可以幫你試試看

因為我的是labview 7.0

檔案沒辦法開 完全不知道要怎麼幫

我把程式做了簡單的更改...

希望各位大大能告訴我是channel要更改輸入還是圖形設定上的問題??

感謝  <(_ _)>

finger.vi

kalvin38936.924837963

請問你可以把程式照下來後傳圖片上來嗎?

因為我是7.0的 你的檔案是7.1

不是我不想幫你是我真的開不了阿...

1.

![](upload://dWe6YF5F9xJlQ8u86cmDaGuxEre.jpeg)

2.

![](upload://qS6kOfsikAtgMh6sBx2TaKwhgI0.jpeg)

3.

![](upload://zgs0smD8pYygq8z4RXuk3uWYMLB.jpeg)

sorry 因為程式實在太大  我不太會用截圖

所以希望你能看的懂囉  謝謝

 

這是我剛用6008試出來的

已經可以同時顯示3組資料plot在chart上面了

你可以先下來參考看看

應該會有幫助

順便提醒你以下幾點

daq6008 在做singal single-ended mode

也就是一個channel接收一筆資料時

和singal differential mode不大一樣

舉例我要input dev0/ai0:2

ai0-->terminal 2

ai1-->terminal 5

ai2-->terminal 8

至於differential 則是以一組一組方式量測

詳細資料請閱讀6008 manual

還有single-ended mode

接收資料時會有offset(應該是叫offset吧 有錯誤請指正)

也就是當你接收到3.2v時 他確顯示1.8v (也就是少了1.4v)

這應該是daq本身設計就是這樣(它是一段固定的截距一直都是1.4v)

你的程式我會先稍微看一下

等你參考完後還是寫不出來再po問題吧

DAQmx_multiple_analog_input.vi

不好意思 非常感謝你的幫忙  我想請問一下紅圈內的+1 跟 -1的意義是? 

還有我是想設定用XY圖來顯示波型而非用wave chart

因為我還有一些設定要在XY圖上作顯示 XY圖會比較方便設定 

所以大大能否告訴我  如何使用XY圖做 同時的四組頻道波形顯示 

非常感謝你的範例 謝謝 

![](upload://4WgyLz0Mkt0FAOsfwrEhb4tOyKj.jpeg)

你缺的紅色部分只是我故意加的運算

因為我接的是全部同一個訊號源

所以區別一下我才能知道是否有讀到訊號

所以你自己在做什就把那邊省掉吧

這是XY圖做的範例 請參考

DAQmx_multiple_analog_input.vi

恩 謝謝你的程式  基本上來說已達到可以利用6008來顯示四種訊號了

但是目前遇到了一點困難

我想控制X軸的長度 使X軸固定 

例如固定五秒鐘  五秒之後又重新再一次五秒感測波形  然後之前的感測訊號消掉

再一次感測五秒波形值

我之前一個channel 已經可以做到 但四個channel卻不知道Y軸要如何寫

![](upload://kHJg8XtQi0BH1h7bRwjLMdEjDLI.jpeg)

藍色圈是控制X軸 紅色圈是控制Y軸

一個channel是比較簡單  但是四組的話就請大大幫忙告知ㄧ下  

感謝  !!! 

不好意思 因為你的貼圖上的那個功能我沒看過

所以我還是用我寫的去改

![](upload://m8ffSNEtANHYgtTbJ1ZTye6ZDHV.jpeg)

要控制XY軸的大小就用藍色框裡面那個去設定就好

![](upload://sdcnAJ2dShElTJjP6BExHeUh0iD.jpeg)

至於你要5秒取一次data 我是用elapsed time 做

程式給你參考 希望對你有幫助 有問題再說吧

DAQmx_multiple_analog_input_5sec.vi

很謝謝你的程式

但是有一點是  我們所要求的是

例如從零到五秒 這五秒鐘的波形值紀錄一次 -- > 這次算一個task

然後第一次的圖形消掉 第二次task開始時波型圖上是沒任何波形的

然後第二次再從零秒到五秒 在測量一次波形並紀錄 

然後可能反覆個幾十次  ---  這邊是有值可以設定你要幾次的tasks

 

我現在是不知道如何讓它做完一次task之後  波形消到  再繼續下一次的task

想了很久想不出來

我之前PO的圖是做一組的輸出

現在要做四組  所以DAQ MX 的DATA端就不能直接接

不知道這樣是否有聽的懂

非常感謝您的程式範例  謝謝

不好意思 我實在是很難用想像的瞭解你的困難

你可以先轉成7.0能讀的檔案嗎?

轉法請參考這篇

http://www.labview.com.tw/forum/forum_posts.asp?TID=5787&KW=%C2%E0%C0%C9

順便問一下 你在這5秒內是想要一點一點慢慢記錄上來?

還是5秒到了之後一次紀錄上來 然後再過5秒再全部記錄上來一次?

麻煩你轉檔和回答一下我的問題

是5秒到了之後一次紀錄   然 後再過5秒再全部記錄一次

我試著轉成7.0

麻煩你看一下囉 

finger.vi

感謝 ^^

因為是你寫的程式 所以有些部分我還沒辦法完全理解

但是我發現只要這樣做就可以達到你的要求了

不過這是一組訊號的時候可以

四組的情況請你試試吧

但因為我是以達到你的要求為目的的出發點去改程式

所以目的是達到了 但是這樣隨意的修改了你的程式

不知道有沒有不該發生的影響

請你確定一下吧

finger_modified.vi

你這個程式有一個問題就是沒法直接在圖上顯示波型軌跡圖

要到五秒過後才會一次把整個零到五秒的圖全部顯示

我想XY圖可能要放進迴圈裡 這樣才能即時顯示波形值

還有一個channel的程式我已經可以做到

但是四組的我卻不知道要如何設定 

迴圈裡的程式 一個是控制X軸  一個是控制Y軸

![](upload://uKEoptWX51bWtVQsNphH06BatJ2.jpeg)

紅色圈應該是從DATA傳出值來控制Y軸的 

但是四組要同時顯示就不能這樣做

所以希望大大能幫我解開這個謎團吧  ><"

我附上較完整的程式  但只需更改 Setup裡的CASE就可以

感謝 

test01.vi

<(_ _)>

 

也許是我技巧還太差吧

我居然卡在一個很奇怪的問題

就是我的確接收到四組資料了

但是setup畫面上跑出來卻只有三組

我去改xy graph裡面plot的設定

改完之後居然從三組變成只剩一組

但是在trail2裡面還是都有出來

非常詭異 也許是你用property node設了什麼

還是我有些你的參數沒改到吧

我只改了你setup的部分

那樣寫就可以跑出四組了

剩下的部分就請你自己努力吧

還有如果你知道為什麼plot的部分會那麼奇怪

也麻煩告訴我一下 因為我覺得那部分實在很沒道理...

最後附上你的程式修改版

test01_modified.vi

還有這個是簡單的xy graph多組圖形的程式

Untitled.vi

希望對你有幫助

非常謝謝你的程式 

基本上來說目前的寫法已經達到我最初的目的與要求 

接下來就是存檔的問題  不過這方面我還要先了解要如何存成需要的格式

你之前的問題我也不是很清楚

不過我把程式綜合之後已經解決你上述說的問題

你不妨下載來看看  非常感謝你的幫忙

test.vi

如果是這樣的話 也許是某些參數沒有接到的關係吧

恭喜你解決問題了 老實說我也學到不少東西

加油吧

對不起 我後來發現一個問題

就是第四個channel會不自主的將電壓放大

就算沒接上任何訊號 一樣會顯示波型軌跡???

一但接上訊號之後  會將原本可能振幅為2V的訊號放大

![](upload://eo4HPlNDi41i7Srfa3xhQa1qTea.jpeg)

就是那個藍色的訊號  我只有接上第三個channel(黃色)作測試

但是第四個channel會不自主跑出訊號????

![](upload://engK7eYUIrmKrow3WpLzi8NxqwD.jpeg)

會不會是因為第四個接法不同所導致???

附上檔案

test.vi

 請大大幫我一下   謝謝  ^^