130 likes | 351 Vues
FLAO WFS software. Alfio Puglisi, Fabio Tosetti. Osservatorio Astrofisico di Arcetri, Florence, Italy. Left box. Right box. iDrive box. Telescope beam. WFS in the AGW frame. Optical board. From telescope network. Fiber/Ethernet media converter.
E N D
FLAO WFS software Alfio Puglisi, Fabio Tosetti Osservatorio Astrofisico di Arcetri, Florence, Italy
Left box Right box iDrive box Telescope beam WFS in the AGW frame Optical board
From telescope network Fiber/Ethernet media converter FLAO WFS: a complex device with 4 IP hosts. Ethernet switch BCU47 BCU39 Serial#1 Serial#2 Serial lines
AGW on-axis data communication layout From telescope network To adaptive secondary AGW - on Axis Right Gigabit Switch Power Switch Ethernet Cat. 5E Atmospheric Dispersion Corrector Interferometer Ethernet / Serial (A-B) Ethernet Cat. 5E Custom F.O. RS232 HO CCD Controller Slope Computer WFS linear stages (X,Y,Z) Tip-Tilt Mirror Temperature monitor RS485 MicroGate CPE SciMeasure Bayside SciMeasure Phys.Instrum. RS232 RS232 RS232 Technical Viewer Pupil Rerotator Filter Wheel #2 CCD Controller CCD Data Acquisition Filter Wheel #1 Micos SciMeasure MicroGate RS232 RS232 RS232 RS232
Digital I/O Fiber link FPGA Main WFS components: Microgate BCU39 and BCU47 • HO ccd frame grabber • Slope computer • Relays bank • Technical viewer frame grabber • Tip-tilt sine wave generator DSP Memory
Other (hardware) components • CCD controllers • Linear stage controllers • Relay switches for powering on/off devices • Pupil rerotator controller • Stepper motor controllers for filter wheels and ADC • Reference lamp controller • Temperature sensors • Various network devices
HW control software • One process for each hardware device • Each process has only two interfaces: • one socket to MsgD-RTDB • one socket to the HW device • Mostly written in C/C++ with a series of libraries for common functions • Commands and answers are implemented using MsgD-RTDB variables.
Mx Mx Mx RTDB Var Set Motor #1 SW ctrl MV01STATUS MV01ERRMSG MV01CURPOS MV01LOEND MV01HIEND MV01SPEED Mv01HISPEED MV01TGTPOS Mv01ENABLE MV02STATUS MV02ERRMSG MV02CURPOS MV02LOEND MV02HIEND MV02SPEED Mv02HISPEED MV02TGTPOS Mv02ENABLE MV03STATUS MV03ERRMSG MV03CURPOS MV03LOEND MV03HIEND MV03SPEED Mv03HISPEED MV03TGTPOS Mv03ENABLE ...... RS232 over Ethernet Motor #2 SW ctrl User prompt/ GUI / Automatic script RS232 over Ethernet Motor #3 SW ctrl RS232 over Ethernet
Engineering interface WFS diagnostic data: Ethernet UDP Diagnostic process Shared memory • CCD frames • Wavefront slopes • Mirror commands • Downloaded at 70 Hz (limited by protocol speed) • -> an internal 4000-frames buffer is available Monitoring scripts
Engineering interface Python classes MSGLIB AO arbitrator MsgD RTDB MSGLIB C Wrapper MSGLIB MSGLIB MSGLIB Python scripting interface To controller programs Python scripts
Python classes MSGLIB MsgD RTDB MSGLIB C Wrapper MSGLIB MSGLIB Graphic interface MSGLIB Engineering interface • Graphical & commandline • Mainly Python with some custom C/C++ modules for realtime sections (like displays) • Graphic library: QT 3.3 + using the PyQT wrapper • Numeric library: Python numarray module To controller programs
Calibration routines • Calibration (usually) requires tight interaction between WFS and secondary mirror operations. We have a mix of Python scripts an IDL routines • Python • scripts are short-lived (but fully featured) MsgD-RTBD clients acquiring the calibration data. • IDL • used to make calculations because of the extensive math library. • Examples: pupil acquisition, reconstruction matrix calculation, etc.
Digital I/O Fiber link DSP Memory FPGA