Experimental Physics and
| |||||||||||||||
|
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
| ||||||||||||||
ANJ, 18 Nov 2013 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |