Chapter 6 Application Programs

Example Program for C and C++

127

6
if(bGPIB){ /* For use with GPIB 7 address, use "GPIB::7::INSTR" address format */
strcpy(VISA_address,"GPIB::");
strcat(VISA_address,GPIB_Address);
strcat(VISA_address,"::INSTR");
}
else{ /* For use with COM2 port, use "ASRL2::INSTR" address format */
strcpy(VISA_address,"ASRL");
strcat(VISA_address,COM_Address);
strcat(VISA_address,"::INSTR");
}
/* Open communication session with the power supply */
ErrorStatus = viOpenDefaultRM(&defaultRM);
ErrorStatus = viOpen(defaultRM,VISA_address,0,0,&power_supply);
CheckError("Unable to open port");
if(!bGPIB)
SendSCPI("System:Remote");
}
void SendSCPI(char* pString)
{
char* pdest;
strcpy(commandString,pString);
strcat(commandString,"\n");
ErrorStatus = viPrintf(power_supply,commandString);
CheckError("Can’t Write to Driver");
if (bGPIB == 0)
delay(1000); /* Unit is milliseconds */
pdest = strchr(commandString, ’?’); /* Search for query command */
if( pdest != NULL ){
ErrorStatus = viScanf(power_supply,"%s",&ReadBuffer);
CheckError("Can’t Read From Driver");
strcpy(pString,ReadBuffer);
}
}
void ClosePort()
{
/* Close the communication port */
viClose(power_supply);
viClose(defaultRM);
}
Continued on next page