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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: [EXTERNAL] Calc Module of SynApps: Issue with long string CALC$ |
From: | "Kasemir, Kay via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, Kuldeep Joshi <kuldeep.joshi at gmail.com> |
Date: | Fri, 6 Aug 2021 12:35:28 +0000 |
>When I use the bob file with the PV name in the calc record
as IOC.userCalc1.CALC$. I am unable to enter more than one character in the calc field.
On changing it to IOC:userCalc1.CALC (in the bob file) I am able to enter the formula in the CALC field. I understand that $ symbol is used for long strings in the CALC field. In my case it is not working. however I am unable to have the calc field more
than 36 characters.
The ...$ postfix causes the IOC to serve the PV as a byte array instead of a string.
A Channel Access client just sees a byte array and cannot guess if the data is an array of values -128..+127, or if the byte array is really meant to circumvent the old EPICS string length limit and should be converted to a string.
With the command-line caget you need to add or remove the "-S" option to select the desired behavior.
The display builder text entry widget similarly assumes by default that the array is just that, but you can change the "Format" to "String", and then the byte array is treated as text.
-Kay
|