Unexplaine​d Trigger Delay in NI-SCOPE Software

Hello,
I am using NI-SCOPE to configure my 5122 digitizer card for multi-record acquisition.  My trigger signal is connected to the TRIG input of the card, and my data will be acquired on Channel 0.
I have an X stage that I move in to position.  Then I configure my SCOPE software to begin acquiring data on an External Trigger, and initiate the acquisition.  Then I begin moving my X stage and after it moves 20 microns the first trigger is generated.  After the initial trigger, subsequent triggers are generated every N microns, where N can vary between different scans but is a constant within a scan.  After the acquisition is complete I display the resulting waveforms.
Please refer to the attached vi (LabVIEW 8.0) and jpg of the block diagram to see how I have the code set up.  I've combined a few different sections of my code into this single vi.
You'll see that I have a trigger delay - in this vi it is a constant, but in my application it is a Control.  I've run various tests and for some reason my data is always offset by 1.04E-5 seconds, which is why I've had to put in that trigger delay.  What I mean is that if I set the trigger delay to 0, then the first 1.04E-5 seconds of my data is noise.  After I use this trigger delay, my data is accurate beginning with the first data point.
Can anyone figure out where this trigger delay comes from?  Thanks.
Steve
Attachments:
5122 Scope Test.zip ‏88 KB

Hi Steve_G,
There doesn't seem to be anything fundamentally wrong with your VI and so there should not be any delay between your trigger and your data acquisition. I suspect that you may be generating your trigger signal a bit prematurely and that your step motor may not have settled to its final value. This will cause your digitizer to acquire unsettled data and this may be why you are seeing noise. Also, I noticed that you have set some wait timers in your VI and although these will delay your data fetch, it will not delay your data acquisition. So although you are delaying your data fetch call, as soon as the "niscope initiate acquisition" is called, your hardware is configured and is programmed to start acquiring data onto your on-board memory buffer as soon as it receives a trigger signal.
One way to troubleshoot this system would be to simply acquire both the trigger channel and your input channel to see if the trigger lines up with your data. This will give us a good indication if we are in fact seeing any delays. I would also like to point out that there are tons of great NI-Scope shipping examples in LabVIEW that you could refer to. You can view these in your Example Finder by accessing it under Help  Find Examples.... The examples we are particularly interested in should be under Hardware Input and Output » Modular Instruments » NI-Scope » Continuous Acquisition.
I hope this helps,
S_Hong
National Instruments
Applications Engineer

Similar Messages

  • Trigger delay in NI-Scope 1.6

    I am using NI-Scope 1.6 with PXI 5102. I can't seem to set the trigger delay
    parameter of niScope_ConfigureTriggerSource() to any value other than 0.0.
    My code looks something like this:
    niScope_ConfigureVertical( vi, "1", m_VertRange, m_VertOffset,
    NIVerticalCoupling, m_ProbeAttenuation, VI_TRUE );
    niScope_ConfigureHorizontal( vi, m_RecordTime, RecordLength, 0.0 );
    niScope_ConfigureTriggerSource( vi, "1",
    NISCOPE_VAL_EDGE,
    0.0,
    0.0 );
    The call to ConfigureTriggerSource will fail if the trigger delay parameter
    is anything other than 0.0. (At least it fails with the handful of values I
    have for a 10ms delay: 0.01, 10, 1, -0.01, -10 )
    The failure reason given is: "BFFA0010 Invalid Value...Elaboration: Tri
    gger
    Delay is invalid."
    How do I use the trigger delay with NI-Scope 1.6 and a 5102?
    Thanks,
    Chris Lincoln
    ULTRAX, Inc.

    Mr. Lincoln,
    Thanks for using NI Developer Exchange! Unfortunately, the NI 5102 is not able to perform delayed triggering. Delayed triggering is supported by the NI 5112 for PXI, so this functionality appears in the NI-SCOPE instrument driver. The NI 5102 and NI 5911 also use this driver, but cannot support this feature in hardware. The NI-SCOPE driver call "ConfigureTriggerSource" is only meant to have a non-zero delay for the NI 5112 for PXI. One alternative (without changing hardware) is to start sampling immediately, then calculate how many points to delete in software to reach the desired starting point. Hopefully this answers your question.
    Thanks,
    Jace Curtis
    NI Applications Engineering

  • Trigger delay in Multi acquisition mode

    I'm trying to use the 5112 to acquire a burst waveform.  I want to average 20 acquisitions or records and take measurements on the average waveform.  The burst arrives a certain time after my trigger so I need to use a trigger delay.  When I try to change the trigger delay while my program is running I get "Trigger Delay is Invalid" error.  The only way I can get it to work is if I reset the device before I reconfigure the trigger.  Is this the only way to adjust the trigger delay in multi-record acquisition? 
    Thanks,

    Hello Rudy27,
    There are two things you need to consider for the trigger
    delay:
    1)      
    In a multi-record acquisition using the
    NI 5112, the time per record should be > 42 µs and trigger delay should be
    > 42 µs. Otherwise, you may observe trigger timeouts. This is found on the
    help file Start » All Programs » National Instruments » NI-SCOPE »
    Documentation » NI High Speed Digitizers.
    2)      
    You cannot change the trigger delay
    during runtime. You need to stop the acquisition, then reconfigure the device
    and then start it again.
     I would like to know if your trigger arrives multiple times in
    the burst or just a single one each?
    If is multiple times, then you can make your record size to be
    the entire burst.
    If is single time, then I would assume is always the same
    delay.
    Hope this helps.
    Gerardo O.
    RF Systems Engineering
    National Instruments

  • What it the valid trigger delay value for "niScope Configure Trigger Digital.vi" ?

    Hello:
    I am using "niScope Configure Trigger Digital.vi" in LabView 5.1.1 for NI5911 scope card.
    The trigger source is RFI1.
    I am trying to specify the trigger delay, but it looks like the only accpted value is 0.0s.
    For example: setting delay time to 1ms (1.0m) results in the error message stating that invalid value had been passed for trigger delay.
    Thank you.
    --daevper

    The NI 5911 high speed digitizer does not support trigger delay; therefore its only valid input parameter for trigger delay is zero. The two high speed digitizers which do support trigger delay are the NI 5112 and the NI 5122.
    There is a helpful listing in the NI High-Speed Digitizers Help which displays the features supported by each device (Start >> All Programs >> National Instruments >> NI-Scope >> Documentation >> NI High-Speed Digitizers Help >> Content tab >> Devices >> Features Supported by Device). If you did not install the documentation along with the driver, you can also download this support file here.
    I hop
    e this helps!
    Regards,
    Sonya Wornson
    Applications Engineer
    National Instruments

  • How to change number of retries and delay before retrying after software install failure

    I deploy a software to client, but the installation is fail, so it will retry. but How to change the number of retries and delay before retrying after software install failure?
    I find "Retry Settings" in "Software Distribution Component Properties". But I think it work for Distribution, not the installation. am I right?

    First, are you referring to packages or applications because the behavior is different.
    Also, why do you want it to retry a failure? It failed for a reason so you need to fix the cause of the failure first. If it failed the first, it will likely fail the next time for the same reason. In general, ConfigMgr will only retry on transient type
    errors.
    Jason | http://blog.configmgrftw.com

  • Why is Start Trigger Delay not applicable?

    Hardware: PCI 6602
    Driver: DAQmx 7.4
    Programming Environment: ANSI C
    Hello All,
    I'm setting up a counter output pulse generation task which is to have a start trigger.  To be specific, it is a digital edge start trigger (not an arm start trigger) which I plan to use in retriggerable mode so as to get a single output pulse of specified width for every trigger edge.  Currently I'm baffled as to why the Start Trigger Delay and Start Trigger Delay Units properties do not seem to apply - whenever I try to access them I get an error message saying they're not applicable to the task.  The other properties of interest - Source Terminal, Active Edge, and Retriggerable - can be accessed and modified without any problems.  I don't actually need the delay but am curious to know why it doesn't apply in this case.  Thanks in advance.
    Jeff

    Hey Jeff-
    You will need to make sure that you don't stop the task at any point after the first generation.  Most of the examples use DAQmxWaitUntilTaskDone() to wait for a single iteration, but in your case you want to run through several iterations of the task.  So, you will want to enter a loop after starting to ensure that the task continues to run in the background on the hardware.  I modified the single pulse DAQmx shipping example to include digital retriggerable start triggering.  The empty loop spinning is obviously not ideal, so I'll leave you the choice to implement that as necessary.
    Since you're working with retriggerable single pulses, you may also want to be aware of the information in this KB.
    Hopefully this helps-
    Tom W
    National Instruments
    Attachments:
    DigPulse.c ‏4 KB

  • How can i trigger two 5102 PCMCIA by software synchron

    I want to use a mobile measurementsystem with a laptop and two NI5102-PCMCIA. How can i trigger both cards syncron without loosing a channel. how can i trigger both cards syncron by software?

    Sounds like you are interested in triggering two DAQCard-5102. The triggering capabilities of this card are outlined in Chapter 4 of the DAQScope 5102 User Manual:
    http://digital.ni.com/manuals.nsf/websearch/3F29D7C792CBF5478625665E006358EA?OpenDocument&node=132100_US
    One thing to point out is that RTSI lines are not available in the PCMCIA version of the 5102.
    If you have any further questions you can always request support from National Instruments at ni.com/ask
    Regards,
    Russell Blake
    Applications Engineering
    National Instruments
    Engineering Team Leader
    G Systems, www.gsystems.com
    Certified LabVIEW Architect
    Certified Professional Instructor

  • Trigger delay about 2 days

    Hey guys,
    my idea to start virtual machines in SCVMM which are offline and to perform a client action (via SCCM) to roll out the new updates our company released, only needs a lil piece in that puzzle. If the newest updates are deployed and installed, I want to shut
    down the virtual machines. The trigger delay, that you can set up in the "links" between the actions, can only set up to 999 seconds. 
    Do you have an idea to trigger a delay, that can shut down the virtual machines after 2 days, for example? I don´t know that much about scripting, maybe there is a easier way.
    Thanks for your help and best regards,
    Simon

    You can use a "run .net activity" and use PowerShell:
    Start-Sleep -seconds 172800 #pause execution for 2 days
    There should be a better way than to have a runbook sit idle for two days. You might look into triggering the runbook from an external scheduling application like Control-M or something similar.

  • Trigger delay too long

    I'm trying to make a 10ms trigger delay using a PCI-MIO-16E-4.  However everytime I use it there seems to be a variable delay of about 50ms before my signal is outputted.   Is there anyway to remove this extra delay?
    Thanks

    Although you are getting a longer delay than you are
    wanting, this can be caused by a few things. One large factor in delay times
    being slightly off are that, unless you are using a real-time system, your PC
    is non-deterministic and will not guarantee your delay being exact and
    occurring at the exact same time each iteration.
    Another factor, partially building on the one above, is the
    code you are running and how long it takes to execute. If you have a 10 ms ‘wiat ms.vi’, but your code takes
    20ms, then the delay will be ignored because your code ran longer than the wait
    timer. This
    KB explains more about the wait functions.
    David L.
    Systems Engineering
    National Instruments

  • How to do a delayed download for iPhone Software Update

    How do i use a "download manager" to download a iPhone Software Update at a specified later time? 
    i.e. delay my download until after 2 a.m. when Hughesnet Fair Access Policy allows me to download such large files...
    Alternatively, can I download iPhone Software Updates from somewhere other than iTunes?

    Only your carrier can unlock a phone.  Contact the carrier.

  • E-mail trigger delay - Time Zone (CET) ahead of System Time (UTC)

    Hi,
    We have developed a Z program which triggers e-mail whenever the critical System / Interface user id gets locked in the SAP Netweaver System. However, the e-mail is generated by the program in the Time Zone which is in CET and sits in t-code SOST and is sent to our mailbox in System Time which is in UTC (GMT) which is currently 2 hours behind. Hence, there is a delay of 2 hours for generated e-mail alert to be sent to our mail box. Is there any process to avoid this delay?
    In the test system manually we can reduce the wait time by 2 hours in t-code SOST and then the mail gets triggered immediately. But can this be achieved programmatically so that the time in which e-mail gets generated always displays the system time in t-code SOST. Or, is there is a configuration where the e-mail is sent to our mail box from t-code SOST in Time Zone (CET) itself and not wait till the displayed time reaches System Time (UTC).
    Thank you very much for your earliest response.
    Regards,
    SANJEEV KUMAR

    In t-code STZAC both System Time and Useru2019s Default Time Zone is same (CET).
    However, when I see in the menu System->Status I find the System Time is displayed in UTC, while Time Zone is in CET.
    In other clients where system time is displayed in CET, there is no problem. The e-mail spool from SOST which displays CET time is actually triggered in the System Time. In case the System Time is CET, mail is triggered immediately. In case System Time is UTC, it waits UTC time to reach the displayed CET time, which is currently of 2 hours gap.
    Is it possible to change the system time of the problematic client to CET to solve this problem. Please let me know what configuration can be done for this.
    Regards,
    SANJEEV KUMAR

  • Scope does not trigger

    Hello,
    I am trying to trigger a scope at a certain point. I have a test signal coming after a regular sinusoid. I want to measure the output when the test signal arrives. What happens is that when my test signal comes after 1 second the trigger works perfectly fine but when my test signal comes after 3 seconds the scope does not trigger at the point I want and keeps on triggering at unwanted points. This is a conceptual question. Could anyone please help me in that.
    Thanks,
    Krunal

    Hello Krunal,
    I am not exactly sure what your external signal looks like, however I can suggest a couple things for you to look at.  First, if the absolute value of your sine wave amplitude is less than the test point you want to measure, the scope can simply level trigger at that point.  It should not matter if the signal comes in after 1 seconds or 3 seconds.  The only problem you might be seeing with this is a timeout error.  This is caused by the read function not being able to sample enough data within the default 5 seconds limit.  Adjusting the timeout would help if you are getting this error.
    If your test signal value you need to trigger off of is within the absolute value of your sine wave signal it becomes more difficult because if you specify to trigger off of a rising edge 0.5V signal this point will occur many times before the ideal trigger point.  Perhaps a combination of using the trigger hold off and trigger delay might help you time the start of your acquisition a little better.  If this does not help, can you please post more detail about the sine wave, your test point you want to trigger off and the behavior you are currently seeing.
    Regards,
    Jesse O.
    Applications Engineering
    National Instruments
    Jesse O. | National Instruments R&D

  • Using PXI 6251 counter to delay a trigger on PXI

    Hi at all,
    I need to synchronize some devices on an PXI chassis. Basic operation is a user waveform generation on a PXI5401 that routes the Trigger Signal for the generation to one of the PXI (RTSI) lines. I'd like to use this trigger signal to start a counter on a PXI 6251 counting the PXI 10MHz Clock. No problem so far ( at least none that I see What I need is a possibilty to set another sync signal as soon as a certain counter value is reached in order to use this signal as a delayed trigger signal. Is it possible? And how? I've taken a look at the LabVIEW Example finder, but haven't found an example yet...
    Thanks!
    Oli
    P.S. Using LabVIEW 7.1.1, NIDAQ7.4 and a PXI 1042 via MXI4
    Programming languages don't create bad code, programmers create bad code....

    Nathan,
    Thanks for your excellent solution. I'm ordering the Aux100 cable (9-Pin DIN to two BNC Female) to export the trigger signal from the PXI to the Device_2. I will test the program (Echo_Mode_PXI_5122.vi) to be sure it will be suitable for my application.
    Another problem, when my system is working on ultrasound Pulse-echo mode (Pulse_Echo_Mode_PXI_5122.vi), the input trigger must be set a delayed trigger acquisition (by setting the trigger delay to, for example 3µs) to remove the signal of power source. Could you please tell me how I can configure the digitizer in this case?
    Regards,
    John C.
    Attachments:
    Echo_Mode_PXI_5122.vi ‏49 KB
    Pulse_Echo_Mode_PXI_5122.vi ‏49 KB

  • Use Daqmx Trigger to initialize software

    Hello,
    I am using an NI PCIe-6537B to run an SMB-2163 High-Speed DIO Accessory.  I have a high speed camera sending out triggers whenever a frame is captured.  Each time the trigger is received into PFI4, a digital output (DIO#) sends out a waveform. 
    I would like to know if it is possible to read that trigger so that I can use it to trigger other things in the software "simultaneously."
    I have attempted to simply read PFI4 as a digital input (Digital Bool 1 Line1 Point) while also using it as the external trigger.  It worked for a while but after I left the project it now seems to only randomly read when the trigger is sent.  Not knowing what changed since it last worked, am I doing this correctly or is there a better way to do this?  Perhaps using the Daqmx events.
    Any help is greatly appreciated!
    Thanks,
    Mike S.
    CLAD
     

    Hey Mike,
    A couple of things here.  Firstly, for the Change Detection timing type, you will not need to use the event structure in your program.  This is implemented in hardware, with samples being latched when the configured lines show the change.  Basically, every time the configured line changes, the DAQmx read will return the values of all lines configured for your channel.
    Also, you will not be able to use PFI4 as the source for change detection.  You will have to specify a data line (ports 0-3) for use with the change detection timing type.  Here's some documentation I could find about using this:
    http://www.ni.com/white-paper/4102/en/
    http://digital.ni.com/public.nsf/allkb/4B9452520950566A86256F31006C9AEF
     

  • Have LabView react to a scope trigger

    I have LavbView 6.1 connected to a TDS7104 scope via GPIB. What I'd like to do is have LV react directly to the scope's trigger. IE, the scope triggers, that causes a programatic change in my VI, which I then use elsewhere in my VI. I've got an indirect way to do this, but we're not fully satisfied with it. We'd strongly prefer a direct way to do this, if it's possible.
    If anyone knows the TDS7104 really well, is there a command I can send the scope to query its trigger status?
    I have what looks like a full set of drivers from Tektronix, but none look like they might do this.

    Hello;
    There isn't a formal way to use Occurrences to wait and interrupt the CPU upon a digital event. What you can do to workaround that is to use the attached VI; that is an Analog Trigger VI, and set the analog trigger level to be the TTL levels. So, when the digital trigger arrives, your analog circuitry will trigger of the Analog input readings.
    Hope this helps.
    Filipe A.
    Applications Engineer
    National Instruments
    Attachments:
    occurrence.zip ‏70 KB

Maybe you are looking for

  • I can log into iTunes and App Store but NOT iMessage. What gives?

    I'm currently using Wifi with my 3rd gen iPad. iOS 6.0.1. I'm not home so I don't have access to my iMac (actually currently at 30k ft somewhere over Virginia :) ). Anyway, I can log into iTunes, access the App Store, sign out of those, log back in.

  • Question on Pivot table

    I have a requirement as below, at the line I have to add a case statement to see if sum of [0]...[4] is zero then I've to display a value as NO else YES, this just a prototype, the actual query gives more records  USE AdventureWorks2008R2 ; GO SELECT

  • How do I delete a blog?

    I have deleted all its posts etc.

  • Initializing/configuring DAQ output port

    Attached I have a simple program that I am using to make sure I understand how to interact with the PCI-6025E (Device 1). It works just fine with the test panel, and it works fine after I do some configuration with the test panel. However if I get ou

  • AS2 - How can I make a movieclip rollover

    Hey sorry this has probably been asked but I'm new to AS2 and threads... I have just started learning coding and I am aware how to make a cursour rollover movieclip to change frame but is it possible to make it so when a movieclip touches another mov