Skip to content

PV Naming Conventions

Rory Potter edited this page Sep 5, 2018 · 1 revision

Facilities running EPICS usually adopt a convention for naming PVs (Process Variables). ISIS is no exception.

The purpose of the naming convention is to:

  1. Provide a systematic means of describing the PV,
  2. Ensure that the name of the PV is unique (within the facility).

ISIS Naming Convention

At ISIS, PV names are chosen to describe a function, not hardware/technology - the PV name is the purpose of a channel and is abstracted from the underlying hardware; the name of the IOC (to which the PV belongs) can, however, reflect technology/hardware/implementation.

The essential format of the ISIS naming convention is DOMAIN:SUBDOMAIN:TECHNICALAREA:DEVICE:SUBDEVICE:SIGNAL

PV names should contain only the following characters A-Z, 0-9, _, :, *. Notice that lowercase characters are not allowed. The colon character : is used to separate different elements of the PV name; therefore, do not use the : for other purposes (e.g. as part of an IOC name). To break up individual components of a PV name into readable segments, use the underscore, _ character.

In addition, PV names must start with a letter and must not end with _.

Domain & Subdomain Names

Names appearing in the domain & subdomain levels include:

Name Description
AC ISIS Accelerator/synchrotron related parameter
TG ISIS Target related parameter
IN Instrument related parameter
BL Beamline – used if multiple instruments are sharing a common set of equipment; e.g, the muon beamlines
TE Testing domain, used by local EPICS developers

In the instrument domain, the sub-domain is the full instrument name. For example: IN:GEM or IN:POLREF.

Technical Area and Device Names

Technical Area and Device Names reflect the nature of the device that owns the PV in question. For example:

  • IN:GEM:MOT relates to PVs associated with motion control equipment on GEM.
  • IN:ZOOM:VAC relates to PVs associated with vacuum equipment on ZOOM
  • IN:IRIS:DAE relates to PVs associated with the DAE on IRIS
  • IN:IMAT:MOT:MTRccmm relates to EPICS motor records on IMAT for a motor on controller number cc, motor number mm. These numbers are zero padded to two digits and start from 1 (e.g. MTR0101 is the first motor on the first controller).
  • IN:LARMOR:MOT:JAWSmm mm-th set of jaws on LARMOR (e.g. JAWS01 is the first set of jaws, etc.).

Signal Names

Standard signal names include:

Signal Name Meaning Valid Units
POS Position M, mm, cm
STAT Status, State Open, Closed, On, Off, Ok, Error
CURR Current A, mA, uA
VOLT Voltage kV, V
CMD Device command e.g. write to this to perform an action, such as start/stop a run
SEL Select mode or position  
TEMP Temperature K
COUNT Counter value neutron counts
COUNTD Counter value as a distribution, i.e. divided by bin width - so neutron counts per microsecond for example
P, I, D P, I, D values e.g. on a Eurotherm
TOF Time of flight  
TIME An absolute timestamp preferably in ISO8601 format
FIELD Magnetic field  

If a value can fluctuate, these refer to the current measured value of a quantity and the signal qualifiers SP and RBV are used to indicate the desired value software requested (setpoint) and the desired value being used in the hardware (RBV)

For example, for a TEMP signal

  • ...:HEATER:TEMP Current temperature
  • ...:HEATER:TEMP:SP Temperature set point (requested value) – this is the value that was input in software and sent to the equipment. Writing to this PV will cause the setpoint to change
  • ...:HEATER:TEMP:SP:RBV This is the setpoint “readback” from hardware, which may differ from SP sent above if, for example, the hardware was unable to exactly match the requested value. By definition, a readback PV is read-only. Also if the SP was changed by some other mechanism (e.g. manually on the hardware) :SP would not reflect this, but :SP:RBV would.

Note: The RBV suffix can be used more generally e.g. For P,I,D values you could have ...:P and ...:P:RBV

Clone this wiki locally