channel configuration management

Post on 04-Feb-2016

41 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

Andreas Lüdeke PCaPAC '02

Channel Configuration Management

Andreas Lüdeke

Swiss Light Source, PSI

• Introduction

• Design

• Implementation & Performance

• Usage & Outlook

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User InterfacePC

IOC IOC

HW HW HW

Andreas Lüdeke PCaPAC '02

Introduction

PC

IOC IOC

HW HW HW Actors / Sensors

Input / Output Controllers

User Interface

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User InterfacePC

IOC IOC

HW HW HW

Andreas Lüdeke PCaPAC '02

Introduction

Actors / Sensors

Input / Output Controllers

User Interface

Channels

PC

IOC IOC

HW HW HW

Andreas Lüdeke PCaPAC '02

Introduction

ClientApplications

Configuration Display Configuration Machine Model ... Channels

cba

PC

IOC IOC

HW HW HW

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

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

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

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

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

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

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

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

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

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

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

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

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

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

c

b

a g.adl

h.alh

i.conf

Config. Files

Server EPICS IOCs

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

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

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCs

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCs

Andreas Lüdeke PCaPAC '02

„EPICS“ Design

Clients

Server

Database

c

b

a g.adl

h.alh

i.conf

Config. Files

EPICS IOCsservic

e

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

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

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

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

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

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

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl Record Files

p.dbd, q.tmpl, r.subs

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmd

p.dbd, q.tmpl, r.subs

Record Files

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmddb2od

b

p.dbd, q.tmpl, r.subs

Record Files

Andreas Lüdeke PCaPAC '02

Service Implementation

EPICS IOC DatabaseBoot PC

startup.script

dbl

rcmddb2od

b

p.dbd, q.tmpl, r.subs

Record Files

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

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

Andreas Lüdeke PCaPAC '02

Parser Implementation

Config. Files DatabaseParser

LauncherConfiguration

lcf2odbcommand

lines

xpv g.adl

h.alh

i.confextract channels

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

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

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

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

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.

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

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

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

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

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 ));

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

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

top related