An initial design of BEPCII control system
Download
Report
Transcript An initial design of BEPCII control system
A Preliminary design of
BEPCII database system
Database Group
Computing Center of IHEP
Aug/20/2002
Contents
Designing Goals
About Database
Data Stored
System Functions
Hardware Solution Choice
Software Solution Choice
Testbed
Designing Goals(1)
Database system plays an important role in
the control system of BEPCII accelerator.
The real-time data, history data and other
relevant information of the control system will
be stored in the database.
Through network and the friendly manmachine interface
users can share the data and information of
the control system.
Designing Goals(2)
keep a good knowledge of the running
status of BEPCII.
process various kinds of data and
information and do online and offline
analysis
About Database
EPICS database
a distributed real-time database resident in
VME/IOC memory. It’s used to store raw data
of devices channel signals.
Oracle database
a commercial RDBMS, which is used to
manage all static ,dynamic data and project
management information.
Data Stored (1)
Static parameters
machine parameters
parameters of lattice, twiss and magnet,
mechanical and alignment parameters
Equipment information
device name, signal name, physical I/O
address, scientific unit, calibration factors
and alarm conditions.
Configuration parameters
Data Stored (2)
Dynamic parameters
Device data
device status, readings and settings
Alarm data
records of device alarm
Beam parameters
BPM data, closed orbit parameters, DCCT.
beam current and so on.
All the real-time data are recorded with time stamp.
They are stored in binary and floating point numbers.
Data Stored (3)
Management information
Project management information
the documents of accelerator design, budget,
CPM plan, etc
Technical files
the documents for the accelerator
commissioning, HELP manuals, device
maintaining files and other technical files.
Personal information
System Functions (1)
Robustness
running on 24x7 heavy-duty system
fault-tolerance procedure
Concurrency
Data consistency in the case of multiple queries
(Select/Update/Insert)
Friendly User Interface
Graphical user interface
Client/Server and WWW as two manners to
access the BEPCII database.
System Functions (2)
Graphic display
some parameters in the database can be
plotted with 2D or 3D graphic tools
Database access control
only authorized users can add, delete or
modify records in the various tables, or
change the configuration parameters.
API (Application Programming Interface)
Allow access of a user application to oracle
database by providing API tools
System Functions (3)
Quering
records can be searched in specific condition and
displayed in both form of tables and graphics
Loading
datum can be imported into Oracle database from
an ASCII file or a MS Excel file.
Exporting
datum can be exported into MS Excel
allowing datum transported from the database to a
remote site in special form.
Display alarm records in a table
Hardware Solution Choice (1)
According to performance/cost ratio,
choose Sun server as mainstream platform.
Database Server
Type :Sun Fire V880 Server
CPU:2 x 900MHz UltraSPARCIII processor
Memory:4GByte
I/O: FC-AL disk controller
Disk:6 x 73GByte 10KRPM internal FC-AL Disk Driver
Network:Gigabit Ethernet and 10/100-BaseT Ethernet
Internal tape: Optional 12 GB DDS-3 or 20 GB DDS-4 single drive(s)
Power:3(N+1 random)Power Supplies and fans
Hardware Solution Choice (2)
Application Server and WEB Server
Type:Sun Fire280R Server
CPU:1 x 900MHz UltraSPARC III CPU,
8MByte UltraCache per Processor
Memory:1GByte Memory
Disk:2x36.4GB 10K RPM Internal FC-AL Disk Driver
Network:10/100-BaseT Ethernet
Power:Two Power Supplies
Software Solution Choice(1)
Database Management System
Oracle 9i is the preferred platform for the reasons
as follows:
Oracle database is widely used in control system of HEP
institutes throughout the world , such as KEK, BESSY,
SLAC and so on. It will make our collaboration with these
lab more easier.
Oracle 9i is the first ORDBMS (Object Relational Database
Management System) providing a nearly complete set of
object-oriented features, which makes ORDBMS become a
interesting candidate for HEP data storage.
The database application of BESIII and ARGO experiment
should be taken into consideration.
Software Solution Choice(2)
Development tools choice
There are many software development tools in
IT market, which in general are classified into
IDE (Integrated Development Environment)
tools and command-line-based tools.
IDE tools have high efficiency in the
development of software, but may need more
system resource.
Considering persistency environment, selecting
a suitable development tool is a key in our
system building.
Software Solution Choice(3)
IDE Tools: Oracle 9i Designer, Oracle 9i
JDeveloper
Non IDE Tools: C/C++, Java, Perl, PHP
We intend to use IDE tools
such as Oracle 9i Designer or Oracle 9i
JDeveloper
Software Solution Choice(4)
Software Engineering Tools
It is crucial to adopt Software Engineering
Methodology to develop a large software project .
UML(Unified Modeling Language) is the industrystandard language . It simplifies the complex process
of software design, making a "blueprint" for
construction. It can be applied to the various phases
of software life cycle.
UML will be used as tools to develop database system
for control system in whole software life cycle.
Project Schedule(1)
The
database
management
system
developing in our schedule should keep up
with BEPCII project.
We will obey
the Software Engineering
Methodology based on software life cycle
reference model to develop this software.
Details for phase and schedule go as follows:
Project schedule (2)
Tasks
1.Preliminary database
investigating
2.technical preparation
Schedule
system
Results
01/2002~07/2002
Project plan specification
The work was done.
08/2002~02/2003
User requirements and software
preliminary specification
03/2003~06/2003
writing the graphic documents
for user requirement analysis
and system preliminary design
with UML tools
Software
detail
design
specification
Source code
1.requirement
analysis and system
preliminary design
2. preparing for programming and
database technique
3. building the software developing
environment on SUN Solaris platform
4. knowing very well the APIs of EPICS
for real-time database/RDBMS
1. knowing very well UML language
1. system detail design
2. coding
System testing and running
07/2003-06/2004
07/2004-
Testbed (1)
Last year we built an Oracle database testbed
environment on Linux for the SAN(Storage Area
Network) project.
We have gained some knowledge of data
processing .
A small database system of real-time data of
beam diagnostic system have been completed
using PHP language and Oracle development
tools.
Testbed (2)
Three Layers System Architecture
ORACLE
OCI
OBJECT
CACHE
JAVA VM
Client
HTTP
IIOP
APACHE WEB
SERVER
HTML
SQL*PLUS
JDBC
Bepc
Tables
PL/SQL
JAVA
C/C++
PROC*C
ORACLE
LISTENER
NET8
PHP
SQL
JAVA VM
JAVA VM
Interface Module
Application Server(LINUX)
ORACLE 8i
Database Server
Testbed (3)
Database Server
ORACLE 8i R2 Enterprise Edition for Linux
Client
Any computer that supports HTTP protocol browser
Application Server
Web Server: Apache Web Server
Development tools :
PRO*C , Oracle OCI (Oracle Call Interface) , PL/SQL ,
PHP ,Java
Testbed (4)
PROC*C/C++: An Oracle Precompiler is a programming tool that
enables SQL statements embedded in context of c/c++ coding.
Oracle OCI:providing the head files and function libraries as a set
of oracle API for C/C++ calling.
PL/SQL: Oracle provides a Procedural Language. It supports SQL
and Oracle object-oriented programming, allowing one to create
software components that are modular, maintainable, and reusable.
PHP: the abbreviation " Hypertext Preprocessor“. It is an HTMLembedded scripting language. which looks similar to C, Java and Perl
in syntax . It runs on server end. The language is aiming to allow
web developers to write dynamically generated pages quickly.
Java: Which is a complete object-oriented program language. It has
a powerful ability of platform migrating.
Testbed (5)
System Function modules
Data acquirement
Real-time data display
History data query
History data graphic handling
User authentication
Testbed (6)
Figure 1: the quering results of history data
Testbed (7)
Figure 2: the running status of BEPC
Thanks !