February 18, 2010Dietrich Beck CS-Framework Overview (for newcomers) Ideas behind CS Cooking recipe...
-
Upload
reginald-newton -
Category
Documents
-
view
222 -
download
0
Transcript of February 18, 2010Dietrich Beck CS-Framework Overview (for newcomers) Ideas behind CS Cooking recipe...
February 18, 2010 Dietrich Beck
CSCS-Framework Overview-Framework Overview(for newcomers)(for newcomers)
• Ideas behind CS
• Cooking recipe
• Main Features
• ...
February 18, 2010 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 requested
add-ons may become part of framework
bug fixes, new features, maintenance
February 18, 2010 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
"It's a kind of toolbox plus some bricks..."
Back-end (SCADA, GUI, ...)
Application layer (sequencer, ...)
Front-end (devices, drivers, ...)
Ansatz: "Three-layer architecture"
CycleControl
AFGTiming+DAQ HV
GUI
February 18, 2010 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
February 18, 2010 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, ...
• object are active
• OO implemented by CS using pure LabVIEW (no LVOOP)
February 18, 2010 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"
datacommand
example: radio, televisionadded in CS 3.0
example: typical human communicationsole possibility for CS < 3.0
February 18, 2010 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)
February 18, 2010 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)
February 18, 2010 Dietrich Beck
DIM-LabVIEW PerformanceDIM-LabVIEW Performance
Event 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]
Eve
nt
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]
Th
rou
gh
pu
t [M
byt
es]
WinPC->WinPC (local)
WinPC->WinPC (int)
WinPC->LxPC
LxPC->WinPC
LxPC->LxPC(local)
LxPC->LxPC(int)
February 18, 2010 Dietrich Beck
Domain Management System: Domain Management System: Process Management in a Distributed EnvironmentProcess Management in a Distributed Environment
February 18, 2010 Dietrich Beck
DMS ViewerDMS Viewer
> 3 months
February 18, 2010 Dietrich Beck
Other Tools and Features IOther Tools and Features I
• configuration data base– queries via SQL– MS-Access as ODBC data source– only read access via central server– clients connect to server via TCP/IP
• operating system– core components run on MS-Windows and Linux (SuSE 10.3)– MS-Windows as typical platform– LabVIEW RT is deprecated, nobody is using CS on RT– (LabVIEW-DIM interface also working on Pharlap)
February 18, 2010 Dietrich Beck
Other Tools and Features IIOther Tools and Features II
• Base Class Collection (base classes with GUIs for devices...)– Motion– Powersupply– Digital I/O– Arbitrary Function Generator– Muli-Channel-Scaler– next: pattern generator, cameras
• ...
• CS Access System (CAS)– tree-like structure determined by CS Access Server– each node "inherits" lock status from its parent node– a feature many people asked for... Who is using it?
February 18, 2010 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, Germany
Mainz, GermanyMainz, Germany
Greifswald, GermanyGreifswald, Germany
CERN, SwitzerlandCERN, Switzerland
MSU, USAMSU, USA
Lanzhou, ChinaLanzhou, China
data takingdata taking
developmentdevelopment
commissioningcommissioningFOPIFOPI
RISINGRISING
others ...others ...HITRAPHITRAP LPTLPT
ClusterTRAPClusterTRAP
WITCHWITCH TrigaTRAPTrigaTRAP
February 18, 2010 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 (if you know, what your are looking for)
– bug reports
– feature requests
– mailing list
– ...
• https://subversion.gsi.de/labview/trunk/– source code control system
– based on Subversion
– is now available world wide
February 18, 2010 Dietrich Beck
ConclusionConclusion
• CS 3.13 released for LV8.2.1. What about LV8.6, LV2009? Holger
• 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
• test set-up: 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...