PVAccess gateways (p4p) - ISISComputingGroup/ibex_developers_manual GitHub Wiki
Instrument gateways
Instrument PVAccess gateways are available as of #8319 for connecting to EPICS V4 PVs on the same subnet. In practice this means other PVs in r3 if you are in r3, and similarly for r55/r80/r2.
Generally it is recommended to run a single gateway process per machine, in contrast to the channel access gateways which often have multiple gateway processes per machine. In order to support this, the p4p gateway has good "client" and "server" options which allow specifying multiple gateway servers within the same process.
The p4p
gateway documentation online is generally quite good.
Instrument gateway setup
- The gateway is started by
C:\Instrument\Apps\EPICS\gateway\start_pva_gw.bat
(called bystart_gateways.bat
) - A script called
generate_p4p_config.py
dynamically generates ap4p
config file, based on the current machine's network settings, and writes it toC:\Instrument\Var\tmp\p4p_config.json
just before the gateway starts. - PVAccess address lists are set in
config_env_base.bat
- The
p4p
gateway logs toC:\Instrument\Var\logs\gateway\pva
Access security
p4p
is currently unable to parse our .acf
file for access security. Therefore, the gateway has been set to be globally read-only instead.
In practice this limitation is unlikely to be relevant - the obvious use cases for PVAccess (e.g. areadetector arrays) are primarily read-only anyway.
Block gateway
Under channel access, we use a block gateway to alias underlying PVs into blocks.
A PVAccess block gateway should be possible, but most of our block infrastructure does not currently support PVAccess anyway (e.g. archiving, g.cget
, GUI blocks view, ...).
Site gateways
Site PVAccess gateways, which would allow access between the r55, r80, r3 subnets are not currently available. They will be added in #8419.