Return to TOC Curtis 1239E-1269E Manual, os 37.0 RevA – May 2021
10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 121
To add automatic fault actions to the VCL faults, the VCL programmer must dene the desired fault
actions by using the sixteen VCL variables: User_Fault_Action_01 through User_Fault_Action_16.
Each of the UserFault bits has a corresponding User_Fault_Action_xx variable (where “xx” is the
number of the VCL fault bit). When a VCL fault bit is set, the actions dened in the corresponding
User_Fault_Action_xx variable will be automatically executed by the operating system. For any
user fault, single or multiple actions can be specied. e available fault actions in the User_Fault_
Actions_xx variables are listed below:
Variable Fault Action
Bit0 = ShutdownMotor Disable the motor.
Bit1 = ShutdownMainContactor Shut down the main contactor (only if Main Enable = On).
Bit2 = ShutdownEMBrake Shut down the EM brake (only if EM Brake Disable Upon Fault = On).
Bit3 = ShutdownThrottle Set the Throttle_Command = 0%.
Bit4 = ShutdownInterlock Set the Interlock_State = Off.
Bit5 = ShutdownDriverl Shut down Driver1.
Bit6 = ShutdownDriver2 Shut down Driver2.
Bit7 = ShutdownDriver3 Shut down Driver3.
Bit8 = ShutdownDriver4 Shut down Driver4.
Bit9 = ShutdownPD Shut down Proportional Driver.
Bit10 = FullBrake Set the Brake_Command = 100%.
Bit11 = [reserved] N/A
Bit12 = TrimDisable Disable Dual Drive trim calculation.
Bit13 = SevereDual
For Dual Drive system, one controller has a severe fault but the main contactor
must stay closed so the other controller can continue to operate.
Bit14 = ShutdownSteer Steer angle = 0°.
Bit15 = LOSDual
For Dual Drive system, set the max speed to Dual_LOS_Max_Speed
parameter for operation in Limited Operating Strategy.
e User_Fault_Action_xx variables should be set up at the beginning of a VCL program (before the
main loop) as these fault actions should be dened only once in a program. Here is another example:
User_Fault_Action_02 = 24 ;Set fault action to ShutdownInterlock
;and ShutdownThrottle
MainLoop:
if (BDI_Percentage < 10)
{
UserFault1.2 = ON ; Set User Fault bit
Put_Spy_Text(“BDI Low”) ; Send message to Model 840 display
}
else
{
UserFault1.2 = OFF ; Clear User Fault bit
}
goto MainLoop