|
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
---
Template
Instrument Software
User and
Maintenance Manual
Doc. No.: VLT-MAN-ESO-17240-1973
Issue: 4
Date: 31/03/2003
Name Date Signature
Prepared: A.Longinotti 31/03/2003
Name Date Signature
Approved: K.Wirenstrand
Name Date Signature
Released: K.Wirenstrand
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, containing only ICS part |
|
2.0 |
|
All |
Second issue, containing the whole instrument, including OS |
3 |
|
4.7.2 5.3 10.5 10.10.4 |
MAR2002, Added ICS stand-alone GUI, SPR VLTSW20010501, VLTSW20010502. |
4 |
|
3.2 Appendix B |
APR2003 |
|
|
|
|
TABLE
OF CONTENTS 3
1 INTRODUCTION 7
1.1 Purpose 7
1.2 Scope 7
1.3 Applicable Documents 7
1.4 Reference Documents 8
1.5 Abbreviations and Acronyms 9
1.6 Glossary 9
1.7 Stylistic Conventions 9
1.7.1 Data Flow and Processor Model Diagrams 9
1.8 Naming Conventions 10
1.9 Problem Reporting/Change Request 10
2 OVERVIEW 11
2.1 Hardware architecture 11
2.1.1 Devices 11
2.1.2 Computers 11
2.1.3 LANs 11
2.1.4 Special connections 11
2.2 Software Architecture 13
2.2.1 Software Modules 13
2.2.2 Environments 13
2.2.3 Standards 13
3 INSTALLATION GUIDE 15
3.1 Requirements 15
3.1.1 Hardware 15
3.1.2 Software 15
3.2 Installation procedure 15
3.2.1 Preparation 15
3.2.2 Operational hw configuration (all LCUs
available) 16
3.2.3 Development hw configuration (not all LCUs
available) 16
4 OPERATOR’S GUIDE 17
4.1 System Start-up 17
4.1.1 Log-in 17
4.1.2 Telescope availability 17
4.1.3 Midas availability 18
4.1.4 Instrument Software Start-up 18
4.1.5 Begin of operations 19
4.1.6 End of operations 19
4.2 System Shut-down 19
4.3 User Station 20
4.4 Observations with Templates 21
4.5 Alarms 21
4.6 Data files location 21
4.7 Engineering 21
4.7.1 OS Engineering GUI 21
4.7.2 ICS Engineering GUI 21
5 PROGRAMMER'S GUIDE 23
5.1 Instrument Modes 23
5.2 Subsystems Identifiers 23
5.3 ICS Software Devices 23
5.3.1 ICS Special devices 24
5.3.2 ICS Assemblies 24
5.4 Exposures 25
5.4.1 Exposure types 25
5.4.2 Exposure Id 25
5.4.3 Exposure Status 25
5.4.4 Exposure Parallelism 25
5.4.5 Exposure Life Cycle 25
5.4.6 Exposure execution 26
5.5 Operational States 26
5.6 Commands 26
5.6.1 OS Special commands 26
5.6.2 ICS Special commands 26
5.6.3 DCS Special commands 26
5.7 Tcl libraries 26
5.8 Dictionaries 26
5.9 Alias files 27
5.10 Configuration files 27
5.11 Setup files and keywords 27
5.11.1 OCS keywords 27
5.11.2 INS keywords 27
5.11.3 DCS keywords 28
5.12 FITS files 28
5.13 Public on-line database attributes 28
5.14 Operational logs 28
5.15 Templates 28
5.15.1 Acquisition Templates 29
5.15.2 Calibration Templates 29
5.15.3 Observation Templates 29
6 CONFIGURATION 30
6.1 Change Instrument Configuration Parameters 30
7 MAINTENANCE 32
7.1 General 32
7.1.1 Instrument Self-Test 32
7.1.2 Module xxins 32
7.1.3 Module dicXXXX 32
7.2 OS 33
7.2.1 Module xxo 33
7.2.2 Module xxopan 33
7.2.3 Module xxotsf 33
7.2.4 Module xxoseq 34
7.3 ICS 35
7.3.1 ICS Self-Test 35
7.3.2 Module xxi 35
7.3.3 Module xxipan 36
7.3.4 Module xxidev 36
7.4 DCS 36
7.4.1 Engineering 36
7.5 MS 37
7.5.1 Maintenance Templates 37
7.5.2 Module xxmcfg 37
7.5.3 Module xxmseq 37
7.5.4 Module xxmtsf 37
8 FAQ AND TROUBLESHOOTING 38
8.1 Problems at System Start-up 38
8.1.1 Log-in fails 38
8.1.2 Start-up of GUIs fails 38
8.1.3 Start-up of control processes fails 38
8.1.4 xxiControl starts with a wrong simulation
level 38
8.1.5 TCCD starts with a wrong simulation level
and fails to go STANDBY 38
8.1.6 xxoControl tries to access sub-systems
declared as not available 38
8.1.7 Going ONLINE fails 38
8.2 Problems when running exposures 39
8.2.1 Cannot send commands to TCS or access tif 39
8.2.2 Templates cannot access Midas 39
9 ERROR DEFINITIONS 40
10 REFERENCE 41
10.1 Programs 41
10.1.1 Command Definition Table for program
xxoControl 41
10.2 Scripts 42
10.2.1 xxinsStartup 42
10.2.2 xxinsStart 43
10.2.3 xxinsStop 45
10.2.4 xxinsCreateNewInstrument 47
10.3 Include Files 48
10.4 Tcl libraries 49
10.4.1 xxoseqICS 49
10.5 Configuration files 50
10.5.1 xxmcfgCONFIG.cfg 50
10.5.2 xxmcfgINS.cfg 51
10.5.3 xxmcfgSTART.cfg 78
10.6 Setup files 79
10.6.1 Example of
Reference Setup file 79
10.6.2 Example of Instrument Setup File 79
10.7 Templates 80
10.7.1 IR Imaging acquisition template 80
10.7.2 IR Imaging observation template 81
10.7.3 IR Spectroscopy acquisition template 82
10.7.4 IR Spectroscopy observation template 83
10.7.5 Optical Imaging acquisition template 84
10.7.6 Optical Imaging observation template 85
10.7.7 Optical Imaging bias calibration template 86
10.7.8 Optical Imaging flat-field calibration
template 87
10.7.9 Optical Imaging detector linearity
calibration template 88
10.7.10 Optical Imaging focus calibration template 89
10.8 FITS files 90
10.8.1 Example of FITS header 90
10.9 Log files 91
10.9.1 Example of Operational Log (FITS format) 91
10.10 Panels 92
10.10.1 OS Control 92
10.10.2 OS Status 93
10.10.3 OS Engineering 94
10.10.4 ICS stand-alone 96
10.11 Error files 98
10.11.1 xxoErrors.h 98
10.11.2 xxo_ERRORS 99
Appendix A. Create a new Instrument 101
.1 OS sub-classing and method overloading 101
.2 Add special commands to OS 101
.3 Add special handling of set-up keywords in OS 101
.4 Implement a class library for templates 101
.5 Implement an ICS special device on LCU 101
.6 Implement an ICS special device on WS 101
.7 ICS WS sub-classing and method overloading 102
.8 ICS WS Assemblies 102
Appendix B. Installation using different environments 103
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.
The Template Instrument (called XXXX) is a fictitious instrument, which incorporates the basic functionality of VLT instruments.
It is supposed to help Instrumentation Software developers, by providing them with examples of code and related files. It is also used internally at ESO to validate, through a complete instrument, the Instrumentation Common Software packages before a new VLT sw release is issued.
This document is the User Manual of the Template Instrument Control Software.
This package is fully based on VLT Instrumentation Common Software packages, such as icb (base ICS, see [RD 16] and [RD 26]), boss (base OS, see [RD 17]), tpl (library for templates, see [RD 24]).pkgin (installation tool, see [RD 18]), ctoo (configuration tool, see [RD 25]) and stoo (startup tool, see [RD 19]).
This document can also
be used as template for the User and Maintenance Manual of another instrument.
This document covers only the control part of the Template Instrument Software. It does not deal with other parts of the Data Flow, such as the pipeline.
It is aimed at operators of the instrument and software developers, who are responsible for its installation and maintenance.
This document is also
aimed at software developers, who need to develop Instrumentation Software for
VLT instruments or in general instrumentation according to VLT standards.
It is also meant for ESO engineers, responsible for the integration of new VLT Software releases, to validate the VLT Instrumentation Common Software packages.
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 |
GEN-SPE-ESO-19400-0794 |
1.1 |
|
DICB - Data Interface Control Document |
|
VLT-SPE-ESO-10000-0011 |
2.0 |
|
VLT Software Requirements Specification |
|
VLT-PRO-ESO-10000-0228 |
1.0 |
|
VLT Software Programming Standards |
|
VLT-PLA-ESO-10000-0441 |
1.0 |
|
VLT Science Operation Plan |
|
VLT-MAN-ESO-17210-0667 |
1.0 |
|
Guidelines for VLT applications. |
|
VLT-SPE-ESO-17212-0001 |
2.0 |
|
INS Software Specification |
|
VLT-SPE-ESO-17240-0385 |
2.1 |
|
INS Common Software Specification |
|
VLT-ICD-ESO-17240-19400 |
2.6 |
|
ICD between VCS and Archive |
|
VLT-ICD-ESO-17240-19200 |
1.3 |
|
ICD between VCS and OH |
The following documents are referenced in this document.
Reference |
Document Number |
Issue |
Date |
Title |
VLT-MAN-ESO-17200-0888 |
1.0 |
|
VLT Common Software Overview |
|
VLT-MAN-ESO-17200-0642 |
2 |
|
VLT Common Software Installation Manual |
|
VLT-SPE-ESO-17120-1355 |
1.2 |
|
Final Lay-out of VLT Control LANs |
|
VLT-MAN-SBI-17210-0001 |
3.6 |
|
LCU Common Software User Manual |
|
VLT-MAN-ESO-17210-0600 |
1.7 |
|
Motor Control sw User Manual API/ACI |
|
VLT-MAN-ESO-17210-0669 |
1.4 |
|
Motor Engineering Interface User Manual |
|
VLT-MAN-ESO-17210-0619 |
2.2 |
|
Central Control Software User Manual |
|
VLT-MAN-ESO-17210-0707 |
1.6 |
|
On Line Database Loader User Manual |
|
VLT-MAN-ESO-17210-0771 |
1.8 |
|
EVH User Manual |
|
VLT-MAN-ESO-17210-0770 |
1.8 |
|
Extended CCS User Manual |
|
VLT-MAN-ESO-17210-0690 |
4.3 |
|
Panel Editor User Manual |
|
VLT-MAN-ESO-17240-0853 |
1.4 |
|
INS Common sw - oslx User Manual |
|
VLT-MAN-ESO-17240-0672 |
1.6 |
|
CCD Detectors Control Software User Manual |
|
VLT-MAN-ESO-13640-1388 |
1.2 |
|
FIERA Control Software User Manual |
|
VLT-MAN-ESO-14100-1878 |
1.1 |
|
IRACE-DCS User Manual |
|
VLT-MAN-ESO-17240-0934 |
3 |
|
Base ICS User Manual |
|
VLT-MAN-ESO-17240-2265 |
1.1 |
|
Base OS Stub User Manual |
|
VLT-MAN-ESO-17240-1913 |
2 |
|
Installation Tool for VLT Sw packages |
|
VLT-MAN-ESO-17240-2153 |
2 |
|
INS Startup Tool User Manual |
|
VLT-MAN-ESO-17220-0737 |
3 |
|
HOS - Sequencer User Manual |
|
P.Ward, S.Mellor, Yourdon Press, |
|
1985 |
Structured Development for Real-Time Systems |
|
J. Rumbaugh et. al., Prentice Hall, |
|
1991 |
Object-Oriented Modeling and Design |
|
VLT-MAN-ESO-17220-1999 |
2 |
|
Broker for Observation Blocks User Manual |
|
VLT-MAN-ESO-17240-2240 |
2 |
|
INS Common Software for Templates |
|
VLT-MAN-ESO-17240-2325 |
2 |
|
INS Configuration tool User Manual |
|
VLT-MAN-ESO-17240-2606 |
3 |
|
Base ICS GUI 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 |
DCS |
Detector Control Software |
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 |
ISAAC |
Infrared Spectrograph and Array Camera |
IWS |
Instrument Workstation |
LAN |
Local Area Network |
LCC |
LCU Common Software |
LCU |
Local Control Unit |
MS |
Maintenance Software |
N/A |
Not Applicable |
OMT |
Object Modeling Technique |
OO |
Object Oriented |
OOD |
Object Oriented Design |
OS |
Observation Software |
RAM |
Random Access Memory |
SW |
Software |
TBC |
To Be Clarified |
TBD |
To Be Defined |
TCS |
Telescope Control Software |
TIM |
Time Interface Module |
TRS |
Time Reference System |
UIF |
(Portable) User Interface (Toolkit) |
UVES |
UltraViolet Visual Echelle Spectrograph |
VLT |
Very Large Telescope |
VME |
Versa Module Eurocard |
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.
1.7.1 Data Flow and Processor Model Diagrams
Data Flow and processor Model Diagrams are based on De Marco/Yourdon notation for real-time systems [RD 21].
This implementation follows the naming conventions as outlined in [AD 03].
1.9 Problem Reporting/Change Request
The form described in [RD 02] shall be used.
This chapter gives a short overview of the instrument and its architecture.
The rest of the manual is organized as follows:
· Chapter 3 is the installation guide.
· Chapter 4 is the operator’s guide, which describes how to operate the instrument at various levels.
· Chapter 5 is the programmer’s guide, which describes in detail specific items, such as ICS devices and commands.
· Chapter 6 is the configuration guide, which describes in detail the configuration of the instrument.
· Chapter 7 contains the Maintenance Guide
· Chapter 8 contains a FAQ and troubleshooting tips specific to the instrument
· Chapter 9 contains the list of errors defined by the instrument application
· Chapter 10 contains the manual pages extracted from the source code.
· Appendix A describes how to create from scratch a new instrument starting from the Template Instrument code
The Instrument consists of:
· 24 devices, controlled by ICS, on 2 LCUs:
q 14 motorized
q 1 calibration lamp
q 1 shutter
q 7 sensors
q 1 special device
· 2 scientific detectors
q 1 infrared (IRACE controller)
q 1 optical (FIERA controller)
· 1 technical CCD camera (ACE controller)
The computers on which the Instrument Software runs are shown in Figure 1:
· Instrument Workstation (wxxxx) with ATM board
· ICS LCU 1 (lxxics1) with TIM board
· ICS LCU 2 (lxxics2) with TIM board
· TCCD LCU (lxxtccd) with TIM board
· IRACE UltraSparc (wxxirac) with ATM board
· FIERA UltraSparc (wxxfier) with ATM board
Note: the ATM board belongs to the standard configuration of Instrumentation Workstation and detectors UltraSparc. They are however not needed to run the Template Instrument Software and are mentioned here just to remind that for real instruments they should be present. The same consideration applies to the LCU TIM boards, whereby also in the case of real instruments the presence of the TIM board is mandatory only if the time precision needed on that LCU requires it.
The Instrument LAN follows the lay-out of VLT Control LANs (see [RD 03]) and is shown in Figure 1
The Template Instrument architecture does not foresee any special connection.
Figure 1 Hardware architecture
The architecture of the Control Software follows the VLT standard operational scheme and is shown in Figure 2
Observation Blocks, created with the P2PP toolkit, are sent to the Broker for Observation Blocks (BOB), which executes sequentially the templates defined in them.
In turn, each template consists normally of a sequence of commands sent to the OS Server. This process is responsible to interpret the commands received and convert them into commands for the controlled sub-systems (ICS, DCSs and TCS), taking care of the corresponding replies.
At the end of an exposure, the OS Server process is also responsible for merging all data/information into one FITS file and archive it, through the dedicated processes VOLAC/VCSOLAC/OLAS.
The XXXX Instrument Software consists of the following modules (the prefix id xx corresponds to the Instrument ID):
cmm Module |
INS
Module |
Platform |
Description |
xxins |
N/A |
WS |
integration module |
dicXXXX |
N/A |
WS |
FITS dictionaries |
xxi |
ICS |
WS |
ICS WS front-end and LCU simulator |
xxipan |
ICS |
WS |
ICS stand-alone GUI |
xxidev |
ICS |
LCU |
ICS special devices. |
xxo |
OS |
WS |
OS Server |
xxopan |
OS |
WS |
OS GUI |
xxoseq |
OS |
WS |
Observation Template scripts |
xxotsf |
OS |
WS |
Observation Template Signature Files |
xxmcfg |
MS |
WS |
Instrument Configuration Files |
xxmseq |
MS |
WS |
Maintenance Template scripts |
xxmtsf |
MS |
WS |
Maintenance Template Signature Files |
2.2.2 Environments
The Instrument uses the following CCS environments:
· wxxxx. IWS CCS environment (see RTAPENV)
· lxxics1. ICS LCU1 LCC environment.
· lxxics2. ICS LCU2 LCC environment.
· lxxtccd. TCCD DCS LCC environment.
· wxxfier. FIERA DCS CCS environment
· wxxtcs. TCS simulation CCS environment (see TCS_ENVNAME)
The Instrument Software is based on the standard packages distributed with VLT Software releases. In particular:
· TCCD DCS is based on the CCD Software (see [RD 13]).
· IR DCS is based on the IRACE Software (see [RD 15]).
· FIERA is based on the FIERA Software (see [RD 14]).
· ICS is based on the icb package (see [RD 16] and [RD 26]).
· OS is based on the BOSS package (see [RD 17])
· Templates are based on the tpl package (see [RD 24]).
· The Instrument Software installation is based on the pkgin package ([RD 18])
· The Instrument Configuration is based on the ctoo package (see [RD 25])
· The Instrument Software Start-up/Shutdown is based on the stoo package (see [RD 19]).
Figure 2 Template Instrument Architecture
The installation uses the VLT standard tool pkgin (see [RD 18]).
The following computers must be available (see section 2.1.2):
· One Instrument Workstation (HP, model supported by the VLT sw, see [RD 02]).
Furthermore, a more complete functionality is achieved if also the following computers (some or all of them) are available:
· Two LCUs for ICS
· One LCU for the TCCD
· One Sparc LCU for IRACE
· One Sparc LCU for FIERA
· The version of the UNIX Operating System installed on the IWS must be compatible with the VLT sw installation (see [RD 02])
· The VLT sw MAR2001 or higher must be installed, according to [RD 02].
XXXX runs both on fullCCS or CCSLite.
Normally an Instrument Software User Manual
should describe only the installation procedure needed in the operational
configuration, i.e. when all computers used by that instrument are available
(see3.2.2).
However, due to the nature of XXXX (example for all instrument developers,
working at different places under different hw configurations), we include also
a section (3.2.3)
describing the procedure to be followed depending on the computers
availability.
This section describes the installation
procedure used up to the Commissioning Phase. Once the instrument is at Paranal
and enters into operations, the Installation procedure will slightly change. In
fact, in order to minimize downtime on target Workstations, the first part of
the Installation procedure at Paranal (up to step BUILD_ENV of pkginBuild) is
executed on a dedicated off-line Workstation. The results are copied to the
target IWS, where the remaining steps (from START_WSENV) are then executed.
The whole installation procedure must be executed as user xxxxmgr (in development environments this is not mandatory) and will take at least 30 minutes.
During the installation, it is recommended to have a logMonitor window active, in order to see possible error logs.
At the end of the installation, check for error logs in file $HOME/XXXXSource/INSTALL/pkginBuild.err.
1.) Run the utility vccEnv and verify that the following CCS environments are known and correctly configured in the ACC database:
wxxxx for the instrument
wxxtcs for the simulated TCS
The same should be done for the environments associated to available LCUs, if any:
lxxics1 for ICS LCU 1
lxxics2 for ICS LCU 2
lxxtccd for TCCD DCS LCU
wxxfier for the FIERA SLCU
2.) Verify that the environment variables INTROOT and INS_ROOT are defined.
% echo $INTROOT
% echo $INS_ROOT
3.) Verify that the file $HOME/.bobrc exists and is a symbolic link to $INTROOT/config/xxins.bobrc. If not, run:
% ln –s $INTROOT/config/xxins.bobrc $HOME/.bobrc
4.) Retrieve version number to be used:
% cd <TAPE_ROOT_DIRECTORY>
% export XXXX_VERSION=`grep "@(#)" examples/insapp/XXXX/xxins/ChangeLog | awk '{print $4}'`
%
echo $XXXX_VERSION
5.) Create an empty directory as root for the source code, e.g.:
% mkdir $HOME/XXXXSource
During the installation the following directories are created:
xxins Installation support module (for pkginBuild).
INSTALL It contains logs and error logs of the installation.
ICS It contains all ICS modules (see 2.2.1)
OS It contains all OS modules (see 2.2.1)
MS It contains all MS modules (see 2.2.1), in particular xxmcfg, with the whole set of configuration files.
VLTSW_new It contains an upgraded version of modules, if any, belonging to VLT sw releases. If all modules as from VLTROOT are taken, this directory is missing.
3.2.2 Operational hw configuration (all LCUs available)
% cd $HOME/XXXXSource
% cmmCopy xxins $XXXX_VERSION
% pkginBuild xxins
3.2.3 Development hw configuration (not all LCUs available)
The first step involves only WS environments and must be executed independently from the LCUs availability:
% cd $HOME/XXXXSource
% cmmCopy xxins $XXXX_VERSION
% pkginBuild xxins –env wxxxx wxxtcs
At the end of this step, if no error has been found, the WS environments must be active.
If not all LCUs are available, periodic errors are logged, because the logManager tries periodically to access all LCUs. In order to avoid this, edit the file $VLTDATA/ENVIRONMENTS/wxxxx/logLCU.config and remove the lines corresponding to not available LCUs.
The next steps are needed only if LCUs are available.
· TCCD LCU is available.
Run:
% pkginBuild xxins –env lxxtccd –fromstep BUILD_ENV
· Two ICS LCUs are available.
Run:
% pkginBuild xxins –env lxxics1 lxxics2 –fromstep BUILD_ENV
· Only one ICS LCU is available.
As a matter of fact, XXXX ICS is configured for two LCUs:
1. LCU 1 controls all motorized devices
2. LCU 2 controls all the other devices (lamps/shutters/sensors)
Assuming you are interested in motorized devices, you should declare LCU 1 available and LCU 2 not available (otherwise do the opposite):
q Edit file $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxmcfgINS.cfg and uncomment:
##INS.CON.LCUAV2 F
q Run:
% cd $HOME/XXXXSource
% pkginBuild xxins –env lxxics1 –fromstep BUILD_ENV
This chapter is intended to give instrument operators all information they need to work with the Instrument Software through its Graphical User Interface.
Note:
For Instruments operational at Paranal, after proper log-in on the User
Station, the CDE (or VUE) menu is customized to the specific Instrument to be
operated, such that dedicated options to start-up/shutdown control processes or
individual panels are provided. An example of such functionality is not
available for the Template Instrument yet.
In the following it is assumed that the installation (see chapter 3) has been successfully completed and environments are active.
In order to operate
the instrument properly, the user has to log-in
on all terminals in the User Station as user xxxx (not mandatory in a development environment).
Unless otherwise specified, all UNIX shell commands, described in the next sections, have to be typed on a xterm window running on the Instrument Workstation.
After log-in, check that the environment variables needed to run properly the Instrument software are defined. To list the environment variables that should be defined type:
% osbEnvSet XXXX
The setting of these variables is done within the file $INTROOT/config/xxins-misc-all.env (or xxins.cshrc if vue is used). This file is automatically sourced whenever you login or any new xterm is opened. Make sure that this is the case.
If TCS is supposed to be used, make sure that it is running and ONLINE, before starting the Instrumentation Software:
q If the real telescope is going to be used, check with the telescope operator.
q In a development environment, where no real telescope is available, the TCS simulation package is used. Run:
% xxinsStart –panel OS_ENGINEERING
Figure 3 OS Engineering panel
The OS engineering panel (see Figure 3) pops-up.
· If the state of TCS Simulator is not ONLINE, press the button STARTUP: after a while the state should change to ONLINE (if not, check, e.g. with scanei, that the scan system between wxxxx and wxxtcs works properly).
· Start the TCS Sim. GUI
· From the TCS Simulation GUI, start the TCS Control and TCS User Panel
· In the TCS User Panel, press Preset Name zenith and wait till the dark gray background color of the RA and DEC fields in the TCS Control Panel disappears.
· Close TCS Simulation GUI, TCS Control and TCS User Panel.
· Simulate TCS auto-guiding running, by selecting in the OS engineering panel the menu item
Simulation à TCS à Auto-guider à Stop and then Start
· Simulate TCS active optics running, by selecting in the OS engineering panel the menu item
Simulation à TCS à Active Optics à Stop and then Start
· Close the OS engineering panel (File à quit).
Normally the Instrumentation Software does
not need any data reduction package installed and running on the Instrument
Workstation. The only exception is when such a package is needed to perform
on-line data reduction operations, whose results are then used by the
Instrumentation Software. Even in this case, normally no control process
accesses the on-line data reduction package, because this should be done at
templates level.
Some XXXX templates need a data reduction package and Midas is used for this purpose.
Midas FEB2001 must therefore be installed. If this is not possible, for whatever reason, then templates can still be executed (e.g. for test purposes) by setting the environment variable DEBUG_MIDAS (access to Midas from templates is disabled):
%export DEBUG_MIDAS=1 (or setenv DEBUG_MIDAS 1 if vue is used)
4.1.4 Instrument Software Start-up
The system start-up is based on the common startup tool stoo (see [RD 19]).
There are two ways to start-up the Instrument Software:
1.) Through dedicated GUI. Recommended after a new installation or whenever some start-up configuration parameter needs to be changed. Type on a xterm window:
% xxinsStartup
The Start-up GUI (Figure 4) pops-up. This panel allows defining which
sub-systems are available and at which level of simulation they should start,
in particular if they have to access the LCUs or they should simulate the LCU functionality
at WS level. It also allows specifying which GUIs will be automatically
started.
Figure 4 Startup panel
Finally, by pressing the button Start, all specified GUIs and sub-systems control processes are started. A log window shows the various phases of the startup procedure.
When successfully completed, the log window disappears and all sub-systems should be in state STANDBY.
If any error occurs, the log window remains active and shows the reason of the failure.
2.) Directly from the UNIX shell. Type on a xterm window:
%
xxinsStart
This command has the same effect of pressing the Start button in the start-up GUI.
Before being able to operate the instrument and take exposures, it has to be ONLINE.
On the OS Control panel (see Figure 5), check the global State. If it is not ONLINE, select the menu option
Instrument à ONLINE.
Please wait till the global State turns to ONLINE.
Figure 5 OS Control panel
After operating the instrument, whenever it is foreseen to leave it idle for long time (e.g. during daytime), the instrument has to be brought to a safe state, also called STANDBY.
On the OS Control panel (see Figure 5), select the menu option
Instrument à STANDBY.
Please wait till the global State turns to STANDBY.
There are two ways to shutdown the Instrument Software:
1. From the OS Control GUI select the menu item Instrument à SHUTDOWN.
Only the control processes are terminated. Panels remain up.
2. Type on a xterm window:
%
xxinsStop
All control processes and panels are
terminated.
The GUIs distribution on the User Station screens is shown in Figure 6 and Figure 7.
Figure 6 User Station screen #1
Figure 7 User Station screen #2
4.4 Observations with Templates
This is the usual way to do observations at the VLT.
In this section we
illustrate a simple example of observing run. We run the Observation Block (OB)
defined in the file XXXX_gen_tec_SelfTest.obd.
This
Normally Observation Blocks (OBs) exercise all instrument sub-systems, as well as the telescope (if declared available).
It is therefore VERY IMPORTANT to verify the status of instrument and
telescope before starting this
OBs are prepared through the P2PP tool on a separate Workstation (wxxdhs).
In order to run them:
1.)
Select the
2.)
Load this
3.) Press the Start button.
4.) Wait
till the
If necessary, during the execution of the
The running exposure can be aborted by pressing the Abort button in the OS Control panel.
See sections 5.15 and 7.2.3 for a more detailed description of the available templates.
No alarms are at present defined for the instrument.
Description |
Severity |
Operator’s
Action |
|
|
|
All data files used and/or generated by the Instrument Software are located under $INS_ROOT as follows:
· Configuration files:
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES
· Image FITS files, results of exposures:
$INS_ROOT/SYSTEM/DETDATA
· Setup files:
$INS_ROOT/SYSTEM/COMMON/SETUPFILES/<type>
<type> is one of the following: REF, INS, DET, TARG
· Template Signature File:
$INS_ROOT/SYSTEM/COMMON/TEMPLATES/TSF
· Observation Block Description files:
$INS_ROOT/SYSTEM/COMMON/TEMPLATES/OBD
The OS Engineering GUI (see Figure 3) allows to startup/shutdown, change state and startup the stand-alone GUI of single sub-systems, e.g. whenever there are problems with one specific sub-systems. To start it up:
%xxinsStart –panel OS_ENGINEERING
While the detectors and the telescope stand-alone GUIs are provided by the associated standard software packages, the ICS GUI is necessarily specific to the instrument (see Figure 8). It is based on icbpan (see [RD 26]). To start it up:
%xxinsStart –panel ICS
Figure 8 ICS Engineering GUI
This part of the document provides a description of the programmatic interface of the Instrument Software.
For people having no experience with
Instrumentation software yet, it is recommended, although not necessary, before
starting to read this section, first to have a look at the interactive usage of
the instrument at chapter 4 and possibly try it out. It can help to get a better
idea of how Instrumentation software works.
XXXX defines the following modes:
· IR_IMAGING. Its purpose is to take images in the infrared.
Subsystems involved are IRACE, ICS and TCS.
· GUIDING. Its purpose is to perform guiding operations.
Subsystems involved are TCCD, ICS and TCS.
· IR_SPECTROSCOPY. Its purpose is to take spectra in the infrared.
Subsystems involved are IRACE, TCCD, ICS and TCS.
In this mode two independent exposure, one for each detector (IR and TCCD), can be executed in a semi-parallel way, i.e. the exposures on the two detectors are started at different points in time, however there is a time interval, during which both exposures are running. For more information see [RD 17].
· OPT_IMAGING. Its purpose is to take images in the optical range.
Subsystems involved are FIERA, ICS and TCS.
OS must be able to associate one or more sub-systems to each short-FITS keyword associated to a SETUP command. The filtering criteria are defined in the configuration file $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxmcfgINS.cfg
(see also 10.5.2).
The table below provides a summary.
Subsystem |
FITS
Prefix |
OS |
OCS |
ICS |
INS |
IRDCS |
DET1 |
TCCD |
DET2 |
FIERA |
DET3 |
TCS |
TEL |
The ICS Software devices are defined in the configuration file $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxmcfgINS.cfg (see also 10.5.2):
# |
Name |
Description |
Positions |
Motor Axis |
FITS
Prefix |
ICB
Class |
LCU |
1 |
lamp |
Sample lamp |
ON/OFF |
N/A |
INS.LAMP1 |
icbLAMP |
2 |
2 |
tsh |
Sample shutter |
OPEN/CLOSED |
N/A |
INS.SHUT1 |
icbSHUTTER |
2 |
3 |
adc |
Sample ADC device |
continuous |
circular |
INS.ADC1 |
icbMOT_ADC |
1 |
4 |
dpor |
Sample depolarizer |
continuous |
circular |
INS.DPOR |
icbMOT_DPOR |
1 |
5 |
drot |
Sample derotator |
continuous |
circular |
INS.DROT |
icbMOT_DROT |
1 |
6 |
filt |
Sample filter wheel |
discrete |
circular |
INS.FILT1 |
icbMOT_FILTER |
1 |
7 |
grat |
Sample grating wheel |
continuous |
circular |
INS.GRAT1 |
icbMOT_GRATING2 |
1 |
8 |
mirr |
Sample mirror wheel /slide |
discrete |
circ./lin. |
INS.MIRR1 |
icbMOT_MIRROR |
1 |
9 |
iods |
Sample slide |
discrete |
linear |
INS.OPTI1 |
icbMOT_OPTI |
1 |
10 |
gris |
Sample wheel |
discrete |
circular |
INS.GRIS1 |
icbMOT_OPTI |
1 |
11 |
focu |
Sample slide |
continuous |
linear |
INS.FOCU1 |
icbMOT_POS |
1 |
12 |
rot |
Sample wheel |
continuous |
circular |
INS.ROT1 |
icbMOT_POS |
1 |
13 |
dekk |
Sample dekker (two jaws) |
continuous |
excentric |
INS.SLIT1.LEN |
icbMOT_SLIT2_LEN |
1 |
14 |
slit |
Sample slit (two jaws) |
continuous |
excentric |
INS.SLIT1.WID |
icbMOT_SLIT2_WID |
1 |
15 |
slits |
Sample slit wheel/slide |
discrete |
circ./lin. |
INS.SLIT2 |
icbMOT_SLITS |
1 |
16 |
tilt |
Sample tilt device |
continuous |
excentric |
INS.TILT1 |
icbMOT_TILT |
1 |
17 |
fcs |
Cryostat sensor |
N/A |
N/A |
INS.SENSOR1 |
icbSEN_ADAM |
2 |
18 |
baro |
Pressure sensor |
N/A |
N/A |
INS.SENSOR2 |
icbSEN_BAROMETER |
2 |
19 |
fctc |
Cryostat temp. sensor |
N/A |
N/A |
INS.SENSOR3 |
icbSEN_CN77000 |
2 |
20 |
ccc1 |
Cooling control sensor |
N/A |
N/A |
INS.SENSOR4 |
icbSEN_COOLING |
2 |
21 |
dis1 |
Digital sensors |
N/A |
N/A |
INS.SENSOR5 |
icbSEN_DIGITAL |
2 |
22 |
ench |
Humidity sensor |
N/A |
N/A |
INS.SENSOR6 |
icbSEN_HUMIDITY |
2 |
23 |
temp |
Temperature sensor |
N/A |
N/A |
INS.SENSOR7 |
icbSEN_ESTERS |
2 |
24 |
yyyy |
Sample special device |
N/A |
N/A |
INS.MIRR2 |
Special device |
2 |
Some remarks:
· All motorized devices use ESO standard motion control (Maccon) and amplifier boards.
· All motors with continuous positioning do so with a two step absolute motion to overcome possible backlash problems (see [RD 16]).
· Devices focu and rot use a linear formula for user units versus encoder units conversion.
· Devices dekk and slit have two motors each
· Device dpor rotates continuously when asked to move.
· Device adc1 uses ADC tracking mode (see [RD 16]).
· Device drot uses various tracking modes (see [RD 16]).
· Device fcs is connected to the hw device ADAM 4017 (RS-485)
· Device baro is connected to the hw device VAISALA PTB220B (RS-485)
· Device fctc is connected to the hw device OMEGA CN77000 (RS-485)
· Device ccc1 is connected to the ESO standard cabinet cooling hw device (RS-232)
· Device dis1 is connected to the ESO standard Acromag digital I/O board
· Device temp is connected to the ESO standard temperature acquisition unit Esters DC24 (RS-232).
The only special device is yyyy. It is a simple sample software device that has two double attributes in its OLDB point. These two double attributes can be set with the SETUP command (with FITS keywords INS.MIRR2.DATA1 and INS.MIRR2.DATA2). These values can be retrieved with the STATUS command.
The ICS assemblies are defined in the configuration file $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxmcfgINS.cfg (see also 10.5.2):
# |
Name |
Description |
Commands |
Values |
1 |
INS.PRESLIT |
All pre-slit devices |
STATUS |
N/A |
2 |
INS.INFRARED |
All devices used in the infrared arm |
STATUS |
N/A |
3 |
INS.OPTICAL |
All devices used in the optical arm |
STATUS |
N/A |
4 |
INS.MODE |
Instrument mode |
SETUP STATUS |
See 5.1 |
5 |
INS.PATH |
Light path |
EXPSTRT EXPEND STATUS |
INFRARED OPT_TCCD OPT_SCCD <blank> |
The Exposure types accepted are those defined by the standard IRACE, FIERA and TCCD Software packages (see respective manuals).
The OS exposure Id is a positive integer value uniquely identifying an exposure from the OS point of view.
The first SETUP command must be issued with the –expoId 0 parameter, and the Exposure Id returned by the successful completion of this command must be used for every other SETUP command, as well any other command (START, END, PAUSE, CONTINUE, ABORT, WAIT, STATUS) referring to the same exposure.
OS keeps track of the global exposure status, taking into account the current status of each detector and possible parallel exposures. It is stored in the OLDB attribute <alias>xxo:exposure.expStatus and its values are those specified by the BOSS package (see [RD 17]).
In mode IR_SPECTROSCOPY, where two detectors are involved (IRDCS and TCCD), the instrument has the same level of exposures parallelism supported by BOSS (see [RD 17]).
1. An exposure is initially defined with a SETUP command with
· -expoId 0
· INS.MODE keyword present (as part of the –function parameter or within a setup file specified with the –file parameter)
2.
A new Exposure Id is generated and returned in the
reply. Every Additional SETUP command shall contain this
3. A command START –expoId <exposure Id> will initiate the Exposure, that will go through the following phases:
a) Exposure preparation:
· OS requests TCS, through tif library call, to provide FITS information at start of the exposure
· OS sends the command START to the DCS(s) involved in the exposure
· OS sends the EXPSTRT command to ICS
Note: the default behavior of BOSS is to send first EXPSTRT to ICS and then START to DCS(s). The reversed order in XXXX has the sole purpose to provide an example of BOSS method overloading (see Appendix A.1)
b) Exposure execution. It consists of:
q DCS Integration
q DCS Read-out
q DCS Data transfer to IWS
c) Exposure termination:
· DCS writes all image data in the FITS file, as well as some header information
· OS requests TCS, through tif library call, to provide FITS information at end of the exposure
· OS sends the EXPEND command to ICS
· OS sends the STATUS –header –dumpFits command to ICS
· OS merges the partial header files produced by OS itself, TCS, ICS and DCS in the FITS image file
· OS informs Archive (volac) that a new data file is available for archiving.
The following is an example of sequence of commands needed to define and execute exposures:
14 ß returned exposure Id
OK
OK
The instrument global state is the lowest state of its sub-systems and is recorded in the OLDB attribute <alias>xxo:status.state
The table below gives the list of available states and the commands (uppercase) and/or scripts (italics) needed to change the current state.
To From |
OFF |
LOADED |
STAND-BY |
ON-LINE |
OFF
|
--- |
xxinsStart |
xxinsStart |
--- |
LOADED |
xxinsStop |
--- |
STANDBY |
ONLINE |
STAND-BY |
xxinsStop |
--- |
--- |
ONLINE |
ON-LINE |
xxinsStop |
--- |
STANDBY |
--- |
According to the standard VLT Instrumentation Software architecture, all commands to the instrument must be sent to the OS Server process xxoControl. The commands available are listed in the Command Definition Table file $INTROOT/CDT/xxoControl.cdt
In addition to the standard commands defined by BOSS, OS implements the special command TESTCMD (not in the present release).
The sole purpose of TESTCMD is to show an example how to add a command to an OS based on BOSS. See also Appendix A.2.
None
None
The tcl class library for templates xxoseq uses the base classes provided by the standard VLT library for templates tpl (see [RD 24]). See also Appendix A.4.
This library is registered in the BOB configuration file ($INTROOT/config/xxins.bobrc)
The Instrument Software uses several dictionaries to handle setup keywords and to create FITS files with proper header:
· ESO-VLT-DIC.CCDDCS for the keywords belonging to the TCCD sub-system
· ESO-VLT-DIC.FCDDCS for the keywords belonging to the FIERA sub-system
· ESO-VLT-DIC.IRACE for the keywords belonging to the IRDCS sub-system
· ESO-VLT-DIC.TCS for the keywords belonging to the TCS sub-system
· ESO-VLT-DIC.XXXX_ICS for the keywords belonging to the ICS sub-system
· ESO-VLT-DIC.OSB for the standard keywords belonging to the OS sub-system
· ESO-VLT-DIC.XXXX_OS for the special keywords belonging to the XXXX OS sub-system
· ESO-VLT-DIC.DPR for the keywords belonging to templates
· ESO-VLT-DIC.TPL for the keywords belonging to templates
· ESO-VLT-DIC.OBS for the keywords belonging to templates
The following dictionaries are instead not used at runtime, but for installation and/or startup purposes:
· ESO-VLT-DIC.ICB_CFG for the standard keywords belonging to the ICS configuration
· ESO-VLT-DIC.XXXX_CFG for the special keywords belonging to the instrument specific configuration
· ESO-VLT-DIC.STOO_CFG for the keywords used by the startup tool stoo
All instrument specific dictionaries are contained in module dicXXXX.
After installation, the dictionaries can be found in one of the following directories
$INS_ROOT/SYSTEM/Dictionary
$INTROOT/config
$VLTROOT/config
No alias file is used.
After installation, all configuration files used by the Instrument Software are located in the directory $INS_ROOT/SYSTEM/COMMON/CONFIGFILES.
See chapter 6 and 10.5 for more detailed information on the contents of the individual files.
OS treats these keywords. The instrument does not implement any special OCS keyword: it uses only standard keywords defined by the BOSS package (see [RD 17]) and described in the dictionary ESO-VLT-DIC.OSB.
OS and ICS treat these keywords.
The table below shows the keywords used:
Setup
keyword |
Device |
Units |
Description |
Values |
INS.MODE |
(assembly) |
N/A |
Instrument mode |
See 5.1 |
INS.LAMP1.ST |
lamp |
N/A |
Turn ON/OFF |
T/F |
INS.SHUT1.ST |
tsh |
N/A |
OPEN/CLOSE |
T/F |
INS.ADC1.MODE |
adc |
N/A |
ADC mode |
OFF/AUTO |
INS.DPOR.ST |
dpor |
N/A |
Start/Stop continuous rotation |
T/F |
INS.DROT.RA INS.DROT.DEC INS.DROT.POSANG INS.DROT.MODE INS.DROT.STATINDX |
drot |
hhmmss.mm ddmmss.mm deg none none |
Right Ascension Declination Start position angle Derotator mode Offset index for STAT mode |
0-360 STAT/SKY/ELEV See 10.5.1 |
INS.FILT1.NAME |
filt |
N/A |
Filter name |
See 10.5.1 |
INS.GRAT1.NAME INS.GRAT1.WLEN |
grat |
N/A nm |
Grating name Central wavelength |
See 10.5.1 See 10.5.1 |
INS.MIRR1.NAME |
mirr |
N/A |
Mirror name |
See 10.5.1 |
INS.OPTI1.NAME |
iods |
N/A |
Slide position name |
See 10.5.1 |
INS.GRIS1.NAME |
gris |
N/A |
Slide position name |
See 10.5.1 |
INS.FOCU2.POS |
focu |
mm |
Focus position |
See 10.5.1 |
INS.ROT1.POS |
rot |
deg |
Position angle |
See 10.5.1 |
INS.SLIT1.LEN |
dekk |
mm |
Decker length |
See 10.5.1 |
INS.SLIT1.WID |
slit |
mm |
Slit width |
See 10.5.1 |
INS.SLIT2.NAME |
slits |
N/A. |
Position name |
See 10.5.1 |
INS.TILT1.POS |
tilt |
micron |
Tilt position |
See 10.5.1 |
INS.MIRR2.DATA1 INS.MIRR2.DATA2 |
yyyy |
mm deg |
Sample special device setup keyw. Sample special device setup keyw. |
any float number any float number |
Remarks:
· All motorized devices with encoder can also be addressed to a specific absolute or relative encoder value using the keywords .ENC and .ENCREL (e.g. INS.FILT1.ENC 15000 or INS.FILT1.ENCREL 1000). The usage of these keywords is however limited to engineering/maintenance operations.
OS and DCS treat these keywords.
The instrument does not implement any special DCS keyword: it uses only keywords defined by the standard DCS packages IRACE (see [RD 15]), FIERA (see [RD 14]) and CCD (see [RD 13]).
Images, as result of exposures, are written on WS disk in FITS format (see [AD 01]).
An example of complete FITS header is given in 10.8.1
The VLT on-line Archive is informed of each new complete file ready for archiving, according to the standard protocol defined in [AD 08].
5.13 Public on-line database attributes
This section is applicable only to those
instruments, which are supposed to work in conjunction with other instruments
(e.g. through Super-OS).
No OLDB attribute is publicly available.
An example of operational log in FITS format is given in 10.9.1.
This section describes briefly the templates implemented for the instrument.
· XXXX_irimg_acq. It is the acquisition template for the IR_IMAGING Mode.
· XXXX_irspec_acq. It is the acquisition template for the IR_SPECTROSCOPY Mode.
· XXXX_optimg_acq. It is the acquisition template for the OPT_IMAGING Mode.
· XXXX_optimg_cal_bias. It executes bias exposures with the FIERA DCS in OPT_IMAGING Mode
· XXXX_optimg_cal_flatfield. It executed flat field exposures with the FIERA DCS in OPT_IMAGING Mode
· XXXX_optimg_cal_focus. It checks the FIERA camera focus in OPT_IMAGING Mode
· XXXX_optimg_cal_linearity. It does a CCD chip linearity check with the FIERA DCS in OPT_IMAGING Mode
· XXXX_irimg_obs_exp. It performs standard exposures in IR_IMAGING Mode
· XXXX_irspec_obs_exp. It performs standard exposures in IR_SPECTROSCOPY Mode
· XXXX_optimg_obs_exp. It performs standard exposures in OPT_IMAGING Mode
This section is reserved to engineers responsible of the
instrument maintenance.
It describes where
instrument configuration parameters are stored and the way, in which they can
be changed, saved and kept under configuration control.
The instrument
configuration is based on the Configuration Tool (ctoo, see User Manual [RD 25]).
In order to be able
to operate the instrument properly and reliably, the instrument configuration
parameters must be kept under configuration control. For this reason, all files containing configuration
parameter values are put in one single dedicated cmm module, called xxmcfg
(directory config).
After installation,
all configuration files are located in $INS_ROOT/SYSTEM/COMMON/CONFIGFILES,
except IRACE configuration and clock files, located under
$INS_ROOT/SYSTEM/MISC/IRACE.
The files
containing information related to the instrument configuration are:
·
xxmcfgCONFIG.cfg. It is the master
file for the ctoo tool and contains
basic information about which other files are involved and for what purpose.
See its contents in 10.5.1
·
xxmcfgINS.cfg. It contains most
of the Instrument configuration information.
See its contents in 10.5.2
·
xxmcfgSTART.cfg. It contains only
the startup information (e.g. which subsystems are available and at which level
of simulation they should work) and is used by xxinsStartup, xxinsStart
and xxinsStop, all based on the
Startup Tool stoo (see [RD 19]).
See its contents in 10.5.3
·
xxmcfg*M.dbcfg. Each of these
files contains the configuration of one motor controlled by ICS. They have been
created using the VLT Motor Engineering Interface Tool (motei, see [RD 06]).
·
Other *.cfg and *.dbcfg files are created and used by
the standard DCS and Real-Time Display (rtd/irtd) packages.
6.1 Change Instrument Configuration Parameters
For configuration changes to take effect, they have to be applied to the files stored in the $INS_ROOT.
Once a new stable configuration has been found, this configuration has to be stored in the xxmcfg module, as this is the only way to save permanently any change to the instrument configuration.
The accepted sequence of operations, which allow keeping control over changes to the instrument configuration, is:
1. Edit the files in the $INS_ROOT, that contain the parameters to be modified:
· use motei for the xxmcfg*M.dbcfg files
· use a normal text editor for the *.cfg files (they are ASCII files in PAF format).
2. If the changes done affect ICS LCU devices, run:
% icbConfigSet XXXX
3. Test the Instrument in the new configuration
4. Repeat the steps above as many times as needed.
a) The configuration changes are rejected.
Re-install the latest well-known configuration stored in the xxmcfg module:
% cmmCopy xxmcfg
% cd xxmcfg/src
% make clean all man install
% icbConfigSet XXXX
b) The configuration changes are accepted:
Archive the new configuration in the xxmcfg module:
% ctooConfigArchive XXXX
ctooConfigArchive (should be accessible also from a GUI menu) executes the following steps:
· cmmModify xxmcfg
· copy the configuration files from $INS_ROOT to the xxmcfg module (as specified by the CONFIG.ARCHIVE.* keywords, see section 10.5.1 and [RD 25]).
· cmmArchive xxmcfg
When a complete software (re-)installation on the IWS is going to be done, a snapshot of the current instrument configuration (as described above in point 5b) MUST be archived before starting the new installation.
7 MAINTENANCE
A
special
To run it:
1.) Load file XXXX_gen_tec_SelfTest.obd into the BOB panel (File à Load Obs à From File …).
2.) Press the Start button.
3.) Wait
till the
If necessary, during the execution of the
The running exposure can be aborted by pressing the Abort button in the OS Control panel.
This module is dedicated to the installation of the instrument software.
· src
· xxinsCreateNewInstrument. Script used to generate the code for a new instrument, duplicating the functionality of the Template Instrument, but having a different name and id.
· xxinsInstallHook. Plugin for pkginBuild (see xxinsINSTALL.cfg). It completes the installation with some steps needed by IRACE and TCS simulation.
· xxinsStartup. Script used to startup the instrument software after a rebuild or some major modifications to the hw configuration (panel pops-up allowing to configure the simulation levels).
· xxinsStartup.pan. File created with the VLT panel editor. It is an example of customization of the startup panel, instead of the default panel defined by stoo.
· xxinsStoo.tcl. It contains some instrument specific stoo sub-classes, overloading methods. It is an example how the startup behavior can be customized.
· xxinsStart. Script normally used to startup the whole instrument software or sub-systems. Simulation levels are kept as defined in the configuration files xxmcfgSTART.cfg.
· xxinsStop. Script normally used to stop the whole instrument software or sub-systems.
· ENVIRONMENTS
· lxxics1. Template directory to be taken by pkginBuild when building environment lxxics1
· lxxics2. Template directory to be taken by pkginBuild when building environment lxxics2
· lxxtccd. Template directory to be taken by pkginBuild when building environment lxxtccd
· wxxxx. Template directory to be taken by pkginBuild when building environment wxxxx
· wxxtcs. Template directory to be taken by pkginBuild when building environment wxxtcs
· config
· xxins.bobrc. Configuration file for BOB
· xxins.cshrc. File containing environment variable definitions, sourced automatically at login (if VUE used)
· xxins-misc-all.env. File containing environment variable definitions, sourced automatically at login (if CDE used)
· xxinsVuewmrc. File containing VUE menu configuration for a development environment
· xxinsUwsVuewmrc. File containing VUE menu configuration for the User Workstation
· xxinsINSTALL.cfg. Main configuration file for pkginBuild. It includes:
· xxinsINSTALL_TEST.cfg. It contains definitions to be used on a development WS only
· xxinsINSTALL_VLTSW.cfg. It contains definitions related to new versions of VLT sw modules.
This module contains the instrument specific dictionaries.
· src
· dicXXXX_CFG.txt. It contains configuration keywords used in xxmcfgINS.cfg for the special device yyyy.
· dicXXXX_ICS.txt. It contains run-time keywords used by ICS
· dicXXXX_OS.txt. It contains run-time keywords used by OS
This module contains the code for the OS processes.
· src
· xxoControl.C It contains the main of the OS front-end process xxoControl.
· xxoSERVER.C. It contains the code for class xxoSERVER, sub-class of bossSERVER. In particular, method SubsystemInterfaces creates instances of the proper interface class for each sub-system used by OS.
· xxoExpoCtrl.C. It contains the overloading of bossSERVER methods StartPostProc and StartPostProc. They are just examples of bossSERVER method overloading.
· include
· xxoErrors.h. It defines macros for the module errors
· xxoPrivate.h. It contains definitions used by xxoControl
· xxoSERVER.h. It contains definitions for the class xxoSERVER
· CDT
· xxoControl.cdt Command Definition Table for the process xxoControl
· ERRORS
· xxo_ERRORS Definition of errors for this module
· config
· ccd.det Detector Setup File used by module test sw
· guidingMode.ref Reference Setup File used by module test sw
· vnoAUTOCOLL.ref. Reference Setup file automatically read by OS whenever it receives INS.MODE AUTOCOLL in a SETUP command.
· dbl
· xxoSERVER.class. dbl class defining the branches for the sub-systems used.
· xxo.db. dbl include file defining the whole OS branch of the OLDB. This file must be included in wxxxx/dbl/DATABASE.db
· test
It contains various module test scripts
7.2.2 Module xxopan
This module contains the code for the OS GUIs.
· src
· xxopanControl.pan File created with the VLT panel editor for the OS Control GUI (see Figure 5)
· xxopanControl.doc. Source file for the panel xxopanControl manual page
· xxopanStatus.pan File created with the VLT panel editor for the OS Status GUI. Dummy.
· xxopanStatus.pan. Source file for the panel xxopanStatus manual page
· xxopanEngineering.pan. File created with the VLT panel editor for the OS Engineering GUI (see Figure 3)
· xxopanEngineering.pan. Source file for the panel xxopanEngineering manual page
· library xxopanPrivate
· xxopanMisc.tcl. It contains miscellaneous procedure used within OS GUI panels.
· xxopanStateSubSystems_uifClass.tcl. VLT panel editor class used within xxopanEngineering. It contains:
· xxopanStateIcs_uifClass.tcl. VLT panel editor class used to act on ICS
· vnopanStateIrDcs_uifClass.tcl VLT panel editor class used to act on IRDCS
· vnopanStateOs_uifClass.tcl VLT panel editor class used to act on xxoControl
· vnopanStateTccd_uifClass.tcl VLT panel editor class used to act on TCCD
· vnopanStateFiera_uifClass.tcl VLT panel editor class used to act on FIERA
· vnopanStateTcs_uifClass.tcl VLT panel editor class used to act on VLTISIM
This module contains the files contributing to the Instrument Package, needed by the DFS, and in particular P2PP.
· src
The VLT utility oslxCompileTsf is used by make to generate the .tsf files (directory config) from the tsfx files.
· XXXX_irimg_acq.tsfx. TSF source file for Target Acquisition in IR_IMAGING mode
· XXXX_irimg_obs_exp.tsfx. TSF source file for standard observations in IR_IMAGING mode
· XXXX_irspec_acq.tsfx. TSF source file for Target Acquisition in IR_SPECTROSCOPY mode
· XXXX_irspec_obs_exp.tsfx. TSF source file for standard observations in IR_SPECTROSCOPY mode
· XXXX_optimg_acq.tsfx. TSF source file for Target Acquisition in OPT_IMAGING mode
· XXXX_optimg_cal_bias.tsfx. TSF source file for bias exposures in OPT_IMAGING mode
· XXXX_optimg_cal_flatfield.tsfx. TSF source file for flat field exposures in OPT_IMAGING mode
· XXXX_optimg_cal_focus.tsfx. TSF source file for focus check in OPT_IMAGING mode
· XXXX_optimg_cal_linearity.tsfx. TSF source file for linearity check in OPT_IMAGING mode
· XXXX_optimg_obs_exp.tsfx. TSF source file for standard observations in OPT_IMAGING mode
· xxotsfDET_EXPLEVEL.tsfx. TSF include file. It contains the following keywords:
DET.EXPLEVEL
· xxotsfINS_FILT.tsfx. TSF include file. It contains the following keywords:
INS.FILT1.NAME
· xxotsfINS_MODE.tsfx. TSF include file. It contains the following keywords:
INS.MODE
· xxotsfIRDET.tsfx. TSF include file. It contains DET1 keywords for IRDCS and includes:
· xxotsfIRDET_DIT.tsfx. TSF include file. It contains the following keywords:
DET1.DIT
DET1.NDIT
· xxotsfSCCD.tsfx. TSF include file. It contains DET3 keywords for FIERA and includes:
DET3.WIN1.ST
DET3.WIN1.STRX
DET3.WIN1.STRY
DET3.WIN1.NX
DET3.WIN1.NY
· xxotsfISCCD_BIN.tsfx. TSF include file. It contains the following keywords:
DET3.WIN1.BINX
DET3.WIN1.BINY
· xxotsfISCCD_DIT.tsfx. TSF include file. It contains the following keywords:
DET3.WIN1.UIT1
· xxotsfISCCD_DIT_LIST.tsfx. TSF include file. It contains the following keywords:
DET3.WIN1.UIT1
· xxotsfISEQ.tsfx. TSF include file. It contains the following keywords:
SEQ.NEXPO
· xxotsfITCCD_DIT.tsfx. TSF include file. It contains the following keywords:
DET2.WIN1.UIT1
· xxotsfITEL.tsfx. TSF include file. It contains the following keywords:
TEL.PRESET.NEW
TEL.TARG.ALPHA
TEL.TARG.DELTA
TEL.TARG.EQUINOX
TEL.TARG.OFFANGLE
TEL.TARG.ADDVELALPHA
TEL.TARG.ADDVELDELTA
TEL.TARG.PMA
TEL.TARG.PMD
TEL.GS1.ALPHA
TEL.GS1.DELTA
TEL.GS1.MAG
This module contains the Template Script files, as well as the Reference Setup files used by Templates and test OBs.
· src
· XXXX_acq.seq. Template Script file used by acquisition templates in IR_IMAGING and OPT_IMAGING mode
· XXXX_irimg_obs_exp.seq. Template Script file used by standard observation templates in IR_IMAGING mode
· XXXX_irspec_acq.seq. Template Script file used by acquisition templates in IR_SPECTROSCOPY mode
· XXXX_irspec_obs_exp.seq. Template Script file used by standard observation templates in IR_SPECTROSCOPY mode
· XXXX_optimg_cal_bias.seq. Template Script file used by bias template in OPT_IMAGING mode
· XXXX_optimg_cal_flatfield.seq. Template Script file used by flat field template in OPT_IMAGING mode
· XXXX_optimg_cal_focus.seq. Template Script file used by focus check template in OPT_IMAGING mode
· XXXX_optimg_cal_linearity.seq. Template Script file used by linearity check template in OPT_IMAGING mode
· XXXX_optimg_obs_exp.seq. Template Script file used by standard observation templates in OPT_IMAGING mode
· library xxoseq
· xxoseqICS.tcl. Defines methods for the itcl class xxoseqICS, sub-class of tplICS
· config
· XXXX_acq.ref Reference Setup File used in acquisition templates in IR_IMAGING and OPT_IMAGING mode
· XXXX_irimg_obs_exp.ref. Reference Setup File used by standard observation templates in IR_IMAGING mode
· XXXX_irspec_acq.ref. Reference Setup File used by acquisition templates in IR_SPECTROSCOPY mode
· XXXX_irspec_obs_exp.ref. Reference Setup File used by standard observation templates in IR_SPECTROSCOPY mode
· XXXX_optimg_cal_bias.ref. Reference Setup File used by bias template in OPT_IMAGING mode
· XXXX_optimg_cal_flatfield.ref. Reference Setup File used by flat field template in OPT_IMAGING mode
· XXXX_optimg_cal_focus.ref. Reference Setup File used by focus check template in OPT_IMAGING mode
· XXXX_optimg_cal_linearity.ref. Reference Setup File used by linearity check template in OPT_IMAGING mode
· XXXX_optimg_obs_exp.ref. Reference Setup File used by standard observation templates in OPT_IMAGING mode
· XXXX_gen_tec_SelfTest.obd. OB Description File to test all templates
· XXXX_irimg_acq.obd OB Description File to test template XXXX_irimg_acq
· XXXX_irimg_obs_exp.obd OB Description File to test template XXXX_irimg_obs_exp
· XXXX_irspec_acq.obd OB Description File to test template XXXX_irspec_acq
· XXXX_irspec_obs_exp.obd OB Description File to test template XXXX_irspec_obs_exp
· XXXX_optimg_acq.obd OB Description File to test template XXXX_optimg_acq
· XXXX_optimg_cal_bias.obd OB Description File to test template XXXX_optimg_cal_bias
· XXXX_optimg_cal_flatfield.obd OB Description File to test template XXXX_optimg_cal_flatfield
· XXXX_optimg_cal_focus.obd OB Description File to test template XXXX_optimg_cal_focus
· XXXX_optimg_cal_linearity.obd OB Description File to test template XXXX_optimg_cal_linearity
· XXXX_optimg_obs_exp.obd OB Description File to test template XXXX_optimg_obs_exp
A self-test of the ICS functionality can be executed by running:
%ic0SelfTest XXXX
The sequence of commands executed is defined by the keywords INS.TEST.* in the configuration file $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxmcfgINS.cfg.
It contains the code and files for ICS WS part.
· src
· xxiConfigSet.tcl. Tcl script called by icbConfigSet to set the yyyy special device configuration values in the ICS LCU 2 OLDB (file $VLTDATA/config/lxxics2.dbcfg)
· xxiControl.C It contains the main for the ICS WS front-end process xxiControl
· xxiCtrlMAIN_HANDLER.C It contains the code for the class xxiCtrlMAIN_HANDLER, sub-class of ic0CtrlMAIN_HANDLER. It overloads the method NewServer, needed in order to create an instance of class xxiSERVER
· xxiSERVER.C. It contains the code for the class xxiSERVER, sub-class of ic0SERVER. It overloads, as example, the method StatusCB, callback for the command STATUS, and also the methods related to OLDB events (AttachDbEvents, DbEvtCB) and timers (AddTimers, TimerCB)
· xxiINS_ANALOG.C It contains the code for the class xxiINS_ANALOG, sub-class of ic0INS_DEVICE, for the special device yyyy. In particular, it overloads method DevTrigger.
· CDT
· xxiControl.cdt Command Definition Table for the WS ICS front-end process xxiControl
· xxiSimControl.cdt. Command Definition Table for the ICS LCU simulation process xxiSimControl
· config
· lxxics1.scan. Scan configuration file for the ICS LCU 1
· lxxics2.scan. Scan configuration file for the ICS LCU 2
· dbl
· xxiSIM_CONTROL.class. dbl class containing the OLDB branch used by xxiSimControl
· xxiEnv1.db. dbl include file for the ICS LCU 1 and WS
· xxiEnv2.db. dbl include file for the ICS LCU 2 and WS
· include
· xxiCtrMAIN_HANDLER.h Declaration of the class xxiMAIN_HANDLER
· xxiINS_ANALOG.h Declaration of the class xxiINS_ANALOG
· xxiSERVER.h Declaration of the class xxiSERVER
This module contains the code for the ICS GUIs.
· src
· xxipanControl.pan ICS stand-alone panel, created with the CCS panel editor
· xxipanControl.tcl Procedures called from within the xxipanControl panel
· xxipanControl.doc Manual page for the xxipanControl panel
· xxipanGrat.tcl Example of device UIF behavior overloading
· xxipanSpecial_uifClass.tcl Example of special device uifClass, created with the CCS panel editor
· xxipanSpecial.tcl Example of special device behavior.
It contains the code and files for ICS LCU part, in particular the yyyy special device.
· src
· xxidev.boot Boot file for the xxidev module, as requested by LCC
· xxidevDeviceCmds.c. It contains the callbacks for all implemented commands, as requested by icb
· xxidevDeviceDummies.c. It contains the dummy callbacks for commands not implemented.
· vnidevDeviceNewObj.c It contains constructor and destructor of a special device object
· xxidevServer.c It contains the code of the yyyy server task, as requested by icb
· xxidevServerInterface.c It contains the interface functions defined in the Command Interpreter Table file xxidevServer.cit
· CDT
· xxidevServer.cdt Command Definition Table for the process xxidevServer
· CIT
· xxidevServer.cit Command Interpreter Table for the process xxidevServer
· ERRORS
· xxidev_ERRORS. It contains error definitions used in this module
· dbl
· xxidevYYYY.db dbl include file adding the OLDB point for the device yyyy. It is included in xxiEnv2.db
· include
· xxidevErrors.h It contains macros for errors used in this module
· vnidevDevice.h. It contains definitions used by the device yyyy
· xxidevServer.h It contains function declarations used in the xxidevServer process
Engineering/Maintenance Operations on DCS sub-systems can be performed through the standard stand-alone GUIs:
· TCCD
%xxinsStart –panel TCCD
· FIERA
%xxinsStart –panel FIERA
· IRDCS
%xxinsStart –panel IRDCS
At present no maintenance template is implemented.
This module contain the files describing the current configuration of the instrument
· config
· xxmcfgCONFIG.cfg. Main configuration file used by the VLT tool ctoo
· xxmcfgINS.cfg It contains most of the instrument configuration, except the startup/simulation part
· xxmcfgSTART.cfg It contains the startup/simulation part of the instrument configuration
· xxmcfgIRDCS.cfg. It contains the IRDCS part of the instrument configuration
· xxmcfgADC1M.dbcfg. OLDB backup file, created by motei, containing the configuration of the ADC1 motor
· xxmcfgDEKK1M.dbcfg. OLDB backup file, created by motei, containing the configuration of the DEKK1 motor
· xxmcfgDEKK2M.dbcfg. OLDB backup file, created by motei, containing the configuration of the DEKK2 motor
· xxmcfgDPORM.dbcfg. OLDB backup file, created by motei, containing the configuration of the DPOR motor
· xxmcfgDROTM.dbcfg. OLDB backup file, created by motei, containing the configuration of the DROT motor
· xxmcfgFILTM.dbcfg. OLDB backup file, created by motei, containing the configuration of the FILT motor
· xxmcfgFOCUM.dbcfg. OLDB backup file, created by motei, containing the configuration of the FOCU motor
· xxmcfgGRATM.dbcfg. OLDB backup file, created by motei, containing the configuration of the GRAT motor
· xxmcfgGRISM.dbcfg. OLDB backup file, created by motei, containing the configuration of the GRIS motor
· xxmcfgIODSM.dbcfg. OLDB backup file, created by motei, containing the configuration of the IODS motor
· xxmcfgMIRRM.dbcfg. OLDB backup file, created by motei, containing the configuration of the MIRR motor
· xxmcfgROTM.dbcfg. OLDB backup file, created by motei, containing the configuration of the ROT motor
· xxmcfgSLIT1M.dbcfg. OLDB backup file, created by motei, containing the configuration of the SLIT1 motor
· xxmcfgSLIT2M.dbcfg. OLDB backup file, created by motei, containing the configuration of the SLIT2 motor
· xxmcfgSLITSM.dbcfg. OLDB backup file, created by motei, containing the configuration of the SLITS motor
· xxmcfgTILTM.dbcfg. OLDB backup file, created by motei, containing the configuration of the TILT motor
· xxmcfgIcsSelfTest_*.ins. Instrument setup files used by ic0SelfTest as the ICS self-test procedure
It should contain the maintenance Template Script Files.
At present it is empty
It should contain the maintenance Template Signature Files.
At present it is empty
All suggestions presented in this chapter aim to allow the user to solve themselves the most common problems they may encounter.
In all cases, it is recommended to use the utility logMonitor to look for detailed reasons of the failure.
8.1 Problems at System Start-up
1. Make sure that the terminal is booting from the right host (wxxxx)
2. Make sure you have entered the right user name (xxxx) and password.
1. Make sure you issued the command from a xterm running on the Instrument Workstation (wxxx) as user xxxx. Type:
%whoami
2. Check the Start-up configuration (file xxmcfgSTART.cfg, see also 10.5.3).
8.1.3 Start-up of control processes fails
1. Start the OS Engineering GUI:
%xxinsStart –panel OS_ENGINEERING
2. Make sure that the sub-system associated to the failing process is supposed to run at a simulation level compatible with the hw available (cross-check also with the contents of the file xxmcfgSTART.cfg).
3. If the failure is related to the LCU sw (e.g. LCU not responding), a reboot of the LCU may help.
8.1.4 xxiControl starts with a wrong simulation level
1. The simulation level at which xxiControl is supposed to start is specified by the keyword INS.CON.OPMODE, defined in xxmcfgSTART.cfg (NOT in xxmcfgINS.cfg !!).
8.1.5 TCCD starts with a wrong simulation level and fails to go STANDBY
1. If the TCCD LCU is available, but no TCCD system is connected to it, xxmcfgSTART.cfg should contain:
OCS.DET2.SWSIM "HW_SIM”
8.1.6 xxoControl tries to access sub-systems declared as not available
1. Information about availability of sub-systems is provided through the keywords OCS.*.ACCESS in the file xxmcfgSTART.cfg.
1. Start the OS Engineering GUI:
%xxinsStart –panel OS_ENGINEERING
2. Check which sub-system failed to go online
3. Start the related stand-alone panel
4. If the failing sub-system is ICS, the most common case is that one of its devices has been disconnected (e.g. one motor) or set to handset/manual mode (e.g. one lamp or shutter). The failing device can be immediately recognized because its state is NOT online.
· Check the hardware connections/hardware switches
· Try to re-initialize the device.
5. If the failing sub-system is TCCD, the most common case is that the connection to the ACE box is down
· Check all cables in particular the fiber optics cable.
6. If the failing sub-system is FIERA, the most common case is that the controller is powered off (e.g. because of overheating protections).
7. If the failing sub-system is IRACE, the most common case is that the WS part tries to access the Sparc, whereby this computer is not available. Check the definition of environment variables, in particular SDMA_HOST (it must be the host name of the IWS, when the Sparc is not available).
8.2 Problems when running exposures
8.2.1 Cannot send commands to TCS or access tif
1. Make sure that TCS is running and ONLINE.
2. Make sure that TCS RA and DEC are OK. If the RA and DEC background color in the OS Control Panel is gray, then probably TCS is not operational. See also 4.1.2.
8.2.2 Templates cannot access Midas
1. Make sure that MIDAS NOV99 or higher is installed on the IWS. If not, disable MIDAS access from templates (see 4.1.3)
The Instrument Software uses the standard mechanism defined and provided by the CCS error system to log and return error information, both at functional and command level, on LCU and WS.
Errors are defined in the following files:
· xxoErrors.h OS error codes
· xxo_ERRORS OS error messages
See also section 10.11
10.1.1 Command Definition Table for program xxoControl
//*****************************************************************************
//
E.S.O. - VLT project
//
//
"@(#) $Id: xxoControl.cdt,v 1.47 2003/03/21 16:18:07 vltsccm Exp $"
//
//
who when what
//
---------- --------
----------------------------------------------
//
gzins 28/11/99 Created
//
epozna adopted fpr boss
//
epozna use common interface
(osb)
//
epozna 10/10/00 remove colons after PUBLIC_COMMANDS
//************************************************************************
// NAME
// xxoServer.cdt - command definition table
//
// DESCRIPTION
// This file describes the standard commands
defined in a process
// xxoServer (Supervisory Observation Software
server).
//
//------------------------------------------------------------------------
//
//************************************************************************
PUBLIC_COMMANDS
//------------------------------------------------------------------------
// BOSS Common Commands
//********************************************************************
//********************************************************************
//
#include
"osbControl.cdt"
xxinsStartup
NAME
xxinsStartup - configure and start XXXX
main application
SYNOPSIS
xxinsStartup
DESCRIPTION
This script starts the XXXX startup
configuration panel
and then starts XXXX if the START button is
pressed.
The user can set several options in the
startup panel
before starting XXXX:
Telescope (TCS):
- Available: select if the telescope can
be accessed or not.
Instrument (ICS):
- Available: normally true.
- WS Simulation: normally false, unless the instrument
is not available.
- User Interface: start the ICS
stand-alone panel.
Detectors (DCS):
- Available: normally true; set to false, if the
detector should not be
used.
- WS Simulation: normally false; set to true, if the
detector hardware is not
available.
- User Interface: start the detector
stand-alone panel.
- Start RTD: start the detector RTD.
Miscelaneous:
- Start BOB: start the BOB panel, normally true.
-
Start OS Control: start the OS control panel.
- Start Alarm Display: start the alarm
display.
FILES
xxmcfgSTART.cfg start configuration file
xxmcfgINS.cfg instrument configuration file
Both are in
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES
EXAMPLES
xxinsStartup
SEE ALSO
xxinsStart xxinsStop
###
generated by docDeroff ###
xxinsStart
NAME
xxinsStart - start XXXX application
SYNOPSIS
xxinsStart [-log] [-proc <appl>]
[-panel <panel>]
[-restart] [-loglevel <n>]
DESCRIPTION
This script starts the XXXX application.
- Default panels are stopped.
- All subsystems are started.
- The Observation Software is started.
- Default panels are started.
Options:
no option: Check that OS and its subsystems are
running,
start them if necessary.
Restart default panels.
-proc <name> Start the application <name>.
<name> may be the
name of a subsystem
(e.g. ICS) or OS.
To obtain a list of known
panels, use e.g.:
'xxinsStart -proc show'
-panel <name> Start the panel <name>.
To obtain a list of known
panels, use e.g.:
'xxinsStart -panel show'
Option modifiers:
-restart Restart the application.
OS and subsystems are stopped,
then restarted.
Only default panels are
stopped and restarted.
-log Open a log window
(-log MUST always be the
first option).
To suppress the log window,
pass any other
option to xxinsStart, e.g.
'-loglevel 1'.
-loglevel <n> Increase logging for debugging. n = 0..3.
FILES
xxmcfgSTART.cfg start configuration file
xxmcfgINS.cfg instrument configuration file
Both are in $INS_ROOT/SYSTEM/COMMON/CONFIGFILES
EXAMPLES
xxinsStart -panel OS_CONTROL
SEE ALSO
xxinsStop
###
generated by docDeroff ###
xxinsStop
NAME
xxinsStop - stop XXXX application
SYNOPSIS
xxinsStop [-log] [-proc <appl>]
[-panel <panel>]
[-standby] [-loglevel <n>]
DESCRIPTION
This script stops the XXXX application.
- OS is placed in state STANDBY.
- All panels are stopped.
- OS and all subsystems are stopped.
Options:
no option: Place OS in state STANDBY, stop all
panels
and stop OS and all
subsystems.
-proc <name> Stop the application <name>.
<name> may be the
name of a subsystem
(e.g. ICS) or OS.
To obtain a list of known
panels, use e.g.:
'xxinsStop -proc show'
-panel <name> Stop the panel <name>.
To obtain a list of known
panels, use e.g.:
'xxinsStop -panel show'
-standby Only place OS in state STANDBY.
Leave all panels and
processes running.
Option modifiers:
-log Open a log window
(-log MUST always be the first
option).
To suppress the log window,
pass any other
option to xxinsStop, e.g.
'-loglevel 1'.
-loglevel <n> Increase logging for debugging. n = 0..3.
FILES
xxmcfgSTART.cfg start configuration file
xxmcfgINS.cfg instrument configuration file
Both are in
$INS_ROOT/SYSTEM/COMMON/CONFIGFILES
EXAMPLES
xxinsStop -panel OS_CONTROL
SEE ALSO
xxinsStart
###
generated by docDeroff ###
10.2.4 xxinsCreateNewInstrument
xxinsCreateNewInstrument
NAME
xxinsCreateNewInstrument
- create a new instrument from template XXXX
SYNOPSIS
xxinsCreateNewInstrument
<INS id> <INS prefix>
DESCRIPTION
This
utility converts modules and files written for the XXXX Template
Instrument
Software in files for a new instrument.
It
assumes that pkginBuild xxins has already been executed from the
same
directory where this utility is called.
<INS
id> is a the instrument identifier (upper case)
See keyword INS.CON.ID in file
xxmcfg/config/xxmcfgINS.cfg
and description in
VLT-MAN-ESO-17240-0934
<INS
prefix> is a two-letter prefix (lower case) for instrument files
See keyword INS.CON.PREFIX in file
xxmcfg/config/xxmcfgINS.cfg
and description in
VLT-MAN-ESO-17240-0934
It
copies the contents of the current directory to ../<INS id>Source
The
outcome should be a new working instrument, identical to XXXX for
what
concerns the functionality. To build and run it:
cd
../<INS id>Source
pkginBuild
<INS prefix>ins
The
results of this utility can be taken as a starting point for
the
development of a new instrument.
ENVIRONMENT
It is
assumed that the following environments are registered in ACC
w<INS
id> (lower case) Example: wamber
w<INS
prefix>tcs Example: wamtcs
l<INS
prefix>ics1 Example: wamics1
l<INS
prefix>ics2 Example: wamics2
l<INS
prefix>tccd Example: wamtccd
EXAMPLES
cd
$HOME/XXXXSource
pkginBuild
xxins
xxinsCreateNewInstrument
AMBER am
SEE ALSO
Base ICS
User Manual VLT-MAN-ESO-17240-0934 2.1
###
generated by docDeroff ###
All include files are private to the instrument.
The library xxoseq provides classes used for the development of XXXX Templates. The man-pages presented in this section refer to classes belonging to that library.
xxoseqICS
NAME
xxoseqICS - XXXX ICS interface for
templates.
SYNOPSIS
xxoseqICS ics
DESCRIPTION
XXXX ICS interface for BOB templates.
PARENT
tplICS
PUBLIC METHODS
see tplICS man page.
SEE ALSO
tplICS
###
generated by docDeroff ###
#******************************************************************************
# E.S.O. - VLT project
#
# "@(#) $Id: xxmcfgCONFIG.cfg,v
1.64 2003/02/25 12:03:26 vltsccm Exp $"
#
# ctoo configuration
#
# who when
what
# -------- --------
----------------------------------------------
# rschmutz 2000-09-28
CONFIG.SET1.NAME="XXXX" (instead of "XXXX").
# rschmutz 12/10/00
OSB_CFG replaced with OSB.
# rschmutz 03/09/00
created.
#
PAF.HDR.START; # Start of PAF Header
PAF.TYPE "Configuration"; # Type of
PAF
PAF.ID " "; # ID for PAF
PAF.NAME " "; # Name of PAF
PAF.DESC " "; # Short description of PAF
PAF.CRTE.NAME " "; # Name of creator
PAF.CRTE.DAYTIM "
"; # Civil Time for
creation
PAF.LCHG.NAME " "; # Name of person/appl. changing
PAF.LCHG.DAYTIM "
"; # Timestamp of last
change
PAF.CHCK.NAME " "; # Name of appl. checking
PAF.HDR.END; # End of PAF Header
CONFIG.SET1.NAME "XXXX";
CONFIG.SET1.DICT "ICB_CFG OSB STOO_CFG
XXXX_CFG";
CONFIG.SET1.FILE1 "xxmcfgINS*.cfg";
CONFIG.SET1.PERM1 644;
CONFIG.SET1.FILE2 "xxmcfgSTART.cfg";
CONFIG.SET1.PERM2 664;
CONFIG.SET1.BACKUP T;
CONFIG.SET1.LOG T;
CONFIG.SET2.NAME "XXXX_START";
CONFIG.SET2.DICT "ICB_CFG OSB STOO_CFG
XXXX_CFG";
CONFIG.SET2.FILE1 "xxmcfgSTART.cfg";
CONFIG.SET2.PERM1 664;
CONFIG.SET2.BACKUP T;
CONFIG.SET2.LOG T;
CONFIG.ARCHIVE.NAME "XXXX";
##CONFIG.ARCHIVE.USER "xxxxmgr";
CONFIG.ARCHIVE.MODULE "xxmcfg";
CONFIG.ARCHIVE.FILE1 "xxmcfg*.cfg";
CONFIG.ARCHIVE.FILE2 "xxmcfg*.dbcfg";
# ___oOo___
#******************************************************************************
# E.S.O.
- VLT project
#
#
"@(#) $Id: xxmcfgINS.cfg,v 1.64 2003/02/25 12:03:26 vltsccm Exp $"
#
#
who when what
#
-------- --------
----------------------------------------------
#
alongino 15/02/03 VLTSW20030045: OCS.*.TIMEOUT value in seconds
#
rschmutz 15/02/03 VLTSW20030052: INS.ADCi.SPDMIN,SPDMAX added
in comments.
#
rschmutz 31/12/02 VLTSW20020689: *.POSENC, *.ALIGN added in
comments.
#
rschmutz 11/11/02 VLTSW20020425: ccc1: l/min -> l/h
#
rschmutz 09/11/02 added INS.*.INISWFCT in comments.
#
rschmutz 09/11/02 added INS.*.PREINIFCT/POSTINIFCT in comments.
#
rschmutz 26/06/02 added test setup for CAN digital I/O
(VLTSW20020419)
#
rschmutz 12/05/02 sample keywords added: INS.TIM1.PERIOD,
#
INS.POS2.TWOSTEP, INS.OPTI2.MOVETOUT,INITTOUT
#
epozna 11/02/02 VLTSW20010013 OCS.<CAT>.DBIFROOT and OCS.CON.OSDBROOT
# added for autostartup
# small fix in OCS.MODE2.SETUP
#
rschmutz 19/12/01 TIM1 added.
#
rschmutz 07/12/01 INS.*.INIALONE keywords added.
#
rschmutz 07/12/01 use xxidevFocu* sample functions.
#
epozna 05/11/01 fixed bug at DBROOT declaration for FIERA
#
rschmutz 25/10/01 added INS.*.PREFCT/POSTFCT in comments.
#
epozna 19/10/01 added OCS.TEL.ID (VLTSW20010448)
# added
OCS.<CATi>.DBROOT
(VLTSW20010010)
# (use defaults when possible for
DBSTATE,DBNEWDT,DBEXPSTS,DBROOT)
# update value of
INS.SENSOR7.STAT2 (alongino)
#
alongino 18/09/01 added sensors statistics configuration
#
alongino 05/09/01 added INS.CON.LCUAV2 (optional)
#
rschmutz 04/09/01 FCTC: use icbSEN_CN77000, TEMP: use
icb_SEN_ESTERS.
#
alongino 08/08/01 added ICS stand-alone GUI configuration
#
rschmutz 11/05/01 INS.POSi.UNITFCT/PARAM added.
#
rschmutz 29/04/01 expm device: INS.DETi.* keywords added.
#
rschmutz 29/04/01 INS.GRATi.ORDERMAX, INS.*.TEMPRAMP=0 added.
#
rschmutz 25/03/01 START.MIDAS.AVAIL=T added.
#
rschmutz 24/03/01 VLTSW20010147: Index in INS.SENSOR4.*
keywords fixed.
#
epozna 06/02/01 VLTSW20010054 OCS.OCS.NUM changed to OCS.OS.NUM
#
rschmutz 31/01/01 INS.CON.DBROOT added in comments.
#
alongino 02/02/01 added INS.ASSEMBLY6 (VLTSW20000506
VLTSW20000503)
#
alongino 24/01/01 removed ACCESS keywords (in xxmcfgSTART.cfg).
Dedicated IRACE .cfg file
#
epozna 12/01/01 VLTSW20010007: added OS config keywords
(moved from xxoControl.cfg)
#
alongino 03/01/01 INS.CON.OPMODE removed (set in
xxmcfgSTART.cfg)
#
rschmutz 11/12/00 INS.GRATi.TEMPREF,TEMPRAMPi added.
#
rschmutz 10/12/00 ADC1 device added.
#
rschmutz 07/12/00 IRCCD keywords added.
#
alongino 08/11/00 removed all keys already defined in
xxmcfgSTART.cfg
#
alongino 16/10/00 adapted to xxo 1.19
#
rschmutz 12/10/00 adapted to osb 1.5.
#
alongino 13/06/00 added INS.CON.CONFIGSET as example for
special devices
# rschmutz 07/06/00
startup config. added (shared with OS).
#
alongino 18/05/00 SENSORi.NUM set to correct value
#
alongino 04/02/00 GRIS and ROT devices added.
#
rschmutz 01/02/00 FOCU function added.
#
alongino 25/01/00 added ASSEMBLY and TEST part
#
rschmutz 09/12/99 one device/type added.
#
rsc/tph 19/08/99 INS.CON.ONLINE added.
#
rschmutz 08/08/99 device configurations added.
#
rschmutz 30/10/98 created
#
#************************************************************************
#
# The
instrument XXXX is supposed to be used as an example for
#
instrumentation ICS development.
# It
contains examples of all type of standard devices currently
#
available in icb, as well as one special device.
# The
following table summarizes the type of devices available and the
#
corresponding name in XXXX
#==============================================================================================================================================
#
Description | Positions | Motor Axis | Units| short-FITS | setup parameters | XXXX |
icb class | Remarks
#==============================================================================================================================================
#
Lamp | ON/OFF | N/A | N/A | INS.LAMP
|ST | lamp |
icbLAMP |
#
Shutter | OPEN/CLOSED|
N/A | N/A | INS.SHUT
|ST | tsh | icbSHUTTER |
# Filter
wheel | discrete | circular | none | INS.FILT |NAME | filt | icbMOT_FILTER |
# Mirror
wheel or slide | discrete | circ. or
lin. | none | INS.MIRR |NAME | mirr | icbMOT_MIRROR |
# Slit
wheel or slide | discrete | circ. or lin. | none | INS.SLIT |NAME | slits| icbMOT_SLITS |
#
Generic wheel | discrete | circular | none |
any |NAME | gris | icbMOT_OPTI |
#
Generic slide | discrete | linear | none | any
|NAME | iods | icbMOT_OPTI |
#
Generic wheel | continuous |
circular | any |
any |POS | focu | icbMOT_POS | units formula linear
#
Generic slide | continuous |
linear | any |
any |POS | rot | icbMOT_POS | units formula linear
# Decker
with two slides| continuous | excentric
| mm | INS.SLIT2 |LEN | dekk | icbMOT_SLIT2_LEN | two
motors device
# Slit
with two slides | continuous | excentric | mm
| INS.SLIT2 |WID | slit | icbMOT_SLIT2_WID | two
motors device
# Camera
tilt | continuous |
excentric | pix | INS.TILT
|POS | tilt |
icbMOT_TILT |
#
Grating wheel | continuous | circular | nm
| INS.GRAT |NAME,WLEN | grat | icbMOT_GRATING2 | pos.= zero(NAME)+offset(WLEN)
#
Depolarizer | continuous |
circular | deg | INS.DPOR
|ST | dpor |
icbMOT_DPOR | continuously rotating
# Derotator | continuous | circular | deg
| INS.DROT |RA,DEC,POSANG,MODE |
drot | icbMOT_DROT | various
tracking modes.
# ADC
wheel | continuous |
circular | deg | INS.ADC1
|MODE | adc1 |
icbMOT_ADC | ADC tracking mode.
#
Cryostat sensor | continuous |
N/A | any | INS.SENSOR |none | fcs | icbSEN_ADAM | ADAM 4017 (RS-485)
#
Pressure sensor | continuous |
N/A | mbar | INS.SENSOR
|none | baro | icbSEN_BAROMETER | VAISALA PTB220B
(RS-232)
#
Cryost. temp. sensor | continuous |
N/A | C deg| INS.SENSOR
|none | fctc |
icbSEN_CN77000 | OMEGA CN77000 (RS-485)
#
Cabinet cool. sensor | continuous |
N/A | any | INS.SENSOR |none | ccc1 | icbSEN_COOLING | ESO standard (RS-232)
#
Digital sensor | 1/0 | N/A | any | INS.SENSOR |none | dis1 | icbSEN_DIGITAL | Acromag digital I/O
#
Humidity sensor | continuous |
N/A | any | INS.SENSOR |none | ench | icbSEN_HUMIDITY | VAISALA (RS-232)
#
Temperature sensor | continuous |
N/A | C deg| INS.SENSOR
|none | temp |
icbSEN_ESTERS | Esters DC24 (RS-232)
# Exposure
meter sensor | continuous | N/A
| - | INS.DET |UIT,OFFDRK,OFFSKY | expm | icbSEN_EXPM | via HP 53131A (RS-232/GP-IB)
# TIM
board timer | continuous | N/A
| sec | INS.TIM |ST,START,PERIOD | tim1 | icbTIMER |
#
Special device | any | N/A | any |
any |DATA | yyyy | none |
#==============================================================================================================================================
PAF.HDR.START; # Start of PAF Header
PAF.TYPE "Configuration"; # Type of
PAF
PAF.ID " "; # ID for PAF
PAF.NAME " "; # Name of PAF
PAF.DESC " "; # Short description of PAF
PAF.CRTE.NAME " "; # Name of creator
PAF.CRTE.DAYTIM "
"; # Civil Time for
creation
PAF.LCHG.NAME " "; # Name of person/appl. changing
PAF.LCHG.DAYTIM "
"; # Timestamp of last
change
PAF.CHCK.NAME " "; # Name of appl. checking
PAF.HDR.END; # End of PAF Header
#
# 1.0
Startup config.
#
START.CON.TYPE "INS"; # Application type
##START.CON.TCLFILE
"xxinsStoo"; # Startup user extensions
#
# 1.1
General instrument config.
#
INS.CON.ID "XXXX"; #
Instrument identifier
INS.ID "XXXX/$Revision: 1.64 $"; #
Instrument identifier
INS.CON.PREFIX "xx"; # Name
prefix for modules and servers
#OCS.CON.OSDBROOT "<alias>xxo"; # db
address of the OS process
#INS.CON.DBROOT ":Appl_data:XXXX"; # Instrument
OLDB root point
#
# 1.2
Environments and LCUs
#
INS.CON.WSENV "wxxxx"; # Workstation RTAP
environment
INS.CON.LCUNUM
2; # Number of instrument LCUs
INS.CON.LCUENV1 "lxxics1"; # LCU 1 environment
INS.CON.LCUENV2 "lxxics2"; # LCU 2 environment
##INS.CON.LCUAV2 F; # LCU 2 not available
#
# 2.1
ICS general config.
#
#
INS.CON.OPMODE removed (set in xxmcfgSTART.cfg)
INS.CON.ONLINE F; # If T, sensors are placed
online during booting.
INS.CON.CONFIGSET
"xxiConfigSet"; # User script called by icbConfigSet
#INS.CON.CMDTOUT 15000; # Timeout for other cmds.
[msec]
INS.CON.MOVETOUT 120000; # Timeout for movement cmds.
[msec]
#INS.CON.MOVETDIF 1; # Interval between parallel
movements [msec]
#INS.CON.MONTIME 60000; # Device monitoring period
[msec]
#INS.CON.MOVEMAX 100; # Max. number of devices moving
in parallel
INS.CON.DEVNUM 26; # Number of ICS devices
INS.CON.DEVICE1 "INS.LAMP1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE2 "INS.SHUT1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE3 "INS.ADC1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE4 "INS.DPOR"; # Device FITS prefix
used in the config file
INS.CON.DEVICE5 "INS.DROT"; # Device FITS prefix
used in the config file
INS.CON.DEVICE6 "INS.FILT1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE7 "INS.GRAT1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE8 "INS.MIRR1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE9 "INS.OPTI1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE10 "INS.OPTI2"; # Device FITS prefix
used in the config file
INS.CON.DEVICE11 "INS.POS1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE12 "INS.POS2"; # Device FITS prefix
used in the config file
INS.CON.DEVICE13
"INS.SLIT11"; # Device FITS prefix used in the config file
INS.CON.DEVICE14
"INS.SLIT12"; # Device FITS prefix used in the config file
INS.CON.DEVICE15 "INS.SLIT2"; # Device FITS prefix
used in the config file
INS.CON.DEVICE16 "INS.TILT1"; # Device FITS prefix
used in the config file
INS.CON.DEVICE17
"INS.SENSOR1"; # Device FITS prefix used in the config file
INS.CON.DEVICE18
"INS.SENSOR2"; # Device FITS prefix used in the config file
INS.CON.DEVICE19
"INS.SENSOR3"; # Device FITS prefix used in the config file
INS.CON.DEVICE20
"INS.SENSOR4"; # Device FITS prefix used in the config file
INS.CON.DEVICE21
"INS.SENSOR5"; # Device FITS prefix used in the config file
INS.CON.DEVICE22
"INS.SENSOR6"; # Device FITS prefix used in the config file
INS.CON.DEVICE23
"INS.SENSOR7"; # Device FITS prefix used in the config file
INS.CON.DEVICE24
"INS.DET1"; # Device FITS prefix used in the config file
INS.CON.DEVICE25
"INS.TIM1"; # Device FITS prefix used in the config file
INS.CON.DEVICE26
"INS.MIRR2"; # Special device
#
# Sample
lamp
#
INS.LAMP1.DEVNAME "lamp"; # Name of the ICS
device
INS.LAMP1.DEVDESC
"ThAr lamp"; # Description of the ICS device
INS.LAMP1.LCUID 2; # Id. of the LCU managing the
device
INS.LAMP1.SWSIM T; # If T, function is software
simulated
INS.LAMP1.ID
"TAL";
INS.LAMP1.NAME "ThAr_Lamp";
#
Acromag digital I/O interface setup
INS.LAMP1.SIGDEV "/acro0";
INS.LAMP1.SIGBIT1 4;
INS.LAMP1.IGFAULT T;
# CAN
digital I/O interface setup
#INS.LAMP1.SIGDEV "/canio0";
#INS.LAMP1.SIGBIT1 4;
#INS.LAMP1.SIGBIT3 1;
#INS.LAMP1.SIGBIT4 0;
#INS.LAMP1.SIGBIT6 2;
#INS.LAMP1.IGFAULT F;
#INS.LAMP1.SIGLOW1 F; # Needed only for test setup
(input/output bridge)
#
# Sample
shutter
#
INS.SHUT1.DEVNAME "tsh"; # Name of the ICS
device
INS.SHUT1.DEVDESC
"Telescope shutter"; # Description of the ICS device
INS.SHUT1.LCUID 2; # Id. of the LCU managing the
device
INS.SHUT1.SWSIM T; # If T, function is software
simulated
INS.SHUT1.ID
"TSH";
INS.SHUT1.NAME "Tel_Shutter";
#
Acromag digital I/O interface setup
INS.SHUT1.SIGDEV "/acro0";
INS.SHUT1.SIGBIT1 0;
INS.SHUT1.IGFAULT T;
# CAN
digital I/O interface setup
#INS.SHUT1.SIGDEV "/canio1";
#INS.SHUT1.SIGBIT1 4;
#INS.SHUT1.SIGBIT2 0;
#INS.SHUT1.SIGBIT4 1;
#INS.SHUT1.SIGBIT5 2;
#INS.SHUT1.IGFAULT F;
#INS.LAMP1.SIGLOW1 F; # Needed only for test setup
(input/output bridge)
#
# Sample
ADC
#
INS.ADC1.DEVNAME "adc1"; # Name of the ICS device
INS.ADC1.DEVDESC "ADC wheel"; # Description of the
ICS device
INS.ADC1.LCUID 1; # Id. of the LCU managing the
device
INS.ADC1.INIALONE T; #
If T, initialise alone
INS.ADC1.SWSIM T; # If T, function is software
simulated
INS.ADC1.PERIOD 15000;
INS.ADC1.REFENC 0;
INS.ADC1.MOTSIGN 1;
INS.ADC1.FORMULA 1;
INS.ADC1.MINELEV 27.64;
INS.ADC1.POSOFFST 90;
INS.ADC1.COFFSET 1.7387;
INS.ADC1.PSLOPE 0.0023;
INS.ADC1.POFFSET 743;
INS.ADC1.TSLOPE -0.0061;
INS.ADC1.TOFFSET 12;
INS.ADC1.AFACTOR 3.32;
INS.ADC1.DROTFACT 0; # use 2 or -2 if derotator is
present
#INS.ADC1.SPDMIN 0.01;
#INS.ADC1.SPDMAX 60;
#
# Sample
depolarizer
#
INS.DPOR.DEVNAME "dpor"; # Name of the ICS
device
INS.DPOR.DEVDESC "Depolarizer rotate"; # Description
of the ICS device
INS.DPOR.LCUID 1; # Id. of the LCU managing the
device
INS.DPOR.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.DPOR.INISWFCT "xxidevDporInitSw"; # User SW init. function
# sample: xxidevFocuInitSw.c
#INS.DPOR.PREINIFCT "xxidevDporPreInit"; # User pre-init. function
# sample: xxidevFocuPreInit.c
#INS.DPOR.POSTINIFCT
"xxidevDporPostInit"; # User post-init. function
# sample: xxidevFocuPostInit.c
#INS.DPOR.PREFCT "xxidevDporPreMove"; # User pre-movement function
# sample: xxidevFocuPreMove.c
#INS.DPOR.POSTFCT "xxidevDporPostMove"; # User
post-movement function
# sample: xxidevFocuPostMove.c
#
# Sample
derotator
#
INS.DROT.DEVNAME "drot"; # Name of the ICS
device
INS.DROT.DEVDESC "Image derotator"; # Description of
the ICS device
INS.DROT.LCUID 1; # Id. of the LCU managing the
device
#INS.ADC1.INIALONE
F; # If T, initialise alone
INS.DROT.SWSIM T; # If T, function is software
simulated
INS.DROT.STATENC 0;
INS.DROT.STATENC1 0;
INS.DROT.STATENC2 10000;
INS.DROT.STATENC3 10000;
INS.DROT.STATENC4 5341500;
INS.DROT.STATENC5 0;
INS.DROT.ANGSGN 1;
INS.DROT.PERIOD 5000;
INS.DROT.SKYENC 0;
INS.DROT.ELEVENC 0;
INS.DROT.RESOLSGN -1;
INS.DROT.SPDMIN 0.01;
INS.DROT.SPDMAX 5;
#
# Sample
filter wheel
#
INS.FILT1.DEVNAME "filt"; # Name of the ICS
device
INS.FILT1.DEVDESC
"Filter wheel"; # Description of the ICS device
INS.FILT1.LCUID 1; # Id. of the LCU managing the
device
#INS.FILT1.INIALONE
F; # If T, initialise alone
INS.FILT1.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.FILT1.INISWFCT "xxidevFiltInitSw"; # User SW init. function
#INS.FILT1.PREINIFCT "xxidevFiltPreInit"; # User pre-init. function
#INS.FILT1.POSTINIFCT
"xxidevFiltPostInit"; # User post-init. function
#INS.FILT1.PREFCT "xxidevFiltPreMove"; # User pre-movement function
#INS.FILT1.POSTFCT "xxidevFiltPostMove"; # User
post-movement function
INS.FILT1.POSNUM 16;
#INS.FILT1.POSENC1 10000; #
Position encoder value
#INS.FILT1.POSENC2 20000; #
Position encoder value
#INS.FILT1.POSENC3
30000; # Position encoder value
#INS.FILT1.POSENC4 40000; #
Position encoder value
#INS.FILT1.POSENC5 50000; #
Position encoder value
#INS.FILT1.POSENC6 60000; #
Position encoder value
#INS.FILT1.POSENC7 70000; #
Position encoder value
#INS.FILT1.POSENC8 80000; #
Position encoder value
#INS.FILT1.POSENC9 90000; #
Position encoder value
#INS.FILT1.POSENC10 100000; #
Position encoder value
#INS.FILT1.POSENC11 110000; #
Position encoder value
#INS.FILT1.POSENC12 120000; #
Position encoder value
#INS.FILT1.POSENC13 130000; #
Position encoder value
#INS.FILT1.POSENC14 140000; #
Position encoder value
#INS.FILT1.POSENC15 150000; #
Position encoder value
#INS.FILT1.POSENC16 160000; #
Position encoder value
INS.FILT1.POSID1 "PS1";
INS.FILT1.POSID2 "PS2";
INS.FILT1.POSID3 "PS3";
INS.FILT1.POSID4 "PS4";
INS.FILT1.POSID5 "PS5";
INS.FILT1.POSID6 "PS6";
INS.FILT1.POSID7 "PS7";
INS.FILT1.POSID8 "PS8";
INS.FILT1.POSID9 "PS9";
INS.FILT1.POSID10 "PS10";
INS.FILT1.POSID11 "PS11";
INS.FILT1.POSID12 "NONE1";
INS.FILT1.POSID13 "NONE2";
INS.FILT1.POSID14 "NONE3";
INS.FILT1.POSID15 "NONE4";
INS.FILT1.POSID16 "FREE";
INS.FILT1.ID1 "PS1";
INS.FILT1.NAME1 "U";
INS.FILT1.ID2 "PS2";
INS.FILT1.NAME2 "B";
INS.FILT1.ID3 "PS3";
INS.FILT1.NAME3 "V";
INS.FILT1.ID4 "PS4";
INS.FILT1.NAME4 "R";
INS.FILT1.ID5 "PS5";
INS.FILT1.NAME5 "I";
INS.FILT1.ID6 "PS6";
INS.FILT1.NAME6 "UG5";
INS.FILT1.ID7 "PS7";
INS.FILT1.NAME7 "ND1";
INS.FILT1.ID8 "PS8";
INS.FILT1.NAME8 "ND2";
INS.FILT1.ID9 "PS9";
INS.FILT1.NAME9 "ND3";
INS.FILT1.ID10 "PS10";
INS.FILT1.NAME10 "ND4";
INS.FILT1.ID11 "PS11";
INS.FILT1.NAME11 "ND5";
INS.FILT1.ID12 "NONE1";
INS.FILT1.NAME12 "NONE";
INS.FILT1.ID13 "NONE2";
INS.FILT1.NAME13 "NONE";
INS.FILT1.ID14 "NONE3";
INS.FILT1.NAME14 "NONE";
INS.FILT1.ID15 "NONE4";
INS.FILT1.NAME15 "NONE";
INS.FILT1.ID16 "FREE";
INS.FILT1.NAME16 "FREE";
#
# Sample
grating wheel
#
INS.GRAT1.DEVNAME "grat"; # Name of the ICS device
INS.GRAT1.DEVDESC
"Crossdispersor"; # Description of the ICS device
INS.GRAT1.LCUID 1; # Id. of the LCU managing the
device
#INS.GRAT1.INIALONE
F; # If T, initialise alone
INS.GRAT1.SWSIM T; # If T, function is software
simulated
INS.GRAT1.RESOL -15000; # Encoder resolution
INS.GRAT1.ROT 22.5; # Grating rot angle
INS.GRAT1.TEMPREF 12.0; # Temperature reference
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.GRAT1.INISWFCT "xxidevGratInitSw"; # User SW init. function
#INS.GRAT1.PREINIFCT "xxidevGratPreInit"; # User pre-init. function
#INS.GRAT1.POSTINIFCT
"xxidevGratPostInit"; # User post-init. function
#INS.GRAT1.PREFCT "xxidevGratPreMove"; # User pre-movement function
#INS.GRAT1.POSTFCT "xxidevGratPostMove"; # User
post-movement function
INS.GRAT1.POSNUM 2; # Number of element positions
INS.GRAT1.POSID1 "CD#1"; # Identifier of the
mounted element
INS.GRAT1.POSID2 "CD#2"; # Identifier of the
mounted element
INS.GRAT1.ID1 "CD#1"; # Element unique
identifier
INS.GRAT1.NAME1 "CD#1"; # Element name
INS.GRAT1.TYPE1 "GRATING"; # Element type
INS.GRAT1.WLENMIN1 0; # Min. grating central wavelength
INS.GRAT1.WLENMAX1 1847.8; # Max. grating central wavelength
#INS.GRAT1.ORDERMAX1 10; # Max. grating order number
INS.GRAT1.ZORDER1 3917147; # Grating zero order position
INS.GRAT1.GROOVES1 0.001; # Grating grooves / nm
INS.GRAT1.TEMPRAMP1 0; # Temperature slope
#INS.GRAT1.PIXSCALE1 0.246; # Pixel scale
INS.GRAT1.ORDERMAX1 5; # Enables sending INS.GRAT1.ORDER
in SETUP
INS.GRAT1.ID2 "CD#2"; # Element unique
identifier
INS.GRAT1.NAME2 "CD#2"; # Element name
INS.GRAT1.TYPE2 "GRATING"; # Element type
INS.GRAT1.WLENMIN2 0; # Min. grating central wavelength
INS.GRAT1.WLENMAX2 2799.6; # Max. grating central wavelength
#INS.GRAT1.ORDERMAX2 10; # Max. grating order number
INS.GRAT1.ZORDER2 1217310; # Grating zero order position
INS.GRAT1.GROOVES2 0.00066; # Grating grooves / nm
INS.GRAT1.TEMPRAMP2 0; # Temperature slope
#INS.GRAT1.PIXSCALE2 0.246; # Pixel scale
INS.GRAT1.ORDERMAX2 5; # Enables sending INS.GRAT1.ORDER
in SETUP
#
# Sample
mirror wheel
#
INS.MIRR1.DEVNAME "mirr"; # Name of the ICS
device
INS.MIRR1.DEVDESC
"Calib. mirror slide"; # Description of the ICS device
INS.MIRR1.LCUID 1; # Id. of the LCU managing the
device
#INS.MIRR1.INIALONE
F; # If T, initialise alone
INS.MIRR1.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.MIRR1.INISWFCT "xxidevMirrInitSw"; # User SW init. function
#INS.MIRR1.PREINIFCT "xxidevMirrPreInit"; # User pre-init. function
#INS.MIRR1.POSTINIFCT
"xxidevMirrPostInit"; # User post-init. function
#INS.MIRR1.PREFCT "xxidevMirrPreMove"; # User pre-movement function
#INS.MIRR1.POSTFCT "xxidevMirrPostMove"; # User
post-movement function
INS.MIRR1.POSNUM 4;
#INS.MIRR1.POSENC1 10000;
#INS.MIRR1.POSENC2 20000;
#INS.MIRR1.POSENC3 30000;
#INS.MIRR1.POSENC4 40000;
INS.MIRR1.POSID1 "FREE";
INS.MIRR1.POSID2 "MIR1";
INS.MIRR1.POSID3 "MIR2";
INS.MIRR1.POSID4 "MIR3";
INS.MIRR1.ID1 "FREE";
INS.MIRR1.NAME1 "IRED";
INS.MIRR1.TYPE1 "FREE";
INS.MIRR1.ID2 "MIR1";
INS.MIRR1.NAME2 "OPTIC";
INS.MIRR1.ID3 "MIR2";
INS.MIRR1.NAME3 "SPHERE";
INS.MIRR1.ID4 "MIR3";
INS.MIRR1.NAME4 "THAR";
#
# Sample
discrete positions function, linear axis
#
INS.OPTI1.DEVNAME "iods"; # Name of the ICS
device
INS.OPTI1.DEVDESC
"Iodine slide"; # Description of the ICS device
INS.OPTI1.LCUID 1; # Id. of the LCU managing the
device
#INS.OPTI1.INIALONE
F; # If T, initialise alone
INS.OPTI1.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.OPTI1.INISWFCT "xxidevIodsInitSw"; # User SW init. function
#INS.OPTI1.PREINIFCT "xxidevIodsPreInit"; # User pre-init. function
#INS.OPTI1.POSTINIFCT
"xxidevIodsPostInit"; # User post-init. function
#INS.OPTI1.PREFCT "xxidevIodsPreMove"; # User pre-movement function
#INS.OPTI1.POSTFCT "xxidevIodsPostMove"; # User
post-movement function
INS.OPTI1.POSNUM 2;
#INS.OPTI1.POSENC1 10000;
#INS.OPTI1.POSENC2 20000;
INS.OPTI1.POSID1 "OUT";
INS.OPTI1.POSID2 "IN";
INS.OPTI1.ID1 "OUT";
INS.OPTI1.NAME1 "OUT";
INS.OPTI1.TYPE1 "FREE"; # Element type
INS.OPTI1.ID2 "IN";
INS.OPTI1.NAME2 "IN";
INS.OPTI1.TYPE2 "MIRROR"; # Element type
#
# Sample
discrete positions function, circular axis
#
INS.OPTI2.DEVNAME "gris"; # Name of the ICS
device
INS.OPTI2.DEVDESC
"Grisms wheel"; # Description of the ICS device
INS.OPTI2.PREFIX "INS.GRIS1"; # FITS prefix
INS.OPTI2.LCUID 1; # Id. of the LCU managing the
device
INS.OPTI2.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.OPTI2.INISWFCT "xxidevGrisInitSw"; # User SW init. function
#INS.OPTI2.PREINIFCT "xxidevGrisPreInit"; # User pre-init. function
#INS.OPTI2.POSTINIFCT
"xxidevGrisPostInit"; # User post-init. function
#INS.OPTI2.PREFCT "xxidevGrisPreMove"; # User pre-movement function
#INS.OPTI2.POSTFCT "xxidevGrisPostMove"; # User
post-movement function
INS.OPTI2.MOVETOUT 80000; # Movement timeout [msec]
INS.OPTI2.INITTOUT 150000; # Initialisation timeout [msec]
INS.OPTI2.POSNUM 3;
INS.OPTI2.POSID1 "GRIS1";
INS.OPTI2.POSID2 "GRIS2";
INS.OPTI2.POSID3 "FREE";
INS.OPTI2.ID1 "GRIS1";
INS.OPTI2.NAME1 "GRIS1";
INS.OPTI2.TYPE1 "GRISM"; # Element type
INS.OPTI2.ID2 "GRIS2";
INS.OPTI2.NAME2 "GRIS2";
INS.OPTI2.TYPE2 "GRISM"; # Element type
INS.OPTI2.ID3 "FREE";
INS.OPTI2.NAME3 "FREE";
INS.OPTI2.TYPE3 "FREE"; # Element type
#
# Sample
continuous position function, linear axis
#
INS.POS1.DEVNAME "focu"; # Name of the ICS
device
INS.POS1.DEVDESC "Focus"; # Description of the
ICS device
INS.POS1.PREFIX "INS.FOCU1"; # FITS prefix
INS.POS1.LCUID 1; # Id. of the LCU managing the
device
#INS.POS1.INIALONE
F; # If T, initialise alone
INS.POS1.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.POS1.INISWFCT "xxidevFocuInitSw"; # User SW init. function
#INS.POS1.PREINIFCT "xxidevFocuPreInit"; # User pre-init. function
#INS.POS1.POSTINIFCT
"xxidevFocuPostInit"; # User post-init. function
#INS.POS1.PREFCT "xxidevFocuPreMove"; # User pre-movement function
#INS.POS1.POSTFCT "xxidevFocuPostMove"; # User
post-movement function
#
# If a
user unit conversion function is used, then the function
#
"ic0devMotUsr2Enc" must be registered in the MCM OLDB (e.g.
# in
xxmcfgFOCUM.dbcfg). ic0devMotUsr2Enc
will call the function
#
registered in INS.POSi.UNITFCT with the right parameters.
INS.POS1.UNITFCT
"xxidevFocuUsr2Enc"; # User unit conversion function
#
INS.POS1.OFFSET 16325; # Reference position
INS.POS1.RAMP -100; # Ramp
INS.POS1.POSMIN -153.4; # Min. focus position
INS.POS1.POSMAX 153.4; # Max. focus position
INS.POS1.TEMPRAMP 0; # Temperature slope
INS.POS1.TEMPREF 12; #
Temperature reference
#
# Sample
continuous position function, circular axis
#
INS.POS2.DEVNAME "rot"; # Name of the ICS device
INS.POS2.DEVDESC "Wheel"; # Description of the
ICS device
INS.POS2.PREFIX "INS.ROT1"; # FITS prefix
INS.POS2.LCUID 1; # Id. of the LCU managing the
device
#INS.POS2.INIALONE
F; # If T, initialise alone
INS.POS2.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.POS2.INISWFCT "xxidevRotInitSw"; # User SW init. function
#INS.POS2.PREINIFCT "xxidevRotPreInit"; # User pre-init. function
#INS.POS2.POSTINIFCT
"xxidevRotPostInit"; # User post-init. function
#INS.POS2.PREFCT "xxidevRotPreMove"; # User pre-movement function
#INS.POS2.POSTFCT "xxidevRotPostMove"; # User
post-movement function
INS.POS2.TWOSTEP F; #
If T, use two-step movements
INS.POS2.UNIT "deg"; # Unit
INS.POS2.OFFSET 1000; # Reference position
INS.POS2.RAMP 10; # Ramp
INS.POS2.POSMIN -90.0; # Min. focus position
INS.POS2.POSMAX 90.0; # Max. focus position
INS.POS2.TEMPRAMP 0; # Temperature slope
#
# Sample
dekker
#
INS.SLIT11.DEVNAME "dekk"; # Name of the ICS device
INS.SLIT11.DEVDESC
"Dekker slide"; # Description of the ICS device
INS.SLIT11.LCUID 1; # Id. of the LCU managing the
device
#INS.SLIT11.INIALONE F;
# If T, initialise alone
INS.SLIT11.SWSIM T; # If T, function is software
simulated
INS.SLIT11.DEVTYPE "LEN2"; # Device type
INS.SLIT11.PREFIX
"INS.SLIT1"; # FITS prefix
INS.SLIT11.LENMIN 0.13; # Min. slit length
INS.SLIT11.LENMAX 31.21; # Max. slit length
INS.SLIT11.X1OFFSET 2401; # Motor 1 reference position
INS.SLIT11.X2OFFSET 2328; # Motor 2 reference position
INS.SLIT11.X1RESOL 40; # Motor 1 encoder resolution
INS.SLIT11.X2RESOL 40; # Motor 2 encoder resolution
INS.SLIT11.X1LENMIN 0.064; # Motor 1 min. position
INS.SLIT11.X1LENMAX 15.786; # Motor 1 max. position
INS.SLIT11.X2LENMIN 0.066; # Motor 2 min. position
INS.SLIT11.X2LENMAX 15.429; # Motor 2 max. position
#
# Sample
slit
#
INS.SLIT12.DEVNAME "slit"; # Name of the ICS device
INS.SLIT12.DEVDESC
"Slit slide"; # Description of the ICS device
INS.SLIT12.LCUID 1; # Id. of the LCU managing the
device
#INS.SLIT12.INIALONE F; # If T, initialise alone
INS.SLIT12.SWSIM T; # If T, function is software
simulated
INS.SLIT12.DEVTYPE "WID2"; # Device type
INS.SLIT12.PREFIX
"INS.SLIT1"; # FITS prefix
INS.SLIT12.WIDMIN 0.14; # Min. slit width
INS.SLIT12.WIDMAX 11.04; # Max. slit width
INS.SLIT12.Y1OFFSET 4742; # Motor 1 reference position
INS.SLIT12.Y2OFFSET 4540; # Motor 2 reference position
INS.SLIT12.Y1RESOL 40; # Motor 1 encoder resolution
INS.SLIT12.Y2RESOL 40; # Motor 2 encoder resolution
INS.SLIT12.Y1WIDMIN 0.072; # Motor 1 min. position
INS.SLIT12.Y1WIDMAX 5.500; # Motor 1 max. position
INS.SLIT12.Y2WIDMIN 0.068; # Motor 2 min. position
INS.SLIT12.Y2WIDMAX 5.535; # Motor 2 max. position
#
# Sample
slits wheel
#
INS.SLIT2.DEVNAME "slits"; # Name of the ICS
device
INS.SLIT2.DEVDESC
"Image slicer slide"; # Description of the ICS device
INS.SLIT2.LCUID 1; # Id. of the LCU managing the
device
#INS.SLIT2.INIALONE
F; # If T, initialise alone
INS.SLIT2.SWSIM T; # If T, function is software
simulated
INS.SLIT2.DEVTYPE "WHEEL"; # Device type
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.SLIT2.INISWFCT "xxidevSlitsInitSw"; # User SW init. function
#INS.SLIT2.PREINIFCT "xxidevSlitsPreInit"; # User pre-init. function
#INS.SLIT2.POSTINIFCT
"xxidevSlitsPostInit"; # User post-init. function
#INS.SLIT2.PREFCT "xxidevSlitsPreMove"; # User pre-movement function
#INS.SLIT2.POSTFCT "xxidevSlitsPostMove"; # User
post-movement function
INS.SLIT2.POSNUM 5;
INS.SLIT2.POSID1 "FREE";
INS.SLIT2.POSID2 "SLIT#1";
INS.SLIT2.POSID3 "SLIT#2";
INS.SLIT2.POSID4 "SLIT#3";
INS.SLIT2.POSID5 "PINH#1";
INS.SLIT2.ID1 "FREE";
INS.SLIT2.NAME1 "FREE";
INS.SLIT2.WID1 0;
INS.SLIT2.LEN1 0;
INS.SLIT2.ID2 "SLIT#1";
INS.SLIT2.NAME2 "SLIT#1";
INS.SLIT2.WID2 0.5;
INS.SLIT2.LEN2 10;
INS.SLIT2.ID3 "SLIT#2";
INS.SLIT2.NAME3 "SLIT#2";
INS.SLIT2.WID3 1.0;
INS.SLIT2.LEN3 10;
INS.SLIT2.ID4 "SLIT#3";
INS.SLIT2.NAME4 "SLIT#3";
INS.SLIT2.WID4 1.5;
INS.SLIT2.LEN4 10;
INS.SLIT2.ID5 "PINH#1";
INS.SLIT2.NAME5 "PINH#1";
INS.SLIT2.WID5 0;
INS.SLIT2.LEN5 0;
#
# Sample
tilt
#
INS.TILT1.DEVNAME "tilt"; # Name of the ICS
device
INS.TILT1.DEVDESC
"Camera tilt"; # Description of the ICS device
INS.TILT1.LCUID 1; # Id. of the LCU managing the
device
#INS.TILT1.INIALONE
F; # If T, initialise alone
INS.TILT1.SWSIM T; # If T, function is software
simulated
#
Optional LCU C functions to check interlocks, clamp/unclamp brake
#INS.TILT1.INISWFCT "xxidevTiltInitSw"; # User SW init. function
#INS.TILT1.PREINIFCT "xxidevTiltPreInit"; # User pre-init. function
#INS.TILT1.POSTINIFCT
"xxidevTiltPostInit"; # User post-init. function
#INS.TILT1.PREFCT "xxidevTiltPreMove"; # User pre-movement function
#INS.TILT1.POSTFCT "xxidevTiltPostMove"; # User
post-movement function
INS.TILT1.OFFSET 16325; # Tilt reference position
INS.TILT1.RESOL -100; # Encoder resolution
INS.TILT1.POSMIN -153.4; # Min. camera tilt position
INS.TILT1.POSMAX 153.4; # Max. camera tilt position
INS.TILT1.TEMPRAMP 0; # Temperature slope
#
# Sample
FIERA cryostat status
#
INS.SENSOR1.DEVNAME "fcs"; # Name of the ICS
device
INS.SENSOR1.DEVDESC
"CCD cryostat status"; # Description of the ICS device
INS.SENSOR1.DEVTYPE "ADAM"; # Device type
INS.SENSOR1.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR1.SWSIM T; # If T, function is software
simulated
INS.SENSOR1.PORT "/iser0"; # Hardware device
INS.SENSOR1.NUM
5; # Number of managed sensor values
INS.SENSOR1.NAME1 "FCRS"; # Sensor value name
INS.SENSOR1.DESC1
"Cryostat regeneration"; # Sensoar value description
INS.SENSOR1.HEADER1 F; # If T, report sensor value in
image header
INS.SENSOR1.FITS1
"INS.SENS1.STAT"; # Sensor value FITS keyword
INS.SENSOR1.SENUNIT1 ""; # Sensor value unit
INS.SENSOR1.SENADDR1 04; # Sensor value hardware address
INS.SENSOR1.SENTYPE1 "ON_OFF"; # Sensor value report
type
INS.SENSOR1.SENREF1 2.0; # Sensor value reference
parameter
INS.SENSOR1.SENRAMP1 -1.0; # Sensor value ramp parameter
INS.SENSOR1.NAME2 "FCPC"; # Sensor value name
INS.SENSOR1.DESC2
"Cryostat pump"; # Sensoar value description
INS.SENSOR1.HEADER2 F; # If T, report sensor value in
image header
INS.SENSOR1.FITS2
"INS.SENS2.STAT"; # Sensor value FITS keyword
INS.SENSOR1.SENUNIT2 ""; # Sensor value unit
INS.SENSOR1.SENADDR2 05; # Sensor value hardware address
INS.SENSOR1.SENTYPE2 "ON_OFF"; # Sensor value report
type
INS.SENSOR1.SENREF2 2.0; # Sensor value reference
parameter
INS.SENSOR1.SENRAMP2 -1.0; # Sensor value ramp parameter
INS.SENSOR1.NAME3 "FCVV"; # Sensor value name
INS.SENSOR1.DESC3
"Cryostat vacuum valve"; # Sensoar value description
INS.SENSOR1.HEADER3 F; # If T, report sensor value in
image header
INS.SENSOR1.FITS3
"INS.SENS3.STAT"; # Sensor value FITS keyword
INS.SENSOR1.SENUNIT3 ""; # Sensor value unit
INS.SENSOR1.SENADDR3 06; # Sensor value hardware address
INS.SENSOR1.SENTYPE3
"OPEN_CLOSED2"; # Sensor value report type
INS.SENSOR1.SENREF3 -2.0; # Sensor value reference
parameter
INS.SENSOR1.SENRAMP3 -2.0; # Sensor value ramp parameter
INS.SENSOR1.NAME4 "FCV"; # Sensor value name
INS.SENSOR1.DESC4
"Cryostat vacuum"; # Sensoar value description
INS.SENSOR1.HEADER4 F; # If T, report sensor value in
image header
INS.SENSOR1.FITS4
"INS.SENS4.STAT"; # Sensor value FITS keyword
INS.SENSOR1.SENUNIT4 "mbar"; # Sensor value unit
INS.SENSOR1.SENADDR4 01; # Sensor value hardware address
INS.SENSOR1.SENTYPE4
"PRESSURE"; # Sensor value report type
INS.SENSOR1.SENREF4 -6.33; # Sensor value reference
parameter
INS.SENSOR1.SENRAMP4 1.667; # Sensor value ramp parameter
INS.SENSOR1.NAME5 "FCL"; # Sensor value name
INS.SENSOR1.DESC5
"Cryostat LN2 tank level"; # Sensoar value description
INS.SENSOR1.HEADER5 F; # If T, report sensor value in
image header
INS.SENSOR1.FITS5
"INS.SENS5.STAT"; # Sensor value FITS keyword
INS.SENSOR1.SENUNIT5 "%"; # Sensor value unit
INS.SENSOR1.SENADDR5 00; # Sensor value hardware address
INS.SENSOR1.SENTYPE5 "ANALOG"; # Sensor value report
type
INS.SENSOR1.SENREF5 -17.0; # Sensor value reference
parameter
INS.SENSOR1.SENRAMP5 27.0; # Sensor value ramp parameter
#
# Sample
barometer
#
INS.SENSOR2.DEVNAME "baro"; # Name of the ICS
device
INS.SENSOR2.DEVDESC
"Barometer"; # Description of the ICS device
INS.SENSOR2.DEVTYPE
"BAROMETER"; # Device type
INS.SENSOR2.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR2.SWSIM T; # If T, function is software
simulated
INS.SENSOR2.PORT "/iser5"; # Hardware device
INS.SENSOR2.NUM
1; # Number of managed sensor values
INS.SENSOR2.NAME1 "BARO"; # Sensor value name
INS.SENSOR2.DESC1
"Barometer pressure"; # Sensoar value description
INS.SENSOR2.HEADER1 T; # If T, report sensor value in
image header
INS.SENSOR2.FITS1
"INS.SENS26.STAT"; # Sensor value FITS keyword
INS.SENSOR2.STAT1
"MIN MAX MEAN RMS"; # Statistical keywords to be added to the FITS
header
#
# Sample
FIERA cryostat temp. controller
#
INS.SENSOR3.DEVNAME "fctc"; # Name of the ICS
device
INS.SENSOR3.DEVDESC
"CCD cryostat temp. ctrl."; # Description of the ICS device
INS.SENSOR3.DEVTYPE "CN77000"; # Device type
INS.SENSOR3.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR3.SWSIM T; # If T, function is software
simulated
INS.SENSOR3.PORT "/iser2"; # Hardware device
INS.SENSOR3.NUM
10; # Number of managed sensor values
INS.SENSOR3.NAME1 "FCPT"; # Sensor value name
INS.SENSOR3.DESC1
"Cryostat cold plate temp."; # Sensoar value description
INS.SENSOR3.HEADER1 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS1
"INS.TEMP11.VAL"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT1 "C"; # Sensor value unit
INS.SENSOR3.SENADDR1 10; # Sensor value hardware address
INS.SENSOR3.NAME2 "FCPR"; # Sensor value name
INS.SENSOR3.DESC2
"Cryostat cold plate ref."; # Sensoar value description
INS.SENSOR3.HEADER2 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS2
"INS.TEMP11.REF"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT2 "C"; # Sensor value unit
INS.SENSOR3.SENADDR2 11; # Sensor value hardware address
INS.SENSOR3.NAME3 "FCGT"; # Sensor value name
INS.SENSOR3.DESC3
"Cryostat exhaust gas temp."; # Sensoar value description
INS.SENSOR3.HEADER3 F; # If T, report sensor value in image
header
INS.SENSOR3.FITS3
"INS.TEMP12.VAL"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT3 "C"; # Sensor value unit
INS.SENSOR3.SENADDR3 20; # Sensor value hardware address
INS.SENSOR3.NAME4 "FCGR"; # Sensor value name
INS.SENSOR3.DESC4
"Cryostat exhaust gas ref."; # Sensoar value description
INS.SENSOR3.HEADER4 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS4
"INS.TEMP12.REF"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT4 "C"; # Sensor value unit
INS.SENSOR3.SENADDR4 21; # Sensor value hardware address
INS.SENSOR3.NAME5 "FCST"; # Sensor value name
INS.SENSOR3.DESC5
"Cryostat sorption temp."; # Sensoar value description
INS.SENSOR3.HEADER5
F; # If T, report sensor value
in image header
INS.SENSOR3.FITS5
"INS.TEMP13.VAL"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT5 "C"; # Sensor value unit
INS.SENSOR3.SENADDR5 30; # Sensor value hardware address
INS.SENSOR3.NAME6 "FCSR"; # Sensor value name
INS.SENSOR3.DESC6
"Cryostat sorption ref."; # Sensoar value description
INS.SENSOR3.HEADER6 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS6
"INS.TEMP13.REF"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT6 "C"; # Sensor value unit
INS.SENSOR3.SENADDR6 31; # Sensor value hardware address
INS.SENSOR3.NAME7 "FCWT"; # Sensor value name
INS.SENSOR3.DESC7
"Cryostat warm-up temp."; # Sensoar value description
INS.SENSOR3.HEADER7 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS7
"INS.TEMP14.VAL"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT7 "C"; # Sensor value unit
INS.SENSOR3.SENADDR7 40; # Sensor value hardware address
INS.SENSOR3.NAME8 "FCWR"; # Sensor value name
INS.SENSOR3.DESC8
"Cryostat warm-up ref."; # Sensoar value description
INS.SENSOR3.HEADER8 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS8
"INS.TEMP14.REF"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT8 "C"; # Sensor value unit
INS.SENSOR3.SENADDR8 41; # Sensor value hardware address
INS.SENSOR3.NAME9 "FCCT"; # Sensor value name
INS.SENSOR3.DESC9
"Cryostat cooling temp."; # Sensoar value description
INS.SENSOR3.HEADER9 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS9
"INS.TEMP15.VAL"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT9 "C"; # Sensor value unit
INS.SENSOR3.SENADDR9 50; # Sensor value hardware address
INS.SENSOR3.NAME10 "FCCR"; # Sensor value name
INS.SENSOR3.DESC10
"Cryostat cooling ref."; # Sensoar value description
INS.SENSOR3.HEADER10 F; # If T, report sensor value in
image header
INS.SENSOR3.FITS10
"INS.TEMP15.REF"; # Sensor value FITS keyword
INS.SENSOR3.SENUNIT10 "C"; # Sensor value unit
INS.SENSOR3.SENADDR10 51; # Sensor value hardware address
#
# Sample
cooling controller sensor
#
INS.SENSOR4.DEVNAME "ccc1"; # Name of the ICS
device
INS.SENSOR4.DEVDESC
"Cooling controller"; # Description of the ICS device
INS.SENSOR4.DEVTYPE "COOLING"; # Device type
INS.SENSOR4.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR4.SWSIM T; # If T, function is software
simulated
INS.SENSOR4.PORT "/iser0";
INS.SENSOR4.NUM
8;
INS.SENSOR4.NAME1 "CAOT";
INS.SENSOR4.DESC1
"Cooling outlet temp.";
INS.SENSOR4.HEADER1 F;
INS.SENSOR4.FITS1
"INS.TEMP21.VAL";
INS.SENSOR4.SENUNIT1 "C";
INS.SENSOR4.SENADDR1 1;
INS.SENSOR4.NAME2 "CAIT";
INS.SENSOR4.DESC2
"Cooling inlet temp.";
INS.SENSOR4.HEADER2 F;
INS.SENSOR4.FITS2
"INS.TEMP22.VAL";
INS.SENSOR4.SENUNIT2 "C";
INS.SENSOR4.SENADDR2 2;
INS.SENSOR4.NAME3 "CACT";
INS.SENSOR4.DESC3
"Cabinet temp.";
INS.SENSOR4.HEADER3 F;
INS.SENSOR4.FITS3
"INS.TEMP23.VAL";
INS.SENSOR4.SENUNIT3 "C";
INS.SENSOR4.SENADDR3 3;
INS.SENSOR4.NAME4 "CAAT";
INS.SENSOR4.DESC4
"Ambient temp.";
INS.SENSOR4.HEADER4 F;
INS.SENSOR4.FITS4
"INS.TEMP24.VAL";
INS.SENSOR4.SENUNIT4 "C";
INS.SENSOR4.SENADDR4 4;
INS.SENSOR4.NAME5 "CAF1";
INS.SENSOR4.DESC5
"Flow rate 1";
INS.SENSOR4.HEADER5 F;
INS.SENSOR4.FITS5
"INS.SENS11.VAL";
INS.SENSOR4.SENUNIT5 "l/h";
INS.SENSOR4.SENADDR5 5;
INS.SENSOR4.NAME6 "CAF2";
INS.SENSOR4.DESC6
"Flow rate 2";
INS.SENSOR4.HEADER6 F;
INS.SENSOR4.FITS6
"INS.SENS12.VAL";
INS.SENSOR4.SENUNIT6 "l/h";
INS.SENSOR4.SENADDR6 6;
INS.SENSOR4.NAME7 "CAF3";
INS.SENSOR4.DESC7
"Flow rate 3";
INS.SENSOR4.HEADER7 F;
INS.SENSOR4.FITS7
"INS.SENS13.VAL";
INS.SENSOR4.SENUNIT7 "l/h";
INS.SENSOR4.SENADDR7 7;
INS.SENSOR4.NAME8 "CDO1";
INS.SENSOR4.DESC8
"Cabinet door open";
INS.SENSOR4.HEADER8 F;
INS.SENSOR4.FITS8
"INS.SENS17.VAL";
INS.SENSOR4.SENADDR8 8;
#
# Sample
digital sensors
#
INS.SENSOR5.DEVNAME "dis1"; # Name of the ICS
device
INS.SENSOR5.DEVDESC
"Digital sensors 1"; # Description of the ICS device
INS.SENSOR5.DEVTYPE "DIGITAL"; # Device type
INS.SENSOR5.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR5.SWSIM T; # If T, function is software
simulated
#
Acromag digital I/O interface setup
INS.SENSOR5.PORT "/acro0";
INS.SENSOR5.NUM
4;
# CAN
digital I/O interface setup
#INS.SENSOR5.PORT "/canio0";
#INS.SENSOR5.NUM
1;
INS.SENSOR5.NAME1 "VPS2";
INS.SENSOR5.DESC1
"VME B power supply status";
INS.SENSOR5.HEADER1 F;
INS.SENSOR5.FITS1
"INS.SENS20.STAT";
INS.SENSOR5.SIGBIT1 3;
INS.SENSOR5.SIGWIDTH1 1;
INS.SENSOR5.SIGLOW1 F;
INS.SENSOR5.SIGVAL010 "OK";
INS.SENSOR5.SIGVAL011 "ERROR";
INS.SENSOR5.NAME2 "APSI";
INS.SENSOR5.DESC2
"Aux. power supply status";
INS.SENSOR5.HEADER2 F;
INS.SENSOR5.FITS2
"INS.SENS21.STAT";
INS.SENSOR5.SIGBIT2 19;
INS.SENSOR5.SIGWIDTH2 1;
INS.SENSOR5.SIGLOW2 F;
INS.SENSOR5.SIGVAL020 "OK";
INS.SENSOR5.SIGVAL021 "ERROR";
INS.SENSOR5.NAME3 "CCM1";
INS.SENSOR5.DESC3
"Cabinet cooling malfunction";
INS.SENSOR5.HEADER3 F;
INS.SENSOR5.FITS3
"INS.SENS22.STAT";
INS.SENSOR5.SIGBIT3 16;
INS.SENSOR5.SIGWIDTH3 1;
INS.SENSOR5.SIGLOW3 F;
INS.SENSOR5.SIGVAL030 "OK";
INS.SENSOR5.SIGVAL031 "ERROR";
INS.SENSOR5.NAME4 "ENCL";
INS.SENSOR5.DESC4
"Enclosure open";
INS.SENSOR5.HEADER4 F;
INS.SENSOR5.FITS4
"INS.SENS24.STAT";
INS.SENSOR5.SIGBIT4 59;
INS.SENSOR5.SIGWIDTH4 2;
INS.SENSOR5.SIGLOW4 F;
INS.SENSOR5.SIGVAL040 "CLOSED";
INS.SENSOR5.SIGVAL041 "OPEN";
INS.SENSOR5.SIGVAL042 "OPEN";
INS.SENSOR5.SIGVAL043 "OPEN";
#
# Sample
humidity sensor
#
INS.SENSOR6.DEVNAME "ench"; # Name of the ICS device
INS.SENSOR6.DEVDESC
"Humidity monitor"; # Description of the ICS device
INS.SENSOR6.DEVTYPE "HUMIDITY"; # Device type
INS.SENSOR6.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR6.SWSIM T; # If T, function is software
simulated
INS.SENSOR6.PORT "/iser4";
INS.SENSOR6.NUM
3;
INS.SENSOR6.NAME1 "EHST";
INS.SENSOR6.DESC1
"Humidity sensor temp.";
INS.SENSOR6.HEADER1 F;
INS.SENSOR6.FITS1
"INS.TEMP29.VAL";
INS.SENSOR6.SENUNIT1 "C";
INS.SENSOR6.SENADDR1 0;
INS.SENSOR6.NAME2 "EHRH";
INS.SENSOR6.DESC2
"Relative humidity";
INS.SENSOR6.HEADER2 F;
INS.SENSOR6.FITS2
"INS.SENS25.VAL";
INS.SENSOR6.SENUNIT2 "%";
INS.SENSOR6.SENADDR2 1;
INS.SENSOR6.NAME3 "EHDP";
INS.SENSOR6.DESC3 "Dew point";
INS.SENSOR6.HEADER3 F;
INS.SENSOR6.FITS3
"INS.TEMP30.VAL";
INS.SENSOR6.SENUNIT3 "C";
INS.SENSOR6.SENADDR3 2;
#
# Sample
temperature sensors
#
INS.SENSOR7.DEVNAME "temp"; # Name of the ICS
device
INS.SENSOR7.DEVDESC
"Temperatures"; # Description of the ICS device
INS.SENSOR7.DEVTYPE "ESTERS"; # Device type
INS.SENSOR7.LCUID 2; # Id. of the LCU managing the
device
INS.SENSOR7.SWSIM T; # If T, function is software
simulated
INS.SENSOR7.PORT "/iser1";
INS.SENSOR7.NUM
7;
INS.SENSOR7.NAME1 "TMC";
INS.SENSOR7.DESC1
"Temp. camera";
INS.SENSOR7.HEADER1 F;
INS.SENSOR7.FITS1
"INS.TEMP1.VAL";
INS.SENSOR7.SENUNIT1 "C";
INS.SENSOR7.SENADDR1 0; # Sensor value hardware address
INS.SENSOR7.NAME2 "TMT";
INS.SENSOR7.DESC2
"Temp. table";
INS.SENSOR7.HEADER2 T;
INS.SENSOR7.FITS2
"INS.TEMP2.VAL";
INS.SENSOR7.SENUNIT2 "C";
INS.SENSOR7.SENADDR2 1; # Sensor value hardware address
INS.SENSOR7.STAT2
"MIN MAX MEAN RMS TMMEAN GRAD DETCOEF"; # Statistical keywords to be
add to the FITS header
INS.SENSOR7.NAME3 "TMIA";
INS.SENSOR7.DESC3
"Temp. inside air";
INS.SENSOR7.HEADER3 F;
INS.SENSOR7.FITS3
"INS.TEMP3.VAL";
INS.SENSOR7.SENUNIT3 "C";
INS.SENSOR7.SENADDR3 2; # Sensor value hardware address
INS.SENSOR7.NAME4 "TMOA";
INS.SENSOR7.DESC4
"Temp. outside air";
INS.SENSOR7.HEADER4 F;
INS.SENSOR7.FITS4
"INS.TEMP4.VAL";
INS.SENSOR7.SENUNIT4 "C";
INS.SENSOR7.SENADDR4 3; # Sensor value hardware address
INS.SENSOR7.NAME5 "TMD";
INS.SENSOR7.DESC5
"Temp. derotator";
INS.SENSOR7.HEADER5 F;
INS.SENSOR7.FITS5
"INS.TEMP5.VAL";
INS.SENSOR7.SENUNIT5 "C";
INS.SENSOR7.SENADDR5 4; # Sensor value hardware address
INS.SENSOR7.NAME6 "TMCR";
INS.SENSOR7.DESC6
"Temp. cryostat";
INS.SENSOR7.HEADER6 F;
INS.SENSOR7.FITS6
"INS.TEMP6.VAL";
INS.SENSOR7.SENUNIT6 "C";
INS.SENSOR7.SENADDR6 5; # Sensor value hardware address
INS.SENSOR7.NAME7 "TMN";
INS.SENSOR7.DESC7
"Temp. LN2 lines";
INS.SENSOR7.HEADER7 F;
INS.SENSOR7.FITS7
"INS.TEMP7.VAL";
INS.SENSOR7.SENUNIT7 "C";
INS.SENSOR7.SENADDR7 6; # Sensor value hardware address
#
# Sample
exposure meter
#
INS.DET1.DEVNAME "expm"; # Name of the ICS device
INS.DET1.DEVDESC
"Exp. Meter PMT"; # Description of the ICS device
INS.DET1.LCUID 2; # Id. of the LCU managing the device
INS.DET1.SWSIM T; # If T, function is software
simulated
INS.DET1.DEVTYPE "EXPM"; # Device type
INS.DET1.PORT "/iser3"; # Hardware device
INS.DET1.UIT 1; # Default integration time
[sec]
INS.DET1.OFFDRK 0; # Average dark background counts
INS.DET1.OFFSKY 1; # Average sky background counts
INS.DET1.SIMVALUE 10; # Simulation CTLAST value
INS.DET1.LOG
F; # If T, log CTLAST values
#
# TIM
board timer
#
INS.TIM1.DEVNAME "tim1"; # Name of the ICS device
INS.TIM1.DEVDESC
"TIM board timer 1"; # Description of the ICS device
INS.TIM1.LCUID 2; # Id. of the LCU managing the
device
INS.TIM1.SWSIM T; # If T, function is software
simulated
INS.TIM1.TIMER 1; # TIM board timer number (1-4)
INS.TIM1.PERIOD 0.2; # Period [msec]
#
#
Special device
#
INS.MIRR2.DEVNAME "yyyy"; # Name of the ICS
device
INS.MIRR2.DEVDESC
"Special device"; # Description of the ICS device
INS.MIRR2.DEVTYPE "ANALOG"; # Device type
INS.MIRR2.LCUID 2; # Id. of the LCU managing the
device
INS.MIRR2.SWSIM T; # If T, function is software
simulated
INS.MIRR2.PORT "/aio0";
#
# 2.2
ICS Assemblies
#
#
PRESLIT consists of LAMP1 SHUT1 DROT DPOR and SLIT2
INS.ASSEMBLY1
"INS.PRESLIT"; # Assembly FITS name
INS.ASSEMBLY1.KEY1
""
INS.ASSEMBLY1.VAL1
"INS.LAMP1 INS.SHUT1 INS.DROT INS.DPOR INS.ADC1"
#
SENSORS consists of all sensor devices
INS.ASSEMBLY2
"INS.SENSORS"; # Assembly FITS name
INS.ASSEMBLY2.KEY1
""
INS.ASSEMBLY2.VAL1
"INS.SENSOR1 INS.SENSOR2 INS.SENSOR3 INS.SENSOR4 INS.SENSOR5 INS.SENSOR6
INS.SENSOR7"
#
INFRARED arm consists of GRAT1 SLIT1 and SLIT2
INS.ASSEMBLY3
"INS.INFRARED"; # Assembly FITS name
INS.ASSEMBLY3.KEY1
""
INS.ASSEMBLY3.VAL1
"INS.PRESLIT INS.SENSORS INS.GRAT1 INS.SLIT1 INS.SLIT2"
#
OPTICAL ARM consists of FILT1 TILT1, MIRR2 and DET1
INS.ASSEMBLY4
"INS.OPTICAL"; # Assembly FITS name
INS.ASSEMBLY4.KEY1
""
INS.ASSEMBLY4.VAL1
"INS.PRESLIT INS.SENSORS INS.FILT1 INS.TILT1 INS.MIRR2 INS.DET1"
# INS.MODE
# accept
any value of INS.MODE and do not forward this key to the LCUs
INS.ASSEMBLY5
"INS.MODE"; # Assembly FITS name
INS.ASSEMBLY5.KEY1
"*"
INS.ASSEMBLY5.VAL1
""
#
INS.PATH used for EXPSTRT/EXPEND -path
# Paths
must be consistant with OS configuration
INS.ASSEMBLY6
"INS.PATH; # Assembly FITS name
INS.ASSEMBLY6.KEY1
"INFRARED"
INS.ASSEMBLY6.VAL1
"INS.INFRARED"
INS.ASSEMBLY6.KEY2
"OPT_TCCD"
INS.ASSEMBLY6.VAL2
"INS.PRESLIT INS.MIRR2"
INS.ASSEMBLY6.KEY3
"OPT_SCCD"
INS.ASSEMBLY6.VAL3
"INS.OPTICAL"
INS.ASSEMBLY6.KEY4
""
INS.ASSEMBLY6.VAL4
""
#
INS.LAMP: Example of multi-step setup capability
#
INS.LAMP ON is executed in three steps
# Step
1: move iods OUT and turn lamp on
# Step
2: move iods IN
# Step
3: open shutter
#
INS.LAMP OFF is executed in one step only:
# Step
1: move iods OUT, turn lamp off and close shutter
INS.ASSEMBLY7
"INS.LAMP"; # Assembly FITS name
INS.ASSEMBLY7.HEADER T; # Last setup value goes in the FITS
header
INS.ASSEMBLY7.KEY1
"ON"
INS.ASSEMBLY7.VAL1
"INS.OPTI1.NAME OUT INS.LAMP1.ST T,INS.OPTI1.NAME IN , INS.SHUT1.ST
T"
INS.ASSEMBLY7.KEY2
"OFF"
INS.ASSEMBLY7.VAL2
"INS.OPTI1.NAME OUT INS.LAMP1.ST F INS.SHUT1.ST F"
#
INS.TRAK: Example of assembly collecting several keywords.
# E.g.
INS.TRAK.ALPHA INS.TRAK.DELTA
# In
this example, all keywords are not forwarded to the LCUs.
# They
are instead handled by xxiINS_TRAK::DevTrigger
INS.ASSEMBLY8
"INS.TRAK"; # Assembly FITS name
INS.ASSEMBLY8.HEADER T; # Last setup value goes in the FITS
header
INS.ASSEMBLY8.KEY1
"*"
INS.ASSEMBLY8.VAL1
""
#
# 2.3
ICS self-test utility (ic0SelfTest) commands
#
INS.TEST.COMMAND1
"SETUP"
INS.TEST.PARAM1
"-file xxmcfgIcsSelfTest_1.ins -function INS.MODE IR_IMAGING"
INS.TEST.COMMAND2
"EXPSTRT"
INS.TEST.PARAM2
"-path INFRARED"
INS.TEST.COMMAND3
"EXPEND"
INS.TEST.PARAM3
"-path INFRARED"
INS.TEST.COMMAND4
"STATUS"
INS.TEST.PARAM4
"-header -dumpFits IcsSelfTest_1.ins"
INS.TEST.COMMAND5
"SETUP"
INS.TEST.PARAM5
"-file xxmcfgIcsSelfTest_2.ins -function INS.MODE GUIDING"
INS.TEST.COMMAND6
"EXPSTRT"
INS.TEST.PARAM6
"-path OPT_TCCD"
INS.TEST.COMMAND7
"EXPEND"
INS.TEST.PARAM7
"-path OPT_TCCD"
INS.TEST.COMMAND8
"STATUS"
INS.TEST.PARAM8
"-header -dumpFits IcsSelfTest_2.ins"
INS.TEST.COMMAND9
"SETUP"
INS.TEST.PARAM9
"-file xxmcfgIcsSelfTest_3.ins -function INS.MODE IR_SPECTROSCOPY"
INS.TEST.COMMAND10
"EXPSTRT"
INS.TEST.PARAM10
"-path INFRARED"
INS.TEST.COMMAND11
"EXPEND"
INS.TEST.PARAM11
"-path INFRARED"
INS.TEST.COMMAND12
"STATUS"
INS.TEST.PARAM12
"-header -dumpFits IcsSelfTest_3.ins"
INS.TEST.COMMAND13
"SETUP"
INS.TEST.PARAM13
"-file xxmcfgIcsSelfTest_4.ins -function INS.MODE OPT_IMAGING"
INS.TEST.COMMAND14
"EXPSTRT"
INS.TEST.PARAM14
"-path OPT_SCCD"
INS.TEST.COMMAND15
"STATUS"
INS.TEST.PARAM15
""
# just
an example of UNIX program execution
INS.TEST.COMMAND16
""
INS.TEST.PARAM16
"sleep 10"
INS.TEST.COMMAND17
"EXPEND"
INS.TEST.PARAM17
"-path OPT_SCCD"
INS.TEST.COMMAND18
"STATUS"
INS.TEST.PARAM18
"-header -dumpFits IcsSelfTest_4.ins"
INS.TEST.COMMAND19
"SETUP"
INS.TEST.PARAM19
"-file xxmcfgIcsSelfTest_5.ins"
INS.TEST.COMMAND20
"SETUP"
INS.TEST.PARAM20
"-file xxmcfgIcsSelfTest_6.ins"
INS.TEST.COMMAND21
"SETUP"
INS.TEST.PARAM21
"-file xxmcfgIcsSelfTest_7.ins"
INS.TEST.COMMAND22
"SETUP"
INS.TEST.PARAM22
"-file xxmcfgIcsSelfTest_8.ins"
INS.TEST.COMMAND23
"SETUP"
INS.TEST.PARAM23
"-file xxmcfgIcsSelfTest_9.ins"
INS.TEST.COMMAND24
"SETUP"
INS.TEST.PARAM24
"-file xxmcfgIcsSelfTest_10.ins"
INS.TEST.COMMAND25
"SETUP"
INS.TEST.PARAM25
"-file xxmcfgIcsSelfTest_11.ins"
INS.TEST.COMMAND26
"SETUP"
INS.TEST.PARAM26
"-file xxmcfgIcsSelfTest_12.ins -function INS.LAMP ON"
INS.TEST.COMMAND27
"SETUP"
INS.TEST.PARAM27
"-file xxmcfgIcsSelfTest_13.ins -function INS.LAMP OFF"
INS.TEST.COMMAND28
"SETUP"
INS.TEST.PARAM28
"-function INS.TRAK.RA 100000 INS.TRAK.DEC -650000 INS.TRAK.STEP 1"
INS.TEST.COMMAND29
"SETUP"
INS.TEST.PARAM29
"-function INS.TRAK.RA 200000 INS.TRAK.DEC 650000 INS.TRAK.STEP 1"
INS.TEST.COMMAND30
"EXPSTRT"
INS.TEST.PARAM30
""
INS.TEST.COMMAND31
"EXPEND"
INS.TEST.PARAM31
""
INS.TEST.COMMAND32
"STATUS"
INS.TEST.PARAM32
"-header -dumpFits IcsSelfTest_5.ins"
# error
conditions
INS.TEST.COMMAND33
"SETUP"
INS.TEST.PARAM33 "-function INS.FILT1.NAME pippo"
INS.TEST.ERROR33 T
INS.TEST.COMMAND34
"SETUP"
INS.TEST.PARAM34 "-function INS.GRAT1.NAME pippo"
INS.TEST.ERROR34 T
INS.TEST.COMMAND35
"SETUP"
INS.TEST.PARAM35 "-function INS.MIRR1.NAME pippo"
INS.TEST.ERROR35 T
INS.TEST.COMMAND36
"SETUP"
INS.TEST.PARAM36 "-function INS.OPTI1.NAME pippo"
INS.TEST.ERROR36 T
INS.TEST.COMMAND37
"SETUP"
INS.TEST.PARAM37 "-function INS.GRIS1.NAME pippo"
INS.TEST.ERROR37 T
INS.TEST.COMMAND38
"SETUP"
INS.TEST.PARAM38
"-function INS.FOCU1.POS -153.5"
INS.TEST.ERROR38 T
INS.TEST.COMMAND39
"SETUP"
INS.TEST.PARAM39
"-function INS.FOCU1.POS 153.5"
INS.TEST.ERROR39 T
INS.TEST.COMMAND40
"SETUP"
INS.TEST.PARAM40
"-function INS.ROT1.POS -91"
INS.TEST.ERROR40 T
INS.TEST.COMMAND41
"SETUP"
INS.TEST.PARAM41
"-function INS.ROT1.POS 91"
INS.TEST.ERROR41 T
INS.TEST.COMMAND42
"SETUP"
INS.TEST.PARAM42
"-function INS.SLIT1.LEN 0.12"
INS.TEST.ERROR42 T
INS.TEST.COMMAND43
"SETUP"
INS.TEST.PARAM43
"-function INS.SLIT1.LEN 31.22"
INS.TEST.ERROR43 T
INS.TEST.COMMAND44
"SETUP"
INS.TEST.PARAM44
"-function INS.SLIT1.WID 0.13"
INS.TEST.ERROR44 T
INS.TEST.COMMAND45
"SETUP"
INS.TEST.PARAM45
"-function INS.SLIT1.WID 11.05"
INS.TEST.ERROR45 T
INS.TEST.COMMAND46
"SETUP"
INS.TEST.PARAM46
"-function INS.SLIT2.NAME pippo"
INS.TEST.ERROR46 T
INS.TEST.COMMAND47
"SETUP"
INS.TEST.PARAM47
"-function INS.TILT1.POS -153.5"
INS.TEST.ERROR47 T
INS.TEST.COMMAND48
"SETUP"
INS.TEST.PARAM48
"-function INS.TILT1.POS 153.5"
INS.TEST.ERROR48 T
#
# 2.4
ICS stand-alone GUI configuration
#
INS.UIF.NBOOKS 2
INS.UIF1.TABS 3
INS.UIF2.TABS 7
INS.UIF1.LABEL1 "Motors"
INS.UIF1.LABEL2 "Lamps/shutters"
INS.UIF1.LABEL3 "Exposure meter"
INS.UIF2.LABEL1 "FCS"
INS.UIF2.LABEL2 "BARO"
INS.UIF2.LABEL3 "FCTC"
INS.UIF2.LABEL4 "CCC1"
INS.UIF2.LABEL5 "DIS1"
INS.UIF2.LABEL6 "ENCH"
INS.UIF2.LABEL7 "TEMP"
INS.LAMP1.UIFNB 1
INS.LAMP1.UIFTB 2
INS.SHUT1.UIFNB 1
INS.SHUT1.UIFTB 2
INS.DET1.UIFNB 1
INS.DET1.UIFTB 3
INS.GRAT1.UIFCLASS
"xxipanGrat"
INS.MIRR2.UIFCLASS
"xxipanSpecial"
INS.SENSOR1.UIFNB 2
INS.SENSOR1.UIFTB 1
INS.SENSOR2.UIFNB 2
INS.SENSOR2.UIFTB 2
INS.SENSOR3.UIFCLASS "icbpanSensorSqr"
INS.SENSOR3.UIFNB 2
INS.SENSOR3.UIFTB 3
INS.SENSOR4.UIFCLASS "icbpanSensorSqr"
INS.SENSOR4.UIFNB 2
INS.SENSOR4.UIFTB 4
INS.SENSOR5.UIFNB 2
INS.SENSOR5.UIFTB 5
INS.SENSOR6.UIFCLASS "icbpanSensorHor"
INS.SENSOR6.UIFNB 2
INS.SENSOR6.UIFTB 6
INS.SENSOR7.UIFCLASS "icbpanSensorSqr"
INS.SENSOR7.UIFNB 2
INS.SENSOR7.UIFTB 7
#
# 2.5
ICS OLDB "scan" feature
#
# To be
commented out if LCU 1 is available, otherwise lot of errors on logMonitor
##INS.SCAN.PERIOD 5
##INS.SCAN1.DBFROM
"<alias>TCS:coord.ra2000"
##INS.SCAN1.DBTO "@lxxics1<alias>DROT.ra"
##INS.SCAN2.DBFROM
"<alias>TCS:coord.dec2000"
##INS.SCAN2.DBTO "@lxxics1<alias>DROT.dec"
##INS.SCAN3.DBFROM
"<alias>TCS:coord.ra2000"
##INS.SCAN3.DBTO "@lxxics1<alias>ADC1.ra"
##INS.SCAN4.DBFROM
"<alias>TCS:coord.dec2000"
##INS.SCAN4.DBTO "@lxxics1<alias>ADC1.dec"
# Next
SCANi are just for testing ic0
##INS.SCAN5.DBFROM
"@lxxics1:PARAMS:SCALARS.scalar_int32"; # from LCU1 scalar (poll)
##INS.SCAN5.DBTO
"@lxxics2:PARAMS:SCALARS.scalar_int32"; # to LCU2 scalar
##INS.SCAN6.DBFROM
":PARAMS:VECTORS.vector_double"; # from WS vector (poll)
##INS.SCAN6.DBTO
"@lxxics2:PARAMS:VECTORS.vector_double"; # to LCU2 vector
##INS.SCAN7.DBFROM
"@lxxics1:PARAMS:VECTORS.vector_double(3)"; # from LCU1 vector el.
(poll)
##INS.SCAN7.DBTO
"@lxxics2:PARAMS:SCALARS.scalar_double"; # to
LCU2 scalar
##INS.SCAN8.DBFROM
":PARAMS:SCALARS.scalar_float"; # from WS scalar (srbx)
##INS.SCAN8.DBTO
"@lxxics2:PARAMS:SCALARS.scalar_float"; # to LCU2 scalar
##INS.SCAN8.POLL F
##INS.SCAN9.DBFROM
"@lxxics1:PARAMS:SCALARS.scalar_string32"; # from LCU1 scalar (srbx)
##INS.SCAN9.DBTO
"@lxxics2:PARAMS:SCALARS.scalar_string32"; # to LCU2 scalar
##INS.SCAN9.POLL F
##INS.SCAN10.DBFROM
":PARAMS:VECTORS.vector_float"; # from WS vector (srbx)
##INS.SCAN10.DBTO
"@lxxics2:PARAMS:VECTORS.vector_float"; # to LCU2 vector
##INS.SCAN10.POLL F
##INS.SCAN11.DBFROM
"@lxxics1:PARAMS:VECTORS.vector_int16(4)"; # from LCU1 vector el.
(poll)
##INS.SCAN11.DBTO "@lxxics2:PARAMS:SCALARS.scalar_int16"; # to
LCU2 scalar
##INS.SCAN11.POLL F
#************************************************************************
# 5. OS
configuration
#
OCS.CON.RELEASE
"2000-06-16"; # Release date "yyyy-mm-dd"
OCS.CON.ORIGIN "TEST"; # Origin
OCS.CON.LOGLEVEL 0;
#
# 5. OS
Subsystems
#
#
# 5.1 OS
telescope control subsystems
#
OCS.TEL.NAME
"UT0"; #
Telescope name ('UT1','UT2','UT3' or 'UT4')
OCS.TEL.FOCUS
"NA"; #
Telescope focus
OCS.TEL.DICT "TCS"; # dictionary
OCS.TEL.ENVNAME "wxxtcs"; #
OCS.TEL.PROCNAME "tifNA" ; # process name
#OCS.TEL.DBROOT "<alias>TCS"; # db root (default)
#OCS.TEL.DBIFROOT
"<alias>xxo:subsystems:tcs"; # interface db root
(default)
#OCS.TEL.DBSTATE
"<alias>TCS:tcsState.tcsState"; # db address of state (default)
OCS.TEL.KEYWFILT "TEL.*.*.*.*.*.*"; # keyword filter
OCS.TEL.TIMEOUT 600; # timeout in seconds
OCS.TEL.ID
"Tel name not set"; #
value for TELESCOP kw ('ESO-VLT-Ui')
#
# 5.2 OS
instrument control subsystems
#
# Category indices are always removed before
forwarding the FITS keyword.
#
OCS.INS.NUM 1;
#
subsystem: ICS
#
-----------------------------------------------------------------------------------------------
OCS.INS1.NAME "ICS";
OCS.INS1.DICT1 "XXXX_ICS";
OCS.INS1.ENVNAME "wxxxx";
OCS.INS1.PROCNAME "xxiControl";
#OCS.INS1.DBROOT "<alias>XXXX:ICS"; # db root ( default)
#OCS.INS1.DBIFROOT
"<alias>xxo:subsystems:ics"; # interface db address (default)
#OCS.INS1.DBSTATE
"<alias>XXXX:ICS:PROCESSES:WS:icsControl.state";
OCS.INS1.KEYWFILT "INS.*.*.*.*.*.*";
OCS.INS1.TIMEOUT 120; # timeout in seconds
OCS.INS1.STRTUIF F;
#
# 5.3 OS
detector control subsystems
#
# Category indices are always removed before
forwarding the FITS keyword.
#
OCS.DET.NUM 3;
#
subsystem: DET1 IRACE
#
-----------------------------------------------------------------------------------------------
OCS.DET1.NAME "IRDCS"; # name of the
IRACE detector
OCS.DET1.DICT "IRACE"; # dictionary : ESO-VLT-DICT.IRACE
OCS.DET1.ENVNAME "wxxxx"; # environment
where proc. is running
OCS.DET1.PROCNAME "iracqServer"; # name of the IRACE
detector process
OCS.DET1.KEYWFILT "DET1.*.*.*.*.*.*"; # keywords forwarded to
subsystem
OCS.DET1.TIMEOUT 20; # timeout
for the process (seconds)
OCS.DET1.DBROOT "<alias>iracq"; # db Root
#OCS.DET1.DBIFROOT
"<alias>xxo:subsystems:irdcs"; # db address of interface (default)
#OCS.DET1.DBSTATE
"<alias>iracq:irace.state"; # db address of 'state'
#OCS.DET1.DBNEWDT
"<alias>iracq:exposure.newDataFileName"; # db address of
'new data file'
#OCS.DET1.DBEXPSTS
"<alias>iracq:exposure.expStatus" ; # db address of 'exposure status'
OCS.DET1.TYPE
"IRACE";
OCS.DET1.SDMAHOST "wxxirac";
OCS.DET1.SYSCFG
"xxmcfgIRDCS.cfg";
#
subsystem: DET2 TCCD
#
------------------------------------------------------------------------------------------------
OCS.DET2.NAME "TCCD"; # name of
the tech. detector
OCS.DET2.DICT1 "CCDDCS"; # dictionary : ESO-VLT-DICT.CCDDCS
OCS.DET2.ENVNAME "wxxxx"; #
environment
OCS.DET2.PROCNAME "ccdconCI_tccd"; # name of the process
OCS.DET2.KEYWFILT
"DET2.*.*.*.*.*.*,DET.*.*.*.*.*.*"; # keywords forwarded to subsystem
OCS.DET2.TIMEOUT 20; #
timeout in seconds
OCS.DET2.DBROOT "<alias>tccd"; # db address of
subsystem
#OCS.DET2.DBIFROOT "<alias>xxo:subsystems:tccd"; # db address of the interface
#OCS.DET2.DBSTATE
"<alias>tccd.opState"; # db address of
'state'
#OCS.DET2.DBNEWDT
"<alias>tccd:exposures:exposure_1:transfer.fileNameUnComp";
#OCS.DET2.DBEXPSTS "<alias>tccd:exposures:exposure_1.expStatus";
OCS.DET2.TYPE
"ACE";
OCS.DET2.CCDNAME "tccd";
OCS.DET2.CCDLENV "lxxtccd";
OCS.DET2.DBFILE
"ccdTec105.dbcfg";
#
subsystem: DET3 FIERA
#
------------------------------------------------------------------------------------------------
OCS.DET3.NAME "FIERA" ;
OCS.DET3.DICT "FCDDCS";
OCS.DET3.ENVNAME "wxxxx";
OCS.DET3.PROCNAME "fcdconCI_fiera";
OCS.DET3.KEYWFILT "DET3.*.*.*.*.*.*";
OCS.DET3.TIMEOUT 20; # timeout in seconds
OCS.DET3.DBROOT "<alias>fiera";
#OCS.DET3.DBIFROOT
"<alias>xxo:subsystems:fiera";
#OCS.DET3.DBSTATE "<alias>fiera.opState";
#OCS.DET3.DBNEWDT
"<alias>fiera:exposures:exposure_1:transfer.fileNameUnComp";
#OCS.DET3.DBEXPSTS
"<alias>fiera:exposures:exposure_1.expStatus";
OCS.DET3.TYPE
"FIERA";
OCS.DET3.CCDNAME "fiera";
OCS.DET3.CCDLENV "wxxfier";
OCS.DET3.DBFILE
"fcdSciTemplate.dbcfg";
#
# 5.4 OS
observation software subsystems
#
OCS.OS.NUM 0;
#
# 5.5
Instrument modes
#
OCS.MODE1.NAME "IR_IMAGING"; # name of the
instrmode
OCS.MODE1.SETUP "-function INS.MIRR1.NAME IRED
INS.DROT.POSANG 90.0"; # setup the
mode
OCS.MODE1.SUBSYST "IRDCS UT0 ICS"; # subsystems involved in
the given mode
OCS.MODE1.PATH "INFRARED"; # instrument path
(EXPSTRT, EXPEND)
OCS.MODE2.NAME "GUIDING"; # name of the
instrmode
OCS.MODE2.SETUP "-function INS.DROT.POSANG 10.0 -file xxoTccd.det"; # setup mode
OCS.MODE2.SUBSYST "TCCD ICS UT0"; # subsystems involved in
the given mode
OCS.MODE2.PATH "OPT_TCCD"; # instrument path
(EXPSTRT, EXPEND)
OCS.MODE3.NAME "IR_SPECTROSCOPY"; # name of the instrmode
OCS.MODE3.SETUP "-function INS.MIRR1.NAME IRED
INS.DROT.POSANG 10.0"; # setup
of mode
OCS.MODE3.SUBSYST "IRDCS TCCD ICS UT0"; # subsystems involved in the
given mode
OCS.MODE3.PATH "INFRARED"; # instrument path
(EXPSTRT, EXPEND)
OCS.MODE4.NAME "OPT_IMAGING"; # name of
the instrmode
OCS.MODE4.SETUP "-function INS.MIRR1.NAME OPTIC
INS.DROT.POSANG 180.0"; # setup of
mode
OCS.MODE4.SUBSYST "FIERA ICS UT0"; # subsystems
OCS.MODE4.PATH "OPT_SCCD"; #
instrument path
#************************************************************************
# 6.
Midas
#
#
Normally, image processing is done by the pipeline.
#
On-line MIDAS should be enabled only if needed.
#
START.MIDAS.AVAIL T;
#************************************************************************
# 7.
Additional panels
#
START.PANEL1.NAME "ALARM"; # Panel name
START.PANEL1.EXECMD "xxopanAlarm"; # Command to start
the panel
START.PANEL1.DESC "XXXX Alarms"
START.PANEL1.DEFAULT
F;
START.PANEL2.NAME "OS_ENGINEERING"; # Panel name
START.PANEL2.EXECMD "xxopanEngineering"; # Command to
start the panel
START.PANEL2.DESC "XXXX OS Engineering"
START.PANEL2.DEFAULT
F;
#************************************************************************
#
___oOo___
#******************************************************************************
# E.S.O.
- VLT project
#
#
"@(#) $Id: xxmcfgSTART.cfg,v 1.64 2003/02/25 12:03:26 vltsccm Exp $"
#
#************************************************************************
PAF.HDR.START ""; # Start of PAF Header
PAF.TYPE "Configuration"; #
Type of PAF
PAF.ID " "; #
ID for PAF
PAF.NAME " "; #
Name of PAF
PAF.DESC
" "; #
Short description of PAF
PAF.CRTE.NAME " "; #
Name of creator
PAF.CRTE.DAYTIM " "; #
Civil Time for creation
PAF.LCHG.NAME "Config. Tool"; # Name of person/appl. changing
PAF.LCHG.DAYTIM "2001-08-28T18:36:33"; #
Timestamp of last change
PAF.CHCK.NAME " "; #
Name of appl. checking
PAF.HDR.END ""; # End of PAF Header
INS.CON.OPMODE "LCU_SIM"; # Operational mode.
OCS.CON.DEFAULT T; #
Start OS application on start-up.
OCS.CON.LOGLEVEL 0; #
Default standard log level.
OCS.DET1.ACCESS "NORMAL"; # Sub-system access mode.
OCS.DET1.DEFAULT T; #
Start DCS application on start-up.
OCS.DET1.STRTRTD F; #
Start associated RTD on start-up.
OCS.DET1.STRTUIF F; #
Start associated stand-alone panel on start-up.
OCS.DET1.SWSIM "LCU_SIM"; # Software simulation.
OCS.DET2.ACCESS "NORMAL"; # Sub-system access mode.
OCS.DET2.DEFAULT T; #
Start DCS application on start-up.
OCS.DET2.STRTRTD F; #
Start associated RTD on start-up.
OCS.DET2.STRTUIF F; #
Start associated stand-alone panel on start-up.
OCS.DET2.SWSIM "LCU_SIM"; # Software simulation.
OCS.DET3.ACCESS "NORMAL"; # Sub-system access mode.
OCS.DET3.DEFAULT T; #
Start DCS application on start-up.
OCS.DET3.STRTRTD F; #
Start associated RTD on start-up.
OCS.DET3.STRTUIF F; #
Start associated stand-alone panel on start-up.
OCS.DET3.SWSIM
"LCU_SIM"; # Software simulation.
OCS.INS1.ACCESS "NORMAL"; # Sub-system access mode.
OCS.INS1.DEFAULT T; #
Start ICS application on start-up.
OCS.INS1.STRTUIF F; #
Start associated stand-alone panel on start-up.
OCS.TEL.ACCESS "IGNORE"; # Sub-system access mode.
START.ALARM.DEFAULT F; #
Start Alarm display.
START.BOB.DEFAULT T; #
Start BOB.
START.LOGMON.DEFAULT T; #
Start log monitor.
START.MIDAS.DEFAULT F; #
Start MIDAS.
START.OSCTRL.DEFAULT T; # Start OS control panel.
START.OSSTAT.DEFAULT F; #
Start OS status panel.
START.PANEL1.DEFAULT F; #
Panel default flag.
#
___oOo___
10.6.1 Example of Reference Setup file
TBD
10.6.2 Example of Instrument Setup File
#******************************************************************************
# E.S.O.
- VLT project
#
#
"@(#) $Id: xxmcfgIcsSelfTest_1.ins,v 1.64 2003/02/25 12:03:27 vltsccm Exp
$"
#
#
who when what
#
---------- --------
----------------------------------------------
#
rschmutz 13/05/02 SLIT1 param. adjusted (were just out of
range).
#
alongino 04/01/01 created
#
#************************************************************************
PAF.HDR.START;
# Start of PAF Header
PAF.TYPE "Instrument Setup"; # Type
of PAF
PAF.ID " "; # ID for PAF
PAF.NAME " "; # Name of PAF
PAF.DESC " "; # Short description of PAF
PAF.CRTE.NAME "
"; # Name of creator
PAF.CRTE.DAYTIM "
"; # Civil Time for
creation
PAF.LCHG.NAME " "; # Name of person/appl. changing
PAF.LCHG.DAYTIM "
"; # Timestamp of last
change
PAF.CHCK.NAME " "; # Name of appl. checking
PAF.HDR.END; # End of PAF Header
INS.LAMP1.ST "T"; # lamp on/off
INS.SHUT1.ST "T"; # shutter on/off
INS.ADC1.MODE "OFF"; # adc off/auto
INS.DPOR.ST "T"; # dpor on/off
INS.DROT.MODE
"STAT"; # drot mode
INS.DROT.POSANG 0.00; # drot start angle (deg)
INS.FILT1.NAME "U"; # device named
position
INS.GRAT1.NAME "CD#1"; # device named
position
INS.GRAT1.WLEN 0.00; # central wavelength
INS.MIRR1.NAME "IRED"; # device named
position
INS.OPTI1.NAME "OUT"; # device named
position
INS.GRIS1.NAME "GRIS1"; # device named
position
INS.FOCU1.POS -153.4; # device continuous position
INS.ROT1.POS -90.00; # device continuous position
INS.SLIT1.LEN 0.14; # device continuous position
INS.SLIT1.WID 0.15; # device continuous position
INS.SLIT2.NAME "FREE"; # device named
position
INS.TILT1.POS -153.4; # device continuous position
INS.MIRR2.DATA1 -10.00; # special device data
INS.MIRR2.DATA2 -20.00; # special device data
# ---
oOo ---
10.7.1 IR Imaging acquisition template
XXXX_irimg_acq
NAME
XXXX_irimg_acq
- XXXX Acquisition Template signature file
DESCRIPTION
Target
acquisition : presetting to coordinates
###
generated by docDeroff ###
10.7.2 IR Imaging observation template
XXXX_irimg_obs_exp.tsf
NAME
XXXX_irimg_obs_exp.tsf
- XXXX Observation Template signature file
DESCRIPTION
normal exposure
###
generated by docDeroff ###
10.7.3 IR Spectroscopy acquisition template
XXXX_irspec_acq.tsf
NAME
XXXX_irspec_acq.tsf
- XXXX Acquisition Template signature file
DESCRIPTION
Target
acquisition : interactive presetting to pixel position
### generated
by docDeroff ###
10.7.4 IR Spectroscopy observation template
XXXX_irspec_obs_exp.tsf
NAME
XXXX_irspec_obs_exp.tsf
- XXXX Observation Template signature file
DESCRIPTION
normal exposure
###
generated by docDeroff ###
10.7.5 Optical Imaging acquisition template
XXXX_optimg_acq
NAME
XXXX_optimg_acq
- XXXX Acquisition Template signature file
DESCRIPTION
Target
acquisition : presetting to coordinates
###
generated by docDeroff ###
10.7.6 Optical Imaging observation template
XXXX_optimg_obs_exp.tsf
NAME
XXXX_optimg_obs_exp.tsf
- XXXX Observation Template signature file
DESCRIPTION
normal exposure
###
generated by docDeroff ###
10.7.7 Optical Imaging bias calibration template
XXXX_optimg_cal_bias.tsf
NAME
XXXX_optimg_cal_bias.tsf
- XXXX Calibration Template signature file
DESCRIPTION
SEQ.NEXPO XXXX Biases or Darks
###
generated by docDeroff ###
10.7.8 Optical Imaging flat-field calibration template
XXXX_optimg_cal_calunitflat.tsf
NAME
XXXX_optimg_cal_calunitflat.tsf
- XXXX Flat Field Calibration Template signature file
DESCRIPTION
Flats :
after 1 bias and a 1 sec. flat, calculate
: exposure time to reach DET.EXPLEVEL
: and make SEQ.NEXPO dome flats.
###
generated by docDeroff ###
10.7.9 Optical Imaging detector linearity calibration template
XXXX_optimg_cal_linearity.tsf
NAME
XXXX_optimg_cal_linearity.tsf
- XXXX Calibration Template signature file
DESCRIPTION
Linearity
sequence
###
generated by docDeroff ###
10.7.10 Optical Imaging focus calibration template
XXXX_optimg_cal_focus.tsf
NAME
XXXX_optimg_cal_focus.tsf
- XXXX Calibration Template THRU FOCUS signature file
DESCRIPTION
Thu
focus sequence
###
generated by docDeroff ###
TBD
10.9.1 Example of Operational Log (FITS format)
TBD
xxopanControl
NAME
xxopanControl
- Control panel for XXXX OS
MENU BAR
"File"
menu
"Quit"
exit the application
"Options"
menu
"Refresh"
Refresh all output fields as from the IWS
OLDB.
"Engineering"
menu
"GUI"
Start the XXXX OS Engineering GUI
"Telescope"
menu
"ENABLED"
If not set, TCS is ignored (not
implemented yet)
"Instrument"
menu
"STARTUP"
Start all XXXX control processes
"STANDBY"
Bring the XXXX Instrument to STANDBY
state
"ONLINE"
Bring the XXXX Instrument to ONLINE
state
"SHUTDOWN"
Terminate all XXXX control processes
"Help"
menu
Extended Help. Not implemented yet
APPLICATION AREA
"ABORT"
Abort the running exposure with the related
DCS
###
generated by docDeroff ###
xxopanStatus
NAME
xxopanStatus
- Status panel for XXXX OS
MENU BAR
"File"
menu
"Quit"
exit the application
"Std.
Options" menu
"Refresh Database values"
Refresh all output fields as from the
IWS OLDB.
"Re-Start Database Events"
Re-Start all OLDB Events associated to
output widgets
"Help"
menu
Extended Help. Not implemented yet
###
generated by docDeroff ###
xxopanEngineering
NAME
xxopanEngineering
- Engineering panel for XXXX OS
MENU BAR
"File"
menu
"Quit"
exit the application
"Std.
Options" menu
"Refresh Database values"
Refresh all output fields as from the
IWS OLDB.
"Re-Start Database Events"
Re-Start all OLDB Events associated to
output widgets
"Simulation"
menu
"IR DCS"
"No simulation"
IRACE Slcu available and
connected to IRACE controller
"Slcu simulated"
IRACE Slcu NOT available
(simulated on the IWS)
"Irace simulated"
IRACE Slcu available and NOT connected
to IRACE controller
"TCCD DCS"
"No simulation"
TCCD lcu available and connected
to ACE controller
"Lcu simulated"
TCCD lcu NOT available (simulated
on the IWS)
"Ace simulated"
TCCD lcu available and NOT
connected to ACE controller
"FIERA DCS"
"No simulation"
FIERA Slcu available and
connected to FIERA controller
"Slcu simulated"
FIERA Slcu NOT available
(simulated on the IWS)
"Head simulated"
FIERA Slcu available and NOT
connected to FIERA controller
"ICS"
"Simulate device hw on LCU"
ICS LCUs available but NO device
hardware connected to them
"TCS"
"Active Optics"
"Start"
Simulate starting active
optics
"Stop"
Simulate stopping active
optics
"Auto-guider"
"Start"
Simulate starting
auto-guiding
"Stop"
Simulate stopping
auto-guiding
"Help"
menu
Extended Help. Not implemented yet
APPLICATION AREA
"STARTUP"
Start the control processes for the related
sub-system
"STANDBY"
Bring the related sub-system to STANDBY
state
"ONLINE"
Bring the related sub-system to ONLINE
state
"SHUTDOWN"
Terminate the control processes for the
related sub-system
"GUI"
Start the stand-alone GUI for the related
sub-system
###
generated by docDeroff ###
xxipanControl
NAME
xxipanControl
- XXXX ICS stand-alone GUI
MENU BAR
"File"
menu
"Quit"
exit the application
"Selection"
menu
"Select all functions"
Set the check button associated to each
device
"Deselect all functions"
Reset the check button associated to
each device
"Setup"
menu
"Save"
Save the current setup in setup file
xxipan.ins
"Save As ..."
Save the current setup in the specified
setup file
"Load ..."
Load in the panel the contents of the
specified setup file
"Maintenance"
menu
"Edit cfg. file ..."
Start the default text editor and open
the xxmcfgINS.cfg file
"Set LCU cfg."
Execute icbConfigSet XXXX
"Reboot LCUi"
Reboot the specified LCU
"Tools"
menu
"logMonitor"
Start the CCS utility logMonitor
"Motors"
"motei"
Start the motor engineering interface
"Lamps"
"acroxInducer"
Start the acromag digital I/O board
engineering interface
"Sensors"
"acroxInducer"
Start the acromag digital I/O board
engineering interface
"Std.
Options" menu
"Refresh Database values"
Refresh all OLDB values in the panel.
"Re-Start Database events"
Configure again all events attached to
OLDB values.
Useful e.g. after one LCU has rebooted.
"Help"
menu
Extended Help. Not implemented.
APPLICATION AREA
"Global
Control"
"Startup"
Start the ICS WS processes
"State control"
Bring ICS to the specified state
The command is issued as soon the
option button is released
"Shutdown"
Terminate the ICS WS processes
"Command"
Select the command to be sent
"Parameters"
Set the command parameters to be sent
"Send"
Send the specified command and
parameters to xxiControl
"Functions
control"
"SETUP"
Send a SETUP command to xxiControl for
all selected devices
"STOP"
Emergency stop. All devices are
stopped.
"Change State"
Bring the selected devices to the
specified state
"Simulate"
Bring the selected devices to the
selected simulation mode.
Each device uifClass has the following
widgets
Check button to select the device for
the next operation (e.g. SETUP)
Device name
Short-FITS device prefix
Simulation flag
State
Handset flag (not for sensors)
Status value(s)
Encoder position (only for motors)
Setup option button
Setup input field(s) for numerical
values
"Command
Feedback Window"
It shows the last commands and replies
to/from xxiControl as
well as the main ongoing actions (e.g. LCU
rebooting).
###
generated by docDeroff ###
10.11 Error files
/***********************************************************
#
"@(#) $Id$"
#
# Error
Include File Created on Mar 24 12:53:33 2003
#
# This
file has been generated by a utility
#
# !!!!!!!!!!!
DO NOT MANUALLY EDIT THIS FILE
!!!!!!!!!!!
#
***********************************************************/
#ifndef
xxoERRORS_H
#define
xxoERRORS_H
#ifndef
CCS_H
#include
"ccs.h"
#endif
#define
xxoErrOffset 0
#define
xxoERR_DB_READ
((vltINT16) ( xxoErrOffset + 1 ))
#define
xxoERR_DB_WRITE
((vltINT16) ( xxoErrOffset + 2 ))
#define
xxoERR_LOAD_DICTIONARY
((vltINT16) ( xxoErrOffset + 3 ))
#define
xxoERR_LOAD_ALIAS_TABLE
((vltINT16) ( xxoErrOffset + 4 ))
#define
xxoERR_INVALID_STATE
((vltINT16) ( xxoErrOffset + 5 ))
#define
xxoERR_CMD_ABORTED
((vltINT16) ( xxoErrOffset + 6 ))
#define
xxoERR_CACHE_FILE_EXISTS
((vltINT16) ( xxoErrOffset + 7 ))
#define
xxoERR_NO_KEYW_TO_SAVE
((vltINT16) ( xxoErrOffset + 8 ))
#define
xxoERR_KEYW_NOT_SAVED
((vltINT16) ( xxoErrOffset + 9 ))
#define
xxoERR_NO_FILE_SPECIFIED
((vltINT16) ( xxoErrOffset + 10 ))
#define
xxoERR_CONFLICT_OFFSET
((vltINT16) ( xxoErrOffset + 11 ))
#define
xxoERR_OPTION_CONFLICT
((vltINT16) ( xxoErrOffset + 12 ))
#define
xxoERR_EXPO_FILE_MISSING
((vltINT16) ( xxoErrOffset + 13 ))
#define
xxoERR_SEQ_EXPO
((vltINT16) ( xxoErrOffset + 14 ))
#define
xxoERR_INVALID_NAMING_TYPE
((vltINT16) ( xxoErrOffset + 15 ))
#define
xxoERR_INVALIDE_EXP_MODE
((vltINT16) ( xxoErrOffset + 16 ))
#endif
#
#
Version Id. is specified at the end of the file
#
# Error
Definition File Created on Jun 15 14:11:41 2000
#
# This
file has been generated by a utility
#
# !!!!!!!!!!!
DO NOT MANUALLY EDIT THIS FILE
!!!!!!!!!!!
#
###########################################################
define
xxoErrOffset 0
1 S
xxoErrOffset
xxoERR_DB_READ
: Could not read database attribute '%.80s'
noHelp.hlp
2 S
xxoErrOffset
xxoERR_DB_WRITE
: Could not write database attribute '%.80s'
noHelp.hlp
3 W xxoErrOffset
xxoERR_LOAD_DICTIONARY
: Could not load dictionary %.80s
noHelp.hlp
4 W
xxoErrOffset
xxoERR_LOAD_ALIAS_TABLE
: Could not load alias table %.80s
noHelp.hlp
5 W
xxoErrOffset
xxoERR_INVALID_STATE
: Command %.80s cannot be executed in the current state: %.80s/%.80s
noHelp.hlp
6 W
xxoErrOffset
xxoERR_CMD_ABORTED
: Command %.80s execution aborted
noHelp.hlp
7 W
xxoErrOffset
xxoERR_CACHE_FILE_EXISTS
: The file '%.80s' already exists in cache directory
xxoERR_CACHE_FILE_EXISTS.hlp
8 W
xxoErrOffset
xxoERR_NO_KEYW_TO_SAVE
: No keywords were given to save into file '%.80s'
xxoERR_NO_KEYW_TO_SAVE.hlp
9 W
xxoErrOffset
xxoERR_KEYW_NOT_SAVED
: The keyword '%.80s' was not saved in this file
xxoERR_KEYW_NOT_SAVED.hlp
10 W
xxoErrOffset
xxoERR_NO_FILE_SPECIFIED
: No filename has been specified in command '%.80s'
xxoERR_NO_FILE_SPECIFIED.hlp
11 W
xxoErrOffset
xxoERR_CONFLICT_OFFSET
: Conflict in required offsets in command OFFSET: RA/DEC=%.2f/%.2f arcsec,
X/Y=%.2f/%.2f pixels, rotator=%.2f deg, focus=%.2f mm
xxoERR_CONFLICT_OFFSET.hlp
12 W
xxoErrOffset
xxoERR_OPTION_CONFLICT
: Conflict in options %.80s and %.80s
noHelp.hlp
13 W
xxoErrOffset
xxoERR_EXPO_FILE_MISSING
: Exposure FITS filename missing. Must be set before starting exposure.
noHelp.hlp
14 W
xxoErrOffset
xxoERR_SEQ_EXPO
: Wrong exposure control sequence. Call first %.20s.
noHelp.hlp
15 W
xxoErrOffset
xxoERR_INVALID_NAMING_TYPE
: Invalid file naming type '%.80s'
noHelp.hlp
16 F
xxoErrOffset
xxoERR_INVALIDE_EXP_MODE
: Mode '%.80s' given in the SETUP is invalid.
xxoERR_INVALIDE_EXP_MODE.hlp
#
#
"@(#) $Id: xxo_ERRORS,v 1.47 2003/03/21 16:18:12 vltsccm Exp $"
Appendix A. Create a new Instrument
It is recommended to use the template instrument as the starting point of the development of a new instrument. There is a script available (module xxins, name xxinsCreateNewInstrument, see man-page 10.2.4), which creates a twin copy of the Template Instrument, by simply renaming modules and files and modifying the contents accordingly, keeping of course the same functionality. Such a copy already provides the standard structure (modules and files) of an instrument and should therefore be taken as starting point for the development of the instrument specific code.
The script assumes that the XXXX instrument has already been successfully installed and tested and must be executed from the same directory where pkginBuild xxins has been executed.
After running the script, a directory structure, parallel to XXXX and named with the new instrument ID, will be available.
The new instrument must be now tested, following the same procedure as described in chapter 4.
Once the tests have completed successfully, it is probably time to archive the new modules created by xxinsCreateNewInstrument: they still don’t do what your Instrument is supposed to do, but at least they look like modules belonging to your Instrument. Since probably they are not even registered in the VLT Configuration Control Management System (cmm) there is some preliminary administrative work to be done in order you to get access to the cmm functionality and your new modules to be registered in the system. Please contact the ESO software responsible for your project in order to get this done.
At this point, you can start adapting the existing modules to the actual needs and characteristics of your Instrument.
XXXX provides several examples to help in this process. They are listed below.
An example of BOSS class bossSERVER method (StartPreProc) overloading is available in the file xxo/src/xxoExpCtrl.C.
TBD
TBD
An example of class for template is available in file xxoseq/src/xxoseqICS.tcl.
Module xxidev contains the LCU code for the special device yyyy. The special device yyyy is a simple sample software device that has two double attributes in its OLDB point. These two double attributes can be set with the SETUP command (with FITS keywords INS.MIRR2.DATA1 and INS.MIRR2.DATA2). These values can be retrieved with the STATUS command.
File xxidevDeviceCmds.c contains the software device specific code for the CCS commands that the device is capable of receiving.
· Function xxidevDeviceSetup
This function receives the two FITS keywords DATA1 and DATA2, and stores them in the OLDB attributes data1 and data2.
· Function xxidevDeviceStatus
This function returns the values of the OLDB attributes data1 and data2, according to the received parameters DATA1 and DATA2.
See also [RD 16].
Module xxi contains some examples for ICS WS sw. In particular, file xxiINS_ANALOG.C implements the WS part device yyyy.
Please note that a LCU special device does not necessarily need to have a special counter part on the WS: it might well happen that the default behavior provided by the class ic0INS_DEVICE perfectly fits the needs for that device at WS level.
The same applies also the other way around. There might be a device, which need some special treatment on WS, but perfectly falls into one of the standard ICS LCU device categories; in this case, it is sufficient to implement the special functionality on WS.
In the case of XXXX, we assume that yyyy needs a special treatment both on WS and LCU, just to provide a complete example.
Please note that the special device and related class (xxiINS_ANALOG) has to be registered in the xxiControl process (see file xxiControl.C).
See also [RD 16].
File xxiSERVER.C shows an example of sub-classing (xxiSERVER sub-class of ic0SERVER) and method overloading (StatusCB, callback for the STATUS command).
In order to let xxiControl use the xxiSERVER class in place of the ic0SERVER (default), also the method NewServer in ic0CtrlMAIN_HANDLER has to be overloaded (see file xxiCtrlMAIN_SERVER.C).
See also [RD 16].
See 5.3.2. and [RD 16].
Appendix B. Installation using different environments
It is recommended to use the environment names specified in xxins/config/xxinsINSTALL.cfg and repeated in 2.2.2. However in some cases, for development or test purposes, it might be necessary to use different environment names. The procedure to adapt the XXXX code to this case is described here.
It is assumed that all steps described at 3.2.1 have been done.
Let’s assume that the environment names to be used are:
wyyxx (instead of wxxxx)
wyytcs (instead of wxxtcs)
lyyics1 (instead of lxxics1)
lyyics2 (instead of lxxics2)
lyytccd (instead of lxxtccd)
1.
Retrieve
modules from archive and add write permission to files
% cd $HOME/XXXXSource
% cmmCopy xxins $XXXX_VERSION
% pkginBuild xxins -step RETRIEVE
% chmod –R +w .
2.
Set new
prefix
% export XXXX_PREFIX=yy
3. Build test utilities
% cd xxins/test
% make clean all man install
% cd ../..
4. Run xxinsChangeEnvs utility
% xxins/bin/xxinsChangeEnvs
5.
Build and
install the XXXX Software
See 3.2.2 or 3.2.3 for the remaining part of the installation, according to the hw availability.
___oOo___