How to use an analog trigger to determine single sample acquisition rate

Hi all,
I have the NI PXIe 6124 on a NI PXIe 1062 Q controller.
I would like to use an analog signal to determine a single sample acquisition rate.
For example: if I enter a sine wave with an unknown frequency, I would like to acquire a single (1) sample across my 4 channels each time the sine wave value is zero.
Is this possible with my devices? And if so how do I do it?
Thanks,
Oren.

Hello Orensag
The different types of triggers supported can be found in the PXIe - 6124 Manual on pages 135-138.  You should be able to set a very small window trigger with around 0 volts so that you trigger on both the rising and the falling edges of the sinewave as it crosses 0 volts.
Do you know the frequency of the input sinewave?  This information would be very beneficial to know to set the correct rate for the DAQmx task.
What you really are looking for is change detection, which is an option in DAQmx Timing VI, but is only supported by certain cards.  Again your sine wave would need to meet the same sample clock timing requirements in the 6124 Specifications.
Anthony F.
Product Marketing Engineer
National Instruments

Similar Messages

  • Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?

    I would like to start several PCI 4472 and a PCI-MIO-16E-1 simultaneously. All boards are connected via a RTSI cable.
    My program works fine if I use software trigger, or an analog trigger from a PCI4472 channel. However, the analog trigger works only when I set pre-trigger (or pre-scan) to 0.
    Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?
    Thanks.
    Ian Ren

    Hi, Bill
    I think it is possible to set more than 38 pre-trigger scans on a single 4472 card. I've done this before. You can verify this by running the Labview example "Acquire N - Multi-Analog Hardware Trig.vi" which comes with LabView.
    What I try to do but without success/luck so far is to start data acquisitions of several 4472 cards and a PCI-MIO-16E-1 card using an anlog trigger (with pre-trigger).
    Thanks for your help.
    Ian

  • Stop trigger, how to specify the analogy trigger channel?

    Dear All,
    In fact, I am using DAQ2204 cards from ADLINK, which is more or less equivalent to NI E-series muttifuntion board. However, I have some problems with regard to my data acquisition program. Basically, it is about a middle/stop trigger application, which means data acquisition will be starting once the specified analogy channel (for example, channel 0) exceeds a prescribed value.And, data both before and after trigger will be acquired. However, I do not quite understand how to physically make the I/O connection and specify the analog trigger channel and level.
    According to the board User's Guide, 'SRC1 can be used for all trigger modes while SRC2 can only be used for post and delay trigger modes'. I have come across similar description with NI examples before. It would therefore be very appreciated if anybody can help. Thanks in advance.

    Hi dragondriver,
    I'm providing below links to 2 documents that discuss wiring considerations that are applicable to your device.  Hopefully this information is helpful!
    E Series User Manual
    http://www.ni.com/pdf/manuals/370503k.pdf
    Field Wiring and Noise Considerations for Analog Signals
    http://www.ni.com/white-paper/3344/en#toc5
    Josh B
    Applications Engineer
    National Instruments

  • How to use 2 Time trigger UI elements

    Hi Experts,
      My user doesn't want to see the time out error in the webdynpro application after leaving(idle mode) the browser for hours. And one more thing is he wants a popup for every 15mnts to show a message on the screen.
    So, I have used 2 Time Trigger UI elements to achieve this functionality,
          1st one(Time Trigger UI Element) is used to show the pop up message and It is working fine to show the message in a Pop Up .
          2nd one is used to handle the Time Out Error for hours and this is not working as expected, if user leaves the browser for hours .
    I hope you understand my requirement and issue.
    Could you please suggest me how to achieve this functionality.
    1000 Thanks in advance.
    Regards,
    Giri

    Hi,
    If I set the 3 hours to 2nd Time Trigger UI element and tested after 2 hours and browser is still throwing the time out error message.
    After 2hrs is the time out error throwing by the Timed trigger or the standard session time out? I believe after 2 hrs the standard session time out is throwing! You need to give the delay time less than your session time out.
    You can get the session timeout using wdr_task=>server->session_timeout ( in mins ) And you can get the application server time out using
    data: name type pfeparname,
            value type pfepvalue.
      name = 'rdisp/plugin_auto_logout'.   " parameter
      call 'C_SAPGPARAM' id 'NAME'  field name
                                        id 'VALUE' field value.   " value contains time out 
    Regards,
    Kiran

  • With DAQmx, how to use AO start trigger for AO/AI synchronization with finite AI sampling

    I am a new user to DAQmx and I am trying to synchronize AI (finite samples) with AO in LabVIEW 7.1 using a PCI 6229 card. I want to generate a finite waveform (AO) and, subsequently, collect a finite number of voltage samples (AI). I would like to repeat the AO-AI cycles in a while loop.
    Alternatively, I could use an infinite AO generation and collect finite number of voltage samples on AI but always exactly at the same spot of the AO buffer.
    Using traditional DAQ and a 6024E card, I used a counter triggered by AO start trigger signal (example attached). I have problems with translating this example into DAQmx.
    Please help!
    Ruber
    Attachments:
    AIAODelay_traditional_Eseries.vi ‏155 KB

    Lesley,
    Thank you very much for your suggestion. Late last night I actually tried a to use AI start trigger instead of AO start trigger and it worked (since I tried the AI & AO to start simultaneously, it does not matter what triggers what), even in the loop. The devil is in details, as I had to carefully wire the number of data points and what to place inside/outside the loop.
    The problem with shared clock is that I need to sample the AI and AO at different rates but using AO and AI clock separately did not seem to affect the performance.
    I still want to try to use the AO start trigger (as you suggest) because I would like to delay the AI by a few ms from the AO. Is there a simple way to to that?
    I suppose, switching from traditional DAQ to DAQmx requires your brain to be rewired - after playing with it for a couple of days and nights I developed a "feeling" for it. One of the differences was that, in order to use this example in the loop, one has to use 'stop task' inside and 'clear task' outside the loop.
    Thanks again!
    Radek Uberna

  • How to use double click trigger in ListBoxItem template?

    Hi all,
    I want to double click listBoxItem in listbox, and set this item as editable status. It says make textbox as visible, please see the below code. When press Enter key or lost focus, then make textbox as invisible and textblock as visible. It's better to use
    trigger to switch the status, but I do not know how to do it, thanks!
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="ListBoxItem">
    <Grid>
    <TextBlock Text="{Binding FirstName}" />
    <TextBox Text="{Binding FirstName}"/>
    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>

    Did you consider using a DataGrid? This control has editing capabilities built-in:
    https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(v=vs.110).aspx
    Otherwise you could add a boolean property to the class with the FirstName property, toggle this one in an event handler for the MouseDoubleClick event of the ListBoxItem and then use data triggers. Here is an example for you that should give you the
    idea:
    <ListBox x:Name="lb1">
    <ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
    <EventSetter Event="MouseDoubleClick" Handler="OnMouseDoubleClick"/>
    </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
    <DataTemplate>
    <Grid>
    <TextBlock x:Name="tb" Text="{Binding FirstName}" Visibility="Visible"/>
    <TextBox x:Name="tx" Text="{Binding FirstName}" Visibility="Collapsed"
    LostKeyboardFocus="tx_LostFocus" PreviewKeyDown="tx_PreviewKeyDown"/>
    </Grid>
    <DataTemplate.Triggers>
    <DataTrigger Binding="{Binding IsInEditMode}" Value="True">
    <Setter TargetName="tb" Property="Visibility" Value="Collapsed"/>
    <Setter TargetName="tx" Property="Visibility" Value="Visible"/>
    </DataTrigger>
    </DataTemplate.Triggers>
    </DataTemplate>
    </ListBox.ItemTemplate>
    </ListBox>
    public MainWindow()
    InitializeComponent();
    List<YourItem> myDataType = new List<YourItem>()
    new YourItem{ FirstName = "Name..."}
    lb1.ItemsSource = myDataType;
    private void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
    ListBoxItem lbi = sender as ListBoxItem;
    YourItem item = lbi.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = !item.IsInEditMode;
    private void tx_LostFocus(object sender, RoutedEventArgs e)
    TextBox txt = sender as TextBox;
    YourItem item = txt.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = false;
    private void tx_PreviewKeyDown(object sender, KeyEventArgs e)
    if (e.Key == Key.Return)
    e.Handled = true;
    TextBox txt = sender as TextBox;
    YourItem item = txt.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = false;
    Make sure that your model class implements the INotifyPropertyChanged interface correctly:
    public class YourItem : INotifyPropertyChanged
    public string FirstName { get; set; }
    private bool _isInEditMode;
    public bool IsInEditMode
    get { return _isInEditMode; }
    set { _isInEditMode = value; NotifyPropertyChanged("IsInEditMode"); }
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(string propertyName)
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    Hope that helps.
    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don't post several questions in the same thread.

  • How to use an external trigger on an electrometer (KEITHLEY 6517A)

    I'm really new using LABVIEW, so please, be patient with me...
    I'm using a KEITHLEY electrometer to acquire data from a dosimeter. We are going to do some measurements on a pulsed source and before the pulse there's a trigger signal. I don't know the size of the trigger, I'll just know that when I start my measurements (in another lab) So I would like to implement a case were the user can decide the value of the external trigger, so this information goes to the eqipment before starting the measurement.
    What I would like to know is... Someone can give me a hint on how to do that? I'm using GPIB and LABVIEW 7.1.  and I already took all the 6517A libraries for labview.
    Thank you all

    The external trigger on a 6517 is a TTL signal. Any pulse higher than 3.4V will trigger it. You cannot program the threshold level.
    You can set the delay programmatically with TRIG: DEL <n> command.
    ref: page 2-81 and following of User Manual
    Message Edited by normandinf on 10-21-2008 03:55 PM

  • How to use API to trigger JAM group invitation in ABAP coding?

    Hi,
    We want to trigger a JAM group invitation URL to be sent out in ABAP coding to enable a auto. process at backend. Currently I only know the manual way: clicking invite button in jam group and input user name to find target user and then click send button to send out invitation email.
    But question is how to do in ABAP coding to call any API to realize the same action?
    Many thanks and Best regards,
    Long

    As an ABAP developer you can make use of the SAIL Library to integrate with SAP Jam. With SAIL integrating with SAP Jam is as easy as calling a ABAP OO method. SAIL takes care of the communication with SAP Jam and handles user authentication for you.
    The lower part of http://scn.sap.com/docs/DOC-55050 contains information for ABAP developers like the SAIL developer guide and the SAIL config guide.

  • How to do an analog trigger with bipolar levels of detection and start acquisition with pre-trig samples

    hello,
    I use PXI 4472 with accelerometers. I want to trig as soon as the acceleration is out of the window +/-50g and recover the previous samples before the trig. Is it possible to do it?
    I try the daq-mx functions trig on analog windows and a number of pretrig samples but without success. My first sample detected is always over 50g, it seems that the number of pretrig samples has not recognized. Anyone to help me?
    Thank you. 

    Hi Chouca,
    It should be possible to do what you are trying to do:
    type of trigger: analog window triggering (acquire data when the signal leaves the window)
    Action caused by trigger: reference trigger
    I will try and get a 4472 to check that by myself.
    Maybe it would be easier to check the behaviour of the system with a precise voltage generator instead of the accelerometers.
    Best regards,
    Thomas B. | CLAD
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Inscrivez-vous gratuitement aux Journées Techniques : de l'acquisition de données au contrôle/com...

  • How to use list_item to trigger LOV

    This is for an assignment building a hotel reservation system
    Basically I have a list_item, with a variety of elements. I want to be able to select the list_item, choose one of the elements and have it launch an LOV. The user chooses from the list_item (r_type) a value such as "Single with Double Bed". As soon as the user selects this I wanted an LOV to pop up with the available room numbers of that type.
    I am using a trigger of WHEN-LIST-CHANGED:
    GO_ITEM('CUSTOMER_BLOCK.R_TYPE_LIST');
    LIST_VALUES;
    When I try this, and run the form, and try changing the drop down list it gives me FRM-41026: Field does not understand operation.
    I've searched google all I can and can't seem to find instructions on linking a list_item to a LOV in this way.
    Help appreciated, thanks.

    Presumably you have an item for the room numbers ? You ought to attach the LOV to that item and the W-L-C should go_item to the room number before launching the LOV. The
    value of the list item can be referenced in the LOV where clause.

  • ADF UIX: How to use MessageCheckbox to trigger a component to be rendered?

    I have two UIX component:
    messageCheckBox model="${bindings.Servicelocal}"
    and messageStyledText id="mst_TextChange".
    I want messageStyledText to be showed if messageCheckBox was checked.
    I want to know how to set the “rendered” property of the MessageStyleText.
    The following is my uix xml code:
    <rowLayout>
    <contents>
    <cellFormat>
    <contents>
    <messageStyledText id="mst_TextChange" text="${bindings.Servicelocal}" rendered="${bindings.Servicelocal}"/>
    </contents>
    </cellFormat>
    <cellFormat>
    <contents>
    <messageCheckBox model="${bindings.Servicelocal}" >
    <end>
    <formValue model="${ctrl:createCheckBoxState(bindings.Servicelocal)}"/>
    </end>
    <primaryClientAction>
    <firePartialAction event="ShowHide_Text" unvalidated="true" targets="mst_TextChange"/>
    </primaryClientAction>
    </messageCheckBox>
    </contents>
    </cellFormat>
    </contents>
    </rowLayout>

    I think you're on the right track here.
    Assuming that the values for Servicelocal are 'Y' and null, what you could do is use EL to define the rendered component as follows:
    rendered="${!empty bindings.Servicelocal.inputValue}"
    or alternatively:
    rendered="${empty bindings.Servicelocal.inputValue ? false : true}"
    I'm writing this from home so can't check the above but you get the idea.
    Note the use of ".inputValue" to retrieve the actual value of Servicelocal.
    I note your use of the &lt;firePartialAction&gt; tag in the &lt;messageCheckBox&gt;. Please note I recently found a bug (I've raised this with Oracle Support) where the &lt;firePartialAction&gt; causes the running page to ignore any user input for some seconds (5 sec?) when fired from a &lt;messageCheckBox&gt;. Your mileage may vary.
    Hope this helps.
    CM.

  • How to use PXI Star Trigger for PXIe-5663 in PXIe-1075 chassis

    HI all,
    I have this sytem configuration:
    PXIe-8135 controller. Windows 7 64-bit, RFSA 2.7.5. NI-SYNC 3.4.1
    PXIe-1075 chassis
    PXIe-5663 (2x)
    PXIe-6672 Timing & Sync Card (slot #10)
    I want to trigger the recording of my Digitizer with an external trigger.
    The External Trigger is connected to PFI0 of the PXIe-6672 Timing card.
    Then, the PXIE-6672 card routes the trigger to the backplane of the PXIe-1072 (Destination "NISYNC_VAL_PXITRIG0")
    The PXIe-5663 are triggered with “NIRFSA_VAL_PXI_TRIG0_STR” as the source.
    The trigger fires my PXIe-5663 correctly, but the timing is not tight (> 5ns).
    I would like to use the PXI Star trigger instead, I think that I should be able to acheive much better synchronization with this.
    But NI-RFSA won't let me do this:
    When I try to call
    "niRFSA_ConfigureDigitalEdgeStartTrigger(rfsa_sess​ion, NIRFSA_VAL_PXI_STAR_STR , NIRFSA_VAL_RISING_EDGE)", I get the error:
    "Specified Route Cannot Be Satisfied, Because the Hardware Does Not Support It"
    I don't understand why the PXIe-5663E would not be able to use that Route.
    Any idea?
    Regards,
    Serge
    Serge Malo, ing.
    Concepteur logiciel
    Software Developer
    T (514) 842-7577 x648 | [email protected]

    That explanation isn't quite right. Usually, even PXIe modules have a connection to PXI_Star. The PXIe standard added the PXIe_DStar trigger buses, and it also preserved the PXI_Star bus from the PXI standard.
    However, there is an additional twist in this situation. I'm assuming that your PXIe-5663 includes a PXIe-5622 as the digitizer. It turns out that a synchronization technique called NI-TClk has eliminated the need for our more recent digitizers to rely on triggering from PXI_Star. I was able to find some documentation that includes this information, here and here. Given that, I think you have two options that should result in better synchronization.
    The first option is to use TClk; I found an example program that demonstrates using TClk to acheive phase coherent signal acquisition across two 5663s. The second option is to use cables of matched length to connect two PFI front panel terminals of the timing board (6672) to the PFI1 front panel terminals of the digitizers (5622). The timing board would accept the external trigger on PFI0 and then issue triggers on PFI1 and PFI2 with around 500 ps of skew (manual, page A-4) . The digitizers would use NIRFSA_VAL_PFI1_STR as the trigger. I hope one of these solutions will meet the demands of your particular application.
    I will also follow up with the owners of the RFSA product documentation to see if we can include a note about why PXI_Star is not supported in some cases.
    James Blair
    NI R&D

  • How to use an analog signal to conditiona​lly generate a TTL(or square function) signal?

    Hi everyone,
    I am using PCI-6229 and trying to develop a code that can generate a TTL/square function signal as soon as one analog input satisfies following conditions: 1. Crossing a certain value (say, 0 V); 2. Falling edge slope. The time delay between the crossing point and newly generated TTL/square signal will be critical in my measurement, and it should not exceed 1 millisecond. Any suggestion on it? Thank you in advance!
    Solved!
    Go to Solution.

    Are you actually using the Excel add-on called Measure? That is what this board is for. Otherwise, you should post to the Multifunction DAQ board and mention the language that you are using.

  • How to use workflows to trigger an event when an infotype is changed?

    Hi,
    I need an event to be triggered when a new record is created in infotype 672. This infotype doesn't have a module pool program. Can you please explain about the procedure to get this?
    Thanks....

    First you need to have appropriate entry in SWEHR1. This links the infotype to the business object type.
    You now make further configuration in SWEHR3 to assign what happens when some change is made to the infotype. This can raise an event directly or call a function module that performs some other logic and then raises the event if appropriate.
    You can link a custom business object type to an infotype in SWEHR1. So, if your infotype doesn't have a corresponding business object type, or for some reason you need a custom one, then first create your business object type in the BOR (SWO1).
    Hope that helps!
    Margaret

  • How to use two ALV grids in a single program (pl read below for details)?

    Please read thoroughly::
    I have an ALV report using REUSE_ALV_GRID_DISPLAY.
    On the output of this report, when I click on a "change" button, a couple of columns should be made editable.
    I achieved this by modifying the fieldcatalog and triggering the output with another REUSE_ALV_GRID_DISPLAY.
    When I click on the back button of this second report, it is still taking me to the first one.
    How to over come this?
    Note:
    I used custom containers etc but the default buttons on the container are not controllable. I added custom buttons but could not suppress the default ones. So I did not pursue this much even though this is more comfortable to use.
    I am not able to get into the code in debug to see how the default buttons like COPY, INSERT ROW etc are working.
    Can any body throw some inputs into this?
    Thanks,
    Ven.

    >I achieved this by modifying the fieldcatalog and triggering the >output with another REUSE_ALV_GRID_DISPLAY.
    >When I click on the back button of this second report, it is still >taking me to the first one.
    >How to over come this?
    For this there is a solution
    i am thinking you are using user_command and calling the second time ALV Grid if so check this.
    form user_command using r_ucomm type sy-ucomm selfield type slis_selfield.
    case r_ucomm.
    when 'CHANGE'.
    selfield-exit = 'X'.   "use this , this will solve the problem
    "i hope you are calling the Function here
    endform.

Maybe you are looking for

  • InfoPath 2010 form parsing error with 3600 execution timeout value in SharePoint 2010

    Hi, I have a list in SharePoint 2010 with 100 columns where 25 of them are calculated columns. This list is designed by InfoPath 2010 with two secondary data connections to pull a few data from another two lists. There are 25 set value rules with the

  • Icc profiles for printing?

    Convert from Windows! Have a Epson Stylus 2200 photo printer. Need to load icc profiles from Ilford.com for the Galeria printing papers. Need some guidance in loading these icc profiles. Thanks!

  • Using mulitple data models in a report

    Is it possible to use more than one data model in a report? For example, we have many reports that are based on several data models. There are also various sub-templates that could be associated with a report, independent of the report's main data mo

  • How to call a ABAP proxy class from a BADI? Please help!

    hi Experts,     I have a scenario where I have to call a ABAP proxy class from a BADI. How can I do this? Does anybody has sample code for the same? Please help. Thanks Gopal

  • How to permanently allow apps to connect to intern...

    Hi, With certain (web?)-apps I always have to allow (or not allow) them to connect to the Internet or to read my phone data.That's irritating. Is there a global, or per app, setting to store this approval ??