LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DIsplay Agilent E4438C ESG using NI-VISA GPIB

Hi,

 

I am currenty using labview to control Agilent E4438C to do a frequecny list sweep but how do I display the current frequecny the signal generator is at? I look through the VI in the instrument driver but I can't seem to find it. 

0 Kudos
Message 1 of 8
(3,648 Views)

Hi xsychox,

 

Have you tried typing 4438 at  http://sine.ni.com/idnetwork/

 

Here's the search results from there:

http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=410

 

Do you have a manual or data sheet for the device that has these commands? I did find some command manuals for that device here:
http://cp.literature.agilent.com/litweb/pdf/E4400-90506.pdf

http://cp.literature.agilent.com/litweb/pdf/E4400-90535.pdf

 

So perhaps you could give a try via NI VISA 

 

You can try the driver from the link I attached though.

 

Hope that helps

 

Warmest regards,

Lennard.C

 

 

Learning new things everyday...
0 Kudos
Message 2 of 8
(3,640 Views)

Yes I have look through all the examples in the instrument driver there. I can't seem to find any of the VI that is able to view the current frequency the signal generator is at. And I have also read that thread u mention before I asked this question. I have no problem controling the signal generator with all the instrument driver provided it is just that I do not know how to view the current frequency with labview, so I don't think it is a similar problem. 

0 Kudos
Message 3 of 8
(3,632 Views)

Sorry I am new to this commands how do I use this commands? I can type it in labview?

0 Kudos
Message 4 of 8
(3,622 Views)

Hi xsychox,

  

Yes, I believe you can. As long as you can detect the VISA resource of that Agilent device in LabVIEW (I believe you have already done that using the examples from the drivers).

 

Refer to figure 12 of the following link: http://sine.ni.com/np/app/main/p/ap/ictrl/lang/en/pg/1/sn/n17:ictrl,n21:25/fmid/6000/ 

 

VISA.JPG

 

From the example ablve, the code is sending a *IDN command to a VISA device (usually a 3rd party device) once and then read from the device's response from the command once before closing the VISA resource. You'll need to replace that *IDN with the appropriate commands based on the links which I provided in my previous posts.

 

You need to know the VISA resource name of the Agilent device in order to start communicating with the device. 

 

You can find more examples from NI Example Finder: Open LabVIEW >> Help >> Find Examples... to open NI Example Finder >> Under Search, search keyword "VISA" and it should list down examples related to VISA communications.   

 

 

Hope that helps

 

Warmest regards,

Lennard.C

Learning new things everyday...
0 Kudos
Message 5 of 8
(3,613 Views)
Typically, you set the frequency in code so there usually is no reason to read the frequency. It's certainly possible to do the query if you first do a VISA Write of the command and then a VISA Read. That's elementary.
0 Kudos
Message 6 of 8
(3,607 Views)

xsychox and others,

 

The fundamental problem is that the Agilent SCPI command set doesn't provide a way to get the value of the current step state (frequency or amplitude) in a free-running/triggered list sweep.

 

I understand the issue because I'm polling the actual injected power (which is not the same as the generator power) using an RF power meter and need to know the corresponding frequency.

(I'm polling the ESG about once every 500ms during an extended, like 20 minutes, BER test - the ESG just happens to be the instrument that I'm using for an impariment source).

 

The only solution that I have right now is to poll the ESG at the same rate as the dwell time per step and get a coarse approximation of the frequency based on time after the sweep is initiated.

It's not as accurate as I'd like, but without a supported command it's a bit difficult.

 

The other solution that I've considered is to emulate the list sweep by keeping my sweep list table in LabVIEW and then writing a loop to force each value using standard frequency and amplitude commands.

When you are in the normal CW mode, the ESG driver frequency query works fine.

 

I haven't implemented this because it's a bit of a change to some legacy code and I haven't had time to experiment with the implementation.


I hope this is helpful.

0 Kudos
Message 7 of 8
(3,457 Views)

Pete@Intel wrote:

xsychox and others,

 

The fundamental problem is that the Agilent SCPI command set doesn't provide a way to get the value of the current step state (frequency or amplitude) in a free-running/triggered list sweep.

 

I understand the issue because I'm polling the actual injected power (which is not the same as the generator power) using an RF power meter and need to know the corresponding frequency.

(I'm polling the ESG about once every 500ms during an extended, like 20 minutes, BER test - the ESG just happens to be the instrument that I'm using for an impariment source).

 

The only solution that I have right now is to poll the ESG at the same rate as the dwell time per step and get a coarse approximation of the frequency based on time after the sweep is initiated.

It's not as accurate as I'd like, but without a supported command it's a bit difficult.

 

The other solution that I've considered is to emulate the list sweep by keeping my sweep list table in LabVIEW and then writing a loop to force each value using standard frequency and amplitude commands.

When you are in the normal CW mode, the ESG driver frequency query works fine.

 

I haven't implemented this because it's a bit of a change to some legacy code and I haven't had time to experiment with the implementation.


I hope this is helpful.


I think the second solution is the best option.  I think the reason why you can't get query the instrument during a sweep is because that sweep is a single command.  The next command cannot start until the last one completes.

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 8 of 8
(3,438 Views)