Integrating ACS with other (Control) Systems: ACS and EPICS

advertisement
Integrating ACS with
other (Control) Systems:
ACS and EPICS
Presented at 1st ACS Workshop,
March 9th, 2004
By Mark Pleško
www.cosylab.com
Need Open Standards like WinCC
“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.”
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
Integrating ACS and EPICS
2
www.cosylab.com
The Layers of Control System Packages
EPICS
chan. acc. MEDM
TINE
ACOP
DOOCS
DDD
COACK
TANGO
DevIO
ACS
Abeans
CosyBeans
CDEV JDM
driver
data
SERVER
communication
API
visual
support
CLIENT
Applications (alarm manager, GUI, logger, trending, scripting etc.):
while all have them, their quality, flexibility, configurable etc. makes
the largest difference
Integrating ACS and EPICS
3
www.cosylab.com
Abeans and ACS... and EPICS
ACS tools
Management,
ObjectExplorer,
Logging,
Alarms,…
Abeans
Application
plain Java code
CosyBeans
GUI widgets
Abeans: libraries,
device beans, plugs
i
n
t
e
r
f
a
c
e
ACS CORBA
server
config
database
I/O boards
devIO
devIO calls local EPICS db_xxx commands
Integrating ACS and EPICS
4
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
5
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
6
www.cosylab.com
Abeans: Much More than a Wrapper
• Application framework
Applications
Applications
Abeans
IOC
IOC
Hardware
Hardware
Integrating ACS and EPICS
:
Hide comm
layer
Provide
application
services
Provide CS
models (device,
channel, etc.)
RAD, easier
maintenance
7
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
8
www.cosylab.com
Abeans
1/2
• Models
– Logical containment of CS Objects
– Channel,
BACI
Device
Channel 1
Property 1
Channel 2
Property 2
Property 3
• Plugs
– Connection to remote modeling layer
– TINE, EPICS, ACS CORBA
Integrating ACS and EPICS
9
www.cosylab.com
Abeans
2/2
Application
Modeling layer
abeans-EPICS:///PBEND_M_01_current?get
URI
Request Response
abeans-TINE://ns.desy.de/DESY/BENDS/PBEND_M_01/current?get
Plugs
EPICS
Integrating ACS and EPICS
TINE
CORBA
10
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, namevalue 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
11
www.cosylab.com
Example: Device Table
Integrating ACS and EPICS
12
www.cosylab.com
Integrating ACS and EPICS
13
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
14
www.cosylab.com
It’s a Reality: Joint Applications for
• Same look and feel:
– SNS: Object Explorer
EPICS
+
ACS/EPICS Office
– Diamond: ControlDesk
– Jlab:Archive Reader (next)
Integrating ACS and EPICS
15
www.cosylab.com
Summary: Mixing ACS with EPICS
1. ‘EPICS-ACS’ gateway
a 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.
Integrating ACS and EPICS
16
Download