SOFTWARE INTERFACE

The ATCS Interface

The Auxiliary Telescope Control System software interfaces toward the VLTI Interferometer Supervisor Software are essentially based on the already existing VLT Unit Telescope TCS interfaces [AD10], since the two systems must behave as much as possible in the same way from the point of view of higher level control.

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. Also a public Event Configuration Library is provided to attach events to TCS data items. These libraries are described in section Application Programming Interface.

Commands

This section gives a list of all TCS commands available up to now, together with a brief description. See the VLT TCS User Manual [AD10] for a detailed description of each command and for sample programs.

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.

Telescope Commands (tif 1.124)

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

 

Sending commands to TIF processes

In order to be able to send commands to atif processes it is necessary:

  • Online Database Access Classes
  • The atif module provides a set of public on-line database classes to allow access to ATCS public data items via the on-line database instead that via the tif Data Query Library.

    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.

    Structure of the atifTCS_XXX public on-line database classes

    The atifTCS_PUBLIC on-line database class (see the man page for details) is structured in sub-points that group the public items by category.

    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

    coord - Target coordinates

    track - Tracking parameters

    coude - Coude parameters

    m2 - M2 parameters

    info - General information

    site - Site information

    chop Chopping configuration

    asm - Astronomical site monitor

    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.

     

  • Using the atifTCS_PUBLIC database class
  • This class can be instantiated in any place in a user environment to get access to TCS public data via the scan system.

    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:

    1. Configure the ATCS database to allow scanning from the remote user environment.

    2. 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

    3. Configure the user database to perform scanning from the ATCS environment.

    4. 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

    5. Add an instance of the atifTCS_PUBLIC class anywhere in the user database. The Makefile must contain proper definitions for the TARGET_TCS to be built (see VLT TCS User Manual [AD10])
    6. Configure the scan system by using the atifTCS.scan scan configuration file.

    7. 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.

    8. In order to minimize the resources used by the scan system, it is suggested to disable the scan links for all the items not used, by using the CCS Engineering Interface tools or writing a proper script for this purpose.

    Using the atifTCS_LOCAL database class

    This class can be instantiated in any place in a ATCS environment to get access to ATCS public data via calculation engine expressions. This is typically used when a simulated ATCS database is part of a user (instrument) database, and it is then used during simulation to temporary replace an instance of atifTCS_PUBLIC.

     

    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.

    Setup keywords

    ATCS supports the setup keywords of the COU and TCS dictionaries.

    Some keywords of the COU dictionary override or replace some of the TCS dictionary. In particular the ones that concern guiding.

    The following tables give list the supported keywords.

    Keyword Default Description
    TEL.TARG.TYPE "NO_TARGET" Target type: "NO_TARGET", "ALT_AZ", "COORDINATE", "NAMED_POS"
    TEL.TARG.ALPHA 0.0 Alpha coordinate for the target
    TEL.TARG.DELTA 1.0 Delta coordinate for the target
    TEL.TARG.EPOCH 2000.0 Epoch
    TEL.TARG.EPOCHSYSTEM "J" Epoch system (default J=Julian)
    TEL.TARG.EQUINOX 2000.0 Equinox
    TEL.TARG.PMA 0.0 Proper motion Alpha
    TEL.TARG.PMD 0.0 Proper motion Delta
    TEL.TARG.RADVEL 0.0 Radial velocity
    TEL.TARG.PARALLAX 0.0 Parallax
    TEL.TARG.COORDTYPE "M" Coordinate type (M=mean A=apparent)
    TEL.TARG.ALT 0.0 Altitude angle for fixed position target
    TEL.TARG.AZ 0.0 Azimuth angle for fixed position target
    TEL.TARG.NAME "" Name of special target position
    TEL.TARG.WLENGTH 650 Wavelength (object)
    TEL.TARG.OFFSETALPHA 0.0 Alpha offset for the target
    TEL.TARG.OFFSETDELTA 0.0 Delta offset for the target
    TEL.TARG.ADDVELALPHA 0.0 Alpha additional tracking velocity
    TEL.TARG.ADDVELDELTA 0.0 Delta additional tracking velocity
    COU.AG.TYPE "FIELD_STAB" Autoguiding (NONE,AUTO_GUIDE,FIELD_STAB,FIELD_STAB_TCCD)
    COU.AG.START "F" Start Autoguiding automatically in preset sequence
    COU.AG.GSSOURCE "SETUPFILE" Where to find guide stars (NONE, SETUPFILE, CATALOGUE)
    COU.AG.OPTIMIZE "F" Optimize strap guiding loop
    COU.AG.ALPHA 0.0 alpha for guide star
    COU.AG.DELTA 0.0 delta for guide star
    COU.GS.MAG 10.0 magnitude of guide star
    COU.GS.WAVELEN 650.0 Guide star wave length
    COU.AG.COUNT 1 Min no. of counts on guide camera detector for default integration time
    COU.AG.CYCLETIME 0 Cycle time for auto guiding (default: 0 sec., i.e. as fast as possible)
    COU.AG.INTTIME 0.05 Integration time for auto guiding
    COU.AG.OBJCNT "F" Object centering
    COU.AO.START "F" Start active optics
    TEL.CHOP.FREQ 0.0 Frequency of chopping cycle in Hz (0.1 - 5.0)
    TEL.CHOP.THROW 0.0 max. amplitude available dependent on chop period (+-6.0)
    TEL.CHOP.PVRATIO 0.0 Peak-to-valley ratio (0.2 - 5)
    TEL.CHOP.POSANG 0.0 Orientation on sky (0 - 359; N=0 E=90)