Agilent Technologies E8663B Portable Generator User Manual


 
222 Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading Waveform Files
Downloading Waveform Data
2. Download the I/Q data.
The following code sends the SCPI command and downloads the generated waveform data to the
signal generator.
Line Code Description—Open a Connection Session
1 Assign the signal generator’s LAN hostname, IP address, or GPIB address to a character string.
This example uses the Agilent IO library’s iopen() SICL function to establish a LAN connection with the
signal generator. The input argument, lan[hostname or IP address] contains the device, interface, or
commander address. Change it to your signal generator host name or just set it to the IP address used by
your signal generator. For example: “lan[999.137.240.9]
If you are using GPIB to connect to the signal generator, use the commented line in place of the first line.
Insert the GPIB address based on your instrument setting, for example “gpib0,19”.
For the detailed information about the parameters of the SICL function iopen(), refer to the online
Agilent SICL User’s Guide for Windows.”
2 Open a connection session with the signal generator to download the generated I/Q data.
The SICL function iopen() is from the Agilent IO library and creates a session that returns an identifier to
id.
If iopen() succeeds in establishing a connection, the function returns a valid session id. The valid session
id is not viewable, and can only be used by other SICL functions.
If iopen() generates an error before making the connection, the session identifier is always set to zero.
This occurs if the connection fails.
To use this function in C++, you must include the standard header
#include <sicl.h> before the main() function.
3–7 If id = 0, the program prints out the error message and exits the program.
Line CodeDescription—Download the I/Q Data
8
9
10
11
12
13
14
15
16
int bytesToSend;
bytesToSend = numsamples*4;
char s[20];
char cmd[200];
sprintf(s, "%d", bytesToSend);
sprintf(cmd, ":MEM:DATA \"WFM1:FILE1\", #%d%d", strlen(s), bytesToSend);
iwrite(id, cmd, strlen(cmd), 0, 0);
iwrite(id, iqbuffer, bytesToSend, 0, 0);
iwrite(id, "\n", 1, 1, 0);
Line Code Description—Download the I/Q data
8 Define an integer variable (bytesToSend) to store the number of bytes to send to the signal generator.