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 !
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.
In article <email@example.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.
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.