Frequency measuremen​t with External Trigger

Hello:
I

Hello Brooks:
Thank you for attention !
I will try to explain my application:
I need to measure a signal of a speed/position sensor. This sensor works with hall effect principle and is placed in front of a wheel with some teethes. Is used for automotive purpose in CAM and CRANKSHAFT applications. So, I need to measure period, duty cycle, rise time, fall time, Vpp, Angles for each teeth x encoder, everything from 40 to 7500 rpm.
I'm using CH0 to measure a signal of this speed/position sensor.
I'm using CH1 to measure a signal of an encoder connected to wheel.
I'm using EXT Trigger to sync acquisition with encoder's INDEX signal.
I need to measure the frequency of EXT trigger to know the instantly speed of the wheel.
So, If I know that my encoder has 2048 pulse/rev, I can measure FFT_FREQUENCY of CH1 with scalar measurement functions and calculate the speed !
The NI-Scope is wonderful because it can measure a lot of things automatic and fast, like period, frequency, duty cycle, rise/fall times ...
Now I have one more question:
I want to use 10:1 attenuation but I can't use a common probe. I want to connect the CH0 to sensor with a special connector.
I've tried to make the same circuit with 9MOhms and capacitor like explained on site, but I reached bad results. The industrial probes has special characteristics for capacitance and noise rejection.
Do you know how can I solve it ?
Thank you.

Similar Messages

  • [Question] PCI-6220: digital level at the pause of a continuous impuls train with external trigger

    Hallo,
    I'm trying to use a PCI-6220 card to generate a continuous impuls train which will be paused at an external trigger. I've used the example code in the example library to generate the impuls train. The idle state of the impuls train is set to be high. But I figure that die digital level at the pause is sometimes high and sometimes low. I suppose that the level stays at the exact time when the pause begins?
    Is my assumption correct? Is there any way to let the impuls always pause at the idle state, like it will then be paused after a full impuls is finished? Any tips or links will help. Thanks in advance.
    Wei

    Yes your assumption is right. The output is latched to the last set value.
    If you are generating the pulse through the counter,  setting the Idle state in Create Virtual Channel.vi   doesnt help?

  • Frequency measuremen​t with PCI6624, timout problem at startup, i.e measure 0 Hz.

    I want to use my PCI 6624 for measuring of frequency signals from a gear flow meter. The problem is that when I start running the VI there is no pulses from the flow meter and the VI stops to run and I get a Timeout error message. I.e is it possible to measure 0 Hz with the 6624 input used for frequency measurement?
    With hardware from IOtech and Daisylab I don`t have this kind of problem.
                                        /Thanks in advance

    Having similar problem,
    Did you manage to resolve the issue?
    I have attached the the solution given by NI for error code 200474, if its any use. The problem I have just found with this Vi is that if one channel has no signal it forces the other channel to grind to a halt. This problem has existed for me on the cards being used in this project PXI-6289 and PXI-6236, also other DAQ cards used in a different project earlier in the year.
    It seems to be a serious flaw in the application of the NI DAQ cards to general purpose data logging where counter signals might not be connected by the end user or they are very low frequency and the whole system hangs.
    Labview Version 8.5
    Labview Version 8.6
    Labview Version 2013
    Attachments:
    FLOWMETER_21.vi ‏37 KB

  • Frequency measuremen​t with High Speed Digitizer using External Trigger

    Hello:
    I have a

    Hello Brooks:
    Thank you for attention !
    I will try to explain my application:
    I need to measure a signal of a speed/position sensor. This sensor works with hall effect principle and is placed in front of a wheel with some teethes. Is used for automotive purpose in CAM and CRANKSHAFT applications. So, I need to measure period, duty cycle, rise time, fall time, Vpp, Angles for each teeth x encoder, everything from 40 to 7500 rpm.
    I'm using CH0 to measure a signal of this speed/position sensor.
    I'm using CH1 to measure a signal of an encoder connected to wheel.
    I'm using EXT Trigger to sync acquisition with encoder's INDEX signal.
    I need to measure the frequency of EXT trigger to know the instantly speed of the wheel.
    So, If I know that my encoder has 2048 pulse/rev, I can measure FFT_FREQUENCY of CH1 with scalar measurement functions and calculate the speed !
    The NI-Scope is wonderful because it can measure a lot of things automatic and fast, like period, frequency, duty cycle, rise/fall times ...
    Now I have one more question:
    I want to use 10:1 attenuation but I can't use a common probe. I want to connect the CH0 to sensor with a special connector.
    I've tried to make the same circuit with 9MOhms and capacitor like explained on site, but I reached bad results. The industrial probes has special characteristics for capacitance and noise rejection.
    Do you know how can I solve it ?
    Thank you.

  • Frequency measuremen​t with pci6229

    Hello
    I’m trying to measure a frequency with my PCI 6229 device. This frequency can be between 1 and 200 Hz, so I use the one counter method. The problem with the signal is that there is a lot of jitter on it. So my device measures the frequency of the jitter and not the frequency of the square wave. What can I do to measure the signal right?
    Another problem is the signal connection. I have connected the signal to the gate of the counter and the GND of my signal to the source. Is this the right way?
    Thanks in advance!!
    Attachments:
    signal.JPG ‏31 KB

    Hello Markske,
    You will need to add a low pass filter on the signal that you are trying to measure to make sure that there is no high frequency noise that can get by.
    Concerning the connection of your signal, it is only necessary to connect the signal you're interested in to the gate of the counter. The source would only be necessary in case you want to do the measurement with an external clock signal. If you choose to take an internal clock, the source can stay unconnected.
    Using counters to measure frequency however is only possible with TTL-compatible signals (see link below). The screenshot that you added does not show a TTL-compatible signal so I presume this is due to some type of scaling that you added?
    http://digital.ni.com/public.nsf/websearch/ACB4BD7​550C4374C86256BFB0067A4BD?OpenDocument
    Regards,
    WouterVH
    National Instruments

  • Triggering frequency measuremen​t with 9402 and cDAQ

    Hi all,
    I'm trying to take a speed measurement off of a shaft using a hall effect sensor and a 9402 module in a 4 module cDAQ 9174 chassis. I've used the low frequency measurement example using DAQmx but if the shaft isn't spinning I get a timeout error.
    Two questions, is there a way to use the Express VI's to accomplish this and how do I create a trigger to start the measurement?
    -Ian

    Why not clear the timeout and report 0 RPM.  The timeout is 0 rmp but you dont want to wait forever and block program flow.
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • ACE GigE - external trigger - example needed

    Hello,
    I have a CVS-1457RT with a Basler ACE GigE cam - I am having issues when I try to use a hardware trigger for the camera (thru the I/O connection on the camera)
    I've been trying for a few days now, so I decided it was time to ask here
    - have anyone used a similar setup, meaning the camera with external trigger? (controller is not the issues) and would it be possible to share the acquisition VI's?
    best regards,
    Henrik

    Hi Ehlert,
    Sorry you are having problems getting this to work!
    There are a few things to keep in mind when configuring the triggers....
    You will need to enable the trigger on the Ace camera to trigger the specific event (Frame Start) that you want to occur on the specific trigger signal. You might want to consult the Ace user manual for the specifics of doing this, as they have quite a number of options for how the trigger can be configured. Are you using the 1457RT to send the signal to the camera? If so you will then need to configure the 1457RT to send an appropriate trigger. We have some Vision RIO examples that show how to do this. Keep in mind that you also may be experiencing a hardware setup issue. If you are using the isolated outputs on the CVS you will need to provide external power for the outputs to work. It is probably helpful to examine your physical trigger line with a scope and verify thaty the trigger signal is going when you expect, allowing you to isolate which end is not configured appropriately.
    In general, assuming your trigger signal to the camera is working, setting the camera up for triggering is pretty simple:
    -Set Trigger Selector to "Frame Start" (to set context for the other trigger features)
    -Set Trigger Source to "Line1" (only option on Ace GigE)
    -Set Trigger Mode to "On"
    -Set other related features (rising/falling edge, delay, ...)
    Eric

  • How to externally trigger the execution of TestStand with a start and abort button through a digital interface?

    Hello,
    I'm Currently evaluating TestStand as an alternative for an in-house developed Test Sequencer.
    To start our own Test Sequencer we use a small box, connected to a DIO board. The box has a start button and an abort button. The box also has a pass, a fail and a running led.
    The interface with this box is made via some digital lines of a PCI-DIO-96.
    In our own Test Sequencer we have groups named Init, Run, Abort, Exit.
    The Init group is executed at startup (only once). It is used to initialize all the HW and SW. -> I guess this is the Pre UUT Loop callback in TestStand.
    The Exit group is only executed once at the end of the day when the application is terminated. It is used to free all the used hardware and cleanup all the resources. This probably is the Post UUT Loop Callback in TS.
    When a product needs to be tested, the operator presses the "start" button which triggers our own Test Sequencer and the run and abort group are being executed (first the run group, afterwards the abort group).
    When the product is being tested the "running led" of the little box lights up to indicate to the operator that the application is running. (only when the run and abort group are running)
    The Run group has all the functional tests in it. (MainSequence)
    The abort group is used to put everything back in it's original state after the test on this single product is done. (Post UUT)
    When executing the tests and something goes wrong (operator gets stuck in a clamper, ...) the operator can still press the abort button and then the execution immediately jumps from the currently executing step in the run group to the first step of the abort group. So, when something goes wrong, immediately the abort group is called.
    At the end of the run and abort group, if no errors occured, the "pass led" lights up. If one or more steps went wrong the "fail" led lights up.
    This setup can also be used to test multiple product in parallel. At that time all the different parallel testers have such a small box which contains a "start" and "abort" button and a pass, fail and running led. (it is possible that they are all connected to the same PCI-DIO-96 board. )
    My question:
    Is it possible to do something similar like this in Teststand? If yes, is there an example available that shows me how to do this in TestStand? (externally trigger the execution of TestStand)
    Typically, in the Init group (Pre UUT Loop) the digital interface box gets initialised.
    In the Close group (Post UUT Loop) the digital interface box is taken out of scope.
    Note: The PCI-DIO-96 board to which the digital interface box is connected will also be used in the rest of the developed application (MainSequence, ...)
    What's really important for me is that I can create a process model that all the application developers in our organisation can use. I really don't want any of the application developers (limited software experience) to mess around in all the features of TestStand.
    For them it's important that they just add the function DigitalInterfaceBoxInit () in the Pre UUT Loop Callback and the DigitalInterfaceBoxClose () in the Post UUT Loop Callback, and then everything works!
    It is important that the appliation developers do not have to create any global variables, other functions, synchronisations, parallel sequences, ... in TestStand. All this needs to be done with a simple call to the DigitalInterfaceBoxInit function.
    Thanks in advance for all the help!
    Best Regards,
    Dennis Vanotterdijk
    [email protected]

    Dennis-
    Your application sounds very well suited to TestStand's abilities. I am also quite impressed with your knowledge of how TestStand's architecture is arranged when you are still just considering whether or not to use it.
    I think that TestStand would work really well for you in this application. Like you mentioned it will provide you with a form of standardization for your application developers to work from. It also provides the flexibility for you to add your custom routines in many different places. TestStand also makes parallel and batch testing much easier in TS 2.0 so that you could develop one test for your product and execute different instances of it in parallel to test multiple products at once.
    As for your specific question about how to c
    ontrol TestStand using a DIO board. I think this is very feasible and should not be too difficult. Since TestStand provides you the ability to create a custom operator interface your operator interface could monitor the status of your DIO board and launch/abort executions based on the read values. Usually the executions are launched/aborted when a button on the GUI is pressed however, I do not see any thing different about basing the action on a DI signal vs a mouse click. I am sure your application is more involved than this high level description but from the sounds of it I think it is very possible to do with TestStand.
    Based on my experience of building test systems with TestStand and your description of the application, I would feel very confident in using TestStand to achieve all the goals you mentioned. If you have further detailed questions on how one of your features might be implemented, feel free to contact one of our Application Engineers or email us at www.ni.com/ask
    and we would be glad to help you.
    Best regards,
    Richard McDonell
    National Instruments

  • Data-acquisition with NI 6036E DAQ card & GPIB using an external trigger

    Hi all,
    I hope somebody could give me some help with the following and answer some questions:
    Simple system description:
    Labview 6.1
    PCI-GPIB card
    6036E DAQ card
    In my system, I am using an external analog trigger signal (A) for continuous data-acquisition. Characteristics of the analog trigger signal (A) are: ~40 Hz, signal height +1.48V, triggered by rising edge (the analog trigger signal (A) could be changed to a TTL signal). Each data-acquisition is done within ~1.0 ms after the rising edge of the trigger pulse. The timing of the data-acquisition and analyzing procedure is controlled by execution in a sequence structure placed in a loop.
    Now, I connected a power meter to the system, to measure the laser power during the data-acquisition. The power meter has two options to provide the laser power data:
    a) via analog signal output (voltage corresponds to laser power in watts)
    b) via GPIB (direct output reading of laser power in watts).
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    b) If I use the GPIB connection of the power meter. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    An other possibility would be to trigger the power meter directly, so it outputs constantly power meter values at ~40 Hz. How could I than acquire 1 power meter value (at a certain time im my sequence structure) via analog input at DAQ card or GPIB?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    It would be very nice if somebody could give me some help.
    Kind regards,
    beam

    Hi beam,
    I just want to verify that I understand your situation correctly:
    An external trigger signal (A) is wired to one of your input channels (e.g. CH0) to trigger data acquisition of a second channel (e.g. CH1). Your power meter is connected to an analog input channel, which you would like to trigger with a certain rising edge at some of your sequence structure.
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    If a task has been configured to acquire signal from one analog channel, it's not possible to run a second analog input task or to add a second channel on the fly. You had mentioned that it's possible to read from the instrument through GPIB. Is it possible to perform a software trigger such that at a certain frame of your structure, when the trigger signal A reaches voltage "x", a GPIB command is written to your power meter to query a measurement reading?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    You do not need to explicitly configure the PFI0 line as an input. If you want to use it as an input such that it acts as an analog trigger, simply wire the trigger signal to this pin. When configuring the trigger in your software, specify PFI0 as the trigger source.
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    You can try using the Limit VI to find out when the trigger signal reaches a certain level, and count how many times this level is reached. Similarly, you can use this as the condition to execute GPIB commands.
    Hope this helps,
    Lesley

  • Externally trigger hr2000+ spectrometer with dg535 delay generator

    Hello all,
    I have three Ocean Optics HR2000+ spectrometers, an Ultra 100 laser, and a Stanford Research Systems DG535 delay generator. I'm using the delay generator to trigger the laser, shortly followed by the 3 spectrometers (all 3 simultaneously).
    I've managed to get this procedure working in SpectraSuite and tried to replicate it in LabView using the HR2000+ LabView drivers. The spectrometers have individually worked in normal and external trigger mode in LabView, but as soon as I try to fire and sync all 3 spectrometers using the delay generator, LabView staggers their waveform acquisitions to happen one at a time. This defeats the purpose of the delay generator.
    I tried using a flat sequence structure to make sure the integration times and triggering modes have executed before the waveform acquisitions begin with no success.
    The attachment shows my code before I had a flat sequence frame between the trigger and waveform acquisition functions.
    The delay generator has been controlled both manually and through LabView as well. I'm using a Win 7 machine.
    Thank you for any help!
    Sincerely,
    Mike
    Attachments:
    specs.png ‏71 KB

    Hi Daniel,
    Attached is the driver I used.
    My code looks more like the Acquire Multiple Waveform VI under the Example folder.
    Are you suggesting I do something similar to the Acquire Continuous Waveform VI?
    Everything works up until the simultaneous part, and it also works one spectrometer at a time.
    Thanks!
    --Mike
    Attachments:
    ocean_optics_2000_4000.zip ‏574 KB

  • How do I auire data at every third pulse of an external trigger?

    I need to aquire 2048 data points where each one is triggered by the third pulse of an external trigger (TTL). Currently I can aquire 2048 data points where each is triggered by every pulse of an external trigger but I need to be able to do this at every third trigger pulse. It seems that I can't do this simply by entering "2" into the "skip count" input of the "Additional Trig Parameters' input of the "AI Start" VI. My attempt is in the VI titled TriggerScanA.
    Further more I will need to know the actual trigger scan rate for data analysis. This is also prooving difficult since even when I am triggering off every external trigger pulse the actual scan rate only returns zeros. My attempt is i
    n the VI entitled TriggerScanB.
    Thankyou.
    Attachments:
    Trigger_Scan_VI's.llb ‏211 KB

    Greetings,
    This sounds like an interesting application. I would suggest that you use your external pulse train as a scan clock, not as a start trigger. Furthermore, since you want to acquire data every third pulse, you will need to use one of your device's counters to divide-down this signal. To accomplish this task, you will need to configure the counter for pulse train generation with an external source - your external pulse train. You will then need to choose the correct "raw counts" to generate a pulse train with a frequency that is 1/3 of that of your external signal. I would suggest that you examine the example Generate Pulse Train (DAQ-STC).vi for this purpose. Now, you can perform a finite analog input acquisition of 2048 data points u
    sing this pulse train as your scan clock. Finally, to determine the frequency of your scan clock, you will need to us your device's other counter to perform a frequency measurement of either pulse train.
    I believe that this will be your best approach to accomplishing this task. Good luck with your application.
    Spencer S.

  • How to connect external trigger PCIe1427

    Hi,
    We are working with PCIe 1427 frame grabber and a IR camera with Cameralink Standard. Our camera has got asynchronous reset at CC3, so we have given external trigger 2 in NI MAX and successfully able to grab the video. But we need to implement the same using Labview application, so tried to use imaq configure trigger3, imaq trigger drive VI's and unsuccessful in resetting the camera and grabbing video.
    We are using IMAQ 4.9 driver and Vision development module with Labview development suite 2013 SP1.
    Kindly provide any solutions.
    with regards,
    Sri 

    Hi all,
    Any suggestion in this regard.

  • How to connect external trigger PCIe-1433?

    I am having an issue getting the external trigger to work using a cameralink camera, a PCIe-1433 card and a signal generator.  The signal generator is connected to the SMB connector on the 1433 card and is providing a 20 Hz signal with a 20ms pulse width at TTL voltages (0-4V).  From memory, we are using the MAX software and under the Acquisition tab I have CC1 set to external, however the camera is not receiving this external trigger.
    I've attached a rough diagram of our setup.
    What could my issues be?  My thoughts are:
    1) Are there other settings in MAX I need to ensure?  I know the SMB connector can be an input or an output.  How can I make sure this is set to input?
    2) My input signal is 0-4V which is TTL, but does the signal need to be 0-5V?
    Any thoughts would be greatly appreciated.  Thank you.
    Attachments:
    ExternalTrigger.jpg ‏29 KB

    Hello tuckturn
    Thank you very much for getting in touch with us. 
    1)  In Measurement and Automation Explorer, the default is an input.  You would need to use LabVIEW to change the SMB connector to be an output. Can you please show me a screenshot of your camera attributes in Measurement and Automation Explorer.
    2)  Where does this input signal come from?  Do you have a 5V TTL compliant output to test this?  Can you please provide me the specification for whatever device is outputting the voltage?
    Thanks again.
    Sincerely,
    Greg S.

  • How to connect external trigger PCI-1433

    Hi all:
    I met the same problem as this old post: https://forums.ni.com/t5/Machine-Vision/How-to-connect-external-trigger-PCIe-1433/m-p/1677560/highli...
    however the post did not give solution.
    I am having an issue getting the external trigger( from PCI 6259) to work with a cameralink camera, a PCIe-1433 card . The PCI 6259 is connected to BNC 2111, the output trigger signal from CTR0 is connected to the SMB connector on the 1433 card and is providing pulse train at TTL voltages (0-5V).  Using the MAX SOFTWARE and under the Acquisition tab I have CC1 set to external 0, however the camera is not receiving this external trigger. The camera is Basler 4096-140km.
    I measured the ouiput signal from CTL0, the sigal seems good.
    I tried RTSI trigger before, failded. I thought SMB should be more straight forward, seems I was wrong.
    Looking forward to reply!
    Attachments:
    camera configuration.jpg ‏168 KB
    External Camera Trigger(SMB).vi ‏57 KB

    Bobjojo,
    You will actually need to affect the properties of both the camera and the frame grabber to take advantage of this triggering mode. I found a document that contains a good run down of the process to acquire in this mode (linked below). As far as the programming for the acquisition is concerned, the frames will be built at the driver level for the specified frame height. This means that the IMAQ driver will composite the line scans for you, and any simple acquisition (the document shows using the Vision Acquisition Express VI) will be able to pull the image into LabVIEW.
    www.ni.com/white-paper/13786/en/pdf
    Karl G.
    Applications Engineer
    ni.com/support

  • How to map Idoc fields with external file

    Hi All,
    How to map Idoc fields with external file.
    I want to check the settings where Idoc fields are mapped with external file.
    Thanks in advance.
    Regards,
    Govind.

    If you have configured a fileport where on trigger of IDOC you are creating the file, you can look at the message type documentation and get the offset values for each field in each segment

Maybe you are looking for