Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Visions for EPICS in Fermilab Accelerator ControlsBeau HarrisonEPICS Development Town Hall20th February 2020
• Data Acquisition to Input/Output Controllers– IOCs– PVAccess
• Client Application Data Acquisition– Data Request Format– Client Libraries
• Data Pool Manager– Request Pooling– Request Routing
• Differences in Deploying an IOC Device• Known Outstanding Questions• Ideas
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls2
Summary
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls3
Architecture
• DPM functions as a message broker• Extending DPM allows controls to be
agnostic of I/O and client protocols– Current support for ACNET and
PVAccess to I/O– DRF for client API
• Data acquisition is client-driven
• IOCs– Desired form for new hardware interfaces– Generalized and scalable deployment is to
be determined– Hardware options are at R&D phase
• µTCA/ATCA Linux• VME Linux• SBC ARM Linux (Raspberry Pi,
BeagleBoard)– Investigating support for client-based
request rates including event trigger data request
– PVAccess/PVData• Dynamic data structures, property sub-
selection, and user field
Data Acquisition to Input/Output Controllers
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls4
• ACNET– Operational systems have a long timeline
for obsoletion– Project success and deadlines are most
important
• Data Request Format (DRF)– https://www-bd.fnal.gov/controls/public/drf2/– Abstracted string format
• Z:EXAMPLE.SETTING[12:15].COMMON@E,00
– DRF3 in the works• https://cdcvs.fnal.gov/redmine/projects/drf/wiki/DRF3_RFC
• Must allow valid PV requests• DPM Client Libraries– Python, JavaScript, Erlang, C++, Java
Client Application Data Acquisition
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls5
• Request Strategy– Protocol compiler messages– ACNET
• Considering direct TCP connections• Client Features– Device lists
• Allows start/stop of groups of device requests
– Data sources• Live – default• FTP – streaming data*• LOGGER – historical data• SRFILE – save/restore data• REDIR – redirect to alternative FE*Legacy, should be invisible to users
https://www-bd.fnal.gov/controls/public/drf2/https://cdcvs.fnal.gov/redmine/projects/drf/wiki/DRF3_RFC
• DRF Parsing– Allows abstract data requests without knowing the protocol
• Request Pooling– Duplicate requests will not create a new connection the hardware
• Request Routing– Device database lookup of node, protocol, and device map
• Allows for any control system protocols• Centralize Critical Systems– Settings logging– Access control
Data Pool Manager
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls6
1. Summary page D801. Set protocol field to EPICS
2. For each property1. Add the corresponding PV to the foreign device map field
DPM does the rest. All applications using DPM for DAQ can access these devices.
Pierrick’s ACNET wrapper presents the DPM with a structure like the device database from an IOC.
Differences in Deploying an IOC Device
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls7
• Settings– Central authentication authority– Standard interface for all client libraries
• Timestamp Resolution– Need a specification– Error measurement
• IOC Deployment– Generalizable and consistent solution
• Fermisms for IOCs– Client-driven periodic requests– Client-driven event requests
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls8
Known Outstanding Questions
• IOC Integration with Central Systems– Alarms– Device database
• Multicast vs broadcast vs unicast• Channel finder
• Non-X11 Applications– Consistency is the goal
• GraphQL– Unified standard interface for DAQ
• Web Applications– Familiar interface– Trivial deployment– Universally accessible
• Data Logging– Archiver appliance– Off-site storage– dCache
2/20/20 Beau Harrison | Visions for EPICS in Fermilab Accelerator Controls9
Ideas
• Notifications– Alarms– Flexible subscriptions– Kafka
• IOC Deployment– Docker containers
• On-site Central Package Repository– Docker Hub– PyPI– NPM– Maven