LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Call Library Node error

I have just built a VI to raster scan a peizo stage (using two AO's from a pci-6014) while acquiring data from a pair of Ortec counter cards though ActiveX.    Earlier VI's using no raster scanning worked perfectly fine.  Now I always get the error "An exception occurred within the external code called by a Call Library Node.  This might have corrupted Labview's memory.  VI "rasterscan_MCScards_v4.vi" was stopped at node 0x19E4 of subVI "DAQmx Start task.vi"  Then LabVIEW crashes and must be closed using the Windows task manager. 

I've read through the numerous forum threads discussing this error, but my situation seems to be unique in that the error always happens immediately after hitting the Run button.  Following one thread I tried adding the line "extFuncCatching= 0" to my Labview.ini file, but that just made Labview crash in a different way each time.  Removing the line returned the original error.  Following another thread I removed the pci-6014 board, upgraded to the most recent verion of NI-DAQ (8.0.1), then put the 6014 board back in.  I still get the same error.  I also tried defragmenting my hard drive, which didn't help either. 

I suppose this could be a memory management problem, but if that's the case I don't know how to start finding a solution. Any help would be appreciated.

The VI is attached.  In a nutshell, I'm using a pair of synchronized timed loops to do the raster scanning, both of which are timed using ticks put out by the Ortec counter card. 

0 Kudos
Message 1 of 6
(2,681 Views)
I've attached a much smaller and more transparent VI containing the basic elements of the synchronized raster scan routine.  It still exhibits the same 'Call Library Node' error. 

Any help would be appreciated. 
0 Kudos
Message 2 of 6
(2,667 Views)
Here I have attached an almost identical VI which does not show the error (yet).  I'm going to continue building this one up to include data collection from the Ortec MCS cards via ActiveX.

Can anyone tell me what the source of the error was? I don't want the solution to just be trial and error.  It makes me uneasy.
0 Kudos
Message 3 of 6
(2,660 Views)
Hi ianshapiro,

I tried running your code and was not able to reproduce the error that you described.  I did have to make a couple of modifications to get the code to work.  First of all, there was no need for the "DAQmx Is Task Done" VI, so I took that out.  Secondly, I could not get the program to work with the instance of the "DAQmx Create Timing Source" VI that you had selected, but when I changed the instance to "Frequency," it worked fine.  Rather than trying to get a 20 MHz signal and then divide by 200000 and 20000 to get 100 Hz and 1000 Hz respectively, I just generated a 1000 Hz signal, and then divided by 10 to get 100 Hz.  I also added a couple of indicators to the front panel to view the loop counts.

I'm not sure what could be causing the error you are getting.  I am running LabVIEW 8.0 on Windows XP and I have DAQmx 8.0 installed.  The program that I've attached below worked great on this system.  Let us know if your software versions are any different.

BTW, I started from the code in your second post.

Best regards,

Message Edited by Jarrod B. on 04-14-2006 03:08 PM

Message Edited by Jarrod B. on 04-14-2006 03:09 PM

0 Kudos
Message 4 of 6
(2,663 Views)
Thanks for your response Jarrod.  I was using "DAQmx Create Timing Source" because the source of my clock ticks is the output from the Ortec MCS cards (they put out a ttl pulse when advancing each time bin).  I had it set to use the 20mHztimebase in my example code because I knew nobody else trying to run the VI would have the MCS cards. 

I took your modified VI,  changed 'Frequency' back to 'Digital Edge (Counter)' and wired it to Dev2/PFI0 (the source of the MCS ticks).  The error was gone. 

Everything works at the moment.  But I'm still suspicious. 

But thank you for your help. 
0 Kudos
Message 5 of 6
(2,651 Views)
I built my program back up to the full raster scanning/photon counting routine, checking at each step to make sure it worked.  Everything was fine for a few hours.  Then Labview started freezing up.  I went all the way back to raster_scan_trial_v1_modified.vi and tried that out, and still Labview froze up.  It was working just fine a few hours ago. 

Restarting the computer has no effect.

This must be an OS or memory corruption problem.  Does anyone know how I'd go about fixing it?  I'm using Labview 7.1 on Windows XP.  I don't think I even have the original LabView discs anymore. 
0 Kudos
Message 6 of 6
(2,646 Views)