"MORRISON,SCOTT (A-Sonoma,ex1)" <scott_morrison@Agilent.com> wrote:
>
> My station variable, 'WORKING', is a record with fields like VNA1,
> VNA2, PM1, PM2, SA1, and SA2. Actually I use about 20 fields in my variable
> to make sure I can cover all the likely test stations I'll be using. Each
> of these fields (ie VNA1) is itself a record of fields 'hostname' and
> 'address'. Each userfunction I write then sends it's commands to the same
> instrument where the hostname and address are set dynamically by referencing
> 'WORKING.VNA1.address' and 'WORKING.VNA1.hostname' or any other inst defined
> in 'WORKING'. This makes it really easy to port programs from one station
> to another where people may not have used standard instrument naming
> conventions. With this method there is only one generic instrument
> needed....the rest is contained within a variable. My old instrument
> manager had well over a hundred instrument definitions in it because of
> opening so many others' VEE progs. While that still happens, I actually
> only use 1 instrument defined in the instrument manager.
> One thing to keep in mind though is that if you want to use
> component or panel drivers (I don't), this method, as described here anyway,
> won't work for you.
no indeed - only the Direct IO
>
> Is there a way so that I can automatically set the hostname for a complete
> interface, just like you can do manually in the Instrument Manager by
> clicking on the interface name?
ANOTHER METHOD very similar to Scott's- but which will work with
the panel/component drivers also, and may take a fair amount less
programming, is to use the built-in "instrument" functions.
As with Scott's example one would set the hostname and whatnot
on a per-instrument basis , but would not need the record that
Scott uses, using instead calls like:
IO.instrument.hostname="192.168.1.10"
or whatever.
Using the IO functions I believe is about exactly the same as programatically
accessing the IO manager. So you are using the IO manager, but
are doing it all programatically so that it can be changed dynamically
as needed.
Scott has a great alternative of course- but it does have the one
deficiency in that you can't use most drivers. Always good to have
multiple ways to do things!
regards
Stan
--------------------------------------------------------------------------
Stan Bischof Agilent Technologies 707-577-3994 stan_bischof@agilent.com
--------------------------------------------------------------------------
---------------------------------------------------------------------
This is the "vrf" maillist, managed by Majordomo. To send messages to
this maillist, just email to "vrf@lvld.agilent.com". Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------
>
> My station variable, 'WORKING', is a record with fields like VNA1,
> VNA2, PM1, PM2, SA1, and SA2. Actually I use about 20 fields in my variable
> to make sure I can cover all the likely test stations I'll be using. Each
> of these fields (ie VNA1) is itself a record of fields 'hostname' and
> 'address'. Each userfunction I write then sends it's commands to the same
> instrument where the hostname and address are set dynamically by referencing
> 'WORKING.VNA1.address' and 'WORKING.VNA1.hostname' or any other inst defined
> in 'WORKING'. This makes it really easy to port programs from one station
> to another where people may not have used standard instrument naming
> conventions. With this method there is only one generic instrument
> needed....the rest is contained within a variable. My old instrument
> manager had well over a hundred instrument definitions in it because of
> opening so many others' VEE progs. While that still happens, I actually
> only use 1 instrument defined in the instrument manager.
> One thing to keep in mind though is that if you want to use
> component or panel drivers (I don't), this method, as described here anyway,
> won't work for you.
no indeed - only the Direct IO
>
> Is there a way so that I can automatically set the hostname for a complete
> interface, just like you can do manually in the Instrument Manager by
> clicking on the interface name?
ANOTHER METHOD very similar to Scott's- but which will work with
the panel/component drivers also, and may take a fair amount less
programming, is to use the built-in "instrument" functions.
As with Scott's example one would set the hostname and whatnot
on a per-instrument basis , but would not need the record that
Scott uses, using instead calls like:
IO.instrument.hostname="192.168.1.10"
or whatever.
Using the IO functions I believe is about exactly the same as programatically
accessing the IO manager. So you are using the IO manager, but
are doing it all programatically so that it can be changed dynamically
as needed.
Scott has a great alternative of course- but it does have the one
deficiency in that you can't use most drivers. Always good to have
multiple ways to do things!
regards
Stan
--------------------------------------------------------------------------
Stan Bischof Agilent Technologies 707-577-3994 stan_bischof@agilent.com
--------------------------------------------------------------------------
---------------------------------------------------------------------
This is the "vrf" maillist, managed by Majordomo. To send messages to
this maillist, just email to "vrf@lvld.agilent.com". Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------
I found myself in a similar position, but for different reasons. My
solution was to get away (nearly) completely from the instrument manager. I
now have one instrument defined in the inst.manager and I read the hostname
and address from a variable for each instantiation of an instrument. It
works well thus far. I have libraries of generic functions the perform
actions on particular kinds of equipment, but the equipment is defined in
real time by reading in the variable I just mentioned. I have to (possibly)
redefine the variable differently for different test stations (if the
address is actually different), but the work is pretty minimal and only has
to be done once.
My station variable, 'WORKING', is a record with fields like VNA1,
VNA2, PM1, PM2, SA1, and SA2. Actually I use about 20 fields in my variable
to make sure I can cover all the likely test stations I'll be using. Each
of these fields (ie VNA1) is itself a record of fields 'hostname' and
'address'. Each userfunction I write then sends it's commands to the same
instrument where the hostname and address are set dynamically by referencing
'WORKING.VNA1.address' and 'WORKING.VNA1.hostname' or any other inst defined
in 'WORKING'. This makes it really easy to port programs from one station
to another where people may not have used standard instrument naming
conventions. With this method there is only one generic instrument
needed....the rest is contained within a variable. My old instrument
manager had well over a hundred instrument definitions in it because of
opening so many others' VEE progs. While that still happens, I actually
only use 1 instrument defined in the instrument manager.
One thing to keep in mind though is that if you want to use
component or panel drivers (I don't), this method, as described here anyway,
won't work for you.
Scott
-----Original Message-----
From: Jo De Loor [mailto:jo.deloor@newtec.be]
Sent: Friday, October 19, 2001 6:53 AM
To: <
Subject: vrf Instrument Manager Configuration
Hi all,
Now there is the possibility to include the I/O config inside the
application with Vee 6, this works very fine and is very useful.
But...
We have 2 types of PC's where we want to run the same applications: some
with internal GPIB interface and some with an Agilent E2050 Ethernet to GPIB
gateway connected.
Is there a way so that I can automatically set the hostname for a complete
interface, just like you can do manually in the Instrument Manager by
clicking on the interface name?
e.g. I want to change the GPIB interface from:
GPIB7
(=this host)
to:
GPIB7(LAN-GPIB)
(=our GPIB gateway which is included in the 'hosts' table)
Can I do the same programmatically?
I can only find a way to change the hostname programmatically for EACH
device using 'IO.devicename.hostname', but this way I need to define a list
of the used devices.
Or is there a way to query the device list?
Any ideas?
Regards,
Jo De Loor
Newtec Cy
Laarstraat 5
B-9100 Sint Niklaas
Tel: +32 3 780 65 00
Fax: +32 3 780 65 49
http://www.newtec.be
E-mail: jdl@newtec.be
---------------------------------------------------------------------
This is the "vrf" maillist, managed by Majordomo. To send messages to
this maillist, just email to "vrf@lvld.agilent.com". Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------
---------------------------------------------------------------------
This is the "vrf" maillist, managed by Majordomo. To send messages to
this maillist, just email to "vrf@lvld.agilent.com". Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------