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

Similar Messages

  • 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

  • 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

  • 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

  • Dynamic Biphasic Output to 8 Analog Channels

    Hi everyone,
      First off, I'musing a PXI-7854R within an NI PXI-1402 chassis.  I'm just using the RMIO plugged into a SCB-68 to utilize the analog channels. 
      As for my VI, I'm trying to output a biphasic square wave to 8 analog channels simultaneously, but allow for variable high/interphase/low times and initial delays from a trigger.  I can output all the waves simultaneously and sequentially, but when it comes to fully independent output I'm running into some issues.  If I use the paradigm I've attached to this post, usually only the AO0 will output whille AO1-7 will fall silent.  I have a feeling this is probably due to timing issues/delays in the AO0 sequence, but I'm still getting upto speed with FPGA timing. 
      My method is rather simple and bruteforce.  If you have any suggestions for another way to go about this, I'd appreciate this.  We want pretty much all of the timing to take place on the hardward, which is why these delays are in the FPGA program. 
    Any help would be appreciated.  Thanks much.
    Attachments:
    biphasic.JPG ‏259 KB

    Disregard the timing question, I've figured that out.  If anyone has a suggestion for a more efficient way to generate this type of biphasic wave on the 8 channels, I'd still be open to getting that feedback!

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

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

  • How can I detect an error on a single FP analog channel?

    Hello! I am new to the world of LabVIEW, maybe someone can help me. I need to detect if ONE of the analog channels in FP-AI-100 is in error state, such as reading out of range. I have no access to working FP modules and have no way of testing my code. Could someone tell me if what I am trying to do is possible? I modified an example Analog Input.vi and wondering if it will work. I changed the input to Read block to read only one channel, not the whole module and examining the error status bit. Will this status bit display error only for selected channel or for the whole module? I need to ignore all other channels.
    Thanks! Ellen.
    Attachments:
    Analog_Input_Error_Test.zip ‏12 KB

    Hi Ellen,
    I do not have LV 7.1 loaded so I can not look at your VI. Please post an image if you want me to look.
    In theory, checking the boolean should work in finding error cluster that have the boolean set.
    THe complication is this.
    I have seen that some of the error codes returned by FP reads will either have or not have their booleans set depending on which version of the FP code you are using.
    I saw in LV 6.1 that an "open RTD" (if memory serves me correctly) would return a true boolean if LV 6.1 was the latest version of LV loaded. After another engineer used LV 6.1 after he had loaded LV 7.0 the error boolean was no longer set!
    THe definition of boolean set or not set from one version to the next!
    So...
    I must advise that you test each
    type of error you want to support in your code with whatever version of code you plan to use to ensure the boolean will be set.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Best structure to measure voltage across 8 resistors in parallel via 8 separate analog channels

    Im setting up a simple circuit w/ 8 resistors in parallel. It will be connected to a PCI 6036E DAQ. I need to measure the voltage across each resistor, take x amount of samples, and then automatically move on to the next resistor and so on and also save the values to a file.  Im going to connect each resistor to a separate analog channel.  I have already setup a vi to read the voltage across one resistor and take X amount of samples, display the waveform, and also save the data to a file.  
    What would the best structure be to run this test?  I am thinking a Sequence structure, but it seems like people tend to avoid using that. Or would a case/while loop be better?
    From my understanding, the data will not pass out of a sequence structure until it is finished. this doesnt seem to be that big of a problem for me, as I only want the data at the end....
    thanks for the help!

    Use a for loop.  Put your code inside the loop, but delete the analog channel number.  Make an array constant and poplulate the array with each analog channel number.  If you wire the array to the loop (left side), you will see the terminal is a hollow box.  This means indexing.  The loop will operate on the first array element, then repeat with the second array element, and so on until all array elements have been processed.  Wire the hollow box to the point in your code where the analog channel number was deleted.  Now the loop will execute the same code using a different channel each time.  If you wire the output to the right edge of the for loop, you will again see the hollow box.  All of your measurements will be contained in an array at that hollow box.  Process the outputs as you like, maybe display the entire array, or index the array to get the individual elements, whatever.  The advantage of the for loop is that you have to write your code only once.  Everything is seen on one screen making it easier to read.  Sequence structures are not good programming practice because a lot of the code is hidden, and you have to go to different sequence frames to see the hidden code.  Also, why duplicate the code in each frame when the loop will do it all.  Good luck.
    - tbob
    Inventor of the WORM Global

  • Re: DAQ write+read analog channels

    Thank you Dan,
    The device used is NI_USB 6211 and the tests will be done by another person.
    So from your email I understood that is not recommended to use Hardware Timed Single Point.
     And just for my information: in your example what happened if I will try to read two adiacent analog channels (that means analog->multiple channels->single measurement)? It is possible? I'm asking because then we have a multiple point...right?
    Do you think this USB device will work at 5 KHz rate?
    Anyway it seems it must be used sometime even at 10 KHz.
    So I still waiting for a guaranted solution!

    unintentional dup post.  see here for discussion
    Jeff

  • Crosstalk among Analog channels

    The setup is this :
    1. Card is PCMCIA 6024E.
    2. Software is LV 7.1 and all reads are with DAQMx functions.
    3. 6 analog channels configured in differential mode ( AIN_0 to AIN_5)
    4. Connected to the card via BNC2110 connector.
    If I connect only one channel to a signal, it is reflected in all the other 5 channels at different levels.
    I do know that I can solve this problem by two means :
    A. Ground the unused channels to AIGND.
    B. Use alternate channels with one grounded channel in between two active channels.
    In my case since I need all 6 channels at times, so option B does'nt exist.
    Question is, can something be done in the software without resorting to option A.
    I have attached the snap shot of my problem. The straightline plot is the channel that has a signal on it and the other "followers" are free channels. At 15:49:43 I made the active channel zero and you can see all of them dropping to zero. Then I started another channel and all of them pick up !
    Kindly help solve this.
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.
    Attachments:
    FuelPump_06-04-05 _PM 03-50-08.jpg ‏86 KB

    SE_Hoard wrote:
    I would be interested in any solutions to your problem also. ... When I input a signal on CH0 it also appears on the other 7 channels. ....
    I was searching the tutorials and application notes on the NI site. Located this PDF which discusses the aspect of amplifier settling times in a multiplexed front end of a multi channel DAQ setup. Just read through the recommendations and see if they can help to reduce crosstalk in your case :
    http://zone.ni.com/devzone%5Cconceptd.nsf/webmain/B9B5D37A04C772B58625686500695C20/$File/AN045.pdf
    Raghunathan
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.

  • DAQ write+read analog channels

    Hi,
    I need some urgent help to solve a simple problem:
    My job is to write an analog channel to a DAQ device and then to read two analog channels from the same device.
    These should be done at the 5 KHz rate.
    For smaller rates I can do it using normal loops (or timed loops). But I don't know how to do it using DAQ features.
    Please give me an example.
    I have found something but I am not sure if it can be used in this way (see the attachment)
    Thank you!
    Solved!
    Go to Solution.
    Attachments:
    DAQ Test write analog+read analog.vi ‏49 KB

    Mcdan wrote:
    Quick correction to my last post... I did not notice that your original VI called DAQmx Start.  In this case I think it is preferred to call start before your loop rather than calling commit, since start will put the tasks in running state outside of the while loop.  In Jeff's proposed change, the tasks would need to transition from committed to running and then back to committed each iteration of the loop.  As originally written, the tasks will be in the running state before the while loop and remain there until they are cleared.
    Dan
    Dan- You missed the Autostart(T)-  and, ALL tasks go from committed to run and back to committed,( unless abnormally terminated by a explicit abort while running starting from a state other than committed,) the commit state is the least overhead for any task that is not continuous or regenerating.  The original post started the task from Verify state- and required DAQmx to reserve and commit the DAQ resources for each read or write and then (since it Started from verify) implictilly uncommit and un reserve the resouce after "running" in each loop iteration.  Sean N "Popped-the-hood" and gave difinitive advice on the DAQmx task state handeler in this post (warning ----wrap head with duct tape before reading) 
    Sorry to derail the thread but, accuracy counts too.  I can't let a user stay stuck behind an "8-ball" with misconceptions (nice avatar by the way)
    Jeff

  • Noise problem on analog channels

    I have 18 analog channels connected in differential mode to a 6225 DAQmx card. I am trying to measure 14 pressures and 4 temperatures. I have connected the transducers directly to the AI connectors on my SCB68:s. I have also connected the shields from all transducers to the shields crew on the SCB68 to aviod noise.
    My problem is that I still get noise on my analog channels. I have configured the channels using MAX in differential mode. I have read the post "Field wiring an dnoise considerations for analog signals" for a better understanding of analog data aquistion using NI-DAQmx, still I am stuck with my noise.
    Can anyone help me? I have ran out of ideas.
    I get the best result using an capacitor between the positive and negative terminals on the daq board.
    PLEASE HELP!
    /Anders

    Hi Anders,
    Quite unlikely that card is inducing some internal noise.
    By selecting the range btw 0 to 1 V, you are only changing the ADC gain settings.
    What i suggest is that, you give a standard input of fixed voltage ,say like a dry cell or a function generator to the Analog input and check if you are still getting the kind of noise you are getting with your sensor attatched.
    Check this for both the ranges you talk about with suitable inputs.
    Now, if you do not get noise, then connect sensor in a suitable single ended mode and see if this gives you a better reading.
    If you are still getting noise, then i would suspect for improper chassis grounding
    do tell if this solves your problem
    Regards
    Dev

  • Data aquisition from spectrophotometer in two analog channels, X-Y plot

    Dear colleagues!
    I am new to LabView and I am only starting to learn the system (I have never been a programmer, I'm a chemist to be precise).
    I have before me a task to interface an old analog scanning spectrophotometer to PC via LabView.
    It has two output analog channels: one is wavelength (two ranges, currenlty let it be 190 to 390 nm; it reads on multimeter as 0.19-0.39 V range) and another one is absorbance (0-1V range). An UV spectrum sholud be an X-Y graph wherein X is wavelength and Y is absorbance.
    I am able to read one channel OR another. I am able to read BOTH channels simultaneously, but how can I plot them AGAINST each other, not against TIME?
    I am using DAQPad-1200 (LPT interface) and LabView 6.1 (that's why I am unable to read most of the VI's posted on the forum ).
    Is such an interfacing even possible given my software and hardware limitations???
    Thank you all in advance!

    Thanks a lot, johnsold!
    I am now able to get something which looks like an UV spectrum! %)
    1. I will post an image (later); however, my primary objective is to get two columns of numbers, not necessary to see an X-Y graph onscreen.
    2. Without inserting arrays like I did LV always tells about error connecting this data line from two channels to save "2-D data to file" option telling me that input is 1D!
    3. I have a manual for the device, it has all of the schematics. I am no electrician though. I will post scanned circuit diagrams then when I manage to scan them.
    Now I see two more opportunities to control the device.
    A. There is a circuit (+12V DC) on the rear of one of the modlues, which, if shorted for at least 500 milliseconds (according to Tracor manual) can initialize automatic scan. How can this be done using Labview and DAQ device? My first guess is to use an analog output and some kind of a relay, either electromagentic or semiconductor one. Is there any other possibility?
    B. In my code I am always asked to write to a file after I initialize the sequence. Can this be done AFTER the sequence is finished?
    C. Finally, is it possible to automatically stop the While loop when the number generated by shift register becomes equal to 190?
    Here are attached a new code and a sample of data.
    Attachments:
    Tracor970A-v1.0.vi ‏53 KB
    UV-test-01.txt ‏15 KB

Maybe you are looking for

  • How can I set up multiple email accounts on my nok...

    Just got the E71x, it's awesome. I set up my Hotmail account on my Mail for Exchange or whatever that app is called. Can I set up my Gmail account as well? That's the more important account of the two. How do I set this up? -Tom  Solved! Go to Soluti

  • Can multi users use a single itunes library to update ipods?

    I have multiple users set up on my Powerbook G4 for myself and my 2 kids. They just got 4G Nanos for christmas, so I want to share my itunes music with them. Can someone please explain how I do this, so that they can log in to their own accounts on t

  • How to get the Replacement Program iphone 5 in Peru

    Hi, I'm from Peru, I got an iphone 5 and the wake button isn't working, I put the seriel number and it´s eligible for the program, well my question is how can I get my iphone fix in Peru, we dont have a Apple Repair Center here, I hope you can help m

  • ITunes Music Very Quiet

    I've seen random questions concerning this for years but have yet to see any answers, reasons or solutions. If I play a song on my laptop using quicktime or even "Quick Look" it is much louder than when played through iTunes. I've got the volume all

  • Integration with devices like weighing machine

    My requirement is to access weighing machine from Java application and get the data.Can anybody help me??? It is urgent.