beautypg.com

3 remote mode setup, Remote mode setup -45 – KEPCO BOP 1KW-MG Operator Manual, Firmware Ver.4.12 and higher User Manual

Page 111

background image

BOP HIPWR 031014

3-45

For commands not marked with (**) failure to provide a delay of about 1 minute can result in:

• Commands that are not processed,

• The following command may be received in error, causing an error in the transmission,

• Unit lock-up requiring power cycling of the unit. If working via the GPIB bus, sending

Interface Clear and Device Clear followed by *RST will unlock the unit.

FIGURE 3-16. PROGRAMMING EXAMPLE TO VERIFY PREVIOUS COMMAND HAS COMPLETED

3.5.3

REMOTE MODE SETUP

When either of the two interface ports are in use, PAR’s 3.5.3.1 (GPIB), 3.5.3.2 and (RS 232)
describe how to configure the port to meet the user’s requirements.

The BOP can be substituted for a standard BOP that is currently being used with one of Kepco’s
BIT cards, however there are differences in operation (see PAR. 3.5.3.4 and 3.5.3.5.

#include

#include

#include

#include

/*Overhead for the use of a NATIONAL INSTRUMENTS gpib interface */

int unit_desc;

// handle for the national instruments controller

int GPIbus=0;

// GPIB card 0

int adr=6;

// Power Supply address

char status_byte;

// status byte from the power supply

#define MAV 0x10 /* bit 4 of the status byte is the Message AVailable bit by 488.2 specification */

/* Function Send_with_wait

INPUT: string to be sent to power supply

Description: adds the *OPC? query and performs serial polls to wait for the command to be completed.

*/

int Send_with_wait(char *command);

char snd[501];

// data to be sent to the power supply

char rcv [10];

// data from power supply

int j;

sprintf(snd,”%s;:*OPC?,command);

// Add *OPC? to the command

// so there is a response from the

// power supply

Send(GPIbus, adr, snd, strlen(snd), 2);

// Send the data to the power supply

for (j=0;j<500;j++)(

// loop until ready (5 seconds max)

Delay(.05);

// Wait for command to complete

ibrsp(unit_desc,&status_byte);

// get status byte

if ((status_byte& 0x10) ==0x10) break;)

// by looking for data in string

Receive (GPIbus, adr, rev, rev_buf_size,10);

// so the error queue will not receive a 410 error

}

main(

// test code to show operation of function.

unit_desc=ibdev(GPIbus,adr,adr/256,T100ms,1,0x40a);Delay(.005);

Send (GPIbus,adr,”VOLT 10;curr .01”,sizeof(“VOLT 10;curr .01”),NLEND;

Send_with_wait(“*SAV 10”);

}