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

16
Integrating ACS with other (Control) Systems: ACS and EPICS Presented at 1st ACS Workshop, March 9th, 2004 By Mark Pleško

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 Presentation

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

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

Integrating ACS with other (Control) Systems:

ACS and EPICS

Presented at 1st ACS Workshop, March 9th, 2004By Mark Pleško

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

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.”

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

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

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

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

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

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

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

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.

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

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

:

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

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!

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

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

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

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

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

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.

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

Integrating ACS and EPICS 12

www.cosylab.com

Example: Device Table

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

Integrating ACS and EPICS 13

www.cosylab.com

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

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

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

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

Page 16: Integrating ACS with other (Control) Systems: ACS and 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.