EPICS Home

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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: [StreamDevice] ?
From: Mark Rivers <[email protected]>
To: Pavel Masloff <[email protected]>, Rod Nussbaumer <[email protected]>, EPICS Tech Talk <[email protected]>
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: [email protected] [[email protected]] on behalf of Pavel Masloff [[email protected]]
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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024