Andrew -
It is not uncommon to break the expression up between multiple calc records to work around the length limitation. You can put those floating point constants in spare inputs ... and then have a second calc that returns "(235>B && 5>D && 5>E)" to another input ... and I think you will fit.
Ned
On Sep 28, 2010, at 3:11 PM, Mark Rivers wrote:
> I suspect your CALC expression is longer than 40 characters and that is
> the source of the error.
>
> Mark
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Andrew Wagner
> Sent: Tuesday, September 28, 2010 3:04 PM
> To: [email protected]
> Subject: CALC expression
>
> Hey everyone,
>
> I need to evaluate a somewhat complicated conditional statement in a
> calc record. Presently I need to evaluate:
>
> field(CALC, "(235>B && 5>D && 5>E) ? (B*0.00835 - 0.7 > A + (C-B)*0.25
> ? B*0.00835 - 0.7: A + (C-B)*0.25): 0")
>
> where the letters are input variables. When I load the record I get the
> error
>
> Can't set "VOLT:PID.CALC" to "(235>B && 5>D && 5>E) ? (B*0.00835 - 0.7 >
> A + (C-B)*0.25 ? B*0.00835 - 0.7: A + (C-B)*0.25): 0"
> Error at or before ")" in file "MagnetCtrlApp/Db/MagnetCtrl.db" line 113
>
> Does CALC not support nested evaluations? Perhaps I need a subroutine
> record? Any advice would be greatly appreciated.
>
> Cheers,
>
> Andrew
>
>
>
>
- Replies:
- Re: CALC expression Ralph Lange
- References:
- CALC expression Andrew Wagner
- RE: CALC expression Mark Rivers
- Navigate by Date:
- Prev:
RE: CALC expression Mark Rivers
- Next:
Re: CALC expression Ralph Lange
- 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:
RE: CALC expression Mark Rivers
- Next:
Re: CALC expression Ralph Lange
- 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
|