g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
<== Date ==> <== Thread ==>

Subject: RE: [StreamDevice] ?
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Pavel Masloff <pavel.masloff@gmail.com>, Rod Nussbaumer <bomr@triumf.ca>, EPICS Tech Talk <tech-talk@aps.anl.gov>
Date: Mon, 4 Jun 2012 11:31:40 +0000
I would suggest having  CHx_Voltage read the current vertical resolution.  Leave this record Passive.  But have the  probe_ch1 record's FLNK be CHx_Voltage, so it reads the vertical scale once each time you change the probe attenuator.

Mark

________________________________
From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Pavel Masloff [pavel.masloff@gmail.com]
Sent: Monday, June 04, 2012 3:23 AM
To: Rod Nussbaumer; EPICS Tech Talk
Subject: [StreamDevice] ?

Hi Rod,


You mentioned you are using StreamDevice to talk to your Tek scopes. I am having difficulties with the Probe Attenuator setting. So you basically change it say from 1 to 10, and the scope automatically changes the voltage on a channel from say 1V to 10V/DIV.
I don't want StreamDevice to poll the scope once a second (or even worse I/O interrupt) to get this change (wanna leave it Passive), so I can change my Attenuator PV (Passive record) it then forwards the CHx_Voltage to ask the scope the current Y-axis resolution.
The problem is that the AO record can be either closed-loop (via db links) or open-loop (via CA).
I don't know what to do.

In other words:
On the screenshot is my HMI (http://imageshack.us/photo/my-images/337/scope.jpg/). So when I change the Attenuator_1 setting (probe_ch1) from 1 to 10, my CH_1 voltage (setY1) remains the same = 0,2 V, when in fact on the scope it is 2 V. Is there a way my setY1 could update its value, but not process?

record(ao, "$(P)$(R)setY1")
{
    field(DESC, "Set VOLTS/DIV channel 1")
    field(DTYP, "stream")
    field(OUT,  "@devTPS20xx.proto setY(1) $(PORT) $(A)")
    field(EGU, "V")
}

record(ao, "$(P)$(R)probe_ch1") {
  field(DESC, "Probe voltage attenuation 1")
  field(DTYP, "stream")
  field(OUT, "@devTPS20xx.proto probe(1) $(PORT) $(A)")
}


setY {
    ReplyTimeout = 5000;
     out 'CH\$1:SCA %g';
    #in "CH\$1:SCA?";
    @init {
            out "CH\$1:SCA?";
        in ":CH\$1:SCALE %g";
    }
}

probe {
    ReplyTimeout = 5000;
    out 'CH\$1:PRO %g';
    @init {
            out 'CH\$1:PRO?';
        in ':CH\$1:PROBE %g';
    }
}


#getY {
#    out 'CH\$1:SCA?';
#    in "%g";
#}

Hope everything is understandable.

--
Best regards,


Pavel Maslov, MS
Controls Engineer at Pulsed power Lab
Efremov Institute for Electro-Physical Apparatus
St. Petersburg, Russia

Mobile: +7 (951) 672 22 19
Landline: +7 (812) 461 01 01


Replies:
Re: [StreamDevice] ? Pavel Masloff
References:
[StreamDevice] ? Pavel Masloff

Navigate by Date:
Prev: [StreamDevice] ? Pavel Masloff
Next: Re: [StreamDevice] ? Pavel Masloff
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
Navigate by Thread:
Prev: [StreamDevice] ? Pavel Masloff
Next: Re: [StreamDevice] ? Pavel Masloff
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·