Title: ACNET%20vs%20EPICS%20at%20Fermilab
1ACNET vs EPICS at Fermilab
- Accelerator Physics and Technology Seminar
- Sharon Lackey
- 3/14/2006
2Special Thanks to
- Ned Arnold APS
- Fritz Bartlett D0
- Dennis Nicklaus AD/Controls
- Jim Patrick AD/Controls
- Charlie Briegel AD/Controls
- Brian Hendricks AD/Controls
3EPICS
- What is EPICS
- What EPICS is not
- Who uses EPICS
- Comparison of EPICS and ACNET
- Other Solutions
- The Future
4EPICS is
- Experimental Physics and Industrial Control
System - A toolkit that Allows a Controls System to be
built with configuration rather than programming - A set of tools with well defined interfaces
- Written and Maintained by a Collaboration of
Controls groups - Client/Server based
- Distributed, Two Tiered Architecture
- Allows Communication between any two points
- Limited primarily by Network Bandwidth
- Written in C and C
5What is EPICS?
My Special Data Collection Program
- Any tool/program/application that abides by the
Channel Access protocol could be described as
EPICS Compliant.
StripTool
MEDM
CAC
CAC
CAC
- EPICS can be viewed as a toolkit of EPICS
compliant programs. One can select the
appropriate tool for their need or develop their
own.
My Accelerator Simulator Code (PVs)
CAS
iocCore (PVs)
LabView (PVs)
CAS
CAC
CAS
CAC
6CA Clients may run on Unix, Windows, VxWorks or
VMS
Ethernet TCP/IP UDP
Servers running under VxWorks, RjTEMS, Solaris,
Linux, Windows,
VME,VXI, PCI, ISA, or embedded processors
7EPICS IS
- EPICS Core
- Channel Access Client and Server
- Process Database
- Scanners
- Monitors
- Database Configuration Tools
- Build Tools
- Source/Release
- EPICS Extensions
- GUI Builders
- EDD/DM (LNAL)
- MEDM (ANL)
- EDM (ORNL)
- DM2K (BESSY)
- JoiMint (DESY)
- Alarm Handler
- Channel Archiver
- Sequencer (State Machine)
- BURT (Back up and Restore Tool)
- Gateway
- APIs
- Python
- LabVIEW
- TCL/TK
- Data Display Tools
- ADT (Array Display Tool)
- StripTool (Strip Chart Plotting Tool)
- Yviewer (Data Visualization Tool)
- Database Configuration/Management Tools
- DCT (Tcl/Tk deprecated)
- GDCT (Graphical deprecated)
- JDCT (Java)
- VDCT (Visual)
- CapFast (Commercial schematic capture Tool
- More we wont mention
8Inside a VME IOC
Ethernet LAN
Customizing Elements
9Channel Access in One Slide
connection request or search request
put or caPut
get or caGet
set a monitor
Who has a PV named S1AH1CurrentAO?
Change its value to 30.5
Notify me when the value changes
What is its value?
Channel Access Client
Channel Access Server
I do.
25.5 AMPS
OK, it is now 30.5
It is now 20.5 AMPS
It is now 10.5 AMPS
It is now -0.0023 AMPS
Process Variables
post an event or post a monitor
put complete
S1AH1CurrentAO S1P1x S1P1y S1G1vacuum
30.5 is too high. It is now set to the maximum
value of 27.5.
or
You are not authorized to change this value
or
10EPICS is NOT
- A Control System in a box
- The total solution for all your controls needs
- Going to allow you to get rid of the controls
dept. all programming - Object Oriented
11Channel Access Records
- Analog
- Input (double float)
- Output
- Long Input (32 bit integer)
- Long output
- Binary
- Input
- Out
- Multi-bit Input (16 bits)
- Multi-bit Output
- Multi-bit Input Direct
- (16 bit integer to char16 )
- Multi-bit Output Direct
- ( char16 to 16 bit integer)
- Archive
- Calculation
- Calculation Out
- Compression
- CPID and PID
- fanout and dfanout (data fanout)
- Event (hardware int. handler)
- Histogram
- Permissive (client-server communication)
- Pulse
- Counter (counts pulses)
- Delay (generates pulses)
- Train (generates pulse trains)
- Scan (used to scan detectors)
12Channel Access Records
- Select (12 input mux)
- Sequence (triggers up to 10 other records and
sends values) - State ( ASCII string representing the current
state of a state program ) - Stepper Motor
- String
- Input
- Output
- Array
- Waveform
- Sub Array ( reads part of a waveform)
- Subroutine (calls a C routine with up to 12 input
links) - Timer ( drives an output to latch data)
- Wait obsolete, replaced by calc out
13Who Uses EPICS ? (an incomplete list)
- SNS ORNL
- JLAB
- APS ANL
- LBL
- LANL
- DESY
- BESSY
- CosyLab
- Kinetic Systems
- Intuit
- FNAL (D0 SMTF)
14Comparison of EPICS and ACNET
- ACNET
- 3 Tiers
- Central Services
- Client/Server
- Uses UDP
- Uses Multicasts
- Multiple protocols
- Snapshot
- FTP
- Data acquisition (RetDat/SetDat)
- Network (Acnet)
- Single Site
- More Control
- Less help
- Lots of Specialized User Applications
- Limited to Six Character Names
- FTDs
- EPICS
- 2 Tiers
- Distributed Services
- Client/Server
- Uses TCP/IP
- Uses Broadcasts
- Single protocol
- Data Acquisition (Channel Access)
- Collaboration
- More Help
- Less Control
- One GUI Application can be used to create many
displays - Names can be very long
- Data scan rate set in database
15ACNET Control System Overview
Console Applications
Java Applications
Web Applications
Application
CentralServices
Open Access Clients
Servlets
Database
Central
ethernet
IRM Front-Ends
MOOC Front-Ends
Labview Front-Ends
Front-End
field bus VME, SLD, Arcnet, ethernet,
Field Hardware
CAMAC, VME, PMC, IP, Multibus, CIA, GPIB,
16EPICS Use at Fermilab
- D0 slow controls
- Using EPICS since beginning of Run 2
- Extended EPICS by
- Adding support for new device types
- Added Global Event reporting system
- Added a Central Database
- Added support for MIL/STD1553B bus
- Detector configuration tool
- Proton Driver
- Plans to use EPICs
- Meson Test Facility
- Using EPICS, DOOCs and ACNET
17ACNET on One Slide
Read MOUTTMP
Read CLUMIN
Console
Application 1
Application 2
Already getting this data? No
Data Pool Manager
Ill get the info and calculate the value
What is its value?
SQL Client
RetDat/SetDat Client
Console
OAC
Central Services
Local Applications
SQL Server
Methods
Database Entries
MOOC
Retdat/Setdat Client
Retdat/Setdat Server
Front Ends
Retdat/Setdat Client
Retdat/Setdat Server
Retdat/Setdat Client
Retdat/Setdat Server
MOOC
MOOC
Methods
Methods
Local Applications
Local Applications
18Meson Test Facility
- EPICS used for Cryogenics Controls interface to
Siemens-Moore PLCs - Implemented in Software IOCs on the PCs that run
the APACS software - Communicate with the PLCs via OPC
- (OLE for Process Control )
- EPICs driver for DESYs SimCon 3.1 LLRF board
- Edm used as the GUI builder
- Using extensions Plan to use
- Alarm handler BURT
- StripTool for plots Channel
Archiver
19Brown Refrigerator GUI Display in edm
20Alarm Handler for Meson Test Facility Cryo
21Strip Tool Plotter
22(No Transcript)
23Why Use EPICS _at_ Meson ILC Test Facility?
- Test Facility will be used by many visitors from
various labs - EPICs is used at more labs than other controls
systems - Argonne personnel have expertise
- D0 personnel have expertise
- EPICs or its successor may be considered for the
ILC - FNAL needs to develop expertise in EPICS in order
to fully evaluate it
24Why not use EPICS Now at Fermilab?
- ACNET is a stable, full featured controls system
- Operators are familiar with ACNET
- Huge investment in existing code
- Users can easily write applications for ACNET
- ACNET is now ported to Linux
- We can modify ACNET without the approval of a
collaboration - Switching controls systems would be a monumental
task - We would lose functionality
25Why Should We Switch to EPICS at Fermilab?
- We can benefit from the collaboration of
laboratories - We can influence the characteristics of Version
4.0 - EPICS or its successor may be the choice for the
ILC - Professional development of staff
26What Does ACNET have that EPICS doesnt?
- The Parameter Page
- Ability to add a data channel on the fly
- Data has associated error status on each return
- Redirection
- Consolidation of requests to front ends
- Wild card devices
- Snapshot plots
- Automatic downloads of settings on reboot
- Automatic logging of settings
- SDA
- Consolidated Error reports
- An integrated Console environment
27ACNET Parameter Page
28(No Transcript)
29What Does EPICS have that ACNET Doesnt?
- Longer More Descriptive names
- Distributed database
- Wide user base and on-line Tech-Talk help
- Front ends can be programmed by configuring
database records with minimal real programming
30Some Other Control Systems
- Tango (Collaboration of Light Sources)
- LHC (new system using Java, CORBA C)
- DOOCS (DESY Object Oriented Controls System)
- ALMA Common Software (Large Array Telescope)
31The FUTURE Version 4.0
- Provide online add/delete of I/O to support
continuous operation. - Provide redundant control of remote I/O to
support improved reliability. - Provide name introspection and domain control in
support of seamless integration of large control
systems - Provide triggers, filters, and rate limits to
improve resource use of network and client side
processing - Provide hierarchical devices to support higher
level view of application in the front-end
processors. -
32Version 4.0 cont.
- Provide automatic backup and restore to support
bump-less reboot and synchronization of redundant
controllers. - Provide atomic read, write, and write with
read-back to multiple channels to support
synchronized access of arbitrary sets of
channels. - Support international users with uni-code and
time. - Remove limitations on string lengths, device
states, number of input links to support
arbitrary sizes. - Internationalize Time Stamps
33Version 4.0 cont.
- Allow definition and access to complex devices
and multi-dimensional arrays - Name hierarchy in Channel Access
- ltarbitrary stringgt.structure. Elementn
- e.g. Arc3PwrSupply.readback.status,
ArcPwrSupply.readback.value - Device description in database
- Support arbitrary number of inputs to
calculations and subroutines. - Support multi-state devices of an arbitrary
number of states
34Version 4.0 cont.
- Allow wildcard searches
- Allow request to send all names supported in the
IOC - Support redundancy by allowing connections to
specify that they are not active - Support multiple name servers by allowing
connections to specify how close to the source
they are. - Support Name aliases
35Another Initiative
- EPICs Office
- Led by Matthias Clausen of DESY
- Initiative to provide an Integrated Development
Environment for EPICs - Provide a common look and feel across EPICs
applications
36Status of Version 4.0 as of Feb 3, 2006
- Ned Arnold (for the APS Team) wrote in
TechTalk -
- Upon review of last year's efforts and
accomplishments, we have realized that EPICS
Version 4 is too large of a development to
successfully undertake with the part-time
resources that can be leveraged from operating
facilities. In addition, the ambitious redesign
of major portions of EPICS core (database,
communications API, device support interface)
would be a significant impediment for operating
facilities to migrate to Version 4.Therefore,
under the current EPICS collaborative structure
(and funding model), we have made a decision to
focus on small incremental evolutionary steps
(3.15, 3.16, etc) rather than revolutionary
leaps. We will evaluate the desired features of
V4 and develop a roadmap for incorporating some
of these features into Version 3. More
significant changes/features will have to wait
until new opportunities present themselves to
fund substantial developments (there are a few
ideas on the table, however).
37Andrew Johnson has taken over responsibility of
"keeper of the source". His primary emphases will
be reliability, maintainability and establishing
a well-defined forward migration path for
existing applications as new features are added.
Some features already identified for possible
incorporation into 3.x include enhancement of the
build system unbundling BASE into Core, Channel
Access, and IOC variable length strings etc.
Because of our limited resources, we will be
looking for significant assistance in developing
these features (i.e. the timeline for delivery is
directly proportional to available
resources).Some V4 research and development
will continue, but not led or coordinated by
Argonne. One effort will include investigation
of hierarchical records, "devices", and emerging
protocols. An initial implementation of some of
these ideas will be in a Java IOC (Marty Kraimer
is working on this development). Another emerging
development effort is the Control System Studio
(a.k.a EPICS Office) and IOC redundancy driven by
DESY. Any successes in these areas will be
considered for integration somewhere in the
future. Contact Bob Dalesio or Matthias Clausen
if you are interested in these activities.