AO+ 2 counter tasks of PCI-6110

Hello
I'm trying to get synchronized analog output task and pulse counting of two counters using PCI-6110,
meaning generate an AO signal first then count incoming pulses at two different counters simultaneously.
After searching this forum and testing some methods, (like https://decibel.ni.com/content/docs/DOC-5779 and https://decibel.ni.com/content/docs/DOC-11755)
 I thought that this PCI card is not suitable for my purpose.
It seems impossible to trigger the counters in S series DAQ device.
I'd like to know whether this is true or not and
If so, which additional counter should I buy and connect it to PCI-6110 through a RTSI bus cable?
Thank you for your time.

Hello Eric
This is for a photon counting setup and I'd like to send AO signals first to my device and then count pulses from two independent photon counters simultaneously. So I tried to use use aoStartTrigger as a trigger for these tasks, but it didn't work well.
I haven't tried a digital trigger. Do you suggest any tricks to use AO as a digital trigger?
A test vi file is attached, but I guess this cannot do what I think.
Thank you for your kind support.
Attachments:
test.vi ‏36 KB

Similar Messages

  • Counter/Ti​mer PCI-6110

    Hi - I have little to no experience with counter/timers. I am looking for an example of how to use the counter/timer inputs on my PCI-6110 to detect rising digital edges.
    I have a proximity switch that is sensing a bolt rotating on a shaft...I would like to time between the rising edges and use this to calculate RPM's.
    Any help is greatly appreciated.
    Thanks,
    Ryan
    Ryan
    LV 7.1

    Hi Ryan,
    Since you are trying to measure the frequency or period of a series of digital pulses, I would suggest using the counter/timer capabilities of your board.
    LabVIEW has many example programs included in it (including several examples that do what you are looking for). You can get them by going to Help >> Find Examples >> Hardware Input and Output >> DAQmx >> Counter Measurements >> Digital Frequency
    Here you will see several examples, choose whichever one looks like it will work best with your application. I would also suggest trying a couple different ones to get a feel for how they differ. Also, take a look at the code to see how it operates.
    Thanks,
    Sal

  • How can I optimally stream data to disk at 5 MS/s on 4 channels using a PCI-6110?

    I am using a PCI-6110 to acquire data streaming from a camera. Data arrives on all four analog input channels at 5 MHz. An A2D clock is attached to PFI8, also originating from the camera and operating at 5 MHz. Finally, there is a Valid-data signal from the camera that signals when the data stream coming in on the four analog channels is actual data (each Validate pulse is about 132 samples wide). This is attached to PFI0. Ideally, I would like to have a program that captures data at the full rate and is correctly synchronized with the Valid-data line. It should also be able to stream to disk for several seconds at least before pausing for the buffer.
    Though I'm something of an inexper
    ienced programmer, I have attempted programs both in LabView and C (using DAQmx) to resolve this, but I have experienced much slower behavior than I'd like. In LabView, this seems to be the result of slow streaming to disk, such that I have to pause and reset the task every frame (132x512 samples per channel). Using DAQmx in C, I have found it necessary to restart the task after every line (132 samples per channel) in order to correctly trigger from the Validata pulse. Both are far from optimal. I would appreciate any advice that those of you with more experience reading at very high rates from this card may have to offer.
    Thanks,
    Steven Israel
    Duke University

    I'm not sure if I fully understand your application, but maybe some of these hints will help.
    First your streaming to disk rate is going to vary widely depending on your system. Sometimes using a faster processor helps, but most of the time using a faster hard drive will give you the best performance increase.
    Second, writing less data will often have a dramatic impact in streaming to disk applications. If you're reading back scaled data, I would strongly recommend switching to unscaled or raw reads and storing off the scaling constants so you can scale the data off line. This could reduce the required streaming to disk bandwidth by a factor of 4 alone.
    Third, since the 6110 is a 12 bit device, you can try compressing two 12 bit samples into one 24 b
    it piece of data. This will allow you to store in three bytes what used to take four.
    Last, you might consider using your signal on PFI0 as a pause trigger. Depending on the frequency of the pulses on your Valid-data signal, this could significantly reduce the required bandwidth of both the PCI bus and your hard drive. However, since the 6110 uses pipelined ADCs, you need to be careful if the time between valid data pulses is greater than one millisecond. This would violate the minimum sampling frequency of the board and the points in the pipeline that are returned after unpausing (3 in this case) might not be digitized at the full accuracy specification for the device. Because of the pipelining, you also need to be careful how you correlate the data. The first time you unpause for the Valid-data pulse, the first three points will be garbage points. The second and subsequent times you unpause, the first three points are really the last three points from the previous Valid-dat
    a pulse. See the Device Considerations->Timing chapter in the NI-DAQmx Help file for more information on timing considerations with pipelined ADCs.
    I hope this information helps. Good luck!

  • How to increase speed of analog read using PCI 6110 and LabView 7.1?

    Hi All,
    I'm a fairly novice user of LabView and I'm trying to figure out how to make my system as fast as possible. Basically, I'm reading in an analog signal (AI0) together with a trigger signal (PFI0) and I want to sample the analog signal on the falling edge of the trigger signal. What I'm finding, though, is that the acquisition rate of this system is excessively slow. My analog signals occur faster than 1 kHz, but the speed of my system is only about 100 Hz. A colleague of mine told me that the DAQmx Trigger.vi I was using was probably the culprit for the slow performance I was observing. Could this be right? If so, how could I resolve this issue?
    Another thought I had was to input the trigger signal into the external source input of the DAQmx Timing.vi. In this way I'd be using the trigger signal as an external clock. If operated in Continuous mode, then I think the Sample Clock would cause a sample to be read only when the trigger signal changes its state (from high to low). Could this work?
    Thanks for reading,
    Ben

    Hi Marni,
    Thank you so much for your post! I tried doing as you suggested, using the Cont Acq&Graph Voltage-Ext Clk-Dig Start.vi and I first set the trigger signal as the external clock source. It works beautifully! Now, with 1.6 kHz signal in, I'm reading in 1.6 kSa/s. This is a dramatic improvement from before. I also tried using the internal clock source option, but it didn't seem to trigger when I wanted it to. I didn't spend too much time debugging it, though, since the other method works so well. This brings up an interesting question. Is the DAQmx Trigger.vi really that slow? Previously, I could read in 100 kSa/s at best using the Trigger VI. Anyways, I'm a happy camper now:-)
    By the way, to answer your question about the DAQ device, I'm using the NI PCI 6110 Multifunction DAQ.
    Thanks again!
    Ben

  • I have installed successfuly Nidaq692.exe and LV5Fra.exe drivers for LabVIEW AND PCI-6110 card

    Unfortunately, I didn't find the data acquisition functions to acquire data from PCI-6110 through LabVIEW.
    How can I do to find VI data acquisition in Labview.

    Is the Data Acquisition palette completely missing? It may be that if you initially installed LabVIEW without NI-DAQ, that none of the VI's got installed. You may have to reinstall at least part of LabVIEW.

  • How to synchronize two timer/counter tasks?

    Hi,
    I'm programming DAQmx through the nicaiu.dll with Matlab. I'm trying to start two different tasks, each controlling ctr0 and ctr1, respectively. Both timer/counter tasks should start on a common trigger, in my case /Dev/PFI0. Having searched the forum, I do understand that both tasks can't be triggered off PFI0. Instead, I probably need to trigger one of my tasks on a signal that turns on whenever the first task starts. My question is; What signal can inform my ctr1 task that my ctr0 has started? I basically want these two tasks synchronized, but not pulse by pulse since the pulse trains are quite different.
    Trying to trigger both off PFI0 results in a resource conflict. Triggering ctr1 on ctr0gate doesnt work either.
    Also, I need ctr1 to trigger on when the ctr0 tasks starts, i.e. not when the first ctr0 pulse appaers!
    Thanks,
    Per

    Thanks Ryan.
    I made some changes to my code now and it appears I CAN trigger both counters off PFIO (on an E-Series board). I only recently converted all my Traditional code into DAQmx, and got lost in my tracks. I was trying to generate finite pulse trains on both counters, and had used Finite timing on the counters to generate finite retriggerable pulse trains, without knowing that tied up the second counter. I solved this now using Pause Triggers instead. In the case where I generate single retriggerable pulses I still use a Start Trigger, and I can now Start BOTH counters using DAQmxCfgDigEdgeStartTrig and listening to PFIO with both counters (each counter running off a separate task).
    Sorry, I got things confused, and your solution isnt required anymore. Similarly to your solution, though, I have always used a (real) analog output routed externally to the PFI0 pin on my E-Series board as the synchronizing trigger. However, if I could avoid the external wiring it would be nice, so I will explore your solution a bit more
    I am not familiar with the concept of a 'dummy' task/channel. Can you point me to more documentation on this?
    I already use the analog inputs on this board from another app. Will creating a dummy AI tie up all analog inputs, so I can't then access my physical analog inputs from other applications (on the same board)?
     - Per

  • Multiple PCI-6110 in one computer - Minimum Computer Specs?

    I am building a computer system which will house 4 PCI-6110's. What minimum processor, RAM etc. is recommended. Also, can you mix the PCI bus speeds without adverse effects? Dell has a model that has 3 100MHz PCI slots and 1 30MHz slot. Would it be acceptable?
    Thanks in advance.

    Hello,
    In general, the specifications of a board are not dependent on the specifications of the computer. If boards use DMA, as all of our high-speed boards do now, the computer is not the factor. The main factor is the software, not the hardware. if you have LabVIEW, refer to the LabVIEW Release Notes particular to the version you have for more information about the minimum system requirements.
    System performance is only an issue with single-point and continuous double-buffered operations, when the computer's ability to run a loop continuously is the only factor. Publishing specifications for double-buffered operations essentially is impossible because of the many variables present, such as buffer size, acquisition rate, bus type, bus activity, CPU activity, and
    so on. Speed is an issue for single-point I/O only with digital I/O and handshaking. National Instruments does publish specifications for typical transfer rates with actual computers for boards such as the DIO-96.
    Hardware specifications are not dependent on the system if the board uses DMA. The specifications are more dependent on your software and other processor activity occurring at the same time as the data acquisition.
    Regarding your second question, your PCI 6110 requires a bus that has a clock speed of 33MHz, so it's definitely going to work on your first 3 slots but I am not sure if it will work on your 30MHz slot since it's too cloe from the clock speed required. It would be better if you can find a PC that has its 4 slots running at a speed faster than 33MHz just to be sure they will all work.
    Please let me know if you have any further questions.
    Best regards,
    LA

  • Is it possible do simultaneo​us input put and out on a PCI-6110 boar?

    We are trying to send out a signal to a transducer, which in turn sends a signal to a hydrophone. Then recieve that signal that is coming in the hydrophone? Is this possible on a PCI-6110 DAQ board? or would we need two boards, the signal is a 50kilohertz signal.

    Yes it is.
    I have done it.
    goto search examples and navigate to
    Hardware I/O >>> DAQ >>> Simultaneous Analog I/O
    Pick one that serves your needs.
    Cool board the 6110. I have used it for a number of projects.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • PCI-6110 transient synchronous input noise

    I am trying to acquire transient voltage signals with a PCI-6110 board, sampling at 5MHz. When I examine one channel of an input signal (from an optical sensor, with its own internal op amps) using the sensor's BNC cable to high-impedance input of an oscilloscope, the ~200mV signal is clean. When I plug the same signal cable into a BNC-2110 BNC I/O connector block, which feeds the PCI-6110 DAQ card, the resulting signal has added noise in the form of small transient ringing which remains steady and synchronous with the input signal. The total signal duration is of order 10 microseconds. It is somewhat coarsely sampled, but my problem is with the added ringing noise. The BNC cable comes directly from the sensor, is about 2' long, and cannot be shortened. The digitized samples are synchronous with transient signal, since the sensor stimulus is being driven by trigger output from the PCI-6110.
    I welcome any suggestions on possible causes or solutions to this noise problem. I hope not to have to build or obtain some custom high-speed buffer input amplifiers.

    This probably belongs in a hardware forum, for example: http://forums.ni.com/ni/board?board.id=250
    LabVIEW Champion . Do more with less code and in less time .

  • How to generate an Interupt for DMA transfer from Counter on NI-PCI-6602

    dear guys:
          how to generate an Interupt for DMA transfer from Counter on NI-PCI-6602,and I have set the DMA and DMA_INT, and also the global interrupt register.
    but there is no Interupt generated in the Interupt callback function.And when I have set the DMA_INT and global interrupt register ,and then read the relevant register,the relevant bit is also 0.
         I suspect there is an Interupt register contral, like the MITE, you must write the value to 0xc4 for opening .
         there is some codes In my enclosure .What can I do?
    Attachments:
    TEST.C ‏21 KB

    dear Steven_T:
            the registers are In my enclosure ,if you have some ideas,please reply me  first time.thank you !
    Attachments:
    PCI6602.pdf ‏818 KB

  • Error 10843, PCI-6110

    Hello,
    We are using a new S-series PCI-6110 card and are trying to output a high frequency square wave. However, for update rates greater than 2 MHz, error 10843 (underflow) is generated.
    I've tried several of the posted suggestions from Knowledge Base and the discussion forums. I think the problem is probably not our processory (3 GHz CPU). I've increased the size of the application buffer, but that did not help. I closed all the programs that were running in the background. I used the Set DAQ Device Information.vi to force the AO channel to use DMA. None of these changes has gotten rid of the error.
    The only other suggestion I've found is to use outputting looping from the on-board memory, but I am not sure how to do this, or whether it is possible with this PCI card for analog output.
    Also, Error 10843 is also followed by Error 10687. I'm not sure what is triggering Error 10687, since it seems to typically be associated with running multiple VIs at once.
    I've attached a picture showing my code. The program runs well for update rates less than 2 MHz.
    Any help is much appreciated,
    Thanks,
    Michelle
    Attachments:
    Device3_v.1.png ‏112 KB

    Hi Michelle,
    If I may ask, do you have a particular reason for using Traditional DAQ to create your application rather than the newer, easier-to-use NI-DAQmx driver?  I would strongly suggest that you use the newer DAQmx API if at all possible.  If you aren't sure why you would want to switch, check out Advantages of NI-DAQmx.
    With that being said, if you do have a specific limitation that prevents you from updating your drivers, you may find this helpful: KnowledegeBase 385AIBQ8: Analog Output Regeneration Modes.  This should give you some more information about how to use analog output regeneration, which allows you to download a repetitve waveform to the device's buffer for continous output.
    Once you have taken a look through this information, please let me know if you have any more questions.

  • Data Acquisition on a 20MHz Timebase with PCI-6110

    I would like to acquire a data point (viz a voltage value) every 50ns (20MHz timebase). Then I would like to write these voltage values and the corresponding time value to a text file and finally plot the voltage values over the time. The data acquisition should be started on a trigger. How can I program this application in LabVIEW 7.1.1? I use a PCI-6110 card for the data acquisition. Thanks for any help!

    I would suggest you look at the shipping examples. Open the Example Finder and from the browse tab, select Hardware Input and Output>DAQmx, Analog Measurements>Voltage. Start with one of the simpler examples such as Cont Acq&Graph Voltage-Int Clk. You can also try the DAQ Assistant. Also, saving data to a text file can be pretty slow and will be a problem trying to maintain high acquisition rates. If you acquire data for a finite amount of time, you'll probably want to save the data once it's all been acquired and not real-time. You can use any number of methods for this. The Write LabVIEW Measurements File can be used to save an array of waveforms that you've captured. There are other shipping examples for saving real-time in a binary format. There are other examples at the NI Developer Zone.

  • External Clock PCI-6110

    Hello / Bonjour
    I am using Labview 6.1 / Window 2000 and a NI PCI-6110 card.
    The system that I develop uses an external clock (connected to the PFI7) to sample a signal in channel 0, a trigger connected to TRIG 1 starts an acquisition. The program controlling the DAQ is a modified version of “Acquire N Scans ExtScanClk D-Trig.vi” example, I have removed from this example the two sub-vi “AI Clock Config”. The program uses then the STARTSCAN signal as an external clock.
    I have three questions:
    1 How do you configure STARTSCAN to either the rising or falling edge polarity as it is stipulated in the pci-6110 user manual?
    2 What is the purpose of the two sub-vi “AI Clock Config” in the “Acquire
    N Scans ExtScanClk D-Trig.vi” as it seems the PCI-6110 card doesn’t need them to run properly with an external clock?
    3 Should I configure the CONVERT* signal if I would like to sample the channel 0 signal immediately when a STARTSCAN pulse appears?
    Thank you

    Thank you rgharrison for your answer
    I tried to make some modifications and tests following your comments.
    I have incorporated the �AI Clock Config� in my application (which is now very similar to �Acquire N Scans ExtScanClk D-trig.vi� except that there is only one �AI Clock Config� VI) and I have these questions and comments:
    As the PCI-6110 samples each channel simultaneously (and I want to sample only one channel), should I set the channel clock as you mentioned?
    Given that my external clock is connected to PFI7 and I have specified �PFI pin, high to low� in �clock source code�, it doesn�t matter for the board if I set any PFI as �clock source string�: my board still find an external clock. But if I leave �clock source string� blank I�ve got
    an error. I noticed also that the parameters of the �actual clock rate specification� cluster are still equal to zero. Is it normal or I misunderstand something?
    I don�t understand why I should set up the �clock source� as fastest as possible, as I want to use an external clock and sampling my signal one time per external clock period. Also, in the �Acquire N Scans ExtScanClk D-trig.vi� exemple, after set the clock as fast as possible, the following VI �Ai Start� disable the internal clock, so again why set up the clock and disable it just after?
    If I set the �clock source� at the maximum rate and if the scan clock (my actual external clock) is slower than the �clock source�, can the board acquire more than one sample by external clock period?
    Regards

  • How can I continuous​ly streaming data to disk with 1MHz sampling rate with PCI 6110?

    I can only save 3 seconds data with 1MHz sampling rate using PCI 6110. Is it possible to continuously save longer time data (say 1 minute)?
    Many thanks

    if the binary file is big the ASCII file is very very very big.
    1 measurement is coded in a I16 => 2Bytes ( 4bit is not used 611X is 12bit
    card)
    if you use +/-1V range the quantum is (2 * 1V) / 4096 = 0.0004883V or 0.4883
    mV you need to use 8 digits minimum.
    And If your binary file is 1 Mo your ASCII file is 4 Mo.
    You can use this VI for inpiration you need to add the translate I16 to DBl
    to make a real value before saving.
    For Help you can mail inthe newsGroup.
    I'am a french user and my english is not good Sorry..
    Fabien Palencia
    Ingenieur d'etude ICMCB CNRS
    "StephenZhou" a ?crit dans le message de news:
    506500000005000000A5AF0000-1031838699000@exchange.​ni.com...
    > Hi, Fabien Palencia
    >
    > The program is great.
    Do you happen to know how to convert the big
    > binary file to ascii file? Thanks
    [Attachment recup data I16.vi, see below]
    Attachments:
    recup_data_I16.vi ‏57 KB

  • Synchroniz​ing AI and Counter Tasks in DSA and M Series devices

    Hello DAQ fellows, I am new in the Counter field, so it would be really helpful to have your comments and advices about my application.
    I need to acquire simultaneouslythe following signals:
    - AI Voltage signal with a DSA device (PXI 4461).
    - AI voltage signal with a M Series device (PXI 6250).
    - Periods between TTL pulses signal with one counter of the same M Series device. I want to use the counter as it is shown in the figure 7-8 attached below.
    You can see my approach in the vi attached below (4461-6250ai-6250Ctr.vi). The 4461 is the master device.
    For the synchronization between both AI tasks I am using the "SampleClockTimebase" of the master device as a source for the 6250. I am also using the "StartTrigger" signal from the master device to trigger the start of the AI acquisition in the 6250. As I understand, this configuration is OK.
    Now come the second stage, which is to include the Ctr task to the acquisition process. I am creating the 3 tasks previously with another vi, the vi which creates the counter task (CreateTask6250Ctr.vi) is also attached. Now in the measurement vi (4461-6250ai-6250Ctr.vi), I use the "SampleClock" of the 6250-AI task in order to synchronize the AI with the Ctr task (I am not sure that this is the proper way to do this). Then I ask the "CounterTimebase.Source" in order to know which one is been used as SOURCE signal for the tick counting between the TTL pulses. Finally, I use the same "StartTrigger" signal from the master device to trigger the start of the Ctr task. In this way, when the AI task from the 4461 is started, it give the "StartTrigger" signal to the AI and Ctr tasks from the 6250 and the 3 start at the same time.
    What do you think. am I right with my approach?
    Is the Ctr task properly created to use the counter as in figure 7-8?
    Are the three tasks properly synchronized?
    Which other options do I have in order to synchronize the Ctr task with the other 2?
    Thanking in advance,
    Cristián
    Attachments:
    4461-6250ai-6250Ctr.vi ‏1561 KB
    Fig 7-8 from M SeriesUserManual.jpg ‏16 KB
    CreateTask6250Ctr.vi ‏35 KB

    Could I also use the PXI_Clk10 as a "ReferenceClock.Source" for the three tasks in order to synchronize them? I mean, instead of using the "SampleClock" of the AI task of the 6250 and the Ctr tasks of the same device. See the attachment to see what I mean.
    Greetings,
    Cristián
    Attachments:
    4461-6250ai-6250Ctr - PXI_Clk10.vi ‏1558 KB

Maybe you are looking for

  • Freeze between the end of a timeline and a menu with video.

    Hi, I have a timeline with some content advisor in the beginning of my encore cs3 project, then redirects to another timeline with a segment of a video, after that it redirects to the menu with another video (that video is the continuation of the pre

  • UrlConnection not getting latest content

    I have an applet that reads the contents of a file on the server once per second and displays it. The file contains one line that describes the status of a process. The problem is there is a 15-20 second delay between when the file is updated and whe

  • New 2.8 8 core MP/Leopard not showing 8 cores in activity monitor?

    So, I pick up a new 8 core 2.8 today, drive the hour home, wipe the drive and put a fresh retail copy of leopard on it, then I decide to open up Activity Monitor and "view" all 8 of my cores as the dock icon. Instead I get 1 icon, and in activity mon

  • How to find the queryid of a query

    Hi, Can someone suggest how to find the queryid of a query? Many thanks, Xibi

  • Report tool for Windows 2003 System

    Hi everyone, I've just managed a Windows Server 2003, Oracle 10g running. I want to a tool what collect Disk I/O, Memory, ... statistics by month like ltom, oswatcher. Could you recommend ? Best Regards.