EUpraxia Naming Convention proposal



Legnaro Naming Convention


EPICS LNF Proposal Naming Convention

It's based on a hierarchical structure using colons (:) as separators. Inspired by experience and seeing the previous naming conventions.


Often in OPI and in configuration you'll find a iocprefix that normally maps to a P macro and a iocroot that maps to a macro.

This logic separation between P and R (not always present) is similar to directory and file and often helps in OPIs visualisation that often wants to deal just with the root of the element name and now with the full path of a PV.

RECORDS must be unique.

The general structure is:


<---------------------------------------PV----------------------------------------------------------------------------->                   

<---------------------------------------RECORD-------------------------------------------------------------->                   

<------------------------P--------------><------------------------------R--------------------->
<beamline>:<domain>[:<location>]|[:<subsystem>]:<device/component/softioc>:<attribute>[.<field>] (VAL is default)


location and subsystem should be mutually exclusive. If make really sense explicit both information in PV can be done true '-'.

If the beam layout defines Sections and Subsections location should be in the form <sec>-<subsec>

Devices that dont belongs a bigger system should be associated to a location on the layout. Some other belongs to a subsystem like camera,motors that are part of a Screen/Flag. Others cannot be associated to physical location (es. software IOC that performs algorithms).

  • Records ending in _RB are intended readbacks and are ReadOnly.
  • Records ending in _SP are intended setpoint and are Read&Write.

Examples:

BeamlineDomainLocation | Subsystemdevice/elementAttribute
SPARCVACLINAC (location)VGA01PRES
BTFVACBTFH2 (location)SIP01PRES
EUAPSCOLLINAC (location)SMC01TEMP
LELMAGM1(location)QUA01CURRENT
LELDIAGM1 (location)BPM01X
SPARCDIAGGUNFLG (Subsystem)CAM01array
SPARCDIAGGUNFLG (Subsystem)MOT01POS
SPARCDIAGGUNFLG (Subsystem)ILLM01STATE
LELDIAGSCN01CAM01array
LELDIAGSCN01MOT01POS
LELDIAGSCN01ILLM01ON/OFF
LELDIAGM1-SCN02 (Location & Subsystem)CAM01,,,
SPARCTIMMRF01 (Subsystem)EVG01...
SPARCTIMMRF01 (Subsystem)EVR01..
SPARCRFKLY01 (Subsystem)KLYLOOP_S1...


  • No labels