The Advanced Photon Source
a U.S. Department of Energy Office of Science User Facility

EPICS Process Variable Naming Conventions

The recommended convention for process variable names at the APS is;

All beamline PVs should begin with their sector number [preferred] or lower case letters.

All accelerator PVs (those on the .2 subnet) should begin with capital letters.

Examples of preferred beamline PV prefixes...

  • 4idb:* - Indicates Sector 4, Insertion Device beamline, Station B
  • 2bma:* - Indicates Sector 2, Bending Magnet beamline, Station A
  • 35lab1:* - Indicates Sector 35, a lab system

Example of conforming non-preferred beamline PV prefix...

  • sri:* - Starts with lower case letter

Example of non-conforming beamline PV prefix...

  • S35ID:* - Starts with a letter and uses UPPER case

Since this is a rule, then we must have exceptions! This naming convention only came in to existence after many beamlines had been built. Some beamlines had adopted PV prefixes starting with a capital letter. These are "grand fathered" in to our scheme. These being...

BM*, BMT*, ID*  - Sector 19


The rationale behind how this convention arose is explained in this note and in a presentation, given at the December 2003 TWG meeting.

Further recommendation for beamline PVs

Within the APS-XOR beam lines, we try to adhere to a particular IOC naming convention.

Many sectors, have adopted the following convention. If you are looking for a slightly more detailed convention to follow this is a good model.

The PV prefix should consist of the following elements... sector#, source, station, separator. For example

  • 3idc:* - Indicates Sector 3, Insertion Device beamline, Station C, with a colon separating the remainder of the name.

At a glance, this tells you where a PV is associated with. More examples are given in the preferred examples shown above

Also, advise that lower case is preferred unless there is a compelling case for upper case. AND that the difference between upper and lower case is significant.

  • 3IDC1:

is not the same as

  • 3idc1: