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: How to access bigstring using channel access |
From: | Ralph Lange <[email protected]> |
To: | EPICS Tech-Talk <[email protected]> |
Date: | Fri, 16 Jan 2015 07:55:51 -0500 |
Hi Deeptarka, Yup, that is correct. Note, though, that -S is an option for this specific command line tool. The dollar sign works on the IOC side and changes the Channel Access data type (on the wire) from string to array of char. The -S option works on the client side and changes how the caget application prints an array of char. If you use caget -S connecting to a histogram, it will print garbage. (It prints the counts as ascii characters.) If you use CS-Studio or another CA client, that client must support handling array of char as a string, and if it does, it will have other means of specifying that. Using Channel Access, there is no fully generic way for a client to know if an array of char is meant to be an image, a histogram, or a long string. There are context-specific hints, of course: A text field widget can assume you want to interpret the array as a string, an image widget may assume an image, in case of an EPICS database on the remote end a dollar sign at the end of the field name will indicate a string, etc. But CA itself only shows the data type, not the meaning. Heads-up: Using the standard containers of the EPICS V4 pvAccess protocol will give a generic client a much better idea of what a piece of data is meant to be. These structures add metadata containing information about how to interpret the value. Coming soon to an IOC near you..... :-) Cheers, ~Ralph On 16/01/2015 00:33, Deeptarka
Das/TVM/TCS wrote:
|