[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?

Similar Messages

  • PCI 6220 digital I/O CB68LPR

    Hi,
    I would like to know how to connect the PCI 6220 with CB68LPR for digital input and output? appreciate your answers.
    regards,
    nazreen

    Hello Nazreen,
    You can use the SHC68-68-EPM 68 Pin Shielded Cable (part #: 192061-01) to connect your PCI 6220 to the CB-68LPR. 
    The CB-68LPR connector block has 68 pins labelled "J0" through
    "J67".  These pins have a one-to-one correspondance with the 68
    pins of your PCI 6220, i.e. pin "J5" of the CB-68LPR correspondes to pin 5 of the PCI 6220.  From looking at the M-Series Help
    manual under 'IO Connectors and Pinouts'', you can find what pins
    correspond to what actual signals on your DAQ device.  The PCI
    6220 has three ports (groups of 8 lines) available for digital
    I/O.  I can see from the pinout diagram for the 6220, that port 0
    line 0 (P0.0) corresponds to pin 52, or terminal "J52" on the
    CB-68LPR.  I hope this helps!
    Travis G.
    Applications Engineering
    Message Edited by Travis G. on 04-05-2006 04:54 PM

  • I would like to display the pause button in an executable built with the LabVIEW 6.0.2 application builder.

    When we upgraded to LabVIEW 6.0.2 (Windows) the executables no longer had the pause button in them. This was a useful feature but I can't find an option to display this button in the Application Builder. Please let me know if this option has been removed and whether I need to allow for pauses to be built into the programming. Thanks.

    A well designed application shouldn't need to be aborted the hard way but if you want this feature, you can enable it in the application builder settings.
    Under the "VI Settings" tab, select your Top Level VI and press "Edit build settings...".
    Change the item "User can abort VI" to "Yes".
    LabVIEW, C'est LabVIEW

  • HOW TO GENERATE FINITE AND CONTINUOUS PULSE TRAIN WITH USB6216 AT THE SAME TIME?

    Hello.
    I am using a USB6216 DAQ and need to generate a 20 kHz signal using the
    ct0 output and at the same time I need to generate a finite number of
    pulses, say 9, on a software trigger using the second counter output
    ct1.
    Currently, I have two VIs that can do this separately, but when I want
    to integrate these into one single VI y get an error in the finite
    pulse train for ct1 that indicates that the requested task is already
    reserved. I am thinking this has to do with the fact that maybe both
    types of task use the same timebase but I have not found the way to
    solve this problem.
    Any help would be very much appreciated.
    Thank you.
    Sincerely
    JSL

    Hello.
    If anybody is interested, the problem is solved.
    There is no resource confilct if I generate the 20 kHz continuous pulse
    signal using the frequency out terminal, and this way I can use both of
    my counters as I please with no problems.
    It's kind of fun to answer one's own questions...
    Sincerely
    JSL

  • How can I calculate the slope of an isometric torque curve with a trigger and time increments of 0-30ms, 0-50ms, 0-100ms etc....

    I am analyzing isometric muscle contractions of the quadriceps and want to calculate the rate of force development (not just peak torque) for the torque-time curve.  I want to set a trigger so that the slope of the torque curve is calculated when 7 newton-meters is reached.  From there I'm trying to calculate the slope in time increments of 0-30ms, 0-50ms, 0-100ms, etc....My data is sampled at 2000 Hz and written in text files.  Below is a copy of the VI I have developed so far.  I am very new to programming with LabVIEW but can definitely see its potential!  Any advice would be greatly appreciated. 
    Attachments:
    Dissertation Isometric RFD.vi ‏14 KB

    Fiddler918,
    When trying to implement something like this in LabVIEW, it is often helpful to think about how you would program this function in a traditional text-based language.  Try and break the problem down.  You need to locate the data point in your array that is 7 Nm or greater.  At this point, you will need to grab the data points that are 60 indices (for the 30ms gap, assuming your points are equally spaced 0.5 ms apart), 100 indices (for the 50 ms gap), and 200 indices (for the 100ms gap) ahead of this point in your data file, and calculate the slope using pairs of data points.  
    Here is a general description of a possible implementation of this code:
    You can wire the appropriate column of the data array into a For Loop on the block diagram and have it auto index through the points.  If you right click on the Use the Greater or Equal? function to generate a Boolean that will be true when you want to exit the For Loop.  Right-click on the border of the For Loop and select Conditional Terminal.  This will cause a small stop sign to appear.  If you wire the Boolean to the conditional terminal, the loop will stop at the value that is greater than or equal to 7 Nm.  If you wire the Loop Iteration terminal out of the For Loop to the right, this will give you the index of the value in the column that you’re interested in.  Having this value, you can then use the Array functions to grab the specific data points you need, and numeric functions to perform the necessary math.
    If any of this didn't make sense, the LabVIEW help files are a great resource to use.
    Here is a link to some video tutorials of the LabVIEW programming environment.  They may help you in the development of your code.
    http://www.ni.com/academic/students/learnlabview/
    Regards,
    Jared R.
    Precision DC Product Support Engineer
    National Instruments

  • Using the GT70 with external monitor and lid closed

    I wasn't sure where to post this question.
    I have several laptops and use external monitors. I close the lid on the laptops and the display continues to work.
    On the GT70, the system shuts down. It won't allow me to use the external keyboard and mouse or display the session.
    Any suggestions if there is a configuration option to allow the GT70 to continue to function with external monitor and lid closed.

    Yup. This is a windows setting. You need to go into your control panel -> power options -> "Choose when the computer sleeps" and "Choose what closing the lid does"
    That should solve the problem. I currently have my GT70 hooked up to a 42" TV and I can close the lid and it stays on and the TV continues displaying as well. No problems. =]

  • PCI 6602:How can I use the digital lines of the board and in the same time to generate pulse train using a counter?

    Hello!
    My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
    I am using 2 counters (counter 5 and counter 7)  from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
    In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
    What happens: I start to generate pulse train on the output of the counters,  no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
    My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
    Another thing what I manage to see using the  "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
    "Error -200022 occurred at Test Panel
    Possible Reason(s):
    Measurements: Resource requested by this task has already been reserved by a different task.
    Device: Dev4
    Terminal: PFI8"
    Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
    Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
    Thank in advance for any replies!
    Ciprian
    Solved!
    Go to Solution.

    Hello Jordan, thank you for your reply.
    I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
    Here is the code for generating the pulse train:
    GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
        short nStatus = 0;
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
        if( bTriggerMode == true) // if hardware trigger is enabled
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
        //set the internal timebase
        nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
        nStatus = DAQmxStartTask(m_taskHandle);
        return nStatus;
    And the code where I try to set the digital line:
    SetChannelState(short nState)
        short nStatus = 0;
        uInt8 wrtBuf0[1]={0};
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        // Configure line as output 
        nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
        nStatus = DAQmxStartTask(m_taskHandle);
        wrtBuf0[0] = nState;
        nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
        nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
        nStatus = DAQmxStopTask(m_taskHandle);
        nStatus = DAQmxClearTask(m_taskHandle);
        m_taskHandle = 0;
        return nStatus;      

  • Trouble Acquiring Digital Input through 1302- 1180- 1349-PCI 6220- software

    Hi,
    I've got an SCXI-1000 chasis, and I'm trying to use an external clock and trigger signal to acquire data from a BNC 2095 board.  I have the 1302 unit to input my external digital signals.  The information feeds through the following units:  1180--> 1349 --> SHC 6868 EPM cable --> PCI 6220 card --> software
    I've got my trigger connected to terminals 39(+) and 24(-) in the 1302 unit.  The external clock is connected to terminals 38(+) and 33(-). 
    Within the DAQ Assistant, I've selected the trigger as PFI 1 and the clock as PFI 0.
    I'd like to test the setup, but the test panel in the MAX won't let me select PFI0 or PFI0 as a channel.  I've also got a acquisition VI made, but it doesn't log any data even though there are no errors.  That's why I want to check that I'm getting the trigger/clock signals properly.
    Any ideas on what to check or change? 
    Thanks,
    Michael

    Hi Michael,
    In general, it's not a good idea to call the DAQ Assistant in a loop, since it allocates and frees resources every time it runs. You might want to take a look at the DAQmx examples in the NI Example Finder (Help>>Find Examples). There are located in the Hardware Input and Output\DAQmx directory in the Example Finder. There are several examples, with several timing and triggering configurations.
    Here is some information about reference triggers: In NI-DAQmx, the stop trigger is referred to as a reference trigger. The reference trigger establishes the reference point in a set of input samples. It allows you to acquire samples both before and after the trigger is received. The number of pretrigger samples to be acquired is set using the Pretrigger Samples input. The number of posttrigger samples to be acquired is automatically determined by subtracting the number of Pretrigger Samples specified from the number of Samples to Read specified.
    Also, take a look at the article I am linking below for information about NI-DAQmx. I hope all of this helps!
    Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications
    Michael P
    National Instruments

  • I want to check all functions of PCI 6534.I have read the user manual..I have some memory related questions.​Please help me for that.

    I want to check all functions of PCI 6534.I have read the user manual..I have some memory related questions.Please help me for that.
    1.)If i am using the continuous output mode.and the size of generated data is less than 32 MB.If i want to preload the memory,what should i do?I want that first of all i load all my data to onboard memory & then i want to make start the transfer between 6534 & peripheral.Is it possible?As per me it should be.Plz tell me how should i do this?I think that in normal procedure the transfer between 6534-peripheral & outputting data from pc buffer to onboard memory works parallely.But i don't want this.Is it poss
    ible?
    (2).Similarly in finite input operation(pattern I/O) is it possible to preload the memory and then i read it?Because i think that the PC memory will be loaded automatically when 6534 acquires the data and then when we use DIO read vi the pc buffer data will be transferred to application buffer.If this is true,i do not want this.Is it possible?
    (3) One more question is there if i am using normal operation onboard memory will be used bydefault right?Now if i want to use DMA and if i have data of 512 bytes to acquire.How will it work and how should i do it?Please tell me the sequence of operations.As per my knowledge in normal DMA operation we have 32 Bytes FIFO is there so after acquisition of 32 bytes only i can read it.How it will known to me that 32 bytes acquisition is complete?Next,If i want to acquire each byte separately using DMA interrupts what should i do?Provide me the name of sourse from which i can get details about onboard memory & DMA process of 6534 specifically
    (4).In 6534 pattern Input mode,if i want to but only 10 bits of data.and i don't want to waste any data line what should i do?

    Hi Vishal,
    I'll try to answer your questions as best I can.
    1) It is definitely possible to preload data to the 32MB memory (per group) and start the acquisition after you have preloaded the memory. There are example programs on ni.com/support under Example Code for pattern generation and the 6534 that demonstrate which functions to use for this. Also, if your PC memory buffer is less than 32MB, it will automatically be loaded to the card. If you are in continuous mode however, you can choose to loop using the on-board memory or you can constantly be reading the PC memory buffer as you update it with your application environment.
    2) Yes, your data will automatically be loaded into the card's onboard memory. It will however be transferred as quickly as possible to the DMA FIFO on the card and then transferred to the PC memory buffer through DMA. It is not going to wait until the whole onboard memory is filled before it transfers. It will transfer throughout the acquisition process.
    3) Vishal, searching the example programs will give you many of the details of programming this type of application. I don't know you application software so I can't give you the exact functions but it is easiest to look at the examples on the net (or the shipping examples with your software). Now if you are acquiring 512 bytes of data, you will start to fill your onboard memory and at the same time, data will be sent to the DMA FIFO. When the FIFO is ready to send data to the PC memory buffer, it will (the exact algorithm is dependent on many things regarding how large the DMA packet is etc.).
    4) If I understand you correctly, you want to know if you waste the other 6 bits if you only need to acquire on 10 lines. The answer to this is Yes. Although you are only acquiring 10 bits, it is acquired as a complete word (16bits) and packed and sent using DMA. You application software (NI-DAQ driver) will filter out the last 6 bits of non-data.
    Hope that answers your questions. Once again, the example code on the NI site is a great place to start this type of project. Have a good day.
    Ron

  • 0 down vote favorite        I would like to ask the following question. I am using mac os x 10.9 maverics me quicktime player version 10.3. Can I trim a video recording without having to press the pause or save it as a file? Or can I add a new recording t

    0 down vote  favorite  
    I would like to ask the following question. I am using mac os x 10.9 maverics me quicktime player version 10.3. Can I trim a video recording without having to press the pause or save it as a file? Or can I add a new recording to a video file? Thanks in advance

    Well,
    I tried the "Internet Recovery" option and finally saw Mac OS X Mountain Lion's install page but after waiting 7 hours when I just thought its going to start installing, I got another progress bar with 36 hours remining time to download "Additional Components" then after progressing 2-3 hours, it shows "Unable to write installation something..., Contact Apple Care"
    Then I accidently rebooted the machine and now it seems Internet Recovery don't work anymore, it shows "support.apple.com - 40 something!" error, and finally when I tried to reboot using Recovery HD, I found it's gone as-well!
    To be honest, I don't know what to do now, I am and dissapointed... also I do not have any Apple Store nearby, there is an authorized country reseller almost 650/km far away from my residents and they even charges too high (like $250) for doing such repairs (as per phone conversation)
    If anyone have any idea or anything to help me with, please do share- I'd be eternally grateful!

  • 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

  • DigitalGraph Annotation at different axis-Y level although the value is same

    Hi,
    I have plot a graph with annotation and I found it labeling the axis-Y at the different level, with the same value.
    Please look at the screenshot I attached. I have attached the Vi too, simply run it will get the result as preview in screenshot. 
    So, 
    Any idea to fix this ? 
    and I need to know, 
    How the annotation actually label the axis-Y level ? (sometimes label at  '1', sometimes at '0', a reason behind it that cause this inconsistently ? a fix setting as written in cluster should have all the label at the same level, but why it behave up and down..) 
     Please help .. Thanks in advance..
    Attachments:
    forum.JPG ‏103 KB
    waveformlabel.vi ‏28 KB

    Hi,
    Thanks for sending your VI with your question. I've tried running it and it appears to run fine with the digital input waveform you have specified. Do you have any input data that you know causes an error that you could send to me? I have attached a screenshot of what happens when I run the VI, so let me know if that looks more like what you are trying to achieve.
    Also, the reason for the annotation switching between a 1 and a 0 along the various lines is because it is an indication of whether the digital signal on that line is high or low at that point, rather than a label on the y-axis itself. It shows that on, for example, line 4, the signal begins low, hence the 0 on the axis, before switching to high, hence the 1 on the axis. I'd be very grateful if you could let me know if this answers your question and don't hesitate to ask if you need anything else clarifying.
    Regards
    Jeremy T
    Technical Marketing Engineer
    National Instruments UK & Ireland
    Attachments:
    Digi waveform.JPG ‏146 KB

  • How do I use the counter and digital signals of the 6071E while it is connected to SCXI modules?

    I am contemplating using a PCI 6071E with SCXI. We have the boards (6071E), we would need the cable (I suppose SH1006868) and the SCXI system. I would like to know how would you access the counter and digital line capabilities of the board. I will be using a SCXI-1314 with a SCXI-1520 Module for strain measurements but will need to use the counter and digital lines of the board as well. Can this be done? If so, how and/or what else do I need?

    I think this KnowledgeBase will answer the question for you.
    Accessing DAQ Board Counter Pins with an SCXI System
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • DAQmxbase with pci 6220

    I have developed C code to sample a USB-9215A using nidaqmxbase on windows xp. Installing only nidaqmxbase (not nidaqmx) the code ran well. Now on the same machine I have installed a PCI-6220 card and am trying to reuse the same code (for both devices  Dev1, Dev2). After trying many different strategies it is not working and the USB device no longer works either. Sequence of events:
    1) There did not appear to be a driver for the 6220 using nidaqmxbase
    2) So removed nidaqmxbase and installed nidaqmx (940f1) , the device is now found (Usb on Dev1 and PCI on Dev2)
    3) Tried to compile the code but it appears  nidaqmxbase is not a subset of nidaqmx as indicated in the documentation (e.g. calls to "DAQmxBase****" functions are not found when linking against NIDAQmx.lib) and code will not compile
    4) So reinstalled nidaqmxbase (345) over the top of nidaqmx, code now compiles (linking against nidaqmxbase.lib) but will not run (for either USB or PCI)
    5) Error is DAQmxBase Error: 2288296
    6) The devices do not appear to be available to nidaqmxbase e.g. program "lsdaq" does not show devices
    So the question is do I need to ditch the nidaqmxbase software and re-write it using nidaqmx functions or can nidaqmxbase be made to work with the pci-6220 (my preference)

    Solution found
    It seems that 6220 is not supported in nidaqmxbase, so removed all ni software and installed nidaqmx only
    Then the code can easily be ported by changing all DAQmxBase**** function calls to DAQmx***** function calls

  • PCI-6220 COUNTER (Labview): Does "Sample Source" = "Gate Source"?

    Hello,
    I'm using Labview, DAQmx, PCI-6220 (Counter0).  I connected an incremental encoder signal to the source input of CTR0.  In Labview, the "DAQmx Timing" vi requires that the "source" input be wired.  Does this "source" actually mean the source of the sample clock vs. the "Source" input to the counter?
    Thanks for your assistance,
    Chris

    Chris,
    When you talk about using a DAQmx Timing vi, I assume that you are performing
    buffered event counting or any other task that performs buffered acquistion. 
    You can see an example that performs buffered event counting in NI Example
    Finder called Count Digital Events Buffered - Continuous.  The DAQmx
    Timing vi in this example is used to read the current state of the counter
    into memory at a constant rate.  The source input of the Timing vi in this
    case means the source of the sample clock.  This clock is what determines
    when the counter state is read and stored into a buffer.
    If you are performing event counting, and do not need buffered acquisition (no
    sample clock), you can look at example Count Digital Events.vi in Example
    Finder.  In this example no DAQmx timing vi is used.
    Regards,
    Jesse O.
    Application Engineering
    National Instruments
    Jesse O. | National Instruments R&D

Maybe you are looking for