My Week in Berlin
description
Transcript of My Week in Berlin
May, 2002
EPICS Collaboration ESD ControlsESD Controls
My Week in Berlin
Ron Chestnut
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
Outline
Channel Archiver EDM E-Log Serial Support CALCString record RDB Support A-beans JOIMINT
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
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
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
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
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
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
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
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
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
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
Widgets
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
X-Y Plot Widget
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
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.
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.
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
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
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
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
New logbook “home page”
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
Alternative Look
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
New trouble report entry
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
Browser is not only interface
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.
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.
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
Serial Interfaces
Sharp intake of breath!
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
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
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
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
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
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
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
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
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
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
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)
ESD ControlsESD ControlsMay, 2002
EPICS Collaboration
New Structural Overview
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
:
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
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
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
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
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
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
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
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)