2-26 Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 4
Driver Function Reference
hp4156b_measureM
hp4156b_measureM
This function executes a multi channel spot measurement by the specified units, and
returns the measurement result data and the measurement status.
Syntax ViStatus _VI_FUNC hp4156b_measureM(ViSession vi, ViInt32 channel[ ],
ViInt32 mode[ ], ViReal64 range[ ], ViReal64 value[ ], ViInt32 status[ ]);
Parameters vi Instrument handle returned from hp4156b_init( ).
channel[ ] Channel number of the measurement unit. 1 to 6 (SMU1 to
SMU6), 23 (VMU1), or 24 (VMU2).
Enter 0 to the last element of channel[ ]. For example, if you use
two channels, set the array size to 3, specify the channels to the
first and second elements, and enter 0 to the third element.
mode[ ] Measurement mode. 1 (current) or 2 (voltage).
range[ ] Measurement ranging mode. 0 (auto), positive value (limited
auto), or negative value (fixed range). For the available values,
see Table 2-2 and Table 2-5 or Table 2-7.
value[ ] Measurement data. Returned data.
status[ ] Measurement status. Returned data. For the status value, see
“Status Code” on page 2-12.
Example
ViSession vi;
ViStatus ret;
ViReal64 v1 = 3; /* output voltage */
ViInt32 vmode = 2; /* voltage output mode */
ViInt32 mch[3]; /* source and measurement channels */
mch[0] = 1; /* SMU1 for the 1st measurement channel*/
mch[1] = 2; /* SMU2 for the 2nd measurement channel*/
mch[2] = 0;
ret = hp4156b_setSwitch(vi, mch[0], 1);
ret = hp4156b_setSwitch(vi, mch[1], 1);
ret = hp4156b_force(vi, mch[0], vmode, 0, 0, 0.1, 0);
ret = hp4156b_force(vi, mch[1], vmode, 0, v1, 0.1, 0);
ViInt32 mode[2]; /* measurement mode */
mode[0] = 1; /* current measurement for 1st channel */
mode[1] = 1; /* current measurement for 2nd channel */
ViReal64 range[2]; /* measurement range */
range[0] = 0; /* auto ranging for 1st channel */
range[1] = 0; /* auto ranging for 2nd channel */
ViReal64 md[2]; /* measurement value */
ViInt32 st[2]; /* measurement status */
ret = hp4156b_measureM(vi, mch, mode, range, &md[0], &st[0]);