1 experimental physics and industrial control system epics epics an introduction an introduction

57
1 Experimental Physics and Experimental Physics and Industrial Control System Industrial Control System EPICS EPICS An Introduction An Introduction

Upload: marlene-neal

Post on 02-Jan-2016

254 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

11

Experimental Physics and Experimental Physics and Industrial Control SystemIndustrial Control System

EPICSEPICS An IntroductionAn Introduction

Page 2: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

22

What is EPICS?What is EPICS?

A distributed open architecture that supports a wide A distributed open architecture that supports a wide range of control system solutions from small test stands range of control system solutions from small test stands to very large integrated facilities.to very large integrated facilities.

It is It is ideallyideally suited to the ‘slow’ controls ( ~50 ms+) for suited to the ‘slow’ controls ( ~50 ms+) for large, distributed, heterogeneous control systems that large, distributed, heterogeneous control systems that require high reliability and resilience and also need to be require high reliability and resilience and also need to be maintained and enhanced during long operational maintained and enhanced during long operational lifetimes (20 years+).lifetimes (20 years+).

The The EPICS collaborationEPICS collaboration consists of the controls groups of consists of the controls groups of many research organizations that use and develop the many research organizations that use and develop the EPICS tool-kit.EPICS tool-kit.

Page 3: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

33

What is EPICS?What is EPICS?

EPICS is open-source software and its distribution, EPICS is open-source software and its distribution, development and support depends on ‘voluntary’ effort development and support depends on ‘voluntary’ effort or finance from collaboration members.or finance from collaboration members.

EPICS provides a set of tools that reduces software EPICS provides a set of tools that reduces software application and maintenance costs by providing:application and maintenance costs by providing:

Configuration tools in place of programmingConfiguration tools in place of programming

A large installed base of tested software A large installed base of tested software

A modular design that supports incremental A modular design that supports incremental

upgradesupgrades

Well defined interfaces for extensions at every Well defined interfaces for extensions at every

levellevel

Page 4: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

44

Origins of EPICSOrigins of EPICS

Los Alamos National Laboratory 1987-1989, software for Los Alamos National Laboratory 1987-1989, software for GTACS (Ground Test Accelerator Control System) required GTACS (Ground Test Accelerator Control System) required fully automated, distributed control (Bob Dalesio, Jeff Hill fully automated, distributed control (Bob Dalesio, Jeff Hill et al).et al).

Argonne National Lab became involved from 1988 Argonne National Lab became involved from 1988 onwards and formed a collaboration for co-development onwards and formed a collaboration for co-development of the control system for the new Advanced Photon of the control system for the new Advanced Photon Source (APS). Both labs began to develop the GTACS Source (APS). Both labs began to develop the GTACS ideas together.ideas together.

By 1991 the LANL/APS collaboration renamed the By 1991 the LANL/APS collaboration renamed the resulting system as EPICS.resulting system as EPICS.

Page 5: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

55

Origins of EPICSOrigins of EPICS

Further labs (LBL and CEBAF) joined the collaboration Further labs (LBL and CEBAF) joined the collaboration as well as the large Superconducting Super Collider as well as the large Superconducting Super Collider project (abandoned 1993).project (abandoned 1993).

Three commercial companies signed licences to adopt Three commercial companies signed licences to adopt and develop EPICS software (then at version 3.8). Tate and develop EPICS software (then at version 3.8). Tate Integrated Systems marketed it under the name TIS-Integrated Systems marketed it under the name TIS-4000 and Kinetic Systems as Intuit.4000 and Kinetic Systems as Intuit.

EPICS shares some of its origins with VsystemEPICS shares some of its origins with Vsystem®®, sold by , sold by Vista Control Systems Inc, founded by Peter Clout of Vista Control Systems Inc, founded by Peter Clout of LANL in 1989. LANL in 1989.

Page 6: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

66

The EPICS CollaborationThe EPICS Collaboration

Now over 100 independent projects in North & South Now over 100 independent projects in North & South America, Europe, Asia and AustralasiaAmerica, Europe, Asia and Australasia

Applications in high-energy physics, fusion energy, Applications in high-energy physics, fusion energy, particle physics, astronomy and industrial control. particle physics, astronomy and industrial control. Probably strongest in synchrotrons/beamlinesProbably strongest in synchrotrons/beamlines

Independent development, co-development and Independent development, co-development and incremental development of software is done by incremental development of software is done by collaboration memberscollaboration members

EPICS software is available for download from many EPICS software is available for download from many sites: usually the originator of the software maintains sites: usually the originator of the software maintains the source code repository.the source code repository.

Argonne National Laboratory (ANL) maintains EPICS Argonne National Laboratory (ANL) maintains EPICS basebase software & co-ordinates releases software & co-ordinates releases

Page 7: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

77

The EPICS CollaborationThe EPICS Collaboration

Problem reporting and resolution via e-mail Problem reporting and resolution via e-mail exploders (e.g. ‘tech-talk’ list)exploders (e.g. ‘tech-talk’ list)

Documentation available from download sitesDocumentation available from download sites Large collaboration meetings to report new work, Large collaboration meetings to report new work,

discuss and plan future directions, explore new discuss and plan future directions, explore new applications, and explore new requirements for applications, and explore new requirements for existing systemsexisting systems

Current consortium meeting pattern: Twice Current consortium meeting pattern: Twice yearly, locations usually alternate North yearly, locations usually alternate North America/Elsewhere.America/Elsewhere.Next: ICALEPCS 2013, San Francisco, Oct. 2013.Next: ICALEPCS 2013, San Francisco, Oct. 2013.

Smaller groups from multiple labs meet to Smaller groups from multiple labs meet to discuss design issues on significant discuss design issues on significant enhancements e.g. EPICS V4.enhancements e.g. EPICS V4.

Page 8: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

88

EPICS WorldwideEPICS Worldwide

Page 9: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

99

Berliner Elekronenspeicherring-

Gesellschaft furSynchrontronsrahlung

(BESSY)

Partial View of Collaboration MembersPartial View of Collaboration Members

Argonne NationalLaboratory

Los Alamos NationalLaboratory

Jefferson Laboratory

W. M. KeckObservatory

Stanford Linear Accelerator Center

KEK (Koh ehnerugiiKencuesho)

Commissariat a l’EnergieAtomique (SACLAY)

Deutches Elektronen-Synchrotron (DESY)

Lawrence Berkeley National

Laboratory

Paul Scherrer Institut - SLS

GeminiObservatory

Shanghai SynchrotronRadiation Facility

RIKEN

Oak Ridge NationalLaboratory (SNS)

Diamond LightSource

Fermilab D0Experiment

Budker Institute of NuclearPhysics

Page 10: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1010

EPICS is Suitable for a Large EPICS is Suitable for a Large Range of ApplicationsRange of Applications

PVs I/O Controllers

Advanced Photon Source 300K 170

KEK B 240K 94

CEBAF 180K 98

BESSY II 150K 110

Swiss Light Source 90K 160

D0 (FNL) 60K 124

PEP II RF and Longitudinal Control 19K 21

Low Energy Demonstrator Accelerator 15K 18

Compass 1K 1

Keck II 2K 2

Gemini Telescopes 35K 17

Next Linear Collider Test Accelerator 3K 2

Diamond 50K 180+

Japanese Hadron Facility ~50K ~100

PF-AR ~25K ~50

Spallation Neutron Source 150K 150

Page 11: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1111

EPICS Software DistributionEPICS Software Distribution

The EPICS software distribution is in two parts:The EPICS software distribution is in two parts:

1.1. EPICS EPICS BaseBase. This is the main core of EPICS, . This is the main core of EPICS, comprising the build system and tools, common comprising the build system and tools, common and OS-interface libraries. It is defined, tested and OS-interface libraries. It is defined, tested and released centrally (Argonne National Lab) and released centrally (Argonne National Lab) as a single unified package with a specific as a single unified package with a specific release number e.g. 3.14.12.3release number e.g. 3.14.12.3

Hardware specific software is separately Hardware specific software is separately distributed, supporting a wide range of devices distributed, supporting a wide range of devices on different I/O buses.on different I/O buses.

Page 12: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1212

EPICS Software DistributionEPICS Software Distribution

2.2. EPICS EPICS ExtensionsExtensions. . Is a large and more loosely Is a large and more loosely defined set of tools (mostly run on the host defined set of tools (mostly run on the host side) which provide configuration, GUIs, side) which provide configuration, GUIs, archiving, APIs etc. Each tool is developed and archiving, APIs etc. Each tool is developed and distributed by individual organisations. distributed by individual organisations.

Depending on local preferences and practice, Depending on local preferences and practice,

each EPICS site will have its own set of installed each EPICS site will have its own set of installed extensions.extensions.

No centrally organized distribution: there are No centrally organized distribution: there are diverse levels of support and compatibility.diverse levels of support and compatibility.

Page 13: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1313

EPICS Software LicensingEPICS Software Licensing

EPICS software is available under different open-EPICS software is available under different open-source licenses depending on the originator of the source licenses depending on the originator of the software. In general, it is available free of charge with software. In general, it is available free of charge with certain licensing conditions.certain licensing conditions.

As of February 2004As of February 2004 EPICS Base EPICS Base software software became available under the ‘EPICS Open License’ became available under the ‘EPICS Open License’ from Argonne/Los Alamos. It is ‘Open Source’ and from Argonne/Los Alamos. It is ‘Open Source’ and may be copied and distributed freelymay be copied and distributed freely

Almost all EPICS Host software (Extensions) is Almost all EPICS Host software (Extensions) is effectively ‘Open Source’effectively ‘Open Source’

Page 14: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1414

EPICSEPICSClientClient

Server Server

What is EPICS? A Distributed What is EPICS? A Distributed ArchitectureArchitecture

CACA

CA CA

CA = Channel Access

Page 15: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1515

What is EPICS? A Distributed What is EPICS? A Distributed ArchitectureArchitecture

EPICS is physically a flat architecture of front-end controllers EPICS is physically a flat architecture of front-end controllers and operator workstations that communicate via TCP/IP and and operator workstations that communicate via TCP/IP and UDP protocols:UDP protocols:

System scales simply through the addition of new System scales simply through the addition of new computers (IOCs)computers (IOCs)

Physical hierarchy may be introduced through Physical hierarchy may be introduced through bridges, routers, or gatewaysbridges, routers, or gateways

Network bandwidth is the primary limiting factorNetwork bandwidth is the primary limiting factor

EPICS software architecture is client/server based - with EPICS software architecture is client/server based - with independent data stores providing read/write access directly independent data stores providing read/write access directly between any two pointsbetween any two points

No central name servers: local name discovery allows No central name servers: local name discovery allows automaticautomatic integration of new components integration of new components

Page 16: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1616

What is EPICS?What is EPICS? Channel Access Channel Access clientsclients are are

programs that require access to programs that require access to Process VariablesProcess Variables to carry out to carry out their purposetheir purpose

The “service” that a Channel The “service” that a Channel Access Access serverserver provides is access provides is access to a to a Process Variable*Process Variable*

StripTool EDM

Process

Variables

Process

Variables

CAS CAS

CACCAC

* A Process Variable (PV) is a named item of data.

=

Page 17: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1717

How does it do it?How does it do it?

Power Supply

Beam Position Monitor

Vacuum Gauge

Computer Interface

Computer Interface

Computer Interface

Process Variables:

Channel Access Server

S1A:H1:CurrentAO

S1:P1:x

S1:P1:y

S1:G1:vacuum

Channel Access Client

Channel Access Client

Channel Access ClientChannel Access Client

Page 18: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1818

What is EPICS? The EPICS ToolkitWhat is EPICS? The EPICS Toolkit

The EPICS toolkit consists of a set of software components with which Application Developers can create a control system. The basic components are:

• OPI Operator Interface. A Linux/Windows–based workstation/PC which can run various EPICS tools: the "clients”.

• IOC Input Output Controller . A front-end controller, with various I/O modules for analog and digital signals etc, and for access to field buses such as Ethernet, GPIB or CANbus. Originally, this was a VME/VXI-based chassis, containing a Motorola 68K/PPC

processor Nowadays, an IOC can operate on almost any suitable platform.

• LAN TCP/IP-based Local Area Network. The communication networkwhich connects the IOCs and OPIs. EPICS provides a softwarecomponent, Channel Access, which provides network transparentcommunication between every client - such as GUIs - and an

arbitrary number of servers - usually IOCs.

Page 19: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

1919

EPICS Supports a Standard Control System EPICS Supports a Standard Control System

ArchitectureArchitecture

OPI (PC/Workstation)

Operating Systems: Linux, Mac OS X, Unix, Windows

I/O Controllers: VME,VXI PCI, WorkstationsOS: vxWorks, Unix, Linux, Windows, RTEMS, Mac OS X

Remote and Local I/O Buses: Ethernet, PCI, CANBus, Industry Pack, VME, VXI, PCI, ISA, CAMAC, GPIB, Profibus, Bitbus, Serial, Allen-Bradley, Modbus, Yokogawa, G-3, Ethernet/IP

Field I/O Field I/O Field I/O

Site LAN/WAN

Field I/O

Page 20: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2020

RT

EM

S

IOCIOC

IOC

IOC

With Release 3.14, the operating system With Release 3.14, the operating system limitations for iocCore were removed. limitations for iocCore were removed.

Commercial Instruments

Custom Hardware

Technical Equipment

EPICS Supports a Standard Control System EPICS Supports a Standard Control System ArchitectureArchitecture

Page 21: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2121

A typical EPICS Control SystemA typical EPICS Control System

Commercial Instruments

IOCIOC

CASChannel Access

IOC SoftwareEPICS Database

Sequence Programs

Custom ProgramsReal-time

Control

Client SoftwareEDM CSS/BOY

ALH StripToolTCL/Tk

Perl Scripts Many, many others

CA Server

Custom Hardware

Technical Equipment Process Variables

Page 22: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2222

EPICS AttributesEPICS Attributes

• Tool Based EPICS provides a number of tools both for creating and also for operating a control system. This minimizes the need for custom coding and helps ensure uniform operator interfaces.

• Distributed An arbitrary number of IOCs and OPIs can be supported. If a single IOC become

saturated, its functions may be spread over several IOCs.

• Event Driven Network loading and message latency are minimized by

allowing only changes to a datum to be sent by servers to clients.

Page 23: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2323

EPICS AttributesEPICS Attributes

• Customization Users may add new components to support their applications; they are configured using ascii tables/XML files.

• Scalable Systems from a few to > 300,000 “Process Variables" supported.

• Modular Distinct interfaces at several layers allow good decoupling between

clients and servers, across versions, and mixed hardware.

• Portable Runs on Linux, Mac and Windows PCs

Page 24: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2424

EPICS IOC DatabaseEPICS IOC Database

The EPICS function-block database is the heart of the control system. It is:

• Application-specific.• Memory-resident.• What defines the control application; most other application are

adjuncts to it.• Modular: built by creating and linking many function blocks ("records"),

selected from a user -expandable library.• Deterministic: it runs in real-time either synchronously or

asynchronously; either periodically or event-driven.• Provided with fine-grained access control based on user, location, and

dynamic parameters (Channel Access security).• Able to simulate missing hardware.

Page 25: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2525

EPICS Database ExampleEPICS Database Example

Ai

calc

B

A

Data Flow

Process Flow

double.CALC = A*B

double

input

hardware VALVAL

FLNK

FLNK

PROC

2

Records in a database may be linked for purposes of data and processing flow

constant

Page 26: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2626

IOC Internals OverviewIOC Internals Overview

Database Access(EPICS Core)

VME Bus

LAN Channel Access

IOC Operating System (e.g. vxWorks)

Record Support

Device/ASYN/Driver Support

Page 27: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2727

EPICS Record TypesEPICS Record Types

The following 29 standard record types were distributed in EPICS Base 3.14.12.

I/O Signal Processing Data Storage Control

Ai Calc Stringin DfanoutAo Calcout Stringout FanoutBi Sub Waveform EventBo aSub Compress SelectMbbi Histogram PermissiveMbbiDirect SubArray SequenceMbbo StateMbboDirect AaiLongin AaoLongout

Page 28: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2828

EPICS Record SupportEPICS Record Support

• Has templates of the processing to be performed by each record instance.• Processing dependent upon record type. • For I/O records, Record support calls Device support.• Record support does not know any details of Device support, only how to invoke it.

Generally, Record support will perform some combination of the following:

• I/O If record is an I/O type, Read or Write to hardware via Device Support.

• Conversion Conversion of raw data to user defined units ( with smoothing, scaling, masking, shifting).

• Alarms Check for and raise alarms (high, low).

• Monitor Post monitors on data values (which causes callbacks).

• Link Cause processing of related records, possibly by "pulling" or "pushing" data.

Page 29: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

2929

Record FieldsRecord Fields

A record's attributes are defined by its fields. A field name is abbreviated to no more than four upper case letters. A fully qualified Process variable (PV) is written: <record name>.<field name>

All record types incorporate a core set of fields which are needed for basic record processing, such as:• PROC Writing to this field causes record processing. • SCAN The record's method of scanning.• VAL The record's value.• FLNK The record's processing linkage to other records.

Input records (e.g. Analogue Input) always have:• DTYP The I/O Device Type.• INP The hardware address.

* If no field is given in a PV name, the .VAL field is defaulted.

Page 30: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3030

Record Processing (Scanning)Record Processing (Scanning)

When an EPICS record is processed it is said to be scanned.Records are scanned in one of three ways:

1. Periodic Scan At a certain periodicity, e.g. 1 second, 0.1 second, etc.

2. Event Scan Processed when a software or hardware event is triggered.

3. Passive Scan Executed because a related record was scanned and linked to this record, or a

field was updated via a dbPut/caPut.

Within the IOC, records and their support code are processed by a scan task (or thread). There is a separate task for each scan period and scan type.

Page 31: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3131

Channel AccessChannel Access

Channel Access is the "backbone" of EPICS. It provides connections between the internal IOC database and external systems.

Channel Access is based on a Client/Server model. Each IOC runs its own local Channel Access Server task(s).

Channel Access runs over the network using TCP/IP for data transport and UDP/IP for connection management. In addition to getting or setting the "value“ of a channel, other macro data such as a timestamp, a status and a severity can also be returned.

Channel Access was not defined via a formal protocol specification but by its implementation (Jeff Hill, LANL).

Page 32: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3232

Channel AccessChannel Access

Operations that a Channel Access Client can perform include:

• Search the network for a particular Channel and connect to it. (A “Channel” requires a network link to a Channel Access server which serves the data in a record field (PV)). • Write to that Channel.• Read from that Channel.• Subscribe to callbacks from that Channel.• Disconnect from that Channel.

Page 33: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3333

Channel Access in One Slide

CA Server

CA Client

Process Variables:

Channel Access Server

S1A:H1:CurrentAO

S1:P1:x

S1:P1:y

S1:G1:vacuum

Channel Access Client

Who has a PV named “S1A:H1:CurrentAO”?

I do.

What is its value?

25.5 AMPS

Change its value to 30.5

“connection request” or “search request”

OK, it is now

30.5

30.5 is too high. It is now set to the maximum value of 27.5.

You are not authorized to

change this value

Notify me when the

value changes

It is now 20.5 AMPS

It is now 10.5 AMPS

It is now -0.0023 AMPS

“put” or

“caPut”

“get” or

“caGet”

“set a monitor”

“post an event”

or

“post a monitor”

“put complete”

or

or

Page 34: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3434

SequencerSequencer

• An EPICS facility which can be run in an IOC.

• Provides a Finite-State Machine paradigm for control of the database(s).

• Source code is written in State Notation Language (SNL) which is compiled into C code using the EPICS

State Notation Compiler (SNC).

• State transitions are triggered by: elapsed time, channel value change or software event. SNL allows easy

translation from State Diagrams to source code.

Page 35: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3535

SequencerSequencer

An example program fragment:

State A { when (situation X occurs){

handle situation X; } State B; when (situation Y occurs){

handle situation Y; } State C;

}...

Page 36: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3636

Some Operator Interface ToolsSome Operator Interface Tools

These are all host-based standalone utilities using Channel Access to configure or monitor the system. They are configured using interactive tools or files.

EDM Extensible Display Manager GUI for control/monitoring (Diamond)

MEDM Motif-based Display Manager (APS)

EPICS Qt EPICS CA widgets for Qt GUI framework

CSS/BOY Control System Studio (see next slide)

EDD/DM Original X11-based Display Manager

ALH Alarm Handler: graphical display of alarm tree

Channel Archiver Archives and displays data

StripTool Plots data as a strip-chart

Page 37: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3737

Control System Studio (CSS)Control System Studio (CSS) Control System StudioControl System Studio (CSS). A major new development (CSS). A major new development

being developed and used at DESY, SNS (and elsewhere) being developed and used at DESY, SNS (and elsewhere) that aims to provide a comprehensive control system that aims to provide a comprehensive control system application framework.application framework.

Based on Java/Eclipse IDE with Rich Client Platform (RCP) Based on Java/Eclipse IDE with Rich Client Platform (RCP) components.components.

Emphasis on interoperability, portability and standards with Emphasis on interoperability, portability and standards with a unified look-and-feela unified look-and-feel

New Channel Access clients are being produced with CSS New Channel Access clients are being produced with CSS includingincluding• BOY – Best OPI YetBOY – Best OPI Yet• BEAUTY - Best Ever Archive ToolsetBEAUTY - Best Ever Archive Toolset• BEAST – Best Ever Alarm System ToolsetBEAST – Best Ever Alarm System Toolset

Page 38: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3838

Example Screens: EDMExample Screens: EDM

Page 39: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

3939

Example Screens: MEDMExample Screens: MEDM

Page 40: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4040

Example Screens: CSS/BOY 1Example Screens: CSS/BOY 1

Page 41: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4141

Example Screens: CSS/BOY 2Example Screens: CSS/BOY 2

Page 42: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4242

Example Screens: ALHExample Screens: ALH

Page 43: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4343

Example Screens: StripToolExample Screens: StripTool

Page 44: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4444

Configuration ToolsConfiguration ToolsThese are all host-based standalone utilities used to define and create the EPICS database definition

DCT The original, forms based, Database Configuration Tool

GDCT DCT with an updated graphical interface

Capfast A proprietary (Phase 3 Inc.) electronics layout tool used to generate EPICS databases via hierarchical schematics

VDCT Visual DCT. Java-based visual design tool

TDCT Triumf Database Configuration Tool. Java-based, Capfast compatible

The EPICS database definition file (.db file) has a straightforward text format and so can be generated or modified via other means including report generators, scripts, text editors and database tools.

Page 45: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4545

Configuration Tools:Configuration Tools: GDCT GDCT

Page 46: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4646

Capfast & TDCTCapfast & TDCT

Page 47: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4747

Templates

Record

Configuration Tools:Configuration Tools: Visual DCT Visual DCT

Page 48: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4848

EPICS and RDBMSEPICS and RDBMS

For large-scale systems, management of the EPICS configuration can be handled using a RDBMS.

Several labs have now made use of Oracle or Sybase for this purpose.

An example is shown in the diagram, taken from SLAC, which shows their use of Oracle to generate an operational IOC database from template files (DBT) and generator files (DBG).

Page 49: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

4949

Channel Access InterfacesChannel Access Interfaces

General-purpose programming languages as well as commercial and public-domain packages have been enabled with a Channel Access capability, including:

C Standard Programming Languages Java Programming Language Perl Scripting Language Python Scripting Language LabVIEW Virtual Instrument Builder Matlab Numerical Computing Unix Shells Scripting languages Mathematica Mathematics/Modelling Tcl/Tk Interpreter with GUI Active-X Windows Active-X IDL/PV-Wave Presentation Graphics

Page 50: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5050

EPICS UtilitiesEPICS Utilities

In IOC:

db... Database Utilities (get, put, dump, trace, etc .)dbcar Database Channel Access reportcasr Channel Access Server Reportdbior Driver Reportsas.. Access Security Reportsseq... Sequencer Reports

On OPI:

probe Single Channel GUI Diagnostic

caget, caput Channel Access utilities

camonitor

Page 51: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5151

The Future - EPICS V4The Future - EPICS V4

EPICS “Version 4” is now under development (initiated at EPICS “Version 4” is now under development (initiated at BNL for NSLS-II). Now at “Beta 2.0” as of January 2013.BNL for NSLS-II). Now at “Beta 2.0” as of January 2013.

Support for:Support for:• ““Structured” data in EPICS records, not just simple type or arrayStructured” data in EPICS records, not just simple type or array• ““Remote Procedure Call” like processing pattern. Supports passing Remote Procedure Call” like processing pattern. Supports passing

arguments within the context of asynchronous record processing. arguments within the context of asynchronous record processing. • V4 includes support for protocol interoperability with V3V4 includes support for protocol interoperability with V3 (This is the CAV3 module, which can be used on the server or client (This is the CAV3 module, which can be used on the server or client

side)side)• In short EPICS V4 includes EPICS V3In short EPICS V4 includes EPICS V3

Page 52: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5252

The Future - EPICS V4The Future - EPICS V4

Current modules:Current modules:• pvData - The description of how memory resident data is pvData - The description of how memory resident data is described and defined. A complete implementation isdescribed and defined. A complete implementation is available for both Java and for C++.available for both Java and for C++.• pvAccess - The description of network support for pvData. A pvAccess - The description of network support for pvData. A complete implementation is available for both Java andcomplete implementation is available for both Java and for C++. Successor to Channel Access.for C++. Successor to Channel Access.

• pvIOC – The description of an IOC (Input Output pvIOC – The description of an IOC (Input Output Controller) that supports pvData. The Java versionController) that supports pvData. The Java version (javaIOC) has lots of functionality. The C++(javaIOC) has lots of functionality. The C++ version is in the early stages of development.version is in the early stages of development.• pvService - The description of a set of services based on pvService - The description of a set of services based on pvData/pvAccess/pcIOC. Both the Java and C++pvData/pvAccess/pcIOC. Both the Java and C++ versions are in early stages of development.versions are in early stages of development. (Provides RPC service, amongst others).(Provides RPC service, amongst others).

Page 53: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5353

The Future - EPICS V4The Future - EPICS V4

In an EPICS installation, it is expected that control and In an EPICS installation, it is expected that control and hardware support would still be done with EPICS V3 IOCs, hardware support would still be done with EPICS V3 IOCs, while middle layer and service operations would be done while middle layer and service operations would be done with EPICS V4.with EPICS V4.

See See http://epics-pvdata.sourceforge.net/index.htmlhttp://epics-pvdata.sourceforge.net/index.html

Page 54: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5454

The Future - EPICS V4The Future - EPICS V4

Page 55: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5555

Ten good things about EPICSTen good things about EPICS

1.1. It’s freeIt’s free

2.2. It’s Open SourceIt’s Open Source

3.3. There are lots of users running large, well-tested systemsThere are lots of users running large, well-tested systems

4.4. All a client needs to know to access data is a PV nameAll a client needs to know to access data is a PV name

5.5. You can pick the best tools out there …You can pick the best tools out there …

6.6. … … or build your ownor build your own

7.7. The boring stuff is already doneThe boring stuff is already done

8.8. There’s lots of free advice available via email/webThere’s lots of free advice available via email/web

9.9. A good contribution becomes internationally knownA good contribution becomes internationally known

10.10. By following a few simple rules, you get a lot for freeBy following a few simple rules, you get a lot for free

Page 56: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5656

1990 1995 2000 2010

LANL develops Ground Test Accelerator

Control System (GTACS)

SLS

CLS

BESSY

SLAC

IPNS IPNS DAQ

ANL APS & LANL begin

collaboration on EPICS

FNAL D0

Keck

GeminiSNS

> 150 Licensees

2003

KEK

Still the “Control

System of Choice”

Growth of EPICS 1990-2012Growth of EPICS 1990-2012

Oct 2007 Meeting

> 130 Attendees

> 30 Institutions

> 75 Presentations

Australian Synchrotron

LCLS

SSRF

DESY

LBL

CEBAF

NSLS-II

ITER

ASKAP

DIAMOND

Page 57: 1 Experimental Physics and Industrial Control System EPICS EPICS An Introduction An Introduction

5757

EPICS Base Code StatisticsEPICS Base Code Statistics

The code distributed in the

EPICS system has been

estimated (2004) to have an equivalent

commercial cost of $US 22.5M

Continue… ‘Supported Platforms’