4. April 2005Dietrich Beck, d.beck@gsi.de Stand und Entwicklung des CS- Kontrollsystem-Frameworks...

Preview:

Citation preview

4. April 2005 Dietrich Beck, d.beck@gsi.de

Stand und Entwicklung des Stand und Entwicklung des CSCS--Kontrollsystem-FrameworksKontrollsystem-Frameworks

• Motivation

• Prinzip

• Entwicklung

• Einsatz

• AusblickDem

o

04. April 2005 Dietrich Beck, d.beck@gsi.de

Ein Framework ...Ein Framework ...

• stellt Funktionalität bereit, die für viele Experimente notwendig ist.

• wird von einer zentralen Gruppe gewartet und entwickelt.

• erlaubt den Austausch von Software und Know-how.

• Wiederverwendbarkeit spart Entwicklungszeit.

• sollte für zukünftige Experimente entsprechend skalieren.

control system = framework + add-ons

ECoS experiment

bug reports, new features requested add-ons may become part of framework

bug fixes, new features, maintenance

04. April 2005 Dietrich Beck, d.beck@gsi.de

Mitwirkende...Mitwirkende...

Dietrich Beck, Holger Brand, Chabouh Yazidjian, Klaus Blaum, Frank Herfurth, Sumit Saxena, Stefan Götte, Wolfgang Geithner, Christian Rauth, Manas Mukherjee, Romain Savreux, Stefan Schwarz, ...

04. April 2005 Dietrich Beck, d.beck@gsi.de

Idee des Idee des CSCS Frameworks Frameworks

• Einzelne verteilte Objekte zuständig für Unteraufgaben wie

– Benutzerschnittstelle

– Sequenzer

– Datenakquisition

– Geräteschnittstellen und –treiber.

• Ereignissteuerung als flexible Verbindung

•Jedes Objekt kann direkt mit jedem anderen kommunizieren (kein eingebauter Engpass).

Hohe Flexibilität durch standardisierte Kommunikation: Rekonfiguration zur Laufzeit eines Experiments möglich.

Sequencer

AFGTiming+DAQ HV

GUI

04. April 2005 Dietrich Beck, d.beck@gsi.de

KochrezeptKochrezept• Ein Entwicklungswerkzeug LabVIEW

– leicht erlernbar– Multi-Threading– Ereignissteuerung

• Objektorientierter Ansatz– Kapselung von Details: “information hiding”– Abstraktion– Erzeugung von Objekten/Prozessen zur Laufzeit– relativ flache Klassenhierarchie

• SCADA Funktionalität (alarming, trending, …) LabVIEW DSC

• System auf viele Knoten verteilt Ereignisse, Daten via TCP/IP– Skalierbarkeit– Zugriff von außen

• Konfiguration– auf niedriger Ebene: über Datenbank (Busadressen, ...) SQL, vereinzelt ini-Files– auf höherer Ebene, experimentspezifisch: Sequenzer, GUIs, ....

04. April 2005 Dietrich Beck, d.beck@gsi.de

Beispiel für ein KontrollsystemBeispiel für ein KontrollsystemUser 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

HV Instr. Driver

IHQF015p

Hardware Software (Proc) Software (Lib) Exp. Specific CS Buy! Event OPC

Front-end PC n

DiscArchiver( )

04. April 2005 Dietrich Beck, d.beck@gsi.de

Demo...Demo...

?

04. April 2005 Dietrich Beck, d.beck@gsi.de

Entwicklung bis heuteEntwicklung bis heute

• Basisklassen:– "verteilte Ereignissteuerung", Attributdatenverwaltung, einfache

Zustandsmaschinen, SCADA...

• Geräteklassen:– TDS224, TDS640, LeCroy9314A, NI5112, NI6602, SR430,

NI(DAQmx), "IVI-Scope"– SR345, AG33250A, HP3325B, SML01, "IVI-FGen"– BNC555, PPG100, QC9310, SRDG535, MA202– Trinamics, IEF-Werner, NF87xx– "4Wins" – EHQF..., FUG-HCN, HP6629A, NI(DAQmx), Profibus(analog), ...– RVC300, TPC123– IMAQ1394, USBCam, ...

04. April 2005 Dietrich Beck, d.beck@gsi.de

... Entwicklung ...... Entwicklung ...

• Oktober 2002, V1.00: Erste einsatzfähige Version, noch basierend auf ObjectVIEW

• SCADA – Interface als Quelle für Ereignisse (OPC, ...)

• DIM – Interface (DIM: CERN Standard für das Verteilen von Ereignissen und Daten)

• Oktober 2004, V2.00: Kompletter Umbau des Kerns, endlich unabhängig von ObjectVIEW

• Portierung zu Linux

• Teilweise Portierung zu PharLap (LabVIEW RT)

• DomainConsole: Überwachen und automatischer (Neu-)Start von Prozessen.

04. April 2005 Dietrich Beck, d.beck@gsi.de

Noch eine Demo... Noch eine Demo...

?

04. April 2005 Dietrich Beck, d.beck@gsi.de

Anwender des Anwender des CSCS Frameworks Frameworks

• Einrichtungen mit bis zu 10.000 Prozessvariablen

• Experimente, die hohe Flexibilität benötigen

• System mit einer Vielzahl von Gerätetypen

PHELIXPHELIX

Motion CaveAMotion CaveA

SHIPTRAPSHIPTRAP

ISOLTRAPISOLTRAP

REXTRAPREXTRAP

LEBITLEBIT

GSI, GermanyGSI, Germany

CERN, SwitzerlandCERN, Switzerland

MSU, USAMSU, USA

data takingdata taking

developmentdevelopment

commissioningcommissioning

04. April 2005 Dietrich Beck, d.beck@gsi.de

PerformancePerformance

• pro PC ca. 100-200 aktive Objekte oder Geräte

• Eventrate ca. 1-2 kHz (synchron, mit SCADA Overhead)

• braucht: 700MHz PIII, 1GByte RAM

• aber auch: NI-Fieldpoint, "embedded" 486er, 8MByte RAM

• Stabilität: typisch einige hundert Stunden Laufzeit

Limitierungen:

• Skalierbarkeit: Speicherverwaltung von LV, DSC-Engine

• aktuell: TCP-Verhalten von LV

04. April 2005 Dietrich Beck, d.beck@gsi.de

Zusammenfassung und AusblickZusammenfassung und Ausblick

• CS wurde von Experimenten positiv aufgenommen

• CS Entwickler brauchen Einarbeitungszeit und Vorkenntnisse

• CS ist im Einsatz und "produziert" Veröffentlichungen

• bessere Skalierbarkeit ab LabVIEW 8?

Implementierung einer "Application Layer" Benutzerverwaltung Reservierung von Subsystemen mehr Abstraktion? (Objektnetze,...)

Recommended