Hi all!
I've got a rather complicated application that instantiates some processes from a template in LabVIEW 7.1. All those processes need to access two NI-PCI4070 DMMs. The access in all processes is protected by semaphores. The devices are initalised and resetted within the main parental VI; the instrument handle ist stored in a Global where the processes can access 'em. Works fine as far as I can say.
BUT
whenever I abort one of the processes during debugging, I run into trouble.
1. When a DAQ process in the DMM was initaited and not yet finished, it will hang in all following calls until I stop LabVIEW. LV itself tries forever to stop that DAQ process. When I finally give up and abort LV, a BSOD appears due to locked pages. I understand this, but the driver call to NI-DMM should return after its timeout period has expired, should'nt it?
2. When there was no running DAQ process in the DMM, all following calls will create a timeout error:
'Error -1074126845 occurred at niDMM Read Multi Point.vi
Possible reason(s):
Driver Status: (Hex 0xBFFA2003) Primary Error: (Hex 0xBFFA2003) Max Time exceeded before operation completed.'
This must have to do with the NI-PXI 1010 chassis the DMMs reside in, as neither a restart of the VI or LabVIEW nor a reboot of the PC does fix this. In order to fix this I have to shut down the whole rig including the 1010 chassis and restart all.
The DMM part of the app is based on the example 'Acq & Graph Multiple Samples.vi'. I simply have placed the initialisation and shutdown part of this into another part of the app.
I tried to experiment with the example to force this error with no luck.
Any clues on how to fix this?
TIA and
Greetings from Germany!
--
Uwe