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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Breakpoint tables: Raw value must be integer?!? |
From: | Emmanuel Mayssat <[email protected]> |
To: | "[email protected]" <[email protected]> |
Date: | Fri, 22 Nov 2013 16:49:15 -0800 |
I would like to replace a few of my existing CALC records (polynomial transformation) with simple breakpoint tables. Let's assume that my raw values are voltages between 0 and 5V, I could therefore build a transformation table as follow: breaktable(bptPosSlope) { raw=0.000000 slope=9.000000e+00 eng=-27.000000 raw=1.000000 slope=1.800000e+01 eng=-18.000000 raw=2.000000 slope=1.800000e+01 eng=0.000000 raw=3.000000 slope=1.400000e+01 eng=18.000000 raw=4.000000 slope=3.000000e+00 eng=32.000000 raw=5.000000 slope=3.000000e+00 eng=35.000000 } Although the table allows for double/float transformation, to my surprise, the RAW value stored in the AI record is an integer. Maybe is it because of my INP link... This record is supposed to be the raw value clsXdev:6175>dbpr RECORDS:BrkpntTable:Rdbck:RawAI ASG: DESC: Raw readback DISA: 0 DISP: 0 DISV: 1 NAME: RECORDS:BrkpntTable:Rdbck:RawAI RVAL: 0 SEVR: NO_ALARM STAT: NO_ALARM SVAL: 0 TPRO: 0 VAL: 1.111 Which is transformed in another ai record (which has its INP field pointing to the above record). clsXdev:6175>dbpr RECORDS:BrkpntTable:RdbckAI 3 ACKS: NO_ALARM ACKT: YES ADEL: 0 ALST: -18 AOFF: 0 ASG: ASLO: 1 BKPT: 00 DESC: Readback DISA: 0 DISP: 0 DISS: NO_ALARM DISV: 1 DTYP: Raw Soft Channel EGU: mm EGUF: 0 EGUL: 0 EOFF: 0 ESLO: 1 EVNT: 0 FLNK:CONSTANT 0 HHSV: NO_ALARM HIGH: 0 HIHI: 0 HOPR: 0 HSV: NO_ALARM HYST: 0 INIT: 0 INP:DB_LINK RECORDS:BrkpntTable:Rdbck:RawAI.VAL NPP NMS LALM: -18 LBRK: 0 LCNT: 0 LINR: bptPosSlope LLSV: NO_ALARM LOLO: 0 LOPR: 0 LOW: 0 LSV: NO_ALARM MDEL: 0 MLST: -18 NAME: RECORDS:BrkpntTable:RdbckAI NSEV: NO_ALARM NSTA: NO_ALARM ORAW: 1 PACT: 0 PHAS: 0 PINI: NO PREC: 3 PRIO: LOW PROC: 0 PUTF: 0 ROFF: 0 RPRO: 0 RVAL: 1 SCAN: 1 second SDIS:CONSTANT SEVR: NO_ALARM SIML:CONSTANT SIMM: NO SIMS: NO_ALARM SIOL:CONSTANT SMOO: 0 STAT: NO_ALARM SVAL: 0 TIME: 2013-11-22 16:44:26.374133281 TPRO: 0 TSE: 0 TSEL:CONSTANT UDF: 0 VAL: -18 Now for some reason the RVAL of this last record is = to 1 (and not 1.1111) As a result, the VAL is not calculated correctly. Is RVAL supposed to be an integer? How can fix my current example? Thanks, -- Emmanuel |