Experimental Physics and Industrial Control System
Hi all,
I am having trouble trying to adjust the conversion parameters of an analog input record for a A/D converter.
My AD accepts voltages ranging from -10 to 10 volts and has a resolution of 12 bits.
For -10 volts, it produces a digital output of 0
For 10 volts, 4095
I configured the conversion fields as follows:
EGUF: 10
EGUL: -10
AOFF: 0
ASLO: 1
EOFF: 0
ESLO 0.004884 // which is (EGUF - EGUL) / 4095
ROFF: 0
LINR: LINEAR
Those values seem right to me but, for example, RVAL=1005 gets converted to VAL=4.9084, when it should be VAL=-5.0916. The problem seems to be that the conversion formula isn't taking into account the EGUL field.
According to the EPICS record reference for aiRecord:
The record processing routine performs the following algorithm for all records except those that use the Soft Channel
device support routine. Be aware that step 3 is performed only when the record specifies LINEAR:
1. Val= RVAL + ROFF
2. Val = Val * ASLO + AOFF
If the conversion algorithm is LINEAR
, the raw value is converted via the equation:
3. val = val * ESLO + EGUL
Seems like the step 3 is not being completely executed, or considering EGUL = 0...
Does anybody know what is wrong? Probably I'm missing something really obvious, but I couldn't figure it out...
Thanks in advance,
Bruno Seiva Martins
- Replies:
- Re: aiRecord conversion Dirk Zimoch
- Re: aiRecord conversion Eric Norum
- Navigate by Date:
- Prev:
Re: Creating INLINK/OUTLINK in record support Tim Mooney
- Next:
Re: aiRecord conversion Dirk Zimoch
- 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:
Fwd: EDM X Error on Linux Lucas Russo
- Next:
Re: aiRecord conversion Dirk Zimoch
- 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