170 likes | 189 Views
CS Framework Overview. Introduction Current Status Outlook and Time Schedule. Standardization of components Flexibility: Plugging components together via events Main emphasis: device control, not process control. GUI. Cycle Control. HV. Timing+DAQ. AFG.
E N D
CS Framework Overview Introduction Current Status Outlook and Time Schedule Dietrich Beck, GSI
Standardization of components Flexibility: Plugging components together via events Main emphasis: device control, not process control 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, GSI
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 CS framework Dietrich Beck, GSI
"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, ... • OO implemented by CS using pure LabVIEW (no LVOOP) Dietrich Beck, GSI
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, GSI
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, GSI
DSCIntProc class is reduced to a DIM-DSC Gateway DSCAlarm and DSCTrend class retrieve information from the DSC engine directly. Dedicated GUI class communicate via commands (events). SCADA Backend CS (DIM Server/Client) commands service data DSCTrend DSCAlarm DSCIntProc LabVIEW DSC module (trending, alarming, ...) Dietrich Beck, GSI
DSCIntProc class is used as a DIM-OPC Gateway Remark: In principle, the same DSCIntProc object may serve as a DIM-OPC gateway and a DIM-DSC interface. OPC Connectivity CS (DIM Server/Client) service data DSCIntProc LabVIEW DSC module (OPC Server/Client) Dietrich Beck, GSI
Domain Management System: Process Management in a Distributed Environment Dietrich Beck, GSI
DMS Server Dietrich Beck, GSI
DMS Client Dietrich Beck, GSI
DMS Viewer Dietrich Beck, GSI
Support for LabVIEW 7.1. DIM (www.cern.ch/dim) as communication layer real publisher-subscriber mechanism CSAccessSystem: reservation mechanism for (groups of) objects DomainManagementSystem: distributed process management (Windows, Linux) Source code control via SubVersion Packaging http://wiki.gsi.de/cgi-bin/view/CSframework/WebHome documentation HOW-TOs FAQs ... https://sourceforge.net/projects/cs-framework/ downloads bug reports feature requests ... (New) Features for CS 3.00 Dietrich Beck, GSI
Schedule as of February 2006 • 1st step: Change event mechanism to DIM using LV 7.1 • 2nd step: Migrate to LV 8.XX: to be done Dietrich Beck, GSI
Changes for CS 3.10 (until summer 2007) Mainly formal changes Porting code to LabVIEW 8.20 CS as a LabVIEW project (.lvproj) classes as LabVIEW libraries (.lvlib) change directory structure of file system need to search/replace a few sub-VIs No (or very little) changes in functionality Internal changes of LV-DIM interface Take into account changes in LV scheduler: An object must not be able to "commit suicide". Performance Same, after the control system has been configured (Creating objects takes considerably longer in development system). What next? LVOOP, CS 4.00, CS++ (OOPCS) ... ??? (Discussion tomorrow) Future Releases Dietrich Beck, GSI
CS 3.00 released for LV7.1. Porting CS to LV8.20 is ongoing: CS 3.10. 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 Consistent set-values are straight forward 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) Conclusion Dietrich Beck, GSI
DMS (Domain Management System) CS Inspector GOG CS 3.00 and CS 3.10 interoperability consistent set values CAS (CSAccess System) CAS Server via GOG Time for a Short Demo? Dietrich Beck, GSI