52
Andreas Lüdeke PCaPAC '02 Channel Configuration Management Andreas Lüdeke Swiss Light Source, PSI Introduction Design Implementation & Performance Usage & Outlook

Channel Configuration Management

  • Upload
    aerona

  • View
    50

  • Download
    0

Embed Size (px)

DESCRIPTION

Channel Configuration Management. Andreas Lüdeke Swiss Light Source, PSI. Introduction Design Implementation & Performance Usage & Outlook. Introduction. PC. User Interface. IOC. IOC. Input / Output Controllers. H W. HW. HW. Actors / Sensors. Introduction. PC. User Interface. - PowerPoint PPT Presentation

Citation preview

Page 1: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Channel Configuration Management

Andreas Lüdeke

Swiss Light Source, PSI

• Introduction

• Design

• Implementation & Performance

• Usage & Outlook

Page 2: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User InterfacePC

IOC IOC

HW HW HW

Page 3: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

PC

IOC IOC

HW HW HW Actors / Sensors

Input / Output Controllers

User Interface

Page 4: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User InterfacePC

IOC IOC

HW HW HW

Page 5: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User Interface

Channels

PC

IOC IOC

HW HW HW

Page 6: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

ClientApplications

Configuration Display Configuration Machine Model ... Channels

cba

PC

IOC IOC

HW HW HW

Page 7: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

ClientApplications

ServerApplications

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

cba

zyx

PC

IOC IOC

HW HW HW

Page 8: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Introduction

ClientApplications

ServerApplications

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

Identical?cba

zyx

PC

IOC IOC

HW HW HW

Page 9: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„Ideal“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

Page 10: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„Ideal“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

Database

c

b

a

z

y

x

Page 11: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„Ideal“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

Database

c

b

a

z

y

x

API

Page 12: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„Ideal“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

Database

c

b

a

z

y

x

API

API

API

API

API

API

Page 13: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„Ideal“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

Database

c

b

a

z

y

x

API

API

API

API

API

API

Page 14: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

Page 15: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

g.adl

h.alh

i.conf

Files

p.dbd

q.tmpl

r.subs

Page 16: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

g.adl

h.alh

i.conf

Files

p.dbd

q.tmpl

r.subs

Page 17: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

g.adl

h.alh

i.conf

Files

p.dbd

q.tmpl

r.subs

Page 18: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

g.adl

h.alh

i.conf

Files

p.dbd

q.tmpl

r.subs

Page 19: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Configuration Display Configuration Machine Model ... Channels

Channels ... Procedures Hardware Configuration

c

b

a

z

y

x

g.adl

h.alh

i.conf

Files

p.dbd

q.tmpl

r.subs

Page 20: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

c

b

a g.adl

h.alh

i.conf

Config. Files

Server EPICS IOCs

Page 21: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

c

b

a g.adl

h.alh

i.conf

Config. Files • GUI builder (medm/dm2k, ...)• Archiver• Save and Restore• Alarmhandler• Striptool• Inhouse build applications, ...

Server EPICS IOCs

Page 22: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

c

b

a g.adl

h.alh

i.conf

Config. Files • GUI builder (medm/dm2k, ...)• Archiver• Save and Restore• Alarmhandler• Striptool• Inhouse build applications, ...

Server EPICS IOCs

• EPICS „process database“: channel = record + `.´ + field • Def. set of fields per record type• SLS naming convention: record = device + `:´ + property

Page 23: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCs

Page 24: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCs

Page 25: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCsservic

e

Page 26: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

c

b

a g.adl

h.alh

i.conf

Config. Files

providedchannels

EPICS IOCsservic

e

Page 27: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

providedchannels

parser

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCsservic

e

Page 28: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

service provided

channels

parser

requiredchannels

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCs

Page 29: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Design Summary Service to upload record names and record

types at boot time from each EPICS IOC to the oracle database. Also upload defined fields for each record type.

Parser to extract required channels from all „used“ configuration files for O(10) types of applications

Tables in the oracle database Queries for the oracle database

Page 30: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script p.dbd, q.tmpl, r.subs

Page 31: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl Record Files

p.dbd, q.tmpl, r.subs

Page 32: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmd

p.dbd, q.tmpl, r.subs

Record Files

Page 33: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmddb2od

b

p.dbd, q.tmpl, r.subs

Record Files

Page 34: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmddb2od

b

p.dbd, q.tmpl, r.subs

Record Files

Page 35: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmddb2od

b

p.dbd, q.tmpl, r.subs

dbd2odb

Record Files

Page 36: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

Page 37: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Page 38: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Page 39: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Page 40: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Page 41: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Tables

Just four database tables

Application Config ChannelsFilenameMacrovarDevicePropertyField

Application Config FilesFilenameConfig FileLoad TimeLoad Date

IOC ChannelsDevicePropertyRecord TypeLoad TimeLoad DateDeleted TimeDeleted Date

Record Type DefinitionRecord TypeFieldField Type

Page 42: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Tables

Just four database tables

Application Config ChannelsFilenameMacrovarDevicePropertyField

Application Config FilesFilenameConfig FileLoad TimeLoad Date

IOC ChannelsDevicePropertyRecord TypeLoad TimeLoad DateDeleted TimeDeleted Date

Record Type DefinitionRecord TypeFieldField Type

Page 43: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Tables

Just four database tables

Application Config ChannelsFilenameMacrovarDevicePropertyField

Application Config FilesFilenameConfig FileLoad TimeLoad Date

IOC ChannelsDevicePropertyRecord TypeLoad TimeLoad DateDeleted TimeDeleted Date

Record Type DefinitionRecord TypeFieldField Type

Page 44: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Tables

Just four database tables

Application Config ChannelsFilenameMacrovarDevicePropertyField

Application Config FilesFilenameConfig FileLoad TimeLoad Date

IOC ChannelsDevicePropertyRecord TypeLoad TimeLoad DateDeleted TimeDeleted Date

Record Type DefinitionRecord TypeFieldField Type

Page 45: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Performance Server

Tested on 2 simulation IOCs, each 16'000 records. No boot-delay, dumped to files in 20 sec. Upload from boot PC in less then 2 minutes.

Parser Tested on all 592 used configuration files. Access of 20660 different channels in total. Complete parsing needs 4 minutes, incl. upload.

Page 46: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Performance Server

Tested on 2 simulation IOCs, each 16'000 records No boot-delay, dumped to files in 20 sec. Upload from boot PC in less then 2 minutes

Parser Tested on all 592 used configuration files Access of 20660 different channels in total Complete parsing needs 4 minutes, incl. upload

Page 47: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

• Detect all files with missing channels SELECT filename, macrovar, device, property, fieldFROM Application_Config_Channels accWHERE not exists ( SELECT * FROM IOC_Channels ioc WHERE acc.device = ioc.device and

acc.property = ioc.property and acc.field in ( SELECT field FROM Record_Type_Definition rt WHERE ioc.record_type = rt.record_type ));

Usage: Sample Query

Page 48: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

• Detect all files with missing channels SELECT filename, macrovar, device, property, fieldFROM Application_Config_Channels accWHERE not exists ( SELECT * FROM IOC_Channels ioc WHERE acc.device = ioc.device and

acc.property = ioc.property and acc.field in ( SELECT field FROM Record_Type_Definition rt WHERE ioc.record_type = rt.record_type ));

Usage: Sample Query

Page 49: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

• Detect all files with missing channels SELECT filename, macrovar, device, property, fieldFROM Application_Config_Channels accWHERE not exists ( SELECT * FROM IOC_Channels ioc WHERE acc.device = ioc.device and

acc.property = ioc.property and acc.field in ( SELECT field FROM Record_Type_Definition rt WHERE ioc.record_type = rt.record_type ));

Usage: Sample Query

Page 50: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Usage: Sample Query

• Detect all files with missing channels SELECT filename, macrovar, device, property, fieldFROM Application_Config_Channels accWHERE not exists ( SELECT * FROM IOC_Channels ioc WHERE acc.device = ioc.device and

acc.property = ioc.property and acc.field in ( SELECT field FROM Record_Type_Definition rt WHERE ioc.record_type = rt.record_type ));

Page 51: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Usage• Query which IOCs should provide a channel• Search for discontinued channels• Server programmer can search for

applications, using his channels• Check of naming conventions• Check consistency of configuration files

detects non-existing related panels detects faults in macro substitution

• Get statistics for a control system overview

Page 52: Channel Configuration Management

Andreas Lüdeke PCaPAC '02

Outlook• Will be implemented for all SLS IOCs• Configuration file check required for

production release ensures that the database is up-to-date enables early detection of configuration errors

• Offline checks after each shutdown reduces accelerator startup time increases reliability of the control system

• Upload information about server links