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

Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide

105

Page 115
Image 115
Agilent Technologies E8663B, N5181A/82A, N5183A MXG manual Sockets LAN Programming and C, Sockets on Unix

N5183A, N5183A MXG, E8663B, N5181A/82A specifications

Agilent Technologies is renowned for its innovative solutions in electronic test and measurement equipment. Among its offerings are several signal generators including the N5181A, N5182A, E8663B, and N5183A MXG. These models are distinguished not only by their performance but also by their versatility across various applications in communications, aerospace, and electronics.

The Agilent N5181A and N5182A, part of the MXG family, are highly versatile signal generators known for their exceptional frequency performance and flexibility. The N5181A operates from 100 kHz to 6 GHz, while the N5182A extends that range up to 12 GHz. They provide high fidelity signals with low phase noise, making them ideal for the development and testing of RF components and systems. These generators support a wide variety of modulation formats, including AM, FM, PM, and pulse modulation, catering to diverse application needs.

The E8663B, meanwhile, is designed for the range of 250 kHz to 3 GHz and is also recognized for its high-performance features. Its built-in capabilities for modulation make it effective for testing wireless devices, ensuring that signals can be simulated accurately in both laboratory and field environments. It is especially beneficial for users requiring a straightforward and efficient solution with high reliability.

The N5183A MXG signal generator enhances the lineup with frequency coverage up to 6 GHz and advanced capabilities. It integrates various modulation capabilities while ensuring high signal integrity. Its architecture is tailored for both production test environments and research applications, providing users with the flexibility to adapt to changing testing requirements.

Common characteristics across these models include a user-friendly interface that simplifies configuration and operation. They are often equipped with LAN and USB interfaces for easy remote control and integration into automated test systems. The robustness of these generators allows them to perform reliably in challenging environments, making them essential tools in laboratories, manufacturing floors, and field testing scenarios.

In summary, Agilent's signal generators, including the N5181A, N5182A, E8663B, and N5183A MXG, represent a blend of advanced technology, flexibility, and precision. These instruments are vital in facilitating the evolution of cutting-edge communication technologies, ensuring that designers and engineers can confidently meet the demands of modern electronics.