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