Fluorescence Time-delay Measurement using an Oscilloscope
Currently, I'm examining fluorescence through scanning through wavelengths on a monochrometer and averaging the signal on the oscilloscope, storing it all in an array and graphing in the end.
My goal is to time delay the value attributed to each wavelength in order to weed out rapidly decaying noise in my samples. The light source will be chopped, and a trigger line feeds into the oscilloscope.
Can this be done either:
through adjusting instrumental settings (I'm using a Tektronix 220, interfacing through GPIB)
or through manipulation of a triggered output waveform using integration with specified boundaries relative to the trigger time?
Hello Matt G:
I'm not sure if your instrument can handle this. Have you looked through the manual or tried contacting Tektronix about it?
Regards,
Roland A.
Applications Engineer
National Instruments
Check out VI Roadshow
Similar Messages
-
How to measure time delayed measurement
Hi All:
I am using TDS3064 scope to measure time delay betwwen two channels (using IVI driver
complience package 2.2 for scope IVI driver). I look through drivers, but not able to find
delayed measurement function. Is there any alternate way to measure time delay betwwen two
channels. If possible please provide me example. I am new to LV programming.
Thanks
DBhagatYou have to understand something about IVI class drivers. To support portability, those functions that are common to a class are what you see in the driver. Some scopes might have the ability to measure time delay between trigger points on different waveforms but many don't. If there is such a function supported by your scope, then you can make a call to the instrument specific driver or a VISA Write/Read. Of course, you then loose the portability feature of IVI which, imho, is about the only reason to use IVI class drivers. What I would recomend is that you do a capture of both traces and then do an analysis of the raw data in LabVIEW. One way to do this is with Trigger Detection for 1 Channel (Analyze>Waveform Monitoring palette). Wire each channels data to the function and obtain the time for each trigger event. The function will return the time for each event that you can use to calculate the difference.
-
Time delay separate to while loop
How would I be able to obtain data (pressure read in by DAQmx) that happened 2 seconds previous?
I need to obtain the pressure difference from 2 seconds ago hence need the previous pressure with a 2 second time delay. When I try and do this the whole program delays by 2 seconds, even when I try separate the time delay through use of another time loop.
Any suggestions? -
I have a zes lmg500 that I use. It has the option of continues measuring data, with a user control cycle loop (still using a while loop but the delay is coming from the instrument). The problem is that the loop time is not constant. Can I use a very short time (100ms) as the instrument cycle time but use a longer time delay in the while loop that collect the data?
I know many instrument offer the same abilities, so the question is relevant to all of them.
Thanks for any help
Solved!
Go to Solution.Does that measurement VI have built-in wait functionality and a timeout?
If not, then you are simply polling the VI at 1 kHz, but I suspect that this is not the case or your Waveform Chart probably wouldn't look as you expect (getting 0's put in everytime measurement data is not available).
I expect that if you have the instrument set up to send data at a fixed time interval (i.e. 100 ms), all the data that it is sending you will end up residing in your serial buffer (or the instrument driver will have taken it out and put it in another internal buffer), so if you come back to read it 1 sec later, then you will have 10 data points to go through. Whether you can read them all at once with the read VI or have to call it a whole bunch of times until empty I can't say.
What is your objective? -
Time delay probelm in data aquirsition of voltage measurement
Hi,
I am measuring voltage using NI DAQPad-6015. Without time delay loop, I can get the data. But what I want to do is to compare the data with that of following moment.
The delay time loop is used to aquire the next moment data. With this loop, it just stay at DAQmx AI Voltage. What's the problem?
Attachment is my program.
Attachments:
DriftTest.vi 79 KBGot it. It works. Thanks a lot.
BTW: what are the differences among Wait(ms), Wait Until Next ms Multiple , Time Delay?
Alyssa -
Ni scope measurement time delay
使用niscope measurement 测量 time delay ,如何使测量更加准确,现在测出来的值的浮动范围很大,另,能不能提供其测量的具体算法编程
The PXI 1031 is just the chassis and power supply. It does not read anything. So I am guessing that the 5105 is doing the measurements.
What is the resistor value you are using to convert the current to voltage? Have you verified that the resistor is actually close to the nominal value? Is the voltage in the current loop within the common mode range of the measurement device? Do you have the loop grounded at two different points? Does the pressure actually exceed 62 bar? Does the current from the transducer actually go to 20 mA?
Your calculation is correct for a 1-5 V input corresponding to 0-100 bar.
You have several questions which all seem to be related to the same project. Do you have a good overall plan for the total project? Did someone sit down and create a specification for the hardware and the software? Have the various subsystems been designed in detail before you started developing code and buying hardware? Do you have a System Architect (Project Manager, or other title) who has a good overall idea of how this thing is supposed to work?
Without that you will likely continue to be frustrated and not too productive.
Lynn -
Using more than one time delay in a thread
Hello,
I need to use two non-consecutive time delays in a thread. My thread typically proceeds as follows:
1. Tell an oriel MS257 to change wavelengths
2. Time delay #1 to give the MS257 time to change
3. Tell HP 4156C to start sweeping
4. Poll the 4156C until sweeping is complete
5. Time delay #2 to give 4156C time to load data
6. Read/parse/save data
My problem is that the second time delay seems to start counting immediately after the first one - it does not wait for the sweeping to complete before counting. My VI is attached. It's a bit messy - organizational tips are also welcome!
Thanks,
Ying
Solved!
Go to Solution.
Attachments:
TFTmeasure.vi 115 KBLooking into the sources show: Cleanup is a nice tool (even thought it is far from perfect )
Well, nevertheless, from the wireworking, it seems alright that the second Time Delay express VI should indeed wait for the loop to finish. Therefore, i am wondering why it is skipped. And the only reasonable explanation: You have an error on the error cluster.
So please debug into it using highlight/probes on the error cluster to make sure that you are not running into issues here.
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
How can you build time series measures in OBIEE without using TODATE AGO fu
How can you build time series measures in OBIEE without using TODATE and AGO function?
Please provide steps to build time series
measures in OBIEE without using TODATE and
AGO function. Dashboard results not storing
in cache when using TODATE and AGO functions.
eventhough its cached users queries not
hitting cache because queries doesn't match
exact date time when using TODATE and AGO
functions. so I want to build queries using
sysdate and some simple calculations. Please
send your inputs/ideas for my questions..
Thanks in AdvanceThis can be using Msum function in answers. Use the following formula, here dollars is my metric. Change the formula based on your metric.
Msum("Sales Measures".Dollars ,2) - "Sales Measures".Dollars
the report will be cached and better performed compared with time series. check ti
- Madan Thota -
I need to continuously acquire data from daqmx card, write into a file and at the same time corelate (in terms of time) the data with signals from other instruments. The current problem is that there is time delay during read and write data into buffer,thus causing misalignment of the data from multiple instruments. Is there a way to solve the delay? or Is there a way to mark the time of the data acquisition in the buffer? If I know the starting time (e.g. 0) of data acquisition and sampling rate (e.g. 1kHz), can I simply add 1ms to each data sample in the buffer? The current code is shown below.
void DataCollectionWin::ConnectDAQ()
DAQmxErrChk(DAQmxCreateTask ("", &taskHandle));
DAQmxErrChk(DAQmxCreateAIVoltageChan(taskHandle,"Dev1/ai0,Dev1/ai1,Dev1/ai2,Dev1/ai3,Dev1/ai4,Dev1/ai5,Dev1/ai16,Dev1/ai17,Dev1/ai18,Dev1/ai19,Dev1/ai20,Dev1/ai21,Dev1/ai6,Dev1/ai7,Dev1/ai22","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
DAQmxErrChk(DAQmxCfgSampClkTiming(taskHandle,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,60000));
DAQmxErrChk (DAQmxRegisterEveryNSamplesEvent(taskHandle,DAQmx_Val_Acquired_Into_Buffer,50,0,EveryNCallback,NULL));// Every 50 samples the EveryNSamplesEvent will be trigured, to reduce time delay.
DAQmxErrChk (DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,NULL));
DAQmxErrChk (DAQmxStartTask(taskHandle));
int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData)
DAQmxErrChk (DAQmxReadAnalogF64(taskHandle,50,10.0,DAQmx_Val_GroupByScanNumber,data,50*15,&read,NULL));
//memcpy(l_data,data,6000);
SetEvent(hEvent);
l_usstatus_e[0]=g_usstatus[0];// signals from other instruments that need to be corelated with the data from daq cards.
l_optstatus_e[0]=g_optstatus[0];
if( read>0 ) // write data into file
//indicator=1;
for (i=0;i<read;i++)
{ //fprintf(datafile,"%d\t",i);
fprintf(datafile,"%c\t",l_usstatus_s[0]);
fprintf(datafile,"%c\t",l_usstatus_e[0]);
fprintf(datafile,"%c\t",l_optstatus_s[0]);
fprintf(datafile,"%c\t",l_optstatus_e[0]);
fprintf(datafile,"%.2f\t",data[15*i]);
// sprintf( pszTemp, "%f", data[6*i]);
// pListCtrl->SetItemText(0, 2, pszTemp);
//pWnd->m_trackinglist.SetItemText(0, 2, pszTemp);
fprintf(datafile,"%.2f\t",data[15*i+1]);
fprintf(datafile,"%.2f\t",data[15*i+2]);Hello kgy,
It is a bit of a judgment call. You should just choose the board that you think has the most to do with your issue. For example, this issue was much more focused on setting up your data acquisition task than the Measurement Studio environment/tools, so the MultifunctionDAQ board would have been the best place for it. As for moving your post to another board, I do not believe that is possible.
Regards,
Dan King -
Can you use time delay to take photos on 4s
Is it possible to use time delay to take photos on the 4S iphone?
Yes, but not with the bundled Photo app.
Try this https://itunes.apple.com/au/app/gorillacam/id342972390?mt=8 -
Using time delay for displaying tooltips
Hi guys, hope you are all fine,
I have a little problem, i need to use time delay for displaying a tooltip for a specific amount of time but i don't know what code to use.
Can you please give me a hand? I also try to find out the right way on how i can use tooltips when using a Jpanel and paintComponent. I amcurrently using setXORMode but this is not too efficient.
Thanks guys,
Regards,
John.Ok guys, for any other who need this info, you get time delay by this:
try {
Thread.sleep(time);
} catch (Exception e) {}
// in "time" you put an integer value which represents milliseconds -
Hallo,
I'm working on an academic control project, where I need to read (ni9215) 3 or 4 channels very fast,
process the data and write them back (ni 9263) via usb-chassis 9172. To check the accuracy and time
delays I tried a loop from AO to AI (only one channel) and generated a step, saved the timestamp of the
step and checked, when the step was readed in the written measurement log. I doesn't see andy difference
in using two VI's to read and to write or combining them in one VI, so I added images of two VI's.
While comparing the timestamps of the sampled step and the log file, i noticed time delays of about 200ms
from output to input. So my VI's are times too slow for my control purpose... anybody knows, what to try?
In this VI I read data with 500hz, 10 samples to read and 10 samples/channel. The read timeout is set to
default, but if I set it to zero, strange (negative) times are written to the measurement log... I tried
to change from N samples acquisition to single sample acq, but it didn't speed up the VI.
Thanks for answering!Hi IoInNBlack,
first of all thank you for posting in this forum.
I think you should synchronize your input/output operation, otherwise I don´t understand how you can take the timestamps and consider them
reliable for your evaluation. I suggest you to modify the LV example here attached with timestamps and file I/O to build up your test and see what results you get then. Consider also that 20 ms are necessary for the acquisition of the samples and then you have add the time necessary to manage the file I/O.
Best regards.
Andrea P.
Message Edited by pxchellone on 07-06-2009 09:23 AM
Attachments:
Multi-Function-Synch AI-AO.vi 35 KB -
Estimate time delay during execution
Hi, everyone.
Currently, I have a VISA program for reading signals from a GPS receiver. From the program, I want to measure time delay of execution, i.e. time delay between start and end as shown in the jpg. Are there any vi in LabView facilitating this purpose? Thanks a lot.
Regards,
yukfai88
Solved!
Go to Solution.
Attachments:
VISA.vi 12 KB
Estimate delay.jpg 54 KBSee attached VI and below screenshot which shows how to use it in your code. Just one solution...
Attachments:
Elapsed time LV80.vi 27 KB -
Impulse trigger to create a time delay of x ms to perform an action for y ms
Hello all,
Here is what i'm trying to do:
I'm measuring an audio signal when a sound level is above a certain value Y (controllable) i need to wait a few ms (around 900ms) to get pass the main sound compound. Yhen i need to filter the next few ms (around 500ms) of data and do a FFT of that part of the filtered data only once until Y is reached again.
I can do all this with saved data but i'm struggling to do it as it occurs without saving the data.
I have everything in place i just need to know in general how to use an impulse trigger to a create time delay of x ms to perform an action for y ms.
Do you have any ideas how i can achieve this?
Thank you in advance,
Frederic.Hi Frederic,
I've looked at your program and I have a few questions. What is the purpose of the Two While Loops that simply have a Case Structure that nothing in the false case and a Wait (ms) function in the true case? As it stands if these loops go into the false case then there is nothing to slow down the execution so the will try to run as fast as possible and not give the processor any time for other tasks which may explain why your computer goes so slow whilst this is running. This also applies to the While Loop where the false case says "If its not time to write the measurement file, do nothing."
I believe that what you want to look at is a Producer/Consumer(data) Pattern, where you have one loop that generates your data (producer), in this case reads in the sound data, and then a processing loop (consumer) that will do the Fat's and log data to a file etc.
More information about this can be found here: http://zone.ni.com/devzone/cda/tut/p/id/3023
Hopefully this helps you a bit. Let me know any questions you have.
James W
Controls Systems Engineer
STFC -
Two HP3458A synchronou​s triggering - time delay
Hi,
I would like to get time difference between synchronous triggering 2 HP3458A instruments. Expected time is in nanoseconds or microseconds. Find eclosed VI. Whole project includes reseting both HP3458A, settling parameters, getting data, calculating mean and errors. Which subVI should I use for highest accurate time measurements? And where (Before or/and after Read)? I think Get Date/TIme are not useful for this purpose.
Best,
Kristina.
Solved!
Go to Solution.
Attachments:
Meas Stat 3458(2 mean values-GPIB functions).vi 24 KBDennis_Knutson wrote:
Your question has nothing to do with NI hardware or software. You can measure the delta t between the separate trigger pulses if you use a very good scope and connect the two cables into two channels. You would obviously need to make the length of the two trigger cables as identical as possible. Any other delay would be within the two different instruments. What do the specs say about the delay between receiving a remote trigger and starting the measurement? Have you asked agilent? I don't of a way to actually measure this without getting inside the instrument itself. For minimal delay between two channel measurements, you should have chosen a single instrument with multiple channel inputs that are simultaneously sampled. Wasn't that a discussion in your lab?
They're using LabVIEW so the question is certainly relevant. And I suspect trying to trigger the two instruments at the same time.
Maybe you are looking for
-
Hello everyone. Faced very strange issue with account, which is used to run SSIS package. The specific package uses Foreach Loop Container to retrieve file names within the specified folder, and put them into Import file task. The package is set up t
-
Have Windows OEM Product Key -but key is not accepted when Installing New Windows 8.1 Disk
I was able to secure the Product Key for what I thought was a Windows 8.1 OS on my Toshiba notebook. I believe my notebook ORIGINALLY had an OEM version of 8.0 (was pre-loaded when I bought the notebook) but at some point I updated the OS to 8.1. I
-
Prompt limit is 255 characters, otherwise Photoshop crashes! Is there a better way?
I noticed today that the "prompt" command appears to have a limit where it can accept no more than 255 characters. If you try to enter more, Photoshop crashes! Photoshop CC v14.2.1 x64 Windows 7 64-bit SP1 16 GB RAM I tried the following: var defaul
-
Using local language to display a form
I have developed an application which has a user registration form containing name, age, sex etc. As I am an indian, I want the form to be in our language i.e hindi. How can I do this? Please give some ideas.
-
DVD does not play on DVD-Player
the first time this happened to me: I built a DVD (it is just one videotrack!) It plays on the Mac, but as soon as I put it into my player, it does not work. Does anyone have an idea, what I might have done wrong/what could be the reason? Thanks for