16
26 February 2009 Dietrich Beck CS CS -Framework Overview -Framework Overview • Ideas behind CS • Cooking recipe • Main Features • ...

CS -Framework Overview

  • Upload
    larya

  • View
    66

  • Download
    5

Embed Size (px)

DESCRIPTION

CS -Framework Overview. Ideas behind CS Cooking recipe Main Features. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: CS -Framework Overview

26 February 2009 Dietrich Beck

CSCS-Framework Overview-Framework Overview

• Ideas behind CS

• Cooking recipe

• Main Features

• ...

Page 2: CS -Framework Overview

26 February 2009 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

Page 3: CS -Framework Overview

26 February 2009 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

Page 4: CS -Framework Overview

26 February 2009 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

Page 5: CS -Framework Overview

26 February 2009 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)

Page 6: CS -Framework Overview

26 February 2009 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

Page 7: CS -Framework Overview

26 February 2009 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)

Page 8: CS -Framework Overview

26 February 2009 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)

Page 9: CS -Framework Overview

26 February 2009 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)

Page 10: CS -Framework Overview

26 February 2009 Dietrich Beck

Domain Management System: Domain Management System: Process Management in a Distributed EnvironmentProcess Management in a Distributed Environment

Page 11: CS -Framework Overview

26 February 2009 Dietrich Beck

DMS ViewerDMS Viewer

> 3 months

Page 12: CS -Framework Overview

26 February 2009 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

• 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

Page 13: CS -Framework Overview

26 February 2009 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?

Page 14: CS -Framework Overview

26 February 2009 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

Page 15: CS -Framework Overview

26 February 2009 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

– is now available world wide

Page 16: CS -Framework Overview

26 February 2009 Dietrich Beck

ConclusionConclusion

• CS 3.10 released for LV8.2.1. What about LV8.6? 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...