EasyManua.ls Logo

Keysight E4428C ESG RF - Page 342

Keysight E4428C ESG RF
404 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
334 Keysight Signal Generators Programming Guide
Creating and Downloading User–Data Files
User File Data (Bit/Binary) Downloads (E4438C and E8267D)
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.
8 Send the user file data stored in the array (databuffer) to the signal generator.
iwrite() sends the data specified in databuffer to the signal generator (session identifier
specified in id).
The third argument of iwrite(), bytesToSend, contains the length of the databuffer in bytes.
In this example, it is 2000.
The fourth argument of iwrite(), 0, means there is no END of file indicator in the data.
In many programming languages, there are two methods to send SCPI commands and data:
Method 1 where the program stops the data download when it encounters the first zero
(END indicator) in the data.
Method 2 where the program sends a fixed number of bytes and ignores any zeros in
the data. This is the method used in our program.
For your programming language, you must find and use the equivalent of method two.
Otherwise you may only achieve a partial download of the user file data.
Line Code Description—Download User File Data

Table of Contents

Related product manuals