Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Digital Block Input

I wish to know why my LW-CVI program with NI-DAQ 6.51 works perfectly using
the Dig_Block_In function on an AT-DIO-32HS only once. I mean, if the program
restarts, I read perfectly data from the peripheral device connected to the
board, but if I push again my "acquire" button, which indeed starts DIg_block_in,
the program does not acquire anymore. I do not want to use Init_DA_Brds every
time I wish to perform a Dig_Block_In ...
Thanks !
0 Kudos
Message 1 of 3
(2,433 Views)
Marco,

I had the same problem about a year ago. I was using LV versions 4.0 and
5.0 with the AT-DIO-32HS. I'm not sure which NI-DAQ versions, I think
they were 6.1 or so. I had applications using DIG_Block_In which were
working great until we started upgrading LV to versions 5.0.1 and 5.1,
and NI-DAQ to versions 6.5 and 6.51.

I'm not exactly sure what the problem was. I got nowhere with NI's tech
support. They kept telling me not to use the "Call Library Function" VI
and to use the LV API DAQ VI's instead. But the reason why I was using
the CLF VI (nidaq32.dll) was that I couldn't get my aplication to work
using the LV API. They weren't able to do it either.

Eventually I got a local sales rep to visit and he agreed that the
problem was in the upgrades. It has something to do with the
"Measurement and Automation" software that NI started around that time.
When we downgraded the software to before the M&A came out, the
applications worked as before. The sales rep said he would give that
info to the engineers and that's the last I heard of it. So now I just
re-init the board before every DIG_Block_In because that's not a big
problem for my application. However, I'm not happy with the way this was
treated by NI. Upgrades shouldn't break existing applications. And I
don't think they've fixed this.

Try downgrading to NI-DAQ 6.1 or 6.0 and see if your problem goes away.

Mike



In article <387b080d@newsgroups.ni.com>,
"Marco Sartore" wrote:
>
> I wish to know why my LW-CVI program with NI-DAQ 6.51 works perfectly
using
> the Dig_Block_In function on an AT-DIO-32HS only once. I mean, if the
program
> restarts, I read perfectly data from the peripheral device connected
to the
> board, but if I push again my "acquire" button, which indeed starts
DIg_block_in,
> the program does not acquire anymore. I do not want to use
Init_DA_Brds every
> time I wish to perform a Dig_Block_In ...
> Thanks !
>


Sent via Deja.com http://www.deja.com/
Before you buy.
0 Kudos
Message 2 of 3
(2,433 Views)
I had the same problem and using DIG_Block_Clear didn't help but I got around it this way. We call DIG_Block_In() after init one time then we call DIG_Block_Check(),DIG_Block_In() and DeferredCallbackPtr() in the read_in function that is call by the acquire button.
Not sure if this can help you, we're using CVI, NT and I can't remember what version of DAQ. Note: that the variable return by DIG_Block_Check() will let me know if I can call DIG_Block_In(). i.e. items left then no call to DIG_Block_Check() is done.
0 Kudos
Message 3 of 3
(2,433 Views)