10 scpi program example, 6 ciil programming, Scpi program example -67 – KEPCO MBT Series User Manual
Page 105: Ciil programming -67

MBTSVC111609
3-67/(3-68 Blank)
3.3.5.10 SCPI PROGRAM EXAMPLE
Figure 3-8 is an example of a program using SCPI commands to program the MBT-G Power
Supply. The program illustrated is for a configuration using an IBM PC or compatible with a
National Instruments GPIB interface card. (It will be necessary to consult the manufacturer’s
data to achieve comparable functions with an interface card from a different manufacturer.) This
program sets output voltage (Voltage mode) or voltage limit (Current mode) to 5V, and current
limit (Voltage mode) or output current (Current mode) to 1A, then reads the measured (actual)
voltage and current, then prints the measurements.
FIGURE 3-8. TYPICAL EXAMPLE OF MBT-G POWER SUPPLY PROGRAM USING SCPI COMMANDS
3.3.6
CIIL PROGRAMMING
The CIIL command language is used on early models of Kepco power supplies and controllers.
The command functions are included here for compatibility with other equipment programmed
with CIIL commands. The CIIL command set for the MBT-G Power Supply is defined and
explained in Appendix C.
/**************************************************************************/
/* Sample Program For KEPCO power supply, using National Instruments */
/* GPIB interface card and IBM PC or compatible computer */
/**************************************************************************/
#include
#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
ibsre(bd,1);
// Set remote line true
strcpy(dat_str,"VOLT 5;CURR 1");
// Define a set command
strcat(dat_str,"\r\n");
// Append delimiter
ibwrt(adr,dat_str,strlen(dat_str));
// Send string to power supply
strcpy(dat_str,"MEAS:VOLT?;CURR?"); // Define a measure command
strcat(dat_str,"\r\n");
// Append delimiter
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
}