1 Appendix G: Software Design Detail

 

This Appendix contains brief descriptions of all the Capfast schematics included in the NIFS software design. These descriptions are provided as an index to the full schematic hierarchy.

 

The actual Capfast drawings for the DC design are also included in this Appendix (§1.11.1 and §1.12.1). The Capfast drawings for the IS, CC, and OIWFS are not included as these are nearly identical to the NIRI drawings.

 

1.1 CICS Schematics

 

These schematics appear in many NIFS schematics and provide a means to handling common tasks.

cadCar

Simply uses a sequence record to set a CAR record to BUSY for 0.5 s, and then return it to IDLE.

cadPlus

When enabled, this counts the number of times that a CAD record processes the START and STOP directives. This allows these directives to be monitored by state notation code.

carPlus

Used to change the state of a CAR directive depending on which input link is activated.

combCar

Calls the subroutine, cicsCarValCombine, which combines CAR outputs.

combSadHealth

Combines multiple health values into a single SIR record.

comb2mSad

Combines individual SIRs into a single SIR.

combVal

If any input is an error value, then the output of this record is an error value.

compCad

Forms an array from a series of up to sixteen inputs, and stores them in a CAD record.

comp1CadSel

Sets up a compCad record, which yields a value used to index a lookup table. The selected value is passed to the SNL sequence.

comp1Car

Top-level schematic for the CAR record of a one-axis mechanism.

comp1m

Top-level schematic for a one-axis mechanism.

comp1mCad

Sequences the CAD records (datum, redatum, diagnose, move, select, engmove, and park) for a one-axis mechanism.

comp1mCadCmd

Sets up a compCad record and then starts a motor handling sequence.

comp1mSad

Generic high level SAD schematic for a single-axis component.

comp1mSadEng

Consists of SIR records reporting position information.

comp1mSadHealth

Contains the health components for each component. These are combined into a single component health.

comp1mSadRec

Contains the standard SIR records for each component.

compSnlArg

An operand and optional argument are set up and then accessed by SNL code which is triggered.

compSnlCmd

Causes the monitoring SNL code to be triggered.

comp1pCadCmd

Sets up a compCad and then starts a motor handling sequence.

comp2CadSel

Sets up a compCad record, which yields a value used to index a pair of lookup tables of mechanism positions. The desired position is then passed to an SNL sequence, and the select operation sequence is started.

comp2Car

Top-level schematic for the two CAR records of a two-axis mechanism, and their combined CAR record.

comp2mCad

Sequences the CAD records (comp1, comp2, datm, sel, park, and move) for a two-axis mechanism.

comp2mCadAlt

In addition to having a comp2mCadCmd schematic (see above), this schematic performs coordinate transformation.

comp2mCadCmd

Sets up the compCad record and then starts the motor handling sequences for each axis.

comp2mSad

Generic high level SAD schematic for a two-axis component.

comp2mSadAlt

SIR records for the positions of the two axes of the gimbal mirror.

link2Dir

Maps input links to CAD directives (MARK, CLEAR, PRESET, START, and STOP). Used where CAD records are connected in a chain.

lock

This is the master schematic for the interlock system.

lockCad

Sequences the general, observation, configure, and temperature interlock CADs.

lockCar

Takes the output from a series of comp1Car records and combine them with a combCar record.

lockSad

Contains the SIR records for the interlock system.

lockSadHealth

Contains the health component for the interlock system. Health indications are taken from various components and are combined into an overall interlock health.

mfanout

Each data input is fanned out into a pair of data outputs. This is distinct from the fanout record, which only fans out links, not data.

 

 

1.2 Instrument Sequencer CAD/CAR Database Schematics

nifsTop

Highest level schematic which is generated automatically when the database is made.

nifsSet

Sets up labels for the instrument sequencer.

nifs

A high level schematic containing the highest level apply record.

isSysCad

High level schematic for the instrument sequencer CADs.

isSysCad0

Handles the system’s test, init, datum, and park sequences.

isSysCad2

Handles the system’s guide, endGuide, verify, and endVerify sequences.

isSysCad3

Handles the system’s observe, endObserve, pause, continue, and abort sequences.

isSysCad4

Handles the system’s debug and reboot sequences.

isSystem

A high level schematic for the instrument sequencer.

isSysCar

Handles all the instrument sequencer CARs.

subSysCar

Combines CAR status values.

 

 

1.3 Instrument Sequencer SAD Schematics

nifsSadTop

Highest level schematic which is generated automatically when the database is made.

nifsSadSet

Sets up labels for the instrument sequencer.

nifsSad

High level schematic in the instrument sequencer SAD.

isSysSad

Handles all of the instrument sequencer SIRs.

 

 

1.4 Components Controller CAD/CAR Database Schematics

 

These schematics contain either CAD or CAR records, and so provide the interface between the hardware and the database. Each Capfast branch must terminate in one of these schematics.

nifsCcTop

Highest level schematic which is generated automatically when the database is made.

nifsCcSet

Sets up labels and constants for the components controller.

nifsCC

A high level schematic showing the major components of the components controller.

ccSysCad1

Handles the system’s test, initialize, datum, and park sequences.

ccSysCad2

Handles the system’s verify sequence.

ccSysCad4

Handles setting the system’s debug and reboot sequences.

ccSysCar

Combines the system-wide CAR records into a single CAR record.

ccSystem

High-level schematic for the system-wide commands.

nifsCc1

Sequences the components controller mechanisms.

 

 

1.5 Components Controller SAD Schematics

nifsCcSadTop

Highest level schematic which is generated automatically when the database is made.

nifsCcSadSet

Sets the global labels.

nifsCcSad

Contains the high-level schematics for each of the components, the interlocks, and the temperature monitors.

ccSysSad

Contains the SIR records which report system information (such as instrument name, etc.).

tmpSad

Contains the SIR records for the components of the temperature monitoring and control system.

tmpSadCool

Reports the cryocooler motor rates and health.

tmpSadCtrl

SIR records reporting temperature, set-point, and health for a temperature controller.

tmpSadSens

Reports the value of each channel on the 8-channel digital thermometer, as well as the thermometer's health.

wcsSad

A template for SIRs used by the world coordinate system.

wfsBeamSad

Indicates whether the OIWFS beam is obstructed or clear.

 

 

1.6 Components Controller Mechanism Database Schematics

ccTop

Top schematic in the CC mechanism hierarchy which is generated automatically when the database is made.

ccSet

Defines labels used by the mechanisms.

cc

Schematic that contains the mechanism schematic for each of the motors.

Mech

This schematic controls the motion of a motor. It contains the hallstep record and the hmotor record.

Binio

Implements the interface to the Gemini interlock system.

Common

Contains two strings.

 

 

1.7 Components Controller Temperature Database Schematics

tmpTop

Top schematic in the CC temperature hierarchy which is generated automatically when the database is made.

tmpSet

Sets up labels and constants for the temperature database.

tmp

Defines the components of the temperature database.

tmpMech

Handles the temperature sensors, the temperature controllers, and coolers.

 

 

1.8 OIWFS Components Controller CAD/CAR Database Schematics

nifsWfsTop

Top schematic in the OIWFS CC hierarchy which is generated automatically when the database is made.

nifsWfsSet

Sets up additional labels and constants.

niriWfs

Defines the components that make up the OIWFS Components Controller.

wfsSysCad

Handles the system commands.

wfsSysCad1

Handles the system’s test, initialize, datum, and park sequences.

wfsSysCad2

Handles the system’s verify sequence.

wfsSysCad4

Handles setting the system’s debug and reboot sequences.

fol

Master schematic for the follow command.

folCad

Sequences the CAD records for the follow command and combines the results into a single value.

folSetCad

High-level schematic for the follow command.

prbCad

Sequences the CAD records for the OIWFS gimbal mirror components.

folCar

Combines status values from CAR records into a single CAR record.

folRecords

Sets up data values in the OIWFS CC mechanism database for the follow command.

wfsSysCar

Builds the CAR record for the whole system.

 

 

1.9 OIWFS Components Controller SAD Schematics

nifsWfSSadTop

Top schematic in the OIWFS CC SAD hierarchy which is generated automatically when the database is made.

nifsWfsSadSet

Sets up labels.

nifsWfsSad

Defines the elements that make up the OIWFS CC SAD.

folSad

SIR records for the follow command.

prbSad

SIR records for the two axes of the gimbal mirrors.

wfsSysSad

A collection of SIR records, which contain system-wide information, such as the instrument's name, etc. Also has a SIR record which reports the system-wide health.

 

 

1.10 OIWFS Components Controller Mechanism Database Schematics

wfsTop

Top schematic in the OIWFS CC mechanism hierarchy which is generated automatically when the database is made.

wfsSet

Sets up labels used by the database.

wfs

Contains the three mech records of the filter wheel and the x and y axes of the gimbal mirror.

 

 

1.11 Detector Controller CAD/CAR Database Schematics

dcTop

Top-most schematic of the DC CAD/CAR database.

dc

Under top schematic of the DC CAD/CAR database that has the top level Apply record. Outputs from this record connect to lower level Apply’s that handle all the CAD/CAR records.

dcSysCar

This schematic contains the ovrAllCar gensub record that hierarchically combines outputs from lower level combCar schematics for input to the applyC CAR record.

dcCombCar1

This schematic contains the records for hierarchically combining individual CAR records. Each gensub takes up to five CAR inputs and outputs the highest CAR value (along with corresponding error code and message).

dcCombCar1

As for dcCombCar.

dcCombCar1

As for dcCombCar1.

dcSysApply

Lower level system Apply schematic. Handles the APPLY command for system CADs (reboot, init, test, park, and debug).

dcRebootCad

Contains the schematic for the system reboot command.

dcInitCad

Contains the schematic for the system init command.

dcTestCad

Contains the schematic for the system test command.

dcParkCad

Contains the schematic for the system park command.

dcDebugCad

Contains the schematic for the system reboot command.

dcSetupSDSU

Lower level Apply schematic for the SDSU set up CADs. It contains CADs for set up parameters and the SDSU initialise command.

dcDirectSDSU

Lower level schematic for the SDSU direct engineering CADs. It contains CADs for directly accessing SDSU memory locations and switching IDLE mode on/off.

dcSeq

Lower level Apply schematic for the NIFS readout sequencing CADs. It connects to symbols for schematics that contain CADs for setting up readout sequences for the NIFS IDLE and RUN modes.

dcSeqIdle

Bottom level Apply schematic for the NIFS IDLE readout sequence CAD. This CAD is used to set parameters for IDLE mode.

dcSeqObserve

Bottom level Apply schematic for the NIFS RUN readout sequence CAD. This CAD is used to set parameters for RUN mode.

dcData

Lower level Apply schematic for the NIFS data-handling CADs. It connects to symbols for schematics that contain CADs for setting up data-handling parameters for the NIFS IDLE and RUN modes.

dcDataIdle

Bottom level Apply schematic for the NIFS IDLE data-handling CAD. This CAD is used to set parameters for IDLE mode.

dcDataObserve

Bottom level Apply schematic for the NIFS RUN data-handling and setDhsInfo CADs. These CADs are used to set data-handling parameters for RUN mode.

dcStateApply

Lower level Apply schematic for the observing sequence commands. It connects to symbols for schematics that contain CADs for handling the OBSERVE states (observe, stop, and abort).

dcObserveCad

Contains the schematic for the system observe command.

dcAbortCad

Contains the schematic for the system abort command.

dcStopCad

Contains the schematic for the system stop command.

dcNoOpApply

Lower level Apply schematic for the sequence commands that are ignored by the NIFS DC. It connects to symbols for the NoOp schematic that contains a CAD for handling the no-op operation. (verify, endVerify, guide, endGuide, endObserve, datum, pause, and continue).

dcNoOpCmd

This schematic contains a CAD for handling the no-op operation for a particular command. It is generalised so that it can be used for any command that is specified by setting the cmd process variable.

 

1.11.1 Detector Controller CAD/CAR Database Schematic Drawings

 

 

Figure 1: dcTop.sch - start schematic for NIFS DC.

Figure 2: dc.sch - top level schematic for NIFS DC.

 

Figure 3: dcSysApply.sch - top level DC system command Apply records.

Figure 4: dcSetupSDSU.sch - Apply schematic for the SDSU set up CADs.

Figure 5: dcDirectSDSU.sch - Apply schematic for the SDSU direct interface CADs.

Figure 6: dcSeq.sch - NIFS DC sequencing CADs.

Figure 7: dcSeqIdle.sch - Idle mode sequencing parameters.

Figure 8: dcSeqRun.sch - Run mode sequencing parameters.

Figure 9: dcData.sch - NIFS DC data handling CADs.

Figure 10: dcDataIdle.sch - Idle mode data handling parameters.

Figure 11: dcDataRun.sch - Run mode data handling parameters.

Figure 12: dcStateApply.sch - NIFS DC observing CADs.

Figure 13: dcObserveCad.sch - NIFS DC observe CAD.

Figure 14: dcAbortCad.sch - NIFS DC abort CAD.

Figure 15: dcStopCad.sch - NIFS DC stop CAD.

Figure 16: dcNoOpApply.sch - No operation CADs for ignored sequences.

Figure 17: dcNoOpCmd.sch - general purpose no operation schematic.

Figure 18: dcSysCar.sch - top level DC combined CAR schematic.

Figure 19: dcCombCar1.sch - combined CARs (one).

Figure 20: dcCombCar2.sch - combined CARs (two).

Figure 21: dcCombCar3.sch - combined CARs (three).

 

1.12 Detector Controller SAD Schematics

dcSadTop

Top-most schematic of the DC SAD.

dcSad

Under top schematic of the DC SAD that has top level symbols for schematics that contain SIR records grouped according to function. These groups are system, SDSU, readout-sequencing, and data-handling.

dcSysSad

Schematic that contains SIR records in the system grouping. For example, name, state, health, and heartbeat.

dcSDSUSad

Schematic that contains SIR records in the SDSU controller grouping.

dcSeqSad

Schematic that contains SIR records in the readout-sequence grouping.

dcDataSad

Schematic that contains SIR records in the data-handling grouping.

 

1.12.1 Detector Controller SAD Schematic Drawings

 

 

Figure 22: dcSadTop.sch - start schematic for NIFS DC SAD.

Figure 23: dcSad.sch - top level schematic for NIFS DC SAD.

Figure 24: dcSysSad.sch - system level SIR records.

Figure 25: dcSDSUSad.sch - SDSU controller SIR records.

Figure 26: dcSeqSad.sch - sequencing SIR records.

Figure 27: dcDataSad.sch - data handling SIR records.