PCI-4452 triggering

This is 'Urgent'...
How can I read only one scan right after triggering with PCI-4452?
I have a rotary encoder which generate 625 square waves (TTL) per one revolution,
whose speed is around 7kHz.
This is going through the EXTTRIG line on PCI-4452 DIO channel.
All I want is to scan one Analog signal datum whenever these TTL rising edges
occure, so I'll have 625 data per revolution.
Even though it's pretty easy concept, I can't still make it in Labview with
PCI4452, which has been already done in C language with the pretty decent
DAQ hardware.
First of all, I wonder if this is possible for PCI-4452.
And I wonder if anybody know what kind of loop and algorithm should be used.
I hope if I could get some example programs. This is pretty
general concept
for the vibration test to syncronize the rotary system.
I really need your help.
I really appreciate your kind consideration.
Choi
[email protected]

I have tried to use a standard board to read from an encoder before. Good
luck. I had to finally get a quadrature input board, and write my own .dll
file to use. That was before NI made a motion control board.
I used a Kiethly Metrabyte M5312 board, and was able to read and write
on a register level. It kept count (Up and Down), I did the math to derive
depth of Coiled tubing.
Hope this helps,
S. Choi wrote in message news:[email protected]..
>
> This is 'Urgent'...
>
> How can I read only one scan right after triggering with PCI-4452?
>
> I have a rotary encoder which generate 625 square waves (TTL) per one
revolution,
> whose speed is around 7kHz.
> This is going through the EXTTRIG line on PCI-4452 DIO channel.
> All I want is to sc
an one Analog signal datum whenever these TTL rising
edges
> occure, so I'll have 625 data per revolution.
> Even though it's pretty easy concept, I can't still make it in Labview
with
> PCI4452, which has been already done in C language with the pretty decent
> DAQ hardware.
> First of all, I wonder if this is possible for PCI-4452.
> And I wonder if anybody know what kind of loop and algorithm should be
used.
> I hope if I could get some example programs. This is pretty general
concept
> for the vibration test to syncronize the rotary system.
> I really need your help.
> I really appreciate your kind consideration.
>
> Choi
> [email protected]
>
>
>

Similar Messages

  • I have PCI-4452-this card does not work with XP. Are there fixs available?

    I have the PCI-4452, i fould that when i installed XP on my system, the card does not work. Does this card have any drivers for ir to work on XP. Or do i have to stay on NT.

    Hello,
    This card is actually supported under XP for use with drivers since 6.9.2 and above (only traditional driver).
    Kind Regards
    Steven Bird
    Applications Engineer
    National Instruments

  • Wrong info about PCI-4452 on Catalog 2005?

    Hi. I found that on page 254 of Catalog 2005 there's a table where it says that NI PCI-4452 has IEPE conditioning. Is that true?
    Regards,
    Daniel Ramírez
    MSc - Mechanical Engineer
    Universidad de Concepción

    The PCI-4451 and 4452 do not have IEPE conditioning built-in to the board itself, but the BNC-2140 does. If you need IEPE conditioning, this is the terminal block that you should choose with the PCI-4451/2.
    Sorry for the confusion.
    -Jack

  • To access Kistler Dynamomete​r Amplifier (4 component) do I need to use PCI 4452 and PCI 1200 ( I have both of them) with DAQ/LAbvie​w.

    If yes How to relate them together both in VI and by Hardware.
    Thanks,
    Niraj

    "Thanks for your attention,
    I have Dynamometer with four analog outputs to respective amplifier's,all of which I have to connect to NI's BNC 2140, which will be connected to PCI 4452, now I even have PCi 1200 which is also a DAQ card I suppose. I want to know whether I need to connect both of these together in anyway, and ultimatly will they appear on single VI together or seperatly. Like I have developed single VI for both, but Is it possible to Develop VI with access to both.
    Also is it necesary to use both, I want to know whether my application will be handled by PCI 4452 alone,
    I suppose I am clear this time about my application and things available with me.
    please let me know if not,
    Thanking you,
    Niraj"

  • DAQ PCI-4452 and TestPoint ?

    Is it possible to use a DAQ PCI-4452 with TestPoint?
    I allways get the ni error message 10080.

    Currently the PCI-4452 is only supported under the following programming environments.
    LabVIEW
    LabWindows/CVI
    Visual Basic
    Visual C/C++
    One option you may want to consider if you need to run your application in TestPoint is to create a dll from within one of the above mentioned programs and call the dll from TestPoint.
    Brian

  • PCI-6602 Triggered event counting DAQmx

    Hi
    I'd like to use simple event counting using PCI-6602 (DAQmx) with an internally generated trigger pulse.
    But I don't know how to figure out the error message when I use DAQmx Start Trigger.vi
    Thanks
    Kyu Young
    Attachments:
    EventCountingTrig.vi ‏21 KB

    I'm sorry. I've solved it.

  • Wrong status returned by DAQ_Op() -- channel number is not validated

    DAQ_VScale(..) returns status=0 even if chan>4 for PCI-4452
    see also SRQ-199628 & SRQ-185050

    BTW, as you may have noticed, the file that I attached to your "How to find out that the card in a given NIDAQ slot is a DSA card" question includes the number of channels available. Customer proofing is such fun!

  • PFI0 Trigger : howto plot PFI0 and record dateTime of Rising Edge ?

    Hi,
    I'm acquiring an analog signal on my PCI 6250, triggered on PFI0. For this test, I use DAQ Assistant
    I use VS2010, MS2013, DAQmx 14.0 .
    I acquire at 1MHz, 5,000,000 of samples (5 seconds)
    I would like to plot on a Digital Graph my PFI0 signal, which shows on horizontal axis Date Time. I would like also to know if it possible to record the DateTime of each Rising edge detected (Rising edge period on PFI0 may be faster than 5s) in parallel of my Analog Acquisition or at least the DateTime of the rising edge which has triggered the Analog acquisition.
    Kind Regards,

    Hello Charly,
    Yes you could start 2 differents tasks, one analog aquisition to plot your signal and at the same time one numeric like a counter to mesure your rising edges.
    Hope this will help you,
    Kind regards,
    Maxime G. | Application Engineer
    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;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014

  • Temperatures from a Thermocouple

    Hello All,
    I have the PCI-4452 DAQ board. I would like to know if I could use this DAQ to read the temperatures from a Thermocouple. I have the amplifiers and also signal conditioning boards. I am working on LabVIEW-7.0.
    Thanks
    Nishant

    Hello Nishant. 
    You can use the PCI-4452 to read temperatures from a thermocouple.  I would recommend measuring the input differentially.  The other advantage that the 4452 gives you are the software configurable input ranges.  Since you are measuring a thermocouple, as long as the temperature doesn't get too hot, you could use the .316 V range.  If you are measuring hotter temperatures, then you could use the 1 V range.  This will allow you to apply the 16 bits of resolution that the card provides across a smaller range and effectively increase your resolution even more. 
    In terms of getting started with a program to take these measurements, I would recommend finding a simple analog input example program in our NI Example Finder.  NI Example Finder provides numerous VI's that are pre-built for basic applications.  There are many VI's which use the DAQ drivers to acquire a voltage on a channel, which could be used for your application.
    Brian F
    Applications Engineer
    National Instruments 

  • Distortion at Output

    I used one of the examples in Labview and also used one of the vi generation. I'm getting distortion for sawtooth and square wave outputs, when I increase my frequecy to more than 1000Hz.
    Attachments:
    Function_Generator.vi ‏129 KB
    Function_Generatorand_diff_waves.vi ‏307 KB

    Ahmed,
    We talked a couple of days ago over the phone. In our conversation we discussed your application and the signals that you want to generate with your PCI 4452 DSA board.
    You are trying to generate several sharp edge signals, like square waves, triangle waves, sawtooth waves, etc. We tried to generate square waves of different frequencies and what you were seeing was the following:
    - When generating a 5 kHz square wave, it looked very good in your oscilloscope.
    - When generating a 8 kHz square wave, you began to see a resemblance to a sine wave.
    - Finally, when generating square waves with a frequency higher than 13 kHz, your signal would look exactly as a sine wave.
    So why does this happen?
    First it is necessary to understand a little more about the hardware architecture of your DSA board. The PCI 4451 board uses Delta-Sigma technology for analog output (Digital-to-Analog Converter - DAC)as well as analog input (Analog-to-Digital Converter - ADC). The Delta-Sigma converters provide excellent linearity and automatic filtering of frequencies above the Nyquist limit. The Delta-Sigma DAC oversamples and interpolates between points in the data array to "smooth" the signal and remove any components above the Nyquist frequency.
    Your DSA board has a Delta-Sigma DAC with an update rate equal to 51.2 kSamples/s. This means that the Nyquist frequency of your signal is aproximately 25kHz, so the maximum frequency of sine waves that you could generate is aproximately 25kHz.
    So far we know that the maximum frequency of a sine wave that can be generated with the PCI-4451 is aproximately 25kHz, and that the Delta-Sigma DAC will interpolate between points to "smooth" the signal being generated and remove any frequnecy components above the Nyqsuit frequency. But why can I generate a 25kHz sine wave, but not a 25kHz square wave?
    All complex periodic waveforms are composed of a harmonic series of waveforms. This means that square waves, triangle waves, sawtooth waves, etc are the result of addition of a fundamental sine wave and its harmonics.
    A square wave is built by adding a fundamental sine wave and its odd harmonics. Each new wave flattens the top of the original sine wave by pushing up valleys and pulling down peaks , causing steeper sides. The more harmonics added, the better the square wave being generated (see image attached below).
    So the more harmonics included withint he 25kHz frequency limit, the better quality of the square wave.
    If you generate a 1 kHz square wave, you will see in your oscilloscope a pretty good quality square wave signal because odd harmonics up to 13 harmonics are included within the 25kHz range.
    If you generate a 5 kHz suqare wave, 2 harmonics are included within the 25kHz range. For 8 kHz only 1 harmonic is included in this range, and that is why you begin to see a resemblance with a sine wave. Finally, for frequencies above 13 kHz, only the fundamental frequency is present after the Delta-Sigma DAC removes all frequencies above the Nyquist frequency, and that is why you see a sine wave as the output.
    Hope this helps. Please feel free to contact me if you need any further assistance.
    Claudia Lorente
    Applications Engineer
    National Instruments
    http://www.ni.com/ask
    Attachments:
    Square_Wave_Generation.bmp ‏799 KB

  • Analog Triggering and Interrupt generation on the PCIe-6320 under Linux

    We would like to use the analog triggering functions of the PCIe-6320 under Linux to time tag external events.
    I have no experience with the MH DDK but have been told this is what we would need to implement the functions we want. We plan on using Fedora Linux and we are targetting kernel 2.6.31 with the PREEMPT_RT patch applied. We may consider slightly more recent kernel versions. The PREEMPT_RT patch is used to greatly improve determinism in the system and get real-time responses to some external events.
    Here is what we wish to do in more details:
    We wish to route at least two analog inputs to the comparator, then route the output of the comparator to a digital input which in turn would create a PCIe interrupt. The interrupt software handler would than time tag that event for our application purposes. We need the comparator threshold to be software programmable in level and slope. We are also interested in using the Watchdog Timer feature of the board.
    Our application is written in C/C++.
    Would the above be feasible? Please provide comments and instructions how we should address our requirement.
    Thanks!

    Patof wrote:
    I am not familiar with the MHDDK. I would like to have an idea of the effort required to implement the functions I have described using MHDDK on Linux. Like I mentionned, we plan on using Linux kernel 2.6.31 with the PREEMPT_RT patch. Could you provide comments on that matter? I need to evaluate the amount of time I will need to spend to deploy and use MHDDK for the PCIe-6320.
    There are two factors to consider when writing a driver for your specific application:
    Using the deterministic kernel API calls
    Writing to the device registers to
    Control the watchdog timer
    Configure the analog comparator
    Manage the analog subsystem state as trigger events occur
    Handle device interrupts
    The MHDDK for X Series offers the following behavior out-of-the-tarball:
    A Linux kernel module using the standanrd kernel and PCI subsystem calls
    Mapping device registers to user-mode for access
    Demonstrating/documenting how to
    Control the watchdog timer (dioex6.cpp)
    Manage the analog subsystem state as trigger events occur (aiex2.cpp, aiex4.cpp)
    Handle device interrupts (reference manual only)
    There are two notably missing pieces and one item to consider:
    Missing: deterministic kernel API calls. If you decide to use the nirlpk module, you would need to change it from the standard interfaces to the deterministic variants.
    Missing: configuring the analog comparator. You will need to implement this with additional insight from this discussion board.
    Consider: if your application requires device access from kernel-mode only, you would not be able to use the MHDDK's C++ classes that perform device programming but would need to implement register programming in C.
    To estimate the time for these three, here are my recommendations:
    Review the nirlpk.c source file to understand how device access and DMA buffers are implemented and mapped to the user-mode application.
    Beware that operation-specific programming help (as you would need for analog triggering) typically requires two weeks for a complete response.
    Review the ChipObjects in the MHDDK distribution to understand how register addresses, widths, and bit fields affect device programming.
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

  • Sound triggering on PCI-6023E

    I am using a PCI-6023E card. I wish to use a sound signal to trigger the data acquisition. Since it has only external digital triggering, my best guess is to run a sub-VI that reads the microphone channel and then sends a digital output to the external trigger channel. Any better suggestions? Any comments on the brain-drain effects of this on my buffered data (while waiting for the trigger event)?
    thanks

    Hello,
    Depending on the level of the sound signal that you will be receiving, doing an analog input and then in software determining if the level if your signal is high enough would be your best option if the sound signal you are receiving is not a TTL signal. But, as far as then generating a digital output that then triggers the analog input externally doesn't seem to be needed. If you are producing a software signal to trigger something anyway, you may as well just start the analog acquisition in software once your subvi has determined it is time instead of generating a digital output that then hardware triggers the acquisition.
    Regards,
    Steven B.
    National Instruments

  • NI-scope PCI-5105 with 2 triggers

    Hello,
    I have a similar problem like in the post of NI-scope PCI-5124 with 2 triggers. http://forums.ni.com/t5/High-Speed-Digitizers/NI-scope-PCI-5124-with-2-triggers/m-p/1132555/highligh...
    I tried to use this code with my PCI-5105 NI-scope card, but I wasn't able to get it to run using an analog trigger to start the recording.
    What do I have to pay attention to make my input signals acceptable as start trigger source?
    Thank you,
    Philipp

    Hi Philip,
    You cannot use an analog trigger as a start trigger.  If you look at the NI High-Speed Digitizers Help file you can see what types are supported for kind of trigger.  You can get to this help file in LabVIEW or by navigating to the Windows Start Menu and selecting All Programs >> National Instruments >> NI-SCOPE >> Documentation >> NI High Speed Digitizers Help file.  To get to the page talking about supported trigger types within the help file expand Fundamentals and then select Triggering.  Hopefully this helps!
    Josh B
    Applications Engineer
    National Instruments

  • NI-scope PCI-5124 with 2 triggers

    HI,
    I would like to ask about the start and reference trigger with PCI-5124.
    I found an sample VI on the following link, however it doesn't work as I expected.
    http://zone.ni.com/devzone/cda/epd/p/id/2998
    The VI "start_and_reference_trigger.vi" can detect both start and reference trigger in my system and they start data acquisition.
    It starts data acquisition when both start and reference triggers are input.
    However what I would like to do is:
     1. Sampling rate at 200MHz with record length 1500 with one channel.
     2. Receive the start trigger (i.e. 50Hz)
     3. Receive the reference trigger (i.e. 50kHz)
     4. For every reference trigger, I would like to acquire the data, i.e. acquiring 1500 data for each 100 reference trigger (not with the combination with the start trigger)
    Start trigger: _|^|_________________________________________
    Ref   trigger:______|__|__|__|__|__|__|__|__|__|__|__|__|__|__|____
                                     ^    ^    ^    ^   ^   ^   ^   ^    ^    ^   ^    ^    ^   ^  
                                     trigger timings that I would like to acquire
    Trigger channels that I'm using are:
     Start trigger:  PFI 0
     Ref trigger:    PFI 1
    With the sample VI "start_and...", I found that it acquires when both start and reference trigger comes and the data acquisition is only after the one reference trigger. 
    I hope my explanation is understandable and I can have a solution soon.
    Solved!
    Go to Solution.

    Hi Tom,
    This example configures a start and reference trigger, but only for a single record. It is inside a loop so it will continue to require a start and reference trigger for every record. Based on your description of the problem, you would like to perform a standard multi-record acquisition of 100 records, but you would like to implement a start trigger at the beginning of the acquisition. To do this, you can simply open the shipping example "niScope EX  Multi Record.vi" which can be found in the LabVIEW Example Finder or by navigating from your Windows Start menu to Programs » National Instruments » NI-SCOPE » Example. You will need to add the property node to set your Start Trigger source to be PFI 0, but other than that, it should work fine. I went ahead and created a simplified version with the Start Trigger implemented, attached below. Hope this helps!
    Daniel S.
    National Instruments
    Attachments:
    niScope EX Multi Record with Start.vi ‏33 KB

  • Can I use the 2 digital triggers on the PCI-6023E to trigger 2 seperate Analog inputs on the same board?

    I want to monitor 2 analog DC signals (single point measurements, not a waveform) and I want to use the digital triggers to start the acquisition, 1 trigger for 1 AI. the measurements need to be made at 1Hz, maybe slower. Is this possible with the PCI-6023E?
    If not what hardware should I be looking at? I have a total of 6 triggers and 6 AI.

    Dimentia,
    I would need confirmation on what you want to do:
    1) I want to monitor 2 analog DC signals
    This means that you will have one Analog Input operation monitoring two channels. Please confirm.
    2) single point measurements, not a waveform
    Ok, no buffers.
    3) I want to use the digital triggers to start the acquisition, 1 trigger for 1 AI
    This would mean that a single digital pulse or edge on a single line would start your 2-channel analog input operation. Please confirm.
    4) the measurements need to be made at 1Hz, maybe slower.
    Hardware-timed or software-timed? 1 Hz could be easily implemented with software timing. But the triggering could force you to use hardware timing. It will not be a problem but it would be good to know.
    5) Is
    this possible with the PCI-6023E?
    Everything I mention above is possible with the PCI-6023E.
    6) I have a total of 6 triggers and 6 AI.
    This last phrase is what really confuses me and seems to contradict the previous sentences. Does this mean that you will want to perform 6 independent Analog Input operations, with its own triggers (one each)? Will every Analog Input operation have 2 channels?
    I'll clarify why this is important:
    - Each Analog Input operation can only have one hardware digital start trigger assigned to it.
    - Only one Analog Input operation (multiple channels allowed) can be performed per board at any time.
    Since the rates are so slow I would recommend that you perform sample all channels within a continuous acquisition and then discard the data that does not meet a certain condition. You could sample the triggers as well and discard those channels for which the trigger has not been received.
    These are just some ideas based on my assumptions on the
    problem. Assumptions are never a good thing so please confirm on the point s above and we'll try to help.
    Thanks
    Alejandro Asenjo
    Applications Engineering
    National Instruments

Maybe you are looking for