This commit is contained in:
Joel Sherrill
1999-04-06 22:15:18 +00:00
parent 3c0e80c36a
commit 7504be6c0c
6 changed files with 0 additions and 2860 deletions

View File

@@ -1,690 +0,0 @@
@ifinfo
@node Avenger Control Electronics System, Avenger Control Electronics System General System, DOCS PREV, DOCS UP
@end ifinfo
@chapter Avenger Control Electronics System
@ifinfo
@menu
* Avenger Control Electronics System General System::
* Avenger Control Electronics System System Modes::
* Avenger Control Electronics System System BIT::
@end menu
@end ifinfo
@ifinfo
@node General System, Avenger Control Electronics System Monitor and Control Avenger, Avenger Control Electronics System, DOCS UP
@end ifinfo
@section General System
@ifinfo
@menu
* Avenger Control Electronics System Monitor and Control Avenger::
* Avenger Control Electronics System Control Weapons::
* Avenger Control Electronics System Handle Tone Signals::
* Avenger Control Electronics System Provide AVDAS::
* Avenger Control Electronics System Perform Initial Power-On Sequence::
* Avenger Control Electronics System Perform Post-power-on Initialization -- Deleted::
* Avenger Control Electronics System Update AVDAS Port::
* Avenger Control Electronics System Handle Minor Faults::
* Avenger Control Electronics System General Mode::
* Avenger Control Electronics System Mode Transition::
* Avenger Control Electronics System Boot BIT::
* Avenger Control Electronics System Background BIT::
@end menu
@end ifinfo
@ifinfo
@node Monitor and Control Avenger, Avenger Control Electronics System Control Weapons, General System, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Monitor and Control Avenger
The AFCC shall be the main computer that monitors and controls all AVENGER
system functions. [MNTMN 1-21.b, MNTMN 11-3]
@ifinfo
@node Control Weapons, Avenger Control Electronics System Handle Tone Signals, Monitor and Control Avenger, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Control Weapons
The AFCC shall be capable of tracking a single target, and controlling the
missile and machine-gun systems. [FUNCTIONAL]
@ifinfo
@node Handle Tone Signals, Avenger Control Electronics System Provide AVDAS, Control Weapons, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Handle Tone Signals
The AFCC shall receive a tone signal from the IEA and IFF system. [MNTMN
11-3.a(3), MNTMN 11-3.b(1)] The AFCC shall generate a test tone. [MNTMN
11-3.a(3), MNTMN 11-3.b(2)] The AFCC shall also amplify the tone signals
(target acquisition tone and IFF tone) from the IEA and IFF system and
apply them to the communications system via the gunner's control box to
the CVC helmet. [MNTMN 11-3.a(3), MNTMN 11-3.b(2)] The IFF audio tone
shall be mixed with the missile acquisition tone and built-in-test tone
inside the AFCC. [MNTMN 11-3.a(3), MNTMN 12-5.b(3&4)].
@ifinfo
@node Provide AVDAS, Avenger Control Electronics System Perform Initial Power-On Sequence, Handle Tone Signals, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Provide AVDAS
The AFCC shall provide system status information on the AVDAS serial test
port. [FUNCTIONAL]
@ifinfo
@node Perform Initial Power-On Sequence, Avenger Control Electronics System Perform Post-power-on Initialization -- Deleted, Provide AVDAS, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Perform Initial Power-On Sequence
During power-on, the AFCC shall perform the following:
@itemize @bullet
@item initialize all software programmable peripherals,
@item set all A/D output values to zero,
@item safe the laser range finder by setting both first return and last return to a high state,
@item safe the machine-gun system,
@item set the turret drive to high speed mode,
@item set the following outputs inactive
@enumerate 1
@item FLIR fire permit, missile active, RSO authorize, and uncage verify
@item sight fire permit, missile active, RSO authorize, and uncage verify
@item sight display active, and driven reticle
@item power interlock
@item FLIR field of view
@item IFF challenge
@item gunner palm grips and drift switch
@item fire command
@item uncage command
@item BIT initiate command
@item ATAS power on
@item sequence command
@item arm command
@item activate command
@item autotrack lock on command
@item laser fire command,
@end enumerate
@item set the following inputs to the indicated state
@enumerate 1
@item uncage mode to AUTO
@item helicopter mode to OFF
@item track mode to MANUAL
@item turret drive mode to STAB.
@end enumerate
@item initialize the missile range tables in RAM from values in EPROM,
@item clear the north reference value and fire permit limits. [FUNCTIONAL]
@end itemize
@ifinfo
@node Perform Post-power-on Initialization -- Deleted, Avenger Control Electronics System Update AVDAS Port, Perform Initial Power-On Sequence, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Perform Post-power-on Initialization -- Deleted
Requirement was deleted.
@ifinfo
@node Update AVDAS Port, Avenger Control Electronics System Handle Minor Faults, Perform Post-power-on Initialization -- Deleted, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Update AVDAS Port
The AFCC shall update the AVDAS port every 100ms. [FUNCTIONAL]
@ifinfo
@node Handle Minor Faults, Avenger Control Electronics System System Modes, Update AVDAS Port, Avenger Control Electronics System System Modes
@end ifinfo
@subsection Handle Minor Faults
Detection of a minor fault shall cause an error message to be displayed on
the CDT and the system fault light to be lit.
@ifinfo
@node System Modes, Avenger Control Electronics System General Mode, Handle Minor Faults, DOCS UP
@end ifinfo
@section System Modes
@ifinfo
@menu
* Avenger Control Electronics System General Mode::
* Avenger Control Electronics System Mode Transition::
* Avenger Control Electronics System Boot BIT::
* Avenger Control Electronics System Background BIT::
@end menu
@end ifinfo
@ifinfo
@node General Mode, Avenger Control Electronics System Process System Mode Periodically -- Deleted, System Modes, Avenger Control Electronics System System BIT
@end ifinfo
@subsection General Mode
@ifinfo
@menu
* Avenger Control Electronics System Process System Mode Periodically -- Deleted::
* Avenger Control Electronics System Determine System Mode::
* Avenger Control Electronics System OFF Mode::
* Avenger Control Electronics System COMM Mode::
* Avenger Control Electronics System SAFE Mode::
* Avenger Control Electronics System RUN Mode::
* Avenger Control Electronics System ENGAGE Mode::
* Avenger Control Electronics System Mode Fault::
* Avenger Control Electronics System ENGAGE Mode Processing::
* Avenger Control Electronics System Process Transition to OFF Mode::
* Avenger Control Electronics System Process Transition to COMM Mode::
* Avenger Control Electronics System Process Transition to SAFE Mode::
* Avenger Control Electronics System Process Transition to RUN Mode::
* Avenger Control Electronics System Process Transition to ENGAGE Mode::
@end menu
@end ifinfo
@ifinfo
@node Process System Mode Periodically -- Deleted, Avenger Control Electronics System Determine System Mode, General Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection Process System Mode Periodically -- Deleted
Requirement was deleted.
@ifinfo
@node Determine System Mode, Avenger Control Electronics System OFF Mode, Process System Mode Periodically -- Deleted, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection Determine System Mode
The AFCC shall determine the system mode from the state of the system mode
switch on the gunner's console and the remote mode indication from the
remote terminal. [FUNCTIONAL]
@ifinfo
@node OFF Mode, Avenger Control Electronics System COMM Mode, Determine System Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection OFF Mode
If the system mode switch is in the OFF position, the system mode shall be
OFF. [FUNCTIONAL]
@ifinfo
@node COMM Mode, Avenger Control Electronics System SAFE Mode, OFF Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection COMM Mode
If the system mode switch is in the COMM position, the system mode shall
be COMM. [FUNCTIONAL]
@ifinfo
@node SAFE Mode, Avenger Control Electronics System RUN Mode, COMM Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection SAFE Mode
If the system mode switch is in the SAFE position, the system mode shall
be SAFE. [FUNCTIONAL]
@ifinfo
@node RUN Mode, Avenger Control Electronics System ENGAGE Mode, SAFE Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection RUN Mode
If the system mode switch is in the RUN position, the system mode shall be
RUN. [FUNCTIONAL]
@ifinfo
@node ENGAGE Mode, Avenger Control Electronics System Mode Fault, RUN Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection ENGAGE Mode
If the system mode switch is in the ENGAGE position, the system mode shall
be ENGAGE or REMOTE. [FUNCTIONAL]
@ifinfo
@node Mode Fault, Avenger Control Electronics System ENGAGE Mode Processing, ENGAGE Mode, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection Mode Fault
If the system mode switch is not in a valid position, the system mode
shall remain unchanged and the AFCC shall output 'MODE FAULT' to the CDT.
[FUNCTIONAL]
@ifinfo
@node ENGAGE Mode Processing, Avenger Control Electronics System Mode Transition, Mode Fault, Avenger Control Electronics System Mode Transition
@end ifinfo
@subsubsection ENGAGE Mode Processing
When the system is in the ENGAGE mode, the AFCC shall:
@itemize @bullet
@item perform auto slew processing,
@item perform lead angle processing,
@item perform autotrack processing,
@item output rate commands to the turret drive system,
@item control the firing of the weapons systems. [FUNCTIONAL]
@end itemize
@ifinfo
@node Mode Transition, Avenger Control Electronics System Process Transition to OFF Mode, ENGAGE Mode Processing, Avenger Control Electronics System System BIT
@end ifinfo
@subsection Mode Transition
@ifinfo
@menu
* Avenger Control Electronics System Process Transition to OFF Mode::
* Avenger Control Electronics System Process Transition to COMM Mode::
* Avenger Control Electronics System Process Transition to SAFE Mode::
* Avenger Control Electronics System Process Transition to RUN Mode::
* Avenger Control Electronics System Process Transition to ENGAGE Mode::
@end menu
@end ifinfo
The AFCC can operate in one of the following modes: OFF, COMM, SAFE, RUN,
or ENGAGE. The mode transitions are depicted in Figure 3-1.
@ifhtml
@html
<CENTER>
<IMG SRC="modes.gif" ALT="Figure 3-1 Mode Transitions">
</CENTER>
@end html
@end ifhtml
@ifset use-ascii
@example
Figure 3-1 Mode Transitions - modes.gif
@end example
@end ifset
@ifset use-tex
@example
Figure 3-1 Mode Transitions - modes.gif
@end example
@end ifset
@ifinfo
@node Process Transition to OFF Mode, Avenger Control Electronics System Process Transition to COMM Mode, Mode Transition, Avenger Control Electronics System Boot BIT
@end ifinfo
@subsubsection Process Transition to OFF Mode
When the AFCC detects a valid transition to the OFF mode, the following
actions shall be performed:
@itemize @bullet
@item update the elapsed time counter for the last mode the system was in,
@item output 'OFF MODE' to the CDT,
@item safe the laser by setting the last and first return to a high state,
@item disable the turret drive system,
@item disable the missile system,
@item disable the machine-gun system,
@item deactivate the sight and reticle,
@item update the EEPROM with the current elapsed time and count values,
@item disable continuous BIT,
@item insure that the machine-gun cool down has completed before clearing the power hold circuit. [FUNCTIONAL]
@end itemize
@ifinfo
@node Process Transition to COMM Mode, Avenger Control Electronics System Process Transition to SAFE Mode, Process Transition to OFF Mode, Avenger Control Electronics System Boot BIT
@end ifinfo
@subsubsection Process Transition to COMM Mode
When the AFCC detects a valid transition to the COMM mode, the following
actions shall be performed:
@itemize @bullet
@item update the elapsed time counter for the last mode the system was in,
@item output `COMM MODE' to the CDT,
@item safe the laser by setting the last and first return to a high state,
@item disable the turret drive system,
@item disable the missile system,
@item disable the machine-gun system,
@item deactivate the sight and reticle,
@item reset the power hold circuit to insure power if the system is put in the OFF mode,
@item enable current monitoring. [OPMAN 2-27.b(2), FUNCTIONAL]
@end itemize
@ifinfo
@node Process Transition to SAFE Mode, Avenger Control Electronics System Process Transition to RUN Mode, Process Transition to COMM Mode, Avenger Control Electronics System Boot BIT
@end ifinfo
@subsubsection Process Transition to SAFE Mode
When the AFCC detects a valid transition to the SAFE mode, the following
actions shall be performed:
@itemize @bullet
@item update the elapsed time counter for the last mode the system was in,
@item output `SAFE MODE' to the CDT,
@item safe the laser by setting the last and first return to a high state,
@item disable the turret drive system,
@item disable the missile system,
@item disable the machine-gun system,
@item deactivate the sight and reticle,
@item reset the power hold circuit to insure power if the system is put in the OFF mode,
@item enable current monitoring. [FUNCTIONAL]
@end itemize
@ifinfo
@node Process Transition to RUN Mode, Avenger Control Electronics System Process Transition to ENGAGE Mode, Process Transition to SAFE Mode, Avenger Control Electronics System Boot BIT
@end ifinfo
@subsubsection Process Transition to RUN Mode
When the AFCC detects a valid transition to the RUN mode, the following
actions shall be performed:
@itemize @bullet
@item update the elapsed time counter for the last mode the system was in,
@item output `RUN MODE' to the CDT,
@item safe the laser by setting the last and first return to a high state,
@item enable the turret drive system,
@item disable the missile system,
@item disable the machine-gun system,
@item deactivate the sight and reticle,
@item reset the power hold circuit to insure power if the system is put in the OFF mode,
@item enable current monitoring. [FUNCTIONAL]
@end itemize
@ifinfo
@node Process Transition to ENGAGE Mode, Avenger Control Electronics System System BIT, Process Transition to RUN Mode, Avenger Control Electronics System Boot BIT
@end ifinfo
@subsubsection Process Transition to ENGAGE Mode
When the AFCC detects a valid transition to the ENGAGE mode, the following
actions shall be performed:
@itemize @bullet
@item update the elapsed time counter for the last mode the system was in,
@item output `ENGAGE MODE' to the CDT,
@item enable the turret drive system,
@item enable the missile system power,
@item reset the power hold circuit to insure power if the system is put in the OFF mode,
@item enable current monitoring. [FUNCTIONAL]
@end itemize
@ifinfo
@node System BIT, Avenger Control Electronics System Boot BIT, Process Transition to ENGAGE Mode, DOCS UP
@end ifinfo
@section System BIT
@ifinfo
@menu
* Avenger Control Electronics System Boot BIT::
* Avenger Control Electronics System Background BIT::
@end menu
@end ifinfo
@ifinfo
@node Boot BIT, Avenger Control Electronics System Perform ROM Checksum, System BIT, DOCS UP
@end ifinfo
@subsection Boot BIT
@ifinfo
@menu
* Avenger Control Electronics System Perform ROM Checksum::
* Avenger Control Electronics System Boot Test AFCC Boards::
* Avenger Control Electronics System Boot Test CPU Board::
* Avenger Control Electronics System Boot Test AFCC Controller Board DAC's::
* Avenger Control Electronics System Boot Test Interface Board Discrete Inputs::
* Avenger Control Electronics System Boot Test AFCC Controller Board Relay and Discrete Outputs::
* Avenger Control Electronics System Boot Check Voltages::
* Avenger Control Electronics System Boot Handle Fatal Error::
* Avenger Control Electronics System Perform Background BIT::
* Avenger Control Electronics System Background Process CPU and Software Exceptions::
* Avenger Control Electronics System Background Test AFCC Controller Board DAC's::
* Avenger Control Electronics System Background Test AFCC Controller Board Relay and Discrete Outputs::
* Avenger Control Electronics System Perform RAM Checksum::
* Avenger Control Electronics System Background Monitor Voltages::
* Avenger Control Electronics System Background Handle Fatal Error::
@end menu
@end ifinfo
@ifinfo
@node Perform ROM Checksum, Avenger Control Electronics System Boot Test AFCC Boards, Boot BIT, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Perform ROM Checksum
During initialization of the AFCC, the AFCC shall checksum the code image
stored in ROM to insure that it is correct. If the checksum does not
match the code image, the system shall halt.
@ifinfo
@node Boot Test AFCC Boards, Avenger Control Electronics System Boot Test CPU Board, Perform ROM Checksum, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Test AFCC Boards
During initialization of the AFCC, all boards shall be tested to determine
their functional state. If all tests performed on a board pass, the board
shall have a functional state of passed. If any test performed on a board
fails, the board shall have a functional state of failed.
@ifinfo
@node Boot Test CPU Board, Avenger Control Electronics System Boot Test AFCC Controller Board DAC's, Boot Test AFCC Boards, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Test CPU Board
During initialization of the AFCC, the AFCC shall test the following CPU
board components by invoking all non-destructive card-level diagnostic
tests provided by the CPU board vendor. If any CPU board component fails
diagnostic testing, a fatal error shall occur.
@ifinfo
@node Boot Test AFCC Controller Board DAC's, Avenger Control Electronics System Boot Test Interface Board Discrete Inputs, Boot Test CPU Board, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Test AFCC Controller Board DAC's
During initialization of the AFCC, the AFCC shall utilize the DAC test
capability of the AFCC Controller board to verify that the DAC components
of the AFCC Controller board are set to their initial values. If any DAC
component is not properly set, a fatal error shall occur.
@ifinfo
@node Boot Test Interface Board Discrete Inputs, Avenger Control Electronics System Boot Test AFCC Controller Board Relay and Discrete Outputs, Boot Test AFCC Controller Board DAC's, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Test Interface Board Discrete Inputs
During initialization of the AFCC, the AFCC shall utilize the discrete
input loopback capability of the AFCC Interface board to test that the
discrete input components of the AFCC Interface board are working
properly. If any discrete input component does not function properly, a
fatal error shall occur.
@ifinfo
@node Boot Test AFCC Controller Board Relay and Discrete Outputs, Avenger Control Electronics System Boot Check Voltages, Boot Test Interface Board Discrete Inputs, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Test AFCC Controller Board Relay and Discrete Outputs
During initialization of the AFCC, the AFCC shall utilize the relay and
discrete output test capability of the AFCC Controller board to verify
that the relay and discrete output components of the AFCC Controller board
are set to their initial values. If any relay or discrete output
component is not properly set, a fatal error shall occur.
@ifinfo
@node Boot Check Voltages, Avenger Control Electronics System Boot Handle Fatal Error, Boot Test AFCC Controller Board Relay and Discrete Outputs, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Check Voltages
During initialization of the AFCC, the +5 volt, +15 volt, -15 volt, and
+28 volt power supplies shall be checked to insure that they are within
tolerance. If any of the power supplies are out of tolerance, a fatal
error shall occur.
@ifinfo
@node Boot Handle Fatal Error, Avenger Control Electronics System Background BIT, Boot Check Voltages, Avenger Control Electronics System Background BIT
@end ifinfo
@subsubsection Boot Handle Fatal Error
If a fatal error occurs during initialization, the AFCC shall attempt to
output a diagnostic message to the CDT and halt initialization.
@ifinfo
@node Background BIT, Avenger Control Electronics System Perform Background BIT, Boot Handle Fatal Error, DOCS UP
@end ifinfo
@subsection Background BIT
@ifinfo
@menu
* Avenger Control Electronics System Perform Background BIT::
* Avenger Control Electronics System Background Process CPU and Software Exceptions::
* Avenger Control Electronics System Background Test AFCC Controller Board DAC's::
* Avenger Control Electronics System Background Test AFCC Controller Board Relay and Discrete Outputs::
* Avenger Control Electronics System Perform RAM Checksum::
* Avenger Control Electronics System Background Monitor Voltages::
* Avenger Control Electronics System Background Handle Fatal Error::
@end menu
@end ifinfo
@ifinfo
@node Perform Background BIT, Avenger Control Electronics System Background Process CPU and Software Exceptions, Background BIT, DOCS UP
@end ifinfo
@subsubsection Perform Background BIT
During normal operation of the AFCC, the AFCC shall perform background BIT
of various system components. Background BIT shall be performed during
system idle time.
@ifinfo
@node Background Process CPU and Software Exceptions, Avenger Control Electronics System Background Test AFCC Controller Board DAC's, Perform Background BIT, DOCS UP
@end ifinfo
@subsubsection Background Process CPU and Software Exceptions
During normal operation of the AFCC, the AFCC shall recognize all CPU and
software exceptions. If any exception occurs, a fatal error shall occur.
@ifinfo
@node Background Test AFCC Controller Board DAC's, Avenger Control Electronics System Background Test AFCC Controller Board Relay and Discrete Outputs, Background Process CPU and Software Exceptions, DOCS UP
@end ifinfo
@subsubsection Background Test AFCC Controller Board DAC's
During background BIT, the AFCC shall utilize the DAC test capability of
the AFCC Controller board to verify that the DAC components of the AFCC
Controller board are set to their last written values. If any DAC
component is not properly set, a fatal error shall occur.
@ifinfo
@node Background Test AFCC Controller Board Relay and Discrete Outputs, Avenger Control Electronics System Perform RAM Checksum, Background Test AFCC Controller Board DAC's, DOCS UP
@end ifinfo
@subsubsection Background Test AFCC Controller Board Relay and Discrete Outputs
During background BIT, the AFCC shall utilize the relay and discrete
output test capability of the AFCC Controller board to verify that the
relay and discrete output components of the AFCC Controller board are set
to their last written values. If any relay or discrete output component
is not properly set, a fatal error shall occur.
@ifinfo
@node Perform RAM Checksum, Avenger Control Electronics System Background Monitor Voltages, Background Test AFCC Controller Board Relay and Discrete Outputs, DOCS UP
@end ifinfo
@subsubsection Perform RAM Checksum
During background BIT, the AFCC shall checksum the code image to insure
that it is correct. If the checksum does not match the code image, a
fatal error shall occur.
@ifinfo
@node Background Monitor Voltages, Avenger Control Electronics System Background Handle Fatal Error, Perform RAM Checksum, DOCS UP
@end ifinfo
@subsubsection Background Monitor Voltages
During background BIT, the AFCC shall monitor the +5 volt, +15 volt, -15
volt, and +28 volt power supplies to insure that they are within
tolerance. If any of the power supplies are out of tolerance, a fatal
error shall occur.
@ifinfo
@node Background Handle Fatal Error, DOCS NEXT, Background Monitor Voltages, DOCS UP
@end ifinfo
@subsubsection Background Handle Fatal Error
When the AFCC detects a fatal error, the following shall be attempted:
@enumerate a
@item light the fault light on the gunner console,
@item stop the execution of all tasks,
@item reset all hardware outputs to a safe state,
@item store a failure code or message in the EEPROM,
@item output a diagnostic message to the CDT and Console port,
@item halt the system.
@end enumerate

View File

@@ -1,890 +0,0 @@
OBJECT: Drive
DESCRIPTION:
This object provides an interface to the elevation/azimuth
drive system(ECA).
THEORY OF OPERATION:
This object encapsulates the turret drive. The object provides
an interface to control the turret drive. A method is provided
to set the azimuth and elevation rate of the drive. Methods are
provided to request the drive to run in stabilized or power mode
and set the drive speed to high or low. A method is also provided
to allow for drift adjust.
This object also tracks drive system on hours. It gets the hours
from the EEPROM data, allows the hours to be set, updates the
hours via the activation and deactivation of the drive, and
provides access to the hours.
+ This is the first bullet.
+ This is the second bullet.
+ This is the third bullet.
+ This is the fourth bullet.
+ This is the fifth bullet.
The object also provides methods to access azimuth and elevation
displacement, and methods to process changes in the hardware
discretes drive on, stabilized mode, thermal fault and fault.
The object also provides methods to enable and disable
both the remote and turret power interlocks which determine if
the drive can be driven by the remote or turret handstation
respectively.
ATTRIBUTE DESCRIPTIONS:
ATTRIBUTE: Azimuth_displacement
DESCRIPTION:
This attribute represents the current azimuth displacement
of the turret.
TYPE: floating point
RANGE: 0-0
UNITS: degrees
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.6 Azimuth Displacement analog
ATTRIBUTE: Azimuth_rate
DESCRIPTION:
Azimuth rate command for movement of the turret.
TYPE: floating point
RANGE: X-Y
UNITS: degrees / second
DEFAULT: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
ATTRIBUTE: Drift_adjust
DESCRIPTION:
This attribute represents the current drift adjustment mode
of the ECA turret drive.
TYPE: enumerated
MEMBERS:
ADJUST_OFF - drift adjust mode is OFF
ADJUST_ON - drift adjust mode is ON
REQUIREMENTS:
AFS 8.2.6 Capable of turret drift adjustment
AIS 5.3.1 Drift Adjust discrete
ATTRIBUTE: Drive_on
DESCRIPTION:
Current status of the turret drive. The turret drive may either be
switched on or off.
TYPE: boolean
MEMBERS:
FALSE - turret drive is off
TRUE - turret drive is on
DEFAULT: FALSE
REQUIREMENTS:
AFS 8.2.9 Monitor Drive System On
AIS 5.2.1 Drive System On discrete
ATTRIBUTE: Drive_system_hours
DESCRIPTION:
Total number of hours drive has been activated.
TYPE: integer
RANGE: 0 - +INFINITY
UNITS: seconds
REQUIREMENTS:
AFS 4.11 Respond to CDT elapsed time indicator key
ATTRIBUTE: Elevation_displacement
DESCRIPTION:
This attribute represents the current elevation displacement
of the turret.
TYPE: floating point
RANGE: 0-0
UNITS: degrees
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.7 Elevation Displacement analog
ATTRIBUTE: Elevation_rate
DESCRIPTION:
Elevation rate command for movement of the turret.
TYPE: floating point
RANGE: X - Y
UNITS: degrees / second
DEFAULT: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
ATTRIBUTE: Fault
DESCRIPTION:
This attribute denotes whether a turret malfunction has occurred.
TYPE: boolean
MEMBERS:
TRUE - a turret malfunction has occurred
FALSE - no turret malfunction has occurred
DEFAULT: FALSE
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.4 Turret Drive Malfunction discrete
ATTRIBUTE: Mode
DESCRIPTION:
Current requested drive mode.
TYPE: enumerated
MEMBERS:
POWER - operate in POWER mode
STAB - operate in STABILIZED mode
DEFAULT: POWER
REQUIREMENTS:
bogus requirement
ATTRIBUTE: Remote_power_interlock_position
DESCRIPTION:
This is the status of the remote's power interlock.
TYPE: enumerated
MEMBERS:
OPEN - relay is open
CLOSED - relay is closed
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ATTRIBUTE: Speed
DESCRIPTION:
Current speed mode of the ECA turret drive.
TYPE: enumerated
MEMBERS:
LOW_SPEED - turret drive does not allow the maximum rate
HIGH_SPEED - turret drive allows the maximum rate
DEFAULT: HIGH
REQUIREMENTS:
AFS 8.2.5 Control Turret
AIS 5.3.3 Turret High Speed Mode discrete
ATTRIBUTE: Stabilized_mode
DESCRIPTION:
Current drive mode indicating whether the ECA electronics are
operating in Stabilized mode or Power mode.
TYPE: boolean
MEMBERS:
FALSE - not operating in STABILIZED mode
TRUE - operating in STABILIZED mode
DEFAULT: FALSE
REQUIREMENTS:
AFS 8.2.8 Monitor Turret Stab Mode Indicate
AIS 5.2.3 Turret Stab Mode Indicate discrete
ATTRIBUTE: State
DESCRIPTION:
Current state of the turret drive.
TYPE: enumerated
MEMBERS:
ACTIVATED - turret drive is ON and active
DEACTIVATED - turret drive is ON but deactivated
DEFAULT: DEACTIVATED
REQUIREMENTS:
AFS 8.2.4 Set Plam Grips Active
AIS 5.3.2 Palm Grips Active discrete
ATTRIBUTE: Thermal_fault
DESCRIPTION:
This attribute denotes whether a turret thermal fault has occurred.
TYPE: boolean
MEMBERS:
TRUE - a turret thermal fault has occurred
FALSE - no turret thermal fault has occurred
DEFAULT: FALSE
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.2 Turret ECA Thermal Failure discrete
ATTRIBUTE: Turret_power_interlock_position
DESCRIPTION:
This is the status of the turret's power interlock.
TYPE: enumerated
MEMBERS:
OPEN - relay is open
CLOSED - relay is closed
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE: Drift_adjust_t
DESCRIPTION:
This abstract type represents the current drift adjustment mode
of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
ADJUST_OFF = 0 - drift adjust mode is OFF
ADJUST_ON = 1 - drift adjust mode is ON
REQUIREMENTS:
AIS 5.3.1 Drift Adjust discrete
ABSTRACT TYPE: Interlock_status
DESCRIPTION:
An interlock state being OPEN or CLOSED.
VISIBILITY: private
DERIVATION: enumerated
MEMBERS:
OPEN - interlock relay is in the open state
CLOSED - interlock relay is in the closed state
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ABSTRACT TYPE: Mode
DESCRIPTION:
This type specifies the drive mode of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
POWER - operate in POWER mode
STAB - operate in STABILIZED mode
ABSTRACT TYPE: Speed
DESCRIPTION:
This type specifies the Speed mode of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
LOW_SPEED = 0 - turret drive does not allow the maximum rate
HIGH_SPEED = 1 - turret drive allows the maximum rate
REQUIREMENTS:
AIS 5.3.3 Turret High Speed Mode discrete
ABSTRACT TYPE: State_t
DESCRIPTION:
This type specifies the state of the turret drive.
VISIBILITY: private
DERIVATION: enumerated
MEMBERS:
DEACTIVATED - turret drive is ON but deactivated
ACTIVATED - turret drive is ON and active
DATA ITEM DESCRIPTIONS:
DATA ITEM: Azimuth_displacement_control
DESCRIPTION:
This data item contains the Azimuth_displacement analog control
information.
TYPE: handle
DATA ITEM: Azimuth_rate_control
DESCRIPTION:
This data item contains the Azimuth_rate analog control
information.
TYPE: handle
DATA ITEM: Drift_adjust_control
DESCRIPTION:
This data item contains the Drift_adjust discrete control
information.
TYPE: handle
DATA ITEM: Drive_activate_control
DESCRIPTION:
This data item contains the activate drive relay control information.
TYPE: handle
DATA ITEM: Drive_activated_timestamp
DESCRIPTION:
This data item stores the timestamp of the last time the drive was
activated. It will be used to compute the activated time when a
deactivate is received.
TYPE: time_t
DEFAULT: none
NOTES:
see C library for data type information
DATA ITEM: Drive_on
DESCRIPTION:
The current status of the turret drive representing whether
the drive is on or off.
TYPE: boolean
DEFAULT: FALSE
DATA ITEM: Drive_on_control
DESCRIPTION:
This data item contains the Drive_on discrete flag control
information.
TYPE: handle
DATA ITEM: Drive_system_hours
DESCRIPTION:
This data item stores the actual time the drive has been active.
This value will be output by the Get_time method and will be set
by the Set_time method.
TYPE: integer
RANGE: 0 - +INFINITY
UNITS: seconds
DEFAULT: 0
DATA ITEM: Elevation_rate_control
DESCRIPTION:
This data item contains the Elevation_rate analog control
information.
TYPE: handle
DATA ITEM: Elevation_displacement_control
DESCRIPTION:
This data item contains the Elevation_displacement analog control
information.
TYPE: handle
DATA ITEM: Fault_control
DESCRIPTION:
This data item contains the Fault discrete flag control
information.
TYPE: handle
DATA ITEM: Remote_power_interlock_control
DESCRIPTION:
This data item contains the Remote_power_interlock relay control
information.
TYPE: handle
DATA ITEM: Stabilized_mode_control
DESCRIPTION:
This data item contains the Stabilized_mode discrete flag control
information.
TYPE: handle
DATA ITEM: State
DESCRIPTION:
The current state of the turret drive representing an activated or
deactivated drive.
TYPE: State_t
DEFAULT: DEACTIVATED
DATA ITEM: Thermal_fault_control
DESCRIPTION:
This data item contains the Thermal_fault discrete flag control
information.
TYPE: handle
DATA ITEM: Turret_power_interlock_control
DESCRIPTION:
This data item contains the Turret_power_interlock relay control
information.
TYPE: handle
DATA ITEM: Turret_power_interlock_status
DESCRIPTION:
The accurate status of the turret power interlock relay. This value
will be used to control the relay during a transition from the remote
back to the turret console.
TYPE: Interlock_status
DEFAULT: none
METHOD DESCRIPTIONS:
METHOD: Activate
DESCRIPTION:
This method activates the turret drive system. A timestamp of the
activation is recorded to keep a running count of hours the drive has
been active.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.4 Set Palm Grips Active
AIS 5.3.2 Palm Grips Active discrete
PDL:
if Drive_on
if State is DEACTIVATED
close the Drive_activate_control relay using the Relay object
timestamp Drive_activated_timestamp for Drive_system_hours
running total
set State to ACTIVATED
else
already in the ACTIVATED state
METHOD: Create
DESCRIPTION:
This method initializes the Turret Drive object. All monitors of
turret drive signals are initialized and/or registered. All turret
drive characteristics are set to their initial values.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
PDL:
set State to DEACTIVATED
get Drive_system_hours to initialize the elapsed drive time
from the Statistics (eeprom database) object - this is
stored upon shutdown in eeprom
create Fault_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_fault
change fault using initial value returned from create Fault_control
create Thermal_fault_control using Discrete_flag object with
the following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_0
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_thermal_fault
change thermal fault using initial value returned from create
Thermal_fault_control
create Stabilized_mode_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_stabilized_mode
change stabilized mode using initial value returned from create
Stabilized_mode_control
create Drive_on_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_drive_on
change drive on using initial value returned from create
Drive_on_control
create Azimuth_rate_control using the Linear_dac object
with the following attributes:
voltage_low - -10
voltage_high - +10
logical_low - -60
logical_high - +60
is_buffered - false
period - none
initial_value - 0
create Elevation_rate_control using the Linear_dac object with the
following attributes:
voltage_low - -10
voltage_high - +10
logical_low - -60
logical_high - +60
is_buffered - false
period - none
initial_value - 0
create Azimuth_displacement_control using the Linear_adc object with
the following attributes:
voltage low -
voltage high -
logical low -
logical high -
is_buffered - false
is_monitored - false
period - none
change_routine - none
delta - none
create Elevation_displacement_control using the Linear_adc object
with the following attributes:
voltage low -
voltage high -
logical low -
logical high -
is_buffered - false
is_monitored - false
period - none
change_routine - none
delta - none
create Drive_activate_control using the Relay object with the
following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
create Turret_power_interlock_control using the Relay object with
the following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
set Turret_power_interlock_status to OPEN
create Remote_power_interlock_control using the Relay
object with the following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
create Drift_adjust_control using the Discrete_out object with
following attributes:
is_buffered - false
period - 10ms
initial_value - ADJUST_OFF
METHOD: Deactivate
DESCRIPTION:
This method deactivates the turret drive system. A timestamp of the
activation is recorded to keep a running count of hours the drive
has been active.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.4 Set Plam Grips Active
AIS 5.3.2 Palm Grips Active discrete
PDL:
if Drive_on
if State is DEACTIVATED
timestamp deactivate for Drive_system_hours running total
deactivate drive by opening the Drive_activate_control relay
using the Relay object
compute running time since last activate
add running time to Drive_system_hours
set State to DEACTIVATED
else
already in the DEACTIVATED state
METHOD: Disable_remote_power_interlock
DESCRIPTION:
This method disables the turret power interlock safety preventing
the turret from being driven by the remote's handstation.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
PDL:
open the remote power interlock relay
return the turret relay to its designated state defined by the
Turret_power_interlock_status
METHOD: Disable_turret_power_interlock
DESCRIPTION:
This method disables the turret power interlock safety preventing
the turret from being driven by the turret's handstation.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
PDL:
Deactivate the Drive object
open the turret power interlock relay
set Turret_power_interlock_status to OPEN
METHOD: Enable_remote_power_interlock
DESCRIPTION:
This method will enable the remote power interlock to allow
the turret to be driven from the remote station.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
NOTES:
At this time the turret's power interlock is opened to avoid
having both relays closed at a time.
PDL:
if Drive_on
open the turret power interlock relay using the Relay object
close the remote power interlock relay using the Relay object
METHOD: Enable_turret_power_interlock
DESCRIPTION:
This method will enable the turret power interlock to allow
the turret to be driven from the turret station.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
NOTES:
At this time the closed state is saved to allow the correct state
to be returned to in the event a remote overrides the turret and the
remote gives up its control, we must return to the previous state of
the turret power interlock.
PDL:
if Drive_on
close the turret power interlock relay using the Relay object
set the Turret_power_interlock_status to CLOSED to return to
when remote gives up control
METHOD: Get_AZ_EL_displacement
DESCRIPTION:
This method returns the current azimuth displacement and elevation
displacement from the ECA.
VISIBILITY: public
INPUTS: none
OUTPUTS:
current azimuth displacement value
current elevation displacement value
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.6 Azimuth Displacement analog
AIS 5.2.7 Elevation Displacement analog
NOTES:
Currently supported as an on-demand type of signal. May change to a
monitored analog signal.
PDL:
if Drive_on
get and return current azimuth displacement and current elevation
displacement from ECA using the Linear_ADC object
METHOD: Get_hours
DESCRIPTION:
This method returns the current value contained in the elapsed
turret drive active time.
VISIBILITY: public
INPUTS: none
OUTPUTS:
elapsed turret drive time - the current elasped turret drive time
REQUIREMENTS:
bogus requirements
REFERENCES:
AFS 4.11 Respond to CDT elapsed time indicator key
NOTES:
bogus notes
PDL:
return the current value for Drive_system_hours
METHOD: Set_drift_adjust
DESCRIPTION:
This method provides the ability to set the drift adjust to the
value represented by the handstation. Drift adjust is either ON
or OFF.
VISIBILITY: public
INPUTS:
value - new drift adjust value
ADJUST_OFF - drift adjust mode is OFF
ADJUST_ON - drift adjust mode is ON
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.6 Capable of turret drift adjustment
AIS 5.3.1 Drift Adjust discrete
PDL:
if Drive_on
set drift adjust discrete to value using Discrete_out object
METHOD: Set_hours
DESCRIPTION:
This method will set the turret drive activated elapsed time value
to the specified value.
VISIBILITY: public
INPUTS:
new_elapsed_time_value - specified turret drive elapsed time value
OUTPUTS: none
REQUIREMENTS:
AFS 4.11 Respond to CDT elapsed time indicator key
PDL:
set the value of Drive_system_hours to the value specified by
new_elapsed_time_value
METHOD: Set_mode
DESCRIPTION:
This method sets the requested mode of the turret drive.
VISIBILITY: public
INPUTS:
mode - new requested mode
POWER - operating in POWER mode
STAB - operating in STABILIZED mode
OUTPUTS: none
REQUIREMENTS:
bogus requirements
PDL:
if mode is POWER
set drive mode switchlight to PWR_LAMP using the Console object
else if mode is STAB
set drive mode switchlight to STB_LAMP using the Console object
METHOD: Set_rate
DESCRIPTION:
This method provides the ability to send azimuth and elevation rates
to the drive. Two parameters are used as input to designate the
corresponding rates. These parameters must be in degrees per second.
VISIBILITY: public
INPUTS:
azimuth rate - new azimuth rate in degress per second
elevation rate - new elevation rate in degress per second
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
NOTES:
May need to couple these analogs with an interface driver to close
the window between writes and conversions.
PDL:
if Drive_on
send the new azimuth rate to the Azimuth analog
send the new elevation rate to Elevation analog
METHOD: Set_speed
DESCRIPTION:
This method sets the turret drive speed mode to the specified value
either high or low based on user input.
VISIBILITY: public
INPUTS:
new_speed_value - new value to set the turret speed to
LOW_SPEED - turret drive does not allow the maximum rate
HIGH_SPEED - turret drive allows the maximum rate
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.5 Control Turret
AIS 5.3.3 Turret High Speed Mode discrete
PDL:
if Drive_on
set turret drive high speed mode discrete to the new_speed_value
using Discrete_out object
METHOD: Change_drive_on
DESCRIPTION:
This method will be used to report a transition of the drive system
on discrete.
VISIBILITY: private
INPUTS:
value - new drive system on value
FALSE - indicates drive not on
TRUE - indicates drive on
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.9 Monitor Drive System On
AIS 5.2.1 Drive System On discrete
REFERENCES:
bogus references
NOTES:
bogus notes
PDL:
set Drive_on to value
if Drive_on is FALSE
deactivate the turret drive using the Drive object
METHOD: Change_fault
DESCRIPTION:
This method will be used to indicate that a turret malfunction
has been recognized by the turret drive.
VISIBILITY: private
INPUTS:
value - new value resulting from a fault discrete change
FALSE - indicates no fault
TRUE - indicates fault
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.4 Turret Drive Malfunction discrete
PDL:
if value
send turret fault message using the Display object
else
return
METHOD: Change_stabilized_mode
DESCRIPTION:
This method will determine a transition from STAB mode to POWER mode.
It will set the stab mode lamp on the console.
VISIBILITY: private
INPUTS:
value - new value resulting from a stab mode discrete change
FALSE - indicates not stabilized mode
TRUE - indicates stabilized mode
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.8 Monitor Turret Stab Mode Indicate
AIS 5.2.3 Turret Stab Mode Indicate discrete
PDL:
if value
set STAB mode light to LAMP_ON using the Console object
else value indicates not stabilized mode
set STAB mode light to LAMP_OFF using the Console object
METHOD: Change_thermal_fault
DESCRIPTION:
This method will be used to indicate that a thermal fault has been
recognized by the turret drive.
VISIBILITY: private
INPUTS:
value - new value resulting from a thermal fault discrete change
FALSE - indicates no thermal fault
TRUE - indicates thermal fault
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.2 Turret ECA Thermal Failure discrete
PDL:
if value
send thermal fault message using the Display object
else
return
TASK DESCRIPTIONS: none
ENDOBJECT: Drive

View File

@@ -1,94 +0,0 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename afcc
@settitle AFCC Internals Guide
@paragraphindent 0
@c %**end of header
@c
@c COPYRIGHT (c) 1996-1997.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c This prevents a black box from being printed on "overflow" lines.
@c The alternative is to rework a sentence to avoid this problem.
@finalout
@tex
\global\parindent 0in
\global\chapheadingskip = 15pt plus 4pt minus 2pt
\global\secheadingskip = 12pt plus 4pt minus 2pt
\global\subsecheadingskip = 9pt plus 4pt minus 2pt
@ifclear smallbook
\global\parskip 6pt plus 1pt
@end ifclear
@end tex
@ifinfo
@format
START-INFO-DIR-ENTRY
* AFCC: . AFCC Objects
END-INFO-DIR-ENTRY
@end format
@end ifinfo
@c Joel's Questions
@c
@c 1. Why does paragraphindent only impact makeinfo?
@c
@setchapternewpage odd
@c
@c Master file for the C User's Guide
@c
@include Drive.texi
@ifinfo
@node Top, Turret Subsystem, Gunner Station Subsystem, (dir)
@top afcc
This is the info version of the object documentation for the AFCC.
The following subsystems are in the AFCC:
@menu
* Turret Subsystem::
* Vehicle Subsystem::
* Gunner Station Subsystem::
@end menu
@node Turret Subsystem, , Top, Top
The following objects are in the Turret Subsystem:
@menu
* Drive Object:: Drive Object
@end menu
@node Vehicle Subsystem, Gunner Station Subsystem, , Top
@menu
The following objects are in the Turret Subsystem:
* ::
@end menu
@node Gunner Station Subsystem, Top, Vehicle Subsystem, Top
@menu
The following objects are in the Gunner Station Subsystem:
* ::
@end menu
@end ifinfo
@c
@c
@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here
@c
@bye

View File

@@ -1,874 +0,0 @@
OBJECT: Drive
DESCRIPTION:
This object provides an interface to the elevation/azimuth
drive system(ECA).
THEORY OF OPERATION:
This object encapsulates the turret drive. The object provides
an interface to control the turret drive. A method is provided
to set the azimuth and elevation rate of the drive. Methods are
provided to request the drive to run in stabilized or power mode
and set the drive speed to high or low. A method is also provided
to allow for drift adjust.
This object also tracks drive system on hours. It gets the hours
from the EEPROM data, allows the hours to be set, updates the
hours via the activation and deactivation of the drive, and
provides access to the hours.
The object also provides methods to access azimuth and elevation
displacement, and methods to process changes in the hardware
discretes drive on, stabilized mode, thermal fault and fault.
The object also provides methods to enable and disable
both the remote and turret power interlocks which determine if
the drive can be driven by the remote or turret handstation
respectively.
ATTRIBUTE DESCRIPTIONS:
ATTRIBUTE: Azimuth_displacement
DESCRIPTION:
This attribute represents the current azimuth displacement
of the turret.
TYPE: floating point
RANGE: ???
UNITS: degrees
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.6 Azimuth Displacement analog
ATTRIBUTE: Azimuth_rate
DESCRIPTION:
Azimuth rate command for movement of the turret.
TYPE: floating point
UNITS: degrees / second
DEFAULTS: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
ATTRIBUTE: Drift_adjust
DESCRIPTION:
This attribute represents the current drift adjustment mode
of the ECA turret drive.
TYPE: enumerated
MEMBERS:
ADJUST_OFF - drift adjust mode is OFF
ADJUST_ON - drift adjust mode is ON
REQUIREMENTS:
AFS 8.2.6 Capable of turret drift adjustment
AIS 5.3.1 Drift Adjust discrete
ATTRIBUTE: Drive_on
DESCRIPTION:
Current status of the turret drive. The turret drive may either be
switched on or off.
TYPE: boolean
MEMBERS:
FALSE - turret drive is off
TRUE - turret drive is on
DEFAULTS: FALSE
REQUIREMENTS:
AFS 8.2.9 Monitor Drive System On
AIS 5.2.1 Drive System On discrete
ATTRIBUTE: Drive_system_hours
DESCRIPTION:
Total number of hours drive has been activated.
TYPE: integer
RANGE: 0 - +INFINITY
UNITS: seconds
REQUIREMENTS:
AFS 4.11 Respond to CDT elapsed time indicator key
ATTRIBUTE: Elevation_displacement
DESCRIPTION:
This attribute represents the current elevation displacement
of the turret.
TYPE: floating point
RANGE: ???
UNITS: degrees
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.7 Elevation Displacement analog
ATTRIBUTE: Elevation_rate
DESCRIPTION:
Elevation rate command for movement of the turret.
TYPE: floating point
UNITS: degrees / second
DEFAULTS: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
ATTRIBUTE: Fault
DESCRIPTION:
This attribute denotes whether a turret malfunction has occurred.
TYPE: boolean
MEMBERS:
TRUE - a turret malfunction has occurred
FALSE - no turret malfunction has occurred
DEFAULTS: FALSE
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.4 Turret Drive Malfunction discrete
ATTRIBUTE: Mode
DESCRIPTION:
Current requested drive mode.
TYPE: enumerated
MEMBERS:
POWER - operate in POWER mode
STAB - operate in STABILIZED mode
DEFAULTS: POWER
REQUIREMENTS:
ATTRIBUTE: Remote_power_interlock_position
DESCRIPTION:
This is the status of the remote's power interlock.
TYPE: enumerated
MEMBERS:
OPEN - relay is open
CLOSED - relay is closed
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ATTRIBUTE: Speed
DESCRIPTION:
Current speed mode of the ECA turret drive.
TYPE: enumerated
MEMBERS:
LOW_SPEED - turret drive does not allow the maximum rate
HIGH_SPEED - turret drive allows the maximum rate
DEFAULTS: HIGH
REQUIREMENTS:
AFS 8.2.5 Control Turret
AIS 5.3.3 Turret High Speed Mode discrete
ATTRIBUTE: Stabilized_mode
DESCRIPTION:
Current drive mode indicating whether the ECA electronics are
operating in Stabilized mode or Power mode.
TYPE: boolean
MEMBERS:
FALSE - not operating in STABILIZED mode
TRUE - operating in STABILIZED mode
DEFAULTS: FALSE
REQUIREMENTS:
AFS 8.2.8 Monitor Turret Stab Mode Indicate
AIS 5.2.3 Turret Stab Mode Indicate discrete
ATTRIBUTE: State
DESCRIPTION:
Current state of the turret drive.
TYPE: enumerated
MEMBERS:
ACTIVATED - turret drive is ON and active
DEACTIVATED - turret drive is ON but deactivated
DEFAULTS: DEACTIVATED
REQUIREMENTS:
AFS 8.2.4 Set Plam Grips Active
AIS 5.3.2 Palm Grips Active discrete
ATTRIBUTE: Thermal_fault
DESCRIPTION:
This attribute denotes whether a turret thermal fault has occurred.
TYPE: boolean
MEMBERS:
TRUE - a turret thermal fault has occurred
FALSE - no turret thermal fault has occurred
DEFAULTS: FALSE
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.2 Turret ECA Thermal Failure discrete
ATTRIBUTE: Turret_power_interlock_position
DESCRIPTION:
This is the status of the turret's power interlock.
TYPE: enumerated
MEMBERS:
OPEN - relay is open
CLOSED - relay is closed
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS:
ABSTRACT TYPE: Drift_adjust_t
DESCRIPTION:
This abstract type represents the current drift adjustment mode
of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
ADJUST_OFF = 0 - drift adjust mode is OFF
ADJUST_ON = 1 - drift adjust mode is ON
REQUIREMENTS:
AIS 5.3.1 Drift Adjust discrete
ABSTRACT TYPE: Interlock_status
DESCRIPTION:
An interlock state being OPEN or CLOSED.
VISIBILITY: private
DERIVATION: enumerated
MEMBERS:
OPEN - interlock relay is in the open state
CLOSED - interlock relay is in the closed state
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
ABSTRACT TYPE: Mode
DESCRIPTION:
This type specifies the drive mode of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
POWER - operate in POWER mode
STAB - operate in STABILIZED mode
ABSTRACT TYPE: Speed
DESCRIPTION:
This type specifies the Speed mode of the ECA turret drive.
VISIBILITY: public
DERIVATION: enumerated
MEMBERS:
LOW_SPEED = 0 - turret drive does not allow the maximum rate
HIGH_SPEED = 1 - turret drive allows the maximum rate
REQUIREMENTS:
AIS 5.3.3 Turret High Speed Mode discrete
ABSTRACT TYPE: State_t
DESCRIPTION:
This type specifies the state of the turret drive.
VISIBILITY: private
DERIVATION: enumerated
MEMBERS:
DEACTIVATED - turret drive is ON but deactivated
ACTIVATED - turret drive is ON and active
DATA ITEM DESCRIPTIONS:
DATA ITEM: Azimuth_displacement_control
DESCRIPTION:
This data item contains the Azimuth_displacement analog control
information.
TYPE: handle
DATA ITEM: Azimuth_rate_control
DESCRIPTION:
This data item contains the Azimuth_rate analog control
information.
TYPE: handle
DATA ITEM: Drift_adjust_control
DESCRIPTION:
This data item contains the Drift_adjust discrete control
information.
TYPE: handle
DATA ITEM: Drive_activate_control
DESCRIPTION:
This data item contains the activate drive relay control information.
TYPE: handle
DATA ITEM: Drive_activated_timestamp
DESCRIPTION:
This data item stores the timestamp of the last time the drive was
activated. It will be used to compute the activated time when a
deactivate is received.
TYPE: time_t
DEFAULT: none
NOTES:
see C library for data type information ???
DATA ITEM: Drive_on
DESCRIPTION:
The current status of the turret drive representing whether
the drive is on or off.
TYPE: boolean
DEFAULT: FALSE
DATA ITEM: Drive_on_control
DESCRIPTION:
This data item contains the Drive_on discrete flag control
information.
TYPE: handle
DATA ITEM: Drive_system_hours
DESCRIPTION:
This data item stores the actual time the drive has been active.
This value will be output by the Get_time method and will be set
by the Set_time method.
TYPE: integer
RANGE: 0 - +INFINITY
UNITS: seconds
DEFAULT: 0
DATA ITEM: Elevation_rate_control
DESCRIPTION:
This data item contains the Elevation_rate analog control
information.
TYPE: handle
DATA ITEM: Elevation_displacement_control
DESCRIPTION:
This data item contains the Elevation_displacement analog control
information.
TYPE: handle
DATA ITEM: Fault_control
DESCRIPTION:
This data item contains the Fault discrete flag control
information.
TYPE: handle
DATA ITEM: Remote_power_interlock_control
DESCRIPTION:
This data item contains the Remote_power_interlock relay control
information.
TYPE: handle
DATA ITEM: Stabilized_mode_control
DESCRIPTION:
This data item contains the Stabilized_mode discrete flag control
information.
TYPE: handle
DATA ITEM: State
DESCRIPTION:
The current state of the turret drive representing an activated or
deactivated drive.
TYPE: State_t
DEFAULT: DEACTIVATED
DATA ITEM: Thermal_fault_control
DESCRIPTION:
This data item contains the Thermal_fault discrete flag control
information.
TYPE: handle
DATA ITEM: Turret_power_interlock_control
DESCRIPTION:
This data item contains the Turret_power_interlock relay control
information.
TYPE: handle
DATA ITEM: Turret_power_interlock_status
DESCRIPTION:
The accurate status of the turret power interlock relay. This value
will be used to control the relay during a transition from the remote
back to the turret console.
TYPE: Interlock_status
DEFAULT: none
METHODS DESCRIPTIONS:
METHOD: Activate
DESCRIPTION:
This method activates the turret drive system. A timestamp of the
activation is recorded to keep a running count of hours the drive has
been active.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.4 Set Palm Grips Active
AIS 5.3.2 Palm Grips Active discrete
PDL:
if Drive_on
if State is DEACTIVATED
close the Drive_activate_control relay using the Relay object
timestamp Drive_activated_timestamp for Drive_system_hours
running total
set State to ACTIVATED
else
already in the ACTIVATED state
METHOD: Create
DESCRIPTION:
This method initializes the Turret Drive object. All monitors of
turret drive signals are initialized and/or registered. All turret
drive characteristics are set to their initial values.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
PDL:
set State to DEACTIVATED
get Drive_system_hours to initialize the elapsed drive time
from the Statistics (eeprom database ???) object - this is
stored upon shutdown in eeprom
create Fault_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_fault
change fault using initial value returned from create Fault_control
create Thermal_fault_control using Discrete_flag object with
the following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_0
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_thermal_fault
change thermal fault using initial value returned from create
Thermal_fault_control
create Stabilized_mode_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_stabilized_mode
change stabilized mode using initial value returned from create
Stabilized_mode_control
create Drive_on_control using Discrete_flag object with the
following attributes
true_sense - DISCRETE_FLAG_TRUE_IS_1
is_buffered - false
is_monitored - true
period - 10ms
change_routine - Change_drive_on
change drive on using initial value returned from create
Drive_on_control
create Azimuth_rate_control using the Linear_dac object
with the following attributes:
none voltage_low - -10
voltage_high - +10
logical_low - -60
logical_high - +60
is_buffered - false
period - none
initial_value - 0
create Elevation_rate_control using the Linear_dac object with the
following attributes:
voltage_low - -10
voltage_high - +10
logical_low - -60
logical_high - +60
is_buffered - false
period - none
initial_value - 0
create Azimuth_displacement_control using the Linear_adc object with
the following attributes:
voltage low -
voltage high -
logical low -
logical high -
is_buffered - false
is_monitored - false
period - none
change_routine - none
delta - none
create Elevation_displacement_control using the Linear_adc object
with the following attributes:
voltage low -
voltage high -
logical low -
logical high -
is_buffered - false
is_monitored - false
period - none
change_routine - none
delta - none
create Drive_activate_control using the Relay object with the
following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
create Turret_power_interlock_control using the Relay object with
the following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
set Turret_power_interlock_status to OPEN
create Remote_power_interlock_control using the Relay
object with the following attributes:
open_sense - RELAY_OPEN_IS_0
is_buffered - false
period - none
initial_state - RELAY_OPEN
create Drift_adjust_control using the Discrete_out object with
following attributes:
is_buffered - false
period - 10ms
initial_value - ADJUST_OFF
METHOD: Deactivate
DESCRIPTION:
This method deactivates the turret drive system. A timestamp of the
activation is recorded to keep a running count of hours the drive
has been active.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.4 Set Plam Grips Active
AIS 5.3.2 Palm Grips Active discrete
PDL:
if Drive_on
if State is DEACTIVATED
timestamp deactivate for Drive_system_hours running total
deactivate drive by opening the Drive_activate_control relay
using the Relay object
compute running time since last activate
add running time to Drive_system_hours
set State to DEACTIVATED
else
already in the DEACTIVATED state
METHOD: Disable_remote_power_interlock
DESCRIPTION:
This method disables the turret power interlock safety preventing
the turret from being driven by the remote's handstation.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
PDL:
open the remote power interlock relay
return the turret relay to its designated state defined by the
Turret_power_interlock_status
METHOD: Disable_turret_power_interlock
DESCRIPTION:
This method disables the turret power interlock safety preventing
the turret from being driven by the turret's handstation.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
PDL:
Deactivate the Drive object
open the turret power interlock relay
set Turret_power_interlock_status to OPEN
METHOD: Enable_remote_power_interlock
DESCRIPTION:
This method will enable the remote power interlock to allow
the turret to be driven from the remote station.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
NOTES:
At this time the turret's power interlock is opened to avoid
having both relays closed at a time.
PDL:
if Drive_on
open the turret power interlock relay using the Relay object
close the remote power interlock relay using the Relay object
METHOD: Enable_turret_power_interlock
DESCRIPTION:
This method will enable the turret power interlock to allow
the turret to be driven from the turret station.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.12 Control Power Interlock
NOTES:
At this time the closed state is saved to allow the correct state
to be returned to in the event a remote overrides the turret and the
remote gives up its control, we must return to the previous state of
the turret power interlock.
PDL:
if Drive_on
close the turret power interlock relay using the Relay object
set the Turret_power_interlock_status to CLOSED to return to
when remote gives up control
METHOD: Get_AZ_EL_displacement
DESCRIPTION:
This method returns the current azimuth displacement and elevation
displacement from the ECA.
VISIBILITY: public
INPUTS: none
OUTPUTS:
current azimuth displacement value
current elevation displacement value
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.6 Azimuth Displacement analog
AIS 5.2.7 Elevation Displacement analog
NOTES:
Currently supported as an on-demand type of signal. May change to a
monitored analog signal.
PDL:
if Drive_on
get and return current azimuth displacement and current elevation
displacement from ECA using the Linear_ADC object
METHOD: Get_hours
DESCRIPTION:
This method returns the current value contained in the elapsed
turret drive active time.
VISIBILITY: public
INPUTS: none
OUTPUTS:
elapsed turret drive time - the current elasped turret drive time
REQUIREMENTS:
REFERENCES:
AFS 4.11 Respond to CDT elapsed time indicator key
NOTES:
PDL:
return the current value for Drive_system_hours
METHOD: Set_drift_adjust
DESCRIPTION:
This method provides the ability to set the drift adjust to the
value represented by the handstation. Drift adjust is either ON
or OFF.
VISIBILITY: public
INPUTS:
value - new drift adjust value
ADJUST_OFF - drift adjust mode is OFF
ADJUST_ON - drift adjust mode is ON
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.6 Capable of turret drift adjustment
AIS 5.3.1 Drift Adjust discrete
PDL:
if Drive_on
set drift adjust discrete to value using Discrete_out object
METHOD: Set_hours
DESCRIPTION:
This method will set the turret drive activated elapsed time value
to the specified value.
VISIBILITY: public
INPUTS:
new_elapsed_time_value - specified turret drive elapsed time value
OUTPUTS: none
REQUIREMENTS:
AFS 4.11 Respond to CDT elapsed time indicator key
PDL:
set the value of Drive_system_hours to the value specified by
new_elapsed_time_value
METHOD: Set_mode
DESCRIPTION:
This method sets the requested mode of the turret drive.
VISIBILITY: public
INPUTS:
mode - new requested mode
POWER - operating in POWER mode
STAB - operating in STABILIZED mode
OUTPUTS: none
REQUIREMENTS:
PDL:
if mode is POWER
set drive mode switchlight to PWR_LAMP using the Console object
else if mode is STAB
set drive mode switchlight to STB_LAMP using the Console object
METHOD: Set_rate
DESCRIPTION:
This method provides the ability to send azimuth and elevation rates
to the drive. Two parameters are used as input to designate the
corresponding rates. These parameters must be in degrees per second.
VISIBILITY: public
INPUTS:
azimuth rate - new azimuth rate in degress per second
elevation rate - new elevation rate in degress per second
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
AIS 5.3.4 Elevation Rate analog
AIS 5.3.5 Azimuth Rate analog
NOTES:
May need to couple these analogs with an interface driver to close
the window between writes and conversions.
PDL:
if Drive_on
send the new azimuth rate to the Azimuth analog
send the new elevation rate to Elevation analog
METHOD: Set_speed
DESCRIPTION:
This method sets the turret drive speed mode to the specified value
either high or low based on user input.
VISIBILITY: public
INPUTS:
new_speed_value - new value to set the turret speed to
LOW_SPEED - turret drive does not allow the maximum rate
HIGH_SPEED - turret drive allows the maximum rate
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.5 Control Turret
AIS 5.3.3 Turret High Speed Mode discrete
PDL:
if Drive_on
set turret drive high speed mode discrete to the new_speed_value
using Discrete_out object
METHOD: Change_drive_on
DESCRIPTION:
This method will be used to report a transition of the drive system
on discrete.
VISIBILITY: private
INPUTS:
value - new drive system on value
FALSE - indicates drive not on
TRUE - indicates drive on
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.9 Monitor Drive System On
AIS 5.2.1 Drive System On discrete
REFERENCES:
NOTES:
PDL:
set Drive_on to value
if Drive_on is FALSE
deactivate the turret drive using the Drive object
METHOD: Change_fault
DESCRIPTION:
This method will be used to indicate that a turret malfunction
has been recognized by the turret drive.
VISIBILITY: private
INPUTS:
value - new value resulting from a fault discrete change
FALSE - indicates no fault
TRUE - indicates fault
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.4 Turret Drive Malfunction discrete
PDL:
if value
send turret fault message using the Display object
else
return
METHOD: Change_stabilized_mode
DESCRIPTION:
This method will determine a transition from STAB mode to POWER mode.
It will set the stab mode lamp on the console.
VISIBILITY: private
INPUTS:
value - new value resulting from a stab mode discrete change
FALSE - indicates not stabilized mode
TRUE - indicates stabilized mode
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.8 Monitor Turret Stab Mode Indicate
AIS 5.2.3 Turret Stab Mode Indicate discrete
PDL:
if value
set STAB mode light to LAMP_ON using the Console object
else value indicates not stabilized mode
set STAB mode light to LAMP_OFF using the Console object
METHOD: Change_thermal_fault
DESCRIPTION:
This method will be used to indicate that a thermal fault has been
recognized by the turret drive.
VISIBILITY: private
INPUTS:
value - new value resulting from a thermal fault discrete change
FALSE - indicates no thermal fault
TRUE - indicates thermal fault
OUTPUTS: none
REQUIREMENTS:
AFS 8.2.7 Check for ECA failure indication
AIS 5.2.2 Turret ECA Thermal Failure discrete
PDL:
if value
send thermal fault message using the Display object
else
return
END OBJECT: Drive

View File

@@ -1,52 +0,0 @@
OBJECT: Drive
DESCRIPTION:
This object provides an interface to the elevation/azimuth
drive system(ECA).
THEORY OF OPERATION:
This object encapsulates the turret drive. The object provides
an interface to control the turret drive. A method is provided
to set the azimuth and elevation rate of the drive. Methods are
provided to request the drive to run in stabilized or power mode
and set the drive speed to high or low. A method is also provided
to allow for drift adjust.
This object also tracks drive system on hours. It gets the hours
from the EEPROM data, allows the hours to be set, updates the
hours via the activation and deactivation of the drive, and
provides access to the hours.
The object also provides methods to access azimuth and elevation
displacement, and methods to process changes in the hardware
discretes drive on, stabilized mode, thermal fault and fault.
The object also provides methods to enable and disable
both the remote and turret power interlocks which determine if
the drive can be driven by the remote or turret handstation
respectively.
ATTRIBUTE DESCRIPTIONS:
ATTRIBUTE: Azimuth_displacement
DESCRIPTION:
This attribute represents the current azimuth displacement
of the turret.
TYPE: float constant
RANGE: 0-0
UNITS: degrees
REQUIREMENTS:
AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
AIS 5.2.6 Azimuth Displacement analog
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS: none
DATA ITEM DESCRIPTIONS: none
METHOD DESCRIPTIONS: none
TASK DESCRIPTIONS: none
END OBJECT: Drive

View File

@@ -1,260 +0,0 @@
OBJECT: AVDAS
DESCRIPTION:
This object collects various values from other objects in the system
and outputs the values in a message on a serial interface. The message
can be read and used as diagnostic information.
THEORY OF OPERATION:
This object contains a Server task which periodically collects
diagnostic values from other objects in the system and outputs the
values in a message on a serial interface. The diagnostic values
collected and formatted reflect system status.
NOTES:
The following engineering note consists of a chart to aid in the
decision making process of whether the AVDAS should reflect System
status or Switch status. As it is right now, it was decided to
reflect System status.
@table
System Switch
Gun Manual Weapon_control Gunner_console
Gun Air ------- -------
Gun Ground ------- -------
*Remote Status Remote Remote
*Msl Armed Indicate Missiles Missiles
*Rain Mode FOV FOV
*Msl Uncage Verified Missiles Missiles
*Msl Activate Status Missiles Missiles
*RSO Status Weapon_control Weapon_control
*Fire Permit Weapon_control_(new) Weapon_control_(new)
*Stab Mode Status Drive_(new) Drive_(new)
Uncage Mode Status Weapon_control Gunner_console_(new)
Engage Mode Status Mode Gunner_console_(new)
*Palm Grip Status Gunner_handstation Gunner_handstation
*System Fault Status Fault (Add) Fault_(new)
FLIR FOV Status FOV Gunner_console
*Autotrack Status Video_tracker Video_tracker
Arm Switch Status Weapon_control Gunner_console
*Uncage Switch Status Gunner_handstation Gunner_handstation
*Trig Switch Status Gunner_handstation Gunner_handstation
*Msl Fire Cmd Status Missiles_(new) Missiles_(new)
Helicopter Mode Weapon_control Gunner_console_(new)
IFF Challenge Switch IFF_(new) Gunner_console
*Auto Slew Status Autoslew_Is_on Autoslew_Is_on
@end table
Message bytes 26 through 29 are not set at this time pending
completion of the Super Elevate object.
ATTRIBUTE DESCRIPTIONS: none
ASSOCIATION DESCRIPTIONS: none
ABSTRACT TYPE DESCRIPTIONS: none
DATA ITEM DESCRIPTIONS:
DATA ITEM: Message
DESCRIPTION:
This data item is the buffer used to build an AVDAS data message.
The first two bytes are place-holders for the header bytes. The
last byte is a place-holder for the checksum byte.
DERIVATION: array[ 36 ]
TYPE: bytes
DEFAULT:
all bytes = 0x00
DATA ITEM: The_Channel
DESCRIPTION:
This data item contains the handle to the AVDAS channel.
TYPE: Channel_Control handle
DEFAULT: NULL
METHOD DESCRIPTIONS:
METHOD: Break_Up
DESCRIPTION:
This method converts a floating point number to two ascii bytes
based on an input range and weighting factor.
VISIBILITY: private
INPUTS:
max_range
min_range
value
weight_factor
OUTPUTS:
lower_byte
upper_byte
PDL:
if value between 0 and min_range
set temp2 to min_range
set bit_ratio to absolute value( temp2 / 0x8000 )
else if value between 0 and max_range
set temp2 to max_range
set bit_ratio to absolute value( temp2 / 0x7FF0 )
set temp3 to (value / temp2) * weight_factor
set temp4 to temp3 converted to unsigned 16 bit value
set temp4 to two's compliment of temp4
set lower_byte to lower 8 bits of temp4
set upper_byte to upper 8 bits of temp4
METHOD: Create
DESCRIPTION:
This method performs the necessary actions to create this object.
VISIBILITY: public
INPUTS: none
OUTPUTS: none
PDL:
initialize Message to default
get AVDAS protocol information using the AVDAS_protocol object
create a channel for the AVDAS interface using the Channel object
attach the channel to the AVDAS interface using the Channel object
with the following parameters:
flush - FALSE
major_number - CONFIGURATION_AVDAS_MAJOR
minor_number - CONFIGURATION_AVDAS_MINOR
TASK DESCRIPTIONS:
TASK: Server
DESCRIPTION:
This task periodically collects diagnostic values and outputs the
values in a message on a serial interface.
INPUTS: none
SYNCHRONIZATION: period
TIMING: 100 ms
REQUIREMENTS:
AFS 3.1.4 Provide AVDAS
AFS 3.1.7 Update AVDAS port
PDL:
create a period
wait for completion using the Initialization object
loop forever
wait for period to expire
initialize Message
get absolute azimuth using the Turret object
format absolute azimuth and store in Message[2] and Message[3]
get elevation using the Turret object
format elevation and store in Message[4] and Message[5]
get drive rate using the Drive object
format azimuth rate and store in Message[6] and Message[7]
format elevation rate and store in Message[8] and Message[9]
get drive displacement using the Drive object
format azimuth displacement and store in Message[10] and Message[11]
format elevation displacement and
store in Message[12] and Message[13]
get seeker position error using the Seeker object
format azimuth position error and
store in Message[14] and Message[15]
format elevation position error and
store in Message[16] and Message[17]
get range using the Laser object
format range and store in Message[18] and Message[19]
get north reference using the Turret object
format north reference and store in Message[20] and Message[21]
get video tracker position error using the Video_tracker object
format azimuth position error and
store in Message[22] and Message[23]
format elevation position error and
store in Message[24] and Message[25]
?get lead command?
get gun mode switch using the Weapon_control object
format gun mode switch and store in Message[30]
determine if remote is active using the Remote object
format remote active and store in Message[30]
determine if missile is safed using the Missiles object
format missile safed and store in Message[30]
determine if rain mode is active using the FOV object
format rain mode active and store in Message[30]
get missile inventory using the Missiles object
format present indicators and store in Message[31]
format selected indicators and store in Message[32]
determine if missile uncage verified using the Missiles object
format missile uncage verified and store in Message[32]
determine if missile activated using the Missiles object
format missile activated and store in Message[32]
determine if RSO is authorized using the Weapon_control object
format RSO authorized and store in Message[32]
determine if fire permit using the Weapon_control object
format fire permit and store in Message[32]
determine if stab mode using the Drive object
format stab mode and store in Message[33]
determine if uncage mode is WEAPON_CONTROL_MANUAL_UNCAGE using
the Weapon_control object
format uncage mode and store in Message[33]
determine if current mode is MODE_ENGAGE using the Mode object
format current mode and store in Message[33]
determine if palmgrip switch is pressed using the
Gunner_handstation object
format palmgrip switch pressed and store in Message[33]
determine if fault is active using the Fault object
format fault active and store in Message[33]
determine if FOV FLIR zoom is FOV_ZOOM_NARROW using the FOV object
format FOV FLIR zoom and store in Message[33]
determine if video tracker is on using the Video_tracker object
format video tracker on and store in Message[34]
determine if armed using the Weapon_control object
format armed and store in Message[34]
determine if uncage trigger switch pressed using the
Gunner_handstation object
format uncage trigger switch pressed and store in Message[34]
determine if fire trigger switch pressed using the
Gunner_handstation object
format fire trigger switch pressed and store in Message[34]
determine if missiles is firing using the Missiles object
format missiles firing and store in Message[34]
determine if helicopter mode is WEAPON_CONTROL_ON using the
Weapon_control object
format helicopter mode and store in Message[34]
determine if IFF challenge using the IFF object
format IFF challenge and store in Message[34]
determine if autoslew is on using the Autoslew object
format autoslew is on and store in Message[34]
loop until successful
write Message using the Channel object
if unsuccessful
reset the Channel object
ENDOBJECT: AVDAS