e1529a/e1422a pnp/vee training note - although this material uses vee, it also demonstrates the...

40
E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used with Visual Basic or C programming

Upload: erik-baldwin

Post on 11-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

E1529A/E1422A PnP/Vee Training

Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used with Visual Basic or C programming

Page 2: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 2

E Trainer forE1529A - E1422A Programming

Tom Conway

Phone

Personal line: 970-679-3863

Loveland VXI support line: 970-679-2545

Loveland, Colorado USA

Office hours 8am-5pm Mountain time zone

Email: [email protected] or

[email protected]

Use the E trainer to:

Answer questions on the E1522A - E1422A Programming material

Page 3: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 3

Epsilon System Components

• E1422A (VXI cage related items)

• E1539-66501 SCP

• E1422-80101

• Cable from E1422 to E1529

• Power supply to E1529B

• E1529B

• Gage wires and gages

• Cable from E1529B to Excitation Voltage

• Excitation Voltage Supply

Page 4: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 4

Initial System Setup

• IO Libraries

• http://www.tm.agilent.com/tmo/software/English/HP_IO_Libraries.html

• normally come with the interface instrument (1406, 8491)

• Instrument Drivers

• http://www.tm.agilent.com/tmo/datasheets/English/HPVXIdrivers.html

• latest A.01.04 (January 2000) [web has June 1999--- 4 revisions old]

Page 5: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 5

E1529A - E1422A System ComponentsExcitation Voltage Connection to Strain Gage

Page 6: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 6

Addressing (GPIB,FW,E/C)

• Logical Address

• ex: 160

• GPIB (Logical Address)/8

• GPIB0::22::20::INSTR

• @72220 (GPIB Code 7)

• Firewire (FW Code 16)

• VXIO::160::INSTR

• @16160

1422

1406

GPIB

VXI

Page 7: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 7

Addressing in Vee

• Under I/O ---> Instrument Manager

4

3

21

click

Drivers used previously

Instruments found by Vee

Page 8: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 8

Addressing in Vee

5

6

7Name it (optional)

Page 9: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 9

Addressing Epsilon Programmatically10000

Adapter slot#

Always a 1Channel number

on E1529

Example: 1) Have SCP in slot 3. Which adapter numbers can it use? Answer: 24 & 25

Each SCP slot has two possible adapter slot numbers it can use: (SCP# x 8), (SCP# x 8 +1)

Can specify individual channels or channel lists: (@10001) or (@10102:11631)

Page 10: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 10

• Configuration

• Calibration

• EU Conversion Setup

• Define Channel List, Data Return

• Setup Trigger

• Data Retrieval

General Epsilon Usage Model

Page 11: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 11

General Epsilon Usage Model

Program Download Process

Step 1 Set Channel Amplifiers Filters, & Current Sources

INP:…& OUTP:...Commands

Step2 Link Engineering UnitConversions to Channels

[SENSe:]FUNC:…Commands

Step 3 Calibrate Channel Set-up *CAL? CommandStep 4 Define and Select Scan List(s) ROUT:SEQ:DEF & ROUT:SCAN

CommandsStep 5 Set Sample Timer SAMP:TIMER CommandStep 6 Select Trigger & Arm Sources TRIG:SOUR Command

ARM:SOUR CommandStep 7 Select Data Format FORMAT CommandStep8 Select FIFO Mode SENS:DATA:FIFO:MODE Command

Step 9 Initiate Trigger System INITiate: ... CommandsTrigger Event--------------------->

Step 10 Retrieve Data SENS:DATA:FIFO:...CommandsSENS:DATA:CVT: ...Commands

Configure

Calibrate

Trigger

Data Setup

Data Return

Page 12: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 12

Configuration

• Strain Types (FBEN, HBEN, Q120, Q350, USER)

• sense:func:str:<type> (@<channel#s>)

• NOTE: settling times of up order 0.5 seconds

• Filters (2,10,100, Off) [banks of 8]

• inp:filt:freq <freq> (@<channel#s>)

• inp:filt:stat ON (@<channel#s>)

• GF (floating number.. (ie. 2.2, 2.5))

•sense:str:gfac <value>

(@<channel#s>)

• Excitation (BRID, EXC) [all

channels]

•sense:str:conn <value>

(@<channel#s>)

•sense:str:exc:stat ON

(@<channel#s>)

Page 13: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 13

Calibration• E1422 Calibration

• *cal?

• Using plug and play drivers need to set timeout higher:

• cal:set, cal:set? (better as timeout varies with SCP types/numbers)

• E1529B Calibration

• NOTE: cal:tare? NOT used with E1529 system

• cal:rem? (@<channel#s>)

Page 14: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 14

EU Conversion

• Algorythm relys on unstrained voltage and the exact excitation voltage. Therefor need to measure those voltages using:

• meas:volt:unst? (@<channel#s>)

• meas:volt:exc? (@<channel#s>)

• NOTE: Both of the commands also store their readings in the fifo. To make sure that these will not conflict with the data reading, it’s probably a good idea to clear the fifo with: sense:data:fifo:reset (unless you specifically want those readings, then you can get them using the fifo data retrieval commands)

Page 15: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 15

Channel List, Data Return

• Set route tell where to put data

• rout:seq:def X(@<channel#s>))

• X is channel data modifier

• 0 -throw away (dummy reading)

• 1 - EU reading to CVT only

• 2 - EU reading to FIFO only

• 3 - EU reading to FIFO and CVT

• Set data return format

• form real,64

Page 16: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 16

Trigger• Scans per trigger

• trig:coun <num>

• 1 is the default upon reset (*RST)

• Source of trigger (TIMer, IMMediate, TTLTRG, BUS, EXT, HOLD, IMM)

• trig:sour <type>

• Other

• trigger interval (10E-3 is default)

• intersample time (40E-6 is default)

• Watch out for:

• trigger too fast ((intersample*#channels+algorythm) >= trig_inter)

Page 17: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 17

Data Retrieval

• Trigger Event (Init)

• Fifo

• sens:data:fifo:count?

• sense:data:fifo:part? <#values>

• CVT

• sense:data:cvt? (@<channel#s>)

Page 18: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 18

Command Time (usec)errStatus = hpe1422_init(INSTR_ADDRESS, VI_FALSE, VI_FALSE, &sessn) 20,480,102.04errStatus = hpe1422_cmdInt32_Q(sessn, "*cal?", ptmplong) 30,193,980.65errStatus = hpe1422_cmd(sessn, "cal:set") 64,516.32errStatus = hpe1422_cmdInt32_Q(sessn, "cal:set?", ptmplong) 31,136,325.25errStatus = hpe1422_cmdInt32_Q(sessn, "cal:rem? (@10000)", ptmplong) 7,028,550.75errStatus = hpe1422_cmdInt32_Q(sessn, "meas:volt:exc? (@10000)",ptmplong) 62,288.57

Command Times (firewire w/400MHZ)

Page 19: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 19

Command Times (firewire w/400MHZ)Command Time (usec) Return Value #1 Return Value #2errStatus = hpe1422_init(INSTR_ADDRESS, VI_FALSE, VI_FALSE, &sessn) 20,480,102.04errStatus = hpe1422_cmdInt32_Q(sessn, "*cal?", ptmplong) 30,193,980.65 0errStatus = hpe1422_cmd(sessn, "cal:set") 64,516.32errStatus = hpe1422_cmdInt32_Q(sessn, "cal:set?", ptmplong) 31,136,325.25 0errStatus = hpe1422_cmdInt32_Q(sessn, "cal:rem? (@10000)", ptmplong) 7,028,550.75 0errStatus = hpe1422_cmdInt32_Q(sessn, "meas:volt:exc? (@10000)",ptmplong) 62,288.57 1errStatus = hpe1422_cmdInt32_Q(sessn, "meas:volt:exc? (@10000:10031)",ptmplong) 817,581.02 32errStatus = hpe1422_cmdInt32_Q(sessn, "meas:volt:unst? (@10000)", ptmplong) 44,199.08 1errStatus = hpe1422_cmdInt32_Q(sessn, "meas:volt:unst? (@10000:10031)", ptmplong) 761,076.21 32errStatus = hpe1422_cmd(sessn, "sens:data:fifo:res") 664.81errStatus = hpe1422_reset(sessn) 3,437,168.21errStatus = hpe1422_cmd(sessn, "*rst") 3,430,065.94errStatus = hpe1422_dcl(sessn) 39.93errStatus = hpe1422_cmd(sessn, "*cls") 248.13errStatus = hpe1422_downloadAlg(sessn, "ALG1",256, "/**/static float a;writecvt(I100,500);") 82,400.21errStatus = hpe1422_cmd(sessn, "*rst") 3,432,285.37errStatus = hpe1422_downloadAlg(sessn, "ALG1",256, "bigprogram.txt") 53,728.03errStatus = hpe1422_error_query(sessn, ptmplong, tmpstr) 536.38 0 No errorerrStatus = hpe1422_algScal(sessn, "ALG1","a",10) 436.40errStatus = hpe1422_cmd(sessn, "ALG:UPD") 36.09errStatus = hpe1422_cmdString_Q(sessn, "sens:str:conn? (@10000)", 32, tmpstr) 43.71 BRIDerrStatus = hpe1422_cmdInt32_Q(sessn, "sens:str:exc:state? (@10000)", ptmplong) 32.40 1errStatus = hpe1422_cmdString_Q(sessn,"sense:str:brid:type? (@10000)", 32, tmpstr) 30.76 FBENerrStatus = hpe1422_cmdReal64_Q(sessn,"inp:filt:lpas:freq? (@10000)", ptmpdouble) 112.14 10errStatus = hpe1422_cmdReal64_Q(sessn,"sense:str:gfac? (@10000)", ptmpdouble) 93.29 2errStatus = hpe1422_cmdInt32_Q(sessn,"inp:filt:lpas:state? (@10000)",ptmplong) 33.96 1errStatus = hpe1422_timeOut(sessn, 2000) 7.90errStatus = hpe1422_cmd(sessn,"sense:func:str:FBEN (@10000)") 266.52

errStatus = hpe1422_cmd(sessn,"sense:func:str:FBEN (@10000:10031)") 283.15

Page 20: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 20

Command Times (firewire w/400MHZ)Command Time (usec) Return Value #1 Return Value #2errStatus = hpe1422_cmd(sessn,"sense:str:gfac 2.12,(@10000)") 219.72errStatus = hpe1422_cmd(sessn,"sense:str:gfac 2.12,(@10000:10031)") 216.19errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:freq 2,(@10000)") 8,830.36errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:freq 2,(@10000:10008)") 8,970.31errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:freq 2,(@10000:10016)") 9,212.00errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:freq 2,(@10000:10024)") 8,945.59errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:state ON,(@10000)") 260.05errStatus = hpe1422_cmd(sessn,"inp:filt:lpas:state ON,(@10000:10031)") 276.92errStatus = hpe1422_cmd(sessn,"sens:str:conn BRIDge,(@10000)") 200.74errStatus = hpe1422_cmd(sessn,"sens:str:exc:state ON,(@10000)") 198.20errStatus = hpe1422_error_query(sessn, ptmplong, tmpstr) 533.07 3079 Algorithm is undefinederrStatus = hpe1422_cmd(sessn,"AnInvalidCommand") 86.44errStatus = hpe1422_error_query(sessn, ptmplong, tmpstr) 490.16 -112 Program mnemonic too longerrStatus = hpe1422_cmd(sessn,"FORM REAL,64") 41.17errStatus = hpe1422_cmd(sessn,"sample:timer 0.00005") 1,103.83errStatus = hpe1422_trigger(sessn, "TIM", 0.004, 1000) 1,905.50errStatus = hpe1422_cmd(sessn,"route:sequence:define (@10000:10031)") 226.02errStatus = hpe1422_initImm(sessn) 422,248.24errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 259.83 32000errStatus = hpe1422_readFifo_Q(sessn,10000,65024, f64_array,ptmplong) 9,422.39errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 188.64 22000errStatus = hpe1422_readFifo_Q(sessn,5000,65024, f64_array,ptmplong) 5,274.66errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 184.62 17000errStatus = hpe1422_readFifo_Q(sessn,2500,65024, f64_array,ptmplong) 4,278.28errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 185.80 14500errStatus = hpe1422_readFifo_Q(sessn,2000,65024, f64_array,ptmplong) 2,866.69errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 179.22 12500errStatus = hpe1422_readFifo_Q(sessn,1250,65024, f64_array,ptmplong) 2,133.52errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptmplong) 186.30 11250errStatus = hpe1422_readFifo_Q(sessn,1000,65024, f64_array,ptmplong) 1,979.68

Page 21: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 21

Common Errors

• Incorrect (or nonexistant) hookup of excitation voltage

• Addressing Problems

• HP I/O Problems

• Command Syntax Errors (check for errors)

• Trigger too fast

• Power Supply not earthed

Page 22: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 22

Vee walkthrough (Configuration)

Page 23: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 23

Vee program walkthrough (Overview)

Configuration

Calibration

Data Retrieval

EU Setup

Trigger/Route

Page 24: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 24

Vee program walkthrough (Calibration)

Page 25: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 25

Vee program walkthrough (EU Setup)

Insert a 1 second delay between Vexc and Vunst measurements to settleout residual voltage.

Page 26: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 26

Vee program walkthrough (Trigger)

Page 27: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 27

Vee walkthrough (Data)

Page 28: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 28

Vee Exercise• Configure:

• Filter OFF

• Channel 7 - Half Bridge, gage 2.2

• Channel 8 - Full Bridge, gage 2.2

• Channel 9 - Full Bridge, gage 2.2

• Excitation ON, from BRIDge

• Calibrate both 1422, E1529

• EU conversion

• Trigger TIM

• Read Data from FIFO (bonus: display data nicely)

Page 29: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 29

Vee Exercise, a solution (part 1 of 4)

Page 30: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 30

Vee Exercise, a solution (part 2 of 4)

Page 31: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 31

Vee Exercise, a solution (part 3 of 4)

Page 32: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 32

Vee Exercise, a solution (part 4 of 4)

Page 33: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 33

Same Exercise in C

• Need to include:

• Using Microsoft C++:

• Project->Settings->Link :Category(General)

• add: hpe1422.lib

• Project->Settings->Link:Category(Input)

• Additional Library Path: d:\vxipnp\winnt\lib\msc

• Project->Settings->C/C++:Category(Preprocessor)

• Additional Include Directories: d:\vxipnp\winnt\include

#include "visa.h"#include "visatype.h"#include "vpptype.h"#include <hpe1422.h>

Page 34: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 34

Same Exercise in C (part 1 of 3)/**** * Demo_000313.cpp * * Author: stone (x2782) * Description: Basic configuration and retrieval of Data * * link with the hpe1422.lib - library file ****/

#include "visa.h"#include "visatype.h"#include "vpptype.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windows.h>#include <hpe1422.h>

#define INSTR_ADDRESS "VXI0::160::INSTR"

ViSession sessn;ViStatus errStatus;ViReal64f64_array[65024];

Page 35: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 35

Same Exercise in C (part 2 of 3) void main (void) /* Main function */{

int numsamples = 64;long tmplong;long *ptrTmplong;

ptrTmplong = &tmplong;

/* open connection */printf("initializing\n");errStatus = hpe1422_init(INSTR_ADDRESS, VI_FALSE,

VI_FALSE, &sessn);

/* configuration */printf("configuring..\n");errStatus = hpe1422_cmd(sessn, "sens:func:str:HBEN

(@10007)");errStatus = hpe1422_cmd(sessn, "sens:func:str:FBEN

(@10008)");errStatus = hpe1422_cmd(sessn, "sens:func:str:FBEN

(@10009)"); errStatus = hpe1422_cmd(sessn, "sens:str:gfac 2.2,(@10007:10009)");

errStatus = hpe1422_cmd(sessn, "inp:filt:state OFF,(@10007:10009)");

errStatus = hpe1422_cmd(sessn, "sens:str:conn BRID,(@10007)");

errStatus = hpe1422_cmd(sessn, "sens:str:exc:state ON,(@10007)"); if (errStatus > 0 ) {

printf("Error: %d",errStatus);}

Page 36: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 36

Same Exercise in C (part 3 of 3)/* calibration */printf("calibrating..\n");errStatus = hpe1422_cmdInt32_Q(sessn,"*cal?",ptrTmplong);

errStatus = hpe1422_cmdInt32_Q(sessn,"cal:rem? (@10000)",ptrTmplong);

/* EU */printf("EUing..\n");errStatus = hpe1422_cmdInt32_Q(sessn,"meas:volt:exc?

(@10007:10009)",ptrTmplong);errStatus = hpe1422_cmdInt32_Q(sessn,"meas:volt:unst?

(@10007:10009)",ptrTmplong); errStatus = hpe1422_cmd(sessn,"sens:data:fifo:reset");

/* route, trigger */printf("Setting trigger/route..\n");

errStatus = hpe1422_cmd(sessn,"route:seq:def (@2(10007:10009))");

errStatus = hpe1422_cmd(sessn,"form real,64");errStatus = hpe1422_cmd(sessn,"sample:timer 0.00004");errStatus = hpe1422_trigger(sessn,"TIM",0.01,numsamples);

printf("initing..\n"); errStatus = hpe1422_cmd(sessn, "init");

Sleep(2); errStatus = hpe1422_sensDataFifoCoun_Q(sessn, ptrTmplong);

errStatus = hpe1422_readFifo_Q(sessn, numsamples*3, numsamples*3, f64_array, ptrTmplong);

printf("num: %ld\n", tmplong);

/* close connection */hpe1422_close(sessn);

}

Page 37: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 37

Same Exercise in VB (part 1 of 4)

• Add module: D:\vxipnp\winnt\hpe1422\hpe1422.bas

Page 38: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 38

Same Exercise in VB (part 2 of 4)Private Sub btnStart_Click() Dim tmpdbl As Double Dim tmpvar As Long Dim result As Long Dim f64_array() As Double ' initializing gpibAddress = "VXI0::160::INSTR" numsamples = 64 ReDim f64_array(numsamples * 3) txtStatus.Text = "initializing..." txtStatus.Refresh errStatus = hpe1422_init(gpibAddress, 1, 1, vi) ' configuring txtStatus.Text = "configuring..." txtStatus.Refresh errStatus = hpe1422_cmd(vi, "sens:func:str:HBEN (@10007)") errStatus = hpe1422_cmd(vi, "sens:func:str:FBEN (@10008)") errStatus = hpe1422_cmd(vi, "sens:func:str:FBEN (@10009)") errStatus = hpe1422_cmd(vi, "sens:str:gfac 2.2,(@10007:10009)") errStatus = hpe1422_cmd(vi, "inp:filt:state OFF,(@10007:10009)") errStatus = hpe1422_cmd(vi, "sens:str:conn BRID,(@10007)") errStatus = hpe1422_cmd(vi, "sens:str:exc:state ON,(@10007)")

Page 39: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 39

Same Exercise in VB (part 3 of 4) ' calibration txtStatus.Text = "calibrating..." txtStatus.Refresh 'errStatus = hpe1422_cmdInt32_Q(vi, "*cal?", result) 'errStatus = hpe1422_cmdInt32_Q(vi, "cal:rem? (@10000)", result)

' EU txtStatus.Text = "EUing..." txtStatus.Refresh errStatus = hpe1422_cmdInt32_Q(vi, "meas:volt:exc? (@10007:10009)", result) errStatus = hpe1422_cmdInt32_Q(vi, "meas:volt:unst? (@10007:10009)", result) errStatus = hpe1422_cmd(vi, "sens:data:fifo:reset")

' route, trigger txtStatus.Text = "Setting route/trigger..." txtStatus.Refresh errStatus = hpe1422_cmd(vi, "route:seq:def (@2(10007:10009))") errStatus = hpe1422_cmd(vi, "form real,64") errStatus = hpe1422_cmd(vi, "sample:timer 0.00004") errStatus = hpe1422_trigger(vi, "TIM", 0.01, numsamples)

Page 40: E1529A/E1422A PnP/Vee Training Note - Although this material uses Vee, it also demonstrates the general PnP function call sequence that should be used

Epsilon OverviewPage 40

Same Exercise in VB (part 4 of 4) ' init txtStatus.Text = "initing....." txtStatus.Refresh errStatus = hpe1422_cmd(vi, "init") txtStatus.Text = "Reading data..." txtStatus.Refresh While Not (result = (numsamples * 3)) errStatus = hpe1422_sensDataFifoCoun_Q(vi, result) Wend txtFIFOCnt.Text = result For varloop = 0 To ((numsamples * 3) - 1) errStatus = hpe1422_readFifo_Q(vi, 1, 1, tmpdbl, tmpvar) f64_array(varloop) = tmpdbl Next varloop txtStatus.Text = "Closing..." txtStatus.Refresh errStatus = hpe1422_close(vi) txtStatus.Text = "Done" txtStatus.Refresh End Sub