336 Keysight CXG, EXG, and MXG X-Series Signal Generators Programming Guide
Creating and Downloading User–Data Files
User File Data (Bit/Binary) Downloads
Line
Code—Download User File Data
1
2
3
4
5
6
7
8
9
int bytesToSend;
bytesToSend = numsamples;
char s[20];
char cmd[200];
sprintf(s, "%d", bytesToSend);
sprintf(cmd, ":MEM:DATA \"BIN:FILE1\", #%d%d", strlen(s),
bytesToSend);
iwrite(id, cmd, strlen(cmd), 0, 0);
iwrite(id, databuffer, bytesToSend, 0, 0);
iwrite(id, "\n", 1, 1, 0);
Line
Code Description—Download User File Data
1
Define an integer variable (
bytesToSend
) to store the number of bytes to send to the signal
generator.
2
Calculate the total number of bytes, and store the value in the integer variable defined in line 1.
3
Create a string large enough to hold the
bytesToSend
value as characters. In this code, string
s
is
set to 20 bytes (20 characters—one character equals one byte)
4
Create a string and set its length (
cmd
[200] ) to hold the SCPI command syntax and parameters. In
this code, we define the string length as 200 bytes (200 characters).
5
Store the value of
bytesToSend
in string
s
. For example, if bytesToSend = 2000;
s
= ”2000”.
sprintf()
is a standard function in C++, which writes string data to a string variable.
6
Store the SCPI command syntax and parameters in the string
cmd
. The SCPI command prepares
the signal generator to accept the data.
—
strlen()
is a standard function in C++, which returns length of a string.
— If
bytesToSend
= 2000, then
s
= “2000”,
strlen(s)
= 4, so
cmd
= :MEM:DATA ”BIN:FILE1\” #42000.
7
Send the SCPI command stored in the string
cmd
to the signal generator contained in the variable
id
.
—
iwrite()
is a SICL function in Keysight IO library, which writes the data (block data)
specified in the string
cmd
to the signal generator.
— The third argument of
iwrite()
,
strlen(cmd)
, informs the signal generator of the
number of bytes in the command string. The signal generator parses the string to
determine the number of data bytes it expects to receive.
— The fourth argument of iwrite(), 0, means there is no END of file indicator for the
string. This lets the session remain open, so the program can download the user
file data.
Summary of Contents for X-Series
Page 4: ...4 ...
Page 10: ...10 Contents ...