beautypg.com

9 scpi program example, 5 ciil programming, Scpi program example -16 – KEPCO MST 488 Programmer User Manual

Page 42: Ciil programming -16

background image

3-16

MST488-27 013004

3.4.9

SCPI PROGRAM EXAMPLE

Figure 3-6 is an example of a program using SCPI commands to program an MST Power Sup-
ply. 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 pro-
gram 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) volt-
age and current, then prints the measurements.

FIGURE 3-6. TYPICAL EXAMPLE OF MST 488-27 CONTROLLER PROGRAM

USING SCPI COMMANDS

3.5

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 MST 488-27 Controller 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

}