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

Page 105: Ciil programming -67

Advertising
background image

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 <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

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

}

Advertising