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: Labview EPICS server and client data types. |
From: | Andrew Johnson <[email protected]> |
To: | "Vaughn, Brian" <[email protected]> |
Cc: | "[email protected]" <[email protected]> |
Date: | Mon, 28 Oct 2013 16:22:29 -0500 |
Hi Brian, On 10/28/2013 03:56 PM, Vaughn, Brian wrote:
When configuring a Labview EPICS Server I/O Server, one is able to select from more data types than are available when configuring a Labview EPICS Server I/O Client. For example, you can create a network-published shared variable with a data type: array of booleans, and link it to an EPICS PV, but when trying to create a corresponding PV in the client, there is no option for the data type: array of booleans. The same situation exists for unsigned integers, etc.
I don't know anything about the LabView software you're asking about, but the underlying Channel Access protocol only supports a limited set of basic data types which probably map directly to the set you're asking about for your client. The CA set is documented here:
http://www.aps.anl.gov/epics/base/R3-14/12-docs/CAref.html#ChannelNote that there are no unsigned integer types in that list, nor a boolean one.
The IOC database software is in a similar position, it supports unsigned integer types, and has a standard method of converting those into types for the CA protocol to transport.
A CA client can request the value of any channel or put a value to any channel using any type it likes, and the server must attempt to convert the data to/from that type if it can. However that conversion takes place on the server, and it is usually better for each client to look at and use the channel's native type for CA requests since that reduces the load on the (shared) server. I'm guessing that's probably what the Auto data type does that you also mentioned, but as I said above I don't use LabView so I'm only speculating there.
HTH, - Andrew -- Advertising may be described as the science of arresting the human intelligence long enough to get money from it. -- Stephen Leacock