EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  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  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Transform Record no_inlink test
From: Bruce Hill <[email protected]>
To: "[email protected]" <[email protected]>
Date: Tue, 27 Sep 2011 15:05:16 -0700
In using the transform record V5.7 from calc 2.8, I found that the record has
a test in transformRecord.c line 398 that disables output calculations for each variable that
has an input link.

If I disable that test for no_inlink, my transform record behaves as I expect.

Does anyone know why that test is there?

It seems to preclude using the transform record input links which select the same PV as the output links.
I can get around it by adding dfanout records to write the values directly to the
transform record input fields, A-P, but it seems like an ugly workaround.

Regards,
- Bruce



record( ao, "$(CAM):Gain" )
{
    field( DESC,    "Set camera gain" )
    field( DRVH,    "100" )
    field( DRVL,    "0" )
    field( HOPR,    "100" )
    field( LOPR,    "0" )
    field( PINI,    "YES" )
    field( FLNK,    "$(CAM):Gain:Calc PP" )
}

record( ao, "$(CAM):GainA" )
{
    field( DESC,    "Gain for side A" )
    field( FLNK,    "$(CAM):Gain:Calc PP" )
    field( DOL,     "0x042" )
    field( DRVL,    "0x042" )
    field( DRVH,    "0x1E8" )
}

record( ao, "$(CAM):GainB" )
{
    field( DESC,    "Gain for side B" )
    field( FLNK,    "$(CAM):Gain:Calc PP" )
    field( DOL,     "0x042" )
    field( DRVL,    "0x042" )
    field( DRVH,    "0x1E8" )
}

record( ao, "$(CAM):Gain:Offset" )
{
    field( DESC,    "Offset between gain halves" )
    field( PINI,    "YES" )
    field( FLNK,    "$(CAM):Gain:Calc PP" )
}

record( transform, "$(CAM):Gain:Calc" )
{
    field( DESC,    "Calc camera gain" )
    field( INPA,    "$(CAM):GainA" )
    field( INPB,    "$(CAM):GainB" )
    field( INPH,    "0x1E8" )
    field( INPL,    "0x042" )
    field( INPO,    "$(CAM):Gain:Offset" )
    field( INPG,    "$(CAM):Gain" )
    field( CLCA,    "(G/100)*(H-L)+L-(O/2)" )
    field( CLCB,    "(G/100)*(H-L)+L+(O/2)" )
    field( CLCG,    "(((A+B)/2)-L)*100/(H-L)" )
    field( CLCO,    "B-A" )
    field( PINI,    "YES" )
    field( OUTA,    "$(CAM):GainA PP" )
    field( OUTB,    "$(CAM):GainB PP" )
    field( OUTG,    "$(CAM):Gain PP" )
    field( OUTO,    "$(CAM):Gain:Offset PP" )
}



Replies:
Re: Transform Record no_inlink test Tim Mooney

Navigate by Date:
Prev: Re: [S7plc EPICS driver] REAL type record jumps to zero Steven M. Hartman
Next: Re: Transform Record no_inlink test Tim Mooney
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Xerces Re: problem running Channel Archiver on 64-bit Scientific Linux 6 Kasemir, Kay
Next: Re: Transform Record no_inlink test Tim Mooney
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·