April 2005

Werbung
Stand und Entwicklung des CSKontrollsystem-Frameworks
• Motivation
• Prinzip
• Entwicklung
• Einsatz
• Ausblick
4. April 2005
Dietrich Beck, [email protected]
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.
bug reports, new features requested
add-ons may become part of framework
control system = framework + add-ons
bug fixes, new features, maintenance
04. April 2005
ECoS
Dietrich Beck, [email protected]
experiment
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, [email protected]
Idee des CS Frameworks
GUI
• Einzelne verteilte Objekte zuständig für
Unteraufgaben wie
– Benutzerschnittstelle
– Sequenzer
Sequencer
– Datenakquisition
– Geräteschnittstellen und –treiber.
• Ereignissteuerung als flexible Verbindung
Timing+DAQ
•Jedes Objekt kann direkt mit jedem anderen
kommunizieren (kein eingebauter Engpass).
Hohe Flexibilität durch standardisierte
Kommunikation: Rekonfiguration zur
Laufzeit eines Experiments möglich.
04. April 2005
Dietrich Beck, [email protected]
AFG
HV
Kochrezept
• 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, [email protected]
Beispiel für ein Kontrollsystem
User PC n
On-line Analysis GUI
(
Control GUI
DSC Interface
DataCollector
)
Central PC
DSC Engine
Sequencer
DiscArchiver
Data Acquisition
Timing
AFG
High Voltage
DataAcq. Instr. Driver
Timing Instr. Driver
AFG Instr. Driver
HV Instr. Driver
Front-end PC 1
SR430
Hardware
04. April 2005
Front-end PC n
PPG100
Software (Proc) Software (Lib) Exp. Specific
DS345
CS
Dietrich Beck, [email protected]
IHQF015p
Buy!
Event OPC
Demo...
?
04. April 2005
Dietrich Beck, [email protected]
Entwicklung 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, [email protected]
... 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, [email protected]
Noch eine Demo...
?
04. April 2005
Dietrich Beck, [email protected]
Anwender des CS Frameworks
• Einrichtungen mit bis zu 10.000 Prozessvariablen
• Experimente, die hohe Flexibilität benötigen
• System mit einer Vielzahl von Gerätetypen
Motion CaveA
SHIPTRAP
LEBIT
PHELIX
ISOLTRAP
GSI, Germany
REXTRAP
04. April 2005
CERN, Switzerland
MSU, USA
Dietrich Beck, [email protected]
data taking
commissioning
development
Performance
•
•
•
•
•
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, [email protected]
Zusammenfassung 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,...)
04. April 2005
Dietrich Beck, [email protected]
Herunterladen