In this document we will the describe only the basic concepts and the specific list of commands and database items that are implemented on the Auxiliary Telescopes. For more details on the way interfacing programs have to be written, man pages of the API classes and of commands, look at the VLT TCS User Manual [AD10].
TCS for any telescope of the VLT family is composed of a lot of software modules, each of them consisting of one or more processes. To unify and simplify the access from users to the TCS functions any telescope exposes a public TCS Interface, represented by the tif module.
The tif module is responsible for providing the central and only command interface between external users and the TCS. The VLTI Interferometer Supervisor Software is the most typical high level user for the VLTI Auxiliary Telescopes.
The VLTI Supervisor Software user processes communicate with the ATCS by sending commands to and receiving replies from the tif. The tif internally dispatches the commands to the responsible TCS processes, receives their replies and passes them back to the caller.
To enable multiple read access to TCS public data, a Data Query Library is provided which is linked to the user process and thus is not subject to the booking system. Also a public Event Configuration Library is provided to attach events to TCS data items. These libraries are described in section Application Programming Interface.
The following table alphabetically lists the telescope control commands. On top of these TCS commands, the tif control process accepts all the usual VLT standard commands and a small set of specific commands used for maintenance purposes.
The complete set of commands accepted by an AT tif control process is described in the CDT in appendix
Units and coordinate systems for command parameters follow VLT conventions.
These are perhaps not the ones some users would expect, or might be different to what is used in other contexts (like FITS Headers). Please, make sure that you always check units and conventions in the Command Definition Table.
This document describes the interface between AT and ISS, i.e all the interfaces needed to control the ATs for VLTI observations. TIF in itself will probably also have more commands, used to control the telescope not for pure VLTI coordinating purposes. This anyway does not include operations performeds by the operators on control panels. For example operating the enclosure is done via a dedicated AT control panel, that uses internal AT commands, not defined in tif. This is because we do not want enclosure commands to be public for other applications than the operator control panels and AT internal procedures.
tif is a highly flexible piece of software that allows publishing a set of TCS commands and data.
Command |
Description |
|
|
BOX2GS |
Move guide box to actual position of selected guide star, then start guiding. |
|
|
CLRSTP |
Clear ready SETUP file with default values |
|
|
FGETAO |
Retrieves the current m2 focus offset along Z-axis in mm. |
|
|
OFFSAA |
Issue an ALT/AZ offset step |
|
|
OFFSAD |
Issue an RA/DEC offset step |
|
|
OFFSADG |
Issue an RA/DEC combined offset step |
|
|
PRGS |
Select the next suitable guide star in the internal catalogue and position the probe to it. If no more un-tried entry is available an error is returned. |
|
|
PRSALAZ |
Preset telescope to given ALT/AZ position (fixed) |
|
|
PRSCOOR |
Preset telescope to given RA/DEC coordinates (tracking) |
|
|
PRSNAME |
Preset telescope to named fixed position |
|
|
SAVCSTP |
Save a copy of the current setup file with the given name |
|
|
SAVRSTP |
Save a copy of the ready setup file with the given name |
|
|
SETAV |
Set additional velocity |
|
|
SETLAM |
Set observed wavelength |
|
|
SETRLIM |
Set limit value for remaining tracking time warning |
|
|
SETUP |
Define a new setup configuration (standard format, as defined in INS Common Software Specification [RD10], for FITS keywords see section FITS Header Data) |
|
|
STRTCAG |
Start autoguiding. Starts normal autoguiding (using FAS) or field
stabilisation (using STRAP) |
|
|
STOPCAG |
Stop autoguiding. Stops normal autoguiding (using FAS) or field
stabilisation (using STRAP) |
|
|
STOPCHP |
Stop chopping |
|
|
STOPTRK |
Stop tracking and stay at actual position |
|
|
STRTCHP |
Start chopping immediately or at a given time in the future |
|
|
PRPARK |
Move probe to park position. (Kept for backwards compatibility, move probe to centre position) |
|
|
PRCNT |
Move probe to centre position (Kept for backwards compatibility) |
|
|
CYCLAO |
Start active optics. The same as STARTAO. |
|
|
ONECAL |
Active Optics calibrated mirror corrections, based on current telescope altitude. |
|
|
STARTAO |
Start active optics. The same as CYCLAO. |
|
|
STOPAO |
Stop active optics |
|
|
GETINS |
Get currently selected instrument |
|
|
GETINSD |
Get instrument configuration parameters |
|
|
SELINS |
Select the logical observing instrument |
|
|
SETINSD |
Set instrument configuration parameters |
|
|
OFFSFAD |
Absolute or differential M2 focus position setting. Name is
kept for compatibility with UTs, although there the adapter focus is moved. |
|
|
OFFSGUV |
Offset of the guide probe in UW. |
|
|
OPTCGS |
Optimize strap guiding loop. |
|
|
DETCGS |
Detect guide star and offset telecope to center it. |
|
The following commands, implemented for the VLT Unit Telescopes, are NOT implemented for the Auxiliary Telescopes (To be discussed).
Command |
Description |
|
|
ADCMIN |
Preset ADC to minimum prism separation |
|
|
FFIN |
Move Cassegrain Flat Field screen IN |
|
|
FFOUT |
Move Cassegrain Flat Field screen OUT |
|
|
FSREL |
Release Rapid Guiding Permission |
|
|
FSREQ |
Request permission for performing Rapid Guiding |
|
|
DMSMODE |
Select the operational mode for dome rotation.
auto: automatic position update semi: position reference calculated every second but preset only on request command: position reference calculated and preset only on request |
|
|
OBJROT |
Modify image orientation with respect to deafult. Angle given in degrees |
|
|
OFFSFM2 |
Absolute or differential M2 position settings along Z axis.
Provided for backward compatibility, should not be used. Use SETINSD instead. |
|
|
OFFSROT |
Issue a rotator offset step in degrees |
|
|
ROTTRK |
Set rotator tracking mode. One of: normal, altaz, none. |
|
|
SEQAO |
Start a set of full active optics corrections. |
|
|
SETADC |
Set ADC separation |
|
|
SETBAFF |
Retract/deploy sky baffles |
|
|
WSMODE |
Select the operational mode for the windscreens.
auto: automatic position update semi: position reference calculated every second but preset only on request command: position reference calculated and preset only on request |
|
|
ROTFIX |
Set instrument rotator absolute position |
|
|
ROTTRK |
Set rotator tracking mode. One of NORMAL, ALTAZ, NONE |
|
|
M4IN (*) |
Move M4 unit in. Available only on Nasmyth foci. |
|
|
M4OUT (*) |
Move M4 unit out. Available only on Nasmyth foci. |
|
The data access libraries are not subject to booking constraints, allowing multiple read access to the ATCS data.
Both libraries use the concept of addressing data items by "name". These names are character strings and are also available as #defines. At implementation level, data items are configured via online database tables to allow an easier configuration.
The list of supported data items (configured by tif in the database) is loaded at startup or init of any tif application.
The set of functions that return groups of related data items in structures:
The general routine
The Named Data Items table below presents a list of all currently supported named data items and their data types.
The actual name for the name to be used in the call to tifGetByName() is obtained adding the prefix tifDATA_ to the name in the first column of the table. The name and the corresponding define are identical.
Units and coordinate systems for command parameters follow VLT conventions.
These are perhaps not the ones some users would expect, or might be different to what is used in other contexts (like FITS Headers). Please, make sure that you always check units and conventions here and on the man pages before using these values
Entries in the "Unit" column mean:
Name |
Type |
Unit |
Description |
|
LST |
vltDOUBLE |
HMS |
Local Sidereal Time
Format: HHMMSS.F, Range: 0 - 240000.0 |
|
UTC |
vltDOUBLE |
MJD |
Universal Time Coordinated as modified julian date |
|
HA |
vltDOUBLE |
HMS |
actual Hour Angle
Format: HHMMSS.F, Range: 0 - 240000.0 |
|
RA |
vltDOUBLE |
HMS |
actual Right Ascension (apparent places `now')
Format: HHMMSS.F, Range 0 - 240000.0 |
|
DEC |
vltDOUBLE |
DMS |
actual Declination (apparent places `now')
Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
RA2000 |
vltDOUBLE |
HMS |
actual Right Ascension at mean place of J2000
Format: HHMMSS.F, Range 0 - 240000.0 |
|
DEC2000 |
vltDOUBLE |
DMS |
actual Declination at mean place of J2000
Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
RA2000DEG |
vltDOUBLE |
deg |
actual Right Ascension at mean place of J2000
Range 0 - 360.0 |
|
DEC2000DEG |
vltDOUBLE |
deg |
actual Declination at mean place of J2000
Range: -90.0 - 90.0 |
|
ALT |
vltDOUBLE |
deg |
actual Altitude position
Range: 0.0 - 90.0 |
|
AZ |
vltDOUBLE |
deg |
actual Azimuth position
Range: -180.0 - 360.0 (South=0, Est=90) |
|
ALT_REF |
vltDOUBLE |
deg |
Reference Altitude position
Range: 0.0 - 90.0 |
|
AZ_REF |
vltDOUBLE |
deg |
actual Azimuth position
Range: -180.0 - 360.0 (South=0, Est=90) |
|
AIRMASS |
vltDOUBLE |
none |
actual airmass |
|
PRLTIC |
vltDOUBLE |
deg |
actual parallactic angle
Range: 0.0 - 360.0 |
|
DVELRA |
vltDOUBLE |
arcsec /sec |
actual differential velocity in RA with respect to normal sidereal rate, Range: -15.0 - +15.0 |
|
DVELDEC |
vltDOUBLE |
arcsec /sec |
actual differential velocity in Declination with respect to normal sidereal rate, Range: -15.0 - +15.0 |
|
LONGI |
vltDOUBLE |
rad |
telescope site Longitude, west is positive (station dependant) |
|
LATI |
vltDOUBLE |
rad |
telescope site Latitude, south is negative (station dependant) |
|
LEVEL |
vltDOUBLE |
m |
telescope site Height above sea level |
|
REMTIME |
vltDOUBLE |
sec |
actual remaining tracking time |
|
REMLIMIT |
vltDOUBLE |
sec |
limit value for event triggering of remaining tracking time |
|
TRACK |
vltLOGICAL |
BOOL |
flag, indicating if currently in tracking state |
|
FOCULEN_CO |
vltDOUBLE |
m |
Focal length for Coude'focus |
|
FOCUSCALE_CO |
vltDOUBLE |
arcsec/mm |
Focal scale for Coude'focus |
|
TELESCOP |
vltBYTES20 |
string |
Telescope name |
|
VERSION |
vltBYTES80 |
string |
Version of TCS software |
|
INSTALLED |
vltBYTES80 |
string |
TCS Installation date and information |
|
OPER |
vltBYTES32 |
string |
Name of telescope operator |
|
FOCU_VALUE |
vltDOUBLE |
mm |
Position of mirror 2 in z-axis |
|
AG_STATUS |
vltINT32 |
status ID |
Autoguiding substate (see agwsDefines.h):
evhSTATE_UNK 0 agwsSTATE_IDLE 7 agwsSTATE_ERROR 6 agwsSTATE_OPERATING 121 agwsSTATE_GUIDING 122 agwsSTATE_MANUAL 123 |
|
AG_RA |
vltDOUBLE |
HMS |
actual Right Ascension for current Guide Star (J2000 coordinates)
Format: HHMMSS.F, Range 0 - 240000.0 |
|
AG_DEC |
vltDOUBLE |
DMS |
actual Declination for current Guide Star (J2000 coordinates) Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
CCD_ON_SKY |
vltDOUBLE |
deg |
Angle on sky og Guide Probe TCCD |
|
PROBE_RA |
vltDOUBLE |
HMS |
Guide probe RA J2000 coordinate (HMS)uide probe X coordinate. |
|
PROBE_DEC |
vltDOUBLE |
DMS |
Guide probe DEC J2000 coordinate (DMS) |
|
PROBE_IN_POS |
vltLOGICAL |
0/1 |
Guide probe in position |
|
ASM_SEEING |
vltDOUBLE |
arcsec |
Seeing reported from asm |
|
ASM_COH_TIME |
vltDOUBLE |
sec |
Coherence time reported from ASM |
|
LOC_FS_SEEING |
vltDOUBLE |
arcsec |
Local seeing reported from field stab measurements. |
|
LOC_FS_COH_TIME |
vltDOUBLE |
sec |
Local coherence time reported from field stab measurements. |
|
ASM_WINDSPEED |
vltDOUBLE |
m/sec |
Wind speed as reported from the ASM |
|
ASM_WINDDIR |
vltDOUBLE |
deg |
Wind direction as reported from the ASM
(0 - 360) (0 = north, 90 = east) |
|
CHOP_STATUS |
vltINT32 |
status ID |
chop status:
chopwsCHOP_INACTIVE ... 0 chopwsCHOP_ACTIVE ... 1 chopwsCHOP_UNDEFINED ... 2 |
|
CHOP_STRT_TIME |
vltDOUBLE |
UTC |
chop start time in ISO format: yyyy-mm-ddThh:mm[:ss.[uuuuuu]] |
|
CHOP_STOP_TIME |
vltDOUBLE |
UTC |
chop stop time in ISO format: yyyy-mm-ddThh:mm[:ss.[uuuuuu]] |
|
CHOP_FREQ |
vltDOUBLE |
Hz |
chop frequency |
|
CHOP_THROW |
vltDOUBLE |
arcsec |
chop throw (amplitude) |
|
CHOP_POI |
vltINT32 |
ID |
chop position of optimum image:
chopwsOPTIMUM_IMAGE_OFF ... 0 chopwsOPTIMUM_IMAGE_ON ... 1 hopwsOPTIMUM_IMAGE_CENTRE ... 2 |
|
CHOP_PVR |
vltDOUBLE |
ratio |
chop peak to valley ratio |
|
CHOP_TPA |
vltINT32 |
ID |
chop telescope pointing axis:
chopwsTEL_POINTING_AXIS_OFF ... 0 chopwsTEL_POINTING_AXIS_ON ... 1 chopwsTEL_POINTING_AXIS_OPTIMUM ... 2 chopwsTEL_POINTING_AXIS_INDEPENDENT ... 3 |
|
CHOP_POSANG |
vltDOUBLE |
deg |
chop orientation |
|
CHOP_OFFSET |
vltDOUBLE |
arcsec |
chop offset |
|
STATION |
vltINT32 |
Station ID |
Current location (station) of the AT. |
|
FOCUS |
vltINT32 |
focus ID |
Current focus station. Can be one of (see mswDefines.h):
mswUNDEFINED_FOCUS 0 mswNASMYTH_A_FOCUS 2 mswnNASMYTH_B_FOCUS 3 mswCASSEGRAIN_FOCUS 4 mswCOUDE_FOCUS 5 mswINTERMEDIATE_D_FOCUS 6 |
|
DOME_STATUS |
vltINT32 |
Station ID |
FULLY-OPEN, PART-OPEN, CLOSED or VIGNETTING |
The table below gives all possible keywords produced by these functions
Units and coordinate systems for FITS Header Keywords follow ESO Data Interface Control Board conventions [AD 16].
These are not always identical to VLT conventions, used for the TCS control software development. Please, make sure that you always check units and conventions before using these values.
FITS Keyword |
Unit |
Description |
|
TELESCOP |
string |
Telescope name |
|
RA |
degrees |
Right Ascension in mean J2000 (DD.ddd) |
|
DEC |
degrees |
Declination in mean J2000 (DD.ddd) |
|
EQUINOX |
years |
Always 2000 |
|
RADECSYS |
string |
Always FK5 |
|
LST |
seconds |
Local Sidereal Time. Seconds since midnight |
|
UTC |
seconds |
Universal Time. Seconds since midnight |
|
TEL DID |
string |
Data dictionary name for TCS |
|
TEL ID |
string |
TCS version string |
|
TEL DATE |
string |
TCS release version and date |
|
TEL ALT |
degrees |
Altitude angle at start |
|
TEL AZ |
degrees |
Azimuth angle at start (S=0, W=90 !!!) |
|
TEL GEOELEV |
meters |
Telescope elevation above sea level |
|
TEL GEOLAT |
degrees |
Telescope geographic latitude (+=North) |
|
TEL GEOLON |
degrees |
Telescope geographic longitude (+=East !!!) |
|
TEL OPER |
string |
Name of telescope operator |
|
TEL FOCU ID |
string |
Focus station (only CO for AT) |
|
TEL FOCU LEN |
m |
Focal len for the current focus |
|
TEL FOCU SCALE |
arcsec/mm |
Scale for the current focus |
|
TEL FOCU VALUE |
mm |
M2 absolute position in Z-axis |
|
TEL PARANG END |
degrees |
Parallactic angle at end |
|
TEL PARANG START |
degrees |
Parallactic angle at start |
|
TEL AIRM END |
Airmass at end |
|
|
TEL AIRM START |
Airmass at start |
|
|
TEL AMBI FWHM END |
Observatory seeing at end |
|
|
TEL AMBI FWHM START |
Observatory seeing s at start |
|
|
TEL TRAK STATUS |
string |
OFF, NORMAL or DIFFERENTIAL |
|
TEL TRAK RATEA |
arcsec/sec |
Absolute tracking rate in RA (only if DIFFERENTIAL) |
|
TEL TRAK RATED |
arcsec/sec |
Absolute tracking rate in DEC (only if DIFFERENTIAL) |
|
TEL DOME STATUS |
string |
FULLY-OPEN, PART-OPEN, CLOSED or VIGNETTING |
|
TEL CHOP ST |
logical |
TRUE when chopping is active |
|
TEL CHOP FREQ |
1/sec |
Frequency of chopping cycle in Hz |
|
TEL CHOP THROW |
arcsec |
max. amplitude available dependent on chop period |
|
TEL CHOP POSOPTIM |
string |
Chop position for optimum image quality.One of: OFF, ON, CENTRE |
|
TEL CHOP PVRATIO |
(ratio) |
Peak-to-valley ratio.(0.67 - 1.50). |
|
TEL CHOP TPAXIS |
string |
chop position corresponding to telescope pointing axis. One of: OPTIMUM, OFF, ON, INDEPENDENT |
|
TEL CHOP POSANG |
degrees |
Orientation on sky (0 - 359; N=0 E=90). |
|
TEL CHOP OFFSCHOP |
arcsec |
Offset in direction of chop for phi(-15.00 to +15.00) |
|
COU GUID STATUS |
string |
ON or OFF |
|
COU GUID RA |
deg |
Guide star RA in J2000 (only if GUID ON) |
|
COU GUID DEC |
deg |
Guide star DEC in J2000 (only if GUID ON) |
The supported event items (configured by tif in the database) are read only once at startup of any tif application.
The routines
The following table presents a list of all currently supported named events.
The actual name for the enum to be used in the call to tifAttachEvent()is obtained adding the prefix tifEVENT to the name in the first column of the table.
This list will be extended in subsequent releases of this document and software.
Name |
Description |
|
TRACKING_LOST |
This event is triggered when the TCS leaves state ONLINE, sub-state TRACKING unexpectedly, i.e. on an error. A presetting command will make TCS leave sub-state TRACKING but in a controlled way, so the event is not triggered in that case! |
|
REMTRACK_LOW |
This event is triggered whenever the remaining tracking time goes below a defined limit (variable REMLIMIT, see table above). |
|
CHOP_PARM_CHANGE |
This event is triggered whenever chopping parameters are reconfigured. |
|
CHOP_STATUS |
This event is triggered whenever the chopping status changes. |
|
GUIDING_LOST |
This event is triggered whenever the guiding is lost unexpectedly |
The second Data Query Library example demonstrates how to use the tifGetFitsStart() and tifGetFitsEnd() to generate a complete FITS header.
The class tifTCS_PUBLIC can be instantiated in any user database to provide a local image of the ATCS public data items. This class is used when the TCS database, real or simulated, is NOT in the same environment as the user database. In this case, the scan system is used to update the user database with values from the ATCS environment (real or simulated).
The class tifTCS_LOCAL has the same structure as tifTCS_PUBLIC (it is a subclass) and provides the same items, but can be instantiated in the same environment where TCS itself is running, i.e. when simulated TCS data are a part of the user database. In this case, the items are updated using the calculation engine, instead of the scan system.
These classes have been implemented to provide access to ATCS data for UIF instrument panels and Sequencer scripts, while C and C++ applications should use the tif Query Library.
For performance reasons, not more than one instance of the classes should be used in each environment.
This has been done in order to allow a more structured access to the items themselves and to optimize performance on the update of the items, that is based on the RTAP calculation engine.
What follows is the structure of the class:
tifATCS_PUBLIC
tcsState - Global TCS state information
tcsState - TCS global state, as in Mode Switching
tcsSubstate - TCS substate, as in Mode Switching
track - TCS tracking flag (0/1)
domeStatus - Current dome Status
times - Time items
lst - Local Sideral Time
utc - Universal Time Coordinated
coord - Target coordinates
ha - Target actual Hour Angle
ra - Target actual RA
dec - Target actual declination
ra2000 - RA at mean place of J2000 in HHMMSS
dec2000 - dec at mean place of J2000 in DDMMSS
ra 2000deg - RA at mean place of J2000 in deg
dec2000deg - dec at mean place of J2000 in deg
alt - Telescope altitude
az - Telescope azimuth
prltic - Actual parallactic angle
track - Tracking parameters
airmass - Actual airmass
dvelra - Differential velocity RA
dveldec - Differential velocity dec
remtime - Remaining tracking time
remlimit - Remaining tracking time limit
trackingLost - Event flag for lost tracking
remTimeLow - Event flag for low remaining trk. time
coude - Coude parameters
state - Guide state
guidingStatus - Guide status
guidingMode - Guide status
trackingState - Tracking state
trackingStatus - Tracking status
RA2000 - RA of current guide star J2000 (HMS)
DEC2000 - dec of current Guide Star J2000 (HMS)
mag - Guide star magnitude
wavelen - Guide star wavelen
probeRA2000 - RA of current guide star J2000 (HMS)
probeDEC2000 - dec of current Guide Star J2000 (HMS)
probeInPos - Guide probe in position
guidingLost - Event: Unexpected loss of guiding
trackingLost - Event: Unexpected loss of tracking
m2 - M2 parameters
focuValue
info - General information
telescop - Telescope name
version - TCS software version in use
installed - TCS software installation date
oper - Telescope Operator name
station - Telescope station
foculenCO Focus length coude
focuscaleCO Focus scale coude
foculenNA - Focus length nasmyth
focuscaleNA - Focus scale nasmyth
site - Site information
longi - Longitude
lati - Latitude
level - Height above see level
chop Chopping configuration
status - chopping status (active or not)
startTime - starting time (ISO string)
stopTime - stop time (ISO string)
freq - frequency
throw - amplitude
posOptImage - optimal position for image
peakValleyRatio - peak to valley ratio
telPointingAxis - telescope pointing axes
posAng - chopping angle
offsetChop - chopping offset with respect to center position
asm - Astronomical site monitor
seeing
windspeed
winddir
For more information about the meaning of the items, their units and their availability, see the Data Query Library and in particular Named Data Item Table .
Note: Add location (station), local seeing (mean, median, max & min), observatory and local coherence time (mean, median, max & min) of the AT.
It cannot be instantiated in the same environment on which TCS itself is running.
In order to use the class, it is necessary to perform the following steps (for an example see the modular test of the tif module:
To this purpose it is necessary to add a scan device for the environment in the ATCS database.
For example, add the following lines in the USER.db file of the ATCS environment:
POINT "<VLT scan dev" ccs_config:scan\ config:LAN:wsIns
BEGIN
ALIASwsIns
END
To this purpose it is necessary to add a scan device for the ATCS environment in the user database.
For example, add the following lines in the USER.db file of the user (instrument) environment:
POINT "<VLT scan dev" ccs_config:scan\ config:LAN:wsTcs
BEGIN
ALIAS wsTcs
END
See the man page for details on the command.
If a standard ATCS configuration is used and if the environment variables are properly set, it is only necessary to pass the "-p" parameter with the symbolic address of the instance of the tifTCS_PUBLIC class.
The class can also be used internally within ATCS, by applications running on the ATCS workstation.
If the ATCS database is not placed in the standard branch Appl_data:TCS, it is necessary to (re)define tifTCS_DBROOT BEFORE including tifTCS_LOCAL.class in the database configuration file.