Information for Astronomers
Information for Astronomers
As the computers in the observer building are connected to the MPIfR internal network, one can simply access the VNC by entering
vncviewer 134.104.70.120:99
into a unix terminal and then entering the password.
A window should appear with the VNC desktop. This is the telescope control computer "4mteleskop
".
You need to establish an SSH tunnel to the MPIfR servers. For this you need an MPIfR account. With this you need to log into username@portal.mpifr-bonn.mpg.de when establishing the tunnel. The port to then access display:99 is 5999.
For Windows MobaXterm has a VNC client and a tunneling option in a single program for convenience.
4mteleskop
/home/operateure/
/home/operateure/start4m.sh
through any text editor../start4m.sh
This should open all the necessary windows to operate the telescope.4mcontrol.py
window with the blue input line is visible. This is from where you can control the telescope.4mcontrol.py is the main interface to the telescope where one can enter commands. skripttelcontrol4m.py makes the calculations for the telescope positioning and constantly returns imprecise values about where the telescope is pointing. The VLC Media Player window has a live feed from a webcam showing the telescope. The Regler window displays the datastream from the motors of the telescope. The windows with the data plots pop up automatically when a new batch of data is saved. datawriter.py writes the data for the continuum backend, while fftsdatwriter does the same for the FFTS backend. pbeControl displays data activity from the telescope.
The continuum backend measures the total flux coming from the telescope over the whole range of Frequencies received. It is usually used to quickly map out where radio sources are. It can be started by entering:
pbebackend('cmdusedchannels 1 1','cmdnumphases 1','cmdmode external','configure')
The Fast Fourier Transformer backend separates the signal from the telescope into its constituent frequencies. This allows the detection of physical processes radiating at distinct frequencies in specific regions of the sky. It can be started by entering:
fitwriter('band1:cmdnumspecchan 8192','band2:cmdnumspecchan 8192','cmdusedsections 1 1','cmdmode int','cmdsynctime 200000','cmdblanktime 2','cmdnumphases 1','configure')
In both cases the selection of the backend must be followed up by
send()
to actually send the command through the network to the appropriate devices. After this you can start the observation by entering
start_messung()
The telescope can only move within certain limits. These are:
Elevation | 0°-90° |
Azimuth | -70°-270° |
Be careful not to let the telescope cross over these limits.
In order to point the telescope towards a specific heading - for example when shutting it down - you can use the command:
set_position_azel(integration = 0, el = (posel,unitel), offsety = (offy,unitoffy), az = (posaz,unitaz), offsetx = (offx,unitoffx), velaz = None, velel = None)
The correct shutdown position is Elevation: 35, Azimuth: 130,
In order to track an object across the sky, you can use the command:
track(messobjekt, integration = None, offsetx = (offx,unitoffx), offsety =(offy,unitoffy))
To detect the maximum intensity and precise position of sources, you can use the command:
crossscan(integration,messobjekt = None, az = (posaz,unitaz), el = (posel,unitel), lengthx = (lengthaz,unitlenx), lengthy = (lengthel,unitleny), offsetx = (offx,unitoffx), offsety =(offy,unitoffy))
The speed at which the telescope moves is determined by the integration time given, and the length given for the crossscan. The telescope will move to approximately to "position - 1/2 length" and then sweep over to approximately "position + 1/2 length" over the time frame given. It adds a couple of seconds of movement at the beginning and the end to avoid sudden jolts of the telescope.
The calibration diode is used to give a reference flux to determine the actual signal strength by comparing the incoming signal to it. For the time being it has to be turned on and off manually at the start of each scan. It should only need to be turned on for a few seconds. This can be done via:
cal_on()
and
cal_off()
Currently the only way to queue up multiple tasks is to write a separate short python script and execute it via the execfile("/path/name.py")
command. Take care to space out your scans with time.sleep()
to allow for the full integration time as well as telescope movement!
This was an azimuth crossscan over the Sun via crossscan(50000,"sun",lengthx=(14,'d'))
, with both continuum and spectroscopy backends enabled.
The commands for the telescope have several variables that you change for each command. If you leave out a variable, the control program will use the default value. (Mostly 0.)
Variable | Purpose | Default Value | Unit | Other |
---|---|---|---|---|
integration=None, | sets the time for collecting radio flux from the specified source | None=infinite | ms | 0 means no data collected |
offsetx=(offx,unitoffx), | sets an offset in azimuth to point beside the given coordinates | 0, 0, | unitoffx with the format 'd' for degrees | can be used to fine tune pointing |
offsety=(offy,unitoffy), | sets an offset in elevation to point beside the given coordinates | 0, 0, | unitoffy in the format 'd' for degrees | can be used to fine tune pointing |
velaz=None, | sets the velocity at which the telescope moves along the azimuth axis | 'Schleichgang' | 'Schleichgang': slow, 'Eilgang': fast, 1: 1°/sec | velocity is calculated automatically for crosscans |
velel=None, | sets the velocity at which the telescope moves along the elevation axis | 'Schleichgang' | 'Schleichgang': slow, 'Eilgang': fast, 1: 1°/sec | velocity is calculated automatically for crosscans |
coorsys = 'J2000.0', | specifies in reference to which point in time the coordinates were given | 'J2000.0' | 'J2000.0' OR 'B1950' | |
lng = (l, unitl), | sets the longitude position of the telescope in galactic coordinates | 0, 0, | unitl with the format 'd' for degrees | |
br = (b, unitb), | sets the longitude position of the telescope in galactic coordinates | 0, 0, | unitb with the format 'd' for degrees | |
ra = (rec, unitrec), | sets the right ascension position of the telescope in equatorial coordinates | 0, 0, | unitrec with the format 'd' for degrees | |
dec = (decl, unitdec), | sets the declination position of the telescope in equatorial coordinates | 0, 0, | unitdec with the format 'd' for degrees | |
el = (posel,unitel), | sets the elevation position of the telescope in local coordinates | 0, 0, | unitel with the format 'd' for degrees | with this option the telescope does not turn with the rotation of the earth |
az = (posaz,unitaz), | sets the azimuth position of the telescope in local coordinates | 0, 0, | unitaz with the format 'd' for degrees | with this option the telescope does not turn with the rotation of the earth |
messobjekt, | specifies which source to point towards | None | — | names looked up in in CDS name resolver |
lengthx = (lengthaz,unitlenx), | specifies the distance the telescope should move in azimuth during a crossscan | 0, 0, | unitoffx with the format 'd' for degrees | |
lengthy = (lengthel,unitleny), | specifies the distance the telescope should move in elevation during a crossscan | 0, 0, | unitoffy with the format 'd' for degrees |
Displays the current positioning of the telescope in az/el.
Displays whether or not the telescope is already pointing at the desired target.
This indicates that the telescope control programs froze for some reason and need to be restarted. Close all windows by pressing Ctrl+C
or the X button on each of them. Restart the telescope control programs via ./start4m.sh
.
If a crossscan was started close to the hardcoded Azimuth endpoints of the telescope, it is possible that the telescope crossed over this endpoint. This means the actuator controls will have to be manually restarted take a look at section Limitposition exceeded (F6029 Lagegrenzwert überschritten).
This happens occasionally, and while the plotting windows can be a nuisance, the data is unaffected and measurements can continue normally.
First the validity of the password needs to be checked. If it is still not allowing a connection the wrong password may have been entered too many times, in which case a technician will need to restart the VNC server to reset the lockout.
Search Units. If you can't found the units there are a hardware bug. Then you need to restart the hardware. (Heizungsraum Sicherung -30F1)
After the restart search again:
If you connect the hardware, the following window appears. Select the unit.
(134.104.79.88 → Elevation)
This example shows the bug: Referenzverlust Geber 1.
You need to set a new reference. Write to "Referenzmaß" the value of "Aktueller Lageistwert". Then reset the bug.
Push the button "Absolutmaß setzen"
Now the units should work.
Attention:
Both Achsstatus must show „A0012 Steuer- und Leistungsteil betriebsbereit“. In addition it's only possible to communicate with the IndraWorks or with the controlsystem. If you want to control the teleskop with the controlprogram you need to close IndraWorks.
Open IndraWorks and search the units. Attention: You need to close the controlsystem, because it's only possible to communicate with IndraWorks or the controlsystem.
Choose the unit:
(134.104.79.88 → Elevation)
(134.104.79.89 → Azimut)
Delete the error. After deleting the error the Achsstatus should show „A0012 Steuer- und Leistungsteil betriebsbereit“.
Push "Start Easy-Startup-Modus" and "Freigabe".
Attention: Now you drive without any position limits!! Take care that you drive in the correct direction!!
If the telescope is out of the position limit press the button "Antrieb AUS" and then "Stop Easy-Startup-Modus". The Achsstatus must show „A0012 Steuer- und Leistungsteil betriebsbereit“.
Close IndraWorks and open the controlsystem. Now the program should run.
If the telescope does not function due to a different error, you should contact a technician.