Jiro Fujita wrote:
Hello,
This is probably really an elementary question, but we have been
trying to interface an RS-232 device to EPICS soft IOC on Linux. We
are using EPICS 3.14.8.2 with Asyn 4.6 (devGpib) via serial port. The
response from the device looks like this:
1+32.23
2-50.01
3+23.98
...
...
It has five channels, reads one value a second, contiunally sending
the message through the serial port (that seems to be a typical thing
here at STAR/BNL).
We need to have the data sorted into five different PVs, based upon
the channel names. In the end, the example above should look like
this:
channel 1: 32.23
channel 2: -50.01
channel 3: 23.98
Because we need the channel number and the + or - sign in the raw
data, I am taking the data into the IOC as string, having the
sequencer split the channel number, based upon that, we are trying to
put the value into the database.
I'm not sure if this will be any less trouble than the solution you're
already pursuing, because it requires a record that is not part of EPICS base.
But if you happen to have the sCalcout record available, you can do this with
an sCalcout and a dfanout. Here's what the database would look like:
scalc.INAA = <link to input string> # string from serial device
scalc.CALC = "int(aa)" # get channel number
scalc.DOPT = "Use OCAL" # evaluate '.OCAL' expression
scalc.OCAL = "dbl(aa[1,-1])" # get value (skip past channel number)
scalc.OUT = "dfanout.VAL PP" # write value to dfanout
dfanout.SELM = "Specified" # only write to link specified via SELL
dfanout.SELL = "scalc.VAL NPP" # scalc calculated link to use
dfanout.OUTB = <link to channel 1 PV> # if scalc.VAL==1, write to <channel 1 PV>
dfanout.OUTC = <link to channel 2 PV> # ...and so on
dfanout.OUTD = <link to channel 3 PV>
dfanout.OUTE = <link to channel 4 PV>
dfanout.OUTF = <link to channel 5 PV>
--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab
- Replies:
- Re: Sequencer embedded C code question Ned Arnold
- Re: Sequencer embedded C code question Jiro Fujita
- References:
- Sequencer embedded C code question Jiro Fujita
- Navigate by Date:
- Prev:
Re: Sequencer embedded C code question Eric Norum
- Next:
Re: Sequencer embedded C code question Ned Arnold
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Sequencer embedded C code question Maren Purves
- Next:
Re: Sequencer embedded C code question Ned Arnold
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|