08-09-2012 06:13 PM
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?
08-10-2012 10:40 AM
what board do you have?
-gaving
08-10-2012 11:03 AM
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,
08-10-2012 11:23 AM
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.
08-10-2012 11:43 AM
Interesting...
Would you be able to post a snippet or screenshot of your code?
11-27-2015 03:24 PM
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
11-27-2015 03:45 PM
12-01-2015 08:13 AM
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
12-01-2015 08:17 AM
Never mind. I found it.
Cheers
12-01-2015 08:29 AM
...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