visions for epics in fermilab accelerator controls€¦ · visions for epics in fermilab...

9
Visions for EPICS in Fermilab Accelerator Controls Beau Harrison EPICS Development Town Hall 20 th February 2020

Upload: others

Post on 19-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 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