Experimental Physics and
| |||||||||||||||
|
Hello, I am using Streamdevice (http://epics.web.psi.ch/software/streamdevice/doc/index.html) to control a high voltage box. The box has 5 levels with 8 channels each, so it controls 40 channels. The boxes receive commands and send output via telnet. Currently I only have two records - one for reading one for writing values. To access all channels I use a template. The problem is whenever I give one channel the command to change the value - the entire traffic gets mixed up:record (stringout, "$(P):BOX:$(BOXNO):$(LEVELNO):$(CHANNELNO):set_volt") { field (DTYP, "stream") field (OUT, "@$(PROTO) set_voltage($(LEVELNO),$(CHANNELNO)) termBox$(BOXNO)") } record (ai, "$(P):BOX:$(BOXNO):$(LEVELNO):$(CHANNELNO):read_volt") { field (DTYP, "stream") field (INP, "@$(PROTO) read_voltage($(LEVELNO),$(CHANNELNO)) termBox$(BOXNO)") field (SCAN, "1 second") field (FLNK, "$(P):BOX:$(BOXNO):$(LEVELNO):$(CHANNELNO):read_volt") field (PACT, "") field (STAT, "") field (SEVR, "") field (VAL, "") } terminator = CR LF; LockTimeout = 10000; read_voltage { out "read_adc floats_csv \$1 \$2"; in "%*d.%*d.%*d %*d:%*d:%*d,%f"; @mismatch{out "read_adc floats_csv \$1 \$2"; in "%*d.%*d.%*d %*d:%*d:%*d,%f";} } set_voltage { out "SetVpmF \$1 \$2 %s"; in "DAC: \$1 CH: \$2 U: %*f Uk: %*f"; in "Nachregelung aktiv!"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; in "Messwert: %*f DAC: \$1 CH: \$2 Value: %*f korrigiert: %*f"; } > read_adc floats_csv 2 5 01.01.1900 04:23:55,1345.003 > read_adc floats_csv 2 6 01.01.1900 04:23:55,1345.123 > read_adc floats_csv 2 7 01.01.1900 04:23:55,1345.156 > read_adc floats_csv 3 0 01.01.1900 04:23:56,1346.075 > read_adc floats_csv 3 1 01.01.1900 04:23:56,1343.827 > read_adc floats_csv 3 2 01.01.1900 04:23:56,1376.977 > read_adc floats_csv 3 3 01.01.1900 04:23:56,1346.537 > read_adc floats_csv 3 4 01.01.1900 04:23:56,1341.462 > read_adc floats_csv 3 5 01.01.1900 04:23:56,1368.079 > SetVpmF 0 0 1480 read_adc floats_csv 3 6 DAC: 0 CH: 0 U: 1480.000 Uk: 1584.800 Nachregelung aktiv! Messwert: 1479.545 DAC: 0 CH: 0 Value: 1480.350 korrigiert: 1585.165 Messwert: 1479.941 DAC: 0 CH: 0 Value: 1480.395 korrigiert: 1585.212 Messwert: 1479.935 DAC: 0 CH: 0 Value: 1480.445 korrigiert: 1585.264 Messwert: 1480.045 DAC: 0 CH: 0 Value: 1480.410 korrigiert: 1585.228 Messwert: 1480.046 DAC: 0 CH: 0 Value: 1480.375 korrigiert: 1585.191 Messwert: 1479.941 DAC: 0 CH: 0 Value: 1480.420 kread_adc floats_csv 3 6 orrigiert: 1585.238 Messwert: 1480.052 DAC: 0 CH: 0 Value: 1480.379 korrigiert: 1585.196 Messwert: 1479.963 DAC: 0 CH: 0 Value: 1480.408 korrigiert: 1585.226 Messwert: 1480.063 DAC: 0 CH: 0 Value: 1480.359 korrigiert: 1585.175 Messwert: 1479.963 DAC: 0 CH: 0 Value: 1480.388 korrigiert: 1585.205 > read_adc floats_csv 3 7 01.01.1900 04:23:59,1344.063 > read_adc floats_csv 4 0 01.01.1900 04:23:59,1344.070 > read_adc floats_csv 4 1 01.01.1900 04:23:59,1346.169 > read_adc floats_csv 4 2 01.01.1900 04:23:59,1357.607 > read_adc floats_csv 0 0 01.01.1900 04:24:00,1352.217 > read_adc floats_csv 0 1 01.01.1900 04:24:00,1340.962
| ||||||||||||||
ANJ, 20 Apr 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |