各位先進好,非常抱歉對於我的程式我解釋的夠清楚。
是這樣的我設計的程式主要是應用在做跨孔式非破壞檢測上,檢測的原理是有3個垂直地表面的孔,在第一個孔放置我的敲擊震源(也就是Trigger),其餘兩孔各
別架設一個接收器,來接收震波訊號。
程式部份:
程式部份,我所謂兩個擷取系統在Case中他們的建立及設定都是一樣的。
我的邏輯是這樣的,當初我用單一個擷取系統(也就是程式中只有一個Case),來檢測,在震波訊號的擷取紀錄是可行的,但只有一筆訊號(如表1);而後續的研究我想要讓Waveform Graph 可以顯示出兩筆訊號,所以我想說既然單一個擷取系統可以用,那我再程式中再放入一個相同的擷取系統,變成程式中包含了Case0與Case1,只要讓兩個擷取系統在運用上有個順序性,也就是第一次的敲擊(觸發)訊號由Case0接收、第二次的敲擊(觸發)訊號由Case1接收,將兩筆接收的訊號顯示在Waveform Graph中(效果如表2),依此類推。我的設計原理是這樣的。
已解決! 轉到解決方案。
在通道的方面我建立了3個各別Dev1/ai0、Dev1/ai1與Dev1/ai2,關係如下:
Dev1/ai0主要連接敲擊(觸發)震源,顯示在Waveform Graph0。
Dev1/ai1連接第一個接收器,將接收器所接收的波形訊號顯示在Waveform Graph1。
Dev1/ai2連接第二個接收器,將接收器所接收的波形訊號顯示在Waveform Graph2。
我每一次的檢測都有2次的敲擊(觸發)源,所以在Waveform Graph1或Waveform Graph2都要有兩筆的訊號,一次的檢測要有一次的存檔功能。
還有兩個擷取系統的觸發震源都是由Dev1/ai0控製。
以上大概就是我的設計原理。目前的疑惑是,我改了很多次但都跑不出我想要的結果,是不是我的理念錯誤,還是程式運用錯誤,還請各位工程師先進們多多指教一下,因為真的很急了。
以下是我目前的程式及附表,如對我的狀況還不了解,還請提出。
懇請先進們多指導。
在 05-06-2008 08:50 AM
Jimmyko您好:
接收器擷取震波方面您可能有些誤解,是這樣的因為我的敲擊源是採用一正向敲擊(0度)與一反向敲擊(180度),所以我希望當我正向敲擊完時由Case0來接收訊號,反向敲擊完時由Case1接收,這樣一正一反的兩筆訊號再由兩個接收器接收,也就是我正向敲擊完後兩個接收器就會各接收一筆正向敲擊的訊號,我再反向敲擊完後兩個接收器就又會各接收一筆反向敲擊的訊號進來,所以兩個接收器所對應的Graph(Graph1、Graph2)所顯示的的圖就會如同表2一樣,表2的圖形是一正向一反向訊號疊在一起的結果,而我目的也就是要這樣的結果顯示。
至於Trigger的訊號會隨我敲擊完後對應於Graph0顯示出來。
統整來講,我程式中的3個Graph(Graph0、Graph1、Graph2)都會再我每一次的敲擊源敲擊完後顯示出訊號,而Graph1、Graph2如上述方法顯示出訊號來。
Jimmyko工程師您好:
在程式的執行過程中還是一樣會跳出這樣的錯誤訊息:
Possible reason(s):
Some or all of the samples requested have not yet been acquired.
To wait for the samples to become available use a longer read
timeout or read later in your program. To make the samples available
sooner, increase the sample rate. If your task uses a start trigger,
make sure that your start trigger is configured correctly.
It is also possible that you configured the task for external timing,
and no clock was supplied. If this is the case, supply an external clock.
Property: RelativeTo
Corresponding Value: First Sample
Property: Offset
Corresponding Value:
Task Name: _unnamedTask<2>
是因為取樣頻率有錯?
還是Trigger設定有錯?
在 05-15-2008 11:32 AM