LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

No listener on the GPIB

Hi,

I have code where I connect to the camera with eBUS SDK drivers. I have DLL for it and use it in Labview. But when I run this code, after few hour (in last case camera with 55 FPS it was 5 hours) will apear error in subVI PvPipeline_Retrieve Next Buffer or PvBuffer_Image:

Labview  - memory is full

Ni-488 - no listeners on the gpib

 First what I try was close all references what is created in while loop but its not help. When I look to Profile: Performance and Memory or Task Manager, there is no memory growth. 

Now I have no suggestion where is problem, please can anyone help me with this problem?

 

My code (for run the code is camera and eBUS SDK installed necessary, main VI is Main) and error is in Attachments.

Download All
0 Kudos
Message 1 of 5
(4,068 Views)

Here is screen of code and marked where the error occurs

Code.PNG

0 Kudos
Message 2 of 5
(4,042 Views)

Not sure about the error yet, but I do have one suggestion.  Use "Index Array" and index the 0 element instead of the "For Loop".  With the For Loop, you are only getting the LAST element, whereas with the index array (set up as above) you will get the FIRST.  Now it probably deosn't matter to you right now because the subVI is probably returning an array of one element - so "FIRST" and "LAST" have no meaning - but if this ever changes, you'll be scratching your head trying to figure out why it seems you are addressing the wrong equipment (answer: because you ARE).

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 5
(4,036 Views)

Thanks for suggestion, it will be better with Index Array. But there is not problem, because error occurs in while loop.

0 Kudos
Message 4 of 5
(4,032 Views)

Dear Vávra,

 

this error code has multiple descriptions because it is used by multiple drivers. It is used by the 488.2 driver and native LabVIEW alike. In your case, since there are no calls to the 488.2 driver, the LabVIEW description is the one that holds: Memory is full.

 

In your code, I've seen that you reserve a buffer, get an image, then release the buffer. As the code runs out of memory after some time, this means that you have a memory leak somewhere, and the memory used by the application keeps increasing as time goes by.

 

My advice is to check the release functions, if they behave properly. The best solution would be (if possible) to not reserve memory inside the loop, but instead, reserve it during initialization and use the same buffer throughout the code run.

 

Regards:

 

Andrew Valko
National Instruments Hungary
0 Kudos
Message 5 of 5
(3,951 Views)