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  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 
<== Date ==> <== Thread ==>

Subject: Transform Record no_inlink test
From: Bruce Hill <bhill@slac.stanford.edu>
To: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
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 
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 
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 ·