ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI...

49
ICD 3.1.4/3.2 Instrument Control System to Visible Broadband Imager Andrew Ferayorni 20 October 2010 Version: A.1 Issued By: Instrument Group Date: Approved By: Erik Johansson___________ Lead Engineer, 3.1.4 _____________ Andrew Ferayorni_________ Lead Engineer, 3.2 _____________ Rob Hubbard_____________ Systems Engineer _____________

Transcript of ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI...

Page 1: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

ICD 3.1.4/3.2

Instrument Control System to Visible Broadband Imager

Andrew Ferayorni 20 October 2010

Version: A.1 Issued By: Instrument Group Date: Approved By: Erik Johansson___________ Lead Engineer, 3.1.4 _____________ Andrew Ferayorni_________ Lead Engineer, 3.2 _____________ Rob Hubbard_____________ Systems Engineer _____________

Page 2: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 2 of 49

Revision Control 1. Revision Version A.1

Date: 23th Aug 2010 Revised by: Andrew Ferayorni Reason for / items changed: Original version

2. Revision Version A.2 Date: 20th Oct 2010 Revised by: Andrew Ferayorni Reason for / items changed: Major revision for parameter sets, remove design details, PDR prep

Page 3: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 3 of 49

1. Description

This document specifies the software interface between the Instrument Control System (ICS) and the Visible Broadband Imager (VBI). Within the ATST Work Breakdown, these systems are defined as elements 3.1.4 and 3.2, respectively.

Since there are no mechanical or optical connections between these two systems, this document contains only the electronic and software interfaces. The interface defined in this document is inclusive of all operations performed between the two systems. No commands, events, or other functional operations may be performed that are not defined herein or are not a part of the engineering user interface for this system.

The software interface between the ICS and VBI is split into three parts: attributes sent from the ICS to the VBI, events generated by the ICS of interest to the VBI, and events generated by the VBI of interest to the ICS. The description of attributes, events, and the underlying ATST Common Services Framework is found in the software documentation. The specifications for the Common Services Framework are found in the ATST Common Services Framework Reference Manual (SPEC-0022-2).

Since all attributes that appear in this document can be sent from the Observatory Control System (OCS), this document also constitutes part of the OCS to ICS interface (ICD 4.2/3.1.4).

Page 4: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 4 of 49

2. Related Documents and Drawings [1] SPEC-0054, VBI Instrument Science Requirements [2] SPEC-0090, VBI Design Requirements Document [3] SPEC-0089, VBI Preliminary Design Document [4] ICD-4.2/3.1.4, Observatory Control System to Instrument Control System Interface. [5] SPEC-0022-2, Common Services Framework Reference Manual. [6] SPEC-0063, Interconnects & Services Specification, Section 2.1.4. [7] ICD-3.1.4/3.6, Instrument Control System to Camera Systems [8] ICD-3.1.4/3.1.4.1 Instrument Control System to ASI

Page 5: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 5 of 49

3. Physical System Interfaces

3.1. Mechanical Interface

N/A

3.2. Optical Interface

N/A

3.3. Electronic Interface

All software communications described in this document between the ICS and the VBI shall take place over the ATST control network. This control network is implemented as a Gigabit Ethernet as defined by IEEE-802.3z-1998. The interface is found in SPEC-0063, Interconnects & Services Specifications, Section 2.1.4.

3.4. Mass/Balance

N/A

3.5. Thermal Interface

N/A

Page 6: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 6 of 49

4. Software/Control Function Interface

4.1. Overview

The ICS is one of the four principal software systems for the ATST and is responsible for coordinating and managing instruments during an experiment. The Visible Broadband Imager (VBI) is an instrument designed to achieve a subset of the top level ATST science requirements, specifically to record images at the highest possible spatial and temporal resolution of the ATST at a number of scientifically important visible wavelengths.

Physically the VBI is divided into two channels, one for the blue wavelengths and a second for the red wavelengths. The VBI software is therefore divided into two independent control systems, one for operating the blue channel and another for operating the red channel. For the purposes of this document references to ‘VBI’ are applicable to both channels. When necessary, differences between the control systems of each channel will be explicitly discussed.

The software interface between the ICS and VBI provides a control mechanism for the ICS to position and control the mechanical and detector elements of the VBI. It also provides a status and event mechanism for VBI information to be broadcast to interested systems (ICS, users, loggers, etc.).

The VBI control system shall perform the following actions under command from the ICS: Operate all VBI servo electronics (filter wheel setting, focus, camera stage motion), sensing hardware, and

other electronics; Configure and control the camera using the ICS to Camera Systems interface (3.1.4/3.6) Record the metrology from the VBI mechanical and thermal sensors; and Provide up-to-date status information on all VBI equipment.

The VBI interface provides a set of observing modes and attributes that can be used by the ICS to command the VBI to perform certain actions. The observing modes provide an abstract interface that limits which attributes can be specified with each, and thus which VBI components are impacted. Commands to the interface are provided in the form of configurations, which consist of the observing mode attribute and other attributes specifying the demand settings for the VBI subsystems relevant to that mode. Configurations are submitted to the VBI and if valid, the sub-systems will be updated to match the demand configuration. For more information about the observing modes and related attributes refer to section 0.

4.2. Interface Naming

The ICS is registered in the ATST connection service under the name atst.ics. As ICS subsystems, the VBI blue and red channel top-level controllers are registered with the names atst.ics.vbiBlue and atst.ics.vbiRed respectively. VBI controllers under the top-level controllers are given similar hierarchical names, such as atst.ics.vbiBlue.mc for the VBI blue channel mechanism controller.

The designated names of VBI controllers given in this ICD are based purely on a logical function, and may not represent the physical architecture of the VBI design. For instance, the VBI might use a single hardware component to perform all operations in the x-y camera mount stage. It is the responsibility of the VBI software to map the logical name from the interface to the physical controller in the design.

Page 7: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 7 of 49

4.2.1. VBI Blue Channel

The VBI blue channel control system is comprised of a top-level controller, responsible for all global operations, and the logical subsystem controllers. Each controller is given a name in the hierarchy of the VBI blue channel control system; these names may or may not correspond directly to a process or entity in the VBI software. atst.ics.vbiBlue # top-level controller atst.ics.vbiBlue.mc # mechanism controller atst.ics.vbiBlue.mc.filter # bandpass filter wheel controller atst.ics.vbiBlue.mc.focus # focus stage controller atst.ics.vbiBlue.mc.x # camera mount x axis stage controller atst.ics.vbiBlue.mc.y # camera mount y axis stage controller atst.ics.vbiBlue.mc.thermal # thermal controller atst.ics.vbiBlue.dc # detector controller atst.ics.vbiBlue.dc.vcc # virtual camera controller

Commands from the ICS (or VBI Blue Channel engineering GUI) shall be directed to the VBI blue channel top-level controller (atst.ics.vbiBlue) at all times.

4.3. Context diagram

The interface between the ICS and the VBI (ICD 3.1.4 / 3.2) is defined in this document. The ICS will send configurations to the VBI that the VBI must respond to by controlling its devices in such a way that its state matches the demanded configuration. The VBI must also register to receive events from the ICS and in turn the ICS will register to be notified of certain events generated by the VBI.

4.3.1. VBI Blue Channel

The context diagram for the VBI Blue Channel control system is shown in Figure 1. The VBI blue channel top-level controller is an instrument sequencer (atst.ics.vbiBlue). All configurations being sent from the ICS to the VBI blue channel must be submitted to this controller. The two major sub-systems below the instrument sequencer are the mechanism controller (atst.ics.vbiBlue.mc) and detector controller (atst.ics.vbiBlue.dc). The mechanism controller is responsible for managing the bandpass filter wheel motion controller (atst.ics.vbiBlue.mc.filter), focus stage motion controller (atst.ics.vbiBlue.mc.focus), camera mount x and y motion controllers (atst.ics.vbiBlue.mc.x, atst.ics.vbiBlue.mc.y ), and thermal system hardware controller (atst.ics.vbiBlue.mc.thermal). The detector controller is responsible for managing the virtual camera controller (atst.ics.vbiBlue.dc.vcc) and interfaces with it via ICD 3.1.4 / 3.6.

Page 8: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 8 of 49

4.3.2. Engineering User Interface

The VBI engineering user interface is another interface to the VBI. The engineering user interface shall use the same interface as the ICS, although it may often utilize more of the fine grained control attributes for system maintenance, alignment, fine-tuning, and monitoring.

ExperimentGUI

VBI

Mechanism Controller

(atst.ics.vbiBlue.mc)

Detector Controller (atst.ics.vbiBlue.dc)

Instrument Sequencer (atst.ics.vbiBlue)

Filter Wheel Motion Controller

(atst.ics.vbiBlue.mc.filter)

Focus Motion Controller

(atst.ics.vbiBlue.mc.focus)

Virtual Camera

Virtual Camera Controller

(atst.ics.vbiBlue.dc.vcc)

VBI Camera Filter Wheel Focus Stage Camera Mount Y

Stage

OCS

ICS

VBI Engineering

GUI

VBI Instrument Tabs

ICD 3.1.4 / 3.2

Thermal Controller

(atst.ics.vbiBlue.mc.thermal)

Thermal SensorsCamera Mount X

Stage

Camera X Stage Motion Controller

(atst.ics.vbiBlue.mc.x)

ICD 3.1.4 / 3.6

Camera Y Stage Motion Controller

(atst.ics.vbiBlue.mc.y)

Figure 1. VBI blue channel context diagram

Page 9: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 9 of 49

4.4. Lifecycle Commands

The VBI control system is implemented through the component model of the ATST Common Services Framework. The CSF imposes a number of lifecycle states on the VBI control system which it must follow during startup and shutdown. The general device state transition diagram is shown below.

Figure 2. System transition diagram

4.4.1. Load

When the VBI computer(s) is/are rebooted or restarted, it/they automatically begin(s) executing the CSF Container Manager. The manager finds and loads the appropriate VBI software components into the VBI container(s). When a component is loaded by the manager it enters the loaded state. In this state it is connected to the ATST services and can perform low level functions through those services such as set and get as well as logging, setting health and posting alarms. This is the lowest level state of a component; the component does not execute functional behavior nor allocate resources. Once all components are loaded by the ATST Container Manager, all further transitions between the lifecycles states are issued by the ICS to the top-level VBI controller.

4.4.2. Initialize

The VBI shall enter the initialized state as a result of an init command from the ICS. Should some action fail during the initialization, the VBI shall still enter the initialized state (the ATST Common Services Framework ensures this) but the VBI shall raise an alarm and set its health appropriately, depending on the severity of the failure. Moving to the initialized state may execute any warm-up or other startup activities, but shall not energize or physically move any mechanisms. Mechanism motion at initialization is considered a safety hazard and is prohibited.

4.4.3. Startup

The next command sent by the ICS should be startup. The ICS will issue this command to bring the VBI up to full functionality. During startup the VBI shall enable all servo systems and place all systems in their default, non-moving states. For the axial and lateral controllers, the mode shall be set to off, the servo systems shall be energized (but not moving), and status information shall be read and reported continuously.

Once the startup sequence has been completed, the VBI shall be in the running state. It is now ready to receive configurations from the ICS (or VBI engineering user interface). Whether those configurations shall be accepted or rejected by the VBI depends on the current state of the VBI and its hardware mechanisms. For example, if one or more of the actions that should have taken place during the initialization or startup phases had failed, it may not be safe to act upon certain configurations. If this is the case then the VBI can either reject the configuration when it is submitted or execute some of the actions that are requested and complete with an abort response rather than with a done response.

Loaded Initialized Running load init startup

shutdownuninit remove

Page 10: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 10 of 49

4.4.4. Shutdown and Uninit

The ICS issues the shutdown command when stopping the VBI operations. The purpose of the shutdown command is to forcibly place all subsystems into a non-running condition, abort all ongoing operations, and de-energize all powered systems.

Shutting down the VBI is the reverse process of starting it up. Any actions undertaken as part of the startup process shall be undone as part of the shutdown command and similarly, any actions undertaken as a result of init shall be undone when the uninit command is received.

4.4.5. Remove

Components are removed by the ATST Container Manager. They are removed either if the container itself is shut down, or if an administrative call is made to the container manager to remove a component. Any activities required by the ICS or VBI on receiving this lifecycle command are listed in the respective specifications and not here.

4.5. Functional Commands

The CSF provides a narrow interface for the functional commands that are applied to the VBI by the ICS. In general, a submit() is executed when an extended action is expected to occur, such as a movement of a mechanism. Conversely, a set() command is executed when only a value change is required, such as the default rate of motion.

4.5.1. get()

This command retrieves the current value (or metadata values) of an attribute. Any attribute defined in this ICD may be retrieved.

4.5.2. set()

This command changes the value (or metadata values) of an attribute. Any attribute defined in this ICD may be changed. The command is typically used to adjust the default values of attributes without affecting the current state of the component or ongoing actions. Note that unless otherwise noted in the attribute definition, using the set command to change an attribute value will not invoke an action in the controller. Therefore, attributes that are normally used as inputs to an action (i.e. submit as a configuration) will be updated, but produce no action in the controller.

4.5.3. submit()

This command executes an action on the component that modifies the state to match the input attributes. As opposed to set() where values are changed for future actions, this command initiates the action.

4.5.4. cancel()

This command aborts an ongoing action.

Page 11: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 11 of 49

4.5.5. pause()

This command pauses an ongoing action.

4.5.6. resume()

This command resumes a paused action.

4.6. Observing Modes

The VBI control system is always in one of several observing modes. The desired observing mode is specified as an attribute (.obsMode) of the configuration sent from the ICS to the VBI. The VBI is stateless and therefore it can be transitioned from one mode to any other mode.

In addition to the observing mode, configurations may contain one or more attributes. The attributes available and how they are used will vary depending on the observing mode. The following sections will discuss the VBI observing modes, their input parameters, and the functionality they drive.

4.6.1. Setup

The Setup observing mode is used to test VBI configurations on the actual system hardware and/or current observing conditions. It is also used to initialize (index/home) the motion stages of the VBI. If the configuration is valid the associated VBI control settings will be updated (.expMode, .expFollowFlag, .fieldSampleMode, .data:speckle:activeFlag, .data:selection:activeFlag, .data:selection:*, .dc.vcc:<vccAttrib>) and remain unchanged until another configuration or engineering update is processed. The Setup mode also allows the user to optionally command the VBI to send data to the DHS (.collectExpFlag) so that it can be evaluated. When this option is invoked, the observation sequence will be repeated indefinitely until the user cancels the operation.

4.6.2. Observe

The Observe observing mode is used to start the collection of science data. If the configuration is valid, the associated VBI control settings will be updated (.expMode, .expFollowFlag, .fieldSampleMode, .data:speckle:activeFlag, .data:selection:activeFlag, .data:selection:*, .dc.vcc:<vccAttrib>) and remain unchanged until another configuration or engineering update is processed. During execution, the VBI will adjust filter and focus mechanical components as well as camera settings (exposure time, frame acquisition mode, etc.) as needed before commanding the camera to take exposures.

If the camera sensor does not cover the entire field of view, it will be necessary to repeat exposures for different sub-fields. In this scenario, the field sample mode (.fieldSampleMode) will determine the sub-field sampling pattern.

This cycle of data collection will be repeated based on the user specified number of cycles (.numCycles). Upon completing the last data collection cycle, the VBI will stop and wait for additional commands unless the user specifies the data collection process to be automatically repeated (.continueFlag=true) until another configuration is received.

Page 12: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 12 of 49

4.6.3. Gain

This observing mode is used to obtain images that can be analyzed for flat fielding the VBI camera. It behaves the same way as the Observe mode but limits the settings that can be specified and tags the collected data as gain related. The settings that must be specified are the camera settings (.dc.vcc.<vccAttrib>).

4.6.4. Dark

This observing mode is used to obtain images that can be used for dark calibration of VBI data. It behaves the same way as the Observe mode but limits the settings that can be changed and tags the collected data as dark related. The settings that must be specified are the camera settings (.dc.vcc.<vccAttrib>).

4.6.5. PolCal

This mode is used during collection of polarimetry calibration data for instruments. The VBI does not take polarmetric data measurements and therefore does not require any polarimetry calibration activities. In addition, during the PolCal mode the PA&C may place polarization optics into the light path thus rendering the light not useful for VBI purposes. Therefore when the PolCal observing mode is received, the VBI will simply accept the configuration and perform no operation.

4.6.6. TelCal

This observing mode is used during collection of polarimetry calibration data for the telescope. The VBI does not take polarmetric data measurements and therefore does not play a role in the telescope calibration activities. In addition, during the TelCal mode the PA&C may place polarization optics into the light path thus rendering the light not useful for VBI purposes. Therefore when the TelCal observing mode is received, the VBI will simply accept the configuration and perform no operation.

4.6.7. WaveCal

The WaveCal observing mode is used to perform wavelength calibrations for the VBI. This mode will behave exactly the same as the Gain mode. Please refer to the Gain mode section for more details.

4.6.8. Focus

The Focus observing mode is used to support focus activities for the VBI. In this mode the configuration must specify the focus type (.focusType) to use and what target is currently placed in the light path at the PA&C lower GOS carousel (atst.tcs.pac.target.namedPos). If the configuration is valid, the VBI control system will execute a focus routine to determine the optimal focus position (.mc.focus.deployPos[]) for each wavelength based on the given focus type and target. For each wavelength, the focus routine repeats a process of collecting exposures, evaluating them, and making adjustments to focus position (.mc.focus.pos or .mc.focus.oPos) until the exposure evaluation output meets a specific criteria. All data captured during this process can be viewed in the quick look display but is not saved.

Page 13: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 13 of 49

4.6.9. Align

The Align observing mode is used to support alignment activities for the VBI. In this mode the configuration must specify the alignment type (.alignType) to use and what target is currently placed in the light path at the PA&C lower GOS carousel (atst.tcs.pac.target.namedPos). If the configuration is valid, the VBI control system will execute an alignment routine based on the given alignment type and target. The alignment routine collects exposures, evaluates them, and makes adjustments to the camera mount x and y stages until the exposure evaluation output meets a specific criteria. All data captured during this process can be viewed in the quick look display but is not saved.

4.6.10. Target

This observing mode serves as a catch-all for any other calibration or alignment needs of the VBI. This mode behaves the same as the Observe mode and accepts all the same configuration input parameters. In addition, this mode requires the configuration to specify the currently active PA&C lower GOS target (atst.tcs.pac.target.namedPos) which is then used to tag the collected data. If the specified PA&C lower GOS target is the Line Grid, the VBI will automatically calculate and update its pixel scale. All data captured during this process can be viewed in the quick look display and will be saved.

4.6.11. Special

This observing mode serves as a catch-all for any other observing scripts that need to be run but are not covered by the established observing modes. This mode requires the user to specify the name of the script to execute (.specialScriptName). Any attributes required by the special script that are not covered in this document must be validated by the script itself.

4.7. Named Positions

The VBI drive systems have several fixed positions that are given specific names. The location of these fixed positions may be changed through the ATST Property service by editing the value for each drive system. The named positions are used with the different modes (see section 4.6) for the top-level controller and each drive system controller. The named position is given in the .namedPos attribute.

The named position stow defines the location that the drive system shall use to stow a component when it is not being used. These positions may be changed for each axis through the ATST Property service by editing the value of the stowPos property for each drive system (.mc.filter.stowPos, .mc.x.stowPos, .mc.y.stowPos, .mc.focus.stowPos). The home named position defines the zero position for a stage. Requesting movement to this position will force an axis to search for a software limit, move a known number of index counts to the home position, and reset its known position to zero. The index named position defines the position of the next positive absolute index mark. Requesting movement to this position will force an axis to search for the next valid index mark and subsequently reset its known position.

Page 14: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 14 of 49

The limit<type> named position defines one of the four possible limit switch positions for each axis of the VBI, where <type> is one of Lo, LoLo, Hi, or HiHi. Moving to a limit switch named position requires an axis to travel until the requested limit switch is triggered. Moving to the electronic end-of- travel limits requires a hardware override by the operator. The following limit positions shall be defined for all axes:

limitLoLo – electronic lower end-of-travel limit switch limitLo – software lower limit limitHi – software upper limit limitHiHi – electronic upper end-of-travel switch

The named position center defines the location that the camera mount x and y drive systems shall use to move to the center of the field. This position may be changed for the camera mount x and y axes through the ATST Property service by editing the values of the centerPos property (.mc.x.centerPos, .mc.y.centerPos).

The deployPos[n] named position defines one of n possible deployed positions for a controller, where n is a one-based index into an array of values. These positions may be changed for each axis through the ATST Property service by editing the value for each drive system (.mc.filter.deploypPos[ ], .mc.x.deployPos[ ], .mc.y.deployPos[ ], .mc.focus.deployPos[ ]).

In addition, each deployPos[n] named position may be assigned an alias through the deployPosAlias[] property for that axis (.mc.filter.deploypPosAlias[ ], .mc.x.deployPosAlias[ ], .mc.y.deployPosAlias[ ], .mc.focus.deployPosAlias[ ]). This property is an n length array where each element is a string representing an alias name for the corresponding deployPos[n] named position.

The following named positions shall be defined for the VBI blue channel bandpass filter wheel (atst.ics.vbiBlue.mc.filter):

deployPos1—position of first bandpass filter deployPos2—position of second bandpass filter deployPos3—position of third bandpass filter deployPos4—position of fourth bandpass filter 393.4—position of the 393.4nm wavelength bandpass filter 430.5—position of the 430.5nm wavelength bandpass filter 450.4—position of the 450.4nm wavelength bandpass filter 486.1—position of the 486.1nm wavelength bandpass filter

The following named positions shall be defined for the VBI blue channel focus lens stage (atst.ics.vbiBlue.mc.focus):

deployPos1—focus position for use with the first bandpass filter deployPos2—focus position for use with the second bandpass filter deployPos3—focus position for use with the third bandpass filter deployPos4—focus position for use with the fourth bandpass filter 393.4 —focus position for use with the 393.4nm wavelength bandpass filter 430.5 —focus position for use with the 430.5nm wavelength bandpass filter 450.4 —focus position for use with the 450.4nm wavelength bandpass filter 486.1 —focus position for use with the 486.1nm wavelength bandpass filter

The following named positions shall be defined for the VBI blue channel camera mount x and y axes (atst.ics.vbiBlue.mc.x, atst.ics.vbiBlue.mc.y):

deployPos1—position corresponding to center of sub-field 1 deployPos2—position corresponding to center of sub-field 2

Page 15: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 15 of 49

… deployPosn—position corresponding to center of sub-field n

The following is an example where 9 sub-fields are required for camera sensor to cover the field. In this example the x and y named position center would be the same as deployPos5.

1 2 3 4 5 6 7 8 9

4.8. Attributes

This section defines the attributes that the ICS sends to the VBI to affect its actions. The attributes are summarized in the tables below and then described in more detail in the sub-sections that follow.

All configurations shall be sent only to the top-level VBI channel controllers, atst.ics.vbiBlue and atst.ics.vbiRed. It is the responsibility of the top-level controller to validate the configuration, perform any necessary processing, separate the individual configurations that go to its sub-controllers and submit them for execution.

The ICS submit command sends attributes to the VBI per the command model defined by the Software Concepts Definition (SPEC-0013) and implemented in the Common Services Framework. The command causes the VBI to read and evaluate the input attribute list and if valid, apply the attributes to modify its current state (if applicable). All VBI attributes, with the exception of tcsConfigured, have indefinite lifetimes and can span multiple configurations. They are updated only when they change in value. This is referred to as “update-on-change”.

There are seven basic types of attributes that may be sent to an instrument controller:

ICS global attributes. These are global attributes that contain information about the current experiment and are valid for all instruments participating in that experiment.

TCS global attributes. These are global attributes that contain TCS information related to the current experiment. These attributes are made available to all instruments in the current experiment.

Modulator attributes. These are global attributes that contain the information required to synchronize cameras with the polarization modulator in the PA&C. These attributes are made available to all instruments in the current experiment.

Instrument Sequencer attributes. These are attributes used by the IS for any processing needed at the top-level before sending parameters to the observing script.

Observation script attributes. These are parameters that are passed to the script executed by the IS for the current observing mode.

Detector Controller attributes. These are parameters passed to the DC for use in controlling any of the Virtual Cameras assigned to it.

Page 16: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 16 of 49

Mechanism Controller attributes. These are parameters passed to the MC for use in controlling any of the motion control or hardware control components assigned to it.

Any attributes which do not belong to one of these categories will be ignored by the VBI and a warning will be logged. A summary of the attributes that can be accepted by the VBI are shown in the table below.

4.8.1. ICS Global Attributes

Name Type Units Comment atst.ics .experimentId string N/A Identifier for the current experiment .observationId string N/A Identifier for the ongoing observation .obsMode string Setup | Observe |

PolCal | TelCal | WaveCal | Dark | Gain | Focus | Align | Target | Special

Type of observation to be performed.

.tcsConfigured boolean N/A TCS is “in position”

4.8.1.1. .experimentId

This ID uniquely identifies the experiment that is currently being performed. This attribute is implemented using “update on change”: it remains valid across multiple configurations until a new value is received from the ICS.

4.8.1.2. .observationId

The observation ID uniquely identifies the specific observation that is to be scheduled and run. It is used to track observations and their associated data through the system. This attribute is implemented using “update on change”: it remains valid across multiple configurations until a new value is received from the ICS.

4.8.1.3. .obsMode

This attribute represents the observing mode, which identifies the type of observation to be performed. Observing modes are defined in TN-0108, ICS Observing Modes, and are not discussed here. This attribute is implemented using “update on change”: it remains valid across multiple configurations until a new value is received from the ICS.

4.8.1.4. .tcsConfigured

The tcsConfigured attribute is true if TCS is in position and the telescope is ready for observing to begin. The attribute is only valid for configurations in which it is present and its value does not span multiple configurations. The presence of a true tcsConfigured flag indicates that the VBI should begin exposing as soon as it is ready. If the tcsConfigured flag is included with other attributes in the configuration, those attributes must be processed by the VBI before exposing commences.

Page 17: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 17 of 49

4.8.2. TCS Global Attributes

The following are the TCS attributes provided by the ICS that the VBI is interested in using:

Name Type Units Comment atst.tcs.pac .target.namedPos string choice 5 arc min clear target | 3 arc min circular target |

200 micron pinhole target | 10 micron pinhole target | dark shutter | air force target | dot grid target | 1 mm line grid target | star target | 3 arc min square occulter | 2 arc min square aperture | 1 arc min square aperture | 0.5 arc min square aperture

4.8.2.1. .target.namedPos

The target.namedPos attribute specifies the PA&C lower GOS carousel target that has been requested for deployment. This attribute will allow the VBI to configure its subsystems and drive behavior according to the requested target. Prior to receiving the .tcsConfigured attribute, the VBI can only treat this attribute as the requested configuration of the PA&C. Once the .tcsConfigured attribute is received and is true, then the VBI can be assured that the named target is deployed in the light path.

4.8.3. Modulator Global Attributes

The following are the Modulator attribute provided by the ICS that the VBI is interested in using:

Name Type Units Comment atst.ics.modulator .id string N/A Modulator identification string .t0 AtstDate N/A Modulation start time .rate float Hz Modulation rate .stateStart integer State number Modulation state at start time .numStates integer N/A Number of modulator states

4.8.3.1. .id

This attribute contains the identification string of the current PA&C modulator.

4.8.3.2. .t0

This attribute defines the modulation start time and contains the reference time for synchronization to the current PA&C modulator. The modulation start time is the time, in the past, when the PA&C modulator was at .stateStart. It is given as a string in AtstDate format, per the specification in Common Services Users Manual, SPEC-0022-1.

4.8.3.3. .rate

This attribute defines the rate at which the modulator located in the PA&C is changing modulation states. It is given in Hertz.

Comment [EMJ1]: You may want to state that the attributes listed here are only those TCS attributes of interest to the VBI. The entire list of TCS attributes that will be made available to the instruments will be datailed in the ICS/OCS ICD (they are still undecided at this point, and the current ICD contains examples of attributes that might be used).

Page 18: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 18 of 49

4.8.3.4. .stateStart

This attribute specifies the modulation start state which is the modulation state of the current PA&C modulator at .t0.

4.8.3.5. .numStates

This attribute defines the number of modulation states of the current PA&C modulator.

4.8.4. Instrument Sequencer Attributes

The top-level controller for each of the VBI channels (atst.ics.vbiBlue, atst.ics.vbiRed) is an Instrument Sequencer (IS). Configurations intended for a VBI channel should only be sent to its corresponding IS. All configuration attributes that are addressed to the IS are considered observing script parameters and will be routed as inputs to the observing script upon its execution (see section 4.8.5). However some attributes may require processing prior to execution of the observing script and this section will describe those in detail.

Name Modes Type Units Comment

atst.ics.vbiBlue .obsMode All string choice Observing mode .paramSets All string[] N/A Array of parameter set names to execute

and their order .specialScriptName Special string N/A Name of script to execute when in Special

obsMode

4.8.4.1. .obsMode

Data Type: String Units: N/A

Valid Values: Setup | PolCal | TelCal | WaveCal | Gain | Dark | Focus | Align | Observe | Special Default Value: N/A

This attribute is required and represents the observing mode of the VBI top-level controller and takes the same value as the ICS global attribute atst.ics.obsMode. The IS will use the value of this attribute, along with the experiment ID and observation ID to determine which observing script to load and execute.

4.8.4.2. .paramSets[ ]

Data Type: string[ ] Units: N/A

Valid Values: N/A Default Value: Default

The paramSets attribute is an array of strings representing the names of one or more parameter sets to execute and their order of execution. This attribute may be used in any observing mode to support executing a sequence of actions based on different input parameters (parameter sets).

Page 19: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 19 of 49

When paramSets is specified, all other attributes will be ignored by the IS except numCycles, continueFlag, and specialScriptName. The IS will automatically lookup the parameter sets by name from the database, validate the attributes based on the current obsMode, and load them into a memory map that can be accessed by the observing script. If any of the parameter sets are invalid, the entire configuration will be rejected.

4.8.4.3. .specialScriptName

Data Type: string Units: N/A

Valid Values: Must match valid script name in database Default Value: N/A

This attribute is used in the Special observing mode and is required. The value specifies the name of a script to be executed. The IS will use the value of this attribute to load and execute the script.

4.8.5. Observing Script Attributes

This section describes those attributes that the VBI Instrument Sequencer will pass to the script that is executed for the current observing mode. All configuration attributes addressed to the top-level VBI controller (atst.ics.vbiBlue) are considered inputs to the script executor. These attributes are summarized in the table below and then described in more detail in the following sections.

The ObsModes column lists the observing modes for which each attribute may be used. If an attribute can be used in any observing mode, the value will be ‘All’.

The ParamSet column indicates whether an attribute may be used as part of a named parameter set or not.

Name Obs Modes

Param Set?

Type Units Comment

atst.ics.vbiBlue .obsMode All N string N/A Observing mode .paramSets All N string[] N/A Array of parameter set names

to execute and their order .numCycles All N integer cycles Number of execution cycles to

perform .continueFlag All N boolean N/A Flag indicating if cycles

should be repeated once complete

.specialScriptName Special N string N/A Name of script to execute when in Special obsMode

.expMode Setup, Observe, Target, Special

Y string N/A Mode for setting exposure rate and time

.expFollowFlag Setup, Observe, Target,

Y boolean N/A Flag indicating whether exposure times will auto update following Sun position

Comment [EMJ2]: We may want to use IS attributes as a means of overriding any attributes of the same name in a parameter set.

Page 20: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 20 of 49

Special .fieldSampleMode Setup,

Observe, Target, Special

Y string N/A Field sampling pattern

.focusType Focus Y string N/A Image evaluation algorithm to use when focusing

.alignType Align Y string N/A Type of alignment routine to perform

.collectExpFlag Setup Y boolean N/A Flag indicating if exposures should be collected

.data:speckle:activeFlag Setup, Observe, Target, Special

Y boolean N/A Flag indicating if Speckle image reconstruction plug in should be used

.data:selection:activeFlag Setup, Observe, Target, Special

Y boolean N/A Flag indicating if Selection data plug in should be used

.data:selection:numSelect Setup, Observe, Target, Special

Y integer images Number of best images to select when using Selection data plug in

.data:selection:evalAlg Setup, Observe, Target, Special

Y string N/A Selection data plug in image evaluation algorithm

.data:selection:roi Setup, Observe, Target, Special

Y integer[] see below

Region of interest to evaluate

.data:selection:calibrateFlag Setup, Observe, Target, Special

Y boolean N/A Flag indicating if image calibration should be performed

.data:selection:histBinNum Setup, Observe, Target, Special

Y integer N/A Histogram bin number

.data:selection:deltaX Setup, Observe, Target, Special

Y integer pixels Selection data plug in delta X when evaluation algorithm is Modulous of Radiant

.data:selection:deltaY Setup, Observe, Target, Special

Y integer pixels Selection data plug in delta Y when evaluation algorithm is Modulous of Radiant

Page 21: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 21 of 49

4.8.5.1. .obsMode

Data Type: string Units: N/A

Valid Values: Setup | PolCal | TelCal | WaveCal | Gain | Dark | Focus | Align | Observe | Special Default Value: N/A

This attribute represents the observing mode of the VBI top-level controller and takes the same value as the ICS global attribute atst.ics.obsMode.

4.8.5.2. .paramSets[ ]

Data Type: string[ ] Units: N/A

Valid Values: N/A Default Value: Default

The paramSets attribute is an array of strings representing the names of one or more parameter sets to execute and their order of execution. This attribute may be used in any observing mode to support executing a sequence of actions based on different input parameters (parameter sets). When specified, all other attributes will be ignored except numCycles, continueFlag, and specialScriptName. The VBI will cycle through the parameter sets in order, using each as input parameters to perform the action associated with the current observing mode.

4.8.5.3. .numCycles

Data Type: integer Units: N/A

Valid Values: 1…231

Default Value: 1

This attribute specifies the number of times to cycle through the given sequence of parameter sets (.paramSets[]). This attribute may be used in any observing mode.

4.8.5.4. .continueFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

This attribute specifies what action the VBI control system should take once it has completed executing all cycles (.numCycles) of the parameter set sequence (.paramSets[]). If the value is true, the cycles will be repeated. If the value is false, execution will end, and the VBI will wait for the next configuration. This attribute may be used in any observing mode.

Comment [EMJ3]: We originally had a .repeat attribute as part of the standard instrument controller. Perhaps we should bring it back. It is an integer attribute to indicate the number of times the observation is to be repeated. If zero, they would be repeated until cancelled either by the operator or by the system.

Page 22: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 22 of 49

4.8.5.5. .specialScriptName

Data Type: string Units: N/A

Valid Values: Must match valid script name in database Default Value: N/A

This attribute is used in the Special observing mode and specifies the name of a script to be executed.

4.8.5.6. .expMode

Data Type: string Units: N/A

Valid Values: Fixed | AutoSet Default Value: AutoSet

The expMode attribute specifies the method that will be used to set the exposure time. It is used in the Setup, Observe, and Target observing modes.

Fixed – The camera exposure time is based on the value provided by the user. If this mode is chosen the user must provide a value for the camera exposure time.

AutoSet – The camera exposure time will be automatically set by the VBI control system. If used in the Setup mode, and the collect exposures flag (.collectExpFlag) is set to true, the camera exposure time will be determined by taking an image and performing a histogram based analysis (see [3] for details). If used in the Observe or Target mode, the camera exposure time will be calculated based on the specified filter’s (.mc.activeFilter) standard zenith exposure time and the current zenith distance angle of the Sun (see [3] for details).

4.8.5.7. .expFollowFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

The expFollowFlag attributes specifies whether the VBI control system will automatically adjust the camera exposure time throughout the observation to compensate for changes in the atmospheric thickness as the Sun moves across the sky. If the value is set to true, automatic updates to exposure time will occur every 30 minutes after the currently executing cycle completes. This attribute is used in the Setup, Observe, and Target observing modes.

4.8.5.8. .fieldSampleMode

Data Type: string Units: N/A

Valid Values: Center | HorizLR | Star | Spiral

Page 23: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 23 of 49

Default Value: Center

The fieldSampleMode attribute specifies the sub-field sampling pattern to follow. The VBI control system will repeat execution of the specified observing mode and parameter set for each sub-field starting with sub-field 1 and continuing in the specified pattern until the last sub-field is reached. The number of sub-fields and exact position of each is known by the VBI control system and is based on the field of view, camera detector size, and pixel scale (see [3] for details). If the camera detector size covers the entire field of view (i.e. no sub-fields exist) this attribute will be automatically set to Center.

Center – Only the center of the field will be imaged:

1

HorizLR – This pattern moves from top to bottom covering each row of sub-fields from left to right (9 sub-field example shown):

1 2 3

4 5 6

7 8 9

Star – Star pattern as shown below (25 sub-field example shown):

22 15 10 16 23

14 6 2 7 17

13 5 1 3 11

21 9 4 8 18

25 20 12 19 24

Spiral – Spiral pattern as shown below (25 sub-field example shown):

17 16 15 14 13

18 5 4 3 12

19 6 1 2 11

20 7 8 9 10

21 22 23 24 25

Comment [EMJ4]: It is not really my concern, as you all know the instrument better than I, but this requires rastering from 3 to4 and 6 to 7. If efficiency is a concern, wouldn’t a serpentine approach be better? Flip the middle row to get the serpentine version.

Page 24: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 24 of 49

4.8.5.9. .focusType

Data Type: string Units: N/A

Valid Values: Manual | Contrast | MeanGradient Default Value: Manual

This attribute is used in the Focus observing mode and specifies the type of focusing algorithm that will be used.

Manual – This focus type is used when the user wishes to perform manual focus. The camera will be placed into continuous mode, images will be visible via the quick look display, but no data will be saved. The engineering GUI will be used to select the bandpass filter wavelength (.mc.filter.namedPos) and adjust the focus position (.mc.focus.pos or .mc.focus.oPos). When the desired focus is reached, the GUI will allow the user to save the focus position (.mc.focus.deployPos[]) for that wavelength.

Contrast – This focus type will automatically cycle through all wavelengths collecting engineering images, analyzing them with a contrast algorithm, and adjusting focus position (.mc.focus.pos and .mc.focus.oPos) until the desired focus is obtained. The focus position for each bandpass wavelength (.mc.focus.deployPos[]) will be updated with the results.

MeanGradient - This focus type will automatically cycle through all wavelengths collecting engineering images, analyzing them with a mean gradient algorithm, and adjusting focus position (.mc.focus.pos and .mc.focus.oPos) until the desired focus is obtained. The focus position for each bandpass wavelength (.mc.focus.deployPos[]) will be updated with the results.

NOTE: The automated focus routines assume that the existing focus reveals solar structures and that only a fine level of focusing is needed. If this is not the case, then the user must first perform coarse focusing using the Manual focus type. Failure to do so will result in loss of guarantee to meet the focusing routine performance requirements.

4.8.5.10. .alignType

Data Type: string Units: N/A

Valid Values: Manual | Automatic Default Value: Manual

This attribute is in the Align observing mode and specifies the type of alignment algorithm that will be used.

Manual – This alignment type is used when the user wishes to perform manual alignment. The camera will be placed into continuous mode, images will be visible via the quick look display, but no data will be saved. The engineering GUI will be used to adjust the mount x and y positions (.mc.mount.posX, .mc.mount.oPosX, .mc.mount.posY, .mc.mount.oPosY ). When the desired alignment is reached, the GUI will allow the user to save the mount x and y elements (.mc.mount.centerPosX and .mc.mount.centerPosY) of the camera mount named position centerPos.

Automatic – This alignment type will instruct the VBI control system to perform an automated alignment routine. This routine will take engineering images, analyze them to determine where the pinhole is located in the field of view, and adjust the mount x-y positions to center the pinhole. The results of this routine will be saved

Page 25: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 25 of 49

as the new x and y elements (.mc.mount.centerPosX and .mc.mount.centerPosY) of the camera mount named position centerPos.

NOTE: The automated alignment routines assume the lower GOS pinhole target has been deployed and that the pinhole is located somewhere in the camera sensor’s field of view. If the pinhole target is not in the camera sensor’s field of view, the user must first perform coarse alignment using the Manual alignment type. Failure to do so will result in loss of guarantee to meet the alignment routine performance requirements.

4.8.5.11. .collectExpFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

This attribute is used in the Setup observing mode to indicate whether the VBI should send image data to the DHS or not. If the value is true, the VBI will configure the camera and send image data to the DHS where it may be viewed via the quick look, however no data will be saved. If the value is false, the VBI will configure the camera, but no image data will be sent to the DHS.

4.8.5.12. data:speckle:activeFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

This attribute specifies whether the Speckle image reconstruction data plug-in will be activated for this observation. This attribute may be used in the Setup, Observe, and Target observing modes.

4.8.5.13. data:selection:activeFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

This attribute specifies whether the Frame Selection data plug-in will be activated for this observation. This attribute may be used in the Setup, Observe, Target, and Special observing modes.

4.8.5.14. data:selection:numSelect

Data Type: integer Units: frames

Valid Values: 1 ≤ data:selection:numSelect ≤ .dc.vcc.numFramesPerSet Default Value: Number of frames specified in camera configuration (.dc.vcc.numFramesPerSet)

Page 26: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 26 of 49

This attribute specifies the number of best frames to select when the Frame Selection data plug-in is active. Note that failure to specify a value, or specifying a value equal to the number of frame in the frame set will effectively inactivate the plug-in for this instrument configuration. This attribute may be used in the Setup, Observe, Target, and Special observing modes

4.8.5.15. data:selection:evalAlg

Data Type: string Units: N/A

Valid Values: Contrast | MeanGradient Default Value: Contrast

This attribute specifies the image quality metric algorithm that will be used when the Frame Selection data plug-in is active. This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true). For more information about each algorithm please refer to [3].

4.8.5.16. data:selection:roi[]

Data Type: integer[] Units: pixels

Valid Values:

0 ≤ originx ≤ Un-binned Raw Frame Sizex - 1 0 ≤ originy ≤ Un-binned Raw Frame Sizey - 1 originx < sizex ≤ Max ROI sizex allowable for plug-in performance originy < sizey ≤ Max ROI sizey allowable for plug-in performance

Default Value: [0, 0, Max ROI sizex allowable for plug-in performance, Max ROI sizey allowable for plug-in performance]

This attribute specifies the region of interest that will be evaluated by the image quality metric algorithm when the Frame Selection data plug-in is active. The format is: [originx, originy, sizex, sizey]. The roi (region of interest) size is limited by a pre-determined maximum based on performance limitations of the frame selection plug-in (see [3] for details). This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true).

4.8.5.17. data:selection:calibrateFlag

Data Type: boolean Units: N/A

Valid Values: true | false Default Value: false

This attribute specifies whether the Frame Selection data plug-in will perform image calibration prior to evaluating the image quality metric. If the attribute is set to true, the raw image will be calibrated using binary mask, dark, and gain calibration data obtained from the calibration data store. The calibrated image will then be used in the image quality metric evaluation. If the attribute is set to false, the un-calibrated raw image will be used in the image quality metric evaluation. This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true).

Page 27: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 27 of 49

4.8.5.18. data:selection:histNumBins

Data Type: integer Units: bins

Valid Values: 1 ≤ histNumBins ≤ max number of histogram bins allowable for plug-in performance Default Value: ?

This attribute specifies the number of histogram bins the Frame Selection data plug-in will use during image quality metric analysis. The maximum number of histogram bins is a pre-determined value based on performance limitations and is stored in the property database. This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true).

4.8.5.19. data:selection:deltaX

Data Type: integer Units: pixels

Valid Values: 1 ≤ deltaX ≤ Un-binned Raw Frame Sizex – (2*max ROI sizex) Default Value: 1

This attribute specifies the delta X value used in the mean of absolute gradient image quality metric of the Frame Selection data processing plug-in. This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true) and the evaluation algorithm is set to mean of absolute gradient (data:selection:evalAlg=MeanGradient). For more information about the mean of absolute gradient image quality metric and the delta X parameter please refer to [3].

4.8.5.20. data:selection:deltaY

Data Type: integer Units: ?

Valid Values: 1 ≤ deltaY ≤ Un-binned Raw Frame Sizey – (2*max ROI sizey) Default Value: 1

This attribute specifies the delta Y value used in the mean of absolute gradient image quality metric of the Frame Selection data processing plug-in. This attribute may be used in the Setup, Observe, Target, and Special observing modes when the Frame Selection data plug-in is active (data:selection:activeFlag=true) and the evaluation algorithm is set to mean of absolute gradient (data:selection:evalAlg=MeanGradient). For more information about the mean of absolute gradient image quality metric and the delta Y parameter please refer to [3].

4.8.6. Mechanism Controller Attributes

This section describes those attributes that the ICS will send to the VBI mechanism controller (atst.ics.vbiBlue.mc). The mechanism controller is responsible for managing worker lifecycle states and

Comment [EMJ5]: Meaning? I don’t think you mean mean as in average.

Comment [EMJ6]: Ditto.

Page 28: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 28 of 49

managing worker actions for VBI sub-systems related to control of mechanical components. In addition, it provides an abstract interface that allows the caller to provide high level settings that are then translated by the mechanism controller to many sub-system actions. For example, when given the desired active bandpass filter (.activeFilter ) the mechanism controller will move the demand filter into the light path and adjust the camera focus accordingly.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the range field.

Name Modes Param Set?

Type Units Comment

atst.ics.vbiBlue.mc .activeFilter All Y string N/A Demand bandpass filter to select and

set focus. .activeSubField All Y String N/A Demand subfield to center the

camera mount x an y axes on

4.8.6.1. .activeFilter

Data Type: string Units: N/A

Valid Values: deployPos[n] | 393.4 | 430.5 | 450.4 | 486.1 Default Value: N/A

The .activeFilter attribute is a named position that provides an abstract interface for configuring the positions of the bandpass filter wheel and camera focus stages. When the .activeFilter attribute is specified, the mechanism controller will automatically determine which bandpass filter is needed and configure the filter wheel to place it in the light path. In addition, it will configure the camera focus position to the correct value for the selected filter.

4.8.6.2. .activeSubField

Data Type: String Units: N/A

Valid Values: deployPos[n] | center Default Value: N/A

The .activeSubField attribute is a named position that provides an abstract interface for configuring the positions of the camera mount x and y stages. When the .activeSubField attribute is specified, the mechanism controller will automatically configure the camera mount x and y stages with the appropriate named position (.x.namedPos, .y.namedPos).

4.8.7. Filter Wheel Controller Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve maintaining the bandpass filter selector wheel (atst.ics.vbiBlue.mc.filter). The VBI filter wheel motion controller is

Page 29: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 29 of 49

responsible for operating a rotary motor driven wheel for selection of a bandpass filter and other associated mechanisms (limit switches, faults, etc).

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI Assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the range field.

Name Modes Type Units Comment atst.ics.vbiBlue.mc.filter .mode All string N/A Mode of filter wheel controller .namedPos active string N/A Named demand position .pos active float degs Demand position .oPos active float degs Demand offset move from current position .jogSpeed active float degs/s Demand jog speed to next demand position .stowPos Any float degs Stow position .deployPos Any float[] degs Filter wheel deployed positions

4.8.7.1. .mode

Data Type: string Units: N/A

Valid Values: off | active Default Value: off

The .mode attribute specifies the demand operating mode for the VBI bandpass filter wheel controller.

off – In this mode, the controller will power off all motor drives and perform any other actions necessary to be considered parked. This mode will be automatically set when the ICS sends the startup command.

active – In this mode the filter wheel controller will power on all motor drives and perform any other actions necessary to be under active servo loop control and holding position. In this mode the controller may be commanded to perform moves to a demand position specified by the attributes .namedPos, .pos, and .oPos.

4.8.7.2. .namedPos

Data Type: string Units: N/A

Valid Values: deployPos[n] | 393.4 | 430.5 | 450.4 | 486.1 | home | stow | limit<type> Default Value: N/A

The .namedPos attribute is the demand filter wheel position as a named position (see section 4.7 for a description of defined named positions). This attribute is used in the active mode.

Comment [EMJ7]: You only need to list attributes in this document that may be passed to the VBI from the ICS (or retrieved from a aparameter set). You are free to expose as much capability as you like that can be accessed from the instrument GUI, and those attributes do not need to be listed here.

Page 30: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 30 of 49

4.8.7.3. .pos

Data Type: float Units: degrees

Valid Values: 0 ≤ pos < 360 Default Value: N/A

The .pos attribute is the demand angle offset in degrees from the home position for the filter wheel. This attribute may be used in the active mode as a substitute for .namedPos when a finer level of position control is required.

4.8.7.4. .oPos

Data Type: float Units: degrees

Valid Values: 0 ≤ oPos < 360 Default Value: N/A

The .oPos attribute is an offset value in degrees from the current position of the filter wheel. This attribute may be used in the active mode as a substitute for .namedPos when fine level of offset position control is required.

4.8.7.5. .jogSpeed

Data Type: float Units: degrees per second

Valid Values: 0 < jogSpeed ≤ 1800 Default Value: 1440 (360 degrees per 0.25s)

The .jogSpeed attribute is a demand rotational speed in degrees per second. When given, it will override the default jogSpeed value for the move specified in the same configuration (i.e. via .namedPos, .pos, or .oPos). It is NOT an “update on change” attribute, and will therefore reset to the default value once the move is complete. This attribute may be used in the active mode

4.8.7.6. .stowPos

Data Type: float Units: degrees

Valid Values: 0 ≤ stowPos < 360 Default Value: N/A

This is the stow position to which the filter wheel will move when sent to the stowPos named position. This attribute may be used in the any mode.

4.8.7.7. .deployPos

Data Type: float

Comment [EMJ8]: Because the motion controller designs are not complete, we will need to be flexible on how this is accomplished. You may have to implement this manually in the MC.

Page 31: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 31 of 49

Units: degrees Valid Values: 0 ≤ deployPos < 360

Default Value: N/A

The .deployPos attribute is the array of assigned positions to which the filter wheel may move when sent to the deployPos[n] named position. See section 4.7 for more information about named positions. This attribute may be set in any mode.

4.8.8. Focus Controller Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve maintaining the camera focus stage (atst.ics.vbiBlue.mc.focus). The VBI camera focus controller is responsible for operating a linear stage and other associated mechanisms (limit switches, faults, etc).

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the range field.

Name Modes Type Units Comment atst.ics.vbiBlue.mc.focus .mode All string N/A Mode of focus stage controller .namedPos active string N/A Named demand position .pos active float mm Demand position .oPos active float mm Demand offset move from current position .stowPos All float mm Stow position .deployPos All float[] mm Filter wheel deployed positions

4.8.8.1. .mode

Data Type: string Units: N/A

Valid Values: off | active Default Value: N/A

The .mode attribute specifies the demand operating mode for the VBI focus stage controller.

off – In this mode, the controller will power off all motor drives and perform any other actions necessary to be considered parked. This mode will be automatically set when the ICS sends the startup command.

active – In this mode, the controller will power on all motor drives and perform any other actions necessary to be under active servo loop control and holding position. In this mode, the controller may be commanded to perform moves to a demand position specified by the attributes .namedPos, .pos, and .oPos.

Page 32: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 32 of 49

4.8.8.2. .namedPos

Data Type: string Units: N/A

Valid Values: deployPos[n] | 393.4 | 430.5 | 450.4 | 486.1 | home | index | stow | limit<type> Default Value: N/A

The .namedPos attribute is the demand focus position as a named position (see section 4.7 for a description of defined named positions).

4.8.8.3. .pos

Data Type: float Units: millimeters

Valid Values: 0 ≤ pos ≤ 20 Default Value: N/A

The .pos attribute is the demand position in millimeters for the focus stage. This attribute may be used as a substitute for .namedPos when a finer level of position control is required.

4.8.8.4. .oPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ oPos ≤ 20 Default Value: N/A

The .oPos attribute is an offset value in millimeters from the current position of the focus stage. This attribute may be used as a substitute for .namePos when fine level of offset position control is required.

4.8.8.5. .stowPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ stowPos ≤ 20 Default Value: N/A

This is the stow position to which the focus stage will move when sent to the stowPos named position. When given, this attribute will only apply to the next demanded move and will not affect the current position of the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the stow position will be updated with the new value before the demand named position is evaluated. This attribute may be used in the any mode. See section 4.7 for more information about named positions.

4.8.8.6. .deployPos

Page 33: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 33 of 49

Data Type: float Units: millimeters

Valid Values: 0 ≤ deployPos ≤ 20 Default Value: N/A

The .deployPos attribute is the array of assigned positions to which the focus stage may move when sent to the deployPos[n] named position. See section 4.7 for more information about named positions. When given, this attribute will only apply to the next demanded move and will not affect the current position of the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the deployed positions will be updated with the new values before the demand named position is evaluated. This attribute may be set in any mode.

4.8.9. Camera Mount X Stage Motion Controller Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve maintaining the VBI camera mount x stage (atst.ics.vbiBlue.mc.x). The camera mount x stage motion controller is responsible for operating horizontal positioning of the camera and monitoring associated mechanisms (limit switches, faults, etc).

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the ?range field.

Name Modes Type Units Range Comment atst.ics.vbiBlue.mc.x .mode All string choice off | active Mode of camera mount x controller .namedPos active string choice see below Named demand position .pos active float mm ?range Demand x axis position .oPos active float mm ?range Demand x axis offset value .stowPos All All float mm Stow position .deployPos All All float[] mm Deployed positions for x axis

4.8.9.1. .mode

Data Type: string Units: N/A

Valid Values: off | active Default Value: N/A

The .mode attribute specifies the demand operating mode for the VBI mount x stage controller.

Page 34: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 34 of 49

off – In this mode the controller will power off all motor drives and perform any other actions necessary to be considered parked. This mode will be automatically set when the ICS sends the startup command.

active – In this mode the controller will power on all motor drives and perform any other actions necessary to be under active servo loop control and holding position. In this mode the controller may be commanded to perform moves to a demand position specified by the attributes .namedPos, .pos, .oPos.

4.8.9.2. .namedPos

Data Type: string Units: N/A

Valid Values: deployPos[n] | center | home | index | stow | limit<type> Default Value: N/A

The .namedPos attribute is the demand mount x position as a named position (see section 4.7 for a description of defined named positions). This attribute is used in the active mode.

4.8.9.3. .pos

Data Type: float Units: millimeters

Valid Values: 0 ≤ pos ≤ 70 Default Value: N/A

The .pos attribute is the demand mount x axis position is millimeters. This attribute may be used in the active mode as a substitute for .namedPos when a fine level of absolute position control is required.

4.8.9.4. .oPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ oPos ≤ 70 Default Value: N/A

The .oPos attribute is the offset value for shifting the mount x axis position in millimeters. This attribute may be used in the active mode as a substitute for .namedPos when a fine level of offset position control is required.

4.8.9.5. .stowPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ stowPos ≤ 70 Default Value: N/A

This is the stow position to which the camera mount x stage will move when sent to the stowPos named position. When given, this attribute will only apply to the next demanded move and will not affect the current position of

Page 35: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 35 of 49

the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the stow position will be updated with the new value before the demand named position is evaluated. This attribute may be used in the any mode. See section 4.7 for more information about named positions.

4.8.9.6. .deployPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ deployPos ≤ 70 Default Value: N/A

The .deployPos attribute is the array of assigned positions to which the camera mount x stage may move when sent to the deployPos[n] named position. See section 4.7 for more information about named positions. When given, this attribute will only apply to the next demanded move and will not affect the current position of the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the deployed positions will be updated with the new values before the demand named position is evaluated. This attribute may be set in any mode.

4.8.10. Camera Mount Y Stage Motion Controller Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve maintaining the VBI camera mount x stage (atst.ics.vbiBlue.mc.y). The camera mount y stage motion controller is responsible for operating vertical positioning of the camera and monitoring associated mechanisms (limit switches, faults, etc).

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the ?range field.

Name Modes Type Units Range Comment atst.ics.vbiBlue.mc.y .mode All string choice off | active Mode of camera mount y controller .namedPos active string choice see below Named demand position .pos active float mm ?range Demand y axis position .oPos active float mm ?range Demand y axis offset value .stowPos All All float mm Stow position .deployPos All All float[] mm Deployed positions for y axis

4.8.10.1. .mode

Page 36: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 36 of 49

Data Type: string Units: N/A

Valid Values: off | active Default Value: N/A

The .mode attribute specifies the demand operating mode for the VBI mount y stage controller.

off – In this mode the controller will power off all motor drives and perform any other actions necessary to be considered parked. This mode will be automatically set when the ICS sends the startup command.

active – In this mode the controller will power on all motor drives and perform any other actions necessary to be under active servo loop control and holding position. In this mode the controller may be commanded to perform moves to a demand position specified by the attributes .namedPos, .pos, .oPos.

4.8.10.2. .namedPos

Data Type: string Units: N/A

Valid Values: deployPos[n] | center | home | index | stow | limit<type> Default Value: N/A

The .namedPos attribute is the demand mount y position as a named position (see section 4.7 for a description of defined named positions). This attribute is used in the active mode.

4.8.10.3. .pos

Data Type: float Units: millimeters

Valid Values: 0 ≤ pos ≤ 70 Default Value: N/A

The .pos attribute is the demand mount y axis position is millimeters. This attribute may be used in the active mode as a substitute for .namedPos when a fine level of absolute position control is required.

4.8.10.4. .oPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ oPos ≤ 70 Default Value: N/A

The .oPos attribute is the offset value for shifting the mount y axis position in millimeters. This attribute may be used in the active mode as a substitute for .namedPos when a fine level of offset position control is required.

4.8.10.5. .stowPos

Page 37: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 37 of 49

Data Type: float Units: millimeters

Valid Values: 0 ≤ stowPos ≤ 70 Default Value: N/A

This is the stow position to which the camera mount y stage will move when sent to the stowPos named position. When given, this attribute will only apply to the next demanded move and will not affect the current position of the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the stow position will be updated with the new value before the demand named position is evaluated. This attribute may be used in the any mode. See section 4.7 for more information about named positions.

4.8.10.6. .deployPos

Data Type: float Units: millimeters

Valid Values: 0 ≤ deployPos ≤ 70 Default Value: N/A

The .deployPos attribute is the array of assigned positions to which the camera mount y stage may move when sent to the deployPos[n] named position. See section 4.7 for more information about named positions. When given, this attribute will only apply to the next demanded move and will not affect the current position of the focus stage. If this attribute is given as part of a configuration that also includes a demand named position (.namedPos), the deployed positions will be updated with the new values before the demand named position is evaluated. This attribute may be set in any mode.

4.8.11. Detector Controller Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve maintaining the VBI detector controller (atst.ics.vbiBlue.dc). The detector controller is responsible for operating the camera(s) used by the VBI to collect image data.

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the ?range field.

Name Type Units Range Comment atst.ics.vbiBlue.dc There are no attributes defined for the detector controller. atst.ics.vbiBlue.dc.vcc The DC will pass through camera configurations addressed directly to the VC. The available attributes

Page 38: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 38 of 49

can be found in the ICD 3.1.4-3.6 ICS DC to Camera Systems [7].

4.8.12. VBI Thermal Attributes

This section describes those attributes that the ICS will send to the top-level controller that involve the thermal controller (atst.ics.vbiBlue.mc.thermal). This controller operates the VBI assembly thermal control system and associated mechanisms.

The final design implementation may contain additional attributes that control the configurable parameters of the implementation. Elements such as control loop gains, switches, and other tunable parameters shall be added to the interface during final design. These additional attributes shall not affect the interface between the ICS and VBI assembly, but should reflect added capabilities for the engineering user interface and the engineering and maintenance support functions.

The attributes that can be set on this controller are given below. Changes to the allowable ranges are made by accessing the associated attribute metadata through the ?range field. Name Modes Type Units Comment atst.ics.vbiBlue.mc.thermal .mode All string N/A Select the cooling mode .targetTemp active float degrees

Celsius Demand target temperature to maintain

.targetTempHiTol active float degrees Celsius

Tolerance allowed above the target temp being maintained

.targetTempLoTol active float degrees Celsius

Tolerance allowed below the target temp being maintained

.targetTempEvent active string N/A Name of event containing the attribute representing the target temperature to be maintained

.targetTempAttrib active string N/A Name of attribute in the event representing the target temperature to be maintained

.filter:pctCoolingFlow on float percentage Demand percentage of available cooling flow for filter motor

.x:pctCoolingFlow on float percentage Demand percentage of available cooling flow for camera mount x stage

.y:pctCoolingFlow on float percentage Demand percentage of available cooling flow for camera mount y stage

.focus:pctCoolingFlow on float percentage Demand percentage of available cooling flow for focus stage

Page 39: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 39 of 49

.camera:pctCoolingFlow on float percentage Demand percentage of available cooling flow for camera

4.8.12.1. .mode

Data Type: string Units: N/A

Valid Values: off | on | active Default Value: active

This attribute selects the mode of thermal control for the VBI. Choices are: off—the thermal control system not maintaining the demand target temperature; on—the thermal control system is running at a fixed rate of heat transfer; active—the thermal control system is maintaining the temperature of a device relative to the demand target

temperature.

4.8.12.2. .targetTemp

Data Type: float Units: Degrees Celsius

Valid Values: min ≤ targetTemp ≤ max Default Value: null

This attribute provides the demand target temperature in degrees Celsius to maintain for all temperature controlled components when in the active mode. This attribute has precedence over an event being used to obtain the target temperature (.targetTempEvent, .targetTempAttrib). It may be used in the active mode.

4.8.12.3. .targetTempHiTol

Data Type: float Units: Degrees Celsius

Valid Values: 0 ≤ activeTempHiTol ≤ 5 Default Value: 1.5

This attribute provides the degrees Celsius above the target temperature after which any temperature controlled component in the VBI system will be considered out of tolerance. It can be set in any mode but is used only in the active mode.

4.8.12.4. .targetTempLoTol

Data Type: float Units: Degrees Celsius

Valid Values: 0 ≤ activeTempLoTol ≤ 5 Default Value: 3

Page 40: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 40 of 49

This attribute provides the degrees Celsius below the target temperature after which any temperature controlled component in the VBI system will be considered out of tolerance. It can be set in any mode but is used only in the active mode.

4.8.12.5. .targetTempEvent

Data Type: string Units: N/A

Valid Values: Any valid event Default Value: atst.fcs.coude.thermal.cStatus

This attribute provides the name of an event the control system will subscribe to for obtaining the target temperature to maintain in active mode. It is used in conjunction with the .targetTempAttrib. It may be used in the active mode.

4.8.12.6. .targetTempAttrib

Data Type: string Units: N/A

Valid Values: Any valid attribute in given .targetTempEvent Default Value: ambTemp

This attribute provides the name of the attribute in the event specified by .targetTempEvent that represents the demand target temperature. It may be used in the active mode.

4.8.12.7. .filter:pctCoolingFlow

Data Type: float Units: percentage

Valid Values: 0 ≤ .filter:pctCoolingFlow ≤ 100 Default Value: TBD

This attribute provides the demand percentage of maximum cooling flow that will be applied to the filter motor cooling component. It may be used in the on mode.

4.8.12.8. .x:pctCoolingFlow

Data Type: float Units: percentage

Valid Values: 0 ≤ .x:pctCoolingFlow ≤ 100 Default Value: TBD

This attribute provides the demand percentage of maximum cooling flow that will be applied to the x camera stage motor cooling component. It may be used in the on mode.

Page 41: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 41 of 49

4.8.12.9. .y:pctCoolingFlow

Data Type: float Units: percentage

Valid Values: 0 ≤ .y:pctCoolingFlow ≤ 100 Default Value: TBD

This attribute provides the demand percentage of maximum cooling flow that will be applied to the y camera stage motor cooling component. It may be used in the on mode.

4.8.12.10. .focus:pctCoolingFlow

Data Type: float Units: percentage

Valid Values: 0 ≤ .focus:pctCoolingFlow ≤ 100 Default Value: TBD

This attribute provides the demand percentage of maximum cooling flow that will be applied to the focus motor cooling component. It may be used in the on mode.

4.8.12.11. .camera:pctCoolingFlow

Data Type: float Units: percentage

Valid Values: 0 ≤ .camera:pctCoolingFlow ≤ 100 Default Value: TBD

This attribute provides the demand percentage of maximum cooling flow that will be applied to the camera cooling component. It may be used in the on mode.

4.9. Events generated by the VBI

The following events are generated by the VBI, usually within the controller specified in the name. These events may be subscribed to by the ICS, the VBI engineering user interface, the ATST archiver, or any other system that is interested in the information. Currently, these events names, attributes, ranges, or units may not be modified by the VBI without the approval of the ICS, and vice versa. Uses by systems other than the ICS shall not be controlled by this interface control document.

4.9.1. VBI Blue Channel

Name Rate Comment atst.ics.vbiBlue.cStatus Change Current status of VBI atst.ics.vbiBlue.groupStart Change Start of frame set atst.ics.vbiBlue.groupStop Change End of frame set

Comment [EMJ9]: Strictly speaking, most of these events do not need to be listed here, but should be part of the VBI design document. You only need to list those events that the VBI publishes which are of interest to the ICS, as the ICD only pertains to the information exchanged between the two systems.. The only one I see is the status event. I notice that most of the status events are called ‘cStatus’. My design currently has the instrument status event called ‘status’, but I am certainly willing to change that id cStatus is the norm.

Page 42: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 42 of 49

atst.ics.vbiBlue.mc.cStatus 1.0 Hz Current mechanism controller status atst.ics.vbiBlue.mc.filter.cStatus 1.0 Hz Current filter wheel motion status atst.ics.vbiBlue.mc.filter.fault Change Current fault status of filter wheel atst.ics.vbiBlue.mc.filter.power Change Current power status of filter wheel motion controller atst.ics.vbiBlue.mc.focus.cStatus 1.0 Hz Current camera focus motion status atst.ics.vbiBlue.focus.fault Change Curretn fault status of focus stage atst.ics.vbiBlue.focus.power Change Current power status of focus motion controller atst.ics.vbiBlue.mc.mount.cStatus 1.0 Hz Current camera mount x-y motion status atst.ics.vbiBlue.mc.mount.fault Change Current fault status of mount X and Y stages atst.ics.vbiBlue.mc.mount.power Change Current power status of mount motion controller atst.ics.vbiBlue.mc.thermal.cStatus 1.0 Hz Current thermal system status atst.ics.vbiBlue.dc.cStatus 1.0 Hz Current detector controller status atst.ics.vbiBlue.data:speckle.cStatus 1.0 Hz Current status of VBI Speckle data plug-in atst.ics.vbiBlue.data:selection.cStatus 1.0Hz Current status of VBI frame selection data plug-in atst.ics.vbiBlue.data:gain.cStatus 1.0Hz Current status of VBI gain data plug-in atst.ics.vbiBlue.data:dark.cStatus 1.0Hz Curretn status of VBI dark data plug-in

Table 1 Events generated by the VBI Blue Channel

4.9.1.1. atst.ics.vbiBlue.cStatus

Attributes: inPosition(boolean), experimentId(string), observationId(string), obsMode(string), percentComplete(float), participantType(string), IAConnected(boolean)

Rate: 1 Hz.

This event reports the general status of the VBI. The inPosition attribute indicates whether the VBI sub-systems are within defined tolerances or not. The participantType attribute indicates whether the instrument is participating as a normal instrument or as a parasitic. The IAConnected attribute indicates whether the VBI Instrument Adapter has connected to the VBI or not.

4.9.1.2. atst.ics.vbiBlue.groupStart

This event signals the start of an observation group (frame set).

4.9.1.3. atst.ics.vbiBlue.groupStop

This event signals the end of an observation group (frame set).

4.9.1.4. atst.ics.vbiBlue.mc.cStatus

Attributes: status(string), percentComplete(float), cActiveFilter(string), cActiveSubFiled(string)

Rate: 1 Hz

This event reports the general status of the MC, the percent complete for the current move, the current active bandpass filter wavelength, and the current active camera mount sub-field.

Page 43: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 43 of 49

4.9.1.5. atst.ics.vbiBlue.mc.filter.cStatus

Attributes: cPos(float), cVel(float), cTorque(float), cErr(float)

Rate: 1 Hz

This event publishes the current position, velocity, torque and position error of the filter wheel motion controller.

4.9.1.6. atst.ics.vbiBlue.mc.filter.fault

Attributes: fault(string)

Rate: on change

This event is posted when the filter wheel encounters a fault.

4.9.1.7. atst.ics.vbiBlue.mc.filter.power

Attributes: cPower(boolean)

Rate: on change

This event gives the current power state of the filter wheel motion controller, on or off.

4.9.1.8. atst.ics.vbiBlue.mc.focus.cStatus

Attributes: cPos(float), cVel(float), cTorque(float), cErr(float)

Rate: 1 Hz

This event publishes the current position, velocity, torque and position error of the focus stage motion controller.

4.9.1.9. atst.ics.vbiBlue.mc.focus.fault

Attributes: fault(string)

Rate: on change

This event is posted when the focus stage encounters a fault.

4.9.1.10. atst.ics.vbiBlue.mc.focus.power

Attributes: cPower(boolean)

Rate: on change

This event gives the current power state of the focus stage motion controller, on or off.

Page 44: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 44 of 49

4.9.1.11. atst.ics.vbiBlue.mc.x.cStatus

Attributes: cPosX(float), cVelX(float), cTorqueX(float), cErrX(float)

Rate: 1 Hz

This event publishes the current position, velocity, torque and position error of the camera mount X stage.

4.9.1.12. atst.ics.vbiBlue.mc.x.fault

Attributes: faultX(string)

Rate: on change

This event is posted when the camera mount X stage encounters a fault.

4.9.1.13. atst.ics.vbiBlue.mc.x.power

Attributes: cPowerX(boolean)

Rate: on change

This event gives the current power state of the camera mount X motion controller, on or off.

4.9.1.14. atst.ics.vbiBlue.mc.y.cStatus

Attributes: cPosY(float), cVelY(float), cTorqueY(float), cErrY(float)

Rate: 1 Hz

This event publishes the current position, speed, torque and position error of the camera mount Y stage.

4.9.1.15. atst.ics.vbiBlue.mc.y.fault

Attributes: faultY(string)

Rate: on change

This event is posted when the camera mount Y stage encounters a fault.

4.9.1.16. atst.ics.vbiBlue.mc.y.power

Attributes: cPower(boolean)

Rate: on change

This event gives the current power state of the camera mount Y motion controller, on or off.

Page 45: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 45 of 49

4.9.1.17. atst.ics.vbiBlue.mc.thermal.cStatus

Attributes: cMode(string), inPosition(boolean), cFilterTemp(float), cFilterPctCoolFlow(float), cXTemp(float), cXPctCoolFlow(float), cYTemp(float), cYPctCoolFlow(float), cFocusTemp(float), cFocusPctCoolFlow(float), cCameraTemp(float), cCameraPctCoolFlow(float)

Rate: 1 Hz

This event publishes the current VBI thermal control system mode and in position status. It also provides the temperature (in degrees Celsius) and percentage max cooling flow for each component it manages.

4.9.1.18. atst.vbiBlue.dc.cStatus

Attributes: status(string), exposing(boolean), percentComplete(float)

Rate: 1 Hz

This event reports the general status of the DC, whether the camera is exposing, and the percent complete for the current observation.

4.9.1.19. atst.vbiBlue.data:speckle.cStatus

Attributes: status(string)

Rate: 1 Hz

This event reports the general status of the Speckle image reconstruction data processing plug-in. The plug-in status may be one of active, inactive, fault,or warning. For more information on plug-in status please refer to [3].

4.9.1.20. atst.vbiBlue.data:selection.cStatus

Attributes: status(string), cNumSelect(integer), cEvalAlg(string), cROI(integer[]), cCalibFlag(boolean), cHistBinNum(integer), cDeltaX(integer), cDeltaY(integer)

Rate: 1 Hz

This event reports the general status of the frame selection data processing plug-in. The status attribute may be one of active, inactive, fault,or warning. The cNumSelect, cEvalAlg, cROI, cCalibFlag, cistBinNum, cDeltaX, and cDeltaY attribute provide the current values set for the respective plug-in inputs. For more information on plug-in status and inputs please refer to [3].

4.9.1.21. atst.vbiBlue.data:gain.cStatus

Attributes: status(string)

Rate: 1 Hz

Page 46: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 46 of 49

This event reports the general status of the gain calibration data processing plug-in. The plug-in status may be one of active, inactive, fault,or warning. For more information on plug-in status please refer to [3].

4.9.1.22. atst.vbiBlue.data:dark.cStatus

Attributes: status(string)

Rate: 1 Hz

This event reports the general status of the dark calibration data processing plug-in. The plug-in status may be one of active, inactive, fault,or warning. For more information on plug-in status please refer to [3].

4.10. Events subscribed to by the VBI

The events subscribed to by the VBI are summarized below. For full details of the event, reference should be made to the appropriate system ICD. Name Rate Comment atst.ics.parasitic 1 Hz Experiment info for parasitic instruments atst.tcs.mcs.cPos 20 Hz Current position data for telescope mount atst.tcs.wccs.adops.cStatus On change Current status info for high order adaptive optics atst.fcs.coude.thermal.cStatus 1 Hz Current status info for coude thermal control

4.10.1. Header events

The VBI subscribes to the appropriate header events and supplies the proper header information to the Data Handling System in response to each. Most of the work involved in managing the subscriptions is handled automatically by the Application base layer of the ATST Common Services Framework. See the ATST Common Services Framework Users’ Manual [5] for details.

4.10.2. atst.ics.parasitic

Attributes: experimentId(string), observationId(string), observingMode(string), tcsConfigured(boolean)

Rate: 1 Hz, and on change

The VBI subscribes to the ICS parasitic instrument event, for the case where it will participate in an experiment as a parasitic. This event provides a parasitic instrument with the information it needs to participate in an experiment. A periodic update is required in case an instrument comes on-line after an on-change event has occurred.

4.10.3. atst.tcs.mcs.cPos

Attributes:altCPos(float)

Comment [EMJ10]: This should only list the parasitic event, as none of the others pertain to the ICS. All the events should be listed in the design document, however.

Page 47: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 47 of 49

Rate: 20 Hz

The VBI subscribes to the Mount Control System (MCS) cPos event. This event includes several attributes, but the VBI is specifically interested in the altCPos attribute. The altCPos attribute provides the current altitude of the telescope in degrees. The VBI can use this value to perform automatic exposure time adjustments based on known air mass impact on light intensity at that zenith distance.

This event is defined in ICD-1.1/4.4, Telescope Mount Assembly to Telescope Control System Interface, and is reproduced herein for information purposes only.

4.10.4. atst.tcs.wccs.adops.cStatus

Attribute: controlMatrix(string)

Rate: On change

The VBI subscribes to the wave front correction system high order adaptive optics (AO) cStatus event. This event includes several attributes, however the VBI is specifically interested in the controlMatrix attributes. The controlMatrix attribute provides the current control matrix file in use by the AO system. The VBI Speckle image reconstruction plug-in must know this information to function properly.

This event is defined in ICD-2.3/4.4, Wavefront Correction Control System to Telescope Control System Interface, and is reproduced herein for information purposes only.

4.10.5. atst.fcs.coude.thermal.cStatus

Attribute: ambientTemp(float)

Rate: 1 Hz

The VBI subscribes to the coude thermal system cStatus event. This event includes several attributes, however the VBI is specifically interested in the ambientTemp attribute. The ambientTemp attribute provides the current ambient temperature of the coude room. The VBI thermal control system must know this information to function properly.

This event is defined in ICD-X.X/4.4, FCS to Observatory Control System Interface, and is reproduced herein for information purposes only.

4.11. VBI Error Codes

Configurations submitted by the ICS to the VBI return an immediate result code indicating the acceptance or rejection of the configuration. Accepted configurations begin executing the appropriate actions, while reject configurations return an error code. The returned error code is a negative integer with an associated defined meaning. The base set of error codes are found in the Controller class. The VBI controllers may also extend the list of supported error codes. The following error codes are supported by the Common Services controllers.

Controller.OK (0)—accepted: the action has been accepted.

Page 48: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 48 of 49

Controller.BUSY (-1)—rejected: the controller is busy.

Controller.BAD_PARAM (-2)—rejected: bad parameter found.

Controller.EXCEPTION (-3)—rejected: uncaught exception.

Controller.NOT_RUNNING (-4)—rejected: controller not started.

Controller.DUPLICATE (-5)—rejected: already in use.

Controller.NO_CONFIG (-6)—rejected: null configuration.

Controller.SIMULATED (-7)—rejected: simulation.

Page 49: ICD 3.1.4/3.2 Instrument Control System to Visible ... 3.… · Instrumnt Control System to VBI ICD-3.1.1/4.4 Rev A Page 4 of 49 2. Related Documents and Drawings [1] SPEC-0054, VBI

Instrumnt Control System to VBI

ICD-3.1.1/4.4 Rev A Page 49 of 49

5. Safety Issues

All safety issues regarding the VBI are handled by the interface to the Global Interlock System (GIS).

When the ICS has received an interlock from the GIS, all submit commands shall be rejected until the GIS removes the interlock.

Neither the VBI nor ICS can generate an interlock condition. If any personnel or equipment safety condition may be detected by either system, it shall also be capable of detection by the GIS.