HP (Hewlett-Packard) E1412A Waterskis User Manual


 
HP E1312A and HP E1412A Multimeter Module Setup 23Chapter 1
#include <stdio.h>
#include <visa.h>
/*** FUNCTION PROTOTYPE ***/
void err_handler (ViSession vi, ViStatus x);
void main(void)
{
char buf[512] = {0};
#if defined(_BORLANDC_) && !defined(_WIN32_)
_InitEasyWin();
#endif
ViStatus err;
ViSession defaultRM;
ViSession dmm;
/* Open resource manager and multimeter sessions. */
viOpenDefaultRM (&defaultRM);
viOpen(defaultRM, "GPIB-VXI0::9::24", VI_NULL, VI_NULL, &dmm);
/* Set the timeout value to 10 seconds. */
viSetAttribute (dmm, VI_ATTR_TMO_VALUE, 10000);
/* Reset the module. */
err = viPrintf (dmm, "*RST/n");
if (err<VI_SUCCESS) err_handler (dmm, err);
/* Query the module identification. */
err = viPrintf(dmm, "*IDN?/n");
if (err<VI_SUCCESS) err_handler (dmm, err);
err = viScanf(dmm, "%t", buf);
if (err<VI_SUCCESS) err_handler (dmm, err);
printf ("Module ID = %s/n/n", buf);
/* Perform a module self-test. */
err = viPrintf (dmm, "*TST?/n");
if(err<VI_SUCCESS) err_handler (dmm, err);
err = viScanf (dmm, "%t", buf);
if (err<VI_SUCCESS) err_handler (dmm, err);
printf ("Self-test response = %s/n/n", buf);
/* Check for system errors. */
err = viPrintf (dmm, "SYST:ERR?/n");
if (err<VI_SUCCESS) err_handler (dmm, err);
err = viScanf (dmm, "%t", buf);
if (err<VI_SUCCESS) err_handler (dmm, err);
printf ("System error response = %s/n/n", buf);
} /* end of main */
/*** Error handling function ***/
void err_handler (ViSession dmm, ViStatus err)
{
char buf[1024] = {0};
viStatusDesc (dmm, err, buf);
printf ("ERROR = %s/n", buf);
return;
}