Agilent Technologies E8257D PSG Instrukcja Użytkownika Strona 356

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
Przeglądanie stron 355
344 Agilent N516xA, N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading User–Data Files
Save and Recall Instrument State Files
NOT appended to the block and END is not sent at the conclusion of the
write.*/
static public void WriteFileBlock(uint device, string fileName)
{
// Make sure that the file exists, otherwise sends a null block
if (File.Exists(fileName))
{
FileStream fs = new FileStream(fileName, FileMode.Open);
// Send the definite block header: #{lengthDataLength}{dataLength}
string fileSize = fs.Length.ToString();
string fileSizeLength = fileSize.Length.ToString();
WriteDevice(device, "#" + fileSizeLength + fileSize, false);
// Don't set END at the end of writes
VisaInterop.SetAttribute(device, VisaAttribute.SendEndEnable, 0);
// Write the file block to the signal generator
byte[] readBuf = new byte[TRANSFER_BLOCK_SIZE];
int numRead = 0;
uint retCount = 0;
while ((numRead = fs.Read(readBuf, 0, TRANSFER_BLOCK_SIZE)) != 0)
{
VisaInterop.Write(device, readBuf, (uint)numRead, out retCount);
}
// Go ahead and set END on writes
VisaInterop.SetAttribute(device, VisaAttribute.SendEndEnable, 1);
// Done with file
fs.Close();
}
else
{
// Send an empty definite block
WriteDevice(device, "#10", false);
}
}
}
// Declaration of VISA device access constants
public enum VisaAccessMode
{
NoLock = 0,
ExclusiveLock = 1,
SharedLock = 2,
Przeglądanie stron 355
1 2 ... 351 352 353 354 355 356 357 358 359 360 361 ... 379 380

Komentarze do niniejszej Instrukcji

Brak uwag