Keysight PNA cXL Frequently Asked Questions

 

For other PNA and ENA FAQs go here. This link supports questions related to legacy program conversions for PNA.

PNA Software Migration FAQs

These FAQ's relate to using the PNA cXL software as a software migration tool. The questions relate to various system issues and specific programming problems. Please note that the answers to some of these questions will vary depending upon software revision. You may want to upgrade your cXL to the latest version. If your question is not answered here, contact your local Agilent field office or contact the factory at: CTD-SoCo_support@agilent.com.


Questions

General

  1. Does it matter what the user program was written in?
  2. Is there a penalty in “speed” when using the Code Translator?
  3. Does shutting down the PNA shuts down the Code Translator (cXL application)?
  4. Does re-booting the PNA re-activates the Code Translator?
  5. Does it matter if the user program runs on a PC or a UNIX machine?
  6. How are error codes/messages handled?
  7. Does the PNA generate error when encountering “Commands Not Supported”?
  8. While running cXL, can I select “Local Mode” and perform troubleshooting?
  9. Has 85161B been tested with cXL?
  10. Does cXL support Bit 4 of the primary Status Byte for the 8510C? (need to set timing for End of Sweep)
  11. For cXL to work, the normal PNA talker/listener behavior must be disconnected. How does the cXL application disconnect the GPIB hardware from the PNA application?
  12. What does the PNA application do when “system controller” is enabled?
  13. What is the state of the GPIB bus when cXL is running?
  14. Is there any way to log the command parameter(s)?     I.e. “POWE 10” instead of just “POWE”  - it would help a lot, when you do not have access to the customer source code.
  15. Is it possible to “block” commands by pointing them to a vbs file?    We would probably need to block the “IFBW” command, as it sets the PNA to 70 Hz i/f BW, thus slowing the sweep time to  approx. 0.6 seconds, the 8719 runs a lot faster. Using 1 kHz seems to make the PNA update similar to the 8719.
  16. The commands “LINFREQ,EDITLIST” is not recognized by CxL, however it seems that the 8719 does accept it, even though the command separator should be “;”?

Calibration

  1. Can cXL handle a remote download of Defining a cal kit?
  2. A cXL application is set up so that the customer must go to local to perform a calibration. This can cause problems. How can we avoid this problem?
  3. Can you provide me some VBS examples, like how to implement “CALIRESP?” and return a 0 or 1 depending on a PNA query for a S21 cal?

ANSWERS

General

  1. Does it matter what the user program was written in?
    No. It does not matter which language the user program was written in. Programs could have been written in RMB (Rocky Mountain Basic) or HPL (Hewlett Packard Language) or HP VEE or LabView.
  2. Is there a penalty in “speed” when using the Code Translator?
    No, there shouldn’t. The measurement speed of the PNA Series is so fast that there is essentially no penalty in speed. Specifics will depend on case by case.
  3. Does shutting down the PNA shuts down the Code Translator (cXL application)?
    Because the PNA application is a separate application and runs somewhat independently from the cXL application, the answer really depends. Here are some rules:
    When the cXL application is initially launched, the cXL application will look for the PNA application. If the PNA application is not running, the cXL application will launch the PNA application.
    When the instrument completely shuts down (CTL-ALT-DEL), all applications on the instrument will be stopped, including the cXL application.
    When only the PNA application is shutdown, this does NOT automatically shutdown the cXL application. In the case where the cXL application is running and the PNA application is not running, the cXL application will continue to parse GPIB bus traffic. This usually does not cause any problems, and the typical response to commands will be the log-entry, “Unexpected Failure.”
    If both applications are running and the box is put into hibernation, both applications will attempt to run again after you exit hibernation.
    The cXL application can be shutdown independently while the PNA application continues to run. When the cXL application is shut down, responsibility for GPIB parsing is given back to the PNA application.
  4. Does re-booting the PNA re-activates the Code Translator?
    No, re-booting from a complete shutdown does not automatically restart the cXL application. The cXL application would have to be launched separately.
  5. Does it matter if the user program runs on a PC or a UNIX machine?
    No. The cXL application does not care what type of computer the user program is running on. The application only needs to have a GPIB connection.
  6. How are error codes/messages handled?
    All GPIB bus traffic is logged. This includes any errors that may happen. Errors can be detected by the status reporting system, and they can also be read by specific commands.
    For example, the “OUTPERR” command can be used to read errors. The “OUTPERR” command returns an error code and a string in the same way as the 8510. But, the contents of the string will differ.
    In general, the “OUTPERR” command returns a numeric value followed by a string:
    0, “OK: CMD”
    2, “CAUTION: See Explanation: CMD, Description”
    3, “CAUTION: Syntax Error: CMD, Description”
    4, “CAUTION: Not Supported: CMD, Description”
    6, “CAUTION: Not Recognized: CMD, Description”
  7. Does the PNA generate error when encountering “Commands Not Supported”?
    The cXL application traps this event as an error. Users may also enable HALT on Error to stop program execution when “Command Not Supported” happens.
    In addition to taking no action, the cXL application will generate a status error on Not Supported for the 8720/8753.
    The HELP manual describes additional information related to status error reporting under the cXL Issues topic.
  8. While running cXL, can I select “Local Mode” and perform troubleshooting?
    While running cXL, it is possible to select “Local Mode” to use the front panel keys. However, please be advised that it is not a good idea to make any changes regarding GPIB control via the SICL/GPIB dialog box. Any changes will cause communication confusion and disruptions among applications (ex., PNA and cXL) which could result in the “blue-screen” defect.
    Plus, any changes in setting made on the front panel are not known to the remote program, thus, when you return to the remote application, there will be errors due to “new settings” not recognized by it.
    Therefore, it is advisable not to toggle back and forth between Local and Remote simply for curiosity.
  9. Has 85161B been tested with cXL?
    No, it has not been tested with cXL.
  10. Does cXL support Bit 4 of the primary Status Byte for the 8510C? (need to set timing for End of Sweep)
    Yes, cXL is designed to support Bit 4 when in 8510 mode.
  11. For cXL to work, the normal PNA talker/listener behavior must be disconnected. How does the cXL application disconnect the GPIB hardware from the PNA application?
    The PNA application releases GPIB hardware responsibility when the cXL application instructs the PNA to load the NI device driver. The NI device driver is loaded when the PNA application is set to “system controller” mode.
  12. What does the PNA application do when “system controller” is enabled?
    Nothing. The cXL application is doing all the work if it’s running. For normal instrument operation, the PNA application will not attempt to access the GPIB hardware when set to “system controller” mode. This mode is intended for use when Power Meter calibrations are requested. Power meter calibrations are not supported when cXL is running.
  13. What is the state of the GPIB bus when cXL is running?
    Talker Listener. When cXL is running and when PNA is set to “system controller” mode, the cXL application has ownership of the NI device driver. The cXL application responds to GPIB bus traffic as a “Talker/Listener” mode even though the PNA application thinks the GPIB is set for “system controller.” The display information on the PNA may indicate “system controller.” If cXL is running, it’s OK to ignore this display.
    Known Defect: When a customer tries to verify the state of the GPIB mode from the PNA front panel, a blue screen can result. The defect is the result of an internal unexpected resource conflict. The workaround, for now, is to avoid pushing the buttons related to GPIB bus state from the PNA front panel.
  14. Is there any way to log the command parameter(s)? I.e. “POWE 10” instead of just “POWE”  - it would help a lot, when you do not have access to the customer source code.?
    Currently cXL does not support logging command parameters. This request is logged into the system for future consideration.
    In the meantime, it’s possible to create a user-defined command macro that can display command parameters. User defined macros written with VC++ can report parameters, for example, with a Windows pop-up. An example VC++ project is included on the cXL Developers web page that demonstrates the basic framework needed to write user defined macros with Microsoft Visual Studio VC++.
  15. Is it possible to “block” commands by pointing them to a vbs file? We would probably need to block the “IFBW” command, as it sets the PNA to 70 Hz i/f BW, thus slowing the sweep time to  approx. 0.6 seconds, the 8719 runs a lot faster. Using 1 kHz seems to make the PNA update similar to the 8719.
    Ans. Yes. You can block any command by specifying a command as being user defined. If the user-defined command is a do-nothing command, do not specify an executable file. This will cause the cXL to read the command and do nothing.
  16. The commands “LINFREQ,EDITLIST” is not recognized by CxL, however it seems that the 8719 does accept it, even though the command separator should be “;”?
    cXL supports this syntax in revisiaon A.01.10, along with "LOGFREQ,EDITLIST".

    Back to Questions

Calibration

     
  1. Can cXL handle a remote download of Defining a cal kit?

    (a). Technically, the cal kit programming commands are supposed to work.  Practically, there may be messy issues. The commands are supported but not thoroughly tested. 
      The best way to proceed with legacy cal kit software would be to first delete all previous cal kits from the PNA.  Try clearing away all the existing cal kits.  Then proceed to send the cal kit modification commands.
      “SENS:CORR:CKIT:CLEAR” can be used to delete all previous call kits.
      When the first cal kit command is sent, the PNA software will try to append a new PNA formatted cal kit.  The original cal kit commands will attempt to modify parameters of standards within the newly appended kit.

    (b). If the user is loading cal kit files from a file system, 8510 cal kit 1 and 8510 cal kit 2, the old cal kits would need to be first converted to PNA cal kit format before being imported into the PNA cal kits list.
      “SENS:CORR:CKIT:IMPORT FileNamePath.ckt” can be used to import an PNA formatted cal kit.
      Beware, the issue with cal kits can be very time consuming.  It’s almost better to start from scratch to ensure a good result.

  2. A cXL application is set up so that the customer must go to local to perform a calibration. This can cause problems. How can we avoid this problem?
    The cXL software attempts to maintain a copy of the PNA istate. When instrument state is modified as a result of going to local, the PNA instrument state may not match the instrument state stored in cXL. This can cause unexpected behaviors. It’s recommended that solutions be developed that minimize the need to Go To Local. In particular calibration requirements are likely to introduce software transition issues. A growing list of example calibrations is being added to the cXL user defined macro examples list.
    See the cXL Developers web page for the most recent additions related to calibration or download the latest cXL software revision. Recently added user defined macros are included in the cXL Applications sub folder on the target analyzer.
  3. Can you provide me some VBS examples, like how to implement “CALIRESP?” and return a 0 or 1 depending on a PNA query for a S21 cal?
    A new example program demonstrates how to write a VBS program that performs a simple response cal, “RESPONS_UNGUIDED.vbs”. The program is automatically included in the latest cXL software revision, A.01.10. The program is also available on the cXL Developers web page.
    In cXL version A.01.10 and later, command queries can be overwritten. Overwritten command queries return a “1” by default. Otherwise, unsupported command queries return a “0”. Use the feature to change the result returned from unsupported queries”.

    Queries such as CALIRESP? and CALRAI? cal type queris are supported in cXL revision A.01.10. But, these queries, or any query,can also be assigned to a NULL execute file. From the cXL Debug Log windows, select Configure drop-down menu. Select Options Setup…, select the User Defined Commands tab, select Add… From the Add User Defined Command dialog, select a command choice in the Command Name drop combo box. Leave the Executable text box empty. Press OK. Overwritten queries, by default, return “1”. Unsupported queries return “0”.

    Back to Questions


Appendix

Getting HP/Agilent BASIC for Windows to Work from within the PNA

Getting BASIC for Windows to run properly on the PNA can be a bit difficult. While the installation of the product usually goes well, addressing both the PNA and devices connected to the GPIB is not intuitive. This document shows step-by-step instructions for doing this. The use of HP/Agilent BASIC for Windows version 7 or higher is assumed. An Internet LAN connection is also assumed.

  1. Obtain the Agilent IO library version J.02.00 or newer. It can be obtained at the following site:
    http://www.agilent.com/find/iolib
    The product number is E2094J and is about 7MB in size. Registration (free) may be required.
  2. Install the IO library onto the PNA (assuming it is newer than what is currently installed.)
  3. If BASIC for Windows is not already installed on the PNA, do it now.
  4. Click on Start, Programs, Agilent IO Libraries, IO Config. Notice that the internal PNA Instrument will have already been assigned a SICL Interface name of hpib7.
  5. Double-click on SICLon NI GPIB. The GPIB Interface Configuration screen will be shown (unless it has already been configured). Accept all defaults. Note that the SICL Interface name will be gpib1. Click OK to exit this screen and the next.
  6. If the PNA Application is not running, start it now. Once it starts, click on System, Configure, SICL/GPIB. Click on System Controller to make this active, then click on SICL Enabled. Click on OK to exit this screen.

    Note that once SICL Enabled has been selected, it cannot be unselected. These settings will revert to an un-enabled status if the PNA application is shut down for any reason and will have to be re-enabled!
  7. Using Windows Explorer, browse to the directory containing HP BASIC for Windows (typically C:\Program Files\HP BASIC for Windows.) Locate the file HPIBS.DW6. Right-click on this and select Copy, then right-click again and select Paste. This will copy the file and name the copy "Copy of HPIBS.DW6." Right-click on this file name and select Rename, then rename this copied file to HPIBS2.DW6. Close Explorer
  8. Run the HP BASIC for Windows application. After it starts, select Edit, then press Enter. This will display the code for the Autost (Auto Start) program.
  9. Scroll down to the GPIB drivers section. On HPBW version 7, this was around line 350; yours may vary! Look for the line containing LOAD BIN "HPIBS". Change this line to:
    350 LOAD BIN "HPIBS;DEV hpib7 ISC 7 TIMEOUT 10"
  10. Insert another line just below the above line. Add the following code:
    351 LOAD BIN "HPIBS2;DEV gpib1 ISC 8 TIMEOUT 10"
  11. Click on File, Save. Then, re-run HP Basic For Windows.

At this point, you should be able to write to the internal PNA device as follows:

100 OUTPUT 716; "SYST:PRES;*OPC?"
110 ENTER 716; opc

To write to a device at address 03 that is attached to the PNA's GPIB connector, use:

150 OUTPUT 803; "*idn?"
160 ENTER 803; id$

In the above example, all communication with the network analyzer must be done at address 716, and all communication with external GPIB devices must be done using Interface Select Code 8 (i.e. addresses 800 through 831).

If you still can't talk to any GPIB device, check the status of the National AT-GPIB/TNT card in Windows Device Manager, and reinstall if necessary. Note that the GPIB card is not a plug and play device. This means the IO address, DMA and IRQ must be set precisely.
The IO address range is 02C0-02DF
The Interrupt Request is 09
The DMA channel is 05

If all else fails, contact Agilent support for help.


 

Getting HP/Agilent VEE to Work (via COM) from within the PNA

Getting VEE for Windows to run internally on the PNA can be a bit difficult. While the installation of the product usually goes well, addressing both the PNA and devices connected to the GPIB is not intuitive. This document shows step-by-step instructions for doing this. The use of VEE version 6 or higher is assumed. In this example a COM interface is configured for communication to the PNA, while SCPI is used for GPIB communications.

  1. If VEE is not already installed on the PNA, do it now.
  2. If the PNA Application is not running, start it now. Once it starts, click on System, Configure, SICL/GPIB. Click on the System Controller checkbox to make this active. Click on OK to exit this screen. For now, you may want to minimize the PNA application by selecting View, Title Bars, then minimizing the application.
  3. Run the Agilent VEE application (Start, Programs, Agilent VEE Pro 6.0.) After it starts, select Device, ActiveX Automation References. The registered automation services will be displayed, the Agilent PNA will NOT be shown.
  4. Select Browse. Then, change the "Files of type" pull-down menu to read "All Files." Browse to the directory C:\Program Files\Agilent\Network Analyzer. Highlight the file 835x.exe and select Open. The window will close and the Agilent PNA Series 1.0 Type Library will now appear and will be checked. Select OK.
  5. The Classes and members of the PNA Type Library can now be seen by selecting Device, Function & Object Browser. You are now ready to start programming the PNA via COM.
  6. Instruments connected to the PNA's GPIB port must addressed via GPIB commands to device 14. In other words, a power meter at address 13 must be addressed as 1413. If this is not set up properly, run the Agilent IO configuration program. Note that the same GPIB interface may appear twice, one being at device 8 and the other at device 14. Use device 14.

If all else fails, contact Agilent support for help.


Last Updated: April 07, 2008