165 lines
5.0 KiB
HTML
165 lines
5.0 KiB
HTML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
|
<title>EPICS easyPVA</title>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="http://epics-pvdata.sourceforge.net/base.css" />
|
|
<link rel="stylesheet" type="text/css"
|
|
href="http://epics-pvdata.sourceforge.net/epicsv4.css" />
|
|
<style type="text/css">
|
|
/*<![CDATA[*/
|
|
.about { margin-left: 3em; margin-right: 3em; font-size: .83em}
|
|
table { margin-left: auto; margin-right: auto }
|
|
.diagram { text-align: center; margin: 2.5em 0 }
|
|
body { margin-right: 10% }
|
|
/*]]>*/</style>
|
|
|
|
<!-- Script that generates the Table of Contents -->
|
|
<script type="text/javascript" src="http://epics-pvdata.sourceforge.net/script/tocgen.js"></script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="head">
|
|
<h1>EPICS easyPVA</h1>
|
|
<!-- Maturity: Working Draft or Request for Comments, or Recommendation, and date. -->
|
|
<h2 class="nocount">EPICS V4 Working Group, Working Draft,
|
|
13-Mar-2015</h2>
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a
|
|
href="easyPVA.html">easyPVA.html
|
|
</a> </dd>
|
|
<dt>Latest version:</dt>
|
|
<dd>none</dd>
|
|
<dt>Previous version:</dt>
|
|
<dd>none</dd>
|
|
<dt>Editors:</dt>
|
|
<dd>Marty Kraimer, BNL</dd>
|
|
<dd>Matej Sekoranja, Cosylab</dd>
|
|
</dl>
|
|
|
|
<h2 class="nocount">Abstract</h2>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.
|
|
</p>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
EasyMultiChannel provides access to data from multiple channels as long
|
|
as each channel has a top level field named <b>value</b>.
|
|
EasyMultiChannel provides two ways to access data from multiple channels:
|
|
The first is as an NTMultiChannel. The second is as a double array.
|
|
The double array can be used if the value field of every channel is a numeric scalar.
|
|
There is code for NTMultiChannel that helps with access to more complicated data types.
|
|
</p>
|
|
<!-- last para of Abstract is boilerplate reference to EPICS -->
|
|
<p>For more information about EPICS generally, please refer to the home page of the <a
|
|
href="http://www.aps.anl.gov/epics/">Experimental Physics and Industrial
|
|
Control System</a>.</p>
|
|
|
|
|
|
|
|
<h2 class="nocount">Status of this Document and of the EasyPVA Software</h2>
|
|
|
|
<p>Under development</p>
|
|
|
|
</div> <!-- head -->
|
|
|
|
<div id="toc">
|
|
<h2 class="nocount">Table of Contents</h2>
|
|
</div>
|
|
|
|
<!-- Place what you would like in the Table of Contents, inside the contents div -->
|
|
<div id="contents" class="contents">
|
|
<hr />
|
|
|
|
<h2>Introduction</h2>
|
|
|
|
<p>EasyPVA is a synchronous API for accessing PVData via PVAccess. It provides
|
|
an interface to many of the features provided by pvData and pvAccess.</p>
|
|
|
|
<p>This document describes the layout of the source files in this project.</p>
|
|
<p>
|
|
A user overview is available via
|
|
<a
|
|
href="./overiew.html">overview.html
|
|
</a>
|
|
</p>
|
|
<p>
|
|
Doxygen documentation is available at
|
|
<a
|
|
href="./html/index.html">doxygenDoc
|
|
</a>
|
|
</p>
|
|
<h2>Building</h2>
|
|
<p>After obtaining the source:</p>
|
|
<pre>
|
|
cd configure
|
|
cp ExampleRELEASE.local RELEASE.local
|
|
</pre>
|
|
<p>Edit <b>RELEASE.local</b> so that all path names are correct for you environment.
|
|
</p>
|
|
<p>
|
|
Then:</p>
|
|
<pre>
|
|
cd ..
|
|
make
|
|
</pre>
|
|
|
|
<h2>Example and Test Database</h2>
|
|
<p>The examples require that an example pvAccess server is runnimg.
|
|
This distribution has a file <b>exampleDatabaseEasyPVA.zip</b>.
|
|
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.
|
|
</p>
|
|
<p>
|
|
After unzipping the file:
|
|
</p>
|
|
<pre>
|
|
cd configure
|
|
cp ExampleRELEASE.local RELEASE.local
|
|
edit RELEASE.local
|
|
cd ..
|
|
make
|
|
cd iocBoot/exampleDatabase
|
|
../../bin/<arch:>/exampleDatabase st.cmd
|
|
</pre>
|
|
<h2>Testing</h2>
|
|
<p>The tests will fail unless the example database is running.</p>
|
|
<p>Once it is running:</p>
|
|
<pre>
|
|
make runtests
|
|
</pre>
|
|
<h2>Examples</h2>
|
|
<p>Examples are in directory <b>example/src</b>.
|
|
An example of how to run them is:</p>
|
|
<pre>
|
|
mrk> pwd
|
|
/home/hg/easyPVACPP/example
|
|
mrk> bin/linux-x86_64/exampleEasyGet
|
|
</pre>
|
|
<p>
|
|
See the source code for each example.
|
|
</p>
|
|
|
|
</div> <!-- class="contents" -->
|
|
</body>
|
|
</html>
|