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: [StreamDevice] ?
From: Pavel Masloff <[email protected]>
To: Rod Nussbaumer <[email protected]>, EPICS Tech Talk <[email protected]>
Date: Mon, 4 Jun 2012 12:23:15 +0400
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

Attachment: scope.JPG
Description: JPEG image


Replies:
RE: [StreamDevice] ? Mark Rivers

Navigate by Date:
Prev: Re: mbbi/mbbo Mask values Ralph Lange
Next: RE: [StreamDevice] ? Mark Rivers
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: Re: adding a prefix to all PV names with macro substitution Andrew Johnson
Next: RE: [StreamDevice] ? Mark Rivers
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