Post on 02-Jan-2016
Tucson, SW workshop Oct 2006
FLAO WFS software
FLAO WFS software
Alfio Puglisi, Fabio Tosetti
Osservatorio Astrofisico di Arcetri, Florence, Italy
Tucson, SW workshop Oct 2006
FLAO WFS software
WFS in the AGW frame
Left box
Right box
iDrive box
Optical board
Telescope beam
Tucson, SW workshop Oct 2006
FLAO WFS software
From telescope network
Ethernet switch
BCU47 BCU39Serial#1 Serial#2
Serial lines
Fiber/Ethernet media converter
FLAO WFS: a complex device with 4 IP hosts.
Tucson, SW workshop Oct 2006
FLAO WFS software
HOCCD
Controller
SciMeasure
SlopeComputer
MicroGate
Custom F.O.
RS485
Ethernet Cat. 5E
WFSlinear stages(X,Y,Z)Bayside
FilterWheel #1
FilterWheel #2
Tip-TiltMirrorPhys.Instrum.
PupilRerotator
Micos
Interferometer
Gigabit SwitchAGW - on AxisRight
Ethernet /Serial (A-B)
AGW on-axis data communication layout
Technical ViewerCCD
ControllerSciMeasure
CCD DataAcquisition
MicroGate
PowerSwitch
Atmospheric
DispersionCorrector
Eth
ern
et
Cat.
5
E
RS232
RS232RS232
RS232RS232
RS232RS232
To adaptive secondary
From telescope network
Temperature monitor
CPE
RS232
SciMeasure
Tucson, SW workshop Oct 2006
FLAO WFS software
Main WFS components: Microgate BCU39 and BCU47
● HO ccd frame grabber● Slope computer● Relays bank
DSP
FPGA
Memory
Fiber link Digital I/O
•Technical viewer frame grabber•Tip-tilt sine wave generator
Tucson, SW workshop Oct 2006
FLAO WFS software
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
Tucson, SW workshop Oct 2006
FLAO WFS software
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.
Tucson, SW workshop Oct 2006
FLAO WFS software
MV01STATUSMV01ERRMSGMV01CURPOSMV01LOENDMV01HIENDMV01SPEEDMv01HISPEEDMV01TGTPOSMv01ENABLE
MV02STATUSMV02ERRMSGMV02CURPOSMV02LOENDMV02HIENDMV02SPEEDMv02HISPEEDMV02TGTPOSMv02ENABLE
MV03STATUSMV03ERRMSGMV03CURPOSMV03LOENDMV03HIENDMV03SPEEDMv03HISPEEDMV03TGTPOSMv03ENABLE......
RTDB Var Set
User prompt/GUI /
Automatic script
RS232 over Ethernet
Motor #1SW ctrl
RS232 over Ethernet
Motor #2SW ctrl
RS232 over Ethernet
Motor #3SW ctrl
Mx
Mx
Mx
Tucson, SW workshop Oct 2006
FLAO WFS software
WFS diagnostic data:
• CCD frames• Wavefront slopes• Mirror commands
Downloaded at 70 Hz (limited by protocol speed)
-> an internal 4000-frames buffer is available
Ethernet UDP Diagnosticprocess
Shared memory
Engineering interface
Monitoring scripts
Tucson, SW workshop Oct 2006
FLAO WFS software
Pythonclasses
MS
GL
IB
MSGLIB
MsgDRTDB
MS
GLIB
MSGLIB
MS
GLIB
Engineering interface
Python scripts
Python scripting interface
C W
rapp
er
To
cont
roll
erpr
ogra
ms
AO arbitrator
Tucson, SW workshop Oct 2006
FLAO WFS software
• 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
Engineering interface
Pythonclasses
MS
GL
IB
MSGLIB
MsgDRTDB
MS
GLIB
MSGLIB
MS
GLIB
C W
rapp
er
To
cont
roll
erpr
ogra
ms
Graphic interface
Tucson, SW workshop Oct 2006
FLAO WFS software
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.