|
|
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 |
All |
First issue |
|
|
2 |
28/03/2002 |
2.0 |
MAR2002, SPR VLTSW20010501, VLTSW20010502, VLTSW20010666, VLTSW20010690 |
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
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.
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.
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 .
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 |
|
VLT-PRO-ESO-10000-0228 |
1.0 |
10/03/1993 |
VLT Software Programming Standards |
|
|
VLT-MAN-ESO-17210-0667 |
1.0 |
03/12/1997 |
Guidelines for VLT applications. |
|
|
VLT-SPE-ESO-17212-0001 |
2.0 |
23/02/1995 |
INS Software Specification |
|
|
VLT-SPE-ESO-17240-0385 |
2.1 |
15/07/1996 |
INS Common Software Specification |
The following documents are referenced in this document.
|
Reference |
Document Number |
Issue |
Date |
Title |
|
VLT-MAN-ESO-17200-0888 |
1.0 |
17/08/1995 |
VLT Common Software Overview |
|
|
VLT-MAN-ESO-17200-0642 |
2 |
30/03/2002 |
VLT Common Software Installation Manual |
|
|
VLT-MAN-ESO-17210-0669 |
1.4 |
20/10/1997 |
Motor Engineering Interface User Manual |
|
|
VLT-MAN-ESO-17210-0619 |
2.2 |
31/03/2002 |
Central Control Software User Manual |
|
|
VLT-MAN-ESO-17210-0707 |
1.6 |
30/09/1999 |
On Line Database Loader User Manual |
|
|
VLT-MAN-ESO-17210-0690 |
4.3 |
31/03/2002 |
Panel Editor User Manual |
|
|
VLT-MAN-ESO-17240-0853 |
1.4 |
25/04/2001 |
INS Common sw - oslx User Manual |
|
|
VLT-MAN-ESO-17240-0934 |
3 |
30/03/2002 |
Base ICS User Manual |
|
|
VLT-MAN-ESO-17240-1913 |
2 |
30/03/2002 |
Installation Tool for VLT Sw packages |
|
|
VLT-MAN-ESO-17240-2153 |
2 |
30/03/2002 |
INS Startup Tool User Manual |
|
|
VLT-MAN-ESO-17220-0737 |
3 |
28/03/2002 |
HOS - Sequencer User Manual |
|
|
VLT-MAN-ESO-17240-2240 |
2 |
28/03/2002 |
INS Common Software for Templates |
|
|
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 |
No special definition is introduced in this manual
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.
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.
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 |
|
|
Cryo. Temp. sensor |
icbSEN_CN77000 |
icbpanSensor_uifClass |
|
|
Cabinet cool. sensor |
icbSEN_COOLING |
icbpanSensor_uifClass |
|
|
Digital sensor |
icbSEN_DIGITAL |
icbpanSensor_uifClass |
icbpanSensornnn 1 |
|
Temp. sensor |