RPPA12_poster - MKS 2

Download Report

Transcript RPPA12_poster - MKS 2

The European
X-Ray Laser Project
XFEL
X-Ray Free-Electron Laser
Process Control:
Object Oriented Model for Offline Data
Ch. Gerke, T. Boeckmann, M. Clausen, J. Hatje, H. Rickens
Different tools using different
techniques generate different
configuration files.
The DESY Oracle relational
database is used as a common
repository,
Each application (corresponding
to different configuration files)
has a different set of tables
defined in the database.
Tables for different points of
interest are linked by columns
IO_name which contain symbolic
names for the relevant input or
output channel, respectively.
This same name is usually taken
from the R&D drawings.
EPICSORA uses Oracle Forms and Stored Procedures to
generate a GUI for the developer of EPICS database files (*.db)
In a first step there are “prototypes” defined for
each project.
They
• group several records together
• define some field values
• declare some parameters
• can be nested
• “feel” a bit like OO-classes.
Secondly “instances” are defined for the
appropriate prototypes. This usually just involves
assigning a value to a prototype’s parameter.
IO configurator uses Java classes to
represent the tree structure of field bus
systems. Hibernate is used to make the
objects persistent in the Oracle database
Instances “feel” a bit like OO-objects
A CSS plugin for the Profibus
field bus system is using the tree
viewer of JFace.
It takes information entered by the engineer and from the GSD-files
(General Station Description files) to produce the configuration and
parameterization files to be loaded to the Profibus Master.
Node
Classes and abstract classes
used to define the tree
properties of field bus systems.
The abstract classes contain
properties and methods useful
for all field bus systems.
The database definition provides
default values for the EPICS
database files
EPICSORA defines
deviating values on
several levels
The values different from the
default values are written to the
database file for the IOC
Deutsches Elektronen-Synchrotron DESY
Helmholtz Association of German Research Centres
22603 Hamburg, Germany
www.xfel.net
The concrete classes are
specific for the field bus system
in use. At present we are
implementing the Profibus field
bus.
-id
-name
-parent: NodeParent
+getParent()
+setParent()
NodeParent
-children: Node
+addChild()
+removeChild()
+getChildren()
+hasChildren()
Channel
Slave
Module
-slaveNumber
-moduleNumber
+getModules()
+setModules()
+getChannels()
+setChannels()
+getSlave()
+setSlave()
-channelNumber
-input: boolean
-digital: boolean
-ch_size: int
-ioName: String
+getModule()
+setModule()
+isDigital()
+setDigital()
+...()