my week in berlin

47
May, 2002 EPICS Collaboration ESD Controls ESD Controls My Week in Berlin Ron Chestnut

Upload: talmai

Post on 16-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

My Week in Berlin. Ron Chestnut. Outline. Channel Archiver EDM E-Log Serial Support CALCString record RDB Support A-beans JOIMINT. JLAB CZAR System Overview. Database (MySQL). Embedded SQL. DAQ Engine. History Server. JDBC. CORBA. Manager GUI. XARR. CORBA. StripTool. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: My Week in Berlin

May, 2002

EPICS Collaboration ESD ControlsESD Controls

My Week in Berlin

Ron Chestnut

Page 2: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Outline

Channel Archiver EDM E-Log Serial Support CALCString record RDB Support A-beans JOIMINT

Page 3: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

JLAB CZAR System Overview

Database(MySQL)

DAQ Engine History Server

Manager GUI

Filesystem

XARR

StripTool

DARTH

CORBA

CORBA

Embedded SQL

JDBC

Page 4: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

CZAR Data Store

Engine streams raw data to disk

Converter runs periodically, or on-demand “cooks” raw data (convert, compress, index)

Database connection history data directory file status

Page 5: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

CZAR History Server Remote API

Supplies archive accessor objects to clients Client initializes range in archive accessor

data summary• first, last point

• before, after point

• num points range accessor object

• provides data pull interface

• serves sequences of data in large chunks

• timestamp, value, status, severity, control info

Page 6: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

CZAR Status

Engine up since January 2002 ~ 21,000 signals ~ 2Gb / day raw; ~ 600Mb processed < 20% CPU (HP B2000, 1GB RAM)

XARR retrieve 100,000 points: ~ 3 sec.

Management GUI 1.0 99% done Port to Solaris, Oracle: June

Page 7: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Channel Archiver Overview

LibIO

(C++)

LibIO (C++)

ArchiveEngine

Archive

Config

casi

(swig)Tcl

Perl

Python

xarr

StripTool

WinBrowser

ArchiveExport

CGIExport

ArchiveManager

CA

CAManager

Online Access

to Excel/GNUplot…

Graphic Retrieval

extract, merge, delete

some examples provided

Page 8: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

JLAB CZAR System Overview

Database(MySQL)

DAQ Engine History Server

Manager GUI

Filesystem

XARR

StripTool

DARTH

CORBA

CORBA

Embedded SQL

JDBC

Page 9: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

(non) Decisions

Chris to continue ; Steve Hunte will testJuly target

Thomas and LeeAnn/Bob to continueJuly target

Comparison of engine capabilities needed Channel Archiver should not require Oracle or

CORBA, or CORBA should be supplied too Look again at performance at next meeting

Page 10: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

EDM Status

New Features Select colors from palette or by function Blinking colors for all display depths Select color schemes by menu EDMDATAFILES is now a colon separated list Various new edit mode operations New drag & drop behavior (Thomas Birke) Online help

Page 11: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

EDM Status

New widgets text entry (Kay Kasemir) text update (Kay Kasemir) strip chart (Kay Kasemir) text update with reg expr (Pam Gurd) static text with reg expr (Pam Gurd) Byte (Carl Lionberger) X-Y Graph Motif slider Radio Box Up/Down button

Page 12: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Widgets

Page 13: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

X-Y Plot Widget

Page 14: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Future Complete documentation

User Widget developer

Runtime shutdown/restart Modify all widgets to utilize pv factory Implement remaining undo operations New file format (xml?) Enhance compatibility with medm Increment local PV class New scheme for printing displays

Page 15: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

History

First instituted at the lab in 1996. Variously used

Official Record for DOE Knowledge repository Bulletin board to pass info among shifts

Heavily Used ~35,000 entries/year in main ops logbook 400 MB/year in main ops logbook Other logbooks for Software, FEL, etc.

Page 16: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Shortcomings

Reliance on static html files – 100,000’s Sheer number a headache to manage The html mingling of content and formatting

makes data searching and extraction difficult

Every program (60+ of them) responsible for number assignment, content formatting, not clobbering other entries. Little consistency.

Page 17: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Components of an Entry

Required Keywords/Title, Timestamps (create, commit),

Logbook(s), Entry-type Optional

Attachment(s) (screenshots, documents, etc.) Downtime information References to other logs (backward/forward) Problem-Tracking History

Page 18: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

New Version

Summer 2002. Addresses shortcomings

RDMS replaces files. Dynamic Scripting replaces static HTML APIs shield apps from entry-making details

New Features Integrated problem tracking Threaded/linked entries

Page 19: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Underpinnings

Relational Database (Oracle) Web Application Server (Apache + PHP) Libraries for programs that make entries

Tcl Package Perl Module C++ Library HTTP API

Page 20: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

New logbook “home page”

Page 21: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Alternative Look

Page 22: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

New trouble report entry

Page 23: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Browser is not only interface

Page 24: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Logbook ComparisonOld Logbook New Logbook

Files (one per record) RDBMS (Oracle)

Separate downtime & problem tracking

Integrated downtime & problem tracking

Unauthenticated entries Authenticated entries

Web browser only interface

Accessible from scripts, browsers,spreadsheets.

Page 25: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Future Direction

Enhance Problem-Tracking Track problems with specific hardware in

addition to general hardware types. Integrate with future Plant Engineering Work

Order system Enhance Query/Search Tools

Oracle Intermedia to search attachments such as PDF, Word documents.

Page 26: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Serial Interfaces

Sharp intake of breath!

Page 27: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Vacuum Equipment Test Rack

VME 64x Crate Processors:

MVME 167 & PPC 604

IP Carriers: Hytec VICB8002 Greenspring VIPC601

Serial Interface Card: Greenspring IPOctal - 8 channel IP card

Page 28: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

EPICS Devices

devAscii - Allan Honey/Jeff Hill - KECK

Stream Device - Dirk Zimoch - DELTA

MPF - Mohan Ramanathan - APS

ornlSerial - John Sinclair - Oak Ridge

tyGSOctal - Peregrine McGehee - Hawaii

Page 29: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Summary

All software built and worked minor glitches 68k / PPC

Where existing support exists - use it For new development we like:

stream device for most cases

ornlSerial for complex protocols/checksums

Page 30: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Basic record/device support

Motors Scalers Multichannel analyzer Multichannel scaler Serial (RS-232) GPIB ADC’s DAC’s

Encoders Optical table String calc, sequence Complex expressions Enhanced PID Scan Scan parameter Generic VME

Page 31: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Layered devices, techniques

Optical tables Slits Mirrors Monochromators Piezo controller Digital Multimeter Current preamplifier Interpolation

N-step measurement Serial I/O block GPIB I/O block Autocollimator Temperature controller X-ray microscope Insertion device Filter/shutter

Page 32: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

String Expressions

Extends CALC record to combine string and numeric expressions

Useful for run-time programming of serial devices

EPICS links are programmable at run time

Page 33: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Serial O/I Block

Combination of string calc to construct output message, serial record to send and/or receive, and string calc to parse reply

Intended for run-time programming

Similar GPIB support

Page 34: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

CCD support

CA server on CCD’s native platform Calls vendor-supplied software Stores images to local disk (HDF format) Some simple image analysis Hosts EPICS PV’s for control

Page 35: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Goal: DB Based Configuration Maintenance

Add/Delete Devices in DB

Procedures and Scripts propagate Changes to Configuration Files

Consistency Guaranteed

Page 36: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Initial BESSY Database System

Device OrientedMagnets

magnet name

device specs

family

measure

Power Supplies

Controls

node name

CAN segment

IOCnode specs

m:n

PS name

device specs

family

I/O params

EPICS specs

Page 37: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Worked Sufficiently Well for

Creation of RTDB

Graphical Editor

Text Editor

DCT

RTDB Template

Script

Text EditorSubstitutions

RTDB

Standard mechanismpower supplies, vacuum system, RF PLC-interface, triggers/timings, …

DB

Many instances (substitutions)Many instances (substitutions)of few different types of few different types (templates)(templates)

Page 38: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

New Structural Overview

Page 39: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Abeans (or xal at SNS) 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 40: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Abeans Features

Hide details of Control System - just one of many: launch application/applet, remote install Logging, alarm, and communication error reporting Resource initialization and destruction, provide defaults find, choose and connect to selected device supports different protocol via plugs (e.g. CORBA, EPICS,…)

Same core code is used everywhere The code is tested very well

Visual composition and normal programming together choose device type and command through menu! almost all errors detected by compiler not during operation

Page 41: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Abeans and EPICS ? MEDM is faster for “expert” panels, TCL is simpler for prototyping, but:

Abeans application development is scalable! profit from standard Java features

• GUI layout, file I/O, XML, WebStart, resources, logging,…

Abeans fight Java deficiencies • optimize graphic performance and reduce memory usage

Use Abeans for complex applications… client-side algorithms (machine physics) display of multiple data (tables, tree, bird-view)

…and when long-term maintenance matters

Page 42: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

JoiMintWhere to use it?

Create graphics ‘on the fly’ -> JoiMint does not distinguish between runtime and edit mode.All changes (adding/ removing objects; save/ restore displays) is done in the online mode.

Remote access to control system’s data Diagnostic data from ‚smart devices‘

PLC‘s or power supplies Get graphic config file from default http port

Quick diagnostic using a PDA version (planned) An example of a ‘light weight’ application for Global

Accelerator Networks

Page 43: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Basic Structure

Data Source Connector

Databases / Control Systems Applications

Graphic ObjectsAny Java Object

Configuration &Commands

?

ScanEngine

The Core Registry

Timer

Cfgfiles

Data

localthread

http client(monitor)

http server

Page 44: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

XMLIs used for:

Configuration Data: Graphic Object Tab (Http) Data source definition Synoptic Displays (i.e. translated dm2k screens)

Data/ Commands Value Updates Archived Data Commands to/ from Applications

Page 45: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Diagnostic Tools: EPICS property table

Activate by MB3 on graphic device

Select: Device -> Device Property

Device Properties ‚known‘ by http (DIXI) serverNo special knowledge programmed into JoiMint

DIXI server creates JoiMint graphic (as XML file)

Display of graphic and dynamic updates in JoiMint

Page 46: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Class: JoiTextFieldObject: JoiTextField-1

Registration Register a Graphic text Object

Class: JoiTextFieldObject: JoiTextField-1Property: ValueProperty.deviceName EPICS|WLST1D32_temp

Registry

register object

Name ObjectJoiTextField-1 instance of JoiTextField

register devicename /object

EPICS|WLST1D32_temp Name Object MethodJoiTextField-1 instance of JoiTextField setValue ...

SendCommand

„JoiTextField-1“ „setWidth“ „200“

SendValue

„ EPICS|WLST1D32_temp“ „actual value“

actual value

Graphic Text Object

Page 47: My Week in Berlin

ESD ControlsESD ControlsMay, 2002

EPICS Collaboration

Future Plans (I)Command Record and Playback

Record all operator commands Allow command editing

Store commands as XML file Load command-set from XML file Replay commands Implementation of sequencing features:

Loops If – then – else structures

(based on live data from the underlying control system)