4-20
BIT 4886 051010
FIGURE 4-7. TYPICAL EXAMPLE OF INTERFACE CARD PROGRAM USING SCPI COMMANDS
4.7.1
ERROR DETECTION
The BIT 4886 card has the ability to alter the way the unit responds to detection of load and set-
tings errors. The default behavior is for the BIT 4886 to measure the main channel and verify
that it is within the specified channel tolerances of the BOP, setting the appropriate bits in the
Status Questionable register. This default behavior is established by the SYST:SEC:IMM com-
mand and the factory default window of 32 LSBs.
The default behavior can be modified using the DIAG:ERR, DIAG:ONL, DIAG:OFFL AND
DIAG:WIN commands listed in Table 4-5 so that device errors are generated for conditions such
as window exceeded, output current limit at setting and output current exceeding a hard limit.
These errors can also be used to force the unit to go to an output off state upon detecting the
errors. The behavior is altered, the new setting is stored in RAM and it remains in effect until a
power off/power on cycle. The settings can be saved for power up by sending the MEM-
ORY:UPDATE SHUTDOWN command. Error responses are listed in Table 4-5.
4.7.2
LIMIT CHANNEL CONTROL
The unit supports three limit settings for the output off state. The standard configuration is for the
limits to be set to the minimum levels which causes the output not to vary beyond the BOX limits
defined in the BOP manual. The limits can also be set to maximum or 110% of rated voltage or
current. This is useful for battery operation. These limit settings are established by the
DIAG:OUTPut command. With other types of devices, it is possible to set the output off limit
channels to be at any level by using the DIAG:OFFLimit commands to establish the limit for the
/**************************************************************************/
/* Sample Program (written in C) for KEPCO power supply using */
/* National Instruments GPIB interface card */
/**************************************************************************/
#include <stdio.h>
#include "decl.h"
char rd_str[80];
// Input buffer
char dat_str[80];
// Output buffer
int bd,adr;
main() {
adr = ibfind("DEV6");
// Open DEV6 (defined by IBCONF)
bd = ibfind ("GPIB0");
// Open GPIB card
ibsic (bd);
// Send Interface Clear
strcpy(dat_str,"OUTPUT ON");
// SCPI default is Output off
ibwrt(adr,dat_str,strlen(dat_str));
// Power supply is
// in voltage mode
// outputing 0 volts
strcpy(dat_str,"VOLT 5;CURR 1");
// Define a set command
ibwrt(adr,dat_str,strlen(dat_str));
// Send string to power supply
strcpy(dat_str,"MEAS:VOLT?;CURR?"); // Define a measure command
ibwrt(adr,dat_str,strlen(dat_str));
// Send string to power supply
strset(rd_str,'\0');
// Clear input buffer
ibrd(adr,rd_str,64);
// Read result of measure
printf("received : %s\n",rd_str);
// Print voltage and current
}
/**************************************************************************/