Title: A Framework for Experiment Control Systems
1A Framework for Experiment Control Systems
- CBM Collaboration-Meeting
- GSI, November 2002
- H. Brand,
- Thanks to D. Beck, who did the most of this work.
2Topics
- Motivation
- Requirements
- Hardware
- Architecture
- Status Conclusion Outlook
3Motivation
- Start discussion aboutExperiment Control Systems
- Working Group
- Collection of Requirement Specifications
- Coordination of Future GSI Experiments,refer to
Synergy-Meeting - Offer support from DVEE, GSI
- Presentation of a Framework for Experiment
Control Systems based on LabVIEW ObjectVIEW - http//labview.gsi.de/CS/cs.htm
- http//www.ni.com, http//www.objectVIEW.de
4SHIPTRAP
5SHIPTRAPExperimental Setup
100
50
50
50
50
STOP-CELL
EXTRACTION RFQ
BUNCHER COOLER
TRANSFER REGION
PREPARATIONTRAP
PRECISION TRAP
cold Ionenpakets
Extraction to ext. Experiments
z.B. Mass-Measuement
SHIP
Number of Parameter
6SHIPTRAPTypical Measurement Cycle
- Cyclus
- Stop ions in stopping celle (static)
- Extraktion from Stopping cell
- Transfer
- Capture and cooling of ions in buncher
- Extraktion from Buncher (dynamic)
- Transfer
- Capture in preparation trap
- Mass selective buffer gas cooling
- Extraktion from cooler trap
- Transfer
- Capture in precision trap
- Removal of unwanted ions
- Excitation of ion
movement ?RF ? ?c (q/m) B - Detection of excitation
with Time Of Flight methode - Scan Cycle repitition for different excitation
frequencies 10s-1min
ms-1s
7500 J _at_ 1 ns
1,3 kJ _at_ 1 ns
10 J
fs Oszillator
ns Oszillator
1 kJ _at_ 10 ns
4 kJ _at_ 10 ns
nJ
mJ
50 mJ
Frontend
Preamplifier
1 kJ Amplifier
4 kJ Amplifier
Options fs-Pulse 500 fs, 500 J ?
1015 W ns-Pulse 0.5 bis 10 ns , 1-4 kJ
8Experimental Areas
- ESR
- fs-Pulse (10J)
- fs-Pulse (500J)
9PHELIXSetup
- Continuous measurements
- Alignment
- Stability
- Energie
- Mode
- Vacumm etc.
- Shot repitition rates
- fs-frontend
- 10 Hz, 50 mJ
- ns-frontend
- 10 Hz, 50 mJ
- Preamp
- 1/min, 10 J
- Mainamp
- 1/h, 0,5-4 kJ
10PHELIX Controls Parameter
- Laser Diagnostics
- 30 spatial and spectral beam profiles
- Digital Cameras (IEEE-1394)
- 10 temporal beam profiles
- Fast diodes and Oscilloscopes (GPIB)
- 10 Pulse Energy
- Power meter (RS232)
- HV Control
- 12 Power supplies, Ignitrons, Dumps
- 100 digital outputs
- 10 DACs
- 260 digital Inputs
- 50 ADCs
- Beckhoff Bus Terminals and Profibus, OPC
- Motion
- 100 Axis for alignment etc.
- Trinamics SickPack
- Slow Control
- Vaccum
- N2-Flow
- Temperatur
- Crosshairs, etc
- Beckhoff Bus Terminals and Profibus, OPC
- Other Subsystems
- Timing, SR535
- Safety System
- Pump Laser
- Accelerator Control
11Requirements
- Active System Control, Time resolution ps s
- 100 1000(0 or more?) Process Tags
- Object Oriented, Event driven, Multi Threaded,
Synchronization - High Flexibility
- Several different operating modes
- New (not foreseen) experimental methods
- Operating and Maintenance with post graduates
- Easy to use development system
- Easy development or modification of GUIs
- Hardware and driver should be commercially
available - Easy Data Acquisition
- Reusability for other experiments
12Hardware I
- Instruments
- Vacuum Pump Controller, Gas Inlet Controller,
Active Gauge Controller - Oscilloscopes
- Arbitrary Function-, Gate Delay-, Pulse
Pattern-Generator - High Voltage
- Motion, Vision
- Digital analog Input and Output
- Fieldbusses
- RS232, RS485, GPIB, CAN, Profibus, Firewire
- Interfaces to Ethernet
- WT Comserver (RS232/485)
- NI RS232/RS485-ENET, GPIB-ENET
- Profibus (COMSOFT, Beckhoff, Siemens) OPC
13Hardware II
14Hardware III
15Das ISOLTRAP Kontrollsystem (1990)
- A Control system for 7(2) experiments A
general control system with experiment specific
extensions
- Separation of functions
- Each function has its own process
- Event driven communication between processes
- A device can be exchanged together with its
process on the fly - Reconfiguring of the experiments at runtime
- Interface-Modules outdated and driver not
commercially available - OS/9, C, Assembler, WinNT, C,
- No alarm-, trending and protokoll functionality
http//isoltrap.web.cern.ch/isoltrap/
16Recipe for the SHIPTRAP Control System
- Take the fundamental ideas and the (modified)
architecture of the ISOLTRAP Control Systems - Implementation with LabVIEW
- Use DSC Modul (Data Logging and Supervisory
Control früher BridgeVIEW) for protocol, trending
and alarm functionality - Make an object oriented design using ObjectVIEW
(G) of Vogel Automatisierungstechnik,
http//www.ObjectVIEW.de - Classes
- Inheritance
- Multi threaded, Event driven, State automates,
Network distributed - G ? C, Methods of child class are calling
methods of parent class ? Number of inheritance
levels should be small.
17Functionality ofBaseProcess Class
set tags
set watchdog alarm
DSC Engine
DSCIntProc
SuperProc
inheritance
watchdog
set status and error
install/remove
Device Process
BaseProcess
- Three independent loops (threads) for event
handling, periodic actions and a state automate - Parent class of ALL other classes (of the general
part of this framework) - Child classes are adding their own events,
attribute and methods - Builtin watchdog functionality
- Communication between processes via calls.
- simple (without response)
- synchronous (wait for response)
- asynchronous (response will be sent
asynchronuosly) - Protocol-, trending and alarm functionality via
DSC Interface Process
18Software-Construction Kit
n
Central PC
Comm. Interface
DSC Engine
DSC Interface
Data Server
Central Process
Super
1
Super
n
19Simple Call
Caller
Callee
Client_node2
Server_node1
node1
node2
- thread of caller continues execution
- no feedback from callee (except callee does not
exist)
LabVIEW message queue
TCP/IP
20Synchronous Call
1
Caller
Callee
2 (temporary LabVIEW message queue)
localhost
Client_node2
Server_node1
Callee
Caller
Server_node2
Client_node1
node1
node2
- thread of caller is blocked/waits until answer is
received or call timed out - no programmatic overhead needed for answer
(success, act value, error)
LabVIEW message queue
TCP/IP
21SHIPTRAP CS
User PC
Control GUI
On-line Analysis GUI
APPCIN14
DSC Engine
DSC Interface
DataCollector
Super
CentralProcess
DiscArchiver
Super
APPCIN03
? PC
Super
Timing
AFG
SR430
Timing Instr. Driver
AFG Instr. Driver
SR430 Instr. Driver
Frond-end PC
Frond-end PC
PPG100
DS345
SR430
Hardware
Software (Proc)
Software (Lib)
Exp. Specific
General Part
Buy!
22Framework Classes Tools
- Main VI
- Startup and shutdown of the complete system
- Super
- DeviceProcess list
- Watchdog
- Instantiates preconfigured objects from database
(Access, Oracle) - DSCIntProc encapsulates the DCS-Module
- Communication Interface for Network communication
- NI-VI Server
- Queue Server Client
- Server Client for notifier etc. in preparation
- General Class GUI
23DeviceProcesses,already existing
- Multi Channel Scaler SR430
- Arbitrary Function Generator DS345
- Pulse Pattern Generator PPG100
- IVIOscillocope, Tektronix TDS640, Scope-GUI
- Motion, IEF-Werner
- Controller, Axis, GUI
24DeviceProcesses,in preparation
- Arbitrary Function Generator AWG510
- Gate Delay Generator DS535, BNC555
- Motion, Trinamics
- Controller, Axis, GUI
- Vision with NI-IMAQ, NI Framegrabber, Firewire
Cameras - Controller, Camera, GUI
- ...
25Status
- Experiment specific part of the Control Systems
for - SHIPTRAP PHELIX
- User and software requirement specifications are
still under development - Prototyps and test applications in use
- SHIPTRAP has finished first beamtime
- General part of the Controll Systems
- Device driver (-prototypen) are available
- Architecture of the core system is ready
- First test system Motion controll for 16 Axis
- This system is also a good candidate for controll
systems for other experiments HITRAP (GSI),
ISOLTRAP (GSI/CERN), LEBIT (MSU), WITCH
(Leuven), ... !!!!!!! - First version for SHIPTRAP in autumn 2002!
Running!
26Conclusion
- Object oriented and event driven control system
with LabVIEW seems to be feasable - Performance
- Local simple calls ms
- Local synchronous calls 3 ms
- Remote synchronous calls 15 ms
- 100 BaseProcesses, 1 Super, DSCIntProc
DSC-Engine 10 CPU (10s Watchdog only) - PIII, 700MHz, 512MB
27Outlook
- Implementation of
- Graphical State Automates
- Harel State Chart, Petri Nets
- ObjectNets
- SCADA Functionality
- Mobile Agents with LabVIEW?