forked from Imagelibrary/rtems
891 lines
24 KiB
D
891 lines
24 KiB
D
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
|