Sockets lan programming using perl – Agilent Technologies N5183A MXG User Manual

Page 140

Advertising
background image

130

Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide

Programming Examples
LAN Programming Interface Examples

Sockets LAN Programming Using PERL

This example uses PERL to control the signal generator over the sockets LAN interface. The signal
generator frequency is set to 1 GHz, queried for operation complete and then queried for it’s identify
string. This example was developed using PERL version 5.6.0 and requires a PERL version with the
IO::Socket library.

1.

In the code below, enter your signal generator’s hostname in place of the xxxxx in the code line:
my $instrumentName= “xxxxx”;

.

2.

Save the code listed below using the filename lanperl.

3.

Run the program by typing perl lanperl at the UNIX term window prompt.

Setting the Power Level and Sending Queries Using PERL

The following program example is available on the signal generator Documentation CD- ROM as
perl.txt

.

#!/usr/bin/perl

# PROGRAM NAME: perl.txt

# Example of talking to the signal generator via SCPI-over-sockets

#

use IO::Socket;

# Change to your instrument's hostname

my $instrumentName = "xxxxx";

# Get socket

$sock = new IO::Socket::INET ( PeerAddr => $instrumentName,

PeerPort => 5025,

Proto => 'tcp',

);

die "Socket Could not be created, Reason: $!\n" unless $sock;

# Set freq

print "Setting frequency...\n";

print $sock "freq 1 GHz\n";

# Wait for completion

print "Waiting for source to settle...\n";

print $sock "*opc?\n";

my $response = <$sock>;

chomp $response; # Removes newline from response

if ($response ne "1")

{

die "Bad response to '*OPC?' from instrument!\n";

}

Advertising
This manual is related to the following products: