Service Manuals, User Guides, Schematic Diagrams or docs for : Agilent HP N3300A_252C 01A_252C 02A_252C 03A_252C 04A_252C 05A_252C 06A Programming Guide

<< Back | Home

Most service manuals and schematics are PDF files, so You will need Adobre Acrobat Reader to view : Acrobat Download Some of the files are DjVu format. Readers and resources available here : DjVu Resources
For the compressed files, most common are zip and rar. Please, extract files with Your favorite compression software ( WinZip, WinRAR ... ) before viewing. If a document has multiple parts, You should download all, before extracting.
Good luck. Repair on Your own risk. Make sure You know what You are doing.




Image preview - the first page of the document
HP N3300A_252C 01A_252C 02A_252C 03A_252C 04A_252C 05A_252C 06A Programming Guide


>> Download HP N3300A_252C 01A_252C 02A_252C 03A_252C 04A_252C 05A_252C 06A Programming Guide documenatation <<

Text preview - extract from the document
                          Programming Guide
                          Agilent Technologies
                          DC Electronic Loads
                    Models N3300A, N3301A, N3302A,
                  N3303A, N3304A, N3305A, and N3306A




Part No. 5964-8198                                     Printed in U.S.A.
Microfiche No 5964-8199                                November, 2000
Safety Summary
The beginning of the electronic load User's Guide has a Safety Summary page. Be sure you are familiar
with the information on this page before programming the electronic load from a controller.



Printing History
The edition and current revision of this manual are indicated below. Reprints of this manual containing
minor corrections and updates may have the same printing date. Revised editions are identified by a new
printing date. A revised edition incorporates all new or corrected material since the previous printing date.
Changes to the manual occurring between revisions are covered by change sheets shipped with the
manual.

This document contains proprietary information protected by copyright. All rights are reserved. No part of
this document may be photocopied, reproduced, or translated into another language without the prior
consent of Agilent Technologies. The information contained in this document is subject to change without
notice.




 Copyright 2000 Agilent Technologies                                  Edition 1 _________August, 2000
                                                                      Update1 _________November, 2000



2
Table of Contents
 Safety Summary                                    2
 Printing History                                  2
 Table of Contents                                 3




1 - GENERAL INFORMATION                           9
 About this Guide                                  9
   Documentation Summary                           9
 External References                               9
   SCPI References                                 9
   GPIB References                                10
 VXIplug&play Power Products Instrument Drivers   10
   Supported Applications                         10
   System Requirements                            10
   Downloading and Installing the Driver          10
   Accessing Online Help                          11




2 - INTRODUCTION TO PROGRAMMING                   13
 GPIB Capabilities of the Electronic Load         13
   GPIB Address                                   13
 RS-232 Capabilities of the Electronic Load       14
   RS-232 Data Format                             14
   RS-232 Flow Control                            14
 Introduction to SCPI                             15
   Conventions Used in This Guide                 15
 Types of SCPI Commands                           15
   Multiple Commands in a Message                 16
   Moving Among Subsystems                        16
   Including Common Commands                      16
   Using Queries                                  17
 Types of SCPI Messages                           17
   The Message Unit                               17
   Headers                                        17
   Query Indicator                                18
   Message Unit Separator                         18
   Root Specifier                                 18
   Message Terminator                             18
 SCPI Data Formats                                18
   Numerical Data Formats                         18
   Suffixes and Multipliers                       19
   Response Data Types                            19
 SCPI Command Completion                          19
 Using Device Clear                               20
 RS-232 Troubleshooting                           20
 SCPI Conformance Information                     21
   SCPI Conformed Commands                        21
   Non-SCPI Commands                              21




                                                   3
3 - PROGRAMMING EXAMPLES                                               23
    Introduction                                                       23
    Programming the Input                                              23
      Power-on Initialization                                          23
      Enabling the Input                                               23
      Input Voltage                                                    23
      Input Current                                                    24
      Setting the Triggered Voltage or Current Levels                  24
    Programming Transients                                             25
      Continuous Transients                                            25
      Pulse Transients                                                 25
      Toggled Transients                                               26
    Programming Lists                                                  26
      Programming Lists for Multiple Channels                          28
    Triggering Transients and Lists                                    29
      SCPI Triggering Nomenclature                                     29
      List Trigger Model                                               29
      Initiating List Triggers                                         30
      Specifying a Trigger Delay                                       30
      Generating Transient and List Triggers                           30
    Making Measurements                                                31
      Voltage and Current Measurements                                 31
    Triggering Measurements                                            33
      SCPI Triggering Nomenclature                                     33
      Measurement Trigger Model                                        33
      Initiating the Measurement Trigger System                        34
      Generating Measurement Triggers                                  34
    Controlling Measurement Samples                                    35
      Varying the Sampling Rate                                        35
      Measurement Delay                                                35
      Multiple Measurements                                            35
    Synchronizing Transients and Measurements                          36
      Measuring Triggered Transients or Lists                          36
      Measuring Dwell-Paced Lists                                      37
    Programming the Status Registers                                   38
      Power-On Conditions                                              41
      Channel Status Group                                             41
      Channel Summary Group                                            41
      Questionable Status Group                                        41
      Standard Event Status Group                                      41
      Operation Status Group                                           42
      Status Byte Register                                             42
      Determining the Cause of a Service Interrupt                     43
      Servicing Standard Event Status and Questionable Status Events   43
    Programming Examples                                               44
      CC Mode Example                                                  44
      CV Mode Example                                                  44
      CR Mode Example                                                  45
      Continuous Transient Operation Example                           45
      Pulsed Transient Operation Example                               46
      Synchronous Toggled Transient Operation Example                  46
      Battery Testing Example                                          47
      Power Supply Testing Example                                     49
      C++ Programming Example                                          50



4
4 - LANGUAGE DICTIONARY                                      53
 Introduction                                                53
   Subsystem Commands                                        53
   Common Commands                                           54
   Programming Parameters                                    54
 Calibration Commands                                        55
   CALibrate:DATA                                            55
   CALibrate:IMON:LEVel                                      55
   CALibrate:IPR:LEVel                                       55
   CALibrate:LEVel                                           55
   CALibrate:PASSword                                        56
   CALibrate:SAVE                                            56
   CALibrate:STATe                                           56
 Channel Commands                                            57
   CHANnel INSTrument                                        57
 Input Commands                                              58
   [SOURce:]INPut OUTPut                                     58
   [SOURce:]INPut:PROTection:CLEar OUTput:PROTection:CLEar   58
   [SOURce:]INPut:SHORt OUTPut:SHORt                         58
   [SOURce:]CURRent                                          59
   [SOURce:]CURRent:MODE                                     59
   [SOURce:]CURRent:PROTection                               59
   [SOURce:]CURRent:PROTection:DELay                         60
   [SOURce:]CURRent:PROTection:STATe                         60
   [SOURce:]CURRent:RANGe                                    60
   [SOURce:]CURRent:SLEW                                     61
   [SOURce:]CURRent:SLEW:NEGative                            61
   [SOURce:]CURRent:SLEW:POSitive                            61
   [SOURce:]CURRent:TLEVel                                   62
   [SOURce:]CURRent:TRIGgered                                62
   [SOURce:]FUNCtion [SOURce:]MODE                           62
   [SOURce:]FUNCtion:MODE                                    63
   [SOURce:]RESistance                                       63
   [SOURce:]RESistance:MODE                                  63
   [SOURce:]RESistance:RANGe                                 64
   [SOURce:]RESistance:SLEW                                  64
   [SOURce:]RESistance:SLEW:NEGative                         64
   [SOURce:]RESistance:SLEW:POSitive                         65
   [SOURce:]RESistance:TLEVel                                65
   [SOURce:]RESistance:TRIGgered                             65
   [SOURce:]VOLTage                                          66
   [SOURce:]VOLTage:MODE                                     66
   [SOURce:]VOLTage:RANGe                                    66
   [SOURce:]VOLTage:SLEW                                     67
   [SOURce:]VOLTage:SLEW:NEGative                            67
   [SOURce:]VOLTage:SLEW:POSitive                            68
   [SOURce:]VOLTage:TLEVel                                   68
   [SOURce:]VOLTage:TRIGgered                                68
 Measurement Commands                                        69
   ABORt                                                     69
   MEASure:ARRay:CURRent? FETCh:ARRay:CURRent?               69
   MEASure:ARRay:POWer? FETCh:ARRay:POWer?                   69
   MEASure:ARRay:VOLTage? FETCh:ARRay:VOLTage?               70



                                                              5
      MEASure:CURRent? FETCh:CURRent?                                               70
      MEASure:CURRent:ACDC? FETCh:CURRent:ACDC?                                     70
      MEASure:CURRent:MAXimum? FETCh:CURRent:MAXimum?                               70
      MEASure:CURRent:MINimum? FETCh:CURRent:MINimum?                               71
      MEASure:POWer? FETCh:POWer?                                                   71
      MEASure:POWer:MAXimum? FETCh:POWer:MAXimum?                                   71
      MEASure:POWer:MINimum? FETCh:POWer:MINimum?                                   71
      MEASure:VOLTage? FETCh:VOLTage?                                               72
      MEASure:VOLTage:ACDC? FETCh:VOLTage:ACDC?                                     72
      MEASure:VOLTage:MAXimum? FETCh:VOLTage:MAXimum?                               72
      MEASure:VOLTage:MINimum? FETCh:VOLTage:MINimum?                               72
      SENSe:CURRent:RANGe                                                           73
      SENSe:SWEep:POINts                                                            73
      SENSe:SWEep:OFFSet                                                            73
      SENSe:SWEep:TINTerval                                                         74
      SENSe:WINDow                                                                  74
      SENSe:VOLTage:RANGe                                                           74
    Port Commands                                                                   75
      PORT0                                                                         75
      PORT1                                                                         75
    List Commands                                                                   76
      [SOURce:]LIST:COUNt                                                           76
      [SOURce:]LIST:CURRent [SOURce:]LIST:CURRent:POINts?                           76
      [SOURce:]LIST:CURRent:RANGe [SOURce:]LIST:CURRent:RANGe:POINts?               77
      [SOURce:]LIST:CURRent:SLEW [SOURce:]LIST:CURRent:SLEW:POINts?                 77
      [SOURce:]LIST:CURRent:SLEW:NEGative                                           78
      [SOURce:]LIST:CURRent:SLEW:POSitive                                           78
      [SOURce:]LIST:CURRent:TLEVel [SOURce:]LIST:CURRent:TLEVel:POINts?             78
      [SOURce:]LIST:FUNCtion [SOURce:]LIST:MODE [SOURce:]LIST:FUNCtion:POINTs?      79
      [SOURce:]LIST:DWELl [SOURce:]LIST:DWELl:POINts?                               79
      [SOURce:]LIST:RESistance [SOURce:]LIST:RESistance:POINts?                     80
      [SOURce:]LIST:RESistance:RANGe [SOURce:]LIST:RESistance:RANGe:POINts?         80
      [SOURce:]LIST:RESistance:SLEW [SOURce:]LIST:RESistance:SLEW:POINts?           81
      [SOURce:]LIST:RESistance:SLEW:NEGative                                        81
      [SOURce:]LIST:RESistance:SLEW:POSitive                                        81
      [SOURce:]LIST:RESistance:TLEVel [SOURce:]LIST:RESistance:TLEVel:POINTs?       82
      [SOURce:]LIST:STEP                                                            82
      [SOURce:]LIST:TRANsient [SOURce:]LIST:TRANsient:POINts?                       82
      [SOURce:]LIST:TRANsient:DCYCle [SOURce:]LIST:TRANsient:DCYCle:POINts?         83
      [SOURce:]LIST:TRANsient:FREQuency [SOURce:]LIST:TRANsient:FREQuency:POINts?   83
      [SOURce:]LIST:TRANsient:MODE [SOURce:]LIST:TRANsient:MODE:POINts?             83
      [SOURce:]LIST:TRANsient:TWIDth [SOURce:]LIST:TRANsient:TWIDth:POINts?         84
      [SOURce:]LIST:VOLTage [SOURce:]LIST:VOLTage:POINts?                           84
      [SOURce:]LIST:VOLTage:RANGe [SOURce:]LIST:VOLTage:RANGe:POINTs?               84
      [SOURce:]LIST:VOLTage:SLEW [SOURce:]LIST:VOLTage:SLEW:POINts?                 85
      [SOURce:]LIST:VOLTage:SLEW:NEGative                                           85
      [SOURce:]LIST:VOLTage:SLEW:POSitive                                           86
      [SOURce:]LIST:VOLTage:TLEVel [SOURce:]LIST:VOLTage:TLEVel:POINts?             86
    Transient Commands                                                              87
      [SOURce:]TRANsient                                                            87
      [SOURce:]TRANsient:DCYCle                                                     87
      [SOURce:]TRANsient:FREQuency                                                  87
      [SOURce:]TRANsient:MODE                                                       88
      [SOURce:]TRANsient:LMODE                                                      88
      [SOURce:]TRANsient:TWIDth                                                     88


6
Status Commands                                                 89
  Bit Configuration of Channel Status Registers                 89
  STATus:CHANnel?                                               89
  STATus:CHANnel:CONDition?                                     89
  STATus:CHANnel:ENABle                                         89
  STATus:CSUM?                                                  90
  STATus:CSUMmary:ENABle                                        90
  Bit Configuration of Operation Status Registers               90
  STATus:OPERation?                                             90
  STATus:OPERation:CONDition?                                   90
  STATus:OPERation:ENABle                                       91
  STATus:OPERation:NTRansition STATus:OPERation:PTRansition     91
  Bit Configuration of Questionable Status Registers            92
  STATus:QUEStionable?                                          92
  STATus:QUEStionable:CONDition?                                92
  STATus:QUEStionable:ENABle                                    92
System Commands                                                 93
  SYSTem:ERRor?                                                 93
  SYSTem:LOCal                                                  93
  SYSTem:REMote                                                 93
  SYSTem:RWLock                                                 93
  SYSTem:VERSion?                                               93
Trigger Commands                                                94
  ABORt                                                         94
  INITiate:SEQuence INITiate:NAME                               94
  INITiate:SEQuence2 INITiate:NAME                              94
  INITiate:CONTinuous:SEQuence INITiate:CONTinuous:NAME         95
  TRIGger                                                       95
  TRIGger:DELay                                                 95
  TRIGger:SEQuence2:COUNt                                       96
  TRIGger:SOURce                                                96
  TRIGger:TIMer                                                 96
Common Commands                                                 97
  *CLS                                                          97
  *ESE                                                          97
  Bit Configuration of Standard Event Status Enable Register    98
  *ESR?                                                         98
  *IDN?                                                         98
  *OPC                                                          98
  *OPT?                                                         99
  *PSC                                                          99
  *RCL                                                          99
  *RDT?                                                        100
  *RST                                                         100
  *SAV                                                         101
  *SRE                                                         101
  *STB?                                                        101
  Bit Configuration of Status Byte Register                    102
  *TRG                                                         102
  *TST?                                                        102
  *WAI                                                         102




                                                                7
A - SCPI COMMAND TREE                                       103
    Command Syntax                                          103

B - ERROR MESSAGES                                          107
    Error Number List                                       107

C - COMPARING N3300A ELECTRONIC LOADS WITH EARLIER MODELS   111
    Introduction                                            111

INDEX                                                       115




8
                                                                                                       1
General Information

About this Guide
This manual contains programming information for the Agilent Technologies N3301A, N3302A, N3303A,
N3304A, N3305A, N3306A Electronic Load modules when installed in an Agilent Technologies N3300A
and N3301A Electronic Load mainframes. These units will be referred to as "electronic load" throughout
this manual. You will find the following information in the rest of this guide:
Chapter 1     Introduction to this guide.
Chapter 2     Introduction to SCPI messages structure, syntax, and data formats.
Chapter 3     Introduction to programming the electronic load with SCPI commands.
Chapter 4     Dictionary of SCPI commands.
Appendix A    SCPI command tree.
Appendix B    Error messages
Appendix C    Comparison With Earlier Models

Documentation Summary
The following documents that are related to this Programming Guide have additional helpful information
for using the electronic load.
    K Quick Start Guide - located in the front part of the User's Guide. Information on how to quickly get
      started using the electronic load.
    K User's Guide. Includes specifications and supplemental characteristics, how to use the front
      panel, how to connect to the instrument, and calibration procedures.



External References
SCPI References
The following documents will assist you with programming in SCPI:
    K Beginner's Guide to SCPI. Part No. H2325-90001. Highly recommended for anyone who has not
      had previous experience programming with SCPI.
    K Tutorial Description of the GPIB . Part No. 5952-0156. Highly recommended for those not familiar
      with the IEEE 488.1 and 488.2 standards.

To obtain a copy of the above documents, contact your local Agilent Technologies Sales and Support
Office.




                                                                                                         9
1 - General Information

GPIB References
The most important GPIB documents are your controller programming manuals - GW BASIC, GPIB
Command Library for MS DOS, etc. Refer to these for all non-SCPI commands (for example: Local
Lockout).

The following are two formal documents concerning the GPIB interface:
     K ANSI/IEEE Std. 488.1-1987 IEEE Standard Digital Interface for Programmable Instrumentation.
       Defines the technical details of the GPIB interface. While much of the information is beyond the
       need of most programmers, it can serve to clarify terms used in this guide and in related
       documents.
     K ANSI/IEEE Std. 488.2-1987 IEEE Standard Codes, Formats, Protocols, and Common
       Commands. Recommended as a reference only if you intend to do fairly sophisticated
       programming. Helpful for finding precise definitions of certain types of SCPI message formats,
       data types, or common commands.

The above two documents are available from the IEEE (Institute of Electrical and Electronics Engineers),
345 East 47th Street, New York, NY 10017, USA.



VXIplug&play Power Products Instrument Drivers
VXIplug&play instrument drivers for Microsoft Windows 95 and Windows NT are now available on the
Web at http://www.agilent.com/find/drivers. These instrument drivers provide a high-level programming
interface to your Agilent Technologies electronic load. VXIplug&play instrument drivers are an alternative
to programming your instrument with SCPI command strings. Because the instrument driver's function
calls work together on top of the VISA I/O library, a single instrument driver can be used with multiple
application environments.

Supported Applications
a    Agilent VEE
a    Microsoft Visual BASIC
a    Microsoft Visual C/C++
a    Borland C/C++
a    National Instruments LabVIEW
a    National Instruments LabWindows/CVI

System Requirements
The VXIplug&play instrument driver complies with the following:
a    Microsoft Windows 95
a    Microsoft Windows NT 4.0
a    HP VISA revision F.01.02
a    National Instruments VISA 1.1

Downloading and Installing the Driver

NOTE:            Before installing the VXIplug&play instrument driver, make sure that you have one of the
                 supported applications installed and running on your computer.




10
                                                                                      General Information - 1

    1. Access Agilent Technologies Web site at http://www.agilent.com/find/drivers.
    2. Select the instrument for which you need the driver.
    3. Click on the driver, either Windows 95 or Windows NT, and download the executable file to your
       PC.
    4. Locate the file that you downloaded from the Web. From the Start menu select Run
       :\agxxxx.exe - where  is the directory path where the file is located, and agxxxx is
       the instrument driver that you downloaded .
    5. Follow the directions on the screen to install the software. The default installation selections will
       work in most cases. The readme.txt file contains product updates or corrections that are not
       documented in the on-line help. If you decide to install this file, use any text editor to open and
       read it.
    6. To use the VXIplug&play instrument driver, follow the directions in the VXIplug&play online help
       for your specific driver under "Introduction to Programming".

Accessing Online Help
A comprehensive online programming reference is provided with the driver. It describes how to get
started using the instrument driver with Agilent VEE, LabVIEW, and LabWindows. It includes complete
descriptions of all function calls as well as example programs in C/C++ and Visual BASIC.
a   To access the online help when you have chosen the default Vxipnp start folder, click on the Start
    button and select Programs | Vxipnp | Agxxxx Help (32-bit).
    - where Agxxxx is the instrument driver.




                                                                                                           11
                                                                                                       2
Introduction to Programming

GPIB Capabilities of the Electronic Load
All electronic load functions except for setting the GPIB address are programmable over the GPIB. The
IEEE 488.2 capabilities of the electronic load are described in Table 2-1. Refer to Appendix A of your
User's Guide for its exact capabilities.

                         Table 2-1. IEEE 488 Capabilities of Electronic Loads
GPIB Capabilities                               Response                                        Interface
                                                                                                Function
Talker/Listener      All electronic load functions except for setting the GPIB address are     AH1, SH1,
                     programmable over the GPIB. The electronic load can send and              T6. L4
                     receive messages over the GPIB. Status information is sent using a
                     serial poll. Front panel annunciators indicate the present GPIB state
                     of the electronic load.
Service Request      The electronic load sets the SRQ line true if there is an enabled         SR1
                     service request condition. Refer to Chapter 3 - Status Reporting for
                     more information.
Remote/Local         In local mode, the electronic load is controlled from the front panel     RL1
                     but will also execute commands sent over the GPIB. The electronic
                     load powers up in local mode and remains in local mode until it
                     receives a command over the GPIB. Once the electronic load is in
                     remote mode the front panel RMT annunciator is on, all front panel
                     keys (except          ) are disabled, and the display is in normal
                     metering mode. Pressing             on the front panel returns the
                     electronic load to local mode.          can be disabled using local
                     lockout so that only the controller or the power switch can return the
                     electronic load to local mode.
Device Trigger       The electronic load will respond to the device trigger function.          DT1

Group Execute        The electronic load will respond to the group execute trigger function.   GET
Trigger

Device Clear         The electronic load responds to the Device Clear (DCL) and                DCL, SDC
                     Selected Device Clear (SDC) interface commands. They cause the
                     electronic load to clear any activity that would prevent it from
                     receiving and executing a new command (including *WAI and
                     *OPC?). DCL and SDC do not change any programmed settings.

GPIB Address
The electronic load operates from a GPIB address that is set from the front panel. To set the GPIB
address, press the Address key on the front panel and enter the address using the Entry keys. The
address can be set from 0 to 30. The GPIB address is stored in non-volatile memory.




                                                                                                         13
2 - Introduction to Programming


RS-232 Capabilities of the Electronic Load
The electronic load provides an RS-232 programming interface, which is activated by commands located
under the front panel Address key. All SCPI commands are available through RS-232 programming.
When the RS-232 interface is selected, the GPIB interface is disabled.

The EIA RS-232 Standard defines the interconnections between Data Terminal Equipment (DTE) and
Data Communications Equipment (DCE). The electronic load is designed to be a DTE. It can be
connected to another DTE such as a PC COM port through a null modem cable.

NOTE:           The RS-232 settings in your program must match the settings specified in the front panel
                Address menu. Press the front panel Address key if you need to change the settings.


RS-232 Data Format
The RS-232 data is a 10-bit word with one start bit and one stop bit. The number of start and stop bits is
not programmable. However, the following parity options are selectable using the front panel Address key:
EVEN               Seven data bits with even parity
ODD                Seven data bits with odd parity
MARK               Seven data bits with mark parity (parity is always true)
SPACE              Seven data bits with space parity (parity is always false)
NONE               Eight data bits without parity
Parity options are stored in non-volatile memory.

Baud Rate

The front panel Address key lets you select one of the following baud rates, which is stored in non-volatile
memory:
300       600      1200      2400      4800      9600

RS-232 Flow Control
The RS-232 interface supports the following flow control options that are selected using the front panel
Address key. For each case, the electronic load will send a maximum of five characters after holdoff is
asserted by the controller. The electronic load is capable of receiving as many as fifteen additional
characters after it asserts holdoff.
RTS-CTS             The electronic load asserts its Request to Send (RTS) line to signal hold-off
                    when its input buffer is almost full, and it interprets its Clear to Send (CTS)
                    line as a hold-off signal from the controller.
NONE                There is no flow control.

Flow control options are stored in non-volatile memory.




14
                                                                             Introduction to Programming - 2


Introduction to SCPI
SCPI (Standard Commands for Programmable Instruments) is a programming language for controlling
instrument functions over the GPIB and RS-232 interface. SCPI is layered on top of the hardware-portion
of IEEE 488.2. The same SCPI commands and parameters control the same functions in different classes
of instruments.

Conventions Used in This Guide
Angle brackets      <     >       Items within angle brackets are parameter abbreviations. For example,
                                   indicates a specific form of numerical data.
Vertical bar   |                  Vertical bars separate alternative parameters. For example, NORM | TEXT
                                  indicates that either "TEXT" or "NORM" can be used as a parameter.
Square Brackets     [     ]       Items within square brackets are optional. The representation [SOURce:].
                                  VOLTage means that SOURce: may be omitted.
Braces    {    }                  Braces indicate parameters that may be repeated zero or more times. It is
                                  used especially for showing arrays. The notation {<,B>} shows that
                                  parameter "A" must be entered, while parameter "B" may be omitted or
                                  may be entered one or more times.
Computer font                     Computer font is used to show program lines in text.
                                  OUTPUT 723 "TRIGger:COUNt:CURRent 10" shows a program line.



Types of SCPI Commands
SCPI has two types of commands, common and subsystem.
         Common commands generally are not related to specific operation but to controlling overall
         electronic load functions, such as reset, status, and synchronization. All common commands
         consist of a three-letter mnemonic preceded by an asterisk: *RST        *IDN?     *SRE 8
         Subsystem commands perform specific electronic load functions. They are organized into an
         inverted tree structure with the "root" at the top. The following figure shows a portion of a
         subsystem command tree, from which you access the commands located along the various
         paths. You can see the complete tree in Appendix A.

                        ROOT



                               :CURRent           [:LEVel]                 [:IMMediate]


                                                  :MODE


                                                  :PROTection              [:LEVel]


                                                                           :DELay


                               :STATus            :OPERation               [:EVENt]?


                                                                           :CONDition?

                                      Figure 2-1. Partial Command Tree



                                                                                                          15
2 - Introduction to Programming

Multiple Commands in a Message
Multiple SCPI commands can be combined and sent as a single message with one message terminator.
There are two important considerations when sending several commands within a single message:
        Use a semicolon to separate commands within a message.
        There is an implied header path that affects how commands are interpreted by the electronic load.

The header path can be thought of as a string that gets inserted before each command within a message.
For the first command in a message, the header path is a null string. For each subsequent command the
header path is defined as the characters that make up the headers of the previous command in the
message up to and including the last colon separator. An example of a message with two commands is:

     CURR:LEV 3;PROT:STAT OFF

which shows the use of the semicolon separating the two commands, and also illustrates the header path
concept. Note that with the second command, the leading header "CURR" was omitted because after the
"CURR:LEV 3" command, the header path became defined as "CURR" and thus the instrument
interpreted the second command as:

     CURR:PROT:STAT OFF

In fact, it would have been syntactically incorrect to include the "CURR" explicitly in the second command,
since the result after combining it with the header path would be:
     CURR:CURR:PROT:STAT OFF

which is incorrect.

Moving Among Subsystems
In order to combine commands from different subsystems, you need to be able to reset the header path to
a null string within a message. You do this by beginning the command with a colon (:), which discards any
previous header path. For example, you could clear the output protection and check the status of the
Operation Condition register in one message by using a root specifier as follows:
     OUTPut:PROTection:CLEAr;:STATus:OPERation:CONDition?

The following message shows how to combine commands from different subsystems as well as within the
same subsystem:
     VOLTage:LEVel 20;PROTection 28; :CURRent:LEVel 3;PROTection:STATe ON

Note the use of the optional header LEVel to maintain the correct path within the voltage and current
subsystems, and the use of the root specifier to move between subsystems.

Including Common Commands
You can combine common commands with subsystem commands in the same message. Treat the
common command as a message unit by separating it with a semicolon (the message unit separator).
Common commands do not affect the header path; you may insert them anywhere in the message.
     VOLTage:TRIGgered 17.5;:INITialize;*TRG
     OUTPut OFF;*RCL 2;OUTPut ON




16
                                                                               Introduction to Programming - 2

Using Queries
Observe the following precautions with queries:
        Set up the proper number of variables for the returned data. For example, if you are reading back
        a measurement array, you must dimension the array according to the number of measurements
        that you have placed in the measurement buffer.
        Read back all the results of a query before sending another command to the electronic load.
        Otherwise a Query Interrupted error will occur and the unreturned data will be lost.



Types of SCPI Messages
There are two types of SCPI messages, program and response.
        A program message consists of one or more properly formatted SCPI commands sent from the
        controller to the electronic load. The message, which may be sent at any time, requests the
        electronic load to perform some action.
        A response message consists of data in a specific SCPI format sent from the electronic load to
        the controller. The electronic load sends the message only when commanded by a program
        message called a "query."
The following figure illustrates SCPI message structure:

                            Data                Message Unit


                Headers                                              Query Indicator




                          VOLT:LEV 20       ;     TLEV 30      ; :     CURR?      




                      Header Separator                                   Message Terminator


                                   Message Unit Separators              Root Specifier

                               Figure 2-2. Command Message Structure

The Message Unit
The simplest SCPI command is a single message unit consisting of a command header (or keyword)
followed by a message terminator. The message unit may include a parameter after the header. The
parameter can be numeric or a string.
    ABORt
    VOLTage 20

Headers
Headers, also referred to as keywords, are instructions recognized by the electronic load. Headers may be
either in the long form or the short form. In the long form, the header is completely spelled out, such as
VOLTAGE, STATUS, and DELAY. In the short form, the header has only the first three or four letters,
such as VOLT, STAT, and DEL.


                                                                                                           17
2 - Introduction to Programming

Query Indicator
Following a header with a question mark turns it into a query (VOLTage?, VOLTage:PROTection?). If a
query contains a parameter, place the query indicator at the end of the last header
(VOLTage:PROTection? MAX).

Message Unit Separator
When two or more message units are combined into a compound message, separate the units with a
semicolon (STATus:OPERation?;QUEStionable?).

Root Specifier
When it precedes the first header of a message unit, the colon becomes the root specifier. It tells the
command parser that this is the root or the top node of the command tree.

Message Terminator
A terminator informs SCPI that it has reached the end of a message. Three permitted messages
terminators are:
         newline (), which is ASCII decimal 10 or hex 0A.
         end or identify ()
         both of the above ().

In the examples of this guide, there is an assumed message terminator at the end of each message.

NOTE:            All RS-232 response data sent by the electronic load is terminated by the ASCII character
                 pair . This differs from GPIB response data which is
                 terminated by the single character  with EOI asserted.




SCPI Data Formats
All data programmed to or returned from the electronic load is ASCII. The data may be numerical or
character string.

Numerical Data Formats

 Symbol                                                  Data Form
                                                       Talking Formats
         Digits with an implied decimal point assumed at the right of the least-significant digit.
              Examples: 273
         Digits with an explicit decimal point. Example: .0273
         Digits with an explicit decimal point and an exponent. Example: 2.73E+2
                                                       Listening Formats
         Extended format that includes ,  and . Examples: 273 273. 2.73E2
        Expanded decimal format that includes  and MIN MAX. Examples: 273 273.
              2.73E2 MAX. MIN and MAX are the minimum and maximum limit values that are
              implicit in the range specification for the parameter.
        Boolean Data. Example: 0 | 1 or ON | OFF



18
                                                                         Introduction to Programming - 2

Suffixes and Multipliers

                      Class           Suffix         Unit             Unit with Multiplier
                    Amplitude           V            volt                MV (millivolt)
                     Current            A         ampere               MA (milliampere)
                      Power            W             watt               MW (milliwatt)
                    Resistance        OHM            ohm               MOHM (megohm)
                    Slew Rate          A/s      amps/second
                                       R/s      ohms/second
                                       V/s      volts/second
                       Time             s          second               MS (millisecond)
                                            Common Multipliers
                                       1E3            K                          kilo
                                       1E-3           M                         milli
                                       1E-6           U                         micro

Response Data Types
Character strings returned by query statements may take either of the following forms, depending on the
length of the returned string:
       Character Response Data. Permits the return of character strings.
      Arbitrary ASCII Response Data. Permits the return of undelimited 7-bit ASCII. This data type
            has an implied message terminator.
       String Response Data. Returns string parameters enclosed in double quotes.



SCPI Command Completion
SCPI commands sent to the electronic load are processed either sequentially or in parallel. Sequential
commands finish execution before a subsequent command begins. Parallel commands allow other
commands to begin executing while the parallel command is still executing. Commands that affect trigger
actions are among the parallel commands.

The *WAI, *OPC, and *OPC? common commands provide different ways of indicating when all
transmitted commands, including any parallel ones, have completed their operations. The syntax and
parameters for these commands are described in chapter 4. Some practical considerations for using
these commands are as follows:
*WAI               This prevents the electronic load from processing subsequent commands until all
                   pending operations are completed.
*OPC?              This places a 1 in the Output Queue when all pending operations have completed.
                   Because it requires your program to read the returned value before executing the next
                   program statement, *OPC? can be used to cause the controller to wait for commands
                   to complete before proceeding with its program.
*OPC               This sets the OPC status bit when all pending operations have completed. Since your
                   program can read this status bit on an interrupt basis, *OPC allows subsequent
                   commands to be executed.

NOTE:           The trigger system must be in the Idle state in order for the status OPC bit to be true.
                Therefore, as far as triggers are concerned, OPC is false whenever the trigger system is
                in the Initiated state.



                                                                                                       19
2 - Introduction to Programming


Using Device Clear
You can send a device clear at any time to abort a SCPI command that may be hanging up the GPIB
interface. The status registers, the error queue, and all configuration states are left unchanged when a
device clear message is received. Device clear performs the following actions:
        The input and output buffers of the electronic load are cleared.
        The electronic load is prepared to accept a new command string.

The following statement shows how to send a device clear over the GPIB interface using GW BASIC:
        CLEAR 705             IEEE-488 Device Clear

The following statement shows how to send a device clear over the GPIB interface using the GPIB
command library for C or QuickBASIC:
        IOCLEAR (705)


NOTE:           For RS-232 operation, sending a Break will perform the same operation as the IEEE-488
                device clear message.




RS-232 Troubleshooting
If you are having trouble communicating over the RS-232 interface, check the following:
        The computer and the electronic load must be configured for the same baud rate, parity, number
        of data bits, and flow control options. Note that the electronic load is configured for 1 start bit and
        1 stop bit (these values are fixed).
        The correct interface cables or adapters must be used, as described under RS-232 Connector.
        Note that even if the cable has the proper connectors for your system, the internal wiring may be
        incorrect.
        The interface cable must be connected to the correct serial port on your computer (COM1, COM2,
        etc.).




20
                                                                     Introduction to Programming - 2


SCPI Conformance Information
SCPI Conformed Commands
The Electronic Load conforms to SCPI Version 1995.0.
ABOR                            MEAS | FETC[:SCAL]:VOLT:MAX     [SOUR]:RES[:LEV][:IMM][:AMP]
CAL:DATA                        MEAS | FETC[:SCAL]:VOLT:MIN     [SOUR]:RES[:LEV]:TRIG[:AMP]
CAL:STAT                        SENS:CURR[:DC]:RANG[:UPP]       [SOUR]:RES:MODE
INIT[:IMM]:SEQ                  SENS:SWE:OFFS                   [SOUR]:RES:RANG
INIT[:IMM]:NAME                 SENS:SWE:POIN                   [SOUR]:RES:SLEW
INIT:CONT:SEQ                   SENS:SWE:TINT                   [SOUR]:VOLT[:LEV][:IMM][:AMP]
INIT:CONT:NAME                  SENS:WIND[:TYPE]                [SOUR]:VOLT[:LEV]:TRIG[:AMP]
INP | OUTP[:STAT]               SENS:VOLT[:DC]:RANG[:UPP]       [SOUR]:VOLT:MODE
INP | OUTP:PROT:CLE             [SOUR]:CURR[:LEV][:IMM][:AMP]   [SOUR]:VOLT:RANG
MEAS | FETC:ARR:CURR[:DC]       [SOUR]:CURR[:LEV]:TRIG[:AMP]    [SOUR]:VOLT:SLEW
MEAS | FETC:ARR:POW[:DC]        [SOUR]:CURR:MODE                STAT:OPER[:EVEN]
MEAS | FETC:ARR:VOLT[:DC]       [SOUR]:CURR:PROT[:LEV]          STAT:OPER:COND
MEAS | FETC[:SCAL]:CURR[:DC]    [SOUR]:CURR:PROT:STAT           STAT:OPER:ENAB
MEAS | FETC[:SCAL]:CURR:MAX     [SOUR]:CURR:RANG                STAT:OPER:NTR
MEAS | FETC[:SCAL]:CURR:MIN     [SOUR]:CURR:SLEW                STAT:OPER:PTR
MEAS | FETC[:SCAL]:POW[:DC]     [SOUR]:LIST:COUN                STAT:QUES[:EVEN]
MEAS | FETC[:SCAL]:POW:MAX      [SOUR]:LIST:CURR                STAT:QUES:COND
MEAS | FETC[:SCAL]:POW:MIN      [SOUR]:LIST:DWEL                STAT:QUES:ENAB
MEAS | FETC[:SCAL]:VOLT[:DC]    [SOUR]:LIST:RES                 SYST:ERR
                                [SOUR]:LIST:VOLT                SYST:VER


Non-SCPI Commands
CAL:IMON:LEV                    [SOUR]:LIST:CURR:TLEV           [SOUR]:TRAN[:STAT]
CAL:IPR:LEV                     [SOUR]:LIST:FUNC | MODE         [SOUR]:TRAN:DCYC
CAL:LEV                         [SOUR]:LIST:RES:RANG            [SOUR]:TRAN:FREQ
CAL:PASS                        [SOUR]:LIST:RES:SLEW[:BOTH]     [SOUR]:TRAN:MODE
CAL:SAVE                        [SOUR]:LIST:RES:SLEW:NEG        [SOUR]:TRAN:LMOD
CHAN | INST[:LOAD]              [SOUR]:LIST:RES:SLEW:POS        [SOUR]:TRAN:TWID
INP | OUTP:SHOR[:STAT]          [SOUR]:LIST:RES:TLEV            [SOUR]:VOLT:SLEW:NEG
MEAS | FETC[:SCAL]:CURR:ACDC    [SOUR]:LIST:STEP                [SOUR]:VOLT:SLEW:POS
MEAS | FETC[:SCAL]:VOLT:ACDC    [SOUR]:LIST:TRAN[:STAT]         [SOUR]:VOLT:TLEV
PORT0[:STAT]                    [SOUR]:LIST:TRAN:DCYC           STAT:CHAN[:EVEN]
PORT1[:LEV]                     [SOUR]:LIST:TRAN:FREQ           STAT:CHAN:COND
[SOUR]:CURR:PROT:DEL            [SOUR]:LIST:TRAN:MODE           STAT:CHAN:ENAB
[SOUR]:CURR:SLEW:NEG            [SOUR]:LIST:TRAN:TWID           STAT:CSUM[:EVEN]
[SOUR]:CURR:SLEW:POS            [SOUR]:LIST:VOLT:RANG           STAT:CSUM:ENAB
[SOUR]:CURR:TLEV                [SOUR]:LIST:VOLT:SLEW[:BOTH]    SYST:LOC
[SOUR]:FUNC | MODE              [SOUR]:LIST:VOLT:SLEW:NEG       SYST:REM
[SOUR]:FUNC | MODE:MODE         [SOUR]:LIST:VOLT:SLEW:POS       SYST:RWL
[SOUR]:LIST:CURR:RANG           [SOUR]:LIST:VOLT:TLEV           TRIG[:IMM]
[SOUR]:LIST:CURR:SLEW[:BOTH]    [SOUR]:RES:SLEW:NEG             TRIG:DEL
[SOUR]:LIST:CURR:SLEW:NEG       [SOUR]:RES:SLEW:POS             TRIG:SOUR
[SOUR]:LIST:CURR:SLEW:POS       [SOUR]:RES:TLEV                 TRIG:TIM
                                                                TRIG:SEQ2:COUN




                                                                                                 21
                                                                                                       3
Programming Examples

Introduction
This chapter contains examples on how to program your electronic load. Simple examples show you how
to program:
    K Input functions such as voltage, current, and resistance
    K Transient functions, including lists
    K Measurement functions
    K The status and protection functions

NOTE:           These examples in this chapter show which commands are used to perform a particular
                function, but do not show the commands being used in any particular programming
                environment.




Programming the Input
Power-on Initialization
When the electronic load is first turned on, it wakes up with the input state set OFF. The following
commands are given implicitly at power-on:
    *RST
    *CLS
    *SRE 0
    *ESE 0

*RST is a convenient way to program all parameters to a known state. Refer to the *RST command in
chapter 4 to see how each programmable parameter is set by *RST. Refer to the *PSC command in
chapter 4 for more information on the power-on initialization of the *ESE and the *SRE registers.

Enabling the Input
To enable the input, use the command:
    INPut ON

Input Voltage
The input voltage is controlled with the VOLTage command. For example, to set the input voltage to 25
volts, use:
    VOLTage 25



                                                                                                        23
3 - Programming Examples

Maximum Voltage

The maximum input voltage that can be programmed can be queried with:
     VOLTage? MAXimum

Input Current
All models have a programmable current function. The command to program the current is:
     CURRent 

where  is the input current in amperes.

Maximum Current

The maximum input current that can be programmed can be queried with:
     CURRent? MAXimum

Overcurrent Protection

The electronic load can also be programmed to turn off its input if the current protection level is reached.
As explained in chapter 4, this protection feature is implemented the following command:
     CURRent:PROTection:STATe ON | OFF


NOTE:           Use CURRent:PROTection:DELay to prevent momentary current limit conditions caused
                by programmed input changes from tripping the overcurrent protection.


Setting the Triggered Voltage or Current Levels
To program voltage or current triggered levels, you must specify the voltage or current level that the input
will go to once a trigger signal is received. Use the following commands to set a triggered level:
     VOLTage:TRIGgered             or
     CURRent:TRIGgered 


NOTE:           Until they are explicitly programmed, triggered levels will assume their corresponding
                immediate levels. For example, if a electronic load is powered up and VOLTage:LEVel is
                programmed to 6, then VOLTage:LEVel:TRIGger will also be 6 until you program it to
                another value. Once you program VOLTage:LEVel:TRIGger to a value, it will remain at
                that regardless of how you subsequently reprogram VOLTage:LEVel. Then, when the
                trigger occurs, the VOLTage:LEVel is set to the VOLTage:LEVel:TRIGger value.


Generating Triggers

You can generate a single trigger by sending the following command over the GPIB:
     TRIGger:IMMediate

Note that this command will always generate a trigger. Use the TRIGger:SOURce command to select
other trigger sources such as the mainframe's external trigger input.




24
                                                                                 Programming Examples - 3


Programming Transients
Transient operation is used to synchronize input changes with internal or external trigger signals, and
simulate loading conditions with precise control of timing, duration, and slew. The following transient
modes can be generated:
Continuous          Generates a repetitive pulse stream that toggles between two load levels.
Pulse               Generates an load change that returns to its original state after some time period.
Toggled             Generates a repetitive pulse stream that toggles between two load levels. Similar to
                    Continuous mode except that the transient points are controlled by explicit triggers
                    instead of an internal transient generator.

NOTE:           Before turning on transient operation, set the desired mode of operation as well as all of
                the parameters associated with transient operation. At *RST all transient functions are set
                to OFF.


Continuous Transients
In continuous operation, a repetitive pulse train switches between two load levels, a main level (which can
be either the immediate or triggered level) and a transient level. The rate at which the level changes is
determined by the slew rate (see slew rate descriptions for CV, CR, or CV mode as applicable). In
addition, the frequency and duty cycle of the continuous pulse train are programmable. Use the following
commands to program continuous transients:
   TRANsient:MODE CONTinuous
   CURRent 5
   CURRent:TLEVel 10
   TRANsient:FREQuency 1000
   TRANsient:DCYCle 40
   TRANsient ON

This example assumes that the CC mode is active and the slew rate is at the default setting (maximum
rate). The load module starts conduction at the main level (in this case 5 amps). When transient
operation is turned on (no trigger is required in continuous mode), the module input current will slew to
and remain at 10 amps for 40% of the period (400 



◦ Jabse Service Manual Search 2024 ◦
Jabse PravopisonTap.bg ◦ Other service manual resources online : FixyaeServiceinfo