Upload
julia-butler
View
221
Download
0
Embed Size (px)
Citation preview
Report on data acquisition and control systems of trap facilities
Dietrich Beck, DVEE/GSI, 23th of May 2002
•http://labview.gsi.de
•http://www-wnt.gsi.de/shiptrap/
•http://labview.gsi.de/CS/cs.htm
Institute – Exp. Platform Software Status Contact CommentKVI - Trip
Jyvaskyla
GSI - SHIPTRAP PC(WinNT) LabVIEW + G++ development [email protected]
GSI - HITRAP PC(WinNT) LabVIEW + G++ planned [email protected]
University of Ferrara
LPC PC(WinNT) + X Labwin CVI + Java [email protected]
K.U. Leuven - WITCH PC(WinNT) LabVIEW development [email protected]
CSNSM - MISTRAL operational
LMU
University of Mainz
University of Warsaw
CERN - ISOLTRAP PC(Win2000)
VME(OS/9)
C++
C, Assembler
operational [email protected] switch to LV ?
CERN - REXTRAP PC(Win2000)
VME(OS/9)
C++
C, Assembler
operational [email protected]
Imperial College [email protected]
Typical Scenario for a Mass MeasurementCycle: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)
1s134Nd
Requirements to the control system
• Active control in real-time with a precision of 100ns• 300 -1000 process variables (most of them are “static” )• “ simple” data acquisition• High flexibility
– SHIPTRAP has many different operational modes– new (not yet foreseeable) experimental techniques
• Control System to be maintained by a PhD student1. development environment must be easy to learn2. creation and changing of GUIs should be simple3. hardware and drivers have to be commercially available
• Reusable for other (trap) experiments, if possible
HardwareVacuum pump controller TC600,
TCM1601
RS485 Pfeiffer
Active Gauge Controller AGC RS232 Edwards
Gas inlet controller RVC200 RS232 Pfeiffer
Pulse Pattern Generator PPG100 ISA Becker & Hickl
Arbitrary Function Generator DS345 GPIB Stanford Research
High voltage power supplies CAN iseg
Multi I/O card 6024E PCI National Instruments
CAN-Bus interface PCI National Instruments
RS485 interface PCI National Instruments
GPIB interface PCI, Ethernet
National Instruments
Transient Recorder PCI National Instruments
Multi Channel Scaler SR430 GPIB Stanford Research
Cooking Recipe for the SHIPTRAP Control System
1. Take the concept and the (modified) design from the ISOLTRAP CS2. Implement the control system with LabVIEW, 3. Add the DSC module (former BridgeVIEW) for trending and alarming,4. Use a G++ toolkit to implement the CS in an object oriented way
• Classes• Inheritance• G++ C++ limited number of levels of inheritance (VIs of the new
class have links to VIs of the parent class )
Device Process
DSC EngineDSCIntProcSuperProc
watchdog
set tagsset watchdog alarm
set status and error
1. Individual event, periodic action and state machine loops (three threads)2. Watchdog (event and periodic action loop)3. Communication between processes via calls
a) Simple (one way)b) Synchronous (wait for answer)c) Asynchronous (answer will be sent later)
4. Trending and alarming via the DSC interface process5. Parent class for ALL other processes6. Daughter classes add new events, attributes and methods
Functionality of the BaseProcess Class
BaseProcess
inheritanceinstall/remove
Simple Call
LabVIEW message queue
Caller Callee
localhost
Caller Callee
node1 node2
Client_node2 Server_node1
TCP/IP
•thread of caller continues execution
•no feedback from callee (except: “callee does not exist”)
Synchronous Call
LabVIEW message queue
Caller Callee
localhost
Caller Callee
node1 node2
Client_node2 Server_node1
TCP/IP
1
2 (temporary LabVIEW message queue)
Server_node2 Client_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…)
Asynchronous Call
LabVIEW message queue
Caller
Callee
localhost
Caller
Calleenode1
node2
Client_node2 Server_node1
TCP/IP
1
2
Client_node3
Async Callee
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)
Toolkit User PC
Control GUIOn-line Analysis GUI
Central PC
Central Process
Comm. InterfaceData Server DSC EngineDSC Interface
SR430 PPG100 DS345
Frond-end PC
Comm. Interface
Data Acquisition
DataAcq. Instr. Driver
Timing
Timing Instr. Driver
AFG
AFG Instr. Driver
High Voltage
HV Instr. Driver
IHQF015p
Super
Hardware Software (Proc) Software (Lib) Exp. Specific General Part Buy! Call OPC TCP/IP?
Super
Frond-end PC
Comm. Interface Super
ToolkitUser PC
Central PC
Frond-end PC Frond-end PC
Performance• Trending: each action in each process is monitored via trending
• Alarming: each error in each process is monitored via alarming
• Watchdog: event thread and periodic action thread of each process
• RAM: each process takes about 300-400kByte
• CPU: overhead for 50 processes is about 10% CPU time (PIII 700MHz)
• No real time system!
• “Roundtrip” time for local synchronous call is 11ms (overhead: see above; PIII 700MHz)
• “Roundtrip” time for remote synchronous call is 33ms (overhead: see above; PIII 700MHz PIII 500MHz PIII 700MHz)
Status and OutlookSHIPTRAP specific part
• Work has started
• Test version (including data acquisition, timing and frequencies) summer 2002
• “Final System” summer 2003
• Late 2001: first beam time with prototype of an old version
General part of the control system
• Quite a few instrument drivers (or prototypes)
• Core classes BaseProcess, SuperProc, DSCIntProc QueueServer and QueueClient are „finished“
• Classes for DS345, PPG100, SR430, IVI-Scopes “finished”
Coworkers• Faouzi Attallah (AP)
• Dietrich Beck (DVEE)
• Holger Brand (DVEE)
• Klaus Poppensieker (DVEE)
• Wolfgang Quint (AP)
• Johannes Schönfelder, August 2000-June2001 (AP)
• Christian Toader, August 1999-August 2000 (AP)