Sockets lan programming and c – Agilent Technologies N5183A MXG User Manual

Page 115

Advertising
background image

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/.

Advertising
This manual is related to the following products: