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

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
    DBhagat

    You 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.

  • 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 KB

    See attached VI and below screenshot which shows how to use it in your code. Just one solution...
    Attachments:
    Elapsed time LV80.vi ‏27 KB

  • 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 KB

    Got it. It works. Thanks a lot. 
     BTW: what are the differences among Wait(ms), Wait Until Next ms Multiple , Time Delay?
    Alyssa

  • 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

  • DAQ AO to AI time delay

    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

  • Use the LabView time delay in a while loop instead of using the instrument inherent time loop.

    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?

  • Urgent: Please help. how to solve the time delay during buffer read and write using vc++

    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

  • Measure time of an measurement and if measurement time is less than 90 second wait until 90 second and then proceed to next steps or stop.

    Hi
    I am trying to make a program
          During execute a measurement count the time.
          If  measurement time is more than 90 second proceed to the next steps (or stop the measurement)
          If measurement time is less than 90 second, wait until 90 second and then proceed to next steps or stop
    I appreciate deeply if some help me.

    What sort of measurement are you talking about? What affects the time of your measurement? The very basic description you have is of a state machine and there are numerous examples of that
    1. Actually I would like measure the time of "Alignment" function done by wafer test equipment name Prober ( the model is "UF3000" made by TOKYO SEIMITSU CO., LTD.
    2.. Right now  the "Alignment" function is started when a  GPIB command is written as "N" and wait for resposne 70 in polling.
    Please refer to the attachment for Alignement function if it help you.
    In the attahement
    For Alignment error delay we are using =600
    Alignment counter =30000
    align loop cnt = 30000
    This is a program wriiten by another person and he is not availabe any more. What I am trying to do is
    1.  During execute a "Alignment " function count the time.
    2. If  "Alignment " function time is more than 90 second proceed to the next steps
    3.  If "Alignment " function is less than 90 second, wait until 90 second and then proceed to next steps
    Attachments:
    Alignment function.xlsx ‏153 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

  • Keithley 2400 Configure Settling Time Delay vi

    I am trying to use the Configure Settling Time Delay.vi yet it is not clear where it has to be placed to work. Where should it go in relation to a Configure Measurement.vi or Read.vi
    Thank you very much,
    Andrew

    Hello Andrew,
    It may take some trial and error but looking at the library of VI's in the project, they should still follow the initialize->configure->read->close data flow. I would first Configure Measurement(one or mulitple), then Configure Settling Delay, and then Read. Please let me know if you have any further questions.
    Thank you,
    Deborah Y.
    LabVIEW Real-Time Product Marketing Manager
    Certified LabVIEW Architect
    National Instruments

  • How can I measure time between transitions at digital input

    I am using LabVIEW 6.0 to measure the time duration between 2 transitions in a digital input port. I have a set up including an HP 34970A Data Acquisition unit with the 34907A Multifunction Module plug-in. The LabVIEW program is trying to poll the digital input for level changes and then using the Time function(Tick Count) to check the times at the transitions. However this method doesn't work reliably as I have to measure time periods of 500ms.
    Is there any good way of mesuring time period with the above setup. I don't have a module which connects to the internal multimeter in the 34970A. The other stuff I have are a HP 34903A(Actuator Module) and a HP 33120A(Function/Waveform Generator).
    Any method for m
    ore accurate time measurement with the above setup will be appreciated. If not, what else do I need to make accurate time measurements.

    Frankly I doubt that you're going to be able to measure time interval with much accuracy. You're periidically polling a static digital input and how often you poll is going to vary. You could try polling as fast as possible and eliminate as many background tasks as you can. If your tolerance for the measurement is plus or minus 100 msce, then maybe you'll get a decent measurement most of the time. If it's plus or minus 5/10 msec, then it will never happen. The pc's clock is just not that accurate and a software timed loop on Windows is not deterministic enough. Get a counter/timer board for something really accurate or use a scope to capture the waveform.

  • Time delay between 2 waveforms

    Hi,
    Please bear with me while I explain what I’m trying to do :-)   Basically, in the attached LabView file (“flow vis + trigger-m.vi”), I am generating 2 signals: a sinusoidal waveform (used to drive an actuator) and a square waveform (used as a TTL signal to trigger image capture on a CCD camera). Currently when I run the program using LabView 7, both signals are started simultaneously. I would like to introduce a time delay that can be manually specified in the VI, such that when the program is started (i.e. at time t0), the sinusoidal waveform also starts (i.e. at time t0) before the square waveform (i.e. at time t0 + delay time). In a practical sense, this means allowing the actuator to run for several seconds before capturing any images.
    It sounds like it should be quite straightforward to do, but I’m not so sure how to progress. I have begun to modify the original VI (“flow vis + trigger-m_2.vi”, as attached), but would be much appreciative of any help or suggestions on how I can complete the VI to meet the above requirement.
    Many thanks,
    Mark
    Attachments:
    flow vis + trigger-m.vi ‏939 KB
    flow vis + trigger-m_2.vi ‏895 KB

    Please refer this URL for an example VI I made to solve the problem:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=227603
    Way S.
     NI-UK Applications Engineer

  • Creating a Time Delay Between 2 Waveforms

    Hi,
    Please bear with me while I explain what I’m trying to do :-)   Basically, in the attached LabView file (“flow vis + trigger-m.vi”), I am generating 2 signals: a sinusoidal waveform (used to drive an actuator) and a square waveform (used as a TTL signal to trigger image capture on a CCD camera). Currently when I run the program using LabView 7, both signals are started simultaneously. I would like to introduce a time delay that can be manually specified in the VI, such that when the program is started (i.e. at time t0), the sinusoidal waveform also starts (i.e. at time t0) before the square waveform (i.e. at time t0 + delay time). In a practical sense, this means allowing the actuator to run for several seconds before capturing any images.
    It sounds like it should be quite straightforward to do, but I’m not so sure how to progress. I have begun to modify the original VI (“flow vis + trigger-m_2.vi”, as attached), but would be much appreciative of any help or suggestions on how I can complete the VI to meet the above requirement.
    Many thanks,
    Mark
    Attachments:
    flow vis + trigger-m.vi ‏939 KB
    flow vis + trigger-m_2.vi ‏895 KB

    Hi Mark,
    I forgot that all analog waveforms generated needed to have the same number of samples in a single task. By introducing a delay into your square wave, I effectively added samples that waveform. So the same number of samples added to the square wave has to be added to your sine wave. I added code that extends the number of samples of your sine wave (# delay + square wave samples). Let me know if this works for you.
    Regards
    Way S.
    NI UK Applications Engineer
    Attachments:
    flow vis + trigger-m70.vi ‏872 KB

  • My recirculating pump in sub vi simulation link doesnt work in the second iteration .It opens for maybe half a second whereas i gave the time delay for 5 secs..plz help very urgent

    Hi,
         I have attached my simulation loop.In the model attached i hav eone main pump with constant rpm which drives the 5 smaller pumps and fills the tank at the same time.As soon as the tanks reach their 90% level,the valves of the five pumps close(SP1,SP2,SP3,Sp4,Sp5).After that the recirculating pumps opens for 5 secs of the first tank.As soon as the recirculation finishes,the drain valve(SV1) for tank 1 open and the volume goes to interim storage.This happens for all the remaining tanks.
    My simulation works the first time,but when the second time the loop starts,it skips the recirculation pump even though i gave a time delay for 5 secs.Plz help ..I have attached the simulation.
    Thanks,
    Rami
    Attachments:
    Spatial Logic_2_Final.vi ‏223 KB

    Rami,
    I suspect that you have a race condition. The widespread use of local variables frequently leads to race conditions. Your subVI (Spatial Logic Sub_2.vi was not included) so I cannot run the VI. You have no way of knowing whether the subVI or the inner case structure will execute first, because there is no data dependency between them.
    I think a shift register or a few and some dataflow thinking would allow you to eliminate the inner case structure, the local variables, and, probably, most of your problems.
    Some of the SPi are indicators and some are controls. How are they used?
    The last case of the inner loop retursn to Case 1. Would case 0 be better?
    As for the second time through issue, it may be related to the Elapsed time function Auto Reset. From the help file: "Resets the start time to the value in Present (s) when the Express VI reaches the Time Target (s)." If more than 5 seconds elapses between the first time you use this and the next, it will exit immediately on the subsequent calls.
    Lynn

Maybe you are looking for