EPICS pvaClientJava

Release 7.1 - 2017-12-15


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.

pvaClient also provides a set of callback interfaces that are easier to use than pvAccess itself. These are designed for use by tools like display managers, archivers, etc that need to acquire data via the pva or ca channel providers implemented by 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


pvaClientJava is one of the components of EPICS Version 4

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

It is intended for developers that want to use pvaClientJava.

Developer Guide

A guide for developers is available at developerGuide

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

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


Javadoc documentation is available at javaDoc


Example code is available from github:

git clone https://github.com/mrkraimer/exampleJava.git

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