Quantcast
Viewing all articles
Browse latest Browse all 5361

Keithly 2400 SPCI Commands

I am a brand new user try to get my way around.  I hope to get some helps.  I am using Labwindow library to write an automation test that uses the Keithly 24100 to source the voltage and measure the current - I communicate and send out SPCI commands to initialized and configure the function OK but when it come to accquire the current measurement I am stuck.

Here is my code for that part

 char read_data[501];
 double actual_current;
 char input[36] = "SOUR:VOLT:LEV ";
 char temp[16] = "";
 
 sprintf (temp, "%f", voltage);
 strcat(input, temp);
 
 write_IO ("*RST", kl_2410_meter);
 Delay (1);
 write_IO ("SOUR:FUNC VOLT",kl_2410_meter); //Select voltage source
 write_IO ("SOUR:VOLT:MODE FIXED",kl_2410_meter); //fixed voltage mode
 
 write_IO ("SOUR:VOLT:RANG 20",kl_2410_meter); //range at 20V 
 write_IO ("SENS:CURRImage may be NSFW.
Clik here to view.
Smiley Tongue
ROT 100E-3",kl_2410_meter); //current compliance 100mA
 write_IO (input, kl_2410_meter); //set the source voltage to desired voltage
 
 write_IO ("SENS:FUNC \"CURR\" ", kl_2410_meter); // select current measuring mode
 write_IO ("SENS:CURR:RANG 10E-3",kl_2410_meter); //set current range to 10mA
 write_IO ("OUTP ON",kl_2410_meter); // turn on output
 
 write_IO("TRAC:CLE", kl_2410_meter); // clear out buffer
 write_IO("TRAC:FEED SENS", kl_2410_meter); // clear out buffer
 write_IO("TRAC:CLE", kl_2410_meter); // clear out buffer
 write_IO("TRACImage may be NSFW.
Clik here to view.
Smiley Tongue
OIN 10", kl_2410_meter);
 write_IO("TRAC:FEED:CONT NEXT", kl_2410_meter);
 write_IO ("INIT",kl_2410_meter); //     

 write_IO ("CALC3:FORM MEAN",kl_2410_meter);  
 write_IO ("CALC3Image may be NSFW.
Clik here to view.
Smiley Very Happy
ATA?",kl_2410_meter);

}

 

and the write_IO routine is just a wrapper for ibwrt as follow

 

void write_IO (void *buffer, int equip_id)
{
 long length;
 length = strlen (buffer);
 ibwrt (equip_id, buffer, (long) length);
 if (ibsta & ERR)
 {
  gpiberror (equip_id, PANEL, PANEL_STATUS,"ibwrt error");
 }
}

 

and I also have the wrapper for reading

char * read_IO (int equip_id, char *s)
{

 ibrd (equip_id, s, 500);
 s[ibcntl] = '\0';

 if (ibsta & ERR)
 {
  gpiberror (equip_id, PANEL, PANEL_STATUS,"ibrd error");
 }
 return (s);
}

 

 

My question is when I write this statement write_IO ("CALC3Image may be NSFW.
Clik here to view.
Smiley Very Happy
ATA?",kl_2410_meter);
  where is the data store at so I can get out the current reading?


Viewing all articles
Browse latest Browse all 5361

Trending Articles