Digiatal pre-trigger over RISI w/NI PCI-6123 DAQmx

I have an application which I need to aquire pretriggerded data using a PCI-6123 via RTSI bus from a channel on PCI-6052. Am aquireing a total of 7 channels, 6 on the PCI 6123 and 1 on the PCI 6052.  I am using DAQmx. Has anyone successfully achived this?

Hi John,
First you will need to connect your cards with a RTSI cable and then create that cable in MAX.
Sounds like all you need to do is a multi device synchronization. You can find examples for doing that by going to
Help > Find Examples > Hardware Input and Output > DAQmx > Synchronization > Multi Device
Once you see how to synchronize multiple devices you can either share the sample clock, or share the trigger.
In your case I think you will want to share the trigger over the RTSI line.  For the 6052 it sounds like you want to do an analog start trigger.  For the 6123 though you said that you want pre-trigger samples.  That means you will have to set up a Reference Trigger for the 6123, and then have it trigger off of the ai/StartTrigger signal from your 6052. 
You can find all of the examples with triggering in a similar path as before:
Help > Find Examples > Hardware Input and Output > DAQmx > Analog Measurements
Sharing the signals is a breeze and most everything is done automatically by the DAQmx drivers. 
For more details on synchronization check out this Tutorial:
Advanced Data Acquisition Series - Synchronization with NI LabVIEW and NI-DAQmx
Otis
Training and Certification
Product Support Engineer
National Instruments

Similar Messages

  • Pre-trigge​r data from four AI using Daqmx

    Hello everyone,
    I have an PCI-6251 card  connecting BNC-2120 recently. I am using Labview 8.2. I have used design a programme by using Reference analog edge trigger function, the trigger source is the the same as the input channel in a single channel. the reason I choose reference analog edge trigger function is I only need to acquire a pulse produced average one second (random). the reference analog edge trigger function can allow me to acquire the trigger level, pretrigger number and sample number, I can record the pulse.
    However, I need four analog input channels doing the same function, the pulse from sensor is generated randomly. I also need to count how many pulse generated through each channel during the experiment. is there any good way to do this kind work. Any advice would be greatly appreciated.  Thank you in advance for any responses. 
    Lyn

    Lyn
    Although you may be able to use the BNC 2121, I do not reccomend it. The device is a counter specific accessory and does not include any Analog IO. You may be able to work around this but would probably run into similar problems as with the 2120. you could perhaps use the 2111 which includes 8 Analog IO and an APFIO channel too. However, the device does not include as many other features as the 2120 such as thermocouple inputs, digital IO and quadrature encoders. Therefore if you were contemplating an exchange, in the long run it might not be the best idea. The 2111 is also a single ended reference device unlike the 2120 which can accept floating signals. I have included a schematic of the 2111 in this email and the following link will give you all the information on the BNC accessories your Mseries DAQ card can use.
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/201​731
    With respect to whether you might still be able to use the 2120, I believe the answer may be yes. I have been working all morning on developing some code which might be able to achiveve this and it turns out the answer may be quite simple. After experimenting with a lot of code I found the easiest method would be to use some of the express VI's located in the LabVIEW function pallette. I have attached a simple VI which takes the input of 2 channels and outputs the signal from a reference point on one of the signals. Have a play and see if you can adapt it for your needs, I hope this will provide a simple and effective solution.
    Best wishes, I really hope this helps.
    Rob
    Rob L
    NI Applications Engineer
    UK & Ireland
    It only takes a click to rate this message ;-)
    Attachments:
    Sampling.vi ‏135 KB
    2111 specs.pdf ‏165 KB

  • 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

  • Acquiring pre-trigger samples

    Hi,
    I am using a PCI-6602 board to record the times of incoming pulses. I'd like to add a trigger line so that my program will keep the data of 20us worth of pulses before and after the trigger. I've tried using an armstart trigger, but I've only managed to configure it to start recording pulses after that trigger, and so I don't get the pre-trigger pulses. I've also tried to set up a stop trigger instead: I would read pulse times and discard data older than 20us, and when the trigger comes in I'd let the program run for 20 more microseconds. The problem with that is that, being new to LabView, I haven't figured out how exactly to make this kind of buffer which will discard older data. I looked at a feedback node, configured to only return samples after a number of iterations of my data acquisition loops, but of course that only returns the oldest data. I also feel like using this stop-trigger method seems a bit roundabout. I create a new task for the trigger channel, and I'm worried this may slow down my program because I need to run it continuously (I want data surrounding multiple triggers), and it seems wasteful to recreate the task every time. Any suggestions? Is there a more straightforward way that I have not yet thought of?
    Thanks for your help! 
    Kamna 
    Solved!
    Go to Solution.

    Hi Kamna and Jeff,
    DAQmx filters out properties that aren't supported by any of the installed devices. You can change this by right-clicking the property node and choosing Select Filter... then selecting Show All Attributes. The filtering setting gets saved to disk so it's still set the next time you launch LabVIEW. However, this won't solve the original problem, because the NI 6602 doesn't support reference triggers.
    By the way, Jeff, using Ref.PretrigSamples also requires setting Ref.TrigType and the corresponding source properties (Ref.DigEdge.Src, etc.). If you set Ref.PretrigSamples in isolation, it will either get ignored (on devices that support reference triggers) or generate an error (on devices that don't). If trigger attributes didn't get ignored when the trigger type is None, then disabling the trigger (by setting Ref.TrigType=None) would require resetting the other trigger properties (via Change To >> Default Value), which would be pretty annoying.
    Kamna, as for your question about "commit": a DAQmx task doesn't program the hardware until the task is committed. Starting the task implicitly commits the task, so you don't normally have to worry about it. There is a more detailed explanation in the NI-DAQmx Help file--search for "Task State Model".
    Brad
    Brad Keryan
    NI R&D

  • Pre-trigger scans?

    I have attached the VI i'm using to try to collect data for an Impact hammer and its corresponding accelerometers. It collects fine, but I am missing the beginning part of the impuse. I tried setting the pre-trigger scans to numerous numbers but it never gives me any more. This may be due to the way I'm storing data, but this is an old program and the creater is no longer around and I'm not really sure what's going on. I attached the file below, any help would be MUCH appreciated. I'm using a 6110 PCI card also.
    Attachments:
    impactnew2.vi ‏127 KB

    Hi Tim,
    I understand that the code was developed by someone else so it will be more difficult for you to troubleshoot it. I would like you to try running a couple of examples to see if you can acquire all of the necessary data. Since you are using an S series board, you now have the option of using DAQmx as long as you have LabVIEW 7.x or later. Here is a link with some of the Advantages of DAQmx:  Here is the link to a DAQmx Example that you might find helpful: NI-DAQmx: Acquire N Scans Using an Analog Reference Trigger.
    If you still must use Traditional DAQ, please try this example: Acquire Analog Input Data Using a Hardware Analog Trigger.
    I hope that you find this information helpful.
    Regards,
    Hal L.

  • Pre trigger for USB-4432

    Hello, my name is Dimas aryo, student of Institut Technology of Bandung..I'm still doing my final project.. my hardware is USB-4432..I have succeeded to build Triggering program, and can start taking data at certain level ( 0.2 Volt )..but i'm still confuse how to see the data at certain seconds before start  taking data ( Pre-trigger ). I'm using DAQmx for the driver..and LabVIEW8.5..
    Your help will be aprreciated.. better that you can attached it..
    Thank you very much guys... GBU All...

    Hello Dimas-
         I think what you are trying to do is use a reference trigger.  From LabVIEW, select Help»Find Examples.  Once that opens, take a look at Hardware Input and Output»DAQmx»Analog Measurements»Voltage»Acq&Graph Voltage-Int Clk- Dig Ref.vi.  The digital reference trigger will wait until the number of pre-trigger samples has been gathered before it registers a trigger on the specified line.  At that point, it works like a circular buffer, continuously throwing away the oldest sample as the newest sample arrives.
         I hope this helps.  Best of luck with your application!
    Gary P.
    Applications Engineer
    National Instruments
    Visit ni.com/gettingstarted for step-by-step help in setting up your system.

  • How can I acquire and record pre trigger samples

    Hi I would like to acquire and record pre trigger samples. I have used many different methods including: 
    http://digital.ni.com/public.nsf/allkb/9DE9E3E4DAD​9EE93862579C60018B6EA
    the problem is I would like to acquire pre trigger samples before start trigger not reference trigger. I think reference trigger is used for stop triggering not start triggering. Could you please help me on this
    Thanks? 

    Hi tintin_99,
    I hope you are well and thank you for posting your issues to the forum. 
    I wanted to ask you some further information in regards to your application:
    - What version of LabVIEW do you have?
    - What operating system (OS) are you running on your PC/laptop?
    - Which application programming interface (API) are you using? NI-DAQmx, NI-Scope?
    When you mention you want to acquire the pre-trigger samples before the start trigger and not the reference trigger, how are you currently doing this? Would you be able to post up your code so that everyone can have a look at it?
    Here are some further links to look at:
    - Continous Analog Input Acquisition with Pre-trigger Scans using 2 E-series Boards
    - How Can I Acquire Pretrigger Samples with NI-SCOPE?
    - Software Analog Trigger with Pre-Trigger Samples
    - Synchronized Analog Input/Ouput with an Analog Trigger and Pre-Triggered Samples
    I hope this is alright for now.
    Kind Regards,
    Dom C

  • Qnx 6.5 and PCI - 6123

    I'm looking to use a PCI-6123 in QNX 6.5
    The faq lists QNX support for 6.2 with a "native driver" and lists the 6133 as supported.
    Can someone explain what "native driver" implies?
    Does anyone know what woudl be involved in using QNX 6.5?
    Does anyone know why the 6133 is listed as supported but the 6123  is not?
    Thanks,
    Amaury

    Hello,
    I'll try to answer some of your questions.
    The driver development kit is split into two parts: the operating system interface and the hardware interface. The operating system interface is used to allow the hardware interface to run on any operating system that is supported by the operating system interface.
    Native driver means that the operating system interface for QNX makes calls directly to the QNX operating system. The alternative to this is a VISA driver, which means that the operating system interface makes calls into NI-VISA.
    When we say that QNX 6.2 is supported, we mean that it has been tested. QNX 6.5 has not been tested by us, so I am unable to comment on how much effort it would be.
    The 6123 is not supported with the DDK because the hardware is substantially different and requires different initialization compared with the 6133/6143.
    Thanks,
    Steven T.

  • Displaying and saving multichannel waveforms using PCI-6221 DAQmx card

    I am trying to obtain voltage readings at 8000 kHz from 9 channels using a PCI-6221 DAQmx card. The waveforms are to be displayed on individual charts while being saved. I have run into problems when I have 4 channels reading in at the same time. The charts stop displaying the data. Since the program will be running within another program where video acquisition is being done, space/buffer size is a very large consideration. If anyone can offer any suggestions about being able to display and save this data without losing seconds of information, the help would be appreciated.
    Thanks,
    Nina

    Hello Nins,
    The first thing to notice is that you are going far beyond the specifications of the 6221 if in fact you are sampling at 8000 kHz. Something I can tell you is that when you are performing fast acquisitions and processing the data at the same time, it is sometimes advised to have an acquisition loop (procucer loop) and a processing loop (consumer loop) and transfer data between the two. That way, you can put a wait in the consumer loop and use a waveform graph to plot the data rather than using a Chart wich requires memory.
    Hope this helps some...

  • Insert, update and delete trigger over multiple Database Links

    Hello guys,
    first of all I'll explain my environment.
    I've got a Master DB and n Slave Databases. Insert, update and delete is only possible on the master DB (in my opinion this was the best way to avoid Data-inconsistencies due to locking problems) and should be passed to slave databases with a trigger. All Slave Databases are attached with DBLinks. And, additional to this things, I'd like to create a job that merges the Master DB into all Slave DB's every x minutes to restore consistency if any Error (eg Network crash) occurs.
    What I want to do now, is to iterate over all DB-Links in my trigger, and issue the insert/update/delete for all attached databases.
    This is possible with the command "execute immediate", but requires me to create textual strings with textually coded field values for the above mentioned commands.
    What I would like to know now, is, if there are any better ways to provide these functions. Important to me is, that all DB-Links are read dynamically from a table and that I don't have to do unnecessary string generations, and maybe affect the performance.
    I'm thankful for every Idea.
    Thank you in advance,
    best regards
    Christoph

    Well, I've been using mysql for a long time, yes, but I thought that this approach would be the best for my requirements.
    Materialized View's don't work for me, because I need real-time updates of the Slaves.
    So, sorry for asking that general, but what would be the best technology for the following problem:
    I've got n globally spread Systems. Each of it can update records in the Database. The easies way would be to provide one central DB, but that doesn't work for me, because when the WAN Connection fails, the System isn't available any longer. So I need to provide core information locally at every System (connected via LAN).
    Very important to me is, that Data remain consistent. That means, that it must not be that 2 systems update the same record on 2 different databases at the same time.
    I hope you understand what I'd need.
    Thank you very much for all your replies.
    best regards
    Christoph
    PS: I forgot to mention that the Databases won't be very large, just about 20k records, and about 10 queriees per second during peak times and there's just the need to sync 1 Table.
    Edited by: 907142 on 10.01.2012 23:14

  • How to trigger 5v -ve polarity from pci 6251 to sincronise the image capture

    Hello!
    I want to synchronise the image capture of an IEE 1394 firewire camera with an 50hz input signal (acquired from Vsync of VGA port ). I want to accomplish this using PCI 6251 (SCB 68 E series) device. The IEE 1394 camera can be triggered using a 5V –ve polarity signal but have no idea how it is achieved, some examples about the application would be helpful
    shri

    This example illustrates how an application might be constructed in order to trigger an analog acquisition as well as an external system concurrently with an E-Series board. The analog component has been made retriggerable by tying a counter pulse train to its sample clock. Due to the complexities of the DAQ STC, an analog output line is employed in order to generate a hardware-timed, regular, pulse used to trigger both the analog acquisition, and potentially an external system. This type of architecture could be used for "stimulous - response" testing.
    Attachments:
    Timing_with_AO.vi ‏123 KB

  • How to set a pre-trigger when triggering off a physical channel

    I am trying to set a pretrigger when triggering off a physical channel when the voltage is above a threashold. Basically I would like to capture the pretrigger and posttrigger from a channel. I am using Visual C++.NET with Measurement Studio 7.1 with DAQmx 7.4 driver. I used to program this application with Visual C++ 6.0 with traditional NI DAQ with software analog (stop condition). How do I program in the DAQmx ?
    Thanks,
    Yajai

    In NI-DAQmx, the triggering technique you are referring to is called 'Reference Triggering'. In the attached zip folder is an ANSI C example in NI-DAQmx that demonstrates analog input with a digital reference trigger, acquiring pre and post trigger data. You will have to change the reference trigger function to use an analog edge as opposed to a digital edge (use DAQmxCfgAnlgEdgeRefTrig function). Also in the attached zip file is the NI-DAQmx C Reference Help. You can find all the DAQmx functions and properties there. Hope this helps.
    -Alan A.
    Attachments:
    DAQmx_ref_trig_and_HelpFile.zip ‏53 KB

  • Pre-trigger filtering on analog channel

    Is there a way to add a low-pass filter ahead of the trigger logic when trying to do an analog trigger? I am using DAQ assistant to configure and acquire an analog voltage measurement to capture a motor start-up after a switch closure and it seems to be triggering erratically after the switch is closed. I suspect it is triggering on noise because if I test my vi with a function generator as the voltage source it works fine. I am using a PCI-6250 and LabView 7.0.
    Thanks,

    Hi,
    As far as I know, the trigger circuit of the DAQ boards works on the signal itself, so you cannot do modifications on the signal by software.
    Maybe if you do that treatment by electronic means before feeding it to the DAQ board you can solve the problem.
    Regards,
    Paulo

  • Can I write custom databse Trigger over a apps table.

    Hi All,
    Kindly explain if I can write custom database triggers over any apps defined table (for example per_jobs). Also let me know if any recommendations or best coding standards.
    Thanks & Regards
    Purushotham.M

    Hi Purushotham,
    Oracle says "We strongly advise against the use of database triggers." - Oracle Applications Developer’s Guide 11i.
    Also, setting :new values of columns (apart from maybe Descriptive Flexfield Columns) is going to be "behind Oracle Applications back" meaning you'll potentially be breaking the business rules built into Apps.
    However, that doesn't mean you can't use them - just be it on your head!
    I'm not aware of any table you can't use them on, but have seen cautions about putting them on a couple of FND tables, unfortunately I can't find a reference to that, but one to watch out for was fnd_concurrent_requests.
    If you are able to, use Personalization or Extension to achieve your requirements. If that isn't possible, then the usual coding standards apply with respect to naming standards, etc (see the developers guides).
    If your logic is not critical to the business process (or concurrency can be handled by mechanisms other than row locking), e.g. you just want to kick off some other process based on a trigger point, consider using an autonomous transaction in your trigger logic.
    Gareth

  • What is the Pre Trigger for combo item same like Pre-Text-Item.

    Hi Everyone,
    Can anyone help what is the same trigger like Pre-Text-Trigger for combo items.
    Thanks in advance.

    Thanks for your reply Mr. Ammad,
    --vDatabaseValue:=GET_ITEM_PROPERTY('item_name',DATABASE_VALUE);
    This will fetch the value from the database. But what I need is to store the value of the item itself.
    For example:-
    I created one combo box called Item_Code and one text item called Quantity in my form.
    I am choosing the item code from the combo box lets say 'ABC123' then my cursor moved to Quantity.
    Now I am again coming back to the Item_Code to change the value which already I choosed 'ABC123', here I need to store that value 'ABC123' into an global variable before to change.
    Hope you understand.
    Thanks.

Maybe you are looking for

  • Receiving null and [Receiving text] SMS

    Hi, Strange things on some SMS: I receive one correctly but a the end there is the text "[Receiving text]" Then I receive a second SMS only containing null Why is that ? Thanks.

  • 10.7 to 11i

    Hi, We are upgrading to 11i soon and Ive been told that we are covered by our current license agreement etc but was wondering if anyone has experienced any license pitfalls in the process of upgrading?

  • Drop Down menus not working in newest Internet Explorer.

    Drop Down menus not working in newest Internet Explorer. Ant suggestions??

  • My "Adobe installer" is not running  and "adobe application manager" will not update....

    My question? When did making art get so technical? Also, have the software engineers at Adobe finally  begun to shed the Cheetos from their beards and then crown themselves as artists extraordinaire? Well good for them! Bad for me! No offense, but I'

  • Teaming in CUCM

    Hi we have Call manager cluster with 2 NIC in each server. we want to do teaming of both the NIC interfaces in each server for redundancy purpose.. Can someone guide me how to do that. as per my understanding is the below command is enough to do the