160 likes | 308 Views
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
E N D
CS-Framework Overview Ideas behind CS Cooking recipe Main Features ... Dietrich Beck
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 Definition of the CSframework add-ons may become part of framework bug reports, new features requested experiment EE/KS bug fixes, new features, maintenance Dietrich Beck
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..." GUI Cycle Control HV Timing+DAQ AFG Definition of the CS framework "Three-layer architecture" Back-end (SCADA, GUI, ...) Ansatz: Application layer (sequencer, ...) Front-end (devices, drivers, ...) Dietrich Beck
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 Cooking Recipe for the CS Framework Dietrich Beck
"BaseClass" provides basic functionality (communication layer, active threads, ...) "DeviceClass" adds functionality according to specs of device "DS345" Instantiation: one object per device Object Orientation (OO) with CS "BaseClass" inheritance "Device Class" AFG3 AFG1 AFG2 • of course: classes for GUIs, Sequencer, State machines, ... • object are active • OO implemented by CS using pure LabVIEW (no LVOOP) Dietrich Beck
an entity waits for the next event, no polling! timeout handling is an important issue Event basics command pattern: "many-to-one" observer pattern: "one-to-many" client client client publisher data command subscriber subscriber subscriber receiver example: radio, television added in CS 3.0 example: typical human communication sole possibility for CS < 3.0 Dietrich Beck
Cmd OPC Example for a simple control system User PC n On-line Analysis GUI Control GUI Central PC DSC Interface DSC Engine DataCollector Sequencer DiscArchiver Data Acquisition Timing AFG High Voltage DataAcq. Instr. Driver Timing Instr. Driver AFG Instr. Driver Front-end PC 1 Front-end PC n SR430 PPG100 DS345 IHQF015p Hardware Software (Proc) Software (Lib) Exp. Specific General Part Buy! Service (not shown) Dietrich Beck
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 Communication Layer: DIM DIM name server (negotiates connections) DIM client 1 command "iii" DIM server A service "i" DIM server B DIM client 2 service "ii" Dietrich Beck
DIM-LabVIEW Performance Dietrich Beck
Domain Management System: Process Management in a Distributed Environment Dietrich Beck
DMS Viewer > 3 months Dietrich Beck
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 Other Tools and Features I Dietrich Beck
Base Class Collection (base classes with GUIs for devices...) Motion Powersupply Digital I/O Arbitrary Function Generator Muli-Channel-Scaler next: pattern generator, cameras ... CSAccess 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? Other Tools and Features II Dietrich Beck
experiments requiring high flexibility experiments with a large variety of hardware types experiments with up to 10,000 (1M possible) process variables PHELIX SHIPTRAP ISOLTRAP LEBIT data taking Motion CaveA others ... Motion CaveA RISING HITRAP FOPI commissioning REXTRAP TrigaTRAP WITCH development Usage of the CS framework today ClusterTRAP LPT GSI, Germany Mainz, Germany Greifswald, Germany CERN, Switzerland MSU, USA Lanzhou, China Dietrich Beck
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 Sources of Information, Code, ... Dietrich Beck
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... Conclusion Dietrich Beck