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  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: calc type record question
From: "Meddage, Varuna via Tech-talk" <tech-talk at aps.anl.gov>
To: "Kasemir, Kay" <kasemirk at ornl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 1 Nov 2022 16:15:37 +0000
Thank you.

________________________________
From: Kasemir, Kay <kasemirk at ornl.gov>
Sent: Tuesday, November 1, 2022 11:13:38 AM
To: tech-talk at aps.anl.gov; Meddage, Varuna
Subject: Re: calc type record question

The length of the CALC field is limited something around 80 characters.
Try to simplify your expression, for example by removing some parentheses that are good for readability but not strictly necessary.
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Meddage, Varuna via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, November 1, 2022 11:08 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: [EXTERNAL] calc type record question

Hi,


I have following "calc" type record in one of my .db files.


===============================================================


record(calc,"$(detector)_wib$(crate)0$(wib)/calc")
{
      field(SCAN,"5 second")
      field(CALC,"((A>=4.6&&A<=5.2)&&(B>=4.6&&B<=5.2)&&(C>=1.75&&C<=1.80)&&(D>=3.2&&D<=3.4)&&(E>=0.7&&E<=2.0))?1:0")
      field(INPA,"$(detector)_wib$(crate)0$(wib)/vcc")
      field(INPB,"$(detector)_wib$(crate)0$(wib)/v1")
      field(INPC,"$(detector)_wib$(crate)0$(wib)/v2")
      field(INPD,"$(detector)_wib$(crate)0$(wib)/v3")
      field(INPE,"$(detector)_wib$(crate)0$(wib)/v4")
      field(DESC,"")
      field(HIHI,"")
      field(HIGH,"")
      field(LOW,"")
      field(LOLO,"")
      field(MDEL,"-1")
      field(ADEL,"-1")
      field(OOPT,"Every Time")
      field(PREC,"6")
}


===============================================================


When I run the EPICS, then I get an error message saying "String is too long" complaining about the expression, I inserted inside the "CALC" field in this record. But when I reduced the number of input PVs of this record from 5 to 4 and rewrite the expression inside "CALC" field, then there is no error.


Is there maximum number of input PVs, that I can use inside a "calc" type record ?


Any help to understand this issue is highly appreciated.


Thanks

Varuna Meddage

References:
calc type record question Meddage, Varuna via Tech-talk
Re: calc type record question Kasemir, Kay via Tech-talk

Navigate by Date:
Prev: Re: calc type record question Kasemir, Kay via Tech-talk
Next: Re: calc type record question Arnold, Ned D. via Tech-talk
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  <20222023  2024 
Navigate by Thread:
Prev: Re: calc type record question Kasemir, Kay via Tech-talk
Next: Re: calc type record question Arnold, Ned D. via Tech-talk
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  <20222023  2024 
ANJ, 01 Nov 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·