260 likes | 367 Views
MICE Control and Monitoring: General Architecture Subsystem Integration User Interface Pete Owens. General Architecture Client-Server Model. Channel Access. CA Clients. GUI. Archiver. …. process variables. Channel Access. IOC. IOC. IOC. CA Servers. Channel Access Server.
E N D
MICE Control and Monitoring: General Architecture Subsystem Integration User Interface Pete Owens
Channel Access CA Clients GUI Archiver … processvariables Channel Access IOC IOC IOC CA Servers
Channel Access Server Channel Access EPICS core IOCtradionally VME/VxWorks EPICS database device/driver support Hardware
Channel Access Client Application (user interface / archive engine / etc…) Typically Unix/Linux CA library Channel Access
Subsystem Integration • Naming convention • Simulation • File system • Standard hardware interfaces
Naming Convention • Process Variables located by name - Names MUST be unique • Naming convention should apply to physical devices – not just control system. The same names should be used consistently in drawings, labels, documents and so on.
Naming Convention • A-Z(upper case letters) • 0-9(numerals) • : used to separate structural parts ofname • - used to delimit distinct elements
Naming Convention domain (physical location) MICE DDDD-TT-CCCCC-NN:SSS:RRRRRR technical area eg. HY, RF, VA … component eg. VALVE, identifier (01 -99) devicesub-system record (optional)
Example Record Names • MICE-RS-RDMON-01:RATEradiation monitor : dose rate • MICE-VA-VALVE-01:STA vacuum valve : status • MICE-VA-PIRG-03:CTL:SP pirani gauge : control relay : setpoint
Simulation • EPICS database with ‘soft’ records ie no hardware • Allows you to build test and demonstrate client side applications • Should not be too realistic
File system EPICS release /home/epics/R3.13.7/base /extensions production modules module name / version /home/mice/R3.13.7/prod/support/a-module/1-0/ /ioc/an-ioc/3-4/ working directory for development modules /home/mice/R3.13.7/work/
Standard Hardware Interfaces • EPICS supports many different hardware interfaces. To keep systems as compatible as possible the use of Hytec 9010 IOC and IP modules is recommended for most applications. • For more complex situations specialised systems such as VME crates may be necessary. This approach will require considerably more software expertise to develop and integrate.
Standard Hardware Interfaces • The Hytec 9010 IOC supports upto 6 Industry pack (IP) interface modules. • Suggested IP modules are: • IP-ADC-8401 8 channel 16-bit ADC (+/- 10V) • IP-DAC-8402 16 channel 16-bit DAC (+/- 10V) • IP-SIO-8505 16 channel buffered digital I/O
User Interface • Standard EPICS Tools • ALH - Alarm Handler • Channel Archiver • BURT - Backup & Restore • Schematic Displays • EDM – Extensible Display Manager • Scripts/programs • Probe • Strip Tool • etc.
ALH – alarm handler • Hierarchical monitoring and recording of alarm conditions
Channel Archiver (3.13) • Provides historical archive of configured process variables. • Dead-band set in the database to prevent recording noise. • Export data to different file formats • Web-based user interface
Channel Archiver (3.14) • Improved storage and retrieval system • BUT – fewer interface options to date
BURT – backup & restore tool • Saves snapshots of sets of values that can be restored later
Strip Tool • Provides chart recorder style plotting • Multi-channel • Fully configurable scaling • Can also plot historical data from the archiver
probe • Monitors a single PV – useful for debugging
Display Manager • Used to generate graphical control and monitoring displays from pre-defined widgets. • Several to choose from: EDD/DM, MEDM, EDM, DM2K • EDM is currently the most actively developed display manager • A limitation all of these display managers is that it is not possible to add intelligence or data processing to the application. This must be done either in the IOC or in a separate client application.
Colour Scheme • Grey - background • Blue - control • Green – monitor/on/open/OK • Yellow – warning • Red – alarm/off/closed • White - invalid
CA Programming Language Interfaces • Tcl/tk • Java • Python • Active X etc…