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]