Agilent Technologies 66lxxA manual EOl enabled for both read and write

Page 106

/* APPLICATION #3: CONTROLLING VOLTAGE RAMP UP AT TURN ON,

FOR MICROSOFT C AND THE NATIONAL INSTRUMENTS GPIB-PC INTERFACE CARD PROGRAM: N3.C

Configure the GPIB.COM handler for the following:

EOl enabled for both read and write

#include <stdio.h>

 

 

 

Disable auto serial poll

*/

#include <stdlib.h>

 

 

 

 

 

#include <string.h>

 

 

 

 

 

#include "decl.h”

 

 

 

 

 

#define ERR

(1<<15)

/*

Error detected as bit 15 of ibsta.

*/

#define NUM_PTS 20

 

/*

The number of points in the voltage List.

*/

#define MAX_LEN 255

/*

Maximum length of a string = 255 characters.*/

#define SMALL_STRING 15

/*

When you need a small string of 15 characters. */

#define WTG 32

 

/*

Waiting for Trigger (WTG) = bit 5 = value 32

*/

int slot0;

 

/*

Device number of module in slot 0. Slot0 is configured in GPIB.Com as

 

 

 

GPIB address 5, secondary address 96.

*/

main( )

{

char *cmd;

char cmd_buff[MAX_LEN]; char vpoint[SMALL_STRING]; char vlist[MAX_LEN];

char condition_data[SMALL_STRING]; int i;

float vstart = 2.0; float vstop = 10.0; float ramptime = 0.5; float dwell;

dwell = ramptime / 19.0;

if ((slot0 = ibfind(“SLOT0”)) < 0) finderr( );

cmd = "*RST;*CLS;STATUS:PRESET”; ibwrt(slot0, cmd, strlen(cmd));

if (ibsta & ERR) error(cmd);

sprintf(cmd_buff , "VOLT %f”, vstart); /*

ibwrt(slot0, cmd_buff, strlen(cmd_buff)); if (ibsta & ERR)

error(cmd_buff);

cmd = "CURR .1”; ibwrt(slot0, cmd, strlen(cmd)); if (ibsta & ERR)

error(cmd);

cmd = "OUTPUT ON"; ibwrt(slot0, cmd, strlen(cmd)); if (ibsta & ERR)

error(cmd);

/*

Used to hold command strings sent to the module. */

 

/*

Used to hold command strings during string manipulations. */

/*

Used to hold the string equivalent of one voltage ramp step. */

/*

Used to hold the entire voltage List command header and points. */

/*

Reserve space for reading back status conditions. */

 

/*

Loop counter. */

 

/*

Start voltage for the ramp. */

 

/*

Stop voltage for the ramp. */

 

/*

Transition time for the ramp. */

 

/*

Dwell time for each ramp step. */

 

/*

Since the output stays at the last voltage point after its

 

 

dwell expires, the dwell time of the last point is not part of the

 

transition time. Therefore, divide the total time by 19 points, not 20.

 

You want the same dwell time for every point in the List, so only

 

download 1 dwell time. */

 

/*

Assign unique identifier to the device slot0 and store in

*/

/*

variable slot0. Error = negative value returned.

*/

/*

Reset and clear module. */

 

/*

Start ramp at vstart. Use number to string conversion to send

*/

 

real numbers over the bus as part of the command string.

*/

/* Enable output */

Application Programs 107

Image 106
Contents Agilent Part No Microfiche Part No Update April Programming GuideSafety Guidelines Contents Abor Status Reporting Synchronizing Power Module Output Changes Error MessagesDocumentation Summary IntroductionAbout This Guide External ReferencesAccessing Online Help VXIplug&play Power Products Instrument DriversDownloading and Installing the Driver Supported ApplicationsModule Gpib Address Gpib Capabilities Of The Power ModuleIntroduction To Programming Introduction To ScpiRST *IDN? *SRE Volt LEV Prot Curr Voltlev 8.0 Prot 8.8 CURR?Outpprotdel Traversing the Command Tree Effect of Optional HeadersVoltagelevel 7PROTECTION 8CURRENTLEVEL 3MODE List Outputprotectionclear STATUSOPERATIONCONDITION?OUTPUTPROTECTIONCLEARSTATUSOPERATIONCONDITION? Volttrig 7.5INIT*TRG Outp OFF*RCL 2OUTP onListening Formats SymbolNumerical Data Formats Talking Formats Suffixes and Multipliers Class Unit Unit with MultiplierSystem Considerations Assign @PM3TOError Handling Agilent Basic ControllersUsing the National Instruments Gpib Interface Sending the Command Volt 5 in Basic Sending the Command Volt 5 in CReceiving Data from the Module Receiving Module Data with BasicReceiving Module Data with C Language Dictionary IntroductionMeaning and Type Description Of Common CommandsCLS DescriptionESE Bit Configuration of Standard Event Status Enable RegisterESE ESR?OPC IDN?OPC? OPT? PSCRCL RCLRST SRE SAVSRE STB? Bit Configuration of Status Byte RegisterTRG WAI Description of Subsystem CommandsTST? AborSubsystem Tree Diagram Calibration Subsystem CalautoCalcurrlev Calauto 1 Calauto OnceCalcurr CalpassCalvolt CalsaveCalstat CalvoltlevCurr 500 MA Currlev CalvoltprotCurr CurrmodeCurrtrig CurrprotstatCurrprotstat OFF Currtrig 1200 MA CurrlevtrigListcoun Listcoun INF Init Initcont 1 Initcont onListcoun ListcurrLISTDWELPOIN? LISTCURRPOIN?Listdwel ListstepLISTVOLTPOIN? ListvoltListvolt 2.0,2.5,3.0 Listvolt MAX,2.5,MIN MEASCURR? MEASVOLT?Outp Outpstat ON,NORELAY OutpprotOutprelpol Outpprotcle Outpprotdel 75E-1Outprel NormOutpttltlink OutpttltOutpttlt 1 Outpttlt OFF Outpttltsour LinkSTATOPERCOND? STATOPER?STATOPEREVEN? StatoperenabStat Oper NTR 32 Stat Oper PTR StatpresSTATQUESCOND? STATQUES?STATQUESEVEN? Stat Ques COND?Trigger Subsystem SYSTERR?SYSTVERS? TrigTrigdel .25 Trigdel MAX Trig Trig IMMTrigdel TriglinkVoltmode VoltVoltlev Voltmode List Voltmode FIXVolttrig VOLTSENSSOUR?Volttrig 1200 MV Voltlevtrig Power Module Programming Parameters Link Parameter ListStatus Reporting Power Module Status StructureStatus Register Bit Configuration Operation Status GroupStatus Questionable Commands Query Bit Signal Bit Configurations of Status Registers MeaningQuestionable Status Group Power Module Status Model Standard Event Status GroupOutput Queue Status Byte RegisterLocation Of Event Handles Initial Conditions At Power On ExamplesSTATOPEREVEN?QUESEVEN? Statoperptr 5376ENABStatquesptr 18ENAB Statoperptr 1024NTR Statoperenab 1024*SRETrigger Subsystem Synchronizing Power Module Output ChangesModel of Fixed-Mode Trigger Operation Idle State Delaying StateInitiated State Trigger Status and Event Signals Model of List Mode Trigger OperationINITiateCONTinuous Command Output Change StateOutpttltsour List Subsystem Listcurr 2,3,12,15 Listvolt 3.0,3.25,3.5,3.75 Listdwel 10,10,25,40Automatically Repeating a List Triggering a ListTiming diagrams of Liststep Operation Scpi Command Completion DFI Discrete Fault Indicator SubsystemRI Remote Inhibit Subsystem System Error Messages Error MessagesPower Module Hardware Error Messages Standard Event Status Register Error Bits222 -223 -241 -310 -330 -350 -400 -410 -420 -430 Scpi Conformance Information Scpi Confirmed CommandsScpi Approved Commands Scpi VersionNon-SCPI Commands Application Programs Application 1. Sequencing Multiple Modules During Power Up Figure B1-1. Block Diagram of Application #1 Variations On This ImplementationFigure B1-2. Timing Diagram of Application #1 Enable Output Reset and Clear ModuleEnable Backplane TTL Trigger Drive Enable Response to TriggerImplementation Details How The MPS Implements The Solution MPS Set Up Figure B2-1. Block Diagram of Application #2 Enable Response to TTL Trigger When a CV-TO-CC Transition OccursEnable TTL Trigger Drive Start AT 15Application 3. Controlling Output Voltage Ramp Up at Turn On Figure B3-1. Simulating a Slow Voltage Ramp Generating the Desired Voltage Ramp for Application #3 Stop Voltage for Ramp Option BaseStart Voltage for Ramp SecondsApplication 4. Providing Time-Varying Voltages Figure B4-1. Voltage Waveform for Application #4Module set up Variations On This Implementation Enable Detection of OC Condition Enable OCPNo Delay Before Protection Occurs Enables Detection on Positive TRANSITION, I.EApplication 5. Providing Time-Varying Current Limiting Figure B5-1. Typical DUT Current vs. Time Implementation Details How The MPS Implements The Sequence Dwell Time Data GO to 12 V When TriggeredCurrent Limit Data SET to GET Current from ListApplication 6. Output Sequencing Paced by the Computer Nominal 12MPS Set Up Figure B6-1. Block Diagram of Application #6 To be Tested These are the BiasSupply Limit Conditions Number of Bias Supply Limit C0MBINATIONSReturn Overview Of Application Advantages/Benefits Of The MPS Solution Figure B7-1. Block Diagram of Application #7 Enable SRQ Interrupt When the Module Indicates SIC Step CompletedWhen IT Completes the LIST. OPC Generates SRO Enable Intr Identify Handler SubroutineSupplemental Information ‘ Conversion to Send Real Numbers Over the BUS CMD$ = Output on ‘ Enable OutputCMD$ = Initiate ‘ Enable Trigger to Start List CMD$ = Voltmode List ‘ SET to GET Voltage from ListCONDITION.DATA = Call Iooutputs SLOTO, CMDS, LWaiting for Trigger BIT 5 of the Operation Status Register Wend‘ Program N3.BAS ‘ Disable Auto Serial PollIf IBSTA% 0 then Goto ‘ AS Part of the Command String ‘ INSTRUMENT.NAME$ = SlotoIf IBSTA% 0 then Goto Selected AS a Trigger Source ‘ General Error HandlerStop Application #3 Controlling Voltage Ramp UP AT Turn on Dwell = ramptimeTo terminate the iooutputa Int error Char *badstring If error != EOl enabled for both read and write Strcatvlist, vpoint This is a generalized error checking routine Index IndexIndex Index Index Agilent Sales and Support Offices United States Latin AmericaManual Updates