Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Placing a mask while Agilent 816x is sweeping, zeroing, or reading

Hi:

 

Does anybody know (or has an existing routine that does not use the hp816x_32 LabVIEW driver) how to code or execute a mask for Agilent 816x while it is sweeping, reading, or zeroing. It seems that placing an *OPC? in a loop does gives an error and does not guarantees waiting while this actions are performed. If anyone could place an advice, it would be very much appreciated.

 

By the way, I am controlling an Agilent 8163A and 8164A models using GPIB. Quite a bit new on this business.

 

Thanks,

PJ

0 Kudos
Message 1 of 4
(2,889 Views)

Hi Pee®Jay,

 

If I understand correctly, you can execute a mask, but not while the 816x is sweeping, reading, or zeroing.

 

Are you programming this in LabVIEW?  If so, why can't you use the Hewlett-Packard / Agilent Technologies hp816x Meter - IEEE 488.2 (GPIB) Driver for LabVIEW?

 

What error are you getting when using the *OPC? command in a loop?  Does the 816x not move onto the next command in the input queue until after the sweep has completed?

 

It sounds like you are able to use VISA to send and receive data.  If this question is dealing with what commands to send or whether or not the Agilent 816x can execute a mask while sweeping, reading, or zeroing, then you may want to contact Agilent.

 

Regards,

 

Brandon V.

Applications Engineering

National Instruments

www.ni.com/support

 

 

0 Kudos
Message 2 of 4
(2,876 Views)

Hello Brandon,

 

Thanks a lot for the reply. I had tried using the hp816x driver for Agilent; however I found it less useful since whenever I reopen a new session (using the hp816x Initialize) , the equipment resets to its default settings. My program uses a lot an event node configured to multiple events that handles determined test routines using Agilent TLS and Power meter. I also cannot use any of the block in the hp816x driver without using the Initialize block and whenever I execute a new routine in different events, I have to reconfigure the settings again and again.

 

I have tried visa with other equipment and they have 'SRQ mask' commands that you just need to send then use the VISA 'Wait for RQS' and the software will just wait until the whole operation being masked is done. It seems not working with Agilent using VISA. I find VISA advantageous as it does not resets settings applied to the hardware once you close each session or send the unit back to local mode.

 

And yes I am using LabVIEW.

 

Anyway, I created a subVI (as attached) that continously queries for power reading while on zeroing (in loop). In this way, the subVI routine will not end if a power reading is not fetch which is also an indication that the zeroing is done. I tried placing an OPC in a loop. It also works, but I am not sure if what I am doing are the right things, they are just mostly based on observations.

 

Best,

PJ

0 Kudos
Message 3 of 4
(2,871 Views)

Hi Pee®Jay™,

 

I don't see any SRQ mask commands for an Agilent 816x, but it looks like you could use either the *ESR? or *OPC? commands to get the functionality you want.  The Programming Guide has some good information on the commands, but I also found some information here that may be useful.  It appears that *ESR? must be used with *OPC.  The Event Status Register also contains bits to indicate errors, so using it would allow you to perform error checking as well as checking to see if the operation is complete.

 

Event Status Register bits.PNG

 

Regards,

 

Brandon V.

Applications Engineering

National Instruments

www.ni.com/support

 

 

 

 

0 Kudos
Message 4 of 4
(2,863 Views)