1 / 47

My Week in Berlin

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.

talmai
Download Presentation

My Week in Berlin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. My Week in Berlin Ron Chestnut

  2. Outline • Channel Archiver • EDM • E-Log • Serial Support • CALCString record • RDB Support • A-beans • JOIMINT

  3. JLAB CZAR System Overview Database (MySQL) Embedded SQL DAQ Engine History Server JDBC CORBA Manager GUI XARR CORBA StripTool Filesystem DARTH

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

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

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

  7. CA Config CAManager ArchiveEngine LibIO (C++) Python LibIO (C++) Perl casi (swig) Archive Tcl Channel Archiver Overview Online Access CGIExport to Excel/GNUplot… ArchiveExport WinBrowser Graphic Retrieval StripTool xarr extract, merge, delete ArchiveManager some examples provided

  8. JLAB CZAR System Overview Database (MySQL) Embedded SQL DAQ Engine History Server JDBC CORBA Manager GUI XARR CORBA StripTool Filesystem DARTH

  9. (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

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

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

  12. Widgets

  13. X-Y Plot Widget

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

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

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

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

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

  19. Underpinnings • Relational Database (Oracle) • Web Application Server (Apache + PHP) • Libraries for programs that make entries • Tcl Package • Perl Module • C++ Library • HTTP API

  20. New logbook “home page”

  21. Alternative Look

  22. New trouble report entry

  23. Browser is not only interface

  24. Logbook Comparison

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

  26. Serial Interfaces Sharp intakeof breath!

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

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

  29. Summary • All software built and worked • minor glitches 68k / PPC • Where existing support exists - use it • For new development we like: • stream devicefor most cases • ornlSerialfor complex protocols/checksums

  30. 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 Basic record/device support

  31. 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 Layered devices, techniques

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

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

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

  35. Goal: DB Based Configuration Maintenance Add/Delete Devices in DB Procedures and Scripts propagate Changes to Configuration Files Consistency Guaranteed

  36. family PS name I/O params node specs IOC CAN segment EPICS specs device specs measure node name family device specs Controls Initial BESSY Database SystemDevice Oriented Magnets Power Supplies magnet name m:n

  37. Graphical Editor Text Editor DCT Script Text Editor RTDB Template Substitutions RTDB DB Worked Sufficiently Well forCreation of RTDB Standard mechanismpower supplies, vacuum system, RF PLC-interface, triggers/timings, … Many instances (substitutions)of few different types (templates)

  38. New Structural Overview

  39. Applications Applications Abeans IOC IOC Hardware Hardware Abeans (or xal at SNS) • Application framework • Hide comm layer • Provide application services • Provide CS models (device, channel, etc.) • RAD, easier maintenance :

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

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

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

  43. Timer Scan Engine Configuration & Commands Data local thread (monitor) Basic Structure Any Java Object Graphic Objects ? The Core Registry Data Source Connector http client http server Cfg files Databases / Control Systems Applications

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

  45. Activateby 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 Diagnostic Tools: EPICS property table

  46. Send Command Send Value „JoiTextField-1“ „setWidth“ „200“ „ EPICS|WLST1D32_temp“ „actual value“ Registration Register a Graphic text Object Class: JoiTextField Object: JoiTextField-1 Class: JoiTextField Object: JoiTextField-1 Property: Value Property.deviceName Graphic Text Object EPICS|WLST1D32_temp actual value register object register devicename /object Registry Name Object JoiTextField-1 instanceof JoiTextField Name Object Method JoiTextField-1 instance of JoiTextField setValue ... EPICS|WLST1D32_temp

  47. 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)

More Related