From 2fae1da00a658b2133ff3d405bbbe9600fad8258 Mon Sep 17 00:00:00 2001
From: mrkraimer NO LONGER SUPPPORTED:
-The functionality has been moved to pvAccessCPP and EasyPva renamed to Pva.
- EasyPVA (Easy PVAccess) 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, easyPVA provides an easy 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.
-EasyPVA provides an interface that does not require callbacks even for monitors.
-
-EasyChannel provides many "convenience" methods to directly get and put
-scalar and scalarArray data types.
-Additional methods provide access to the full features of pvAccess.
-
-EasyMultiChannel provides access to data from multiple channels.
-It can be used directly by a client or via EasyMultiDouble or EasyNTMultiChannel.
-EasyMultiDouble allows the client to get and put data to multiple channels.
-But each channel must have a value field that is a numeric scalar.
-EasyNTMultiChannel 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. EasyPVACPP is ready for use. EasyPVA is a synchronous API for accessing PVData via PVAccess. It provides
-an interface to many of the features provided by pvData and pvAccess. This document describes the layout of the source files in this project.
-A user overview is available via
-overview.html
-
-
-Doxygen documentation is available at
-doxygenDoc
-
- After obtaining the source: Edit RELEASE.local so that all path names are correct for you environment.
-
-Then: The examples and tests require that an example pvAccess server is runnimg.
-This distribution has a file exampleDatabaseEasyPVA.zip.
-When unzipped this is used to create an example IOC database.
-The database has the record used by the examples are tests that come with easyPVAJava.
-It uses pvDatabaseCPP to build the database.
-
-After unzipping the file:
- The tests will fail unless the example database is running. Once it is running: Examples are in directory example/src.
-An example of how to run them is: The following is a brief description of each example.
-In order to understand each example it
-helps to also bee loooking at the source for the example. This has a number of examples: This is an example of creating a monitor on a channel.
-It monitors a channel that models a powerSupply, i. e. it is not a "standard" record.
-It does not have a value field.
- After starting the example a change can be made to the powerSupply by issuing: This example gets and puts to channel exampleDouble. This example makes a process request to channel exampleDouble. This is an example of issuing a channelPutGet. This is an example of issuing gets and puts to multiple channels where each
-channel has a numeric scalar value field. This is an example of using NDMultiChannel to obtain data from multiple channels.
- This is an example of issuing a channelRPC request.
-It does not use easyPVA. EasyPVA (Easy PVAccess) is a software library that provides to an EPICS client programmer, a friendly
+ 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, easyPVA provides an easy interface for pvAccess, which is the
+ 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.
-EasyPVA provides an interface that does not require callbacks even for monitors.
+pvAccess provides a callback based interface, which can be hard to use.
+pvaClient provides an interface that does not require callbacks even for monitors.
-EasyChannel provides many "convenience" methods to directly get and put
+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.
-EasyMultiChannel provides access to data from multiple channels.
-It can be used directly by a client or via EasyMultiDouble or EasyNTMultiChannel.
-EasyMultiDouble allows the client to get and put data to multiple channels.
+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.
-EasyNTMultiChannel allows the client to get and put data to multiple channels.
+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.
EasyPVACPP is ready for use. pvaClientCPP is ready for use. EasyPVA is a synchronous API for accessing PVData via PVAccess. It provides
+ pvaClient is a synchronous API for accessing PVData via PVAccess. It provides
an interface to many of the features provided by pvData and pvAccess. This document describes the layout of the source files in this project.
A user overview is available via
overview.html
+href="./pvaClientOverview.html">pvaClientOverview.html
@@ -110,58 +111,27 @@ Doxygen documentation is available at
href="./html/index.html">doxygenDoc
After obtaining the source: The examples require that the database provided by project pvaClientTestCPP
+is running.
+For example: Edit RELEASE.local so that all path names are correct for you environment.
-
-Then: The examples and tests require that an example pvAccess server is runnimg.
-This distribution has a file exampleDatabaseEasyPVA.zip.
-When unzipped this is used to create an example IOC database.
-The database has the record used by the examples are tests that come with easyPVAJava.
-It uses pvDatabaseCPP to build the database.
-
-After unzipping the file:
- The tests will fail unless the example database is running. Once it is running: Examples are in directory example/src.
An example of how to run them is: The following is a brief description of each example.
In order to understand each example it
-helps to also bee loooking at the source for the example.EPICS easyPVA
-
-EPICS V4 Working Group, Working Draft,
-25-Mar-2015
-
-
-
-Abstract
-Status of this Document and of the EasyPVA Software
-
-Table of Contents
-
-
-Introduction
-
-Building
-
-cd configure
-cp ExampleRELEASE.local RELEASE.local
-
-
-cd ..
-make
-
-
-Example and Test Database
-
-cd configure
-cp ExampleRELEASE.local RELEASE.local
-edit RELEASE.local
-cd ..
-make
-cd iocBoot/exampleDatabase
-../../bin/<arch:>/exampleDatabase st.cmd
-
-Testing
-
-make runtests
-
-Examples
-
-mrk> pwd
-/home/hg/easyPVACPP/example
-mrk> bin/linux-x86_64/exampleEasyGet
-
-exampleEasyGet
-
-
-exampleEasyMonitor
-
-pvput -r "power.value,voltage.value" examplePowerSupply 6 6
-
-exampleEasyPut
-exampleEasyProcess
-helloWorldPutGet
-exampleEasyMultiDouble
-exampleEasyNTMultiChannel
-helloWorldRPC
-EPICS easyPVA
+EPICS pvaClientCPP
EPICS V4 Working Group, Working Draft,
-25-Mar-2015
+03-August-2015
Abstract
-Status of this Document and of the EasyPVA Software
+Status of this Document and of the pvaClient Software
-Introduction
-Building
-Example Database
+
-cd configure
-cp ExampleRELEASE.local RELEASE.local
-
-
-cd ..
-make
-
-
-Example and Test Database
-
-cd configure
-cp ExampleRELEASE.local RELEASE.local
-edit RELEASE.local
-cd ..
-make
-cd iocBoot/exampleDatabase
-../../bin/<arch:>/exampleDatabase st.cmd
-
-Testing
-
-make runtests
+mrk> pwd
+/home/epicsv4/pvaClientTestCPP/database/iocBoot/exampleDatabase
+mrk> ../../bin/linux-x86_64/exampleDatabase st.cmd
Examples
mrk> pwd
-/home/hg/easyPVACPP/example
-mrk> bin/linux-x86_64/exampleEasyGet
+/home/epicsv4/pvaClientCPP/example
+mrk> bin/linux-x86_64/examplePvaClientGet
exampleEasyGet
+helps to also look at the source for the example.
This has a number of examples:
This is an example of creating a monitor on a channel. -It monitors a channel that models a powerSupply, i. e. it is not a "standard" record. -It does not have a value field. +It monitors a scalar double field. +It also issues puts to the same channel so that it can make the monitors occur.
-After starting the example a change can be made to the powerSupply by issuing:
--pvput -r "power.value,voltage.value" examplePowerSupply 6 6 --
This example gets and puts to channel exampleDouble.
-This example gets and puts to channels exampleDouble +and exampleDoubleArray.
+This example makes a process request to channel exampleDouble.
This is an example of issuing a channelPutGet.
-This is an example of issuing gets and puts to multiple channels where each -channel has a numeric scalar value field.
-This is an example of using NDMultiChannel to obtain data from multiple channels. +
This is an example of using pvaClientMultiChannel, +pvaClientMultiGetDouble, pvaClientMultiPutDouble, and pvaClientMultiMonitorDouble.
This is an example of issuing a channelRPC request. -It does not use easyPVA.
+It does not use pva.