channel management

12
18. June 2003 EPICS W S Channel Management Andreas Lüdeke Swiss Light Source / PSI 20 May 2003 EPICS Collaboration Meeting

Upload: stone-joyner

Post on 30-Dec-2015

16 views

Category:

Documents


0 download

DESCRIPTION

Channel Management. Andreas L üdeke Swiss Light Source / PSI 20 May 2003 EPICS Collaboration Meeting. Ok?. Introduction. Configuration. CA- Clients. medm Alarmhandler. Display Configuration Machine Model ... Channels. Channels ... Procedures Hardware Configuration. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Channel Management

18. June 2003 EPICS WS

Channel Management

Andreas LüdekeSwiss Light Source / PSI

20 May 2003EPICS Collaboration Meeting

Page 2: Channel Management

18. June 2003 EPICS WS

Introduction

CA-Clients

CA-Servers

Configuration

• Display Configuration• Machine Model• ...• Channels

• Channels• ...• Procedures• Hardware Configuration

• medm

• Alarmhandler

• ...

• EPICS IOCs

• Portable CA Servers

Ok?

Page 3: Channel Management

18. June 2003 EPICS WS

Questions to Answer

• Server Developers:– Which of my channels are used?– Who’s using those channels?

• Client Developers:– Is my channel configuration ok?– Where was a disconnected channel once served?

• Operations Manager:– Will all client applications still work?

Page 4: Channel Management

18. June 2003 EPICS WS

Plan

• Keep track of all provided channels– IOC name– Channel Name and Record Type– Fields of those Record

• Keep track of all required channels– Client application name, start-up arguments– Channel name, field

• Provide set of scripts to answer the questions

Page 5: Channel Management

18. June 2003 EPICS WS

SLS Implementation

Clients

Server

Database

g.adl

h.alh

i.conf

parser

requiredchannels

EPICS IOCs serviceprovidedchannels

Page 6: Channel Management

18. June 2003 EPICS WS

Server Implementation

EPICS IOC DatabaseBoot Host

startup.script

rsh db2odb

p.dbd, q.tmpl, r.subs

dbd2odb

Channels + RTYPdbl

Record Fields

Channels, RTYP

Page 7: Channel Management

18. June 2003 EPICS WS

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

xpv

extract channelsand commands

lcf2odbcommand

lines

g.adl

h.alh

i.conf

Page 8: Channel Management

18. June 2003 EPICS WS

Parser: e.g. medm

• Extract all references of channels• Configuration files can be templates

– Reads macro substitution from command line– Parser does substitution

• Recursion– Calls of related panels and commands call parser– Prevent infinite recursions each combination of

command and arguments is only parsed once!

Page 9: Channel Management

18. June 2003 EPICS WS

Database Implementation

Application Config Channels

Application Config Files

IOC Channels

Record Type Definition

•Filename•Macrovar•Device•Property•Field

•Filename•Config File•Load Date

•IOC•Device•Property•Record Type•Load Date•Deleted Date

•Record Type•Field•Field Type

Page 10: Channel Management

18. June 2003 EPICS WS

SQL Queries

• Check of a single high level appl. config file

• Get all config files with unsupported channels

• Get all properties of a device– Public properties, used by some applications– Private properties, used by no application

• Get all IOCs with a certain device or property

• Check naming convention of provided channels

Page 11: Channel Management

18. June 2003 EPICS WS

How to make it Generic?

• Parsing should be featured by the tools– Extract channel names (medm -GetChannels …)

– Extract command lines (medm -GetCommands …)

• Site specific configuration:– Naming convention (@SLS: Device ‘:’ Property ‘.’ Field)

– Repository of command lines (@SLS: “Launcher”)

– Environment variables for config file locations– Database table access

Page 12: Channel Management

18. June 2003 EPICS WS

Outlook

• Central channel repository– Add IOC link repository (dbcar2odb)

• High level application testing– Adding versioning / CVS tag information– Bind to software release mechanism– Automatic periodic background checks

• Add more tools to query database• Make it a generic EPICS extension