In this document we will 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 atif module.
The atif 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 atif. The atif internally dispatches the commands to the responsible TCS processes, receives their replies and passes them back to the caller.
The atif module uses all functionality of the tif module, but has a specific CDT file and special database clasess.
In order to use atif also tif is required.
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 the atif 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 performed 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.
Usually a subset of all available TCS commands is made publicly available. The list can be easily changed and extended or reduced.
ISS will interact with ATCS only through atif. Only data and commands relevant for ISS will be published by ATCS.
Further data and access can be retrieved by the operator via ATCS specific user interfaces, e.g. check of temperatures etc.
Command |
Description |
|||
|
CLRSTP |
Clear ready SETUP file with default values |
|||
|
DETCGS |
Detect guide star and offset telescope to center it. |
|||
|
GETINS |
Get currently selected instrument |
|||
|
GETINSD |
Get instrument configuration parameters |
|||
|
OFFSADG |
Issue an RA/DEC combined offset step |
|||
|
OFFSGUV |
Offset of the guide probe in UW. |
|||
|
ONECAL |
Active Optics calibrated mirror corrections, based on current telescope altitude. |
|||
|
OPTCGS |
Optimize strap guiding loop. |
|||
|
PRSCOOR |
Preset telescope to given RA/DEC coordinates (tracking) |
|||
|
PRSNAME |
Preset telescope to named fixed position |
|||
|
RESUME |
Resume Coude guiding after a suspend |
|||
|
SELINS |
Select the logical observing instrument |
|||
|
SETINSD |
Set instrument configuration parameters |
|||
|
SETUP |
Define a new setup configuration (standard format, as defined in INS Common Software Specification [RD10], for FITS keywords see section FITS Header Data) |
|||
|
STOPCAG |
Stop autoguiding. Stops normal autoguiding (using FAS) or field stabilisation (using STRAP) |
|||
|
STOPCHP |
Stop chopping |
|||
|
STOPTRK |
Stop tracking and stay at actual position |
|||
|
STRTCAG |
Start autoguiding. Starts normal autoguiding (using FAS) or field stabilisation (using STRAP) |
|||
|
STRTCHP |
Start chopping immediately or at a given time in the future |
|||
|
SUSPEND |
Temporary suspend Coude' guiding |
|||
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 |
|
AG_DEC |
vltDOUBLE |
DMS |
actual Declination for current Guide Star (J2000 coordinates) Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
AG_RA |
vltDOUBLE |
HMS |
actual Right Ascension for current Guide Star (J2000 coordinates)
Format: HHMMSS.F, Range 0 - 240000.0 |
|
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 |
|
AIRMASS |
vltDOUBLE |
none |
actual airmass |
|
ALT |
vltDOUBLE |
deg |
actual Altitude position
Range: 0.0 - 90.0 |
|
ALT_REF |
vltDOUBLE |
deg |
Reference Altitude position
Range: 0.0 - 90.0 |
|
ASM_COH_TIME |
vltDOUBLE |
sec |
Coherence time reported from ASM |
|
ASM_SEEING |
vltDOUBLE |
arcsec |
Seeing reported from asm |
|
ASM_WINDDIR |
vltDOUBLE |
deg |
Wind direction as reported from the ASM
(0 - 360) (0 = north, 90 = east) |
|
ASM_WINDSPEED |
vltDOUBLE |
m/sec |
Wind speed as reported from the ASM |
|
AZ |
vltDOUBLE |
deg |
actual Azimuth position
Range: -180.0 - 360.0 (South=0, Est=90) |
|
AZ_REF |
vltDOUBLE |
deg |
actual Azimuth position
Range: -180.0 - 360.0 (South=0, Est=90) |
|
CCD_ON_SKY |
vltDOUBLE |
deg |
Angle on sky og Guide Probe TCCD |
|
CHOP_FREQ |
vltDOUBLE |
Hz |
chop frequency |
|
CHOP_OFFSET |
vltDOUBLE |
arcsec |
chop offset |
|
CHOP_POI |
vltINT32 |
ID |
chop position of optimum image:
chopwsOPTIMUM_IMAGE_OFF ... 0 chopwsOPTIMUM_IMAGE_ON ... 1 hopwsOPTIMUM_IMAGE_CENTRE ... 2 |
|
CHOP_POSANG |
vltDOUBLE |
deg |
chop orientation |
|
CHOP_PVR |
vltDOUBLE |
ratio |
chop peak to valley ratio |
|
CHOP_STATUS |
vltINT32 |
status ID |
chop status:
chopwsCHOP_INACTIVE ... 0 chopwsCHOP_ACTIVE ... 1 chopwsCHOP_UNDEFINED ... 2 |
|
CHOP_STOP_TIME |
vltDOUBLE |
UTC |
chop stop time in ISO format: yyyy-mm-ddThh:mm[:ss.[uuuuuu]] |
|
CHOP_STRT_TIME |
vltDOUBLE |
UTC |
chop start time in ISO format: yyyy-mm-ddThh:mm[:ss.[uuuuuu]] |
|
CHOP_THROW |
vltDOUBLE |
arcsec |
chop throw (amplitude) |
|
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 |
|
DEC |
vltDOUBLE |
DMS |
actual Declination (apparent places `now')
Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
DEC2000 |
vltDOUBLE |
DMS |
actual Declination at mean place of J2000
Format: +/-DDMMSS.F, Range: -900000.0 - 900000.0 |
|
DEC2000DEG |
vltDOUBLE |
deg |
actual Declination at mean place of J2000
Range: -90.0 - 90.0 |
|
DOME_STATUS |
vltINT32 |
Station ID |
FULLY-OPEN, PART-OPEN, CLOSED or VIGNETTING |
|
DVELDEC |
vltDOUBLE |
arcsec /sec |
actual differential velocity in Declination with respect to normal sidereal rate, Range: -15.0 - +15.0 |
|
DVELRA |
vltDOUBLE |
arcsec /sec |
actual differential velocity in RA with respect to normal sidereal rate, Range: -15.0 - +15.0 |
|
FOCU_VALUE |
vltDOUBLE |
mm |
Position of mirror 2 in z-axis |
|
FOCULEN_CO |
vltDOUBLE |
m |
Focal length for Coude'focus |
|
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 |
|
FOCUSCALE_CO |
vltDOUBLE |
arcsec/mm |
Focal scale for Coude'focus |
|
HA |
vltDOUBLE |
HMS |
actual Hour Angle
Format: HHMMSS.F, Range: 0 - 240000.0 |
|
INSTALLED |
vltBYTES80 |
string |
TCS Installation date and information |
|
LATI |
vltDOUBLE |
rad |
telescope site Latitude, south is negative (station dependant) |
|
LEVEL |
vltDOUBLE |
m |
telescope site Height above sea level |
|
LOC_FS_COH_TIME |
vltDOUBLE |
sec |
Local coherence time reported from field stab measurements. |
|
LOC_FS_SEEING |
vltDOUBLE |
arcsec |
Local seeing reported from field stab measurements. |
|
LONGI |
vltDOUBLE |
rad |
telescope site Longitude, west is positive (station dependant) |
|
LST |
vltDOUBLE |
HMS |
Local Sidereal Time
Format: HHMMSS.F, Range: 0 - 240000.0 |
|
OPER |
vltBYTES32 |
string |
Name of telescope operator |
|
PRLTIC |
vltDOUBLE |
deg |
actual parallactic angle
Range: 0.0 - 360.0 |
|
PROBE_DEC |
vltDOUBLE |
DMS |
Guide probe DEC J2000 coordinate (DMS) |
|
PROBE_IN_POS |
vltLOGICAL |
0/1 |
Guide probe in position |
|
PROBE_RA |
vltDOUBLE |
HMS |
Guide probe RA J2000 coordinate (HMS)uide probe X coordinate. |
|
RA |
vltDOUBLE |
HMS |
actual Right Ascension (apparent places `now')
Format: HHMMSS.F, Range 0 - 240000.0 |
|
RA2000 |
vltDOUBLE |
HMS |
actual Right Ascension at mean place of J2000
Format: HHMMSS.F, Range 0 - 240000.0 |
|
RA2000DEG |
vltDOUBLE |
deg |
actual Right Ascension at mean place of J2000
Range 0 - 360.0 |
|
REMLIMIT |
vltDOUBLE |
sec |
limit value for event triggering of remaining tracking time |
|
REMTIME |
vltDOUBLE |
sec |
actual remaining tracking time |
|
STATION |
vltINT32 |
Station ID |
Current location (station) of the AT. |
|
TELESCOP |
vltBYTES20 |
string |
Telescope name |
|
TRACK |
vltLOGICAL |
BOOL |
flag, indicating if currently in tracking state |
|
UTC |
vltDOUBLE |
MJD |
Universal Time Coordinated as modified julian date |
|
VERSION |
vltBYTES80 |
string |
Version of TCS software |
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 |
.
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 class atifTCS_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 atifTCS_LOCAL has the same structure as atifTCS_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:
atifTCS_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
foculenCO Focus length coude
focuscaleCO Focus scale coude
site - Site information
longi - Longitude
lati - Latitude
level - Height above see level
station - station id string
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 atifTCS_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 atifTCS_LOCAL.class in the database configuration file.