8151eb39b2e57bdb8cf83b297f285921.ppt
- Количество слайдов: 15
Report on data acquisition and control systems of trap facilities Dietrich Beck, DVEE/GSI, 23 th 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 GSI - SHIPTRAP PC(Win. NT) Lab. VIEW + G++ development d. beck@gsi. de GSI - HITRAP PC(Win. NT) Lab. VIEW + G++ planned Comment KVI - Tri p Jyvaskyla w. quint@gsi. de University of Ferrara LPC PC(Win. NT) + X Labwin CVI + Java K. U. Leuven - WITCH PC(Win. NT) Lab. VIEW CSNSM - MISTRAL mauger@caelav. in 2 p 3. fr development axel. lindroth@fys. kuleuven. ac. be operational LMU University of Mainz University of Warsaw CERN - ISOLTRAP CERN - REXTRAP Imperial College PC(Win 2000) VME(OS/9) C++ C, Assembler operational Frank. Herfurth@cern. ch operational Friedhelm. Ames@cern. ch r. c. thompson@ic. ac. uk switch to LV ?
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 1 s 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)
Requirements to the control system • • • Active control in real-time with a precision of 100 ns 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 Ph. D student 1. development environment must be easy to learn 2. creation and changing of GUIs should be simple 3. hardware and drivers have to be commercially available Reusable for other (trap) experiments, if possible
Hardware Vacuum pump controller TC 600, TCM 1601 RS 485 Pfeiffer Active Gauge Controller AGC RS 232 Edwards Gas inlet controller RVC 200 RS 232 Pfeiffer Pulse Pattern Generator PPG 100 ISA Becker & Hickl Arbitrary Function Generator DS 345 GPIB Stanford Research CAN iseg PCI National Instruments CAN-Bus interface PCI National Instruments RS 485 interface PCI National Instruments GPIB interface PCI, Ethernet National Instruments Transient Recorder PCI National Instruments GPIB Stanford Research High voltage power supplies Multi I/O card Multi Channel Scaler 6024 E SR 430
Cooking Recipe for the SHIPTRAP Control System 1. 2. 3. 4. Take the concept and the (modified) design from the ISOLTRAP CS Implement the control system with Lab. VIEW, Add the DSC module (former Bridge. VIEW) for trending and alarming, 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 )
Functionality of the Base. Process Class set watchdog alarm Super. Proc set tags DSCInt. Proc DSC Engine inheritance install/remove watchdog set status and error Device Process 1. 2. 3. 4. 5. 6. Base. Process Individual event, periodic action and state machine loops (three threads) Watchdog (event and periodic action loop) Communication between processes via calls a) Simple (one way) b) Synchronous (wait for answer) c) Asynchronous (answer will be sent later) Trending and alarming via the DSC interface process Parent class for ALL other processes Daughter classes add new events, attributes and methods
Simple Caller Callee localhost Caller node 1 Client_node 2 Server_node 1 node 2 • thread of caller continues execution • no feedback from callee (except: “callee does not exist”) Lab. VIEW message queue TCP/IP Callee
Synchronous Call 1 Caller Callee 2 (temporary Lab. VIEW message queue) localhost Client_node 2 Server_node 1 Callee Caller Server_node 2 Client_node 1 • thread of caller is blocked/waits until answer is received or call timed out • no programmatic overhead needed for answer (success, act value, error…) Lab. VIEW message queue TCP/IP node 2
Asynchronous Call 1 Caller Callee Async Callee 2 localhost Caller Client_node 2 Server_node 1 Async Callee node 3 Callee Server_node 2 Client_node 3 node 2 • thread of caller continues execution • parallel execution of tasks distributed over several nodes • programmatic overhead needed to synchronize answer (success, act value, error) Lab. VIEW message queue TCP/IP
Toolkit User PC On-line Analysis GUI Control GUI Central PC Comm. Interface Data Server Super DSC Interface DSC Engine Central Process Comm. Interface Data Acquisition Timing AFG High Voltage Data. Acq. Instr. Driver Timing Instr. Driver AFG Instr. Driver HV Instr. Driver Frond-end PC SR 430 Hardware Software (Proc) Super Frond-end PC PPG 100 Software (Lib) DS 345 Exp. Specific General Part IHQF 015 p Buy! Call OPC TCP/IP?
Toolkit User PC Central 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 -400 k. Byte CPU: overhead for 50 processes is about 10% CPU time (PIII 700 MHz) No real time system! “Roundtrip” time for local synchronous call is 11 ms (overhead: see above; PIII 700 MHz) “Roundtrip” time for remote synchronous call is 33 ms (overhead: see above; PIII 700 MHz PIII 500 MHz PIII 700 MHz)
Status and Outlook SHIPTRAP 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 Base. Process, Super. Proc, DSCInt. Proc Queue. Server and Queue. Client are „finished“ • Classes for DS 345, PPG 100, SR 430, IVI-Scopes “finished”
Coworkers • • Faouzi Attallah (AP) Dietrich Beck (DVEE) Holger Brand (DVEE) Klaus Poppensieker (DVEE) Wolfgang Quint (AP) Johannes Schönfelder, August 2000 -June 2001 (AP) Christian Toader, August 1999 -August 2000 (AP)


