Agilent Technologies E8663B Portable Generator User Manual


 
316 Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading User-Data Files
Pattern RAM (PRAM) Data Downloads (E4438C and E8267D)
:MEMory:DATA:PRAM:FILE:BLOCk <"file_name">,#ABC
<"file_name"> the file name as it will appear in the signal generator
# indicates the start of the block data
A the number of decimal digits present in B
B a decimal number specifying the number of data bytes to follow in C
C the PRAM file data in bytes
my_file the PRAM file name as it will appear in the signal generator’s WFM1
memory catalog
# indicates the start of the block data
3 B has three decimal digits
240 240 bytes of data to follow in C
12%S!4&07#8g*Y9@7... the ASCII representation of some of the block data (binary data)
downloaded to the signal generator, however not all ASCII values are
printable
In actual use, the block data is not part of the command line as shown above, but instead resides in
a binary file on the PC/UNIX. When the program executes the SCPI command, the command line
notifies the signal generator that it is going to receive block data of the stated size, and to place the
file in the signal generator file directory with the indicated name. Immediately following the
command execution, the program downloads the binary file to the signal generator. This is shown in
the following section, “Command Syntax in a Program Routine”
Command Syntax in a Program Routine
This section demonstrates the use of the download SPCI command within the confines of a C++
program routine. The following code sends the SCPI command and downloads a 240 byte PRAM file
to the signal generator’s WFM1 (waveform) memory catalog. This program assumes that there is a
char array, databuffer, that contains the 240 bytes of PRAM data and that the variable numbytes
stores the length of the array.
Line Code—Download PRAM File Data
1
2
3
4
5
6
7
8
9
int bytesToSend;
bytesToSend = numbytes;
char s[4];
char cmd[200];
sprintf(s, "%d", bytesToSend);
sprintf(cmd, ":MEM:DATA:PRAM:FILE:BLOCk \"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);
file_name AC
:MEMory:DATA:PRAM:FILE:BLOCk “my_file”,#324012%S!4&07#8g*Y9@7...
B