14-Dec-2010IT/EE-Palaver, Dietrich Beck Status CS-Framework Introduction Status Lessons Learned.
7 February 2008Dietrich Beck CS-Framework Overview Ideas behind CS Cooking recipe Main Features...
-
Upload
janice-aubrie-henry -
Category
Documents
-
view
214 -
download
0
description
Transcript of 7 February 2008Dietrich Beck CS-Framework Overview Ideas behind CS Cooking recipe Main Features...
7 February 2008 Dietrich Beck
CSCS-Framework Overview-Framework Overview
• Ideas behind CS• Cooking recipe• Main Features• ...
7 February 2008 Dietrich Beck
Definition of the Definition of the CSCS frameworkframework
• provides features that are commonly needed by many experiments.
• can be maintained be a dedicated and central group.• allows for exchanging software and know-how.• saves man power.• should scale with future experiments.
control system = framework + add-ons
EE/KS experiment
bug reports, new features requestedadd-ons may become part of framework
bug fixes, new features, maintenance
7 February 2008 Dietrich Beck
Definition of the Definition of the CSCS framework framework
• Standardization of components• Flexibility: Plugging components together via events• Main emphasis: device control, not process control
Back-end (SCADA, GUI, ...)
Application layer (sequencer, ...)
Front-end (devices, drivers, ...)
Ansatz: "Three-layer architecture"
CycleControl
AFGTiming+DAQ HV
GUI
7 February 2008 Dietrich Beck
Cooking Recipe for the Cooking Recipe for the CSCS Framework Framework• One development tool LabVIEW• Standardization object oriented approach• Distribution to many nodes DIM (www.cern.ch/dim)
– Event driven communication for everything– Scaling to large systems by distribution– Remote access– …
• SCADA functionality (alarming, trending, …) LabVIEW DSC module
7 February 2008 Dietrich Beck
Object Orientation (OO) with Object Orientation (OO) with CSCS
• "BaseClass" provides basic
functionality (communication layer, active threads, ...)
• "DeviceClass" adds functionality according to specs of device "DS345".
• Instantiation: one object per device
"BaseClass"
"Device Class"
inheritance
AFG1AFG2
AFG3
• of course: classes for GUIs, Sequencer, State machines, ...
• OO implemented by CS using pure LabVIEW (no LVOOP)
7 February 2008 Dietrich Beck
Event basicsEvent basics
• an entity waits for the next event, no polling! • timeout handling is an important issue
publisher
subscriber subscriber subscriber
client client client
receiver
observer pattern: "one-to-many" command pattern: "many-to-one"
data command
example: radio, televisionadded in CS 3.0
example: typical human communicationsole possibility for CS < 3.0
7 February 2008 Dietrich Beck
Service
Example for a simple control systemExample for a simple control systemUser PC n
Control GUIOn-line Analysis GUI
Central PC
Sequencer
DataCollector DSC EngineDSC Interface
SR430 PPG100 DS345
Front-end PC 1
Data Acquisition
DataAcq. Instr. Driver
Timing
Timing Instr. Driver
AFG
AFG Instr. Driver
High Voltage
IHQF015p
Hardware Software (Proc) Software (Lib) Exp. Specific General Part Buy! Cmd OPC
Front-end PC n
DiscArchiver
(not shown)
7 February 2008 Dietrich Beck
Communication Layer: DIMCommunication Layer: DIM• Distributed Information Management: www.cern.ch/dim• originally developed at DELPHI@LEP/CERN around 1991• available for a multitude of platforms and languages• light-weight, aiming at high performance, based on TCP/IP• today: "backbone" of control systems for LHC experiments• concept: named services, peer-to-peer connections
DIM server A
DIM server B
DIM client 1
DIM client 2
service "i"
service "ii"
command "iii" DIM name server(negotiates connections)
7 February 2008 Dietrich Beck
DIM-LabVIEW PerformanceDIM-LabVIEW PerformanceEvent rate of LabVIEW DIM interface: WinXP versus Linux, local versus remote, inter-process
versus process-intern
1
10
100
1000
10000
100000
1 300 1000 3000 10000 30000 100000 300000 1000000 3000000 1E+07
Service Size [bytes]
Even
t Rat
e [H
z]WinPC->WinPC (local)
WinPC->WinPC (int)
WinPC->LxPC
LxPC->WinPC
LxPC->LxPC(local)
LxPC->LxPC(int)
Throughput of LabVIEW DIM interface: WinXP versus Linux, local versus remote, inter-process versus process-intern
0.0001
0.001
0.01
0.1
1
10
100
1 300 1000 3000 10000 30000 100000 300000 1000000 3000000 1E+07
Service Size [bytes]
Thro
ughp
ut [M
byte
s] WinPC->WinPC (local)
WinPC->WinPC (int)
WinPC->LxPC
LxPC->WinPC
LxPC->LxPC(local)
LxPC->LxPC(int)
7 February 2008 Dietrich Beck
Domain Management System: Domain Management System: Process Management in a Distributed EnvironmentProcess Management in a Distributed Environment
7 February 2008 Dietrich Beck
DMS ViewerDMS Viewer
7 February 2008 Dietrich Beck
CAS (CAS (CSCS Access System), I Access System), I• tree type structure• "tree parent" of each object defined by CSAccessServer• each object "inherits" the accessID from its parent• each object accepts only commands with correct accessID
7 February 2008 Dietrich Beck
CAS, IICAS, IIif "a" object acquires control of "another" object
– object "a" becomes the parent of "another" object– changes the "tree parent" of one object, restructures whole trees– requires username and password– users have roles
• a supervisor can take control of a sub-tree locked by an operator• another operator can't take control of a sub-tree locked by an operator
7 February 2008 Dietrich Beck
"Demo CAS""Demo CAS"
7 February 2008 Dietrich Beck
"Demo CAS""Demo CAS"
7 February 2008 Dietrich Beck
Usage of the CS framework todayUsage of the CS framework today
• experiments requiring high flexibility• experiments with a large variety of hardware types• experiments with up to 10,000 (1M possible) process variables
PHELIXPHELIX
Motion CaveAMotion CaveASHIPTRAPSHIPTRAP
ISOLTRAPISOLTRAP REXTRAPREXTRAP
LEBITLEBIT
GSI, GermanyGSI, GermanyMainz, GermanyMainz, GermanyGreifswald, GermanyGreifswald, GermanyCERN, SwitzerlandCERN, SwitzerlandMSU, USAMSU, USALanzhou, ChinaLanzhou, China
data takingdata taking
developmentdevelopment
commissioningcommissioningFOPIFOPI
RISINGRISING
others ...others ...HITRAPHITRAP LPTLPT
TrigaTRAPTrigaTRAP
ClusterTRAPClusterTRAP
7 February 2008 Dietrich Beck
Sources of Information, Code, ...Sources of Information, Code, ...• http://wiki.gsi.de/cgi-bin/view/CSframework/WebHome
– documentation – HOW-TOs– FAQs– ...
• https://sourceforge.net/projects/cs-framework/– downloads– bug reports– feature requests– mailing list– ...
• https://subversion.gsi.de/labview/trunk/– source code control system– based on Subversion– might be available world wide soon
7 February 2008 Dietrich Beck
ConclusionConclusion
• CS 3.10 released for LV8.2.1.• About 10-15 active users• 1,000,000 PVs demonstrated, an even larger number should
be feasible• 5,000 objects ( hardware devices) demonstrated, an even
larger number should be feasible• Stability of a distributed CS system is better than a few
hundred hours of continuous operation, requiring– binaries, dlls, etc. are NOT on a network drive (MS-Windows)– a node is rebooted and local processes are restarted after
installation of software updates (MS-Windows)– no power cuts...