Experimental Physics and Industrial Control System (EPICS) : Bob Dalesio Lanl
Experimental Physics and Industrial Control System (EPICS) : Bob Dalesio Lanl
Outline
Introduction: What is EPICS The Collaboration Software / Hardware Architecture The Client/Server Model over the Channel Access Protocol A Look at the Principal Data Store - Process Database A Look at Some Channel Access Clients Display Managers (EDD/DM and MEDM) Alarm Handler State Notation Language Conclusions
EPICS
EPICS
A collaboration of the controls groups of many research organizations that use the EPICS tool-kit. A distributed architecture that supports a wide range of solutions from small test stands to large integrated facilities. A set of tools that reduces software application and maintenance costs by providing: Configuration tools in place of programming A large installed base of tested software A modular design that supports incremental upgrades Well defined interfaces for extensions at every level
EPICS
Over 100 independent projects in North America, Europe and Asia Applications in particle physics, astronomy, and industrial control Distribute software over the network Independent development, co-development and incremental development of code done by members Problem reporting and resolution via e-mail exploders Documentation available on WWW sites Large collaboration meetings to report new work, discuss future directions, explore new applications, and explore new requirements for existing codes Small design groups from multiple labs meet to discuss design issues on significant codes: Channel Access, CDEV, Archiving and MMI
EPICS
The Advanced Photon Source and Beamlines @ ANL The Thomas Jefferson National Accelerator Facility @ Newport News, Va. Proton Storage Ring @ LANSCE Injection Linac for KEKB Factory @ KEK Advanced Free Electron Laser @ LANL Duke Free Electron Laser and Mark III Laser @ Duke University Heavy Ion Fusion Test Stand @ LBL Intense Pulsed Neutron Source @ ANL HERA Cryogenic Plant and Tesla Test Facility @ DESY RF and Beamline Control for the B-Factory @ SLAC Bates Linear Accelerator @ Bates MIT Racetrack Microtron @ University of Athens BESSY II @ BESSY
EPICS
EPICS
EPICS
EPICS
Distributed Architecture
EPICS
EPICS is physically a flat architecture of front-end controllers and operator workstations that communicate via TCP/IP and UDP System scales through the addition of new computers Physical hierarchy is made through bridges, routers, or a gateway Network bandwidth is the primary limiting factor EPICS software architecture is client/server based - with independent data stores providing read/write access directly between any two points Local name services mean automatic integration of new components Point-to-point communication supports automation
10
EPICS
I/O Controllers:
VME, VXI, PCI, ISA
Field I/O
Field I/O
Field I/O
Field I/O
11
EPICS
Field I/O
Field I/O
Field I/O
Field I/O
12
EPICS
vxWorks, UNIX WindowsNT, VMS Linux vxWorks WindowsNT Solaris Linux RTEMS
VMS
ca-client
SLC Database
ca-server
vxWorks only
13
EPICS
EPICS tools are connected via the Channel Access client/server libraries Server Interfaces: Process Database Gateway (CA-Client - GDD Library - Portable server on Solaris) Client Interfaces Process Database Links Sequencer (programmed with State Notation Language) Data Visualization Packages Data Analysis Packages Modeling and Automation Packages
14
EPICS
Client: Provides read/write connections to any subsystem on the network with a channel access server Server: Provides read/write connections to information in this node to any client on the network through channel access client calls Services: Dynamic Channel Location, Get, Put, Monitor Access Control, Connection Monitoring, Automatic Reconnect Conversion to client types, Composite Data Structures Platforms: UNIX, vxWorks, VMS, Windows NT
1999/Ph 514: EPICS Overview 15
EPICS
Channel Access
Operator Interface Channel Access Client Sequencer Channel Access Client Database Links Channel Access Client
TCP/IP & UDP LAN/WAN Performance: 68040 over 10 Mbit Ethernet Channel Access Server Gets EPICS Process Database Propagation Delay 2 mS Throughput 7.8K /sec Puts Propagation Delay 1 mS Throughput 17K /sec Monitors Propagation Delay Dependent Throughput 10K / sec (Typically 10% channels have monitors) (memory use in IOC - 2 Meg / 60 connections) (30% network load for 10K monitors / second) Increase bandwidth with Routers, Bridges, Higher speed networks and EPICS gateway
1999/Ph 514: EPICS Overview 16
EPICS
ca-client
ca-server
A Channel Access server provides connection, get, put, and monitor services to this database A Channel Access client provides access to process DBs in other IOCs
Record types are the basic elements: AI, AO, BI, BO, Motor, CALC, PID, SUB etc. Records consist of fields for: SCHEDULE, I/O, CONVERT, ALARM, MONITOR Fields hold runtime values: VALUE, TIMESTAMP, ALARM CONDITION, etc. New record types are easily added Configured using CAPFAST, GDCT, VDCT, Relational DB, Text Editor at the workstation Loaded as ASCII records into vxWorks (or virtual IOC) at boot time Most fields can be read/written through the channel access client interface during operation
1999/Ph 514: EPICS Overview 17
EPICS
ca-client
ca-server
EPICS
Alarm Handler: ALH State Programming: SNL Other Clients: PV-Wave, Mathmatica, Matlab, Probe, Orbit Lock,
Correlation Plots, Striptool, X-Orbit, SAD, CNLS-net SDDS, ARTEMIS, Archivers, Save/Restore
1999/Ph 514: EPICS Overview 19
EPICS
The Channel Access Client provides name resolution, monitors and puts to any data stores with a CA server
EDD is an interactive display editor for creating operator screens DM is a display manager to activate screens created using EDD Connections are made to channels - typically record-name<.field-name> EDM is the new SNS-supported display manager ASCII display formats can be read/written for version upgrades/text editing
20
EPICS
The Channel Access Client provides name resolution, monitors and puts to any data stores with a CA server
Static objects include: text, line, box, oval Monitor objects include: text, bars, meters, indicators Control objects include: text, slider, menu, buttons Plot objects include: strip chart, Cartesian plots, smith charts Related display call-up includes parameter passing Color Rules are available for all objects independent of dynamic channel Visibility modifiers are available for static objects DM does 2,000 updates per second on a SPARC IPC 2 second display call-up for 100 dynamic and 1000 static elements
1999/Ph 514: EPICS Overview 21
EPICS
The Channel Access Client provides name resolution, monitors alarm changes, writes group alarm status
Alarms are detected in the data stores - most commonly the process database Alarms are configured into an alarm hierarchy Logging, annunciation, acknowledgment and collection is configured for each group All lower levels of the hierarchy inherit the disable status from above Operator logging tracks alarm disable, alarm acknowledge and silence commands 500 Alarm condition changes per second can be handled on a SPARC IPC
22
EPICS
The Channel Access Client provides name resolution, monitors and writes to state programs
SNL is preprocessed to be converted to C code Constructs are provided for easy channel access interface Construct are provided to define state programs, state sets and transitions SNL implements the Mealy Model - actions are only taken on transition SNL runs in all environments Events are supported for synchronizing state sets within a state program SNL does not have a server The process database is used for variables to be exported
1999/Ph 514: EPICS Overview 23
New Developments
EPICS
New developments take advantage of changes in technology and improve functionality, ease of use, and performance while reducing cost Support large user facilities with real-time data to hundreds of workstations through the development of a gateway (ANL/LANL) Provide the ability to add/delete records in the process database during operation to support continuous operations (KEK/LANL/ANL) Support a single computer solution for small experiments and small portions of larger installations (DESY/LANL) Provide native windows NT capabilities to lower cost and provide data to every desktop (LANL) Create a modern JAVA based MMI attempting to maintain the performance while increasing the functionality and ease of use (LANL L-12) Provide a distributed archiving/archive retrieval capability to better support analysis and operations (TJNAF/LANL/DESY)
24
EPICS
The fundamental performance and functionality is scaleable and easily configured Clean interfaces for clients, new record types, data stores and hardware promote independent development, support ease of reintegration, and protect against obsolescence Cooperative collaboration gives members laboratories a larger pool of talent to support their controls Continual improvements allow members to expand functionality, performance, reliability and function while taking advantage of latest technology
25