mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-27 15:00:16 +00:00
Initial revision
This commit is contained in:
890
doc/tools/pdl2texi/Drive.d
Normal file
890
doc/tools/pdl2texi/Drive.d
Normal file
@@ -0,0 +1,890 @@
|
||||
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
|
||||
66
doc/tools/pdl2texi/Makefile
Normal file
66
doc/tools/pdl2texi/Makefile
Normal file
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# COPYRIGHT (c) 1996-1997.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
# All rights reserved.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
CC=gcc
|
||||
#CFLAGS=-O4 -fomit-frame-pointer
|
||||
CFLAGS=-g
|
||||
|
||||
PROJECT=afcc
|
||||
TEXINPUTS=/home/gnu/work/binutils-2.6/texinfo:.
|
||||
BASE=Drive
|
||||
FILES=afcc.texi $(BASE).txt
|
||||
PROG=pdl2texi
|
||||
|
||||
all: $(PROG)
|
||||
|
||||
$(BASE).texi: $(BASE).d ./$(PROG)
|
||||
./$(PROG) $(BASE).d
|
||||
|
||||
$(PROG): main.o chain.o
|
||||
gcc -static main.o chain.o -o $(PROG)
|
||||
|
||||
drive: Drive
|
||||
Drive: $(BASE).txt
|
||||
/usr1/home/joel/tmp/makeinfo $(PROJECT).texi
|
||||
|
||||
main.o: main.c base.h
|
||||
|
||||
chain.o: chain.c
|
||||
|
||||
dvi: $(PROJECT).dvi
|
||||
ps: $(PROJECT).ps
|
||||
info: Drive
|
||||
html: $(PROJECT).texi $(BASE).txt
|
||||
../textools/texi2html $(PROJECT).texi
|
||||
|
||||
$(BASE).txt: $(BASE).d
|
||||
./$(PROG) -v -p "Turret Subsystem" -u "Turret Subsystem" $(BASE).d
|
||||
|
||||
$(PROJECT).ps: $(PROJECT).dvi
|
||||
dvips -o $(PROJECT).ps $(PROJECT).dvi
|
||||
|
||||
$(PROJECT).dvi: $(FILES)
|
||||
texi2dvi $(PROJECT).texi
|
||||
|
||||
view:
|
||||
test -r $(PROJECT).ps && ghostview $(PROJECT).ps
|
||||
|
||||
tests: test test1
|
||||
|
||||
test: $(PROG)
|
||||
rm -f $(BASE).texi
|
||||
./$(PROG) -v -p "Turret Subsystem" -u "Turret Subsystem" $(BASE).d
|
||||
|
||||
test1:
|
||||
rm -f t1.txt
|
||||
./$(PROG) -v t1.d
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROG) *.txt core *.html $(PROJECT) Drive.texi
|
||||
rm -f *.dvi *.ps *.log *.aux *.cp *.fn *.ky *.pg *.toc *.tp *.vr $(BASE)
|
||||
|
||||
94
doc/tools/pdl2texi/afcc.texi
Normal file
94
doc/tools/pdl2texi/afcc.texi
Normal file
@@ -0,0 +1,94 @@
|
||||
\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
|
||||
116
doc/tools/pdl2texi/base.h
Normal file
116
doc/tools/pdl2texi/base.h
Normal file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 1997.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* All rights reserved.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __PDL2AMI_h
|
||||
#define __PDL2AMI_h
|
||||
|
||||
#include "system.h"
|
||||
#include "chain.h"
|
||||
|
||||
#ifndef EXTERN
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Paragraph size should be kept down because it is allocated for each
|
||||
* Line_Control. If this number is large, the memory requirements for
|
||||
* the program increase significantly.
|
||||
*/
|
||||
|
||||
#define BUFFER_SIZE (2 * 1024)
|
||||
#define PARAGRAPH_SIZE (2 * 1024)
|
||||
|
||||
#define NUMBER_ELEMENTS( _x ) (sizeof(_x) / sizeof _x[0])
|
||||
|
||||
void exit_application(
|
||||
int status
|
||||
);
|
||||
|
||||
void ProcessFile(
|
||||
char *inname,
|
||||
char *outname
|
||||
);
|
||||
|
||||
void strtolower(
|
||||
char *dest,
|
||||
char *src
|
||||
);
|
||||
|
||||
void strtoInitialCaps(
|
||||
char *dest,
|
||||
char *src
|
||||
);
|
||||
|
||||
void StripBlanks( void );
|
||||
|
||||
void MergeParagraphs( void );
|
||||
|
||||
int CheckForIncomplete( void );
|
||||
|
||||
int CheckOutline( void );
|
||||
|
||||
int CheckSections( void );
|
||||
|
||||
void GenerateLists( void );
|
||||
|
||||
void GenerateAList(
|
||||
char *section,
|
||||
Chain_Control *the_list
|
||||
);
|
||||
|
||||
void LookForInternalInconsistencies( void );
|
||||
|
||||
int Match_Argument(
|
||||
char **array,
|
||||
int entries,
|
||||
char *users
|
||||
);
|
||||
|
||||
void usage( void );
|
||||
|
||||
void ReadFileIntoChain(
|
||||
char *inname
|
||||
);
|
||||
|
||||
int MergeText( void );
|
||||
|
||||
int CheckForBadWhiteSpace();
|
||||
|
||||
void RemoveCopyright();
|
||||
|
||||
void RemovePagebreaks();
|
||||
|
||||
int RemoveExtraBlankLines();
|
||||
|
||||
void FormatToTexinfo( void );
|
||||
|
||||
void PrintFile(
|
||||
char *out
|
||||
);
|
||||
|
||||
void DumpList(
|
||||
Chain_Control *the_list
|
||||
);
|
||||
|
||||
void ReleaseFile();
|
||||
|
||||
EXTERN boolean Verbose; /* status/debug msgs */
|
||||
EXTERN boolean Statistics; /* statistics msgs */
|
||||
EXTERN boolean IncompletesAreErrors;
|
||||
EXTERN boolean InsertTBDs;
|
||||
EXTERN Chain_Control Lines;
|
||||
|
||||
EXTERN int NumberOfAttributes;
|
||||
EXTERN int NumberOfAssociations;
|
||||
EXTERN int NumberOfAbstractTypes;
|
||||
EXTERN int NumberOfDataItems;
|
||||
EXTERN int NumberOfMethods;
|
||||
EXTERN int NumberOfTasks;
|
||||
|
||||
|
||||
#endif
|
||||
874
doc/tools/pdl2texi/drive.d
Normal file
874
doc/tools/pdl2texi/drive.d
Normal file
@@ -0,0 +1,874 @@
|
||||
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
|
||||
3256
doc/tools/pdl2texi/main.c
Normal file
3256
doc/tools/pdl2texi/main.c
Normal file
File diff suppressed because it is too large
Load Diff
52
doc/tools/pdl2texi/t1.d
Normal file
52
doc/tools/pdl2texi/t1.d
Normal file
@@ -0,0 +1,52 @@
|
||||
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
|
||||
Reference in New Issue
Block a user