LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot get instrument driver subVI to execute continuously

Hello,

 

I am trying to control and monitor an Agilent 6633B DC Power Supply over a GPIB-ENET/100. I am using the device driver available on through the NI website and have been using the subVIs provided.

 

My problem is that the hp66xxbc Measure.vi, which I am using to monitor the current and voltage, causes the instrument's LED display to blink when it is run continuously. I am placing the subVI into a while loop in order to watch the changes in current/voltage and I suspect that the reason for the blinking is that it is initializing the instrument every time it takes a reading (once a second).

 

The while loop is in place because I need to be able to update the current/voltage settings while the VI is running and I am stumped on how to resolve the two. The hp66xxbc Measure.vi uses a Call Library Function Node that is unlike the other subVIs in the driver. Another possible cause of this issue is that I am calling the instrument with two subVIs, one to set the current/voltage, the other to read them, and it may be switching between the two. This was not a problem with other drivers because I was able to utilize the same resource and error paths but the Call Library Function Node takes in a resource path and outputs a number. When I convert to a string and try to pass it through the instrument stops responding to remote commands even though the VI executes.

 

Is the nature of the hp66xxbc Measure.vi, with its Call Library Function Node, incompatible with the while loop I want to run it in? I am able to get everything to work how I want except for that blinking and I imagine this will be an even bigger problem when the instrument is put to work.

 

I would really appreciate any advice you can give. I apologize in advance if I did not explain my situation properly.

 

Thank you,

Yusif Nurizade

0 Kudos
Message 1 of 7
(2,449 Views)

Hopefully, someone will have a productive answer.

My not-so-productive answer is that I have rarely used an unmodified downloaded driver.

We almost always need to either: do things with an instrument that the driver's author did not allow; or do things more efficiently where the author allowed for flexibility instead.

SCPI text into VISA Write may be a useful backup option for you.

0 Kudos
Message 2 of 7
(2,433 Views)

Todd,

 

Thank you for the response. The subVI works fine "right out the box" but is written for single readings while I need it to work in the context of a loop. You're right in that I have had to modify pretty much everything I pulled out of drivers but I have so far been unsuccessful with this modification.

 

Furthermore, I am reluctant to tamper too much with the subVI itself because it is based on a .dll Call Library Function Node which I understand to mean that it is written in a different programming language. The book I am using to navigate LabVIEW (LabVIEW For Everyone by Travis & Kring) is emphatic about not messing with the Call Libary Function Node unless you know exactly what you are doing for fear of causing a much bigger problem.

 

If I understand your suggestion correctly, you are saying I should try to use VISA Write instead of using the subVI provided to query the instrument for the values I need? That does seem to be a good way to go. Does anyone else want to chime in?

 

Thanks,

Yusif Nurizade 

0 Kudos
Message 3 of 7
(2,417 Views)

What driver are you actually using and where did you get it from? The certified LabVIEW driver found when using Help>Find Instrument Drivers does not have a function called Measure and no where is there a function that uses a Call Library Function Node. The only drivers that use the Call Library Function Node are IVI drivers. Is there some reason you don't want to use the LabVIEW Project Style Driver?

 

edit - never mind. Just noticed you are using the B model and there is an IVI driver for that. All of the functions use the Call Library Function Node. Why don't you try the generic 6xxx driver?

0 Kudos
Message 4 of 7
(2,409 Views)

Dennis,

 

Thank you for the suggestion. I took a look at the 6xxx and it lists model 6633A, not 6633B as supported by the driver. As a matter of fact, the list includes only A models. Is it still worth giving it a shot or is the A/B a big deal?

 

Thanks,

Yusif Nurizade

0 Kudos
Message 5 of 7
(2,397 Views)
If you have access to NI-Spy, you may be able to see what SCPI commands are sent by the CLFN. Then you would know how much code to rewrite (perhaps just that one subVI).
0 Kudos
Message 6 of 7
(2,394 Views)

The differences between the A and B model is something you can ask Agilent. Often, the differences will be minor (i.e. max current/voltage) but the command set will remain the same.

0 Kudos
Message 7 of 7
(2,392 Views)