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: | Fwd: EPICSv4 and pvAccess to an IOC |
From: | "White, Greg" <[email protected]> |
To: | Emmanuel Mayssat <[email protected]> |
Cc: | EPICS mailing list <[email protected]> |
Date: | Wed, 1 Apr 2015 13:41:51 +0000 |
Hi Emmanuel,
Let me take a very high level stab at your questions. Maybe one of the V4 developers can step in for more sophisticated answers.
Begin forwarded message:
1. pvAccess "on the wire” to talk to an IOC; pvaAccess talks to the pvaSrv
plugin on the IOC, or
2. you can use CA on the wire through the pvAccess client side API.
For an example, see the ExampleChannelGet java example [1] in “EPICS pvAccessJava”. Specifically see the lines:
// get pvAccess client provider
ChannelProvider channelProvider =
ChannelProviderRegistryFactory.getChannelProviderRegistry()
.getProvider(org.epics.pvaccess.ClientFactory.PROVIDER_NAME);
...
Channel channel = channelProvider.createChannel(
channelName, channelRequester, ChannelProvider.PRIORITY_DEFAULT);
other language bindings (c++, python) etc follow the same pattern.
you’ll include a PVA server, named “pvaSrv” in the IOC. See the section "Adding pvAccess support to an IOC” in document Getting Started with EPICS V4 [2]. For specific examples of what a st.cmd file looks to include pvaSrv, see the st.cmd files of the
test app of pvaSrv in sourceforge (e.g. see end of file st.cmd [3]).
Some forward looking support for V4 is beginning to be added to the IOC. You might say the coming locksets improvement is related to V4’s requirement to properly support the future envisioned function that the value of a single PvAccess PV hosted by a
classic IOC (as opposed to a V4 pvDatabase as described by Kay) can encode the values of a set of IOC records. For instance, imagine a BPM PV that encodes 5 records like X offset, X RMS, Y, Y RMS and current, all in one PV. pvaSrv can’t presently do that,
it can only map a PVA PV to a single IOC PV.
Cheers
Greg
|