EUROPEAN SOUTHERN OBSERVATORY

Organisation Européenne pour des Recherches Astronomiques dans l'Hémisphčre Austral

Europäische Organisation für astronomische Forschung in der südlichen Hemisphäre

 

 

 

 

VLT PROGRAMME

 

 

VERY LARGE TELESCOPE

 

 

 

 

 

VLT Software

---

Base ICS control panel

User Manual

 

 

 

 

 

 

Doc. No.: VLT-MAN-ESO-17240-2606

 

Issue: 2

 

Date: 28/03/2002

 

 

 

 

 

 

Name                                                       Date                         Signature

                Prepared:               A.Longinotti                         28/03/2002

 

 

Name                                                       Date                         Signature

          Approved:             G.Raffi                                                   

 

Name                                                       Date                         Signature

                Released:               M.Ziebell                                 

 

 

VLT PROGRAMME * TELEPHONE: (089) 3 20 06-0 * FAX: (089) 3 20 06 514


 

CHANGE RECORD

 

 

ISSUE

DATE

SECTION/PAGE

AFFECTED

REASON/INITIATION

DOCUMENTS/REMARKS

 

1.0

30/10/2001

All

First issue

2

28/03/2002

2.0

MAR2002, SPR VLTSW20010501, VLTSW20010502, VLTSW20010666, VLTSW20010690

 


 

TABLE OF CONTENTS

 

 

1       INTRODUCTION................................................................................................................................................................................ 5

1.1        Purpose...................................................................................................................................................................................... 5

1.2        Scope........................................................................................................................................................................................... 5

1.3        Applicable Documents.................................................................................................................................................... 5

1.4        Reference Documents...................................................................................................................................................... 5

1.5        Abbreviations and Acronyms................................................................................................................................... 6

1.6        Glossary.................................................................................................................................................................................. 6

1.7        Stylistic Conventions..................................................................................................................................................... 6

1.8        Naming Conventions........................................................................................................................................................ 6

1.9        Problem Reporting/Change Request....................................................................................................................... 6

2       OVERVIEW......................................................................................................................................................................................... 7

2.1        ICS control panel architecture.............................................................................................................................. 7

2.1.1         Software Modules.............................................................................................................................................................. 8

3       OPERATOR’S GUIDE....................................................................................................................................................................... 9

3.1        Panel Start-up..................................................................................................................................................................... 9

3.1.1         Menu bar.......................................................................................................................................................................... 10

3.1.2         Global ICS Control........................................................................................................................................................ 10

3.1.3         Single Devices Control.................................................................................................................................................. 10

4       TUTORIAL: IMPLEMENTING ICS CONTROL PANEL FROM SCRATCH....................................................................... 12

4.1        Create the ICS control panel module................................................................................................................ 12

4.2        Design the ICS control panel layout.................................................................................................................. 12

4.3        Configure the ICS control panel layout.......................................................................................................... 13

4.4        Starting the ICS control panel.............................................................................................................................. 13

4.5        Creating a special device............................................................................................................................................ 13

4.5.1         Overriding default behavior......................................................................................................................................... 13

4.5.2         Building an uifClass from scratch............................................................................................................................... 13

5       CONFIGURATION GUIDE............................................................................................................................................................. 15

6       REFERENCE...................................................................................................................................................................................... 17

6.1        icbpan specific.................................................................................................................................................................... 17

6.1.1         icbpanLib.tcl.................................................................................................................................................................... 17

6.1.2         icbpanGUIcfg.tcl............................................................................................................................................................. 19

6.1.3         icbpanUIF.tcl................................................................................................................................................................... 21

6.1.4         icbpanICSControl.tcl..................................................................................................................................................... 22

6.1.5         icbpanICSCmd.tcl........................................................................................................................................................... 23

6.1.6         icbpanICSDevControl.tcl.............................................................................................................................................. 24

6.1.7         icbpanLamp.tcl................................................................................................................................................................ 26

6.1.8         icbpanShutter.tcl............................................................................................................................................................ 28

6.1.9         icbpanNamedPos.tcl...................................................................................................................................................... 30

6.1.10      icbpanContPos.tcl.......................................................................................................................................................... 32

6.1.11      icbpanSlit2Len.tcl.......................................................................................................................................................... 34

6.1.12      icbpanSlit2Wid.tcl.......................................................................................................................................................... 36

6.1.13      icbpanTilt.tcl................................................................................................................................................................... 38

6.1.14      icbpanGrat.tcl................................................................................................................................................................. 40

6.1.15      icbpanDpol.tcl................................................................................................................................................................. 42

6.1.16      icbpanAdc.tcl................................................................................................................................................................... 44

6.1.17      icbpanDrot.tcl................................................................................................................................................................. 46

6.1.18      icbpanSensor.tcl............................................................................................................................................................. 48

6.1.19      icbpanSensorVer.tcl....................................................................................................................................................... 50

6.1.20      icbpanSensorHor.tcl...................................................................................................................................................... 51

6.1.21      icbpanSensorSqr.tcl....................................................................................................................................................... 52

6.1.22      icbpanPmt.tcl................................................................................................................................................................... 53

 

1          INTRODUCTION

The software described in this manual is intended to be used in the ESO VLT project by ESO and authorized external contractors only.

 

While every precaution has been taken in the development of the software and in the preparation of this documentation, ESO assumes no responsibility for errors or omissions, or for damage resulting from the use of the software or of the information contained herein.

1.1              Purpose

All instruments need an ICS stand-alone Graphical User Interface (GUI) to be able to operate its functions, e.g. for engineering and maintenance purposes.

As from the OCT2001 release of the VLT Software, the Base ICS package provides instrumentation applications with common code dedicated to the development of ICS GUIs. The purpose is to make the ICS GUIs development faster, reducing the amount of application specific code and therefore the maintenance efforts associated to it, and at the same time to make the look & feel more homogeneous.

The common code is implemented in the module icbpan. An example of application using it is provided by the Template Instrument (see [RD 13]) and in particular the module xxipan.

1.2              Scope

This document covers only the part of Base ICS dedicated to the development of ICS GUIs.

The part dedicated to the ICS control applications is described in .

1.3              Applicable Documents

The following documents, of the exact issue shown, form a part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered as a superseding requirement.

 

Reference

Document Number

Issue

Date

Title

[AD 01]

VLT-PRO-ESO-10000-0228

1.0

10/03/1993

VLT Software Programming Standards

[AD 02]

VLT-MAN-ESO-17210-0667

1.0

03/12/1997

Guidelines for VLT applications.

[AD 03]

VLT-SPE-ESO-17212-0001

2.0

23/02/1995

INS Software Specification

[AD 04]

VLT-SPE-ESO-17240-0385

2.1

15/07/1996

INS Common Software Specification

1.4              Reference Documents

The following documents are referenced in this document.

 

Reference

Document Number

Issue

Date

Title

[RD 01]

VLT-MAN-ESO-17200-0888

1.0

17/08/1995

VLT Common Software Overview

[RD 02]

VLT-MAN-ESO-17200-0642

2

30/03/2002

VLT Common Software Installation Manual

[RD 03]

VLT-MAN-ESO-17210-0669

1.4

20/10/1997

Motor Engineering Interface User Manual

[RD 04]

VLT-MAN-ESO-17210-0619

2.2

31/03/2002

Central Control Software User Manual

[RD 05]

VLT-MAN-ESO-17210-0707

1.6

30/09/1999

On Line Database Loader User Manual

[RD 06]

VLT-MAN-ESO-17210-0690

4.3

31/03/2002

Panel Editor User Manual

[RD 07]

VLT-MAN-ESO-17240-0853

1.4

25/04/2001

INS Common sw - oslx User Manual

[RD 08]

VLT-MAN-ESO-17240-0934

3

30/03/2002

Base ICS User Manual

[RD 09]

VLT-MAN-ESO-17240-1913

2

30/03/2002

Installation Tool for VLT Sw packages

[RD 10]

VLT-MAN-ESO-17240-2153

2

30/03/2002

INS Startup Tool User Manual

[RD 11]

VLT-MAN-ESO-17220-0737

3

28/03/2002

HOS - Sequencer User Manual

[RD 12]

VLT-MAN-ESO-17240-2240

2

28/03/2002

INS Common Software for Templates

[RD 13]

VLT-MAN-ESO-17240-1973

3

28/03/2002

Template Instrument Software User Manual

1.5              Abbreviations and Acronyms

This document employs several abbreviations and acronyms to refer concisely to an item, after it has been introduced. The following list is aimed to help the reader in recalling the extended meaning of each short expression:

CCS

Central Control Software

CPU

Central Processing Unit

ESO

European Southern Observatory

FITS

Flexible Image Transport Format

GUI

Graphical User Interface

HW

Hardware

ICS

Instrument Control Software

INS

Instrumentation Software Package

I/O

Input/output

IWS

Instrument Workstation

LAN

Local Area Network

LCU

Local Control Unit

MS

Maintenance Software

N/A       

Not Applicable

RAM

Random Access Memory

SW

Software

TBC

To Be Clarified

TBD

To Be Defined

UIF

(Portable) User Interface (Toolkit)

VLT

Very Large Telescope

WS

Workstation

<!-- Standard footer -->

1.6              Glossary

No special definition is introduced in this manual

1.7              Stylistic Conventions

The following styles are used:

bold

in the text, for commands, filenames, pre/suffixes as they have to be typed.

italic

in the text, for parts that have to be substituted with the real content before typing.

teletype

for examples.

<name>

in the examples, for parts that have to be substituted with the real content before typing.

 

bold and italic are also used to highlight words.

1.8              Naming Conventions

This implementation follows the naming conventions as outlined in [AD 01].

1.9              Problem Reporting/Change Request

The form described in [RD 02] shall be used.

2         OVERVIEW

This chapter gives a short overview of the ICS control panel philosophy and underlying architecture.

The rest of the manual is organized as follows:

·  Chapter 3 is the operator’s guide, which describes how to operate an ICS GUI based on icbpan.

·  Chapter 4 is the programmer’s guide, which describes in detail how to create from scratch an ICS GUI for a new instrument.

·  Chapter 5 is the configuration guide, which describes in detail how to properly configure the appearance of a specific instrument GUI.

·  Chapter 6 contains the manual pages extracted from the source code.

2.1              ICS control panel architecture

ICS is responsible for controlling the different devices of an instrument, such as motors, lamps and sensors. Most of these devices are driven by standard ESO hardware and software (see [RD 08]) and share therefore the same functionality.

 

The Base ICS package (also called ICB, see [RD 08]) aims to implement all common aspects of the various instruments ICS in one central place, such that different instrumentation applications, using it, become more homogeneous and therefore easier to operate and maintain. The same principle applied to the control code has been extended to the ICS stand-alone control panel: base ICS provides, within the module icbpan, means to speed up the ICS GUI development and reduce the amount of code to be maintained.

 

The basic components of icbpan are a set of “uifClasses-widgets” (hereafter called simply uifClasses), created with the VLT Panel Editor and therefore compatible with its usage (see [RD 06]).

 

The concept of uifClasses alone, though very useful, poses some problems when building the ICS control panel: sets of global variables are indeed needed to localize single widgets inside a class, which is difficult to maintain and still more difficult to extend. To overcome this drawback, for every uifClass an itcl wrapper class was created; it inherits the corresponding uifClass and adds new methods dealing with single (internal) widgets. In this way, not only the need of global variables disappears but also every single uifClass can be treated as a self-consistent unit which can be extended for special needs by using well-known object-oriented features (inheritance, overriding etc.). Moreover, variable name collision is automatically solved.

Based on this philosophy, for every ICB software devices (see [RD 08]), a corresponding uifClass and itcl wrapper class is available in the icbpan module.

 

Table 1 lists all uifClasses with the corresponding wrapper and device identification.

Description

ICB class

uifClass

itcl wrapper class

Lamp

icbLAMP

icbpanLamp_uifClass

icbpanLamp

Shutter

icbSHUTTER

icbpanShutter_uifClass

icbpanShutter

Filter wheel

icbMOT_FILTER

icbpanNamedPos_uifClass

icbpanNamedPos

Mirror wheel

icbMOT_MIRROR

icbpanNamedPos_uifClass

icbpanNamedPos

Slit wheel

icbMOT_SLITS

icbpanNamedPos_uifClass

icbpanNamedPos

Generic wheel

icbMOT_OPTI

icbpanNamedPos_uifClass

icbpanNamedPos

Generic slide

icbMOT_POS

icbpanContPos_uifClass

icbpanContPos

Slit length

icbMOT_SLIT2_LEN

icbpanSlit2Len_uifClass

icbpanSlit2Len

Slit Width

icbMOT_SLIT2_WID

icbpanSlit2Wid_uifClass

icbpanSlit2Wid

Tilt

icbMOT_TILT

icbpanTilt_uifClass

icbpanTilt

Grating

icbMOT_GRATING2

icbpanGrat_uifClass

icbpanGrat

Depolarizer

icbMOT_DPOR

icbpanDpol_uifClass

icbpanDpol

ADC

icbMOT_ADC

icbpanAdc_uifClass

icbpanAdc

Derotator

icbMOT_DROT

icbpanDrot_uifClass

icbpanDrot

Cryostat sensor

icbSEN_ADAM

icbpanSensor_uifClass

icbpanSensornnn [1]

Pressure sensor

icbSEN_BAROMETER

icbpanSensor_uifClass

icbpanSensornnn 1

Cryo. Temp. sensor

icbSEN_CN77000

icbpanSensor_uifClass

icbpanSensornnn 1

Cabinet cool. sensor

icbSEN_COOLING

icbpanSensor_uifClass

icbpanSensornnn 1

Digital sensor

icbSEN_DIGITAL

icbpanSensor_uifClass

icbpanSensornnn 1

Temp. sensor