DAQ-653X handshaking mode in C

Hello all,
I'm new on this forum, I'm a student working on a PCI-DIO-32HS. I have to work in C with Visual Studio, and to use the handshaking mode.
I'm looking for documentation and examples because I'm a little in troubles just with the user manual and the NI-DAQ C Reference Guide.
All is well with reading and writing samples on ports but I need to wait a request from a device to change what I'm writing. I tried to use the DAQmxCfgBurstHandshakingTimingExportClock function (I got an example in this post forums.ni.com/ni/board/message?board. id=231&message.id=3611) but I always get an error :
DAQmx Error: Requested value is not a supported value for this property.
Property: DAQmx_Buf_Output_BufSize
Requested Value: 1
Intermediate Buffer Size Increment: 2
Task Name: NameOfMyTask
Status Code: -200077
If anyone know what's wrong or have a detailed documentation on the handshaking mode, please help me !
Thanks
Vergnolle G.
P.S. : sorry for my English, I'm French!

I found the problem, it was not in the DAQmxCfgBurstHandshakingTimingExportClock function which I changed to DAQmxCfgHandshakingTiming, but it was the numSampsPerChan in my DAQmxWriteDigitalU8 function I had to pass to 2 or more.
I think this is not the right place for my post, so I wrote a new post in the Digital I/O part http://forums.ni.com/ni/board/message?board.id=70&message.id=3998.
Vergnolle G.

Similar Messages

  • Do I have individual bit direction control in strobed I/O mode for DAQ 653x device?

    Regard to DAQ 653x device:
    I need to set the bits' direction (I/O) individually while working in Strobed I/O mode. I also need the wired-OR fiture in that mode. And actually the wired-OR is more critical for me. Do I have wired-OR option in strobed IO mode?

    Greetings,
    While running in Strobed I/O mode you do not have the ability to use wired-OR. Please refer to the following Knowledge Base for more information.
    What Is Tri-State and Which DAQ Devices Support It?
    http://digital.ni.com/public.nsf/websearch/09B559BE292C75DB8625698500640E0A?OpenDocument
    Refering to the PCI-653X User Manual in the Device Overview section, we find that the 32 data lines are individually configurable as input or output, grouped into four 8-bit ports. You may set each line for input or output by specifying their direction in the line direction map of the DIO Port Config VI or driver call.
    653X User Manual
    http://digital.ni.com/manuals.nsf/websearch/EDE443F5C700373A862569B90072D26F?OpenDocument&node=132100_US
    Regard
    s,
    Justin Britten
    Applications Engineer
    National Instruments

  • Accessing PC6 and PC7 while using the handshaking-mode

    How can I access the lines PC6 and PC7 on my PCI-6503 / DIO24 Board while
    using the handshaking-mode?
    If I'm trying to access these lines by "dig_out_line" after using the "dig_scan_setup"
    function I receive the error-code -10007 (bad channel error).
    best regards
    Marc

    One feature I found - although it requires you to change album names - but if you on the settings part of iPod set the shuffle to songs, when you pick an album to play it will shuffle those songs. Now how do you apply this to what you want to do? Make your playlist and highlight all the songs and right click the mouse and choose "Get Info" and give them all the same album name. The only draw back is that this will cause the songs to loose their original album information. But when you play that album that you just "created" the iPod will shuffle the songs for you.

  • Burst handshaking mode timin diagram

    I am using the 6533 card in the burst-handshaking input mode.Clock signal and data signal triggering the daq-card are sychronised and alighned .Looking in the timing diagrams of the manual, a "setup time from input data valid to PCLK", t_dis, of 4 nanosecs is needed for successful acqiusition.I think i am not able to do successful acquisition because of this time factor missing in my system. Any suggestions of how to overcome this ????
    thanx in advance

    If you use the reverse PCLK configuration for burst mode there is no minimum T_dis time. Table 3-5 within the user manual is for using the default PCLK configuration (the PCLK would be generated by the 6533 since you're configured for input). Table 3-7 shows the timing diagram for the reverse PCLK configuration and the minimum T-dis is 0 sec. You could set the burst mode for reverse PCLK and so in this case the outputting device would need to generate the PCLK and the 6533 would be inputting the PCLK as well as the data.
    You can use the DIO Parameter VI in LabVIEW or the Set_DAQ_Device_Info NI-DAQ function call to reverse the PCLK.
    653x User Manual
    http://digital.ni.com/manuals.nsf/webAdvsearch/EDE443F5C700373A862569B90072D26F?OpenDocument&vid=niwc&node=1321
    00_US
    I hope this helps.
    Regards,
    Todd D.
    NI Applications Engineer

  • Use DAQ in Parallel Mode

    Is there any issues using a DAC card (M-Series) in TestStand in Parallel Mode?  I would like to have 4 instances running in parallel all using ine DAC card.  Of course, each instance would be using separate channels.  How would you create the reference to the DAC card?  I assumed that one insides could open the DACCA card but could be a race conditon.
    Matthew Fitzsimons
    Certified LabVIEW Architect
    LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison

    The M series cards (if I remember correctly) only have one clock for input and one for output.  This means that you can only do one operation at a time on the device, even if it has multiple channels.  If you are doing a true parallel test (rather than a batch test), I would recommend using a Lock in TestStand on the card so that only one UUT tries to access the device at a time.  If you are using Batch, you can use the same setup, or have a "worker" thread that does the DAQ operations and then sends the data to each thread using a Notifier.  Depending on how long you are using the card, this may be more trouble than just doing it independently and using locks.
    Allen P.
    NI

  • Digital Handshaking with two PCI-DIO-32HS Cards

    Hardware: two PCI-DIO-32HS Cards
    Software: LabVIEW 5.1, NI DAQ 6.6
    Problem:
    I'd like to do burst digital handshaking with two PCI-DIO-32HS cards.
    One being used for sending bit stream while the other receive.
    Suppose I want to use burst handshake mode.
    How should I wire the connections?
    Where should I wire the REQ, and ACK line from the sending card?
    Should I wire REQ from card one to REQ of the other card?
    Also, how do I configure labVIEW VI to do burst handshaking mode.
    Can anyone send me a VI that can do this.
    Thanks a lot.

    Matt,
    I would recomend using the DIdoubleBufPatternGen.C examples that ships with NI-DAQ. You can find it in your \NI-DAQ\Examples\VisualC\Di folder. If you don't have this example on your machine, you can get it by running NI-DAQ Setup and selecting support for C/C++.
    This example does double buffering to allow you to continuously acquire data from your card. Data is transfered only when a full 1/2 buffer is ready. You can set how long to acquire data by setting the number of half buffers to read, or by modifying the read loop conditional parameters to fit you needs. See the NI-DAQ help on how to set you REQ pulse rate to 100kS/s.
    Nick W.
    www.ni.com/ask

  • At-dio-32s Mixing handshaking and unstrobed I/O

    On an at-dio-32s board, is it possible to use to different types of I/O at the same time ?
    E.g. 16-bit acquired in handshaking mode and the 16 remaining bits used independently in unstrobed mode.
    I have an application where I need a data bus with a high transfert rate and some "slow control" I/O bits.
    Thanks in advance for your help.

    Yes, you configure a buffered operation using 16 bits and use rest of the 16 bits in the unstrobed mode and since you are not using one of the two groups for handshaking, you can even use the handshaking lines for static I/O. For more information, please look at the 653x user manual (start from page 2-2)

  • Why is my bandwidth limited in direct mode?

    I have 150 Mbps internet service. I am only seeing 20Mbps on my Air using Airport Express. I have two, they both have the same result.
    If I connect the Air to the modem (in bridge mode) directly through thunderbolt to ethernet, I get 150 Mbps, with either ethernet wire.
    If I connect the Air to the Airport Express directly through the same wire, and the Express connected to the modem in bridge mode, I get 20Mbps. Note that I did a hard reset, so the router should not be performing any functions. In this mode, the Airport Express does not show up in AirPort Utility as expected.
    How is it possible the Airport would be reducing the bandwidth to such a low level? I'm taking the modem back tomorrow, I'm wondering if it's going into some odd handshaking mode.
    Just FYI, Wifi in 2.4G and 5G result in same 20Mbps. I've verified the Air is in 802.11n mode.
    Thanks!

    I thought 802.11n was up to 300Mbps?
    "up to" means exactly that.....the product can operate anywhere up to 300 Mbps.
    But, "up to", does not mean that it will operate at 300 Mbps.
    Your actual wireless connection link is determined by a number of different factors. Some of these,  like interference, are beyond your control.
    But, for the sake of argument......let's say that the AirPort Express is operating at 270 Mbps.  That 270 Mbps will get choked down to 100 Mbps when it reaches the 100 Mbps port on the AirPort Express.  You have now lost 2/3 of the speed on the network.

  • Handshaking or i/o ??

    we have a system outputting digital data at 16 MHz, the high speed i/o card i'm using is the 6533 to input this data.
    The data rate is too high to input with pattern i/o, thats why we are using the burst handshaking mode kind of in a tricky way by setting the REQ line to a constant high voltage all time. we are actually getting data but do you think this is a reliable operation manner??

    Greetings,
    Unfortunately, this configuration is not absolutely reliable. The NI 6533 can stop acquiring data and de-assert the ACK line at any time. Unless you monitor the ACK line, it is likely that you will lose data and not know about it. To perform pattern input at 16 MHz, you may want to consider the NI 655x or NI 6534.
    Good luck with your application.
    Spencer S.

  • DAQ Assistant with multichannels causing Simulation Loop slow?

    Hi, another LabView newbie here.
    I have in a Real Time Target (NI 9132)  a Control & Simulation Loop with DAQ Assistant block inside, whose signals are fed into a Discrete State Space block. The discrete state space model has 1 second time step. I have set the Simulation Loop parameters so that it executes every 1 second as well (see Fig. A below). *sorry for the big white gap under the figures..
    The DAQ assistant acquisition mode is set as "1 Sampe (On Demand)".
    However, when I run the VI, the plot seemed to be updated much slower than 1 second rate. To confirm this, I put an "Elapsed Time" block inside the Simulation Loop. The "elapsed time" shows the actual time in seconds while the simulation plot show slower time (see Fig. B below).
    I tried to isolate the problem by removing the block one by one. Finally, I found out that this problem was caused by (at least) the DAQ Assistant which acquires multichannels data of NI 9214. When I remove some channels and leave one or two channels, the VI runs at the actual time (see Fig. C below). But when I added more channels reading, it became slower again. 
    Here is the snippet of the block diagram (after all other blocks were removed):
    What am I doing wrong here? I'm going to use all of NI 9214 channels so how not to have similar problem like this?
    I look forward to hearing any relevant comments from the members. Thanks in advance.
    Tian

    Hi Tian,
    why do you need a Sim loop anyway?
    - When it comes to speed you shouldn't use the DAQAssistent. Use basic DAQmx functions…
    - Use parallel running loops for each task. Put DAQmx functions in their own loop, running in parallel to your Sim loop…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Output in AT_DIO_32HS without caring for triggers

    I want to output data as a group of size 1 in a AT-DIO-32HS whenever I want to. Currently I have to change states of tha ACK line in order to accomplish this. Any ideas? No peripheral devices is currently connected.

    Hello,
    Your program with the AT-DIO-32HS probably has a start trigger configured, so you will have to wait for the trigger in order to output your digital patterns. By default when you start the digital output operation the program should immediately output the digital pattern in the buffer, unless you are using handshaking which requires certian states to be true on the handshaking lines in order to transfer data.
    I would recommend reviewing the examples that ship with NI-DAQ for the 653x devices, which includes the AT-DIO-32HS. The LabVIEW examples can be found by Search Examples -> I/O Interfaces -> Data Acquisition -> Digital Input and Output. You will want to find out what type of output operation you are doing such as Pattern I/O or one of the handshaking
    modes.
    For the CVI examples look under ../cvi/samples/daq/do

  • Digital Error

    i have a simple vi set up to reset my DAQ board (an AT-DIO-32F),
    and then configure a group containing port 0 for input, and then configure
    it to run in handshaking mode. I then configure a buffer to take a
    certain number of scans and use a buffer control vi to start the
    acquisition. WHen I try to run it, everything functions until I try to
    use the start command on the buffer. It gives me error -10008, with the
    possible reason that the specified group is invalid. I have no idea
    what's going on. If anyone could offer enough help to get this started, I
    can probably do it from there.
    The setup is an AT-DIO-32F and a PC-TIO-10 running in a Gateway
    Pentium 120. The PC-TIO-10 is reset at the beginning of the vi, but not
    accessed after that. I
    t's LabView V. 5.0.1.
    Thanks,
    Josh
    [See first answer for additional information]

    [Attachment(s) for question]
    Attachments:
    DIGIN ‏119 KB

  • Delay using block in with AT-DIO-32HS

    I inserted in a loop 4 sequential DIG_Block_In() calls to get input data with
    my AT-DIO-32HS in handshake mode.
    Before each call the program ensures that the previous transfer was completed,
    by means of DIG_Block_Check() calls, which indeed automatically call DIG_Block_Clear()
    at the end. The first call reads a small header (6 shorts) and retrieves
    how many data the next call should get. The second call reads that amount
    of data (which can be rather huge, say up to 2 Mbytes, dinamycally allocated).
    The third call reads a second header and the last call reads another huge
    block of data. This four operations must be repeated 100 times. What I experience
    is that the first time the loop is executed everything works fine,
    but before
    the second execution (getting next "first" header) the system waits for several
    seconds (!!). Note that the 4 calls use 4 distinct data buffers. I would
    avoid using double buffering in this case because my problem is really sequential
    and can be easily managed in the described way. Any help ?

    Hi Andreasz,
    Welcome to LabVIEW!
    Any time I start working with a new device I start by searching the examples that ship with LabVIEW.
    Goto search examples. Take a look at the examples located in
    Hardware Input and Output >>> Solutions >>> 653x Logic Analyzer
    There you will find four example that will get you sarted.
    If you find these lacking, let us know what needs changed and we may be able to help.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • DIO-32HS control line

    Dear I/O gurus,
    My configuration is the following :
    DAQ board : DIO-32-HS.
    DAQ config. : handshaking protocol 0 / 32 bits input on Grp1 (ports 0 to 3) / double-buffered
    Using this configuration, can I write to line PCLK2 and ACK2 (DIG_In_Line) and read from STOPTRIG2 and REQ2 (DIG_Out_Line) while the DAQ is running? The documentation is not clear about port4 usage.
    Thanks for your answer.
    NL.

    Hello;
    The 32HS board has two independent handshaking groups; thus you can have two independent tasks running on the same board.
    If you are using any handshaking mode though, the port 4 is used by the control lines and are not accessable. The only way to use port 4 as data lines is if you don't specify any handshake mode to either one of the two groups. So, the answer is no.
    Hope this helps.
    Filipe

  • How can I verify that the PCI-6534 is using all of its onboard memory?

    When using a PCI-6534 under Windows 98 with NI-DAQ 6.9, I need to transfer a small buffer (8126464 bytes) to the adapter, and get it into the onboard memory. The board is configured for 32 bits output, and I'm using handshake mode. DAQ_GET_DEVICE_INFO tells me that there is 33554432 bytes for each Group. DIG_Block_Check shows that 2031587 words (8126348 bytes) are remaining to transfer. Is that in the PC system memory or the PCI-6534 on board memory? How can I tell if it is safe to reuse the (PC side) buffer? Also, How big is the FIFO on the PCI-6534?

    When you call DIG_Block_Out, NI-DAQ first downloads your data into the 6534 memory. Only after the download is done (which should happen at about 80 MB/s) it starts outputting data and DIG_Block_Out returns. So it is safe for you to reuse your PC memory buffer as soon as DIG_Block_Out returns.
    This is assuming your entire buffer fits in memory. If it doesn't, NI-DAQ will download all the data that fits and start the transfer, and as more 6534 memory becomes available the DMA channel will fill it up.
    The 6534 has a 16 sample FIFO and an additional 32 MB of memory for each handshaking group. So for 32-bit transfers you can fit 8 MSamples, for 16-bit transfers you can fit 16 MSamples (per group), and for 8-bit transfers you can fit 32 MSamples (per group) in the 6534
    memory.

Maybe you are looking for

  • Problem in alv grid display (it is not filtering the data in print preview)

    Hi Every One, Its very urgent for me to deliver this report .... I applied sort criteria on my final internal table which is pupulated and then i passed to the function module... when i execute the program it is showing me the perfect output..when i

  • Best dual DVI video card for 2009 MP running Windows

    Sorry if this question has been posted before, or if I'm in the wrong forum. I searched the Windows Compatibility forum and didn't find the answer. I have a 2009 Mac Pro (8 core) running Windows Server 2008 64 bit. I would like to upgrade the stock G

  • Quartz Composer maximum file size for videos?

    I'm using the Movie Importer patch and large videos refuse to play. I had no trouble with a 16-minute, 249.6 MB file, but a 7-hour, 534.6 MB file doesn't work. The patch acts like I don't have a file selected at all: it doesn't output an image or a d

  • IBook working only when propped up

    Hi all, my iBook G4 has had its blips in past months, most notably not recognizing that the battery was inside. Nothing too major. It did this again a day or two ago. Then suddenly today programs started working extremely slowly and then crashing, pa

  • Why is the location bar missing after the latest upgrade?

    after upgrading to 10.0, the location bar disappeared.