![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||||
|
Hi EPICS Specialists:
I've run into a problem converting data to exponential readings. I have a device that outputs messages and data in the same channel. I have separated the readings from messages with data by using the following records and protocol. I am wondering whether I can add some arguments in the protocol and convert the data through calcout, but I am new to Streams and can't figure out the details.
Data format: ppsee (p.p * 10see): Symbols Description pp Mantissa of the reading (1.0 to 9.9) s Sign of the exponent (0 = negative, 1 = positive) ee Exponent (00 to 11) record(ai, "$(Sys)$(Dev)Ch1_Reading") { field(DESC, "Ch1 Reading") field(DTYP, "stream") field(INP, "@Televac.proto get_Ch1_reading($(Sys)$(Dev)Ch1message) $(PORT)") field(SCAN, ".1 second") } record(stringin, "$(Sys)$(Dev)Ch1message") { } get_Ch1_reading { out "S101"; in "%f"; @mismatch {in "%(\$1)39c";} } Current channel readback examples: [sxin@eic-905-pc01 ~]$ caget 905-HC1-Televac:Ch5_Reading device panel reading 1.0E-11 Thank you! Susheng
| ||||||||||||||||
ANJ, 05 May 2025 |
![]() · Download · Search · IRMIS · Talk · Documents · Links · Licensing · |