integrating acs with other (control) systems: acs and epics
DESCRIPTION
Integrating ACS with other (Control) Systems: ACS and EPICS. Presented at 1st ACS Workshop, March 9th, 2004 By Mark Ple ško. Need Open Standards like WinCC. - PowerPoint PPT PresentationTRANSCRIPT
Integrating ACS with other (Control) Systems:
ACS and EPICS
Presented at 1st ACS Workshop, March 9th, 2004By Mark Pleško
Integrating ACS and EPICS 2
www.cosylab.com
Need Open Standards like WinCC
Enhanced Scaleability
Enhanced Web Functionality
Integrated Historian Functionality
Optimized for IT & Business Integration
New open standards
New Functions in the Basic System
New Options for FDA 21 CFR Part 11
“Right from the start, SIMATIC WinCC has stood for the highest levels of openness and integration, since it has consistently backed Microsoft technologies. Version 6, in addition to using Microsoft SQL Server 2000 also adds Visual Basic for Applications (VBA), Visual Basic Scripting (VBScript), database access via OLE DB and new OPC standards. OPC HDA, OPC A&E and OLE-DB are features of WinCC/Connectivity Pack.”
Integrating ACS and EPICS 3
www.cosylab.com
The Layers of Control System Packages
EPICS
DOOCS
COACK
TINE
chan. acc.
ACS
driver data
SERVERcommu-nication
API visual support
CLIENT
ACOP
AbeansCosyBeans
TANGO
MEDM
DDD
Applications (alarm manager, GUI, logger, trending, scripting etc.): while all have them, their quality, flexibility, configurable etc. makes
the largest difference
DevIO
CDEV JDM
Integrating ACS and EPICS 4
www.cosylab.com
Abeans Application
Abeans and ACS... and EPICS
Abeans: libraries, device beans, plugs
I/O boards
devIO calls local EPICS db_xxx commands
CORBA
CosyBeansGUI widgets
interface
devIO
ACS CORBA server
configdatabase
Management,ObjectExplorer,Logging,Alarms,…
ACS tools
plain Java code
channel access
Integrating ACS and EPICS 5
www.cosylab.com
Why Translators are Good
• Server-side systematics are guaranteed to be there. – local alarm server, local history server, queries, etc.
• The data are as close to the source as possible • can use the best applications for each problem• Gateways bring a host of intermediate problems
– e.g. connectivity problems are difficult to locate – another link in the chain
Integrating ACS and EPICS 6
www.cosylab.com
Very Successful Translators of TINE at
• run EPICS2TINE directly on the IOC– don't speak channel access at all and access EPICS
database directly– we have also elegantly solved the 16 Kbyte/message
barrier (i.e. 4000 floats) of the old EPICS release
• DOOCS servers and clients offer the traditional SUN RPC interface as well as a TINE interface– EPICS IOCs are immediately available to DOOCS DDD
clients. Using TINE2EPICS, the DOOCS IOCs are likewise available to EPICS MEDM clients.
Integrating ACS and EPICS 7
www.cosylab.com
Abeans: Much More than a Wrapper
• Application framework
Applications
IOC
Hardware
Applications
Abeans
IOC
Hardware
Hide comm layer
Provide application services
Provide CS models (device, channel, etc.)
RAD, easier maintenance
:
Integrating ACS and EPICS 8
www.cosylab.com
Limitations of Plugs and the Abeans Solutions
• Client-side plugs usually provide only– common functionality over several CS
• if the server-side features are not available, you come up empty– generic API
• requires knowledge of CS and is therefore practically useless
• Abeans have a solution though– allow different CS data models (Channels, Devices, etc.)– interfaces are facades for services (plug-ins) with always at
least one default implementation– we work hard to provide each single feature in a generic way –
if TINE has ArchiveReader, also ACS gets it!
Integrating ACS and EPICS 9
www.cosylab.com
Abeans
• Models– Logical containment of CS Objects– Channel, BACI
1/2
• Plugs– Connection to remote modeling layer– TINE, EPICS, ACS CORBA
Device
Property 1
Property 2
Property 3
Channel 1
Channel 2
Integrating ACS and EPICS 10
www.cosylab.com
Abeans
Modeling layer
EPICS TINE
Plugs
Application
Request Response
2/2
CORBA
URIabeans-EPICS:///PBEND_M_01_current?getabeans-TINE://ns.desy.de/DESY/BENDS/PBEND_M_01/current?get
Integrating ACS and EPICS 11
www.cosylab.com
All possible request targets, their names, all possible valid requests that can be issued and all possible responses, including errors, exceptions and connection timeouts
What a request can do and what responses are to be expected, the list of parameters, name-value pairs, timeout data, error stack, etc.
Requests can be more than just simple get/set commands – they can be asynchronous, define callbacks, repeated monitors, etc.
Integrating ACS and EPICS 12
www.cosylab.com
Example: Device Table
Integrating ACS and EPICS 13
www.cosylab.com
Integrating ACS and EPICS 14
www.cosylab.com
Object Explorer in use at SNS (accelerator with EPICS)
• Abeans read XAL XML files with hierarchically organized EPICS PVs– Or any source of hierarchy, e.g. EPICS nameserver
• The PVs are put into the Abeans Directory (GUI tree)
• Properties are selected from the tree and connection is established via Abeans JCA plug (a vast improvement of JCA 1.0)
• PVs are displayed with Abeans displayers– Data quality control
Integrating ACS and EPICS 15
www.cosylab.com
It’s a Reality: Joint Applications for +
• Same look and feel: – SNS: Object Explorer
– Jlab:Archive Reader (next)
ACS/EPICS Office– Diamond: ControlDesk
EPICS
Integrating ACS and EPICS 16
www.cosylab.com
Summary: Mixing ACS with EPICS
1. ‘EPICS-ACS’ gatewaya separate process utilizing the client/server APIs of both systems
2. Client-side ‘EPICS-plugs’client program developers think they are talking to ACS, but they are really speaking native ‘EPICS’
3. Server-side ‘ACS-translators’EPICS server IOCs think they are being addressed by EPICS clients but are really speaking native ACS.