Agilent Signal Generators Programming Guide
93
Programming Examples
GPIB Programming Interface Examples
ibwrt(sig, "OUTP?",5);           // Querys the on/off state of the instrument
ibrd(sig,rdVal,2);               // Enter in the source state
rdVal[ibcntl] = '\0';
num = (int (rdVal[0]) -('0'));
if (num > 0){
cout<<"Source RF state is : On"<<endl;
}else{
cout<<"Source RF state is : Off"<<endl;}
cout<<endl;
ibwrt(sig, "*IDN?",5);           // Querys the instrument ID
ibrd(sig, rdVal,100);            // Reads the source ID
rdVal[ibcntl] = '\0';            // Null character indicating end of array
cout<<"Source ID is : "<<rdVal;  // Prints the source ID
cout<<"Press any key to continue"<<endl;
cin.ignore(10000,'\n');
ibwrt(sig, "SYST:COMM:GPIB:ADDR?",20); //Querys source address
ibrd(sig, rdVal,100);            // Reads the source address
rdVal[ibcntl] = '\0';            // Null character indicates end of array
// Prints the signal generator address
cout<<"Source GPIB address is : "<<rdVal;
cout<<endl;
cout<<"Press the 'Local' key to return the signal generator to LOCAL control”<<endl;      cout<<endl;
return 0;
}
Queries for GPIB Using VISA and C
This example uses VISA library functions to query different instrument states and conditions. Launch 
Microsoft Visual C++ 6.0, add the required files, and enter the following code into your .cpp source 
file. visaex3.cpp performs the following functions:
• verifies the GPIB connections and interface are functional
• resets the signal generator
• queries the instrument (CW frequency, power level, frequency mode, and RF state)
• reads responses into the rdBuffer (CW frequency, power level, and frequency mode)
• turns signal generator RF state off
• verifies RF state off
The following program example is available on the signal generator Documentation CD-ROM as 
visaex3.cpp.
//****************************************************************************************
// PROGRAM FILE NAME:visaex3.cpp
//
// PROGRAM DESCRIPTION:This example demonstrates the use of query commands. The signal
// generator can be queried for conditions and instrument states. These commands are of
// the type "*IDN?"; the question mark indicates a query.
C# pdf to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf file into jpg; convert pdf to high quality jpg
C# pdf to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
best convert pdf to jpg; change pdf to jpg
94
Agilent Signal Generators Programming Guide
Programming Examples
GPIB Programming Interface Examples
//
//****************************************************************************************
#include <visa.h>
#include "StdAfx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
void main ()
{
ViSession defaultRM, vi;    // Declares variables of type ViSession
// for instrument communication
ViStatus viStatus = 0;      // Declares a variable of type ViStatus
// for GPIB verifications
char rdBuffer [256];        // Declares variable to hold string data
int num;                    // Declares variable to hold integer data
// Initialize the VISA system
viStatus=viOpenDefaultRM(&defaultRM);     
// Open session to GPIB device at address 19
viStatus=viOpen(defaultRM, "GPIB::19::INSTR", VI_NULL, VI_NULL, &vi);
if(viStatus){               // If problems, then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
printf("\n");
exit(0);}
viPrintf(vi, "*RST\n");         // Resets signal generator 
viPrintf(vi, "FREQ:CW?\n");     // Querys the CW frequency
viScanf(vi, "%t", rdBuffer);    // Reads response into rdBuffer
// Prints the source frequency
printf("Source CW frequency is : %s\n", rdBuffer);  
printf("Press any key to continue\n");
printf("\n");                   // Prints new line character to the display
getch(); 
viPrintf(vi, "POW:AMPL?\n");    // Querys the power level
viScanf(vi, "%t", rdBuffer);    // Reads the response into rdBuffer
// Prints the source power level
printf("Source power (dBm) is : %s\n", rdBuffer); 
printf("Press any key to continue\n");
printf("\n");                   // Prints new line character to the display
Online Convert Jpeg to PDF file. Best free online export Jpg image
All your JPG and PDF files will be permanently erased from our servers after If you want to turn PDF file into image file format in C# application, then
convert pdf picture to jpg; batch pdf to jpg converter
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
C# sample code for PDF to jpg image conversion. This demo code convert PDF file all pages to jpg images. C# sample code for PDF to jpg image conversion.
convert multi page pdf to jpg; change pdf to jpg format
Agilent Signal Generators Programming Guide
95
Programming Examples
GPIB Programming Interface Examples
getch(); 
viPrintf(vi, "FREQ:MODE?\n");   // Querys the frequency mode
viScanf(vi, "%t", rdBuffer);    // Reads the response into rdBuffer
// Prints the source freq mode
printf("Source frequency mode is : %s\n", rdBuffer);
printf("Press any key to continue\n");
printf("\n");                   // Prints new line character to the display
getch();  
viPrintf(vi, "OUTP OFF\n");     // Turns source RF state off
viPrintf(vi, "OUTP?\n");        // Querys the signal generator's RF state
viScanf(vi, "%1i", &num);       // Reads the response (integer value)
// Prints the on/off RF state 
if (num > 0 ) {
printf("Source RF state is : on\n");
}else{
printf("Source RF state is : off\n");
}
// Close the sessions
viClose(vi);
viClose(defaultRM);
}
Generating a CW Signal Using VISA and C
This example uses VISA library functions to control the signal generator. The signal generator is set 
for a CW frequency of 500 kHz and a power level of 2.3 dBm. Launch
Microsoft Visual C++ 6.0, add the required files, and enter the code into your .cpp source file. 
visaex4.cpp performs the following functions:
• verifies the GPIB connections and interface are functional
• resets the signal generator
• queries the instrument (CW frequency, power level, frequency mode, and RF state)
• reads responses into the rdBuffer (CW frequency, power level, and frequency mode)
• turns signal generator RF state off
• verifies RF state off
The following program example is available on the signal generator Documentation CD-ROM as 
visaex4.cpp.
//****************************************************************************************
// PROGRAM FILE NAME:   visaex4.cpp
//
// PROGRAM DESCRIPTION: This example demonstrates query commands. The signal generator
// frequency and power level.
// The RF state of the signal generator is turn on and then the state is queried. The
// response will indicate that the RF state is on. The RF state is then turned off and
// queried. The response should indicate that the RF state is off. The query results are
C# Image Convert: How to Convert Tiff Image to Jpeg, Png, Bmp, &
RasterEdge.XDoc.PDF.dll. C# Image Convert: Tiff to Jpeg. String inputFilePath = @"C:\input.tif"; String outputFilePath = @"C:\output.jpg"; // Convert tiff to jpg
convert pdf file to jpg file; convert pdf to jpeg on
C# Create PDF from images Library to convert Jpeg, png images to
Best and professional C# image to PDF converter SDK for Visual Studio .NET. Batch convert PDF documents from multiple image formats, including Jpg, Png, Bmp, Gif
batch pdf to jpg; convert pdf image to jpg online
96
Agilent Signal Generators Programming Guide
Programming Examples
GPIB Programming Interface Examples
// printed to the to the display window.
//
//****************************************************************************************
#include "StdAfx.h"
#include <visa.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
void main ()
{
ViSession   defaultRM, vi;      // Declares variables of type ViSession
// for instrument communication
ViStatus viStatus = 0;          // Declares a variable of type ViStatus
// for GPIB verifications
char rdBuffer [256];            // Declare variable to hold string data
int num;                        // Declare variable to hold integer data
viStatus=viOpenDefaultRM(&defaultRM);     // Initialize VISA system
// Open session to GPIB device at address 19
viStatus=viOpen(defaultRM, "GPIB::19::INSTR", VI_NULL, VI_NULL, &vi);
if(viStatus){                   // If problems then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
printf("\n");
exit(0);}
viPrintf(vi, "*RST\n");         // Reset the signal generator 
viPrintf(vi, "FREQ 500 kHz\n"); // Set the source CW frequency for 500 kHz
viPrintf(vi, "FREQ:CW?\n");     // Query the CW frequency
viScanf(vi, "%t", rdBuffer);    // Read signal generator response 
printf("Source CW frequency is : %s\n", rdBuffer);  // Print the frequency
viPrintf(vi, "POW:AMPL -2.3 dBm\n");  // Set the power level to -2.3 dBm
viPrintf(vi, "POW:AMPL?\n");    // Query the power level
viScanf(vi, "%t", rdBuffer);    // Read the response into rdBuffer
printf("Source power (dBm) is : %s\n", rdBuffer); // Print the power level
viPrintf(vi, "OUTP:STAT ON\n"); // Turn source RF state on
viPrintf(vi, "OUTP?\n");        // Query the signal generator's RF state
viScanf(vi, "%1i", &num);       // Read the response (integer value) 
// Print the on/off RF state
if (num > 0 ) {
Online Convert PDF to Jpeg images. Best free online PDF JPEG
Your PDF and JPG files will be deleted from XDoc.PDF for .NET) supports converting PDF document to in .NET developing platforms using simple C# programming code
c# pdf to jpg; convert .pdf to .jpg
C# TIFF: How to Use C#.NET Code to Compress TIFF Image File
In this part, users can find a complete C# sample code for the string[] imagePaths = { @"C:\demo1.jpg", @"C:\demo2.jpg", @"C:\demo3.jpg" }; // Construct List
convert pdf to jpg for; convert from pdf to jpg
Agilent Signal Generators Programming Guide
97
Programming Examples
GPIB Programming Interface Examples
printf("Source RF state is : on\n");
}else{
printf("Source RF state is : off\n");
}
printf("\n");
printf("Verify RF state then press continue\n");
printf("\n");
getch();
viClear(vi);
viPrintf(vi,"OUTP:STAT OFF\n"); // Turn source RF state off
viPrintf(vi, "OUTP?\n");        // Query the signal generator's RF state
viScanf(vi, "%1i", &num);       // Read the response
// Print the on/off RF state 
if (num > 0 ) {
printf("Source RF state is now: on\n");
}else{
printf("Source RF state is now: off\n");
}
// Close the sessions
printf("\n");
viClear(vi);
viClose(vi);
viClose(defaultRM);
}
Generating an Externally Applied AC-Coupled FM Signal Using VISA and C
In this example, the VISA library is used to generate an ac-coupled FM signal at a carrier frequency 
of 700 MHz, a power level of 2.5 dBm, and a deviation of 20 kHz. Before running the program:
• Connect the output of a modulating signal source to the signal generator’s EXT 2 input connector.
• Set the modulation signal source for the desired FM characteristics.
Launch Microsoft Visual C++ 6.0, add the required files, and enter the code into your .cpp source file. 
visaex5.cpp performs the following functions:
• error checking
• resets the signal generator
• sets up the EXT 2 connector on the signal generator for FM
• sets up FM path 2 coupling to AC
• sets up FM path 2 deviation to 20 kHz
• sets carrier frequency to 700 MHz
• sets the power level to -2.5 dBm
• turns on frequency modulation and RF output
The following program example is available on the signal generator Documentation CD-ROM as 
visaex5.cpp.
//****************************************************************************************
C# TIFF: C#.NET Code to Convert JPEG Images to TIFF
following C# sample code to transform Jpeg image to Tiff image in your .NET application. // Define Jpeg images list. string[] imagePaths = { @"C:\demo1.jpg", @"
convert pdf to jpg batch; best program to convert pdf to jpg
C# WPF PDF Viewer SDK to convert and export PDF document to other
Convert PDF to image file formats with high quality, support converting PDF to PNG, JPG, BMP and GIF. C#.NET WPF PDF Viewer Tool: Convert and Export PDF.
convert pdf to jpg 100 dpi; batch convert pdf to jpg online
98
Agilent Signal Generators Programming Guide
Programming Examples
GPIB Programming Interface Examples
// PROGRAM FILE NAME:visaex5.cpp
//
// PROGRAM DESCRIPTION:This example sets the signal generator FM source to External 2,
// coupling to AC, deviation to 20 kHZ, carrier frequency to 700 MHz and the power level
// to -2.5 dBm. The RF state is set to on.
//
//****************************************************************************************
#include <visa.h>
#include "StdAfx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
void main ()
{
ViSession defaultRM, vi;           // Declares variables of type ViSession
// for instrument communication
ViStatus viStatus = 0;             // Declares a variable of type ViStatus
// for GPIB verifications
// Initialize VISA session
viStatus=viOpenDefaultRM(&defaultRM);
// open session to gpib device at address 19
viStatus=viOpen(defaultRM, "GPIB::19::INSTR", VI_NULL, VI_NULL, &vi);
if(viStatus){                        // If problems, then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
printf("\n");
exit(0);}
printf("Example program to set up the signal generator\n");
printf("for an AC-coupled FM signal\n");
printf("Press any key to continue\n");
printf("\n");
getch();
printf("\n");
viPrintf(vi, "*RST\n");              // Resets the signal generator 
viPrintf(vi, "FM:SOUR EXT2\n");      // Sets EXT 2 source for FM
viPrintf(vi, "FM:EXT2:COUP AC\n");   // Sets FM path 2 coupling to AC
viPrintf(vi, "FM:DEV 20 kHz\n");     // Sets FM path 2 deviation to 20 kHz
viPrintf(vi, "FREQ 700 MHz\n");      // Sets carrier frequency to 700 MHz
Agilent Signal Generators Programming Guide
99
Programming Examples
GPIB Programming Interface Examples
viPrintf(vi, "POW:AMPL -2.5 dBm\n"); // Sets the power level to -2.5 dBm
viPrintf(vi, "FM:STAT ON\n");        // Turns on frequency modulation
viPrintf(vi, "OUTP:STAT ON\n");      // Turns on RF output
// Print user information
printf("Power level : -2.5 dBm\n");
printf("FM state : on\n");
printf("RF output : on\n");
printf("Carrier Frequency : 700 MHZ\n");
printf("Deviation : 20 kHZ\n");
printf("EXT2 and AC coupling are selected\n");
printf("\n");                        // Prints a carrage return
// Close the sessions
viClose(vi);
viClose(defaultRM);
}
Generating an Internal FM Signal Using VISA and C
In this example the VISA library is used to generate an internal FM signal at a carrier frequency of 
900 MHz and a power level of 15 dBm. The FM rate will be 5 kHz and the peak deviation will be 
100 kHz. Launch Microsoft Visual C++ 6.0, add the required files, and enter the following code into 
your .cpp source file. visaex6.cpp performs the following functions:
• error checking
• resets the signal generator
• sets up the signal generator for FM path 2 and internal FM rate of 5 kHz
• sets up FM path 2 deviation to 100 kHz
• sets carrier frequency to 900 MHz
• sets the power level to -15 dBm
• turns on frequency modulation and RF output
The following program example is available on the signal generator Documentation CD-ROM as 
visaex6.cpp.
//****************************************************************************************
// PROGRAM FILE NAME:visaex6.cpp
//
// PROGRAM DESCRIPION:This example generates an internal FM signal at a 900
// MHz carrier frequency and a power level of -15 dBm. The FM rate is 5 kHz and the peak 
// deviation 100 kHz
// 
//****************************************************************************************
#include <visa.h>
#include "StdAfx.h"
#include <iostream>
#include <stdlib.h>
100
Agilent Signal Generators Programming Guide
Programming Examples
GPIB Programming Interface Examples
#include <conio.h>
void main ()
{
ViSession defaultRM, vi;           // Declares variables of type ViSession
// for instrument communication
ViStatus viStatus = 0;             // Declares a variable of type ViStatus
// for GPIB verifications
viStatus=viOpenDefaultRM(&defaultRM); // Initialize VISA session
// open session to gpib device at address 19
viStatus=viOpen(defaultRM, "GPIB::19::INSTR", VI_NULL, VI_NULL, &vi);
if(viStatus){                         // If problems, then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
printf("\n");
exit(0);}
printf("Example program to set up the signal generator\n");
printf("for an AC-coupled FM signal\n");
printf("\n");
printf("Press any key to continue\n");
getch();
viClear(vi);                          // Clears the signal generator
viPrintf(vi, "*RST\n");               // Resets the signal generator 
viPrintf(vi, "FM2:INT:FREQ 5 kHz\n"); // Sets FM path 2 to internal at a modulation rate of 5 kHz
viPrintf(vi, "FM2:DEV 100 kHz\n");    // Sets FM path 2 modulation deviation rate of 100 kHz
viPrintf(vi, "FREQ 900 MHz\n");       // Sets carrier frequency to 900 MHz
viPrintf(vi, "POW -15 dBm\n");        // Sets the power level to -15 dBm
viPrintf(vi, "FM2:STAT ON\n");        // Turns on frequency modulation
viPrintf(vi, "OUTP:STAT ON\n");       // Turns on RF output
printf("\n");                         // Prints a carriage return
// Print user information 
printf("Power level : -15 dBm\n");
printf("FM state : on\n");
printf("RF output : on\n");
printf("Carrier Frequency : 900 MHZ\n");
printf("Deviation : 100 kHZ\n");
printf("Internal modulation : 5 kHz\n");
printf("\n");                        // Print a carrage return
// Close the sessions
viClose(vi);
Agilent Signal Generators Programming Guide
101
Programming Examples
GPIB Programming Interface Examples
viClose(defaultRM);
}
Generating a Step-Swept Signal Using VISA and C++
In this example the VISA library is used to set the signal generator for a continuous step sweep on 
a defined set of points from 500 MHz to 800 MHz. The number of steps is set for 10 and the dwell 
time at each step is set to 500 ms. The signal generator will then be set to local mode which allows 
the user to make adjustments from the front panel. Launch Microsoft Visual C++ 6.0, add the required 
files, and enter the following code into your .cpp source file. visaex7.cpp performs the following 
functions:
• clears and resets the signal generator
• sets up the instrument for continuous step sweep
• sets up the start and stop sweep frequencies
• sets up the number of steps
• sets the power level
• turns on the RF output
The following program example is available on the signal generator Documentation CD-ROM as 
visaex7.cpp.
//****************************************************************************************
// PROGRAM FILE NAME:visaex7.cpp
//
// PROGRAM DESCRIPTION:This example will program the signal generator to perform a step
// sweep from 500-800 MHz with a .5 sec dwell at each frequency step.
// 
//****************************************************************************************
#include <visa.h>
#include "StdAfx.h"
#include <iostream>
void main ()
{
ViSession defaultRM, vi;// Declares variables of type ViSession
// vi establishes instrument communication
ViStatus viStatus = 0;// Declares a variable of type ViStatus
// for GPIB verifications
viStatus=viOpenDefaultRM(&defaultRM); // Initialize VISA session
// Open session to GPIB device at address 19
viStatus=viOpen(defaultRM, "GPIB::19::INSTR", VI_NULL, VI_NULL, &vi);
if(viStatus){// If problems, then prompt user
printf("Could not open ViSession!\n");
printf("Check instruments and connections\n");
102
Agilent Signal Generators Programming Guide
Programming Examples
GPIB Programming Interface Examples
printf("\n");
exit(0);}
viClear(vi);                          // Clears the signal generator
viPrintf(vi, "*RST\n");               // Resets the signal generator
viPrintf(vi, "*CLS\n");               // Clears the status byte register
viPrintf(vi, "FREQ:MODE LIST\n");     // Sets the sig gen freq mode to list
viPrintf(vi, "LIST:TYPE STEP\n");     // Sets sig gen LIST type to step
viPrintf(vi, "FREQ:STAR 500 MHz\n");  // Sets start frequency
viPrintf(vi, "FREQ:STOP 800 MHz\n");  // Sets stop frequency
viPrintf(vi, "SWE:POIN 10\n");        // Sets number of steps (30 mHz/step)
viPrintf(vi, "SWE:DWEL .5 S\n");      // Sets dwell time to 500 ms/step
viPrintf(vi, "POW:AMPL -5 dBm\n");    // Sets the power level for -5 dBm
viPrintf(vi, "OUTP:STAT ON\n");       // Turns RF output on
viPrintf(vi, "INIT:CONT ON\n");       // Begins the step sweep operation 
// Print user information
printf("The signal generator is in step sweep mode. The frequency range                          is\n"); 
printf("500 to 800 mHz. There is a .5 sec dwell time at each 30 mHz                          step.\n"); 
printf("\n");                         // Prints a carriage return/line feed
viPrintf(vi, "OUTP:STAT OFF\n");      // Turns the RF output off
printf("Press the front panel Local key to return the\n");
printf("signal generator to manual operation.\n");
// Closes the sessions
printf("\n");
viClose(vi);
viClose(defaultRM);
}
Generating a Swept Signal Using VISA and Visual C++
This example sets up the signal generator for a frequency sweep from 1 to 2 GHz with 101 points 
and a .01 second dwell period for each point. A loop is used to generator 5 sweep operations. The 
signal generator triggers each sweep with the :INIT command. There is a wait introduced in the loop 
to allow the signal generator to complete all operations such as set up and retrace before the next 
sweep is generated. visaex11.cpp performs the following functions:
• sets up the signal generator for a 1 to 2 GHz frequency sweep
• sets up the signal generator to have a dwell time of .01 seconds and 101 points in the sweep
• sleep function is used to allow the instrument to complete its sweep operation
The following program example is available on the signal generator Documentation CD-ROM as 
visaex11.cpp.
//************************************************************************
// PROGRAM FILE NAME: visaex11.cpp
//
// PROGRAM DESCRIPTION: This program sets up the signal generator to  
Documents you may be interested
Documents you may be interested