Download - Channel Configuration Management
![Page 1: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/2.jpg)
Andreas Lüdeke PCaPAC '02
Introduction
Actors / Sensors
Input / Output Controllers
User InterfacePC
IOC IOC
HW HW HW
![Page 3: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/3.jpg)
Andreas Lüdeke PCaPAC '02
Introduction
PC
IOC IOC
HW HW HW Actors / Sensors
Input / Output Controllers
User Interface
![Page 4: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/4.jpg)
Andreas Lüdeke PCaPAC '02
Introduction
Actors / Sensors
Input / Output Controllers
User InterfacePC
IOC IOC
HW HW HW
![Page 5: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/12.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/16.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/24.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/25.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/26.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/27.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/28.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/29.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/30.jpg)
Andreas Lüdeke PCaPAC '02
Service Implementation
EPICS IOC DatabaseBoot PC
startup.script p.dbd, q.tmpl, r.subs
![Page 31: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/31.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/32.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/33.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/34.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/35.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/36.jpg)
Andreas Lüdeke PCaPAC '02
Parser Implementation
Config. Files DatabaseParser
LauncherConfiguration
lcf2odbcommand
lines
![Page 37: Channel Configuration Management](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/37.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/38.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/39.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/40.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/41.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/42.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/43.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/44.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/45.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/46.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/47.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/48.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/49.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/50.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/51.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062222/56815a69550346895dc7bd09/html5/thumbnails/52.jpg)
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