CS – a control system framework Dr. Dietrich Hans Beck, DVEE, GSI 20 November 2002.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

© 2007 Eaton Corporation. All rights reserved. LabVIEW State Machine Architectures Presented By Scott Sirrine Eaton Corporation.
Categories of I/O Devices
Processes Management.
COM vs. CORBA.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
2 nd Microsoft Rotor Workshop, Pisa, April 23-25, SCOOPLI for.NET: a library for concurrent object-oriented programming Volkan Arslan, Piotr Nienaltowski.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1: Operating Systems Overview
SE-565 Software System Requirements More UML Diagrams.
Fundamentals of Python: From First Programs Through Data Structures
Introduction to the CS framework Definition of a framework Requirements Example Idea Cooking recipe Some statements Dietrich Beck,
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Programming Network Servers Topic 6, Chapters 21, 22 Network Programming Kansas State University at Salina.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Project Management November.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
ALLIANCE Administration 20 Oct 2009 (Based on Release 2.2) Michaël Petit.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
DSCIntProc with LabVIEW 8.2 Motivation "Shared Variables" Difference to LabVIEW 7.1 New Configuration Tools.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
DCE (distributed computing environment) DCE (distributed computing environment)
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Remote Procedure Calls Adam Smith, Rodrigo Groppa, and Peter Tonner.
Java Threads 11 Threading and Concurrent Programming in Java Introduction and Definitions D.W. Denbo Introduction and Definitions D.W. Denbo.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Oracle Data Integrator Procedures, Advanced Workflows.
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
National Instruments Leadership Seminar
Report on data acquisition and control systems of trap facilities Dietrich Beck, DVEE/GSI, 23 th of May 2002
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
A Control System Framework Control System Workshop, 12 May 2003, A Control System Framework A control system framework for small (?) experiments.
DAT 332 SQL Server 2000 Data Transformation Services (DTS) Best Practices Euan Garden Product Unit Manager SQL Server Development Microsoft Corporation.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
01-Feb-2007Dietrich Beck, GSI LabVIEW DIM-Interface Motivation Event and DIM Basics Idea of LV-DIM Interface Example Performance.
Useful LabVIEW 8.20 Features CS Workshop 2007 February 2nd, 2007 Holger Brand, GSI.
February 18, 2010Dietrich Beck CS-Framework Overview (for newcomers) Ideas behind CS Cooking recipe Main Features...
The Control System (not only) for SHIPTRAP Dietrich Beck, DVEE/GSI, Motivation Requirements {The ISOLTRAP Control System SHIPTRAP and EU-Networks}
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
A Control System Framework DVEE Palaver, 4/2003, Dietrich Beck, A Control System Framework A control system framework for experiments at.
7 February 2008Dietrich Beck CS-Framework Overview Ideas behind CS Cooking recipe Main Features...
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
February 18, 2010Dietrich Beck CS-Status Results from workshop 2009 – what was planned for 2009 – what was done in 2009 Statistics Miscellaneous.
Introduction to the CS framework Definition of the CS framework Requirements Example Idea Cooking recipe Some statements Dietrich Beck,
Wednesday NI Vision Sessions
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
SSIS Templates, Configurations & Variables
Introduction Current Status Outlook and Time Schedule
Using Ada-C/C++ Changer as a Converter Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and.
Current Generation Hypervisor Type 1 Type 2.
Distributed Shared Memory
Data Transport for Online & Offline Processing
Self Healing and Dynamic Construction Framework:
CS-Framework Overview
The Client/Server Database Environment
Lecture 1 Runtime environments.
Department of Computer Science University of California, Santa Barbara
Page Replacement.
Chapter 2: System Structures
Fast Communication and User Level Parallelism
Copyright 2007 Oxford Consulting, Ltd
Channel Access Concepts
Lecture 1 Runtime environments.
CS-Status Results from workshop 2008 Statistics Miscellaneous
Chapter 3: Process Management
Presentation transcript:

CS – a control system framework Dr. Dietrich Hans Beck, DVEE, GSI 20 November 2002

- Why do we need a framework? Life-time of a control system > 10 years Experiments and their control systems grow in Size Functionality Complexity “Life-time” of a PhD student  2-3 years Dedicated “special” systems Limited reusability Full load of maintenance and development has to be carried by the experiments

20 November - … A framework Supplies functionality that is needed at many experiments Can be maintained centrally and developed further by a dedicated group Enables experiments to help each other Requires only little experiment-specific add-ons to implement a system for a specific experiments Saves man-power …

20 November - Typical Scenario for a Mass Measurement Cycle: stopping of ions ion the gas cell (static) extraction from the gas cell transfer capture and cool ions in the buncher ejection from the buncher (dynamic) transfer capture in the cooler trap mass selective buffer gas cooling ejection from the cooler trap transfer capture in the precision trap purification excitation of ion motion at  RF   c = (q/m) · B (  gain of energy) measurement of kinetic energy via a time-of-flight technique Scan: repeat cycle for different frequencies (minutes-days) 1s gas cellbunchercooler trapprec. trapdetector short-lived isotopes

20 November - Requirements to the CS framework Developer/Maintainer Only one software tool that is easy to use Commercial hardware and software tools Maintainability Well structured into small (independent) packages Applicable to many projects Documentation User Flexibility Stability Comfortable handling High-Performance, we have to run sequences with a precision of 100ns and at 1s intervals Access from and to everywhere

20 November - A general versus a performing tool High performance but too special General but too weak performance Optimal

20 November - Cooking recipe for the CS framework LabVIEW SCADA functionality (alarming, trending, security, …)  LabVIEW DSC module Object oriented design  ObjectVIEW Event driven communication between objects Multi-Threading Distributed system  TCP/IP Aimed at ISOLTRAP or SHIPTRAP like systems ( process variables)

20 November - Example for a simple control system Events: Function calls : Process: Library:

20 November - BaseProcess class Provides functionality for all child classes Two treads: event handling and periodic action. Optional: state machine in a 3 rd thread Watchdog for both threads Alarming and status logging of all treads Methods for event driven communication Simple (no answer from callee) Synchronous (wait for answer from callee) Asynchronous (answer from callee is sent elsewhere) Query event names and parameters THE base class of CS

20 November - No further use of wrappers Directly method calls to BaseProcess class (acquire, release, send msg,...) Faster, less problems when re-inheriting, faster mass compile,... Optional: use no multiwait, but message queues only „OET := FALSE“ (avoid „slow“ multiwait,...)

20 November - Example: DS345 class Class for AFG DS345 from SRS Child of BaseProcess class Adds events and methods Object template of the DS345 class

20 November - Add functionality: DS345.ProcCases Is called from the BaseProcess event loop via a “virtual function call” Calls the methods added Example: function call to the DS345.reset method. Triggered by an “Reset” event.

20 November - How to send an event: “call process” Call the Object “AFG1” (maybe instance of class DS345) on the remote node “abc123.gsi.de” with a “Reset” event

20 November - Simple Call LabVIEW message queue CallerCallee localhost CallerCallee node1node2 Client_node2Server_node1 TCP/IP thread of caller continues execution no feedback from callee (except: “callee does not exist”)

20 November - Synchronous Call LabVIEW message queue CallerCallee localhost Caller Callee node1node2 Client_node2Server_node1 TCP/IP 1 2 (temporary LabVIEW message queue) Server_node2Client_node1 thread of caller is blocked/waits until answer is received or call timed out no programmatic overhead needed for answer (success, act value, error…)

20 November - Asynchronous Call LabVIEW message queue Caller Callee localhost Caller Callee node1 node2 Client_node2Server_node1 TCP/IP 1 2 Client_node3 Async Callee node3 Server_node2 thread of caller continues execution parallel execution of tasks distributed over several nodes programmatic overhead needed to synchronize answer (success, act value, error)

20 November - Performance (700MHz, PIII) Synchronous call on local node: 3ms Synchronous call to remote node: 15ms 100 instances: CPU load < 10% Needs RAM: each instance takes a few Mbyte Robust communication

20 November - Status It works, but some functionality still missing Lots of new device classes are being implemented GPL license (but requires LabVIEW, toolkits (SQL, DSC, …) and ObjectVIEW) In operation at SHIPTRAP ISOLTRAP, PHELIX and LEBIT work has started, data taking in

20 November - ObjectVIEW – what could be better? Directories instead of LLBs (faster, easier handling without VI Library Manager, SSC,...) „Protected“ methods Improved creation of run-time environment OPC (without DataSocket) Re-Inheritance Date of class creation in XML description Duplicate methods in child class: default keep, optional overwrite Missing methods in parent class: default keep method of child class, optional delete Select multiple child classes for operations like replace or delete method

20 November - ObjectVIEW – what could be better… Copy class with change of icons Menu bar Easy multiple inheritance Automatic create of method templates „Copy/move“: target class is nonsense „Add method“ (and other actions): no change of class „Add new read method“: without lock