Agilent Technologies E8663B Portable Generator User Manual


 
Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide 105
Programming Examples
LAN Programming Interface Examples
status = viWrite(instr, (ViBuf)"*IDN?\n", 6, &retCount);
// Read the sig gen response
status = viRead(instr, (ViBuf)buffer, MAX_COUNT, &retCount);
buffer[retCount]= '\0'; // Indicate the end of the string
printf("Signal Generator ID = "); // Print header for ID
printf(buffer); // Print the ID string
printf("\n"); // Print carriage return
// Flush the read buffer
// Set sig gen power to -5dbm
status = viWrite(instr, (ViBuf)"POW:AMPL -5dbm\n", 15, &retCount);
// Query the power level
status = viWrite(instr, (ViBuf)"POW?\n",5,&retCount);
// Read the power level
status = viRead(instr, (ViBuf)buffer, MAX_COUNT, &retCount);
buffer[retCount]= '\0'; // Indicate the end of the string
printf("Power level = "); // Print header to the screen
printf(buffer); // Print the queried power level
printf("\n");
status = viClose(instr); // Close down the system
status = viClose(defaultRM);
return 0;
}
Sockets LAN Programming and C
The program listing shown in “Queries for Lan Using Sockets” on page 107 consists of two files;
lanio.c and getopt.c. The lanio.c file has two main functions; int main() and an int main1().
The int main() function allows communication with the signal generator interactively from the
command line. The program reads the signal generator's hostname from the command line, followed
by the SCPI command. It then opens a socket to the signal generator, using port 5025, and sends the
command. If the command appears to be a query, the program queries the signal generator for a
response, and prints the response.
The int main1(), after renaming to int main(), will output a sequence of commands to the signal
generator. You can use the format as a template and then add your own code.
This program is available on the signal generator Documentation CD-ROM as lanio.c.
Sockets on UNIX
In UNIX, LAN communication via sockets is very similar to reading or writing a file. The only
difference is the openSocket() routine, which uses a few network library routines to create the
TCP/IP network connection. Once this connection is created, the standard fread() and fwrite()
routines are used for network communication. The following steps outline the process:
1. Copy the lanio.c and getopt.c files to your home UNIX directory. For example, /users/mydir/.