64 Synchronizing Power Module Output Changes
DFI (Discrete Fault Indicator) Subsystem
Whenever a fault is detected in the power module, it is capable of generating a low-true TTL signal at the mainframe FLT
jack for communication with external devices (see “INH/FLT Characteristics” in Chapter 1 of the Agilent 66000A
Installation Guide for the electrical parameters). The source for the DFI signal can be any of the parameters of the
OUTPut:DFI:LINK command (see Table 3-1). The SUM3 link parameter allows any combination of Questionable, Operation,
or Event status bits to generate the DFI signal. The GPIB *RST command sets the link parameter to SUM3.
RI (Remote Inhibit) Subsystem
Each power module is connected to the mainframe INH jack via a function selector switch. (See Chapter 2 of the Operating
Guide for details concerning this switch.) When the switch is set to enable the RI function, a low-true TTL signal at the INH
input will shut down the power module. This generates an RI status bit at the Questionable Status register (see "Chapter 4 -
Status Reporting"). By programming the status subsystem, you may use RI to generate a service request (SRQ) to the
controller and/or to create a DFI output at the mainframe FLT jack. By using RI/DFI in this way, you can chain the power
modules to create a serial shutdown in response to the INH input.
SCPI Command Completion
SCPI commands sent to the power module are processed either sequentially or in parallel. Sequential commands finish
execution before a subsequent command begins. A parallel command can begin execution while a preexisting command is
still executing (overlapping commands). Commands that affect list and trigger actions are among the parallel commands.
There *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 3 - Language Dictionary". Some practical considerations for using these commands are as follows:
*WAI This prevents the power module from processing subsequent commands until all pending operations are
completed. If something prevents completion of an existing operation, *WAI can place the module and the
controller in a "hang-up" condition.
*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 from the queue before executing the next program statement,
*OPC? could prevent subsequent commands from being executed.
*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.
The trigger subsystem must be in the Idle state in order for the status OPC bit to be true. Therefore, as far as triggers and
lists are concerned, OPC is false whenever the trigger subsystem is in the Initiated state. However, OPC is also false if there
are any commands pending within any other subsystems. For example, if you send CURR: TRIG 1 . 5 after a VOLT:LIST
command, completion of the CURR:TRIG command will not set OPC if the list command is still executing.
Note For a detailed discussion of *WAI, *OPC and *OPC?, see "Device/Controller Synchronization Techniques"
in ANSI/IEEE Std. 488.2-1987.