pvaSrv is a pvAccess server running on top of an EPICS V3 database, implemented in C++.
This document is describing version 0.9.1 of pvaSrv as of 19-Jun-2013. This version is being released part of EPICS V4.3.0 (BETA).
pvaSrv is a pvAccess server that runs in the EPICS V3 IOC.
pvaSrv allows you to get, put and monitor V3 PVs (fields of EPICS DB records) over pvAccess, translating the value and its meta data (graphics limits, alarm status, timestamp) to or from V4 Normative Type (NT) pvData structures (NTScalar, NTScalarArray).
pvaSrv's module dbPv allows access to a single PV in the EPICS DB, i.e. to any record.field that is also accessible through Channel Access.
dbPv does not require any configuration - it serves all fields of all records in the local EPICS database.
You need to have the following modules installed and mentioned in the configure/RELEASE file of pvaSrv:
With these modules present, pvaSrv should compile as a regular EPICS V3 support module.
pvaSrv is a regular V3 support module. To use it in a V3 IOC created in yourApp, you have to do the following steps:
include "base.dbd" include "dbPv.dbd"
myApp_LIBS += pvaSrv pvIOC pvAccess pvData pvMB myApp_LIBS += $(EPICS_BASE_IOC_LIBS)
[...] iocInit() pvaSrvStart
After your IOC has started pvaSrv, you can connect using pvAccess:
> pvget TESTLONG
TESTLONG 99
> pvinfo TESTLONG
CHANNEL : TESTLONG
STATE : CONNECTED
ADDRESS : 192.168.n.n:5075
uri:ev4:nt/2012/pwd:NTScalar
int value
alarm_t alarm
int severity
int status
string message
time_t timeStamp
long secondsPastEpoch
int nanoSeconds
int userTag
display_t display
double limitLow
double limitHigh
string description
string format
string units
control_t control
double limitLow
double limitHigh
double minStep
pvaSrv contains a simple example application in exampleApp to demonstrate its usage. The example is a TOP structure by itself, so you can simply copy exampleApp into your workspace, adapt the references in its configure/RELEASE file, and compile it.
Doxygen generated API documentation is available at doxygenDoc.
The source code is kept under Mercurial revision control as part of the EPICS V4 project on SourceForge. A repository browser is available.