ACNET The Undiscovered Control System Brian Hendricks September
ACNET: The Undiscovered Control System Brian Hendricks September 28, 2018
ACNET: What Is It? · Stands for Accelerator Control NETwork · Network protocol Ø Ø Ø Connectionless UDP -> port 6801 Implemented as a daemon on each node Header contains source and destination node and process info Supports multiple reply requests · Also the name for the whole control system Ø Global control system for the entire accelerator complex ACNET Workshop 9/28/18 B. Hendricks 2
Basic ACNET Protocols · Gets 32 (readings) Ø Can specify length and offset of reading Ø Permits retrieval by data event string § Periodic, clock event, state event Ø Returns a status code Ø Returns timestamp of data acquisition · Sets 32 (settings) Ø Can specify length and offset of reading · FTP (Fast Time Plot) Ø Continuous readings at up to 1440 Hz · Snapshot Ø Returns a single block of 2 K points Ø Frequency up to many MHz depending on hardware · Message broker (Rabbit. MQ) Ø Data acquisition ACNET Workshop 9/28/18 B. Hendricks 3
ACNET Devices · · · Basic addressing of control system access points Information stored in central database 14 character device name 64 character alternate device name Device index (integer database key) Properties address a single access point Ø Ø Ø Reading Setting Reading of setting Digital status Digital control Analog and digital alarm blocks · Aggregates (families and siblings) · 163 K devices and 293 K properties ACNET Workshop 9/28/18 B. Hendricks 4
ACNET Overall Structure · Three tiers Ø Front ends § Interface to hardware Ø Central services § Database § Data servers § Data loggers Ø User interface § Console applications (C++) § Java applications § Web apps ACNET Workshop 9/28/18 B. Hendricks 5
Control System Overview Application Central Console Applications Java Applications Web Applications Central Services DPMs/DAEs Servlets Database IRM Front Ends OACs and Linux FEs ethernet Front End MOOC Front Ends Labview Front Ends field bus: VME, SLD, Hotlink, ethernet, … Field Hardware ACNET Workshop 9/28/18 CAMAC, VME, PMC, IP, HRM, CIA, GPIB, … B. Hendricks 6
Front Ends · · · Implement basic data acquisition protocols Interface to hardware Interface to other protocols/control systems Hide complexity from the rest of the control system Respond to clock events and state events Ø Via hardware or multicast · · · Some are strongly coupled to the 15 Hz rep rate of the injector Many are VME CPUs running Vx. Works (C/C++) (~430) Open Access Clients (OACs) (Java) (~100) Linux-based nodes (erlang) (~115) VME CPUs running p. SOS (~120) Labview front ends (Windows and OS X) (~20) Ø Interface to instrumentation ACNET Workshop 9/28/18 B. Hendricks 7
Central Services · Database Ø Ø Device database Application database Save/restore database Presently porting from Sybase to Postgres · DPMs and Data Acquisition Engines (DAEs) Ø Provides access to device readings Ø Consolidates identical requests across clients · Alarms Ø Processes and broadcasts alarm messages to clients · Data loggers Ø Distributed archival of device readings, settings, status · Save/restore Ø Configurable snapshots of device readings ACNET Workshop 9/28/18 B. Hendricks 8
User Interface · Two main code bases (C++ and Java) · Applications launched by index pages Ø Menu of applications · Console application environment (C++) Ø Ø Ø >200 console instances ~70 programmers (mostly operators, engineers, and physicists) ~500 applications Rich library support (>2500 entry points in primary library) Old but functional user interface Important applications § § Parameter page – simple, configurable device display/control Sequencer – execute complex machine operations Fast time plot – plot real time values at up to 1440 Hz Device database interface – read/modify device database ACNET Workshop 9/28/18 B. Hendricks 9
Index Page (Console) ACNET Workshop 9/28/18 B. Hendricks 10
Parameter Page (Console) ACNET Workshop 9/28/18 B. Hendricks 11
Sequencer (Console) · Automaticaly sequence machine operations and studies · Relies on ACL scripting language ACNET Workshop 9/28/18 B. Hendricks 12
Fast Time Plot ACNET Workshop 9/28/18 B. Hendricks 13
User Interface (contd) · Java application environment Ø ~20 programmers Ø 280 applications Ø Important applications § Synoptic – graphic display/control § Real time plotter § Autotune – beam line tuner · Web apps Ø Important applications § Data logger plotter ACNET Workshop 9/28/18 B. Hendricks 14
Application Index (Java) Web Browser Standalone Application ACNET Workshop 9/28/18 B. Hendricks 15
Synoptic Display (Web) ACNET Workshop 9/28/18 B. Hendricks 16
Real Time Plotter (Java) ACNET Workshop 9/28/18 B. Hendricks 17
Autotune (Mini. Boo. NE) ACNET Workshop 9/28/18 B. Hendricks 18
Alarms · Data types Ø Analog Ø Digital · Post types Ø Exception – normal device alarm (good/bad) Ø Event – one time posting with timeout (message) · Acknowledgeable alarms Ø Require user acknowledgement · States Ø Enabled Ø Disabled Ø Snoozed – bypassed for a specified period of time · Alarm groups · Alarm logging ACNET Workshop 9/28/18 B. Hendricks 19
Data Logging · · · Distributed circular logging system (>100 loggers) Can log data on any data event string Some loggers support client (pushed) values Supports simple array devices User managed logging lists (leads to duplication) Special loggers Ø Ø Backup logger – updated once a day for persistent data Clock event occurrences Settings Client pushed values ACNET Workshop 9/28/18 B. Hendricks 20
Data Servers · Types Ø Data Pool Managers (DPMs) § Serves console and web apps Ø Data Acquisition Engines (DAEs) § Serves Java and web apps · Make appropriate requests to front ends Ø Gets 32 Ø Sets 32 · Consolidate requests from multiple clients · Distributed servers ACNET Workshop 9/28/18 B. Hendricks 21
Save/Compare/Restore · Takes a snapshot of device values · Save set types Ø Big save – all operational devices 4 times per day Ø User save – requested devices on user demand Ø Crate save – auto configured crate save for card replacement · Used to display/compare/restore historic values · Data can be used with device reading redirection ACNET Workshop 9/28/18 B. Hendricks 22
Other Services · Detached snapshot manager Ø Manages constantly running snapshots for post mortem analysis · Front end downloader Ø Restores most recent device setting on front end reboot · Last setting archiver Ø Saves setting values for front end downloader · Clock peeker Ø Makes multicast clock events available to applications · Servlets Ø Support web apps ACNET Workshop 9/28/18 B. Hendricks 23
Messaging Systems · Clock event Ø Ø 8 bit event values Resolution of 1. 2 microseconds Transmitted by hardware link and 15 Hz multicast Programmed generation by Time Line Generator (TLG) · Beam sync clock event Ø 8 bit event values Ø Synced to the low level RF for the corresponding machine · Machine DATa (MDAT) Ø Important machine readings Ø Transmitted by hardware link at 720 Hz Ø 16 bit values · State events Ø Multicast 16 bit values ACNET Workshop 9/28/18 B. Hendricks 24
ACL (Accelerator Command Language) · Scripting language for accessing the control system · Allows nonprogrammers to perform complex machine operations · >200 commands (flow control and mini programs) · >800 intrinsic functions · Provides a command line interface · Can be embedded in other programs Ø Sequencer Ø Parameter page Ø Synoptic · ACL Launch Service · i. OS app ACNET Workshop 9/28/18 B. Hendricks 25
Other ACNET Features · Setting security Ø Use device setting classes to determine setting privilege Ø All settings are logged · Error logging · Monitor messages Ø Can be triggered periodically Ø Can be triggered on any data event string Ø Can be triggered on alarm · Code build and capture system (MECCA) · Data acquisition redirection Ø Can be used to view device status at some point in time Ø Can be used to safely test software · Protocol compiler Ø Language independent messaging ACNET Workshop 9/28/18 B. Hendricks 26
In Conclusion · · ACNET is a fully featured control system Was built to support the Tevatron Now supports the neutrino physics program Has evolved over time due to changing technologies and needs · Can continue to evolve to support the PIP-II era and beyond ACNET Workshop 9/28/18 B. Hendricks 27
- Slides: 27