EPICS pvaClientCPP

Release 4.2.0-SNAPSHOT - 2016-07-14


pvaClient is a software library that provides to an EPICS client programmer, a friendly client side programming interface to the data of an EPICS based control system. It is intended for such uses as rapid development of ad hoc programs by controls engineers, or to provide scientists a way to directly develop analytical applications.

Specifically, pvaClient provides a synchronous interface for pvAccess, which is the software support for high speed controls network communications used in EPICS version 4. pvAccess provides a callback based interface, which can be hard to use. pvaClient provides an interface that does not require callbacks even for monitors.

pvaClientChannel provides many "convenience" methods to directly get and put scalar and scalarArray data types. Additional methods provide access to the full features of pvAccess.

pvaClientMultiChannel provides access to data from multiple channels. It can be used directly by a client or via pvaClientMultiDouble or pvaClientNTMultiChannel. pvaClientMultiDouble allows the client to get and put data to multiple channels. But each channel must have a value field that is a numeric scalar. pvaClientNTMultiChannel allows the client to get and put data to multiple channels. Each channel must have a value field. The data for the channels is presented via normative type NTMultiChannel.

For more information about EPICS generally, please refer to the home page of the Experimental Physics and Industrial Control System.

Table of Contents


pvaClientCPP is one of the components of EPICS Version 4

This document is only a guide to help locate code and documentation related to pvDatabaseCPP

It is intended for developers that want to use pvDatabaseCPP.

Developer Guide

A guide for developers is available at developerGuide

This guide discusses all the components that are part of an EPICS V4 release. Some understanding of the components and how they are related is necessary in order to develop code that uses pvDatabaseCPP. In particular read everything related to pvaClient.

The developerGuide discusses code in a way that applies to both CPP and C++. For the descriptions of the CPP specific code consult the next section.


doxygen documentation is available at doxygen


Example code is available as part of this release. exampleCPP

In particular look at exampleClient. It has many examples of using pvaClientCPP.