Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-DAQmx 9.2 to 9.6 upgrade: VI gives -200565 error now

My VI initializes /port0/line0:7 and calls Digital Write 1D U8 1Chan NSamp with U8 array of data. The VI worked fine for years up to DAQmx v. 9.2.

 

I upgraded drivers to v. 9.6 today and the VI gives me error -200565, and suggest to switch to U32 version of digital write, which than works fine. What's the reason to force U32? The channel is explicitly configured to 8 bits of data (/port0/line0:7 ). Is it a bug?

0 Kudos
Message 1 of 13
(4,472 Views)

what board do you have?

 

-gaving

0 Kudos
Message 2 of 13
(4,463 Views)

Fedor--

 

Thanks for posting to the forums. So I believe this is actually expected behavior that you're seeing. Since DAQmx respects line ordering within a port, it requires that the datatype used spans the full width of the port.

 

For example, if you want to write to every other line of the first 16 bits in the port, DAQmx will not accept just an 8 bit number that includes one bit for each of the lines you want to write. What you would need to do is specify each bit in the port, and then the lines that are not listed in the physical channels will not be affected. If you wanted to write only to the bottom 8 bits of the port, the API will cast your 8 bit number to 32 bits for the operation.

 

Regards,

National Instruments
0 Kudos
Message 3 of 13
(4,458 Views)

Actually it turned to be a bit more weird: I use the same VI to configure the task in two places in the application, followed by a call to DAQmx DO Write, and in one place it takes U8 write, in other it started demanding that I replace U8 call with U32 after upgrade to DAQmx 9.6. In 9.2.2 everything was U8 and working fine for ages. How weird is that?

 

The board model is 6361.

0 Kudos
Message 4 of 13
(4,452 Views)

Interesting...

 

Would you be able to post a snippet or screenshot of your code?

National Instruments
0 Kudos
Message 5 of 13
(4,449 Views)

I, too, am having a similar problem. 

 

I had some technical "coaching" for setting up a few relays.  I have LabVIEW 8.6 and am using cDAQ-9174 with module NI 9477.

 

In the loop I was specifying the binary code for eight channels.  I set my loop to run every 5 seconds.  The number of elements in my one-dimensional array way four (the exact numbers were 64, 32, 16, and 8).  According to what I was told everything should have worked out, but I get the error and don't know what to do about it.....HELP!!

 

Bunny

Download All
0 Kudos
Message 6 of 13
(4,043 Views)
The first thing to do is to change that dbl array to the correct U8 type.
0 Kudos
Message 7 of 13
(4,038 Views)

Hi Dennis,

 

Thanks for responding!  I don't think I have that option, or at  least I can't find the icon to insert into my array that makes it U8 type.   I have thoroughly searched under Control-->Modern-->Numeric and seemingly everywhere else, but I can't find it.  Can you give me where I can find it?

 

Cheers,

Bunny

0 Kudos
Message 8 of 13
(4,011 Views)

Never mind.  I found it.

 

Cheers

0 Kudos
Message 9 of 13
(4,009 Views)

...however, the pesky error remains. 

 

I also converted the timer to U8 to see if it would make a difference.  It didn't.

 

Any other suggestions?

 

The updated file is attached.

 

Cheers,

Bunny

0 Kudos
Message 10 of 13
(4,008 Views)