Curtis 1232 ошибки

Curtis 1232E Manual Online: Diagnostics And Troubleshooting. Table 6 TROUBLESHOOTING CHART, cont'd CODE PROGRAMMER LCD DISPLAY POSSIBLE CAUSE EFFECT OF FAULT 18 Severe B Overvoltage 1. See Monitor menu » Battery: ShutdownMotor; Capacitor Voltage. ShutdownMainContactor; 2. Battery menu...

PROGRAMMER LCD DISPLAY

CODE

EFFECT OF FAULT

18

Severe B+ Overvoltage

ShutdownMotor;

ShutdownMainContactor;

ShutdownEMBrake;

ShutdownThrottle;

FullBrake.

Controller Overtemp Cutback

22

Reduced drive and brake

torque.

23

B+ Undervoltage Cutback

Reduced drive torque.

24

B+ Overvoltage Cutback

Reduced brake torque.

Note: This fault is declared

only when the controller is

running in regen.

25

+5V Supply Failure

None, unless a fault action

is programmed in VCL.

26

Digital Out 6 Open/Short

Digital Output 6 driver

will not turn on.

Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE Manual,

2 4 N O V E M B E R 2 0 1 5

Table 6 TROUBLESHOOTING CHART, cont’d

POSSIBLE CAUSE

1. See Monitor menu » Battery:

Capacitor Voltage.

2. Battery menu parameters are

misadjusted.

3. Battery resistance too high for given

regen current.

4. Battery disconnected while regen

braking.

1. See Monitor menu » Controller:

Temperature.

2. Controller is performance-limited

at this temperature.

3. Controller is operating in an extreme

environment.

4. Excessive load on vehicle.

5. Improper mounting of controller.

1. Normal operation. Fault shows that

the batteries need recharging.

Controller is performance limited

at this voltage.

2. Battery parameters are misadjusted.

3. Non-controller system drain on battery.

4. Battery resistance too high.

5. Battery disconnected while driving.

6. See Monitor menu » Battery:

Capacitor Voltage.

7. Blown B+ fuse or main contactor

did not close.

1. Normal operation. Fault shows that

regen braking currents elevated the

battery voltage during regen braking. FET bridge enabled.

Controller is performance limited

at this voltage.

2. Battery parameters are misadjusted.

3. Battery resistance too high for given

regen current.

4. Battery disconnected while regen braking.

5. See Monitor menu » Battery:

Capacitor Voltage.

1. External load impedance on the

+5V supply (pin 26) is too low.

2. See Monitor menu » outputs:

5 Volts and Ext Supply Current.

1. External load impedance on Digital

Output 6 driver (pin 19) is too low.

30

os

9 — DIAGNOSTICS & TROUBLESHOOTING

SET/CLEAR CONDITIONS

Set: Capacitor bank voltage exceeded

the Severe Overvoltage limit (see page 64)

with FET bridge enabled.

Clear: Bring capacitor voltage below

Severe Overvoltage limit, and then

Set: Heatsink temperature exceeded 85°C.

Clear: Bring heatsink temperature below

85°C.

Set: Capacitor bank voltage dropped below

the Undervoltage limit (see page 64) with

the FET bridge enabled.

Clear: Bring capacitor voltage above the

Undervoltage limit.

Set: Capacitor bank voltage exceeded the

Overvoltage limit (see page 64) with the

Clear: Bring capacitor voltage below the

Overvoltage limit.

Set: +5V supply (pin 26) outside the

+5V±10% range.

Clear: Bring voltage within range.

Set: Digital Output 6 (pin 19) current

exceeded 15 mA.

Clear: Remedy the overcurrent cause

and use the VCL function

Set_DigOut()

to turn the driver on again.

137

  • Contents

  • Table of Contents

  • Bookmarks

Quick Links

Manual

DUAL DRIVE OPERATION

for Controller Models

1232E / 34E / 36E / 38E / 39E

1232SE / 34SE / 36SE

and

» Software Version OS 30.0 «

Read Instructions Carefully!

Specifications are subject to change without notice.

© 2016 Curtis Instruments, Inc. ® Curtis is a registered trademark of Curtis Instruments, Inc.

© The design and appearance of the products depicted herein are the copyright of Curtis Instruments, Inc.

Curtis Instruments, Inc.

200 Kisco Avenue

Mt. Kisco, NY 10549

www.curtisinstruments.com

/

,

53134

53133

OS30 3/1/16

DD

DD

loading

Summary of Contents for Curtis 1232E

  • Contents

  • Table of Contents

  • Bookmarks

Quick Links

Manual

DUAL DRIVE OPERATION

for Controller Models

1232E / 34E / 36E / 38E / 39E

1232SE / 34SE / 36SE

and

» Software Version OS 30.0 «

Read Instructions Carefully!

Specifications are subject to change without notice.

© 2016 Curtis Instruments, Inc. ® Curtis is a registered trademark of Curtis Instruments, Inc.

© The design and appearance of the products depicted herein are the copyright of Curtis Instruments, Inc.

Curtis Instruments, Inc.

200 Kisco Avenue

Mt. Kisco, NY 10549

www.curtisinstruments.com

/

,

53134

53133

OS30 3/1/16

DD

DD

loading

Summary of Contents for Curtis 1232E

Электротранспорт

Реклама: Все о контроллерах curtis

Хочешь стать куратором любимой темы?

  • Электротранспорт »
  • Ездим на батарейках! »
  • Электромобили (Модераторы: oldpilot, Surf_el, stels) »
  • Все о контроллерах curtis

*
Комментарии к новостям

Тема: Все о контроллерах curtis
Прочитано 55829 раз

0 Пользователи и 1 Гость просматривают эту тему.

03 Ноя 2020 в 13:34

Ответ #90

Оффлайн

Otard

Russia, Krasnodar
Сообщений: 1

Есть гольфмобиль на контроллере 1236-5401.
У него проблема — самопроизвольно едет вперёд. Даже удерживая педаль тормоза он пытается двигаться, причём амперметр на приборной панели показывает всё больше увеличивающийся ток.
Ошибок нет.
Контроллер помирает?



09 Июл 2021 в 18:57

Ответ #91

Оффлайн

Гольфкар Russia

Москва — Московская область — Россия
Сообщений: 4

Здравствуйте…есть программа и переходник…всегда подключался к контроллерам куртис 1266,1232,1236,1520., и другим но тут не смог подключиться к 1243 причём к нескольким….версия программы старая может быть

« Последнее редактирование: 10 Июл 2021 в 11:10 от Гольфкар Russia »



10 Июл 2021 в 11:23

Ответ #92

Оффлайн

Гольфкар Russia

Москва — Московская область — Россия
Сообщений: 4

smiley Evares, Здравствуйте…есть программа и переходник…по куртису….всегда подключался к разным контроллерам 1266,1236,1520 и т.д. Но вчера не смог подключиться к нескольким 1243 грузит подключение бесконечность



16 Мар 2022 в 16:07

Ответ #93

Оффлайн

alchemistt

43rus, Киров
Сообщений: 1

всем привет

подскажите, на радиатор наносится что-то под корпуса транзисторов и диодов? Там как будто остатки какой-то смазки, похожей на ЦИАТИМ, например

Модель 1221-7405 (хотя это сути не меняет, я думаю)



16 Мар 2022 в 21:39

Ответ #94

Оффлайн

Владимир_87

Владикавказ — Северная Осетия — Россия
Сообщений: 155

радиатор наносится что-то под корпуса транзисторов и диодов

Привет, термопаста



09 Июл 2022 в 09:31

Ответ #95

Оффлайн

jonn2096

Волгоград — Волгоградская область — Россия
Сообщений: 2

Здравствуйте. Нужна помощь в оживлении контроллера  Curtis 1234-5371 . Установлен на электропогрузчике TFN. На дисплее ошибка, на самом контроллере мигают светодиоды, по мограниям коды 5.2 и 5.1, в дисплее читал ошибки контроллера : Can communications fault, и Pdo fault. На нажатия педали не реагирует.



21 Июл 2022 в 23:37

Ответ #96

Оффлайн

jonn2096

Волгоград — Волгоградская область — Россия
Сообщений: 2

Здравствуйте. Нужна помощь в оживлении контроллера  Curtis 1234-5371 . Установлен на электропогрузчике TFN. На дисплее ошибка, на самом контроллере мигают светодиоды, по мограниям коды 5.2 и 5.1, в дисплее читал ошибки контроллера : Can communications fault, и Pdo fault. На нажатия педали не реагирует.

Есть изменения. По кан связи с дисплеем не было из-за неисправной микросхемы — кан транслятора. Заменил, связь появилась, но только погрузчик всё равно не ехал. Покопавшись в настройках добился, чтобы погрузчик поехал, но вот только мотор раскручивается на максимум, и не останавливается пока не выключишь питание, также он раскручивается, если вывешенное колесо раскрутить, причём не нажимая педаль акселератора, и рычаг направления в нейтральном положении. Заметил, что мотор поддаётся управлению, только если очень — очень плавно нажимать педаль, а также её отпускать тоже плавно, чуть быстрее нажмёшь или отпустишь и мотор выходит из под контроля. Что это может быть?



23 Авг 2022 в 09:31

Ответ #97

Оффлайн

Виталий13

Сообщений: 1

Всем доброго времени суток. ОЧЕНЬ нужен ваш совет!)
Я приобрёл технику с установленным в ней контроллером Curtis 1740-2201.
Есть задача добавить к уже имеющемуся пульту 1742, простые(замыкание контактов) кнопки (вперёд, назад, лево, право. С возможностью их совмещения).

Скажите пожалуйста, возможно ли это сделать?

ссылка



29 Янв 2023 в 20:41

Ответ #98

Оффлайн

Mobimaster

Сообщений: 1

Приветствую, нужна помощь с curtis 1243 нет хода ни вперед ни назад, ошибка 2.3 подскажите пожалуйста возможные причины неисправности.



  • Электротранспорт »
  • Ездим на батарейках! »
  • Электромобили (Модераторы: oldpilot, Surf_el, stels) »
  • Все о контроллерах curtis

Manual
Enhanced AC Controllers
for Induction Motors
and Surface Permanent Magnet Motors
  Read Instructions Carefully!
Specications are subject to change without notice.
© 2016 Curtis Instruments, Inc.  ® Curtis is a registered trademark of Curtis Instruments, Inc.
© The design and appearance of the products depicted herein are the copyright of Curtis Instruments, Inc.  53096, OS31 May 2017 
Curtis Instruments, Inc.
200 Kisco Avenue
Mt. Kisco, NY 10549
www.curtisinstruments.com
» Software Version OS 31.0 «
Models 1232E / 34E / 36E / 38E
and 1232SE / 34SE / 36SE / 38SE




Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
pg. ii
CHAPTERS
1: INTRODUCTION ............................................................................................................................... 1
      FEATURES .................................................................................................................................... 2
      GETTING THE MOST OUT OF YOUR CURTIS CONTROLLER ............................................................. 2
2: INSTALLATION AND WIRING ............................................................................................................ 3
      MOUNTING THE CONTROLLER ...................................................................................................... 3
      HIGH POWER CONNECTIONS ........................................................................................................ 7
      LOW POWER 35-PIN CONNECTIONS ............................................................................................. 9
      CONTROLLER WIRING: BASIC CONFIGURATION ............................................................................ 12
      SWITCH INPUT WIRING ................................................................................................................ 13
      LOW POWER CIRCUIT SPECIFICATIONS ........................................................................................ 13
3: APPLICATION-SPECIFIC FEATURES ................................................................................................. 20
      THROTTLE WIRING ....................................................................................................................... 20
      MOTOR SPEED CONSTRAINTS ..................................................................................................... 24
      VOLTAGE LIMITS .......................................................................................................................... 25
      BATTERY DISCHARGE INDICATOR................................................................................................. 25
4: PROGRAMMABLE PARAMETERS .................................................................................................... 26
      PROGRAMMING MENUS .............................................................................................................. 26
      CLONING CONTROLLERS ............................................................................................................. 68
5: MONITOR MENU ............................................................................................................................ 69
6: CONTROLLER INFORMATION MENU ............................................................................................... 79
7: INITIAL SETUP ............................................................................................................................... 80
8A: AUTOMATED ACIM MOTOR CHARACTERIZATION PROCEDURE ...................................................... 85
       Part 1: TRACTION AND HYDRAULIC SYSTEMS ............................................................................. 85
       Part 2A: TRACTION SYSTEMS ONLY ............................................................................................. 86
      Part 2B: HYDRAULIC SYSTEMS ONLY ........................................................................................... 89
8B: AUTOMATED SPM MOTOR CHARACTERIZATION PROCEDURE ....................................................... 91
9: TUNING GUIDE ............................................................................................................................... 93
      0 − Speed Mode Express Tuning ................................................................................................. 93
      1 − Speed Mode Tuning .............................................................................................................. 94
      2 − Torque Mode Tuning .............................................................................................................. 96
TABLE OF CONTENTS








































































pg. iii
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
TABLE OF CONTENTS cont’d
10: VEHICLE CONTROL LANGUAGE (VCL) ............................................................................................ 97
      VARIABLE TYPES .......................................................................................................................... 98
      VCL RUNTIME RATES .................................................................................................................. 100
      I/O CONTROL WITH VCL .............................................................................................................. 101
      INTERFACING THE THROTTLE AND BRAKE COMMANDS .............................................................. 103
      INTERFACING THE PROPORTIONAL CURRENT DRIVER ................................................................. 109
      USING THE FAULT HANDLER IN VCL ............................................................................................ 110
          CANbus Emergency Messages ............................................................................................... 112
          OEM-dened User Faults ........................................................................................................ 113
       VCL FUNCTIONS SPECIFIC TO 1232E/SE, 1234E/SE, 1236E/SE, & 1238E/SE CONTROLLERS ...... 117
11: DIAGNOSTICS AND TROUBLESHOOTING ...................................................................................... 129
       DIAGNOSTICS ............................................................................................................................ 129
           Summary of LED Display Formats .......................................................................................... 130
       TROUBLESHOOTING................................................................................................................... 130
12: MAINTENANCE ........................................................................................................................... 140
      CLEANING .................................................................................................................................. 140
      FAULT HISTORY .......................................................................................................................... 140
APPENDIX A: VEHICLE DESIGN CONSIDERATIONS/EMC/ESD/RECYCLING THE CONTROLLER ............... 141
      ELECTROMAGNETIC COMPATIBILITY (EMC) ................................................................................. 141
      ELECTROSTATIC DISCHARGE (ESD) ............................................................................................. 143
      DECOMMISSIONING AND RECYCLING THE CONTROLLER ............................................................. 143
APPENDIX B: EN13849 COMPLIANCE ................................................................................................ 144
      EN13849 COMPLIANCE .............................................................................................................. 144
APPENDIX C: PROGRAMMING DEVICES ............................................................................................. 146
      PROGRAMMING DEVICES ............................................................................................................ 146
APPENDIX D: CONTROLLER SPECIFICATIONS .................................................................................... 147
      CONTROLLER SPECIFICATIONS ................................................................................................... 147

























































pg. iv
FIGURES
Figure 1: Curtis AC Induction & SPM Motor Controllers  ....................................................................... 1
Figure 2a: Mounting Dimensions, 1232E and 1232SE  ........................................................................ 3
Figure 2b: Mounting Dimensions, 1234E and 1234SE  ........................................................................ 4
Figure 2c: Mounting Dimensions, 1236E/SE and 1238E/SE  ................................................................ 5
Figure 3: Basic Wiring Diagram  ......................................................................................................... 12
Figure 4: Wiring for Type 1 Throttles  .................................................................................................. 20
Figure 5: Wiring for Type 2 Throttles  .................................................................................................. 22
Figure 6: Wiring for Type 3 Throttles  .................................................................................................. 23
Figure 7: Acceleration Response Rate Diagram .................................................................................. 35
Figure 8: Braking Response Rate Diagram  ........................................................................................ 36
Figure 9: Throttle Mapping (Torque Control Mode)  ............................................................................. 42
Figure 10: Effect of Gear Soften Parameter (Torque Control Mode)  .................................................... 42
Figure 11: Effect of Brake Taper Speed Parameter (Torque Control Mode)  ......................................... 42
Figure 12: Drive Current Limiting Map  .............................................................................................. 44
Figure 13: Regen Current Limiting Map ............................................................................................. 45
Figure 14: Effect of Throttle Adjustment Parameters .......................................................................... 45
Figure 15: Motor Command Diagram  ............................................................................................... 105
Figure 16: Control Mode Processing  ................................................................................................ 108
Figure 17: Proportional Driver Processing  ........................................................................................ 109
Figure B-1: Supervisory System ....................................................................................................... 144
TABLES
Table 1: High Powered Connections  ................................................................................................... 7
Table 2: Low Power Connections  ...................................................................................................... 10
Table 3: Programmable Parameters Menus: 1313/1314 Programmer  ............................................... 27
Table 4: Monitor Menu: 1313/1314 Programmer  .............................................................................. 69
Table 5: Types of LED Display ........................................................................................................... 130
Table 6: TROUBLESHOOTING CHART ................................................................................................. 132
Table D-1 SPECIFICATIONS: 1232E/SE, 1234E/SE, 1236E/SE, 1238E/SE CONTROLLERS ................... 147
TABLE OF CONTENTS cont’d
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE Manual, os 31 – May 2017 





















































































pg. 1
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
 1— INTRODUCTION
1— INTRODUCTION
Curtis 1232E/SE, 1234E/SE, 1236E/SE, and 1238E/SE AC motor controllers provide accurate, 
dependable, and highly ecient control of speed and torque of AC induction motors (ACIM) 
and surface permanent magnet synchronous motors (SPM). 
These AC controllers contain two microprocessors to provide exceptional capability and 
functional safety. The primary microprocessor runs an advanced field-oriented AC motor 
control while simultaneously running VCL soware in an embedded logic controller. e second 
microprocessor continuously monitors the operation of the system, redundantly measuring 
inputs, crosschecking results, and verifying critical timing and operations. 
VCL (Vehicle Control Language) is an innovative soware programming language developed 
by Curtis. Many electric vehicle functions are uniquely built into the VCL code, and additional 
functions can be created by OEMs as required. VCL opens new avenues of customization, 
allowing specic vehicle application functions to be created quickly and easily within the motor 
controller itself, oen eliminating the need to use separate vehicle manager modules. 
The CANbus communications included within these controllers allow these AC motor 
controllers to function as system CAN masters (Server) or CAN slaves (Client) as part of an 
ecient distributed system. Inputs and outputs can be optimally shared throughout the system, 
minimizing wiring and creating integrated functions that oen reduce the cost of the system.
ese controllers are the ideal solution for traction, hoist, dual drive, and other motor drive and 
vehicle control needs. 
Figure 1 
Curtis AC induction and surface permanent magnet motor controllers: 
from le to right, models 1232SE, 1234E, 1236E, and 1238E.
e E and SE models look similar, and share the same standard features.





 1— INTRODUCTION
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 2
Like all Curtis controllers, the E and SE models oer superior operator control of motor drive 
performance. Features include:
•  Closed-loop speed and torque control for both induction (ACIM) and surface permanent 
magnet (SPM) motors.
•  High eciency, eld-oriented motor control algorithms that enable maximum possible motor 
torque generation for all operating conditions.
•  Advanced Pulse Width Modulation technology for ecient use of battery voltage, low motor 
harmonics, low torque ripple, and minimized switching losses.
•  Extremely wide torque/speed range including full regeneration capability.
•  Full eld-weakening capability with ACIM motors; full control up to no-load base speed 
with SPM motors.
•  Smooth low speed control, including zero speed.
•  Adaptation of control algorithm to motor temperature variation for optimal performance 
and reduced motor heating.
•  Power limiting maps allow performance customization for reduced motor heating and 
consistent performance over varying battery state-of-charge.
•  ermal cutback, warning, and automatic shutdown provide protection to motor and controller.
•  Insulated metal substrate power base provides superior heat transfer for increased reliability.
•  Built-in auto-characterization routines for effective in-vehicle optimization of motor 
performance and eciency.
•  Powerful operating system allows parallel processing of vehicle control tasks, motor control 
tasks, and user congurable programmable logic (VCL).
•  A wide range of I/O can be applied wherever needed, for maximum distributed system control.
•  Built-in Dual Drive soware allows easy setup and control of typical dual-drive vehicles, 
without VCL.
•  Internal battery-state-of-charge, hourmeter, and maintenance timers.
•  CANopen compatible CANbus connection; other CANbus protocols are configurable 
through VCL.
•  Signicantly increased CAN master capabilities, VCL execution speed, and VCL code space
•  Field-programmable, with ash downloadable main operating code.
•  Easily programmable through the Curtis 1313 handheld programmer and 1314 PC 
Programming Station.
•  Rugged sealed housing and connectors meet IP65 environmental sealing standards for use 
in harsh environments.
•  Compliance with Machinery Directives 2006/42/EC and EN13849-1.
Getting the most out of your Curtis controller
Read and apply the information in this manual. e Installation/Wiring, Initial Setup, and Tuning Guide 
chapters are critical to proper operation of your controller. For technical support, contact the Curtis 
distributor where you obtained your controller or the Curtis sales-support oce in your region.





 2 — INSTALLATION AND WIRING
pg. 3
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
2 — INSTALLATION AND WIRING
MOUNTING THE CONTROLLER
e outline and mounting hole dimensions for the 1232E/SE controller are shown in Figure 2a, for the 
1234E/SE controller in Figure 2b, and for the 1236E/SE and 1238E/SE controllers in Figure 2c. When 
an Ampseal plug housing is mated with the 35-pin logic receptacle, these controllers meet the IP65 
requirements for environmental protection against dust and water. Nevertheless, in order to prevent 
external corrosion and leakage paths from developing, the mounting location should be carefully chosen 
to keep the controller as clean and dry as possible. 
Mount the controller to a at surface devoid of protrusions, ridges, or a curvature that can cause damage 
or distortion to its heatsink (the base plate). Secure the controller using four 6 mm (1/4") diameter bolts 
evenly torqued to the vehicle’s mounting surface. ese controller’s heatsink (bottom surface) have a typical 
roughness grade of N8 (ISO 1302), with a atness tolerance of < 5 mm (0.13 per 25 mm). A thermal joint 
compound is recommended to improve heat conduction from the controller heatsink to the vehicle’s 
mounting surface. Typically, when properly mounted to a larger metal surface, additional heat-sinking or 
fan-cooling is not necessary to meet the application’s peak and continuous current ratings.
Figure 2a 
Mounting dimensions,  
Curtis 1232E and 1232SE 
motor controllers.
B
-
U
71
169
180
5.5
∅7.0 thru, 4 plcs
140
129
5.5
V
W
B
+
8
Status LED
window
1232E
75
12
1232SE
M6 x 1.0, 5 plcs
Note: The SE has a thicker base.
Dimensions in millimeters.





Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 4
Figure 2b 
Mounting dimensions, 
Curtis 1234E and 1234SE 
motor controllers.
1234SE 
terminal 
(5 plcs)
B
-
U
8
75
212
5.5
Status LEDs
∅7.0 thru, 4 plcs
155
140.4
7.3
V
W
B
+
201
80
11
1234E
1234SE
M6 x 1.0, 5 plcs
Note: The SE has a thicker base and taller terminals.
Dimensions in millimeters.
2 — INSTALLATION AND WIRING





pg. 5
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Figure 2c 
Mounting dimensions, 
Curtis 1236E/SE and  
1238E/SE motor controllers.
B
-
B
+
FUSE
U
V
W
M8 x  1.25,
19
85
212
232
10
Status LEDs
∅7.0 thru,
4 plcs
165
145
255
275
1236E/SE
1238E/SE
13 (typ.)
5 plcs
Dimensions in millimeters.
 2 — INSTALLATION AND WIRING





 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 6
Working on electrical systems is potentially dangerous. Protect yourself against  
uncontrolled operation, high current arcs, and outgassing from lead-acid batteries:
UNCONTROLLED OPERATION — Some conditions could cause the motor to run out of control.
Disconnect the motor or jack up the vehicle and get the drive wheels off the ground before 
attempting any work on the motor control circuitry.
HIGH CURRENT ARCS — Batteries can supply very high power, and arcing can occur if they 
are short circuited. Always open the battery circuit before working on the motor control circuit. 
Wear safety glasses, and use properly insulated tools to prevent shorts.
LEAD-ACID BATTERIES — Charging or discharging generates hydrogen gas, which can build 
up in and around the batteries. Follow the battery manufacturer’s safety recommendations. 
Wear safety glasses.
WARNING
You will need to take steps during the design and development of your end product to ensure that its EMC 
performance complies with applicable regulations; suggestions are presented in Appendix A.
These controllers contain ESD-sensitive components. Use appropriate precautions in connecting, 
disconnecting, and handling the controller. See installation suggestions in Appendix A for protecting the 
controller from ESD damage.





 2 — INSTALLATION AND WIRING
pg. 7
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
HIGH POWER CONNECTIONS
ere are ve high power terminals, identied on the controller housing as B+, B–, U, V, and W.
Lug Assembly: 1232E/SE and 1234E/SE models
Five aluminum M6 terminals are provided. Lugs should be installed as follows, using M6 bolts sized 
to provide proper engagement (see diagram): 
•  Place the lug on top of the aluminum terminal, followed by a high-load safety washer 
with its convex side on top. e washer should be a SCHNORR 416320, or equivalent.
•  If two lugs are used on the same terminal, stack them so 
the lug carrying the least current is on top.
•  Tighten the assembly to 10.2 ±1.1 N·m (90 ±10 in-lbs).
Terminal Function
B+ Positive battery to controller
B– Negative battery to controller
U Motor phase U
V Motor phase V
W Motor phase W
Table 1 High Powered Connections 
M6 BOLT
HIGH LOAD
SAFETY WASHER
LUG
M6 TERMINAL
SECTION VIEW
1232E/SE, 1234E
EXPLODED VIEW
10 mm MIN
DEPTH
18 mm
MAX
DEPTH
SECTION VIEW
1234SE
11.75 mm MIN
DEPTH
19.75 mm
MAX
DEPTH
1234SE 
has larger 
terminal





 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 8
Lug assembly: 1236E/SE and 1238E/SE models
Five M8 terminals are provided. Lugs should be installed as follows, using M8 bolts sized to provide 
proper engagement (see diagram):
•  Place the lug on top of the terminal, followed by a safety washer with its convex 
side on top. e washer should be a SCHNORR 700800, or equivalent.
•  If two lugs are used on the same terminal, stack them so 
the lug carrying the least current is on top.
•  Tighten the assembly to 9.6 ±0.9 N·m (85 ±8 in-lbs).
High Power Wiring Guidelines: All Models
Battery cables (B+, B−)
ese two cables should be run close to each other between the controller and the battery. Use high 
quality copper lugs and observe the recommended torque ratings. For best noise immunity the cables 
should not run across the center section of the controller. With multiple high current controllers, 
use a star ground from the battery B− terminal. 
Motor wiring (U, V, W)
e three phase wires should be close to the same length and bundled together as they run between 
the controller and the motor. e cable lengths should be kept as short as possible. Use high quality 
copper lugs and observe the recommended torque ratings. 
For optimum noise immunity, the motor cables should not run across the center section of the 
controller. In applications that seek the lowest possible emissions, a shield can be placed around 
the bundled motor cables and connected to the B– terminal at the controller. Typical installations 
will readily pass the emissions standards without a shield. Low current signal wires should not be 
run parallel to the motor cables. When necessary they should cross the motor cables at a right angle 
to minimize noise coupling.  Refer to Appendix A for further information about Electromagnetic 
Compatibility (EMC).
M8 BOLT
SAFETY WASHER
LUG
M8 TERMINAL
SECTION VIEW EXPLODED VIEW
7.5 mm MIN DEPTH
13.75 mm
MAX DEPTH





 2 — INSTALLATION AND WIRING
pg. 9
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
LOW POWER 35-PIN CONNECTIONS
All low power connections are made through a single 35-pin AMPSEAL connector. e mating plug 
housing is AMP p/n 776164-1 and the gold-plated socket terminals are AMP p/n 770520 (Strip form) 
and 770854-3 (loose piece). e connector will accept 0.5 – 1.25 mm (20 – 16 AWG) wire with a 
1.7 – 2.7 mm diameter (thin-wall insulation). Seal any non-used connector positions that have the 
silo-diaphragm pierced with seal plug 770678-1.
e 35 individual pins are characterized in Table 2.
Low Power Wiring Guidelines
Position feedback (Pins 7, 26, 31, 32)
All four wires (+5V, Feedback A, Feedback B, and I/O ground) should be bundled together as they 
run between the motor and controller logic connector. ese can oen be run with the rest of the low 
current wiring harness. e encoder cables should not be run near the motor cables. In applications 
where this is necessary, shielded cable should be used with the ground shield connected to the I/O 
ground (pin 7) at only the controller side. In extreme applications, common mode lters (e.g. ferrite 
beads) could be used.
CANbus (Pins 21, 23, 34, 35)
It is recommended that the CAN wires be run as a twisted pair. However, many successful applications 
at 125 kbit/s are run without twisting, simply using two lines bundled in with the rest of the low 
current wiring. e CANbus wiring should be kept away from the high current cables and cross 
them at right angles when necessary.
All other low power wiring
e remaining low power wiring should be run according to standard practices. When designing 
the vehicle’s wiring and routing, keep the input lines such as throttle, brake, temperature, and the 
above mentioned encoder or Sin/Cos sensor signals separate from controller’s output lines such as 
the coil driver outputs.  Avoid routing the low-power wiring parallel to the high power (and current) 
battery and motor cables.  
13
24
1
23
35
12
J1
harness wire-side view





 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 10
Table 2 Low Power Connections 
Pin Name Description
Related VCL*
Function References
1 KSI
Keyswitch input. Provides logic power for 
the controller and power for the coil drivers.
Keyswitch_Voltage
2 Prop. Driver
Proportional driver. This is a coil driver with 
current control capability typically used 
for a proportional valve on a hydraulic 
manifold. 
Can also be used as a digital input.
Automate_PWM()
Put_PWM()
Automate_
Frequency_
Output()
Frequency_
Output_Duty_
Cycle()
Sw_13
PWM5
PD_Current
PD_Output
PD_Throttle
VCL_PD_Throttle
3 Driver 4
Generic driver #4; can also be used as 
a digital input. Has low frequency PWM 
capabilities.
Automate_PWM()
Put_PWM()
Sw_12
PWM4
PWM4_Output
4 Driver 3
Generic driver #3; can also be used as 
a digital input. Has low frequency PWM 
capabilities. 
Typically used for pump contactor.
Automate_PWM()
Put_PWM()
Sw_11
PWM3
PWM3_Output
5 Driver 2
Generic driver #2; can also be used as 
a digital input. Has low frequency PWM 
capabilities and a slightly higher current 
rating. 
Typically used for electromagnetic brake.
Automate_PWM()
Put_PWM()
Sw_10
PWM2
PWM2_Output
6 Driver 1
Generic driver #1; can also be used as 
a digital input. Has low frequency PWM 
capabilities. 
Typically used for main contactor.
Automate_PWM()
Put_PWM()
Set-Interlock()
Clear_Interlock()
Sw_9
PWM1
PWM1_Output
Interlock_State
Main_State
7 I/O Ground Input and output ground reference.
8
Switch 2
Analog 2
Can be used as generic switch input #2 or 
as generic analog input #2. 
Typically used as the motor temperature 
analog input.
Sw_2
Analog2_Input
Motor_Temperature
9 Switch 3
Generic switch input #3. 
Typically used as the interlock switch.
Sw_3
10 Switch 4 Generic switch input #4.
Sw_4
11 Switch 5 Generic switch input #5.
Sw_5
12 Switch 6 Generic switch input #6.
Sw_6
13 Coil Return
This is the coil return pin (at B+ potential) 
for all the contactor coils.
14 Switch 16 Generic switch input #16.
Sw_16
15 Throttle Pot High Pot high connection for a 3-wire throttle pot.
16 Throttle Pot Wiper Pot wiper connection for the throttle pot.
Setup_Pot() 
Setup_Pot_Faults()
Throttle_Pot
Throttle_Pot_Output
17 Pot2 Wiper Pot wiper connection for the brake pot.
Setup_Pot() 
Setup_Pot_Faults()
Brake_Pot
Brake_Pot_Output
* The related VCL columns are vital when writing VCL code (see Chapter 10). VCL “functions” are used to access the various I/Os; VCL “references” are 
predened names for specic pins. Refer to the OS SysInfo le for specic VCL functions, controller system variables, usage, and CAN Object IDs.





 2 — INSTALLATION AND WIRING
pg. 11
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Table 2 Low Power Connections, cont'd 
Pin Name Description
Related VCL*
Function References
18 Pot Low
Common pot low connection for the throttle 
and brake pots.
Pot_Low_Output
19 Digital Out 6
An On/Off output driver. 
Can also be used as a digital input.
Set_DigOut()
Clear_DigOut()
Sw_14
DigOut6
Dig6_Output
20 Digital Out 7
An On/Off output driver. Can also be used 
as a digital input.
Set_DigOut()
Clear_DigOut()
Sw_15
DigOut7
Dig7_Output
21 CAN Term H
High connection for the CAN termination 
jumper.
22 Switch 7
Generic switch input #7. 
Typically used as the Forward switch.
Sw_7
23 CAN H CANbus high.
Setup_CAN()
Setup_Mailbox()
Send_Mailbox()
etc.
24
Switch 1
Analog 1
Can be used as generic switch input #1 or 
as generic analog input #1. 
Typically used for emergency reverse 
switch (if applicable).
Sw_1
Analog1_Input
25 +12V Out Unregulated low power +12V output.
Ext_Supply_Current
26 +5V Out Regulated low power +5V output.
5_Volts_Output
Ext_Supply_Current
27 Pot2 High Pot high connection for a 3-wire brake pot.
28 Serial TX
Serial transmit line for display or ash 
update.
Setup_Serial()
29 Serial RX Serial receive line for ash update
Setup_Serial()
30 Analog Output**
Low power, low frequency 0 V to 10 V 
analog output.
Automate_PWM()
Put_PWM()
PWM6
Analog_Output
31 Position Feedback A
Quadrature encoder input phase A (ACIM 
motors). Sin/Cos sensor input sine (SPM 
motors).
Motor_RPM
MotorspeedA
Encoder_Sin_Input_Compensated
32 Position Feedback B
Quadrature encoder input phase B (ACIM 
motors). Sin/Cos sensor input sine (SPM 
motors).
Motor_RPM
MotorspeedB
Encoder_Cos_Input_Compensated
33 Switch 8
Generic switch input #8. 
Typically used as the Reverse switch.
Sw_8
34 CAN Term L
Low connection for the CANbus termination 
jumper.
35 CAN L CANbus low.
Setup_CAN()
Setup_Mailbox()
Send_Mailbox()
etc.
* The related VCL columns are vital when writing VCL code (see Chapter 10). VCL “functions” are used to access the various I/Os; VCL “references” are 
predened names for specic pins. Refer to the OS SysInfo le for specic VCL functions, controller system variables, usage, and CAN Object IDs.
* * Pin 30 not connected on 1232E/SE controllers.





 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 12
CONTROLLER WIRING:  BASIC CONFIGURATION
A basic wiring diagram is shown in Figure 3. rottle and brake are shown in  the diagram as 3-wire 
potentiometers; other types of throttle and brake inputs  are easily accommodated, and are discussed 
in the following throttle wiring section. 
e main contactor coil must be wired directly to the controller as shown in Figure 3 to meet EEC 
safety requirements. e controller can be programmed to check for welded or missing contactor 
faults and uses the main contactor coil driver output to remove power from the controller and motor 
Figure 3 
Basic wiring diagram, Curtis 1232E/SE, 34E/SE, 36E/SE, and 38E/SE motor controllers.
1232E/34E/36E/38E,  1232SE/34SE/36SE/38SE
CONTROLLER
SWITCH 16
J1-14
SWITCH 8
J1-33
REVERSE
SWITCH 7
J1-22
FORWARD
SWITCH 6
J1-12
SWITCH 5
J1-11
SWITCH 4
J1-10
SWITCH 3
J1-9
INTERLOCK
SWITCH 2 / ANALOG 2
J1-8
SWITCH 1 / ANALOG 1
J1-24
I/O GROUND
J1-7
THROTTLE POT HIGH
J1-15
THROTTLE POT WIPER
J1-16
POT2 HIGH
J1-27
POT2 WIPER
J1-17
POT LOW
J1-18
THROTTLE POT
BRAKE POT
AC
MOTOR
MAIN
J1-19
J1-3
J1-4
J1-5
J1-6
J1-13
PROP. DRIVER
DRIVER 4
DRIVER 3
DRIVER 2
DRIVER 1
KSI
COIL RETURN
MAIN
BRAKE
PROP. VALVE
J1-1
KSI
POSITION
FEEDBACK
**
J1-26
J1-31
J1-32
J1-7
J1-23
J1-35
J1-21
J1-34
CAN PORT
Connect jumper for 120 Ω
CAN bus termination
J1-25
J1-28
J1-29
J1-7
SERIAL PORT
(4-pin Molex)
4
3
1
2
CURTIS
MODEL 840
DISPLAY
8
6
5
EMERG. REV.
KEYSWITCH
B+
V
+5V
POSITION FEEDBACK B
CAN TERM L
CAN L
+12V
RX
I/O GROUND
U
W
POSITION FEEDBACK A
I/O GROUND
CAN TERM H
B-
CAN H
TX
PUMP
EMERGENCY
STOP
J1-20
DIGITAL DRIVER 6
J1-2
DIGITAL DRIVER 7
ANALOG OUT (0–10V) *
J1-30
MOTOR
TEMPERATURE
SENSOR
Note:  KTY sensor shown.
The banded end must be
connected to I/O ground.
*
 1232E and 1232SE do not include ANALOG OUT.
BATTERY
(24V–96V)
** quadrature encoder (ACIM motors)
  sin/cos sensor (SPM motors)





 2 — INSTALLATION AND WIRING
pg. 13
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
in the event of various other faults. If the main contactor coil is not wired to Pin 6 of the 35-pin 
connector as shown, the controller will not be able to open the main contactor in serious fault 
conditions and the system will therefore not meet EEC safety requirements.
Note that the basic wiring diagram is designed for generic applications and may not fully meet the 
requirements of your system. ese controllers have very exible I/O and wiring congurations; 
you may wish to contact your Curtis distributor or support engineer to discuss your particular 
application.
SWITCH INPUT WIRING
e following inputs are dedicated to specic functions when the parameter settings are as shown:
Switch 1:  Emergency Reverse input if the EMR Enable = On  and EMR Type = 0 or 2  
(see page 65).
Switch 3: Interlock input if Interlock Type = 0 (see page 52).
Switch 5: Lift input (depends on VCL program).
Switch 6: Lower input (depends on VCL program).
Switch 7: Forward input if Throttle Type = 1–3 (see page 46).
Switch 8: Reverse input if Throttle Type = 1–3 (see page 46).
LOW POWER CIRCUIT SPECIFICATIONS
e input/output circuits wired to the 35-pin connector can be grouped by type as follows; their 
electrical characteristics are discussed below.
•  Digital Inputs
•  Digital and PWM Outputs
•  Analog Inputs
•  Analog Output
•  Power Supply Outputs
•  KSI and Coil Return Inputs
•  rottle and Brake Inputs
•  Communications Ports I/O
•  Position Feedback Inputs
Digital Inputs
ese control lines can be used as digital (on/o ) inputs. Normal “on” connection is direct to B+; 
“o” is direct to B−. Input will pull low (o ) if no connection is made. All digital inputs are protected 
against shorts to B+ or B−.  
Nine of these lines (Switches 1–8, 16) are designed to pull current to keep switch contacts clean and 
prevent leakage paths from causing false signals.
e remaining lines are digital inputs associated with driver outputs; note that they have much higher 
input impedances. e two digital output lines, Digital Out 6 and 7, can also be read as inputs, and 
are therefore included in this group.
e digital inputs at pins 24 and 8 can also be used as analog inputs, and are included in that group as well.









 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 14
DIGITAL INPUT SPECIFICATIONS
Name Pin
Logic 
Thresholds
Input  
impedance*
Voltage range† ESD Tolerance
Switch 1 24
Rising edge= 
4.4V max
Falling edge= 
1.5V min
24-36V models:  
7.0 kΩ, 7.2 kΩ 
36-48V models: 
10.8 kΩ, 11.2 kΩ 
48-80V models: 
25.2 kΩ, 27.3 kΩ 
72-96V models: 
n/a, 29.4 kΩ
–10V to  
(MaxV + 10 V)
± 8 kV
(direct strike)
Switch 2 8
Switch 3 9
Switch 4 10
Switch 5 11
Switch 6 12
Switch 7 22
Switch 8 33
Switch 16 14
Digital Out 6 19
150 kΩ to
300 kΩ
–5V to  
(MaxV + 10 V)
Digital Out 7 20
Driver 1 6
Driver 2 5
Driver 3 4
Driver 4 3
Prop Driver 2
*The rst value is for 1232E/SE and 1234E/SE controllers, and the second value is for 1236E/SE and 1238E/SE controllers.
†“MaxV” in this and the following tables is the controller’s maximum voltage; see Table D-1 for the maximum voltage of  
each model.
NOTE: The voltage at the switch inputs 3–8 and 16 must be above the high threshold or below the low threshold for proper operation. 
Allowing these inputs to fall between these thresholds for more than 100 milliseconds could result in a Supervisor Fault (fault code 77).
Primary
μP
SWITCH INPUTS
1-8, 16
(pins 8-12, 22,
24, 33, 14)
* 
24-36V models = 7.5 kΩ,  36-48V = 12 kΩ,  48-80V = 33 kΩ
100 kΩ
100 kΩ
5V clamp
DRIVER INPUTS
(pins 6, 5, 4, 3, 2)
100 kΩ
100 kΩ
μP
5V clamp
DIGOUT INPUTS
(pins 19, 20)
Supervisor
μP
100 kΩ
127 kΩ
3.3V clamp
Model
specific
*
DIGITAL INPUT IMPEDANCE CIRCUITS
Primary
μP
SWITCH INPUTS
1-8, 16
(pins 8-12, 22,
24, 33, 14)
* 
24-36V models = 7.5 kΩ,  36-48V = 12 kΩ,  48-80V = 33 kΩ,  72-96V = 36 kΩ
150 kΩ
150 kΩ
5V clamp
DRIVER INPUTS
(pins 6, 5, 4, 3, 2)
150 kΩ
150 kΩ
μP
5V clamp
DIGOUT INPUTS
(pins 19, 20)
Supervisor
μP
150 kΩ
191 kΩ
3.3V clamp
Model
specific
*
1232E/SE and 1234E/SE 
controllers
1236E/SE and 1238E/SE  
controllers
13
24
1
23
35
12
Quick Links:
Figure 3 wiring diagram  p.12






 2 — INSTALLATION AND WIRING
pg. 15
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Digital and PWM Outputs
Seven digital (on/o ) and PWM output drivers are available. One of these, the proportional driver, 
can be operated in a current control mode for driving a proportional valve or similar load. e 
frequency of this driver is normally 18 kHz, but this output can also serve to drive an electronic 
speedometer or tachometer using the VCL function Automate_Frequency_Output(); see page 125.
Each output can be independently turned on continuously (low level) or pulse width modulated to 
set the average output voltage. ese outputs are intended to drive inductive loads such as contactors 
and electromagnetic brakes but could also be used to drive resistive loads if peak current ratings are 
not exceeded. All these outputs are protected against shorts to B+ or B−. All inductive loads should 
be connected to the coil return (pin 13), which provides yback diode protection. 
ese lines can also be used as digital inputs, and are included in that group as well.
DIGITAL and PWM OUTPUT SPECIFICATIONS
Name Pin PWM PV Current Frequency
Output 
Current
Protected 
Voltage
ESD 
Tolerance
Driver 1 6
0 to 100% 
Duty Cycle
N/A
120 to 1000 
Hz *
2A Max
–0.5 V to  
(MaxV + 10 V)
± 8 kV
(direct 
strike)
Driver 2 5 3A Max
Driver 3 4
2A Max
Driver 4 3
Prop Driver 2
0 to 2A in 
607 nominal 
steps
18 kHz
Digital Out 6 19
On / Off N/A N/A 1A Max
Digital Out 7 20
*Drivers 1–4 Fequency is set by the PWM Frequency parameter.
Analog Inputs
Two control lines can be used as analog inputs. Both inputs are protected against shorts to B+ or B−.
Typically Analog 2 is used as the input for the motor temperature sensor. is input provides a 
constant current appropriate for a thermistor sensor. Some standard predened motor temperature 
sensors are supported in soware (see the motor's Sensor Type parameter). Note: e industry 
standard KTY temperature sensors are silicon temperature sensors with a polarity band; the polarity 
band of a KTY sensor must be the end connected to I/O Ground (pin 7).
ese lines can also be used as digital inputs, and are included in that group as well (see page 13).
ANALOG INPUT SPECIFICATIONS
Signal Name Pin
Operating 
Voltage
Input  
impedance*
Protected Voltage ESD Tolerance
Analog 1 24
0 to 10V 
in 1024 
steps
24-36 V models:
6.9 kΩ, 7.1 kΩ
36-48 V models:
10.5 kΩ, 11.0 kΩ
48-80 V models:
23.8 kΩ, 28.1 kΩ
72-96 V models:
n/a, 28.1 kΩ
–10 V to  
(MaxV + 10 V)
± 8 kV  
(direct strike)
Analog 2 8
* The rst value is for 1232E/SE and 1234E/SE controllers, and the second value is for 1236E/SE and 1238E/SE controllers.
13
24
1
23
35
12
13
24
1
23
35
12
Quick Links:
Figure 3 wiring diagram  p.12
Motor Temp Sensor  p.61









 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 16
Analog Outputs
A single line is available as a low power analog output and is intended to drive instrumentation such 
as a battery discharge indicator. is output is generated from a ltered PWM signal and has about 
1% ripple. e 2% settling time is <25 ms for a 0–5 V step and <30 ms for a 0–10 V step. is output 
line is protected against shorts to B+ or B−.  Note: e 1232E/SE does not have this analog output.
ANALOG OUTPUT SPECIFICATIONS
Signal Name Pin
Output 
Voltage
Output  
Current
Protected Voltage ESD Tolerance
Analog Out 30 0 to 10 V 10 mA
–1 V to  
(MaxV + 10 V)
± 8 kV  
(direct strike)
Power Supply Outputs
Two lines provide auxiliary output power for low power circuits such as electronic throttles, LED 
indicators, displays, position encoder, and remote I/O boards. I/O Ground (at pin 7) is the return 
line for these low power devices. Both power supply outputs are protected against shorts to B+ or B−.
POWER SUPPLY OUTPUT SPECIFICATIONS
Signal Name Pin Output Voltage
Output  
Current
Protected Voltage ESD Tolerance
+12 V Out 25 11.5 to 14.5 V
100 mA max  
for +12 Out 
100 mA max  
for +5 Out
200 mA max 
(combined total)
–1 V to  
(MaxV + 10 V)
± 8 kV  
(direct strike)
+5 V Out 26 5 V ±10%
I/O Ground 7 n/a 500 mA max not protected
KSI and Coil Return
e KSI input provides power for all low power control circuits.  is includes the microprocessors, 
power supply outputs, power for the digital and PWM driver outputs, the power-capacitor  
precharge (before main contactor closure). Battery voltage is sensed on the input for the VCL battery 
discharge function.
Coil Return (pin 13) should be wired to the positive battery side of the contactors being driven so 
that switching noise associated with PWM operation of the contactors is localized to the contactor 
wiring only.
It is important to maintain the division between KSI and coil return in order to ensure reverse 
polarity protection (e.g., vehicle wiring correct, battery terminals reversed).
KSI and COIL RETURN INPUT SPECIFICATIONS
Signal Name Pin
Operating 
Voltage
Input Current Protected Voltage ESD Tolerance
KSI 1
Between under- 
and overvoltage 
cutbacks
13 A max * continuous ± (MaxV + 10 V)
± 8 kV (direct 
strike)
Coil Return 13 10 A or 12 A max **
(KSI – 0.3 V) to 
(MaxV + 10 V)
* Including current from the coil return (pin 13).
** 12 A for 1236E/SE and 1238E/SE; 10 A for 1232E/SE and 1234E/SE.
13
24
1
23
35
12
13
24
1
23
35
12
Quick Links:
Figure 3 wiring diagram  p.12






 2 — INSTALLATION AND WIRING
pg. 17
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Throttle and Brake Inputs
e two pot inputs are independently programmable to allow use of a voltage throttle or a 2-wire or 
3-wire resistance throttle. Voltage throttles require only the Pot Wiper input (with I/O Ground for 
the return line). Resistance throttles require Pot Wiper and Pot Low (2-wire) or Pot High, Pot Wiper, 
and Pot Low (3-wire). All throttle I/O is protected against shorts to B+ or B−.
Alternatively, these two inputs can be used for analog signals other than the throttle and brake pot 
inputs. Conguring the inputs for use with other signals requires VCL programming; see Chapter 10.
THROTTLE INPUT SPECIFICATIONS
Signal Name Pin
Operating 
Voltage
Input 
Impedance
S/Sink
Current
Protected 
Voltage
ESD 
Tolerance
Throttle Pot High 15
0 V (shorted to 
Pot Low) 5 V 
(open circuit)
N/A
1 mA nominal 
(source)
–0.5 V to 
(MaxV + 10 V)
± 8 kV
(direct 
strike)
Pot2 High 27
Throttle Pot Wiper 16
0 to 6.25 V 100 kΩ min
0.76 mA nominal 
(source, 2-wire)
Pot2 Wiper 17
Pot Low 18 0 to 0.25 V 20 Ω nom.
Faults if above 15 mA 
(sink)
–1 V to  
(MaxV + 10 V)
Communications Ports
Separate CAN and serial ports provide complete communications and programming capability for 
all user available controller information.
e Curtis 1313 handheld programmer and 1314 PC programmer’s 1309-serial-interface-device 
plug into a connector* wired to pins 28 and 29, along with ground (pin 7) and the +12 V power 
supply (pin 25); see wiring diagram, Figure 3. e Curtis “Spy” Model 840 display will connect the 
the serial-port pins as shown in Figure 3. 
Wiring the CAN Term H and CAN Term L pins together provides a local CAN termination of  
120 Ω, 0.5 W; keep the length of these wires short. CAN Term H and CAN Term L should never be 
connected to any external wiring.
COMMUNICATIONS PORT SPECIFICATIONS
Signal Name Pin
Supported 
Protocol / Devices
Data Range Protected Voltage ESD Tolerance
CAN H 23
CANopen, other 11-bit or 29-
bit identier protocols
up to 1 Mbit/s
–0.5 V to  
(MaxV + 10 V)
± 8 kV
(direct strike)
CAN L 35
CAN Term H 21
(no connection to 
external wiring)
CAN Term L 34
Serial TX 28
Curtis 840 Display, 
1313 Handhelp Programmer, 
1314 PC Programming Station
as required, 
9.6 kbit/s to 56 
kbit/s
–0.3 V to 12 V
Serial RX 29
13
24
1
23
35
12
13
24
1
23
35
12
Quick Links:
Figure 3 wiring diagram  p.12
rottle & Brake 
Types  p.20–23
* Molex Mini-Fit Jr. dual-row, 4 circuits, vehicle harness plug (e.g., p/n 39-01-2046)








 2 — INSTALLATION AND WIRING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 18
Position Feedback Input: Quadrature Encoder
Two control lines are internally congured to read a quadrature type position encoder. e encoder 
is typically powered from the 5 V supply (pin 26) or 12 V supply (pin 25), but can be powered from 
any external supply (from 5 V up to B+) as long as the logic threshold requirements are met. e 
quadrature encoder is used in ACIM applications.
QUADRATURE ENCODER INPUT SPECIFICATIONS
Signal Name Pin Logic Threshold
Input 
Impedance
Max. 
Frequency
Protected 
Voltage
ESD 
Tolerance
Position Feedback A 31
Rising edge= 
2.9 V max
Falling edge=  
2.0 V min
2 kΩ 
(internal 
pull-up to to 
+4.5 V) 
10 kHz
–5 V to (MaxV 
+ 10 V)
± 8 kV 
(direct 
strike)
Position Feedback B 32
Phase Shift 90° ±30, Duty Cycle 50% ±10%; no signal edge can be closer than 10 µs to an adjacent edge.
ese signal tolerances must be maintained throughout the application’s operating conditions, 
including voltage, temperature, speed and torque ranges.
Channel A
Channel B
360 ° electrical  (1 cycle)
>10 μs90° ±30°
180° ±18°
13
24
1
23
35
12

Quick Links:
Figure 3 wiring diagram  p.12






 2 — INSTALLATION AND WIRING
pg. 19
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Position feedback input: Sin/Cos sensor
Two control lines are internally congured to read a Sin/Cos sensor. Position Feedback A (pin 31) 
provides the sine signal, and Feedback Position B (pin 32) provides the cosine signal. e device 
must be set up with one sensor revolution per mechanical revolution. e Sin/Cos sensor is used in 
SPM applications.
SIN/COS SENSOR INPUT SPECIFICATIONS
Signal Name Pin
Operating 
Voltage
Input Impedance
Max. 
Frequency
Protected 
Voltage
ESD 
Tolerance
Position Feedback A 31
0 to 5 V
150 kΩ for voltages ≤ 5 V
75 kΩ for voltages > 5 V
 500 Hz
–5 V to (MaxV 
+ 10 V)
± 8 kV 
(direct 
strike)
Position Feedback B 32
ese signal tolerances must be maintained throughout the application’s operating conditions, 
including voltage, temperature, speed and torque ranges. e Sin/Cos waveform peaks must be away 
from V
dd
 and ground by at least 0.5 V. In the example shown in the timing diagram below, V
dd
 = 5 V.
360° mechanical  (1 cycle)
V
pp
V
A
V
B
0.5 V
V
dd
Gnd
V
dd
2
V
dd
2
90°
0.5 V
13
24
1
23
35
12

Quick Links:
Figure 3 wiring diagram  p.12






 3 — APPLICATION-SPECIFIC FEATURES
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 20
3 — APPLICATION-SPECIFIC FEATURES
Some features of the 1232E/SE – 1238E/SE controllers aect how the specic controller is wired or 
parameter settings. is chapter provides background information on application-specic features, 
to assist the vehicle designer in the design process.
THROTTLE WIRING
In this manual, the term throttle is used in two senses: (1) as another name for the drive throttle, 
and (2) as a generic term covering both the drive throttle and the brake throttle. Wiring is the same, 
whether the throttle in question is used for acceleration or (regen) braking.
Various throttles can be used with these controllers. ey are characterized as one of ve types in 
the programming menu of the 1313/1314 programmer.
Type 1: 2-wire 5kΩ–0 potentiometers
Type 2:  single-ended 0–5V throttles, current source throttles, 3-wire potentiometers,  
and electronic throttles
Type 3: 2-wire 0–5kΩ potentiometers
Type 4: wigwag 0–5V throttles and 3-wire potentiometers 
Type 5: VCL input (VCL_Throttle or VCL_Brake)
e two throttle inputs (drive throttle and brake throttle) are programmed independently.
For potentiometers, the controller provides complete throttle fault protection that meets all 
applicable EEC regulations. For voltage throttles, the controller protects against out-of-range wiper 
values, but does not detect wiring faults; it is therefore the responsibility of the OEM to provide full 
throttle fault protection in vehicles using voltage throttles.
rottle types 1–3 use the forward and reverse inputs (switches 7 and 8) in  addition to the throttle 
pot input to dene the throttle command (see Figure 15). rottle types 4 and 5 do not use the 
forward and reverse inputs.
Wiring for the most common throttles is described in the following three pages and shown in the 
accompanying illustrations. If a throttle you are planning to use is not covered, contact your Curtis 
distributor or support engineer.
Throttle Type 1
For these 2-wire resistive potentiometers, shown in Figure 4, full throttle request corresponds to 0 Ω 
measured between the pot wiper pin and the Pot Low pin. A Type 1 throttle requires the Forward & 
Reverse Deadbands parameters settings be towards the higher voltage (e.g., 4.50 V) and the Forward 
& Reverse Max parameters set to the lower voltage (e.g., 0.5 V).  Note, this is the opposite of these 
parameters' default setting.  With the 2-wire rheostat in place, the throttle-wiper voltage can be check 
using the Monitor » Inputs variable rottle Pot (or Pot2Raw for the brake pot).
Figure 4 
Wiring for Type 1 
throttles.
Pot Low input  (Pin 18)
Pot Wiper input  (Pin 16 or 17)
5kΩ–0
FASTER
Quick Links:
Figure 15  p.105






 3 — APPLICATION-SPECIFIC FEATURES
pg. 21
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Broken wire protection is provided by the controller sensing the current ow from the pot wiper 
input (pin 16 or 17) through the potentiometer and into Pot Low (pin 18). For Type 1 throttles, if 
the Pot Low input current falls below 0.65 mA, a throttle fault is generated and the throttle request 
is zeroed. Note: Pot Low (pin 18) must not be tied to ground (pin 7 or B−).
Throttle Type 2
With these throttles, the controller looks for a voltage signal at the wiper input. Zero throttle request 
corresponds to 0 V and full throttle request to 5 V.
A variety of devices can be used with this throttle input type, including voltage sources, current 
sources, 3-wire pots, and electronic throttles. e wiring for each is slightly dierent, as shown in 
Figure 5, and they have varying levels of throttle fault protection.
When a voltage source is used as a throttle, it is the responsibility of the OEM to provide appropriate 
throttle fault detection. For ground-referenced 0–5V throttles, the controller will detect open breaks 
in the wiper input but cannot provide full throttle fault protection.
To use a current source as a throttle, a resistor must be added to the circuit to convert the current 
source value to a voltage; the resistor should be sized to provide a 0–5V signal variation over the 
full current range. It is the responsibility of the OEM to provide appropriate throttle fault detection.
When a 3-wire potentiometer is used, the controller provides full fault protection in accordance 
with EEC requirements. e pot is used in its voltage divider mode, with the controller providing 
the voltage source and return. rottle Pot High (pin 15) provides a current limited 5V source to the 
3-wire potentiometer, and Pot Low (pin 18) provides the return path. is is the throttle shown in 
the basic wiring diagram (Figure 3) for the drive throttle and for the brake throttle.
Complementing the controllers, Curtis oers both Hall-eect and 3-wire potentiometer throttles 
which are easily integrated into vehicles.
Hall-eect voltage throttles:
e Curtis FP Series of throttles oers multiple pedal angles and mounting congurations (oor, 
suspended, ush) with 0–5 Volt operation with a Idle Validation Switch (IVS). 
e ET-XXX electronic throttle is typically used only as a 
drive throttle (illustrated in Fig. 5).
ese voltage throttles contains no built-in fault detection, 
and the controller will detect only open wiper faults. It is the 
responsibility of the OEM to provide any additional throttle 
fault detection necessary.
3-wire potentiometer throttle:
e FP-10 model oers, besides the controller’s 3-wire fault 
detection, two throttle spring detection switches and two 
micro-switches to indicate idle validation and full throttle 
circuits. This throttle can also be configured from 0-5k 
(Type 3) or 5k-0 (Type 1) throttles while retaining the 
detection circuits.
For help with a throttle selection, contact your Curtis 
distributor or support engineer to discuss your 
particular throttle requirements and the application of  
Curtis throttles.
Curtis FP-SCV-0022 Hall-effect throttle





 3 — APPLICATION-SPECIFIC FEATURES
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 22
Figure 5 
Wiring for Type 2 throttles.
+
+
-
SENSOR OUTPUT (0–5V)
SENSOR
SENSOR GROUND
I/O Ground Return  (Pin 7)
Pot Wiper input  (Pin 16 or 17)
Sensor-referenced 0–5V source Ground-referenced 0–5V source
Pot Wiper input  (Pin 16 or 17)
I/O Ground Return  (Pin 7)
Voltage Source
Pot Wiper input  (Pin 16 or 17)
I/O Ground Return  (Pin 7)
R
throttle
I
source
Current Source
1kΩ–10kΩ
FASTER
NOTE: Pins 15 and 16 are used together in the throttle pot; Pins 27 and 17 in the brake pot.
Pot Low input  (Pin 18)
Pot High output  (Pin 15 or 27)
Pot Wiper input  (Pin 16 or 17)
3-wire Potentiometer
GREEN
ORANGE
BLACK
BLACK/WHITE
WHITE
WHT/BRN
B+
KEYSWITCH
connector
WHT/GRN
Reverse input  (Pin 33)
KSI (Pin 1)
Throttle Pot Wiper input  (Pin 16)
Forward input  (Pin 22)
I/O Ground Return  (Pin 7)
Curtis ET-XXX Electronic Throttle





 3 — APPLICATION-SPECIFIC FEATURES
pg. 23
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Broken wire protection is provided by the controller sensing the current ow from the wiper input 
(pin 16 or 17) through the potentiometer and into Pot Low (pin 18). For Type 3 throttles, if the Pot 
Low input current falls below 0.65 mA, a throttle fault is generated and the throttle request is zeroed. 
Note: Pot Low (pin 18) must not be tied to ground (pin 7 or B−). 
Throttle Type 4
Type 4 throttles operate in wigwag style. No signals to the controller’s forward and reverse inputs 
are required; the direction is determined by the wiper input value. Only 0–5V voltage sources and 
3-wire potentiometers can be used as Type 4 throttles. e controller interface for Type 4 throttles 
is the same as for the corresponding Type 2 throttles; see Figure 5.
In a Type 4 throttle, the neutral point must be set up somewhere in the center of the throw, with 
increasing voltage beyond this point providing increasing forward command and voltages below this 
point providing increasing reverse command. For example, you might set the Forward Deadband at 
2.6 V with Forward Max at 4 V, and Reverse Deadband at 2.4 V with Reverse Max at 1 V.
When a 3-wire pot is used, the controller provides full fault protection. When a voltage throttle 
is used, the controller will detect open breaks in the wiper input but cannot provide full throttle 
fault protection.
Throttle Type 5
rottle Type 5 provides a dierent way of sending the throttle command to the controller. is 
throttle type uses VCL to dene the throttle signal that will be “input” into the throttle signal chain 
as VCL_rottle (see Figure 15). 
is throttle type can be used for either the drive throttle or the brake throttle by using the VCL 
variables VCL_rottle or VCL_Brake (see Brake menu). How the VCL program is written will 
determine the source of the throttle signal, making this a very exible throttle input method. VCL can 
be written to use the throttle or brake pot inputs, switch inputs, or CAN communication messages 
as the source of the throttle signals. 
Setting the rottle Type to Type 5 also allows the throttle pot input (Pin 16) to be redened by a 
VCL program for uses other than throttle input.  
Note: e option also applies to the Brake Type, which when set to Type 5 uses VCL_Brake as signal 
chain for the Brake_Command (see the Brake parameter menu and Figure 15)
If you have questions regarding this throttle type, contact your Curtis distributor or support engineer.
Figure 6 
Wiring for Type 3 
throttles.
Pot Low input  (Pin 18)
Pot Wiper input  (Pin 16 or 17)
0–5kΩ
FASTER
Throttle Type 3
For these 2-wire resistive potentiometers, shown in Figure 6, full throttle request corresponds to 5 
kΩ measured between the pot wiper pin and the Pot Low pin.
Quick Links:
Figure 15  p.105
rottle Type parameter  p.46
Brake Type parameter  p.48








 3 — APPLICATION-SPECIFIC FEATURES
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 24
MOTOR SPEED CONSTRAINTS
e maximum motor speed is a programmable parameter in each control mode. Regardless of which 
control mode is used, the maximum motor speed the controller will allow is constrained by the 
number of motor poles, the encoder pulses per motor revolution, and the maximum speed constraint 
imposed by the rmware.
NOTE: e overall maximum motor speed* allowed is the least of the following three constraints:
1. Electrical Frequency Constraint
The controller is designed to output fundamental electrical frequencies up to 450 Hz. It 
accomplishes this by clamping the Max Speed allowed, using the equation:
  Max Speed Frequency Limit = 54000 / Number of Motor Poles 
us, for example, an 8-pole motor running synchronously at 450 Hz would rotate at 54000/8 = 
6730 rpm (max). erefore the internal control soware will limit the max speed to 6750 rpm for 
an 8-pole motor. Limited over-speed is allowed, for example if the motor were to go over this speed 
going down a hill, the controller will still attempt to produce the correct frequency for maximized 
torque and proper control; it will not simply clamp to 450 Hz.
2. Encoder Pulses/Revolution Constraint (quadrature encoder)
e maximum encoder frequency the controller will accept is 10 kHz. To determine how fast this 
constraint will allow your motor to spin,  use the equation
  Max Speed Encoder Limit = 600000 / Encoder Size
  (e.g., a motor with a 128-pulse encoder can run up to 4687 rpm).
3. Firmware Max Speed Constraint
e maximum motor speed the controller will allow is 8000 rpm.
  Max Speed RPM Limit = 8000*
* This maximum allowed speed is displayed in the Monitor » Motor » Max Speed Controller Limit variable 
Note: In the case where the Max Speed parameter is the prevailing constraint, greater RPM may be possible. 
Contact your Curtis distributor or support engineer to discuss your particular application.
Quick Links:
Max Speed Controller 
Limit  p.73






pg. 25
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
 3 — APPLICATION-SPECIFIC FEATURES
VOLTAGE LIMITS
e controller establishes both hardware-based voltage limits and parameter-based user dened 
limits. Overvoltage protection cuts back regen braking to prevent damage to batteries and other 
electrical system components due to overvoltage. Undervoltage protection prevents systems from 
operating at voltages below their design thresholds
e four threshold points are calculated from the Nominal Voltage, Undervoltage Kp and Ki, User 
Overvoltage, and User Undervoltage parameter settings and the controller’s minimum voltage and 
maximum voltage ratings.  Note that both the KSI (pin 1) and the B+ terminal (when the main is 
closed) are at battery voltage, and the capacitor bank is precharged via KSI prior to the main closure.
Overvoltage =  Either Max Voltage (see Table D-1)  
or User Overvoltage × Nominal Voltage, whichever is lower.
Severe Overvoltage = Overvoltage (see previous item) + 10V.
Undervoltage =  Either Min Voltage (see Table D-1)  
or User Undervoltage × Nominal Voltage, whichever is higher.
Severe Undervoltage =  Either drive current cut back to 0% for 64 ms or Brownout 
Voltage * (see Table D-1) is reached, whichever comes rst.
* e Brownout Voltage is determined by the controller base type and cannot be changed. When 
the controller's capacitor voltage falls below the Brownout voltage the bridge is switched o (i.e., 
motor current is switched o). If the capacitor voltage stays below the Brownout voltage for > 64 
milliseconds the controller will reset (equivalent to cycling the keyswitch). If the capacitor voltage 
rises above the Brownout voltage before 64 ms have passed the bridge will be re-enabled. e Severe 
Undervoltage point cannot be set lower than the Brownout voltage.
BATTERY DISCHARGE INDICATOR
e lead-acid battery discharge indicator (BDI) algorithm continuously calculates the battery state-
of-charge from the B+ voltage, whenever the main contactor is closed. e result of the BDI algorithm 
is the variable BDI Percentage, which is viewable in the 1313/1314 menu Monitor » Battery. When 
KSI is turned o, the present BDI Percentage is stored in nonvolatile memory.
The standard values for volts per cell are as follows, for flooded lead-acid batteries and sealed 
maintenance-free lead-acid batteries.
Battery Type
Flooded Sealed
Reset Volts Per Cell 2.09 2.09
Full Volts Per Cell 2.04 2.04
Empty Volts Per Cell 1.73 1.90
Use the standard values for your type of batteries as the starting point in setting the reset, full, 
and empty volts-per-cell parameters. Note: For non lead-acid batteries, including Lithium-Ion 
battery packs, use the pack's or cell manufacturer's approved Battery Management System (BMS) 
for determining BDI.
Quick Links:
Controller voltage 
ratings  p.147
User/parameter voltage 
limits  p.62







 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 26
4 — PROGRAMMABLE PARAMETERS
ese controllers have a number of parameters that can be programmed using a Curtis 1313 handheld 
programmer or 1314 PC Programming Station. e programmable parameters allow the vehicle’s 
performance to be customized to t the needs of specic applications.
PROGRAMMING MENUS
e programmable parameters are grouped into nested hierarchical menus, as shown in Table 3.
Motor response tuning
Motor response characteristics can be tuned through speed control or through torque control, 
depending on the application. Use the Control Mode Select parameter (page 31) to select which 
tuning mode you will use:
•  Speed Mode Express
•  Speed Mode
•  Torque Mode.
Speed Mode Express is a simplied version of Speed Mode with a reduced set of parameters that is 
adequate for most speed-controlled applications.
Use Speed Mode or Speed Mode Express for applications where throttle input corresponds to motor 
speed output.
Use Torque Mode for applications where throttle input corresponds to motor torque output.
Note: You can tune using torque control or speed control, but not both. For example, if you adjust a 
torque control parameter while Speed Mode or Speed Mode Express has been selected as your tuning 
mode, the programmer will show the new setting but it will have no eect.
We strongly urge you to read Chapter 6, Initial Setup, before adjusting any of the parameters.
Even if you opt to leave most of the parameters at their default settings, it is imperative that you 
perform the procedures outlined in Chapter 6, which set up the basic system characteristics for 
your application.
Parameter change faults
Parameters marked PCF in the menu charts will set a Parameter Change Fault (code 49) if they are 
changed while the motor bridge is enabled (interlock = On). Although the parameter will be changed, 
the fault will prevent motor control functions until the fault is cleared by cycling the keyswitch. If 
the motor bridge is disabled (interlock = O ), changing these parameters will not cause a fault and 
the changes will take eect immediately.
NOTICE







 4 — PROGRAMMABLE PARAMETERS
pg. 27
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CONTROL MODE SELECT................ p. 31
Table 3 Programmable Parameters Menus: 1313/1314 Programmer 
0 - SPEED MODE EXPRESS............. p. 31
— Max Speed
— Kp
— Ki
— Accel Rate
— Decel Rate
— Brake Rate
— Pump Enable
— Regen Lower Enable   
1 - SPEED MODE MENU...................... p. 32
— SPEED CONTROLLER........... p. 32
— Max Speed
— Kp
— Ki LS
— Ki HS 
— VEL FEEDFORWARD..... p. 33
— Kvff
— Build Rate
— Release Rate
— ACC FEEDFORWARD .... p. 34
— Kaff
— Kbff
— Build Rate
— Release Rate
— RESPONSE.......................... p. 35
— Full Accel Rate HS
— Full Accel Rate LS
— Low Accel Rate
— Neutral Decel Rate HS
— Neutral Decel Rate LS
— Full Brake Rate HS
— Full Brake Rate LS
— Low Brake Rate
— FINE TUNING............ p. 36
— Partial Decel Rate
— HS (High Speed)
— LS (Low Speed)
— Reversal Soften
— Max Speed Accel
— Max Speed Decel
— RESTRAINT.............................. p. 37 
— Restraint Forward 
— Restraint Back
— Soft Stop Speed
— POSITION HOLD............... p. 38
— Position Hold Enable
— Position Hold Timeout Time
— Kp
— Kd
— Zero Speed Threshold
— Zero Speed Threshold Time
— Position Hold Settling Time
— Entry Rate
— Exit Rollback Reduction
— Pump Enable..................... p. 39
— Regen Lower Enable.......... p. 39
2 - TORQUE MODE MENU
— SPEED LIMITER......................... p. 39
— Max Speed
— Kp
— Ki
— Kd 
— RESPONSE ................................. p. 40
— Accel Rate
— Accel Release Rate
— Brake Rate
— Brake Release Rate
— Neutral Braking
— Neutral Taper Speed
— Forward Full Restraint Speed
— Back Full Restraint Speed
— FINE TUNING...................... p. 41
— Creep Torque
— Brake Full Creep Cancel
— Creep Build Rate
— Creep Release Rate
— Gear Soften
— Brake Taper Speed
— Reversal Soften
— Max Speed Decel
CURRENT LIMITS MENU.................. p. 43
— Drive Current Limit
— Regen Current Limit
— Brake Current Limit
— EMR Current Limit
— Interlock Brake Current Limit
— POWER LIMITING MAP.......... p. 43
— PL Nominal Speed
— Delta Speed
— DRIVE LIMITING MAP..... p. 44
— Nominal
— Plus Delta
— Plus 2x Delta
— Plus 4x Delta
— Plus 8x Delta
— REGEN LIMITING MAP... p. 45
— Nominal
— Plus Delta
— Plus 2x Delta
— Plus 4x Delta
— Plus 8x Delta
THROTTLE MENU............................. p. 46
— Throttle Type
— Forward Deadband
— Forward Map
— Forward Max
— Forward Offset
— Reverse Deadband
— Reverse Map
— Reverse Max
— Reverse Offset
— Throttle Filter
— HPD SRO Type
— Sequencing Delay
— VCL Throttle Enable
BRAKE MENU.................................. p. 48
— Brake Pedal Enable
— Brake Type
— Brake Deadband
— Brake Map
— Brake Max
— Brake Offset
— Brake Filter
— VCL Brake Enable


























 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 28
Table 3 Programmable Parameters Menus: 1313/1314 Programmer  continued
DRIVERS MENU........................ p. 51
— MAIN CONTACTOR......... p. 51
— Main Enable
— Main Interlock Type
— Pull In Voltage
— Holding Voltage
— Battery Voltage Comp.
— Interlock Type
— Open Delay
— Weld Check Enable
— Main DNC Check Enable 
— Main DNC Check Threshold
— Precharge Enable 
— PROPORTIONAL DRIVER... p. 53
— PD Enable
— Hyd Lower Enable
— PD Max Current
— PD Min Current
— PD Dither %
— PD Dither Period
— PD Kp
— PD Ki
— DRIVER 3...................... p. 53
— Contactor Enable
— Pull In Voltage
— Holding Voltage
MOTOR MENU........................................ p. 54
— Typical Max Speed
— CONTROL ALGORITHMS................... p. 55
— Motor Technology
— 0-ACIM (INDUCTION MOTOR)........ p. 55
— CHARACTERIZATION TEST........ p. 55
— Test Enable
— Test Throttle
— Motor Poles
— Max Test Speed
— Max Text Current
— SlipGain
— Current Reg Tuning Test Enable
— FIELD WEAKENING CONTROL... p. 56
— FW Base Speed
— Field Weakening Drive
— Weakening Rate Drive
— Min Field Current
— Swap Two Phases................... p. 57
— MotorType............................... p. 57
— LOS (Limited Operating Strategy)... p. 58
— LOS Upon Encoder Fault
— LOS Max Speed
— LOS Max Current
— LOS Max Mod Depth
— LOS Accel Rate
— LOS Decel Rate
— 1-SPM (SURFACE PM MOTOR)...... p. 59
— CHARACTERIZATION TESTS...... p. 59
— Test Enable
— Test Throttle
— Max Test Speed
— Max Test Current
BATTERY MENU................................. p. 62
— Nominal Voltage
— Kp UV
— Ki UV
— User Overvoltage
— User Undervoltage
— Reset Volts Per Cell
— Full Volts Per Cell
— Empty Volts Per Cell
— Discharge Time
— BDI Reset Percent
— MOTOR FEEDBACK OPTIONS.............. p. 59
— Feedback Type
— Swap Feedback Direction
— 1-ENCODER................................. p 59
— Encoder Steps
— ENCODER FAULT SETUP.......... p. 60
— Fault Detection Enable
— Encoder Pulse Fault Detect Time
— Fault Stall Time
— 2-SIN/COS................................... p. 60
— Sin Cos Fault Threshold
— Sin Cos Fault Threshold High
— Sin Cos Fault Time
— Sin Min
— Sin Max
— Cos Min
— Cos Max
— TEMPERATURE CONTROL............. p. 61
— Sensor Enable
— Sensor Type
— Sensor Offset
— Braking Thermal Cutback Enable
— Temperature Hot
— Temperature Max
— MotorTemp LOS Max Speed
— FAULT CHECKING......................... p. 54
— Driver1 Checks Enable
— Driver2 Checks Enable
— Driver3 Checks Enable
— Driver4 Checks Enable
— PD Checks Enable
— External Supply Max
— External Supply Min
— PWM FREQUENCY........................ p.54
DUAL DRIVE MENU ............ see Dual Drive
addendum, 
Document number:
53097 DUAL-DRIVE 
SUPPLEMENT_os31.
EM BRAKE CONTROL MENU..... p. 49
— Brake Type
— Pull In Voltage
— Holding Voltage
— Battery Voltage Comp.
— Set EM Brake On Fault
— Zero Speed Threshold
— Zero Speed Threshold Time
— Position Hold Settling Time
— Brake Set Time
— Torque Release Time
— Brake Release Time
— Torque Preload Time
— Torque Preload Enable
— Save Torque Preload
— Torque Preload Cancel Delay
— EM Brake Fault Motor Revs




























 4 — PROGRAMMABLE PARAMETERS
pg. 29
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
VEHICLE MENU................................... p. 64
— Metric Units
— Speed to RPM
— Capture Speed 1
— Capture Speed 2
— Capture Distance 1
— Capture Distance 2
— Capture Distance 3
INTERLOCK BRAKING MENU.............. p. 66
— Enable
— Decel Rate HS
— Decel Rate LS
— Interlock Brake Timeout
CAN INTERFACE MENU...................... p. 67
— CANopen Interlock
— CAN Node ID 1
— CAN Node ID 2
— CAN Node ID 3
— CAN Node ID 4
— Supervisor Node ID
— Baud Rate
— Heartbeat Rate
— PDO Timeout Period
— Emergency Message Rate
— Suppress CANopen Init
Table 3 Programmable Parameters Menus: 1313/1314 Programmer  continued
RESET CONTROLLER......................... p. 68
EMERGENCY REVERSE MENU ............ p. 65
—EMR Enable 
—EMR Type 
—EMR Dir Interlock 
—EMR Time Limit 
—EMR Speed 
—EMR Accel Rate 
—EMR Decel Rate










 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 30
Individual parameters are presented as follows in the menu charts:
Max Speed 100 – 8000 rpm Denes the maximum allowed motor rpm at full throttle.
Max_Speed_SpdM 100 – 8000
0x3011 0x00
Parameter name 
as it appears in the 
programmer display. 
Parameter name 
in VCL. 
CAN object index 
and subindex.
Allowable range in the 
programmer’s units. 
Allowable range 
in VCL units. 
Description of parameter’s function and, 
where applicable, suggestions for setting it. 
Note: All bit variables have two VCL parameter names. e rst is the name of the bit, and the second 
is the name of the byte containing the bit. e bit position within the byte is indicated in brackets 
aer the byte name.
Examples:
BIT NAME: Metric_Units
BYTE NAME: OptionBits3 [Bit 5]
BIT NAME: EMR_Dir_Interlock
BYTE NAME: EMR_DIR_INTERLOCK_BIT0 [Bit 0]
In the second example, “_Bit0” is part of the byte name, and does not indicate the bit position; this 
byte, like all bytes, has 8 available bits.
Within the menu charts, each pair of bit variable names is shown as a grouped set, with the bit name 
appearing rst and then the byte name:
 Metric Units    On/Off
|Metric_Units     On/Off
|OptionBits3       [Bit 5]
SDO Write Message
To retain parameter values changed via CANopen SDO write messages following a key-cycle, write a 
non-zero value to CAN_EE_Writes_Enabled (object index 0x332F, subindex 0x00) before changing 
parameter values. is will cause changes to be written to non-volatile memory immediately. Aer 
completing the changes, write the value zero to CAN_EE_Writes_Enabled.
Do not leave CAN_EE_Writes_Enabled at a non-zero value during normal operation, because 
damage to the controller’s EEPROM may occur.
CAN SDO and PDO message transmission nomenclature:
roughout this manual and VCL, CAN messages from the master (server) and messages from the slave 
(client) controllers are noted as MOSI and MISO versus Rx and Tx. Use the MOSI and MISO in the PDO 
Byte Map variables as shown on page 78, Monitor » CAN STATUS.
MOSI (Master Out Slave In) = RX (Server to Client), as per CANopen nomenclature.
MISO (Master In Slave Out) = TX (Client to Server), as per CANopen nomenclature.
If you have questions regarding the CAN features, contact your Curtis distributor or support engineer.
CAUTION






 4 — PROGRAMMABLE PARAMETERS
pg. 31
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
0 - SPEED MODE EXPRESS — SPEED MODE EXPRESS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Max Speed
Max_Speed_SpdMx
0x3840 0x00
100 – 8000 rpm
100 – 8000
Denes the maximum requested motor rpm at full throttle. Partially-
applied throttle is scaled proportionately; e.g., 40% applied throttle 
corresponds to a request for 40% of the set Max Speed Value. 
If Max_Speed_SpdMx is set <10 rpm (through VCL or CAN), the throttle 
request is zeroed
NOTE: The maximum motor rpm is subject to the constraints on page 24.
Kp
Kp_SpdMx
0x3841 0x00
0 – 100%
0 – 8192
Determines how aggressively the speed controller attempts to match 
the speed of the motor to the commanded speed. Larger values provide 
tighter control.
If the gain is set too high, you may experience oscillations as the controller 
tries to control speed. If it is set too low, the motor may behave sluggishly 
and be difcult to control.
Ki
Ki_SpdMx
0x3842 0x00
5 – 100%
50 – 1000
The integral term (Ki) forces zero steady state error, so the motor will run 
at exactly the commanded speed. Larger values provide tighter control.
If the gain is set too high, you may experience oscillations as the controller 
tries to control speed. If it is set too low, the motor may take a long time to 
approach the exact commanded speed.
Accel Rate
Accel_Rate_SpdMx
0x3843 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the speed command increases when 
throttle is applied. Larger values represent slower response.
Decel Rate
Decel_Rate_SpdMx
0x3847 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
throttle is reduced. Larger values represent slower response.
Brake Rate
Brake_Rate_SpdMx
0x3848 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the vehicle slows down when brake is 
applied or when throttle is applied in the opposite direction. Larger values 
represent slower response.
Pump Enable*
|AC_Pump_Enable_SpdM
|AC_Pump_Enable_SpdM_Bit0 [Bit 0]
0x3896 0x00
On / Off
On / Off
This parameter should be programmed On to operate a pump motor rather 
than a vehicle drive motor. The speed-controller responsiveness and 
stability are enhanced for pump-motor applications.
Regen Lower Enable*
Regen_Lower_Enable_SpdM
Regen_Lower_Enable_SpdM_Bit0 
[Bit 0]
0x3877 0x00
On / Off
On / Off
This parameter works together with Pump Enable as follows:
1)  When Pump Enable = On and Regen Lower Enable = On, the pump 
motor can turn in both the forward and the reverse direction. In this 
case, the pump can be used as the Lower function (reverse). The pump 
motor, when “driven in reverse by a load” will also regen current in a 
similar fashion to a drive-motor regenerative braking. 
2)  When Pump Enable = On and Regen Lower Enable = Off, the pump 
motor can turn only in the forward direction. In this case, a hydraulic 
valve is typically used for the Lower function. 
3)  When Pump Enable = Off, the Regen Lower Enable parameter has no 
effect on the control system.
* This parameter appears twice in the parameter menu structure. Changing the value of this parameter affects the same parameter in Speed Mode.
CONTROL MODE SELECT
PARAMETER ALLOWABLE RANGE DESCRIPTION
Control Mode Select  PCF
0 – 2 This parameter determines which control method will be in effect when 
programming motor response:
0 = SPEED MODE EXPRESS
1 = SPEED MODE
2 = TORQUE MODE
Contact your Curtis distributor or support engineer if you are interested in a 
custom control method.
NOTE: Do not change this parameter while the controller is powering the motor. Any 
time this parameter is changed a Parameter Change Fault (fault code 49) is set and 
must be cleared by cycling power; this protects the controller and the operator.
Control_Mode_Select 0 – 2
0x3010 0x00






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 32
1- SPEED MODE  — SPEED CONTROLLER MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Max Speed
Max_Speed_SpdM
0x3011 0x00
100 – 8000 rpm
100 – 8000
Denes the maximum requested motor rpm at full throttle. Partially-applied 
throttle is scaled proportionately; e.g., 40% applied throttle corresponds to a 
request for 40% of the set Max Speed Value.
If Max_Speed_SpdM is set <10 rpm (through VCL or CAN), the throttle request 
is zeroed. 
NOTE: The maximum motor rpm is subject to the constraints on page 24.
Kp
Kp_SpdM
0x3012 0x00
0 – 100%
0 – 8192
Determines how aggressively the speed controller attempts to match the 
speed of the motor to the commanded speed. Larger values provide tighter 
control.
If the gain is set too high, you may experience oscillations as the controller 
tries to control speed. If it is set too low, the motor may behave sluggishly and 
be difcult to control.
Ki LS
Ki_SpdM
0x3015 0x00
5 – 100%
50 – 1000
The Ki LS parameter sets the Ki for low vehicle speeds. The integral term (Ki) 
forces zero steady state error, so the motor will run at exactly the commanded 
speed. Larger values provide tighter control.
If the gain is set too high, you may experience oscillations as the controller 
tries to control speed. If it is set too low, the motor may take a long time to 
approach the exact commanded speed.
Ki HS
Ki_HS_SpdM
0x301D 0x00
5 – 100%
50 – 1000
The Ki HS parameter sets the integral term (Ki) for high vehicle speeds; see 
description of Ki LS.






 4 — PROGRAMMABLE PARAMETERS
pg. 33
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
1- SPEED MODE  — VELOCITY FEEDFORWARD MENU [OPTIONAL]
PARAMETER ALLOWABLE RANGE DESCRIPTION
Kvff
Kvff_SpdM
0x3014 0x00
0 – 500 A
0 – 5000
This velocity feedforward term is designed to improve throttle responsiveness 
and speed controller performance, especially at low speeds.
For traction systems, set it to 50–70% of the current needed to maintain a 
very low speed, unloaded, on at ground.
For a pump system, set it to the lowest load current (i.e., the current running 
at the minimum load). Alternatively, the responsiveness of a pump speed 
control loop can be signicantly enhanced by using a VCL program to 
continuously update this parameter to the appropriate value as each pump 
load is requested.
Build Rate
Vel_FF_Build_Rate_SpdM
0x3093 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the Kvff term builds up.
For traction systems, if you feel or hear the mechanical slop pick up abruptly 
when you move the throttle from neutral to a very small value, slowing the 
build rate (i.e., setting it to a higher value) will soften the feel.
For a pump system, start with this parameter at the minimum setting. Slowing 
it down (i.e., setting it to a higher value) will reduce speed overshoot if too 
much feedforward has been commanded.
Release Rate
Vel_FF_Release_Rate_SpdM
0x3094 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the Kvff term releases. If the release seems too abrupt, 
slowing the release rate (i.e., setting it to a higher value) will soften the feel.
It should be set fast enough (i.e., at a low enough value) to prevent the
vehicle from running on after throttle release.





 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 34
1- SPEED MODE  — ACCELERATION FEEDFORWARD MENU [OPTIONAL]
PARAMETER ALLOWABLE RANGE DESCRIPTION
Kaff
Kaff_SpdM
0x3013 0x00
0 – 500 A
0 – 5000
This acceleration feedforward term is designed to improve throttle 
responsiveness and speed controller performance at all speeds. It can be 
thought of as a “quick start” function which can enhance responsiveness at 
all speeds.
Using your present accel and decel rates, observe the average current you are 
running at full throttle at low speeds while accelerating without load on at 
ground, and set Kaff to 50–70% of that value.
NOTE: If any accel rate parameters get changed, this parameter will need 
to be changed also.
Kbff
Kbff_SpdM
0x3019 0x00
0 – 500 A
0 – 5000
This braking feedforward term is designed to improve braking responsiveness 
at all speeds.
Using your present decel rates, observe the average current you are running 
at full throttle braking, and set Kbff to that value.
Build Rate
Acc_FF_Build_Rate_SpdM
0x3095 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the Kaff and Kbff terms build up.
For traction systems, if you feel or hear the mechanical slop pick up abruptly 
when you move the throttle from neutral to a very small value, slowing the 
build rate (i.e., setting it to a higher value) will soften the feel. 
For a pump system, start with this parameter at the minimum setting. Slowing 
it down (i.e., setting it to a higher value) will reduce over-shoot if too much 
feedforward has been commanded.
Release Rate
Acc_FF_Release_Rate_SpdM
0x3096 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the Kaff and Kbff terms release. It should be set fast 
enough (i.e., at a low enough value) to prevent the vehicle from running on 
after throttle release.





 4 — PROGRAMMABLE PARAMETERS
pg. 35
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
ACCEL RATE
(seconds)
MOTOR SPEED
LOW SPEED
(LS 
x
  Typical_Max_Speed)
= 30% 
x
  5000 rpm = 1500
FASTER
Full Accel Rate LS = 1.5
Full Accel Rate HS = 3.0
Low Accel Rate = 20.0
HIGH SPEED
(HS 
x
  Typical_Max_Speed)
= 70% 
x
  5000 rpm = 3500
TYPICAL
MAX
SPEED
FASTER
90% Throttle
10% Throttle
INCREASING THROTTLE
Figure 7 
Acceleration response rate 
diagram. In this example,
HS = 70%,
LS = 30%,
Typ Max Spd = 5000 rpm.
 1- SPEED MODE —RESPONSE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Full Accel Rate HS
Full_Accel_Rate_HS_SpdM
0x307F 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the speed command increases when full 
throttle is applied at high vehicle speeds. Larger values represent slower 
response. See Figure 7 for relationship between Full Accel Rate HS, Full Accel 
Rate LS, and Low Accel Rate.
Full Accel Rate LS
Full_Accel_Rate_LS_SpdM
0x3016 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the speed command increases when full 
throttle is applied at low vehicle speeds.
Low Accel Rate
Low_Accel_Rate_SpdM
0x3081 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the speed command increases when a 
small amount of throttle is applied. This rate is typically adjusted to affect low 
speed maneuverability.
Neutral Decel Rate HS
Neutral_Decel_Rate_HS_SpdM
0x3018 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
throttle is released to neutral at high vehicle speeds.
Neutral Decel Rate LS
Neutral_Decel_Rate_LS_SpdM
0x3070 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
throttle is released to neutral at slow vehicle speeds.
Full Brake Rate HS
Full_Brake_Rate_HS_SpdM
0x301B 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the vehicle slows down from high speeds 
when full brake is applied or when full throttle is applied in the opposite 
direction. See Figure 8 for relationship between Full Brake Rate HS, Full Brake 
Rate LS, and Low Brake Rate.
Full Brake Rate LS
Full_Brake_Rate_LS_SpdM
0x3077 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the vehicle slows down from low speeds 
when full brake is applied or when full throttle is applied in the opposite 
direction.
Low Brake Rate
Low_Brake_Rate_SpdM
0x301A 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the vehicle slows down at all speeds when 
a small amount of brake is applied or when a small amount of throttle is 
applied in the opposite direction.
The Low Brake Rate parameter should always be set less than or equal to 
the Neutral Decel Rate LS, Neutral Decel Rate HS, Full Brake Rate LS and Full 
Brake Rate HS.





 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 36
1- SPEED MODE — FINE TUNING MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Partial Decel Rate
Partial_Decel_Rate_SpdM
0x3082 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
throttle is reduced without being released to neutral. Larger values represent 
slower response.
HS (High Speed)
HS
0x3076 0x00
0 – 100%
0 – 32767
Sets the percentage of the Typical Max Speed above which the “HS” 
parameters will be used.
LS (Low Speed)
LS
0x3075 0x00
0 – 100%
0 – 32767
Sets the percentage of the Typical Max Speed below which the “LS” 
parameters will be used.
Reversal Soften
Reversal_Soften
0x3074 0x00
0 – 100%
0 – 30000
Larger values create a softer reversal from regen braking to drive when near 
zero speed. This helps soften the transition when the regen and drive current 
limits are set to different values.   
Note: This parameter is not mode-specic and appears in two places.  
Changing the value of this speed-mode parameter affects the parameter listed 
in: Program » Torque Mode » Response » Fine Tuning » Reversal Soften.
Max Speed Accel
Max_Speed_Accel_SpdM
0x384A 0x00
0.1 – 30.0 s
100 – 30000
In some applications, the Max Speed value is changed frequently, through 
VCL or over the CANbus. The Max Speed Accel parameter controls the rate at 
which the maximum speed setpoint is allowed to change when the value of 
Max Speed is raised. The rate set by this parameter is the time to ramp from 0 
rpm to Typical Max Speed rpm.
For example, suppose Max Speed is raised from 1000 rpm to 4000 rpm. If Typical 
Max Speed is 5000 rpm and the rate is 10.0 seconds, it will take 
10.0 X (4000–1000) ÷ 5000 = 6.0 seconds to ramp from 1000 rpm to 4000 rpm.
Max Speed Decel
Max_Speed_Decel_SpdM
0x3846 0x00
0.1 – 30.0 s
100 – 30000
This parameter works like the Max Speed Accel parameter, except that it 
controls the rate at which the maximum speed setpoint is allowed to change 
when the value of Max Speed is lowered.
For example, suppose you change Max Speed from 4500 rpm to 2500 rpm. If 
Typical Max Speed is 5000 rpm, and the rate is 5.0 seconds, it will take 
5.0 X (4500–2500) ÷ 5000 = 2.0 seconds to ramp from 4500 rpm to 2500 rpm.
BRAKE RATE
(seconds)
MOTOR SPEED
LOW SPEED
(LS 
x
  Typical_Max_Speed)
= 30% 
x
  5000 rpm = 1500
FASTER
Full Brake Rate HS = 1.5
Full Brake Rate LS = 3.0
Low Brake Rate = 20.0
HIGH SPEED
(HS 
x
  Typical_Max_Speed)
= 70% 
x
  5000 rpm = 3500
TYPICAL
MAX
SPEED
FASTER
100% Brake
1% Brake
INCREASING BRAKE
Figure 8 
Braking response rate 
diagram. In this example,
HS = 70%,
LS = 30%,
Typ Max Spd = 5000 rpm.
Quick Links:
Typical Max Speed  p.54






 4 — PROGRAMMABLE PARAMETERS
pg. 37
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
1- SPEED MODE — RESTRAINT MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Restraint Forward
Restraint_Forward_SpdM
0x3020 0x00
0 – 100%
0 – 32767
Increases torque when on a steep hill in order to limit roll-forward speed. 
Setting this parameter too high may cause oscillations in the motor as it 
attempts to limit the roll-forward speed.
Restraint Back
Restraint_Back_SpdM
0x301F 0x00
0 – 100%
0 – 32767
Increases torque when on a steep hill in order to limit roll-back speed. Setting 
this parameter too high may cause oscillations in the motor as it attempts to 
limit the roll-back speed.
Soft Stop Speed
Soft_Stop_Speed
0x3027 0x00
0 – 500 rpm
0 – 500
Denes the speed below which a much slower decel rate is used.
A setting of zero disables the function. NOTE: This parameter works only in 
Speed Mode and Speed Mode Express.
Soft Stop Speed is useful for vehicles that have fast deceleration and vehicles 
operating on ramps using the Position Hold function.
With vehicles that have fast deceleration, the driver may nd the nal speed 
reduction to zero rpm uncomfortable; the vehicle may even rock back as a 
result of tire wind-up. Soft Stop Speed allows the vehicle to slow at the same 
fast rate until it reaches the set threshold, at which point it changes to a 
slower (softer) deceleration rate. However, if the threshold is set too high, the 
vehicle will feel like it is “running on.”
When throttle is released on a ramp, the vehicle may roll back before Position 
Hold (see below) takes control. Soft Speed Stop can be used to reduce the 
amount of rollback, but shouldn’t be set so high the vehicle drives up the 
ramp after the throttle is released.





 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 38
1- SPEED MODE — POSITION HOLD MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Position Hold Enable   PCF
|Position_Hold_Enable
|Position_Hold_Enable_Bit0 [Bit 0]
0x3893 0x00
On / Off
On / Off
Allows the Position Hold mode to be entered at zero throttle when the vehicle  
comes to a stop.
NOTE: EM Brake Type = 2 also enables the Position Hold function
Position Hold Timeout Time
Position_Hold_Timeout_Time
0x388C 0x00
0.0 – 20.0 s
0 – 625
This parameter plus the Position Hold Settling Time parameter sets the maximum 
time the vehicle will stay in Position Hold before releasing the hold and going into 
Restraint mode. Setting the parameter to zero disables this timeout function, which 
means the Position Hold will be held. Activating the interlock resets the timer. 
Kp
Kp_Position_Hold
0x388A 0x00
2 – 100%
82 – 2048
Determines the stiffness with which position is regulated when in Position Hold 
mode. High Kp will produce less rollback on a ramp, but more bouncing; see Kd 
below. Too much Kp will cause instability.
Kd
Kd_Position_Hold
0x388D 0x00
0 – 100%
0 – 8192
Determines the damping in Position Hold mode. Some damping must be present 
in the control system to keep the vehicle from oscillating slowly (“bouncing”). 
High Kd will improve the dynamic response of the Position Hold controller, but too 
much Kd will cause fast instability.
Zero Speed Threshold
Zero_Speed_Threshold
0x306F 0x00
5 – 100 rpm
5 – 100
Determines the speed below which the EM brake will be commanded to set. 
Setting this speed too high may cause a jerky stop when the EM brake sets and 
stops the motor.  
This parameter appears twice in the menu structure. Changing the value of this 
parameter affects this (same) parameter in the EM Brake Control menu, page 49.
This parameter is re-named for os31. It is the same as the previous Set 
Speed Threshold parameter.  
Zero Speed Threshold Time
Zero_Speed_Threshold_Time
0x30DA 0x00
0 – 480 ms
0 – 60
Determines how long motor speed must be below Zero_Speed_Threshold to 
declare zero speed.
This parameter appears twice in the menu structure. Changing the value of this 
parameter affects this (same) parameter in the EM Brake Control menu, page 49. 
This is a new parameter for os31
Position Hold Settling Time
Position_Hold_Settling_Time
0x3024 0x00
0 – 5000 ms
0 – 156
Determines how long the position hold function is allowed to operate before the EM 
brake is set. This time should be set long enough for the position hold to settle.
This parameter appears twice in the menu structure. Changing the value of this 
parameter affects this (same) parameter in the EM Brake Control menu, page 50.
This parameter is re-named in os31. It is the same as the previous Set Speed 
Settling Time parameter.
Entry Rate
Entry_Rate_Position_Hold
0x383B 0x00
5 – 100%
50 – 1000
When the vehicle transitions from forward speed to reverse speed or from 
reverse speed to forward speed (for example when coming to a stop going up 
a steep ramp) Position Hold is automatically entered immediately at zero speed 
regardless of this parameter.
This parameter applies when the vehicle needs to be brought to a stop without 
the assistance of gravity (for example when moving forward down a ramp). 
This rate determines how quickly zero speed is attained after the ramped 
speed request reaches zero. Setting this parameter too high will make the stop 
seem very abrupt and may even cause the vehicle to roll back slightly. When 
the parameter is set lower the vehicle take longer to come to a stop and enter 
Position Hold mode.
Exit Rollback Reduction
Exit_Rollback_Reduction
0x3844 0x00
0 – 100%
0 – 2048
This function is applicable when the Torque Preload Enable function has been 
Disabled (Off) or the Torque Preload Cancel Delay timer has expired (see EM 
Brake menu). Exit Rollback Reduction is only intended for use with EM Brake 
Type = 2, for EM Brake Type = 1 (or 0) set Exit Rollback Reduction = 0.
Exit Rollback Reduction introduces an additional control function for the speed 
controller to reduce rollback on a ramp after a throttle command is applied from 
a stop. For example, suppose the vehicle is on a ramp facing upwards and, after 
a forward throttle request, the vehicle rolls back slightly before climbing the ramp 
(again, assuming the torque preload function is inactive). As the vehicle rolls back, 
this additional term will be added to the torque request until forward speed is sensed, 
to attempt to minimize rollback. The effect increases with percentage, and is disabled 
when = 0%. Setting the value too high may introduce temporary oscillations.
If the Torque Preload Cancel Delay parameter expires before the throttle is re-
engaged, the torque preload [Position Hold] memory will be cleared. In such a 
case, setting Exit Rollback Reduction to > 0% will reduce unintended roll. (see 
page 51).










 4 — PROGRAMMABLE PARAMETERS
pg. 39
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
1- SPEED MODE — PUMP PARAMETERS
PARAMETER ALLOWABLE RANGE DESCRIPTION
Pump Enable*
|AC_Pump_Enable_SpdM
|AC_Pump_Enable_SpdM_Bit0 [Bit 0]
0x3896 0x00
On / Off
On / Off
This parameter should be programmed On to operate a pump motor 
rather than a vehicle drive motor. Speed controller responsiveness and 
stability are enhanced.
Regen Lower Enable*
Regen_Lower_Enable_SpdM
Regen_Lower_Enable_SpdM_Bit0 
[Bit 0]
0x3877 0x00
On / Off
On / Off
This parameter works together with Pump Enable as follows:
1)  When Pump Enable = On and Regen Lower Enable = On, the pump 
motor can turn in both the forward and the reverse direction. In this 
case, the pump can be used as the Lower function (reverse). The 
pump motor, when “driven in reverse by a load” will also regen current 
in a similar fashion to a drive-motor regenerative braking. 
2)  When Pump Enable = On and Regen Lower Enable = Off, the pump 
motor can turn only in the forward direction. In this case, a hydraulic 
valve is typically used for the Lower function. 
3)  When Pump Enable = Off, the Regen Lower Enable parameter has no 
effect on the control system. 
*  This parameter appears twice in the parameter menu structure. Changing the value of this parameter affects the same parameter in Speed Mode 
Express.
2 – TORQUE MODE — SPEED LIMITER MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Max Speed
Max_Speed_TrqM
0x3021 0x00
500 – 8000 rpm
500 – 8000
Denes the maximum allowed motor rpm for torque control mode 
(independent of throttle position). In torque control mode, full throttle 
requests 100% of the available torque. Partially-applied throttle is scaled 
proportionately; e.g., 40% applied throttle corresponds to a request for 40%  
of the available torque.
NOTE: The maximum motor rpm is subject to the constraints on page 24.
Kp
Kp_TrqM
0x3023 0x00
0 – 100%
0 – 8192
Determines how aggressively the speed controller attempts to limit the speed 
of the motor to Max Speed. Larger values provide tighter control.
If Kp is set too high, you may experience oscillations as the controller tries to 
control speed. Setting Kp too low may result in a top speed much higher than 
Max Speed.
Ki
Ki_TrqM
0x3025 0x00
5 – 100%
50 – 1000
The integral term (Ki) forces zero steady state error, so the motor speed will 
be limited to Max Speed. Larger values provide faster control.
If the gain is set too high, you may experience oscillations as the controller 
tries to limit speed. If it is set too low, it may take a long time for the motor to 
approach Max Speed from overspeed.
Kd
Kd_TrqM
0x3836 0x00
0 – 100%
0 – 8192
Provides damping as the vehicle approaches top speed, thereby reducing 
overshoot. If Kd is set too high, the vehicle may take too long to reach top 
speed. If Kd is set too low, the vehicle may overshoot top speed, especially 
when traveling downhill.






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 40
2 - TORQUE MODE — RESPONSE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Accel Rate
Accel_Rate_TrqM
0x3026 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) at which the motor torque increases to full when 
full throttle is applied. Larger values represent slower response.
Accel Release Rate
Accel_Release_Rate_TrqM
0x3028 0x00
0.1 – 2.0 s
100 – 2000
Determines how quickly deceleration will be initiated when the throttle 
is released while the vehicle is still accelerating. If the release rate 
is fast (i.e., set to a low value), the transition is initiated abruptly. The 
transition is smoother if the release rate is set to a higher value (slower 
transition); however, setting the rate too high can cause the vehicle to feel 
uncontrollable when the throttle is released, as it will continue to drive for 
a short time.
Brake Rate
Brake_Rate_TrqM
0x3029 0x00
0.1 – 5.0 s
100 – 5000
Adjusts the rate (in seconds) at which braking torque builds as the vehicle 
transitions from drive to braking when direction is reversed, the brake 
pedal is applied, or neutral braking begins. Lower values represent faster 
times and therefore faster braking; gentler braking is achieved by setting 
the braking rate to a higher value.
Brake Release Rate
Brake_Release_Rate_TrqM
0x3831 0x00
0.1 – 2.0 s
100 – 2000
Adjusts the rate (in seconds) at which braking torque releases as as the 
vehicle transitions from braking to drive.
Neutral Braking
Neutral_Braking_TrqM
0x302E 0x00
0 – 100%
0 – 32767
Neutral braking occurs progressively when the throttle is reduced toward 
the neutral position or when no direction is selected. The neutral braking 
parameter is adjustable from 0 to 100% of the regen current limit (see 
Current Limits menu, page 43).
Neutral Taper Speed
Neutral_Taper_Speed_TrqM
0x302F 0x00
200 – 6000 rpm
200 – 6000
Determines the motor speed below which neutral braking current is 
adjusted when throttle is reduced; see Figure 9. 
The neutral braking current is linearly reduced by the product of the 
parameters, Neutral Braking x Regen Current Limit, at the Neutral Taper 
Speed to the Creep Torque current at zero rpm motor speed.
NOTE: Setting the taper speed too low may cause oscillations in the motor.
Forward Full Restraint Speed
Forward_Full_Restraint_Speed _TrqM
0x386D 0x00
100 – 32000 rpm
100 – 32000
Sets the speed point at which the full regen current will be applied to 
restrain the vehicle from rolling forward. Although this speed is never 
actually reached, it does set the slope of the restraint strength and can 
be thought of as a gain; see Figure 9. Setting this parameter too low can 
cause oscillations.
Back Full Restraint Speed
Back_Full_Restraint_Speed_TrqM _TrqM
0x386E 0x00
100 – 32000 rpm
100 – 32000
Sets the speed point at which the full regen current will be applied to 
restrain the vehicle from rolling in reverse (backward). Although this speed 
is never actually reached, it does set the slope of the restraint strength and 
can be thought of as a gain; see Figure 9. Setting this parameter too low 
can cause oscillations.






 4 — PROGRAMMABLE PARAMETERS
pg. 41
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
2 - TORQUE MODE — FINE TUNING MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Creep Torque
Creep_Torque_TrqM
0x3071 0x00
0 – 100%
0 – 32767
Determines the amount of torque applied to the vehicle at a stop with no 
throttle input, to emulate the feel of an automatic transmission automobile; 
see Fig. 9.
WARNING! When interlock is engaged, creep torque allows vehicle propulsion 
if a direction is selected even though no throttle is applied. Care should be 
taken when setting up this parameter.
If pedal braking is enabled (page 48), creep torque is progressively disabled 
as brake is applied so as to prevent the motor from driving into the brakes and 
thus wasting energy.
Creep Torque and Neutral Taper Speed interact to create the slope of the 
torque response as the vehicle approaches zero speed; see Figure 9. If the 
vehicle oscillates as it coasts down toward zero speed, try lowering Creep 
Torque or increasing Neutral Taper Speed.
Brake Full Creep Cancel
Brake_Full_Creep_Cancel_TrqM
0x3837 0x00
25 – 100%
8192 – 32767
Determines the amount of brake pedal input that will fully cancel the creep 
torque.  Amount of cancellation is proportional to the brake input. 
Creep Build Rate
Creep_Build_Rate_TrqM
0x3832 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the programmed creep torque builds when a direction   
is selected.
Creep Release Rate
Creep_Release_Rate_TrqM
0x3833 0x00
0.1 – 5.0 s
100 – 5000
Determines how fast the programmed creep torque releases when the brake 
is cancelling the creep torque or when the direction switches are cleared 
(neutral).
Gear Soften
Gear_Soften_TrqM
0x302A 0x00
0 – 100%
0 – 5000
Adjusts the throttle take-up from linear (0% setting) to an S curve. Larger 
values create softer throttle take-up, in forward and reverse. Softening is 
progressively reduced at higher speeds; see Figure 10.
Brake Taper Speed
Brake_Taper_Speed_TrqM
0x300F 0x00
200 – 6000 rpm
200 – 6000
Determines the motor speed below which the maximum braking current  is 
linearly reduced from 100% to 0% at zero speed; see Figure 11. Setting the 
taper speed too low for the braking current will cause oscillations in the motor 
as it attempts to brake the vehicle to a stop on very steep slopes.
Taper speed is applicable only in response to brake pedal input; it does not 
affect direction reversal braking or neutral braking. 
If the vehicle is in restraint when the brake is pressed, the applied braking 
torque is affected by both Brake Taper Speed and Forward (or Back) Full 
Restraint Speed. If the vehicle oscillates in this mode, it may be necessary to 
increase one or more of these parameters.
Reversal Soften
Reversal_Soften
0x3074 0x00
0 – 100%
0 – 3000
Larger values create a softer reversal from regen braking to drive when near 
zero speed. This helps soften the transition when the regen and drive current 
limits are set to different values   
Note: This parameter is not mode-specic and appears in two places.  
Changing the value of this torque-mode parameter affects the parameter 
listed in: Program » Speed Mode » Response » Fine Tuning » Reversal Soften.
Max Speed Decel
Max_Speed_Decel_TrqM
0x3835 0x00
0.1 – 30.0 s
100 – 30000
In some applications, the Max Speed value is changed frequently, through 
VCL or over the CANbus. The Max Speed Decel parameter controls the rate at 
which the maximum speed setpoint is allowed to change when the value of 
Max Speed is lowered. The rate set by this parameter is the time to ramp from 
Typical Max Speed rpm to 0 rpm. 
For example, suppose you change Max Speed from 3000 rpm to 1000 rpm. If 
Typical Max Speed is 5000 rpm, and the rate is 5.0 seconds, it will take  
5.0 X (3000–1000) ÷ 5000 = 2.0 seconds to ramp from 3000 rpm to 1000 rpm.






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 42
MOTOR
RPM +
Neutral Taper Speed
MOTOR
RPM -
Creep Torque
CURRENT +
CURRENT -
In torque mode, the throttle command
continuously interpolates between the
Throttle=0% and Throttle=100% curves
to produce the torque command.
Throttle=100% Curve
Neutral Braking 
x
 Regen Current Limit
Drive Current LimitRegen Current Limit
Throttle=0% Curve
Forward/Back
Full Restraint Speed
Figure 9 
rottle mapping (torque control mode).
TIME
TORQUE
Gear Soften = 0%
= 25%
= 50%
= 75%
= 100%
Figure 10 
Eect of Gear Soen parameter 
(torque control mode).
MOTOR RPM +
The Brake Taper Speed setting
determines where these knees occur.
MOTOR RPM -
MAXIMUM
BRAKING
CURRENT
(percent)
100
0
0
Figure 11 
Eect of Brake Taper Speed 
parameter (torque control mode).





 4 — PROGRAMMABLE PARAMETERS
pg. 43
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CURRENT LIMITS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Drive Current Limit
Drive_Current_Limit
0x305B 0x00
5 – 100%
1638 – 32767
Sets the maximum RMS current the controller will supply to the motor 
during drive operation, as a percentage of the controller’s full rated current.* 
Reducing this value will reduce the maximum drive torque.
NOTE: Changing this parameter requires the re-setting of the ACIM FW 
Base Speed parameter (page 56).
Regen Current Limit
Regen_Current_Limit
0x305C 0x00
5 – 100%
1638 – 32767
Sets the maximum RMS regen current, as a percentage of the controller’s full 
rated current.* The regen current limit applies during neutral braking, direction 
reversal braking, and speed limiting when traveling downhill.
Brake Current Limit
Brake_Current_Limit
0x305D 0x00
5 – 100%
1638 – 32767
Sets the maximum RMS regen current during braking when a brake command 
is given, as a percentage of the controller’s full rated current.* Typically the 
brake current limit is set equal to the regen current limit. The brake current 
limit overrides the regen current limit when the brake input is active.
EMR Current Limit
EMR_Current_Limit
0x3037 0x00
5 – 100%
1638 – 32767
Sets the maximum RMS current allowed for braking and drive when in 
emergency reverse. The emergency reverse current limit is a percentage of 
the controller’s full rated current.*
Interlock Brake Current Limit
Interlock_Brake_Current_Limit
0x309D 0x00
5 – 100%
1638 – 32767
Sets the maximum RMS regen current during interlock braking, as a 
percentage of the controller’s full rated current.*
*  The full rated current depends on the controller model;  
see specications in Table D-1 for the rated current of your model.
POWER LIMITING MAP MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
PL Nominal Speed
PL_Nominal_Speed
0x305E 0x00
100 – 4000 rpm
100 – 4000
Sets the base speed that will be used in the drive limiting map and regen 
limiting map.
NOTE: Changing this parameter requires the re-setting of the ACIM FW 
Base Speed parameter (page 56).
Delta Speed
PL_Delta_Speed
0x305F 0x00
50 – 1000 rpm
50 – 1000
Sets the width of the delta increment that will be used in the drive limiting 
map and regen limiting map.







 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 44
DRIVE LIMITING MAP MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Nominal
PL_Drive_Nominal
0x3060 0x00
0 – 100%
0 – 32767
These parameters dene the percentage of drive current limit that 
will be applied at the speeds dened by the nominal speed and delta 
speed parameters. The resulting map allows the controller to reduce 
the drive current as a function of speed.
Reducing the power requirements at certain speeds restricts 
performance. This can be useful for reducing motor heating. It can 
also be used to keep consistent vehicle power with changing battery 
state-of-charge.
Figure 12 illustrates these parameters’ typical usage.
Plus Delta
PL_Drive_Nominal_Plus_Delta
0x3061 0x00
0 – 100%
0 – 32767
Plus 2xDelta
PL_Drive_Nominal_Plus_2xDelta
0x3062 0x00
0 – 100%
0 – 32767
Plus 4xDelta
PL_Drive_Nominal_Plus_4xDelta
0x3063 0x00
0 – 100%
0 – 32767
Plus 8xDelta
PL_Drive_Nominal_Plus_8xDelta
0x3064 0x00
0 – 100%
0 – 32767
NOMINAL
NOMINAL SPEED
NOMINAL + Δ
NOMINAL + 2Δ
NOMINAL + 4Δ
NOMINAL + 8Δ
VEHICLE SPEED  (rpm)
POWER LIMIT  (percent current limit)
0
20
40
60
80
100

Figure 12 
Drive current limiting map 
(typical example).





 4 — PROGRAMMABLE PARAMETERS
pg. 45
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
REGEN LIMITING MAP MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Nominal
PL_Regen_Nominal 
0x3065 0x00
0 – 100%
0 – 32767
These parameters dene the percentage of regen current limit or 
braking current limit that will be applied at the speeds dened by the 
nominal speed and delta speed parameters.
The curve can be shaped to limit the available torque at various 
speeds. One possible use is to compensate for the torque-speed 
characteristic of the motor.
Figure 13 illustrates two typical usages of these parameters.
Plus Delta
PL_Regen_Nominal_Plus_Delta
0x3066 0x00
0 – 100%
0 – 32767
Plus 2xDelta
PL_Regen_Nominal_Plus_2xDelta 
0x3067 0x00
0 – 100%
0 – 32767
Plus 4xDelta
PL_Regen_Nominal_Plus_4xDelta 
0x3068 0x00
0 – 100%
0 – 32767
Plus 8xDelta
PL_Regen_Nominal_Plus_8xDelta 
0x3069 0x00
0 – 100%
0 – 32767
NOMINAL
NOMINAL
0
20
40
60
80
100
POWER LIMIT  (percent current limit)
VEHICLE SPEED  (rpm)
NOMINAL SPEED
NOMINAL + 

Δ
NOMINAL + 2

Δ
NOMINAL + 4

Δ
NOMINAL + 8

Δ
Figure 13 
Regen current limiting map 
(two examples).
Max parameter
adjusts this endpoint.
80%
60%
50%
40%
30%
20%
MAP
THROTTLE INPUT VOLTAGE  (volts)
CONTROLLER OUTPUT  (percent)
Map determines the “knee”
in the output; this knee is
at an 80% map setting.
Offset
parameter
raises this
endpoint.
Deadband parameter
adjusts this endpoint.
5.04.03.02.01.0 0
100
90
80
70
60
50
40
30
20
10
0
Figure 14 
Eect of throttle adjustment 
parameters. Together these 
four generic parameters 
determine the controller’s 
response to throttle demand 
(in forward or reverse) and 
to brake demand. 
In the examples shown in 
this gure, 
Deadband = 0.5 V
Max = 4.5 V
Oset = 0.





 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 46
THROTTLE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Throttle Type  PCF
Throttle_Type
0x3000 0x00
1 – 5
1 – 5
These E and SE controllers accept a variety of throttle inputs. The throttle type 
parameter can be programmed as follows:
1. 2-wire rheostat, 5 kΩ–0 input
2. single-ended 3-wire 1 kΩ–10 kΩ potentiometer, or 0–5 V voltage source
3. 2-wire rheostat, 0–5 kΩ input
4. wigwag 3-wire 1 kΩ–10 kΩ potentiometer, or 0–5 V voltage source
5. VCL input (VCL_Throttle)
NOTE: Do not change this parameter while the controller is powering the 
motor. Any time this parameter is changed a Parameter Change Fault (fault 
code 49) is set and must be cleared by cycling power; this protects the 
controller and the operator.
Forward  Deadband
Forward_Deadband
0x3001 0x00
0.00 – 5.00 V
0 – 32767
Denes the wiper voltage at the throttle deadband threshold. Increasing the 
throttle deadband setting will increase the neutral range. This parameter 
is especially useful with throttle assemblies that do not reliably return to a 
well-dened neutral point, because it allows the deadband to be dened 
wide enough to ensure that the controller goes into neutral when the throttle 
mechanism is released.
Forward Map
Forward_Map
0x3002 0x00
0 – 100%
0 – 32767
Modies the vehicle’s response to the throttle input. Setting the throttle map 
at 50% provides a linear output response to throttle position. Values below 
50% reduce the controller output at low throttle settings, providing enhanced 
slow speed maneuverability. Values above 50% give the vehicle a faster, more 
responsive feel at low throttle settings.
The map value is the percentage of controller output at half throttle 
[(deadband + max)/2].
Forward Max
Forward_Max
0x3003 0x00
0.00 – 5.00 V
0 – 32767
Denes the wiper voltage required to produce 100% controller output. 
Decreasing the throttle max setting reduces the wiper voltage and therefore 
the full stroke necessary to produce full controller output. This parameter 
allows reduced-range throttle assemblies to be accommodated
Forward Offset
Forward_Offset
0x3004 0x00
0 – 100%
0 – 32767
Denes the initial controller output generated when the throttle is rst rotated 
out of the neutral deadband. For most vehicles, a setting of 0 is appropriate. 
For heavy vehicles, however, increasing the offset may improve controllability 
by reducing the amount of throttle required to start the vehicle moving.
Reverse Deadband
Reverse_Deadband
0x3005 0x00
0.00 – 5.00 V
0 – 32767
The four Throttle Reverse parameters are the same as their Throttle Forward 
counterparts, and apply when the throttle direction is reversed.
Reverse Map
Reverse_Map
0x3006 0x00
0 – 100%
0 – 32767
Reverse Max
Reverse_Max
0x3007 0x00
0.00 – 5.00 V
0 – 32767
Reverse Offset
Reverse_Offset
0x3008 0x00
0 – 100%
0 – 32767
Throttle Filter
Throttle_Filter
0x3030 0x00
0.5 – 125.0 Hz
131 – 32767
Sets the low pass lter cutoff frequency for the throttle pot wiper input. Higher 
values will make the throttle more responsive to quick changes. Lower values 
will make the throttle less responsive to electrical noise. 
NOTE: All four throttle adjustment parameters — Deadband, Map, Max, Offset — condition the raw throttle voltage into a single % throttle command, 
as shown in Figure 14 on the previous page.





 4 — PROGRAMMABLE PARAMETERS
pg. 47
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
THROTTLE MENU, cont’d
PARAMETER ALLOWABLE RANGE DESCRIPTION
HPD SRO Type  PCF
HPD_SRO_Type
0x30CF 0x00
0 – 3
0 – 3
Determines the type of HPD (High Pedal Disable) / SRO (Static Return to Off) 
protection. One type of checks is available for material-handling vehicles, and 
two types for golf-style vehicles.
If any of the HPD/SRO checks nds an input sequencing problem, an HPD/
Sequencing Fault (ash code 47) is set.
0. HPD/SRO feature is disabled.
1. HPD/SRO enabled for material-handling vehicles.  
HPD: If throttle input is received before interlock input.  
SRO: If direction input is received before interlock input.  
 The HPD/SRO check is made when the interlock input changes from 
Off to On. If the throttle input >25% or a direction input is On, an HPD/
Sequencing Fault is set. 
 The HPD/Sequencing Fault is cleared by returning the throttle input to 
<25% or the direction inputs to Off. 
2.  Golf-style HPD that allows direction reversal while driving.  
 HPD: Throttle input received before interlock, or throttle input received 
before direction input while vehicle is stationary. 
SRO: None. 
 The HPD check is made when the interlock input or direction inputs 
are Off and the vehicle is stationary. If the throttle input >25%, an HPD/
Sequencing Fault is set. 
 No SRO check is made with this type, so the order of the interlock and 
direction inputs does not matter. 
 The HPD/Sequencing Fault is cleared by returning the throttle input to 
<25% or the direction inputs to Off.
3. Golf-style HPD that prevents direction reversal while driving. 
HPD: If throttle input is received before interlock or direction input.  
SRO: None. 
 HPD check is made when the interlock input or direction inputs are Off. 
If the throttle input >25%, an HPD/Sequencing Fault is set. The check is 
done regardless of vehicle speed, so reversing direction with throttle input 
>25% will result in a fault. 
 No SRO check is made with this type, so the order of the interlock and 
direction inputs does not matter 
 The HPD/Sequencing Fault is cleared by returning the throttle input to 
<25% or the direction inputs to Off.
Sequencing Delay
Sequencing_Delay
0x3009 0x00
0.0 – 5.0 s
0 – 1250
Typically the sequencing delay feature allows the interlock switch to be cycled  
within a set time (the dened sequencing delay), thus preventing inadvertent 
activation of HPD/SRO. This feature is especially useful in applications where 
the interlock switch may bounce or be momentarily cycled during operation.
VCL Throttle Enable
|VCL_Throttle_Enable
|VCL_Throttle_Enable_Bit0 [Bit 0]
0x3099 0x00
On / Off
On / Off
When programmed On, the throttle processing with fault detection will 
operate normally; however, the throttle command will require VCL to dene 
the connection between the OS_Throttle and VCL_Throttle variables. This 
allows VCL exibility and customization of throttle processing, while still 
allowing Throttle_Type 1–4 with throttle fault detection. Figure 15 (page 105) 
illustrates these throttle chains.






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 48
BRAKE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Brake Pedal Enable
|Brake_Pedal_Enable
|OptionBits1 [Bit 3]
0x306A 0x00
On / Off
On / Off
Determines whether the brake input and algorithm are enabled, making the 
brake throttle part of the motor control command.
Brake Type  PCF
Brake_Type
0x300A 0x00
1 – 5
1 – 5
These E and SE controllers accept a variety of brake inputs. The brake type 
parameter can be programmed as follows:
1. 2-wire rheostat, 5 kΩ–0 input
2. Single-ended 3-wire 1 kΩ–10 kΩ potentiometer, 0–5 V voltage source
3. 2-wire rheostat, 0–5 kΩ input
4. (not applicable)
5. VCL input (VCL_Brake)
NOTE: Do not change this parameter while the controller is powering the 
motor. Any time this parameter is changed a Parameter Change Fault (fault 
code 49) is set and must be cleared by cycling power; this protects the 
controller and the operator.
Brake Deadband
Brake_Deadband
0x300B 0x00
0.00 – 5.00 V
0 – 32767
The four Brake throttle adjustment parameters are the same as their 
Drive throttle counterparts; see descriptions and Figure 14.
Brake Map
Brake_Map
0x300C 0x00
0 – 100%
0 – 32767
Brake Max
Brake_Max
0x300D 0x00
0.00 – 5.00 V
0 – 32767
Brake Offset
Brake_Offset
0x300E 0x00
0 – 100%
0 – 32767
Brake Filter
Brake_Filter
0x3031 0x00
0.5 – 125.0 Hz
131 – 32767
Sets the low pass lter cutoff frequency for the pot2 wiper input. Higher 
values will make the brake more responsive to quick changes. Lower values 
will make the brake less responsive to electrical noise.
VCL Brake Enable
|VCL_Brake_Enable
|VCL_Brake_Enable_Bit0 [Bit 0]
0x301E 0x00
On / Off
On / Off
When programmed On, the brake processing with fault detection will 
operate normally; however, the brake command will require VCL to dene 
the connection between the OS_Brake and VCL_Brake variables. This allows 
VCL exibility and customization of throttle processing, while still allowing 
Brake_Type 1–3 with brake fault detection. Figure 15 (page 105) illustrates 
these brake chains.






 4 — PROGRAMMABLE PARAMETERS
pg. 49
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
EM BRAKE CONTROL MENU
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Brake Type  PCF
EM_Brake_Type
0x3097 0x00
0 – 2
0 – 2
This brake type parameter determines how the EM brake responds to 
the interlock input, throttle, and vehicle motor speed.
0. EM brake function disabled. The EM brake driver (PWM2) is 
released to general I/O use with VCL.
1. EM brake controlled by interlock. The controller will command 
the EM brake to release whenever the interlock is closed 
(Interlock = On). If interlock braking is enabled and the interlock 
opens when the vehicle is moving at motor speed greater than 
Set_Speed_Threshold, the controller will brake the vehicle to a 
stop (with interlock braking) and then command the EM brake to 
set. If the vehicle motor speed is less than this threshold, the EM 
brake will engage after the Sequencing_Delay has expired. 
If interlock braking is disabled, the EM brake will engage after 
the Sequencing_Delay has expired.
2. EM brake controlled by interlock and neutral. The controller will 
command the EM brake to set whenever the throttle command 
is zero and motor speed is less than Set_Speed_Threshold. 
Position Hold will be enabled automatically.
Pull In Voltage
EM_Brake_Pull_In_Voltage
0x3072 0x00
0 – 100%
0 – 32767
The EM brake pull-in voltage allows a high initial voltage when the 
EM brake rst turns on, to ensure brake release. After 1 second, this 
peak voltage drops to the EM brake holding voltage.
Note: The Battery Voltage Compensated parameter controls whether 
the pull-in and holding voltages are battery voltage compensated.
Holding Voltage
EM_Brake_Holding_Voltage
0x3098 0x00
0 – 100%
0 – 32767
The EM brake holding voltage allows a reduced average voltage to 
be applied to the brake coil once the brake has been released. This 
parameter must be set high enough to hold the brake released under 
all shock and vibration conditions the vehicle will be subjected to. 
Note: The Battery Voltage Compensated parameter controls whether 
the pull-in and holding voltages are battery voltage compensated.
Battery Voltage Compensated
|EM_Brake_Battery_Voltage_Compensated
|EM_Brake_Battery_Voltage_Compensated_Bit0 
[Bit 0]
0x302D 0x00
On / Off
On / Off
This parameter determines whether the EM brake pull-in and holding 
voltages are battery voltage compensated. When set On, the pull-in and 
holding voltages are compensated relative to the set Nominal Voltage 
(see Battery Menu, page 62). In other words, the output voltage is 
adjusted to compensate for swings in battery voltage, so the percentage 
is relative to the set Nominal Voltage—not to the actual voltage.
For example, suppose Nominal Voltage is set to 48V and Holding 
Voltage is set to 75% (36V) to the output driver. Now suppose the 
bus voltage dips to 40V. If Battery Voltage Compensated = On, the 
output will still be 36V (Nominal Voltage × Holding Voltage) to the 
coil. If Battery Voltage Compensated = Off, the output will be 30V 
(Actual Voltage × Holding Voltage) to the coil.
Set EM Brake On Fault
|EM_Brake_Set_Upon_Fault
|EM_Brake_Set_Upon_Fault_Bit0 [Bit 0]
0x309B 0x00
On / Off
On / Off
When programmed On, the controller’s operating system will set the 
electromagnetic brake when a fault occurs that has a fault action of 
ShutdownEMBrake. See the Troubleshooting Chart, Chapter 10, for a 
list of all the faults that have a fault action of ShutdownEMBrake.
Zero Speed Threshold
Zero_Speed_Threshold
0x306F 0x00
5 – 100 rpm
5 – 100
Determines the speed below which the EM brake will be 
commanded to set. Setting this speed too high may cause a jerky 
stop when the EM brake sets and stops the motor. 
This parameter appears twice in the menu structure. Changing the 
value of this parameter affects this (same) parameter in the Position 
Hold menu, page 38.
This parameter is re-named for os31. It is the same as the 
previous Set Speed Threshold parameter.
Zero Speed Threshold Time
Zero_Speed_Threshold_Time
0x30DA 0x00
0 – 480 ms
0 – 60
Determines how long motor speed must be below Zero_Speed_
Threshold to declare zero speed.
This parameter appears twice in the menu structure. Changing the 
value of this parameter affects this (same) parameter in the Position 
Hold menu, page 38.
This is a new parameter for os31








 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 50
EM BRAKE CONTROL MENU, cont’d
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Position Hold Settling Time
Position_Hold_Settling_Time
0x3024 0x00
0 – 5000 ms
0 – 156
Determines how long the position hold function is allowed to operate 
before the EM brake is set. This time should be set long enough for 
the position hold to settle. 
This parameter appears twice in the menu structure. Changing the 
value of this parameter affects this (same) parameter in the Position 
Hold menu, page 38.
This parameter is re-named for os31. It is the same as the 
previous Set Speed Settling Time parameter.
NOTE *
Brake Set Time
EM_Brake_Set_Time
0x30DB 0x00
40 – 2000 ms
5 – 250
Estimated time for the EM brake to physically set after the holding 
voltage is released. This determines how long the controller waits, 
after removing voltage from the brake, before released the torque. 
This should be set longer than the actual brake setting time to 
ensure the vehicle doesn’t move before the brake fully engages.
This is a new parameter for os31.
Torque Release Time
EM_Brake_Torque_Release_Time
0x30DC 0x00
40 – 2000 ms
5 – 250
Time to release torque after EM Brake has set and motor has 
stopped (EMBrakeEngagedAndStopped state).
This is a new parameter for os31. 
Brake Release Time
EM_Brake_Release_Time
0x3073 0x00
40 – 2000 ms
5 – 250
Estimated time for the EM brake to physically release after the pull-
in voltage is applied. This is used to ensure the position hold torque 
buildup is complete before the brake releases. When set too low, the 
vehicle may experience rollback on EM brake release.
This parameter is re-named for os31. It is the same as the 
previous Release Delay parameter
Torque Preload Time
EM_Brake_Torque_Preload_Time
0x3090 0x00
0 – 800 ms
0 – 100
Estimated worst-case time to build up the torque required to hold 
the vehicle stationary on a hill prior to EM brake release. 
This is used in conjunction with Release Delay to determine when 
to release the brake and allow the speed request to slew away from 
zero.
This parameter is re-named for os31. It is the same as the 
previous Torque  Preload Delay parameter
NOTE *
Torque Preload Enable
|EM_Brake_Torque_Preload_Enable
|EM_Brake_Torque_Preload_Enable_Bit0 [Bit 0]
0x389D 0x00
On / Off
On / Off
When enabled, this function eliminates rollback when the throttle is 
re-engaged on a ramp by forcing the vehicle to rst enter position-
hold before setting the EM brake, and then “remembering” the 
amount of torque that was necessary to hold it on the ramp. When 
throttle is re-engaged, this value is loaded in the motor before the 
EM brake is released. The torque value is cleared automatically 
when KSI power is cycled.
Off =  When a valid throttle input is received, the speed controller 
will start with no torque preload as soon as the Release Delay 
expires. This will allow some rollback when the EM brake 
releases. This rollback can be reduced by raising the Exit 
Rollback Reduction parameter in the Position Hold Menu  
(page 38).
On =  When a valid throttle input is received, the speed controller will 
start with a pre-set torque as measured by position-hold when 
the vehicle came to a stop.
NOTE *
Save Torque Preload
|Save_Torque_Preload
|Save_Torque_Preload_Bit0 [Bit 0]
0x38C9 0x00
On/Off
On/Off
This parameter controls whether the EM Brake torque preload is 
saved over a keyswitch cycle. If Torque_Preload_Cancel_Delay 
is nonzero and this parameter = On, the timer starts again upon 
startup (KSI cycle) such that the countdown is from the full value of 
the Torque_Preload_Cancel_Delay parameter.
This is a new parameter for os31.
NOTE: *This parameter is applicable only when Speed Mode or Speed Mode Express is selected and either Position Hold Enable = On or EM Brake Type = 2.







 4 — PROGRAMMABLE PARAMETERS
pg. 51
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
DRIVERS: MAIN CONTACTOR MENU
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Main Enable
|Main_Enable
|OptionBits1 [Bit 0]
0x306A 0x00
On / Off
On / Off
When programmed On, the controller’s native software 
controls the main contactor when the interlock is enabled; 
when programmed Off, the contactor is controlled by VCL. 
NOTE: With Main Enable programmed Off, the controller 
will not be able to open the main contactor in serious 
fault conditions and the system will therefore not meet 
EEC safety requirements.
Main Interlock Type
Main_Interlock_Type
0x386F 0x00
0 – 1
0 – 1
When set to 0, the main contactor and interlock each work 
as determined by their respective parameters.
When set to 1, the main contactor will pull in with KSI (like 
a Type 2 interlock) but the interlock input (pin 9, Switch 3) 
enables/disables drive and engages interlock braking (like a 
Type 0 or Type 1 interlock).
Pull In Voltage
Main_Pull_In_Voltage
0x303C 0x00
0 – 100%
0 – 32767
The main contactor pull-in voltage parameter allows a high 
initial voltage when the main contactor driver rst turns on, 
to ensure contactor closure. After 1 second, this peak voltage 
drops to the contactor holding voltage.
NOTE: The Battery Voltage Compensated parameter (below) 
controls whether the pull-in and holding voltages are battery 
voltage compensated.
Holding Voltage
Main_Holding_Voltage
0x303D 0x00
0 – 100%
0 – 32767
The main contactor holding voltage parameter allows a 
reduced average voltage to be applied to the contactor coil 
once it has closed. This parameter must be set high enough 
to hold the contactor closed under all shock and vibration 
conditions the vehicle will be subjected to.
NOTE: The Battery Voltage Compensated parameter (below) 
controls whether the pull-in and holding voltages are battery 
voltage compensated.
EM BRAKE CONTROL MENU, cont’d
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Torque Preload Cancel Delay
EM_Brake_Torque_Preload_ Cancel_Delay
0x3091 0x00
0 – 120 s
0 – 15000
The timer starts after the EM brake is set. If the timer expires before 
the throttle is re-engaged, the torque preload memory will be 
cleared. Setting this parameter to zero disables the timer, i.e., the 
preload is never cancelled. The purpose of this delay is to prevent 
the vehicle from lunging forward if it is unloaded on a hill such that 
the torque measured by position-hold is no longer valid.
NOTE: This parameter is applicable only when Torque Preload Enable 
= On (see parameter, previous page).
EM Brake Fault Motor Revs
EM_Brake_Fault_Motor_Revs
0x3894 0x00
1.0 – 20.0
10 – 200
Denes the allowable number of motor revolutions after the EM 
brake is set before an EM Brake Failed to Set fault is issued (fault 
code 92). 





 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 52
DRIVERS: MAIN CONTACTOR MENU, cont’d
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Battery Voltage Compensated
|Main_Driver_Battery_Voltage_Compensated
|Main_Driver_Battery_Voltage_Compensated_Bit0 [Bit 0]
0x302C 0x00
On / Off
On / Off
This parameter determines whether the main pull-in and 
holding voltages are battery voltage compensated. When set 
On, the pull-in and holding voltages are set relative to the 
set Nominal Voltage (see Battery Menu, page 62). In other 
words, the output voltage is adjusted to compensate for 
swings in battery voltage, so the percentage is relative to the 
set Nominal Voltage—not to the actual voltage.
For example, suppose Nominal Voltage is set to 48V and 
Holding Voltage is set to 75% (36V) to the output driver. 
Now suppose the bus voltage dips to 40V. If Battery Voltage 
Compensated = On, the output will still be 36V (Nominal 
Voltage x Holding Voltage) to the coil. If Battery Volt- age 
Compensated = Off, the output will be 30V (Actual Voltage × 
Holding Voltage) to the coil.
Interlock Type
Interlock_Type
0x303E 0x00
0 – 2
0 – 2
Three interlock options are available:
0 = interlock turns on with switch 3.
1 = interlock controlled by VCL functions. 
2 = interlock turns on with KSI.
Open Delay
Open_Delay
0x303F 0x00
0.0 – 40.0 s
0 – 10000
Applicable only when Interlock Type = 0 or 1. The delay can 
be set to allow the contactor to remain closed for a period 
of time (the delay) after the interlock switch is opened. The 
delay is useful for preventing unnecessary cycling of the 
contactor and for maintaining power to auxiliary functions 
that may be used for a short time after the interlock switch 
has opened.
Weld Check Enable
|Weld_Check_Enable
|OptionBits1 [Bit 2]
0x306A 0x00
On / Off
On / Off
When programmed On, the controller performs a test to 
make sure the main contactor is open (not welded shut) 
before it is commanded to close. This test is not performed if 
this parameter is Off. The main contactor driver, however, is 
always protected from short circuits.
Main DNC Check Enable
|Main_DNC_Check_Enable
|OptionBits4 [Bit 7]
0x306D 0x00
On / Off
On / Off
When programmed On, the controller performs a test 
immediately after the main contactor is commanded to 
close, to make sure the contactor has in fact closed. The test 
is not performed if this parameter is programmed Off. The 
main contactor driver, however, is always protected from 
short circuits.
Main DNC Runtime Threshold
Main_DNC_Runtime_Threshold
0x3032 0x00
0.0 – 200.0 V
0 – 12800
Sets the threshold used for the ongoing check that ensures 
the main contactor remains closed while in operation. The 
Main DNC Runtime Threshold is the maximum voltage 
difference between the Keyswitch and Capacitor voltages. 
When the voltage difference is above this threshold, and the 
battery current is low, a Main Did Not Close fault will be set. 
Setting this parameter lower will increase the sensitivity of 
the fault detection. Setting this parameter too low may cause 
false fault trips due to normal voltage drops between the 
keyswitch and capacitor voltages.
Setting this parameter = 0 V will disable the Main Did Not 
Close fault check.
Precharge Enable
|Precharge_Enable
|OptionBits2 [Bit 6]
0x306B 0x00
On / Off
On / Off
Turns the precharge feature on and off. Precharge provides 
a limited current charge of the controller’s internal capacitor 
bank before the main contactor is closed. This decreases 
the arcing that would otherwise occur when the contactor is 
closed with the capacitor bank discharged.






 4 — PROGRAMMABLE PARAMETERS
pg. 53
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
DRIVERS: PROPORTIONAL DRIVER MENU
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
PD Enable  PCF
|PD_Enable
|OptionBits1 [Bit 6]
0x306A 0x00
On / Off
On / Off
Determines how the PWM of the proportional driver is controlled.  
When programmed On, it is controlled by the controller’s PD current control software. When 
programmed Off, it is controlled by the VCL function Put_PWM (PWM5, value); see Figure 
17, page 109. 
Hyd Lower Enable
|Hyd_Lower_Enable
|OptionBits1 [Bit 7]
0x306A 0x00
On / Off
On / Off
When programmed On, lowering is controlled by throttle position. 
When programmed Off, lowering is controlled by the VCL variable VCL_PD_Throttle; see 
Figure 17, page 109. 
PD Max Current
PD_Max_Current
0x3040 0x00
0.00 – 2.00 A 
0 – 607
*The lift-lowering speed is determined by the aperture of the proportional valve. This 
parameter sets the maximum allowed current through the valve, which in turn denes its 
aperture.
PD Min Current
PD_Min_Current
0x3041 0x00
0.00 – 2.00 A 
0 – 607
*Sets the minimum allowed current through the proportional valve. Most proportional 
valves need a non-zero closed current in order to start opening immediately when Lower is 
requested.
PD Dither %
PD_Dither_Percent 
0x3042 0x00
0 – 100 % 
0 – 32767
*Dither provides a constantly changing current in the coil to produce a rapid back-and-
forth motion of the valve; this keeps the valve lubricated and allows low-friction, precise 
movement. The PD Dither % parameter species the amount of dither as a percentage of 
the PD max current, and is applied in a continuous cycle of add%-subtract%.
PD Dither Period
PD_Dither_Period
0x3043 0x00
16 – 112 ms 
1 – 7 
*Sets the period for proportional valve dither.
PD Kp
PD_Kp
0x3044 0x00
1 – 100 % 
82 – 8192
*Sets the proportional gain of the current feedback controller. Higher gains force the control 
loop to respond quickly but may cause oscillations.
PD Ki
PD_Ki
0x3045 0x00
1 – 100 % 
327 – 32767 
*Sets the integral gain of the current feedback controller. Integral gain tries to force 
the error to zero. Higher gains force the control loop to respond quickly but may cause 
oscillations.
* These parameter descriptions assume the proportional driver  
is being used to drive a proportional valve, and that the PD  
current control software is active (PD_Enable = On).
DRIVERS: DRIVER 3 MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Contactor Enable
|Hydraulic_Contactor_Enable
|OptionBits4  [Bit 1]
0x306D 0x00 
On / Off 
On / Off 
When programmed On, VCL functions control Driver 3 as the hydraulic   pump 
contactor. 
On:  The VCL function Start_Pump() will close the pump contactor according to the 
dened pull-in and holding voltages. The VCL function Stop_Pump() will open 
the pump contactor.
Off:  Driver 3 will be available for general VCL usage. Start_Pump() and Stop_
Pump() will not have any effect.
Pull In Voltage
Driver3_Pull_In_Voltage
0x3864 0x00
0 – 100%
0 – 32767
The pull-in voltage parameter allows a high initial voltage when the contactor 
driver rst turns on, to ensure contactor closure. After 1 second, this peak voltage 
drops to the contactor holding voltage. 
NOTE: This voltage will be battery voltage compensated. 
Holding Voltage
Driver3_Holding_Voltage
0x3865 0x00
0 – 100%
0 – 32767
The holding voltage parameter allows a reduced average voltage to be applied to 
the contactor coil once it has closed. This parameter must be set high enough to 
hold the contactor closed under all shock and vibration conditions the vehicle will 
be subjected to.
NOTE: This voltage will be battery voltage compensated.







 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 54
DRIVERS: FAULT CHECKING MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Driver1 Checks Enable
|Driver1_Checks_Enable
|OptionBits2 [Bit 1]
0x306B 0x00
On / Off
On / Off
The ve Checks Enable parameters are used to enable driver and coil fault 
detection at the ve individual drivers (at Pins J1-6, J1-5, J1-4, J1-3, and J1-
2). When a Driver Checks parameter is enabled, the associated driver, driver 
wiring, and driver load are checked to verify that the driver correctly drives the 
load both high and low. The checks will occur regardless of the PWM output 
of the driver. The checks will detect both open and shorted conditions. When a 
fault is detected, the controller opens the driver and issues a fault code.
If nothing is connected to a driver, its Checks Enable parameter should be set 
Off.
NOTE: Short circuit protection is always active at these ve drivers, regardless 
of how Checks Enable is set.
Driver2 Checks Enable
|Driver2_Checks_Enable
|OptionBits2 [Bit 2]
0x306B 0x00
On / Off
On / Off
Driver3 Checks Enable
|Driver3_Checks_Enable
|OptionBits2 [Bit 3]
0x306B 0x00
On / Off
On / Off
Driver4 Checks Enable
|Driver4_Checks_Enable
|OptionBits2 [Bit 4]
0x306B 0x00
On / Off
On / Off
PD Checks Enable
|PD_Checks_Enable
|OptionBits2 [Bit 5]
0x306B 0x00
On / Off
On / Off
External Supply Max
External_Supply_Max
0x3046 0x00
0 – 200 mA
0 – 800
Sets the upper threshold of the combined current of the 5V and 12V external 
supplies. At or above this threshold a fault will be created that can be read by 
VCL.
External Supply Min
External_Supply_Min
0x3047 0x00
0 – 200 mA
0 – 800
Sets the lower threshold of the combined current of the 5V and 12V external 
supplies. At or below this threshold a fault will be created that can be read by 
VCL.
DRIVERS: PWM FREQUENCY PARAMETER
PARAMETER ALLOWABLE RANGE DESCRIPTION
PWM Frequency
PWM_Frequency
0x3938 0x00
100 – 1000 Hz
100 – 1000
This single parameter denes the frequency of Drivers 1 through 4.
MOTOR MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Typical Max Speed
Typical_Max_Speed
0x304D 0x00
500 – 8000 rpm
500 – 8000
Set this parameter to the typical maximum motor speed of the vehicle. This 
value does not need to be set precisely; an estimate will do. All of the vehicle 
response rates are normalized to Typical Max Speed.
For example, suppose Typical_Max_Speed is xed at 6000 rpm, and  
Full_Accel_Rate_LS_SpdM = 3.0 seconds:
If Max_Speed_SpdM = 6000 rpm, it will take 3.0 seconds to accelerate from 
zero to top speed (6000 rpm).
If Max_Speed_SpdM = 3000 rpm, it will take 1.5 seconds to accelerate from 
zero to top speed (3000 rpm).
If Max_Speed_SpdM = 1000 rpm, it will take 0.5 seconds to accelerate to 
accelerate from zero to top speed (1000 rpm)





 4 — PROGRAMMABLE PARAMETERS
pg. 55
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
MOTOR: CONTROL ALGORITHMS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Motor Technology
Motor_Technology
0x3814 0x00
0 – 1
0 – 1
Set this parameter to the type of motor in your vehicle: 
0 = ACIM (Induction Motor)
1 = SPM (Surface PM Motor).
NOTE: A Parameter Mismatch Fault will result unless the Feedback Type  
(page 59) matches the Motor Technology setting:
If Motor Technology = 0 (ACIM), then Feedback Type must = 1 (quadrature encoder).
If Motor Technology = 1 (SPM), then Feedback Type must = 2 (Sin/Cos sensor).
MOTOR: 0 – ACIM: CHARACTERIZATION TESTS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Test Enable
IM_AutoChar_Test_Enable
0x3800 0x00
0 – 1
0 – 1
Enables ACIM (induction motor) characterization with quadrature encoder to 
begin once Test Throttle is asserted.
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure.
Test Throtte
IM_Test_Throttle
0x3034 0x00
–1 – 1
–1 – 1
Begins ACIM characterization if the Test Enable is asserted. This parameter is 
also used to change the direction of the motor to the forward direction during 
ACIM motor characterization. 
Important: If the motor starts to turn in the positive-rpm vehicle speed 
direction, set Test Throttle = 1. If it turns in the negative-rpm direction, set 
Test Throttle = −1. 
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure.
Motor Poles
IM_MotorData6
0x3805 0x00
2 – 8
1 – 4
This parameter is used to select the number of poles before beginning the 
ACIM motor characterization procedure.
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure and how this parameter is used.
Max Test Speed
IM_AutoChar_Max_Test_Speed
0x38A0 0x00
500 – 8000 rpm
500 – 8000
This parameter is used to set the maximum motor speed allowed during ACIM 
motor characterization.
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure and how this parameter is used.
Max Test Current
IM_AutoChar_Max_Test_Current  
0x38A1 0x00
10 – 100%
3277 – 32767
This parameter is used to set the maximum motor current allowed during 
ACIM motor characterization.
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure and how this parameter is used.
SlipGain
IM_MotorData8
0x3819 0x00
0.00 – 200.00
0 – 20000
This parameter is adjusted during ACIM motor characterization to tune the 
motor to deliver the maximum torque per amp.
See Chapter 8A for the complete description of the ACIM motor 
characterization procedure and how this parameter is used.
Current Reg Tuning Test Enable
IM_CR_Tuning_Test_Enable
0x388B 0x00
0 – 1
0 – 1
This parameter is typically applicable for previously auto-characterized 
(Type 0) induction motors. It performs only the current regulation tuning 
portion of the motor characterization on existing Type 0 motors (e.g., prior 
to os26/30). To begin, clear any existing faults, then set the Interlock = On 
and this parameter = 1. Similar to the auto-characterization routine steps in 
Chapter 8A, then set Test Enable = 1 followed by setting Test Throttle = 1. The 
controller will run the tuning test and issue a Parameter Change Fault when 
nished.
If a new (or existing Type 0) motor is auto-characterized following the steps 
in Chapter 8A, do not use this parameter, as it is automatically included in the 
full auto-characterization routine.
Consult your Curtis distributor or support engineer for further assistance 
based on your motor and its application.
Quick Links:
Chapter 8A (ACIM motor characterization)  p.85







 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 56
MOTOR: 0 – ACIM: FIELD WEAKENING CONTROL MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
FW Base Speed
FW_Base_Speed
0x3857 0x00
200 – 12000 rpm
200 – 12000
Sets the speed at which modulation depth has reached 100% (all available 
voltage is used) and where eld weakening begins. This parameter is scaled 
by an internal motor characterization parameter, so the setting of FW Base 
Speed should always be done using the tuning test, which will take into 
account the scaling factor. Entering a speed observed from a torque vs. speed 
plot should not be done, as this number fails to take into account the internal 
scaling factor.
This parameter needs to be set during initial setup (chapter 7) and reset 
each time the Motor Type or the low speed current limit is changed. For 
example, if the Drive_Current_Limit (page 43) or PL_Drive_Nominal (page 44) 
parameters are lowered, reset this FW Base Speed parameter.
To determine the correct value, perform this “base speed” tuning test. The test 
should be run with batteries that have a reasonable charge. In either Speed 
Mode or Torque Mode, set their accel rates to be fast—so the motor will 
be accelerating at full current during the test. Next, set this FW Base Speed 
parameter to 6000 rpm (i.e., at a high-enough speed that its value will not 
interfere with the test result). From a stop, apply full throttle and accelerate 
to a high-speed beyond the expected base speed.  After the motor settles at 
this speed for a moment, release the throttle to stop the test. Note the value 
displayed in Monitor » Controller » Motor Tuning » Base Speed Captured  
(page 76), and enter this value for this FW Base Speed parameter setting.
For traction motors, the test restarts each time the vehicle comes to a stop 
and the throttle is released, so be sure to note the Base Speed Captured value 
before driving away.
For pump motors, follow the instructions in Chapter 8A, Part 2b.
Field Weakening Drive
Field_Weakening_Drive
0x3033 0x00
0 – 100%
0 – 1024
Sets the amount of eld weakening allowed while driving the motor. Field 
Weakening Drive will affect efciency and torque only at speeds above the 
programmed FW Base Speed. Low settings will result in better efciency 
but less torque; higher settings will result in more torque and less efciency. 
A setting of zero will disable eld weakening, thus resulting in the highest 
efciency and lowest torque above base speed.
To keep motor and controller heating to a minimum (high efciency), Field 
Weakening Drive should be set just high enough to meet the high speed 
performance specications. (Typical high speed performance specications 
are maximum drive speed with full load, or maximum lift speed with full load.) 
The drive current limiting map (Fig. 12, page 44) can also be used to restrict 
performance at all speeds.
The maximum setting of the Field Weakening Drive parameter depends on the 
type of motor characterization that was used. 
If the ACIM motor was dyno characterized (i.e., sent to the Curtis factory 
for characterization on the motor dyno), Field Weakening Drive can be set 
anywhere in the range of 0% (lowest torque, highest efciency) to 100% 
(highest torque, lowest efciency).
If the ACIM motor was auto characterized (i.e., characterized using the ACIM 
motor characterization procedure in Chapter 8A), the range is restricted by the 
results of the Field Weakening Test. For these motors, Field Weakening Drive 
can be set anywhere in the range of 0% (lowest torque, highest efciency) 
to Max Field Weakening Drive (highest torque, lowest efciency) result. For 
auto characterized motors, setting Field Weakening Drive greater than the 
maximum setting found in the Field Weakening Test will result in poorer 
efciency and less torque as the motor will be operating “over the slip curve.”
NOTE: The Field Weakening Drive setting will have no effect at motor speeds 
below FW Base Speed.









 4 — PROGRAMMABLE PARAMETERS
pg. 57
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
MOTOR: 0 – ACIM: FIELD WEAKENING CONTROL MENU, cont’d
PARAMETER ALLOWABLE RANGE DESCRIPTION
Weakening Rate Drive
Field_Weakening_Rate_Drive
0x383C 0x00
0 – 100%
0 – 500
Sets the control loop gains for eld weakening. Setting the rate too low may 
create surging in the vehicle as it accelerates at mid to high speeds. Setting 
the rate too high may create high frequency oscillations (usually audible) 
when the vehicle accelerates at mid to high speeds.
Min Field Current
Min_Field_Current
0x3821 0x00
0 – 800 A
0 – 8000
Sets the eld current when no torque is requested from the motor. This 
current pre-uxes the motor and can improve initial take-off at the expense of 
some battery consumption.
MOTOR: 0 – ACIM: SWAP TWO PHASES AND MOTOR TYPE PARAMETERS
PARAMETER ALLOWABLE RANGE DESCRIPTION
Swap Two Phases  PCF
Swap_Two_Phases_OptionBits3 [Bit 3]
0x306C 0x00
On / Off
On / Off
If, after Swap Encoder Direction has been set correctly, the vehicle drives 
in the wrong direction (i.e., drives forward when in reverse, and vice 
versa), try changing the setting of the Swap Two Phases parameter. This 
parameter has the same effect as physically swapping the cables on any 
two of the three motor phase connections.
Positive motor speed must be in the forward direction in order for 
the emergency reverse feature to operate properly.
NOTE: Do not change this parameter while the controller is powering the 
motor. Any time this parameter is changed a Parameter Change Fault 
(fault code 49) is set and must be cleared by cycling power; this protects 
the controller and the operator.
Adjusting this parameter can be hazardous. For instructions, see 
Chapter 7, Step 12 (page 84).
Motor Type  PCF
IM_Motor_Type
0x3809 0x00
0 – 324
0 – 324
This parameter references a predened table of motor parameters for 
many AC induction motors. Presently, 323 motors are dened for os31. 
Motor Type 0 is reserved for using the auto-characterization procedure in 
Chapter 8A.
NOTE: Changing this parameter requires the re-setting of the FW 
Base Speed parameter (page 56). Other parameters may also need to 
be reset or evaluated by following the Initial Setup and Tuning Guide 
chapters instructions.
Consult your Curtis distributor or support engineer for information how to 
set this parameter based on your application and motor. 
WARNING








 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 58
MOTOR: 0 – ACIM: LOS (Limited Operating Strategy) MENU
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
LOS Upon Encoder Fault
|LOS_Upon_Encoder_Fault
|LOS_Upon_Encoder_Fault_Bit0 [Bit 0]
0x308F 0x00
On / Off
On / Off
Limited Operating Strategy (LOS) is typically used to drive the vehicle back to 
a repair center at very low speeds in the event the motor encoder fails.
Following an encoder failure ((either Encoder Fault (fault code 36) or Stall 
Detected (fault code 73)), and after the Interlock is cycled, the vehicle enters 
LOS mode thus allowing drive without motor encoder feedback.
In LOS mode, the ability to achieve maximum torque—even for a very short 
time—is considered more important than smoothness.
When LOS mode is entered, the Encoder LOS fault (fault code 93) becomes 
active and the encoder fault  ((either Encoder Fault (fault code 36) or Stall 
Detected (fault code 73)) is cleared.
When this parameter is programmed On, LOS mode will be entered in the 
event of an encoder fault followed by an Interlock cycle.
When programmed Off, in the event of an encoder fault the encoder fault 
remains and drive is disabled.
LOS Max Speed
Enc_LOS_Max_Speed
0x3083 0x00
100 – 2000 rpm
100 – 2000
This parameter indirectly denes the maximum speed for LOS mode by 
setting the maximum frequency that corresponds to LOS Max Speed. In LOS 
mode the throttle commands a frequency that is interpolated linearly between 
zero (at Throttle Command = 0%) and the programmed LOS
Max Speed (at Throttle Command = 100%).
LOS Max Current
Enc_LOS_Max_Current
0x3085 0x00
100 – 650 A
1000 – 6500
In LOS mode, a partial or full throttle command will result in the maximum 
current set by this parameter. This current setting is clamped by the 
controller’s rated current.
LOS Max Mod Depth
Enc_LOS_Max_Mod_Depth
0x3084 0x00
15 – 100%
177 – 1182
In LOS mode, the maximum modulation depth acts to limit the current at 
higher speeds. This parameter should be set such that the modulation depth 
limit is reached prior to the LOS Max Speed limit, so that the motor current 
will fall off from LOS Max Current at higher speeds. This may allow the 
vehicle to drive longer in LOS mode, as it lessens the chance of the motor or 
controller overheating.
LOS Accel Rate
Enc_LOS_Accel_Rate
0x3086 0x00
2.0 – 15.0 s
2000 – 15000
Denes the rate (in seconds) at which the frequency increases when full 
throttle is applied, while operating in LOS mode. This parameter should be 
set to a slow rate (high parameter value) so the frequency command has a 
very slow slew rate to ensure that the max torque point is hit for a reasonable 
period of time; this decreases the probability of going over the slip curve, and 
allows ramps or obstacles to be overcome.
LOS Decel Rate
Enc_LOS_Decel_Rate
0x3087 0x00
2.0 – 15.0 s
2000 – 15000
Denes the rate (in seconds) at which the frequency decreases when throttle 
is released, while operating in LOS mode.





 4 — PROGRAMMABLE PARAMETERS
pg. 59
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
MOTOR: 1 – SPM (SURFACE PM MOTOR) CHARACTERIZATION TESTS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Test Enable
PMAC_AutoChar_Test_Enable*
0x3862 0x00
0 – 1
0 – 1
This parameter is used to start the SPM motor characterization procedure. 
See Chapter 8B for the complete description of the SPM motor 
characterization procedure.
Test Throtte
PMAC_Test_Throttle*
0x30D1 0x00
–1 – 1
–1 – 1
Begins characterization if a Test Enable is asserted. This parameter is used to 
change the direction of the motor to the forward direction during SPM motor 
characterization. 
Important: If the motor starts to turn in the positive-rpm vehicle speed 
direction, set Test Throttle = 1. If it turns in the negative-rpm direction, set 
Test Throttle = −1. 
See Chapter 8B for the complete description of the ACIM motor 
characterization procedure and how this parameter is used. 
Max Test Speed
PMAC_AutoChar_Max_Test_Speed*
0x38C1 0x00
1000 – 6000 rpm
1000 – 6000
This parameter is used to set the maximum motor speed allowed during SPM 
motor characterization.
See Chapter 8B for the complete description of the SPM motor 
characterization procedure and how this parameter is used.
Max Test Current
PMAC_AutoChar_Max_Test_Current*
0x38C2 0x00
10 – 30%
3277 – 9831
This parameter is used to set the maximum motor speed allowed during SPM 
motor characterization.
See Chapter 8B for the complete description of the SPM motor 
characterization procedure and how this parameter is used.
*  Note: revised variable name for os31 (i.e., the "PMAC" part of the variable name was "SPM" in os30,  
and was added for "Test_Throttle"). The terms Surface Permanent Magnet (SPM) and Permanent Magnet AC  
(PMAC) motors used within this manual refer to the same motor technology.
MOTOR FEEDBACK OPTIONS
PARAMETER ALLOWABLE RANGE DESCRIPTION
Feedback Type
Feedback_Type
0x382E 0x00
1 – 2
1 – 2
Set this parameter to the type of position feedback device in your vehicle: 
1 = quadrature encoder
2 = Sin/Cos sensor.
NOTE: A Parameter Mismatch Fault will result unless the Feedback Type 
matches the Motor Technology setting (see page 55):
If Motor Technology = 0 (ACIM), then Feedback Type must = 1 (quadrature encoder).
If Motor Technology = 1 (SPM), then Feedback Type must = 2 (Sin/Cos sensor).
Swap Feedback Direction  PCF
Swap_Feedback_Direction
OptionBits3 [Bit 0]
0x306C 0x00
On / Off
On / Off
Changes the motor encoder’s effective direction of rotation. The encoder 
provides data used to calculate motor position and speed. This parameter 
must be set such that when the motor is turning forward, the controller 
reports back a positive motor speed.
Positive motor speed must be in the forward direction in order for the 
emergency reverse feature to operate properly.
NOTE: Do not change this parameter while the controller is powering the 
motor. Any time this parameter is changed a Parameter Change Fault (fault 
code 49) is set and must be cleared by cycling power; this protects the 
controller and the operator.
Adjusting this parameter can be hazardous. For instructions, see  
Chapter 7, Step 10 (page 83).
MOTOR FEEDBACK 1 – ENCODER MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Encoder Steps  PCF
Encoder_Steps
0x304B 0x00
32 – 256
32 – 256
Sets the number of encoder pulses per revolution. This must be set to match 
the encoder; see motor nameplate or its technical data for this information.
NOTE: Do not change this parameter while the controller is powering the 
motor. Any time this parameter is changed a Parameter Change Fault (fault 
code 49) is set and must be cleared by cycling power; this protects the 
controller and the operator.
Adjusting this parameter can be hazardous; setting it improperly 
may cause vehicle malfunction, including uncommanded drive. For 
instructions, see Chapter 7, Step 8 (page 82–83).
WARNING

Quick Links:
Chapter 8B  p.91
SPM Motor 
Characterization
WARNING











 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 60
MOTOR FEEDBACK 2 – SIN/COS MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Sin Cos Fault Threshold
Sin_Cos_Fault_Threshold
0x3878 0x00
5.0 – 20.0%
51 – 205
Denes the allowable percent change in the Sin or Cos feedback. A Sin/Cos 
Sensor Fault (fault code 36) is declared if this threshold exceeded ve times 
sequentially. The default value is 12.0%.
Sin Cos Fault Threshold High
Sin_Cos_Fault_Threshold_High
0x38CD 0x00
20.0 – 100.0%
205 – 1024
Denes the % allowable change in the SIN or COS feedback (high value used 
for rst 30 seconds after interlock). This will allow the controller to adjust for 
slight variances if the sensor was changed.
This is a new parameter for os31.
Sin Cos Fault Time
Sin_Cos_Fault_Time
0x38CE 0x00
10 – 1000 ms
10 – 1000
A Sin Cos Sensor fault (fault 36) will be generated if the sensor is outside the 
tolerance for 10ms during this amount of time.
This is a new parameter for os31.
Sin Min*
Feedback_Sin_Min
0x3863 0x00
0 – 100%
0 – 1023
Minimum output by the Sin/Cos sensor on the Sin channel. Input detected 
at Position Feedback A (pin 31). The value is set during the SPM motor 
characterization procedure. The default value is zero.
Sin Max*
Feedback_Sin_Max
0x385C 0x00
0 – 100%
0 – 1023
Maximum output by the Sin/Cos sensor on the Sin channel. Input detected 
at Position Feedback A (pin 31). The value is set during the SPM motor 
characterization procedure. The default value is zero.
Cos Min*
Feedback_Cos_Min
0x385F 0x00
0 – 100%
0 – 1023
Minimum output by the Sin/Cos sensor on the Cos channel. Input detected 
at Position Feedback B (pin 32). The value is set during the SPM motor 
characterization procedure. The default value is zero.
Cos Max*
Feedback_Cos_Max
0x382F 0x00
0 – 100%
0 – 1023
Maximum output by the Sin/Cos sensor on the Cos channel. Input detected 
at Position Feedback B (pin 32). The value is set during the SPM motor 
characterization procedure. The default value is zero.
*  These are read-only parameters, useful when cloning controllers to verify these settings, and if the proper SPM (PMAC) auto-characterization was 
preformed.
The four Sin/Cos Min and Max parameters’ default value is zero. This prevents the running of SPM/PMAC motors without performing the auto-
characterization.
See Chapter 8B for the SPM/PMAC Auto Characterization procedure.      
Contact your Curtis distributor or support engineer to resolve any Sin/Cos sensor errors or their parameter values.
MOTOR FEEDBACK 1 – ENCODER: ENCODER FAULT SETUP MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Fault Detection Enable
|Encoder_Fault_Detection_Enable
|Encoder_Fault_Detection_Enable_Bit0 [Bit 0]
0x389C 0x00
On / Off
On / Off
When programmed On, encoder fault checking is enabled. Three fault 
conditions are checked: Encoder Fault (fault code 36, Stall Detected 
(fault code 73), and Encoder Pulse Error (fault code 88).
Encoder Pulse Fault Detect Time
Encoder_Pulse_Fault_Detect_Time
0x393E 0x00
0.0 – 3.0 s
0 – 94
Denes the minimum time it takes for the controller, while the 
vehicle is in motion, to detect that the encoder and the Encoder 
Steps parameter do not match. When the Encoder Steps setup is 
incorrect, the motor controller cannot properly calculate AC motor eld 
orientation. The loss of eld orientation can cause the motor to spin up 
toward full speed once any throttle is applied.
This parameter sets a timer that starts once the throttle has been 
moved and then released, the drive current is signicant, and the 
motor is still accelerating. Note that the motor can spin at high rpm 
for several seconds before conditions allow the controller to properly 
detect a fault.
An Encoder Pulse Error (fault code 88) is declared when this fault 
is detected.
Setting the parameter to zero will disable this fault detection.
Fault Stall Time
Enc_Fault_Stall_Time
0x3089 0x00
0 – 10 s
0 – 5000
Sets a timer when no motor encoder movement is detected. 
In Speed Modes: If no motor encoder movement is detected for the 
programmed Fault Stall Time, a Stall Detected fault (fault code 73) is issued.
In Torque Mode: If no motor encoder movement is detected for the 
programmed Fault Stall Time, with maximum throttle applied, a Stall 
Detected fault (fault code 73) is issued.





 4 — PROGRAMMABLE PARAMETERS
pg. 61
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
MOTOR: TEMPERATURE CONTROL MENU
PARAMETER ALLOWABLE 
RANGE
DESCRIPTION
Sensor Enable
|MotorTemp_Sensor_Enable
|OptionBits3 [Bit 1]
0x306C 0x00
On / Off
On / Off
When programmed On, the motor temperature cutback and the motor 
temperature compensation features are enabled. This parameter can 
be used only if a temperature sensor has been properly congured.
The motor temperature cutback feature will linearly cut back 
the current from 100% to 0% between the Temperature Hot 
and Temperature Max temperatures. The motor temperature 
compensation feature will adapt the motor control algorithms to 
varying motor temperatures, for improved efciency and more 
consistant performance.
Sensor Type
MotorTemp_Sensor_Type 
0x307B 0x00
1 – 5
1 – 5
Five sensor types are predened in the software:.
Type 1  KTY83–122
Type 2  2× Type 1, in series
Type 3  KTY84–130 or KTY84–150
Type 4  2× Type 3, in series
Type 5  PT1000.
Custom sensor types can be set up easily, if none of the ve 
predened types is appropriate for your application. Please contact 
your Curtis distributor or support engineer.
NOTE: The industry standard KTY temperature sensors are silicon 
temperature sensors with a polarity band; the polarity band of a 
KTY sensor must be the end connected to I/O Ground (pin 7).
Sensor Offset
MotorTemp_Sensor_Offset
0x305A 0x00
–20 – 20°C
–200 – 200
Often the sensor is placed in the motor at a location with a known 
offset to the critical temperature; the offset can be corrected with this 
parameter. The parameter can also be used to correct a known offset 
in the sensor itself.
Braking Thermal Cutback Enable
|MotorBrakingThermalCutback_Enable
|MotorBrakingThermalCutback_Enable_Bit0 [Bit0]
0x386C 0x00
On / Off
On / Off
When programmed On, drive current and regen braking current will 
be cut back based on motor temperature. All forms of regen braking 
current (Regen_Current_Limit, Brake_Current_Limit, EMR_Current_
Limit, Interlock_Brake_Current_Limit) includes emergency reverse 
braking, interlock braking, brake input braking, direction reversal 
braking, neutral  braking, and speed limit braking.
When programmed Off, only drive current (and not regen braking 
current) will be cut back based on motor temperature.
If the vehicle has mechanical brakes, setting this parameter to On 
may help reduce motor heating.
Temperature Hot
MotorTemp_Hot
0x304E 0x00
0 – 250°C
0 – 2500
Denes the temperature at which current cutback begins.
Temperature Max
MotorTemp_Max
0x304F 0x00
0 – 250°C
0 – 2500
Denes the temperature at which current is cut back to zero.
MotorTemp LOS Max Speed
MotorTemp_LOS_Max_Speed
0x308A 0x00
100 – 3000 rpm
100 – 3000
When a Motor Temp Sensor Fault (fault code 29) is set, a LOS 
(Limited Operating Strategy) mode is engaged. The maximum speed 
is reduced to the programmed Max Speed in the operating mode 
(Max_Speed_SpdMx, Max_Speed_SpdM, Max_Speed_TrqM) or to  
the MotorTemp_LOS_Max_Speed, whichever is lower.
NOTICE






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 62
BATTERY MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Nominal Voltage
Nominal_Voltage
0x3048 0x00
24 – 96 V
1536 – 6144
Must be set to the vehicle’s nominal battery pack voltage. This parameter 
is used in determining the overvoltage and undervoltage protection 
thresholds for the electronic system. See page 25 for Over, Under, and 
Brownout voltage denitions and constraints.
NOTE: In all cases the OS default Nominal Voltage is the highest value 
in the controller’s range (See Table D-1). Always check and adjust this 
parameter whenever using a lower nominal voltage. Scaling is 64 counts 
per volt.
For example, controller 1238E-65XX has a 48–80 voltage range. 
Therefore, when using a 48 volt battery, the Nominal_Voltage parameter 
will be 3072 (64 × 48 = 3072) in your VCL program, or as the raw 
(decimal) value in TACT.
Kp UV
Batt_Kp_UV
0x380E 0x00
0.0 – 100.0% / V
0 – 1024
When the battery voltage goes below the undervoltage threshold (page 25), 
a closed loop PI (Proportional/Integral) controller is enabled in an attempt 
to keep the battery voltage from drooping. It accomplishes this by cutting 
back the drive current, thereby reducing the load on the battery.
The Kp term is the proportional gain and is set in units of % cutback per 
volt; for example, a setting of 25 would provide full current cutback with  
4 V of droop.
The Ki term is the integral gain. Integral gain will accumulate the voltage 
droop and attempt to bring the battery droop back to 0 V. Higher gains will 
react more strongly and quickly.
Typically, Kp UV and Ki UV are used together to provide the best response. If 
the linear response of the previous AC controllers is preferred, set Ki UV = 0.
Ki UV
Batt_Ki_UV
0x380F 0x00
0 – 100%
0 – 16384
User Overvoltage
User_Overvoltage
0x3049 0x00
105 – 200%
269 – 512
The value of this parameter is a percentage of the Nominal Voltage setting.  
The User Overvoltage parameter can be used to adjust the overvoltage 
threshold, which is the voltage at which the controller will cut back regen 
braking to prevent damage to the electrical system. 
Typically this parameter is changed only when the controller is being used 
in an application at the low end of the controller’s range: such as   
a 48–80V controller being used in a system with a 48 V battery pack. In 
this case, the overvoltage threshold can be raised by setting the User 
Overvoltage to a higher value. The overvoltage threshold can never be 
raised above the controller’s power base maximum voltage rating.
User Undervoltage
User_Undervoltage
0x304A 0x00
0 – 95%
0 – 242
The value of this parameter is a percentage of the Nominal Voltage setting. 
The User Undervoltage parameter can be used to adjust the undervoltage 
threshold, which is the voltage at which the controller will cut back drive 
current to prevent damage to the electrical system. 
Typically this parameter is changed only when the controller is being 
used in an application at the high end of the controller’s range: such as 
a 24–36 V controller being used in a system with a 36V battery pack. In 
this case, the undervoltage threshold can be lowered by setting the User 
Undervoltage to a lower value. The undervoltage threshold can never be 
lowered below the controller’s power base minimum voltage rating.







 4 — PROGRAMMABLE PARAMETERS
pg. 63
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
BATTERY MENU, cont’d
PARAMETER ALLOWABLE RANGE DESCRIPTION
Reset Volts Per Cell
BDI_Reset_Volts_Per_Cell
0x3170 0x00
0.900 – 3.000 V
900 – 3000
The reset voltage level is checked only once, when the main contactor 
rst closes. Note that the BDI Reset Percent parameter also inuences the 
algorithm that determines whether BDI Percentage is reset to 100%. Reset 
Volts Per Cell should always be set higher than Full Volts Per Cell.
Reset Voltage Level = Reset Volts Per Cell × number of cells in the battery 
pack.*
Full Volts Per Cell
BDI_Full_Volts_Per_Cell
0x3171 0x00
0.900 – 3.000 V
900 – 3000
The full voltage level sets the B+ (capacitor voltage) that is considered 
to be 100% state-of-charge; when a loaded battery drops below this 
voltage, it begins to lose charge. Capacitor Voltage is viewable in the 
programmer’s Monitor » Battery menu.
Full Voltage Level = Full Volts Per Cell × number of cells in the battery 
pack.*
Empty Volts Per Cell
BDI_Empty_Volts_Per_Cell
0x3172 0x00
0.900 – 3.000 V
900 – 3000
The empty voltage level sets the Capacitor Voltage that is considered to be 
0% state-of-charge.
Empty Voltage Level = Empty Volts Per Cell × number of cells in the 
battery pack.*
Discharge Time
BDI_Discharge_Time
0x3173 0x00
0 – 600 minutes
0 – 600
Sets the minimum time for the BDI algorithm to count down the BDI 
Percentage from 100% to 0%. The BDI algorithm integrates the time 
the ltered capacitor voltage is below the state of charge voltage level. 
When that cumulative time exceeds the Discharge Time / 100, the BDI 
Percentage is decremented by one percentage point and a new state of 
charge voltage level is calculated.
State of Charge Level = [(Full Voltage Level - Empty Voltage Level) x BDI 
Percentage / 100] + Empty Voltage Level.
BDI Reset Percent
BDI_Reset_Percent
0x3174 0x00
0 – 100%
0 – 100
When a battery has a high BDI percentage, its oat voltage at KSI On    
can sometimes cause false resets. The BDI Reset Percent parameter 
addresses this problem by allowing the user to dene a BDI Percentage 
value above which the BDI Percentage variable will not reset.  
When KSI is rst powered on, the BDI Percentage variable will reset 
to 100% only if ((Keyswitch Voltage > Reset Voltage Level) and (BDI 
Percentage < BDI Reset Percent)).
* To determine the number of cells in the battery pack, divide the Nominal Voltage setting (page 62) by the battery chemistry’s nominal volts-per-cell.
Lead-acid: 2.0 V/cell, nominal.
Note: For non lead-acid batteries, including Lithium-Ion battery packs, use the pack’s or cell manufacturer’s approved Battery Management System 
(BMS) for determining BDI.






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 64
VEHICLE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Metric Units
|Metric_Units
|OptionBits3 [Bit 5]
0x306C 0x00
On / Off
On / Off
When this parameter is programmed On, the distance variables (Vehicle 
Odometer, Braking Distance Captured, Distance Since Stop, Distance Fine, 
and the Capture Distance variables) will accumulate and display in metric 
units (km, meters, or decimeters). When programmed Off, the distance 
variables will accumulate and display in English units (miles, feet, or inches).
Distance variables are displayed in the Monitor » Vehicle menu.
Speed to RPM
Speed_to_RPM
0x304C 0x00
10.0 – 3000.0
100 – 30000
This parameter affects the vehicle speed displayed in the Monitor » Motor 
menu, and also modies the VCL variable Vehicle_Speed; it does not affect 
actual vehicle performance. The value entered for Speed to RPM is a 
conversion factor that scales motor speed to vehicle speed.
KPH to RPM: (G/d)*5305, where G = gear ratio, d = tire diameter [mm]. 
MPH to RPM: (G/d)*336.1, where G = gear ratio, d = tire diameter [in].
Capture Speed 1
Capture_Speed_1
0x3079 0x00
0 – 8000 rpm
0 – 8000
The controller captures the time it takes the motor to go from 0 rpm to 
the programmed Capture Speed. The result is stored as “Time to Speed 
1” in the Monitor » Vehicle menu. This timer starts every time the motor 
accelerates from zero speed.
Capture Speed 2
Capture_Speed_2
0x3886 0x00
0 – 8000 rpm
0 – 8000
This parameter allows a second capture speed to be dened, and works 
identically to Capture Speed 1. The result is stored as “Time to Speed 2” in 
the Monitor » Vehicle menu.
Capture Distance 1
Capture_Distance_1
0x307A 0x00
1 – 1320
1 – 1320
The controller captures the time it takes the vehicle to travel from 0 rpm 
to the programmed Capture Distance. The result is stored as “Time to Dist 
1” in the Monitor » Vehicle menu. This timer starts every time the vehicle 
accelerates from zero speed.
Note: For accurate distance measuring, the Speed to RPM parameter must 
be set correctly.
With the Metric Units parameter programmed Off, distance is in units of 
feet. With Metric Units programmed On, distance is in units of meters.
Capture Distance 2
Capture_Distance_2
0x3883 0x00
1 – 1320
1 – 1320
This parameter allows a second capture distance to be dened, and works 
identically to Capture Distance 1. The result is stored as “Time to Dist 2” in 
the Monitor » Vehicle menu.
Capture Distance 3
Capture_Distance_3
0x3884 0x00
1 – 1320
1 – 1320
This parameter allows a third capture distance to be dened, and works 
identically to Capture Distance 1. The result is stored as “Time to Dist 3”in 
the Monitor » Vehicle menu.
Quick Links:
Monitor » Vehicle Menu  p.77
Vehicle Speed
Vehicle Odometer
Time to Speed 1
Time to Speed 2
Time to Distance 1
Time to Distance 2
Time to Distance 3






 4 — PROGRAMMABLE PARAMETERS
pg. 65
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
EMERGENCY REVERSE MENU [speed mode & speed mode express only] 
PARAMETER ALLOWABLE RANGE DESCRIPTION
EMR Enable
|EMR_Enable
|OptionBits1 [Bit 1]
0x306A 0x00
On / Off
On / Off
Determines whether the emergency reverse function is active.
On = emergency reverse is enabled.
Off = emergency reverse is disabled.
EMR Type
EMR_Type
0x3036 0x00
0 – 3
0 – 3
Determines where the input comes from for emergency reverse.
0 = emergency reverse activated by switch 1 (pin 24).
1 =  emergency reverse is activated by VCL functions Enable_Emer_Rev() 
and Disable_Emer_Rev().
2 =  emergency reverse activated by switch 1 (pin 24), but only if the vehicle 
is moving forward (forks trailing) when emergency reverse is activated.
3 =  emergency reverse is activated by VCL functions Enable_Emer_Rev() 
and Disable_Emer_Rev(), but only if the vehicle is moving forward 
(forks trailing) when emergency reverse is activated.
EMR Dir Interlock
|EMR_Dir_Interlock
|EMR_Dir_Interlock_Bit0 [Bit 0]
0x389F 0x00
On / Off
On / Off
Determines whether the interlock switch must be turned off after 
emergency reverse before the vehicle can be driven again.
On = interlock and throttle and direction must all be cleared.
Off = only throttle and direction must be cleared.
EMR Time Limit
EMR_Time_Limit
0x303B 0x00
0.0 – 30.0 s
0 – 3750
Denes how long emergency reverse is allowed to be active after the 
vehicle is moving in the reverse direction. This timer will restart if the 
vehicle ever goes forward while emergency reverse is still active. The 
allowable range is 0–30 seconds, where 30 seconds is a special case of no 
time out.
When emergency reverse times out, the Emer Rev Timeout fault is set. 
Cycling the emergency reverse input will clear the Emer Rev Timeout fault.
To stop the vehicle after an EMR event (not move in reverse direction), set 
this parameter to 0.
EMR Speed
EMR_Speed
0x3038 0x00
50 – 6000 rpm
50 – 6000
Denes the maximum reverse speed of the motor (in motor rpm), when 
emergency reverse is active. The motor speed in reverse during an 
emergency reverse event will be the lesser of EMR_Speed and either 
Max_Speed_SpdMx (for Speed Mode Express) or Max_Speed_SpdM (for 
Speed Mode).
Emergency Reverse is not valid for Torque Mode. See Fig.16, Control Mode 
Processing, on page 108.
EMR Accel Rate
EMR_Accel_Rate
0x3039 0x00
0.1 – 3.0 s
100 – 3000
Sets the rate (in seconds) at which the vehicle accelerates in the opposite 
direction after it has been brought to a stop. If the vehicle is already 
traveling in the reverse direction below the EMR Speed, the EMR Accel Rate 
will bring the vehicle to the EMR Speed.
EMR Decel Rate
EMR_Decel_Rate
0x303A 0x00
0.1 – 3.0 s
100 – 3000
Sets the rate (in seconds) at which the vehicle brakes to a stop when 
emergency reverse is activated and the vehicle is moving forward. If the 
vehicle is already traveling in the reverse direction above the EMR Speed, 
the EMR Decel Rate will bring the vehicle down to the EMR Speed.






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 66
INTERLOCK BRAKING MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
Enable
|Interlock_Brake_Enable
|OptionBits3 [Bit 7]
0x306C 0x00
On / Off
On / Off
Determines whether the interlock braking function is active.
On =  The controller will attempt to bring the vehicle to a stop using regen 
braking when the interlock signal is removed.
Off =  The controller will disable the bridge after Sequencing Delay expires 
and allow the vehicle to roll freely when the interlock signal is 
removed. This option is typically used only when there is a user 
controlled mechanical or hydraulic brake system.
Decel Rate HS
Interlock_Brake_Decel_ Rate_HS
0x309F 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
interlock is released at high vehicle speeds (speeds > HS setting). Larger 
values represent slower response.
Decel Rate LS
Interlock_Brake_Decel_ Rate_LS
0x309E 0x00
0.1 – 30.0 s
100 – 30000
Sets the rate (in seconds) that is used to slow down the vehicle when the 
interlock is released at low vehicle speeds (speeds < LS setting). Larger 
values represent slower response.
Interlock Brake Timeout
Interlock_Brake_Timeout
0x309C 0x00
0.0 – 8.0 s
0 – 1000
Controls the maximum allowable duration of an interlock braking event. The 
timer starts as soon as the interlock signal is removed. If the time expires 
before the vehicle has slowed below the Set_Speed_Threshold, the EM 
brake will engage automatically.
This timeout allows parallel usage of regen braking and the EM brake to 
reduce stopping distance. If Interlock Brake Timeout expires and the motor 
is still moving, regen braking will continue to retard vehicle motion in 
conjunction with the EM brake.
NOTE: This parameter is only applicable when EM_Brake_Type = 1 or 2 
(page 49).
Quick Links:
Speed Mode — Fine Tuning Menu  p.36
HS (High Speed)
LS (Low Speed)







 4 — PROGRAMMABLE PARAMETERS
pg. 67
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CAN INTERFACE MENU
PARAMETER ALLOWABLE RANGE DESCRIPTION
CANopen Interlock
|CANopen_Interlock_Enable
|OptionBits3 [Bit 2]
0x306C 0x00
On / Off
On / Off
When programmed On, CAN NMT State must = 5 (operational state)
in order for the interlock to be set; see Monitor » CAN Status menu, page 78.
CAN Node ID 1
CAN_Node_ID_1
0x3140 0x00
1 – 127
1 – 127
The Node ID for the primary microprocessor is determined by the state of 
switches 5 and 6 at KSI turn on:
Node_ID_1 is selected when Sw 6 = Off and Sw 5 = Off 
Node_ID_2 is selected when Sw 6 = Off and Sw 5 = On 
Node_ID_3 is selected when Sw 6 = On and Sw 5 = Off 
Node_ID_4 is selected when Sw 6 = On and Sw 5 = On.
If the selected parameter has a Node ID of zero, the Node_ID_1 parameter 
is used. If the Node_ID_1 parameter is also zero, a default ID of 38 is used.
CAN Node ID 2
CAN_Node_ID_2
0x3141 0x00
1 – 127
1 – 127
See description of Node ID 1.
CAN Node ID 3
CAN_Node_ID_3
0x3146 0x00
1 – 127
1 – 127
See description of Node ID 1.
CAN Node ID 4
CAN_Node_ID_4
0x3147 0x00
1 – 127
1 – 127
See description of Node ID 1.
Supervisor Node ID
Supervisor_Node_ID
0x3872 0x00
1 – 127
1 – 127
Sets the Node ID for the supervisor microprocessor. The Node ID is the rst 
7 bits of the 11-bit identier (the COB ID).
Baud Rate
CAN_Baud_Rate
0x3142 0x00
– 3 – 4
– 3 – 4
Sets the CAN baud rate for the CANopen Slave system:
– 3 = 20 kbit/s,  – 2 = 50 kbit/s,  – 1 = 100 kbit/s,  0 = 125 kbit/s,
1 = 250 kbit/s,  2 = 500 kbit/s,  3 = 800 kbit/s,  4 = 1000 kbit/s.
Heartbeat Rate
CANopen_Heart_Beat_Rate
0x1017 0x00
16 – 200 ms
4 – 50
Sets the rate at which the CAN heartbeat messages are sent from the 
CANopen Slave system.
PDO Timeout Period
CAN_PDO_Timeout_Period
0x3149 0x00
0 – 200 ms
0 – 50
Sets the PDO timeout period for the CANopen Slave system. After the slave 
controller has sent a PDO-TX (MISO), it will declare a PDO Timeout Fault if 
the master controller has not sent a reply PDO-RX (MOSI) message within 
the set time. Either PDO1 MOSI or PDO2 MOSI will reset the timer. Setting 
the PDO Timeout Period = 0 will disable this fault check.
Emergency Message Rate
CANopen_Emergency_Rate
0x3148 0x00
16 – 200 ms
4 – 50
Sets the minimum rate between CAN emergency messages from the 
CANopen Slave system. This prevents quickly changing fault states from 
generating so many emergency messages that they ood the CANbus.
Suppress CANopen Init
Suppress_CANopen_Init
0x3143 0x00
0 – 1
0 – 1
When Suppress CANopen Init is set = 1, at KSI On the initialization of the 
CANopen system is suppressed. Typically this is done so that the VCL 
program  can make changes to the CANopen system before enabling it (by 
setting the variable Suppress_CANopen_Init = 0 and running the Setup_
CAN( ) function).






 4 — PROGRAMMABLE PARAMETERS
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 68
RESET CONTROLLER PARAMETER
PARAMETER ALLOWABLE RANGE DESCRIPTION
Reset Controller
ResetController
0x3B05 0x00
0 – 1
0 – 1
Setting this parameter = 1 will reset the controller. This reset is similar 
to resetting by cycling the keyswitch. Reset Controller has the advantage 
of resetting without causing the parameter block to be reloaded into the 
1313/1314 programmer.
CLONING CONTROLLERS 
(for copying parameter settings to multiple controllers)
Once a controller has been programmed to the desired settings, these settings can be transferred 
as a group to other controllers, thus creating a family of “clone” controllers with identical settings. 
Cloning only works between controllers with the same model number and soware version. For 
example, the 1313/1314 programmer can read all the information from a 1236E-5421 controller and 
write it to other 1236E-5421 controllers; however, it cannot write that same information to 1236E-
5521 or 1236SE-5621 controllers. 
To perform cloning, plug the programmer (1313 or 1314) into the controller that has the desired 
settings. While the steps using the 1313 versus the 1314 are slightly dierent in terms of screen 
images, the basic concept is the same: Save the parameters from the controller to clone, which is 
the act of saving a “.CPF” le (Curtis Program File) using the Save/Save As .  .  . operations. When 
saving the CPF le, chose a le name with meaning as this CPF le is used to write (clone) its data 
to subsequent controllers. 
For example, using the 1314 PC Programming Station, with the controller to be updated connected, 
select “open” in the File menu, then navigate to the above mentioned (saved) CPF le, which will 
be loaded (indicated) below the menus bar. In the Communication menu, select the “Save le to 
connected system (F6)” icon, and follow the prompts to copy the settings into the controller being 
cloned (i.e., the “connected System” or controller). e 1313 is slightly dierent, working o the SD 
card where the CPF le was saved versus the PC’s hard drive, and then using the “Restore” feature 
to download the settings into the controller being cloned.
For cloning Dual Drive controllers, the Master controller parameters will also be loaded into Slave 
controller, then the parameters for the Slave-vs-Master must be adjusted using the 1313/1314, as 
corresponds to the dierences between the master and slave dual-drive controllers. See the separate 
Dual Drive manual, p/n 53097-DD, for the specic steps to preform for cloning/setup of the Master 
and Slave Dual-Drive controllers.
Note: Using either programmer (1313/1314), the prompts will offer “Advanced Cloning” .  .  . . 
Advanced Cloning is advisable ONLY under the direction of your Curtis distributor or support 
engineer, because it restores all parameters, including those at a higher (hidden level). Due to possible 
conicts, select “No” in the 1313 prompt, or do not “check” the box in the 1314).
Please contact your Curtis distributor or support engineer if there are any question on cloning controllers.





 5 — MONITOR MENU
pg. 69
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
5 — MONITOR MENU
rough its Monitor menu, the 1313 handheld and 1314 PC programmers provide access to real-time 
data during vehicle operation. is information is helpful during diagnostics and troubleshooting, 
and also while adjusting programmable parameters and the vehicle’s initial setup.
Table 4  Monitor Menu: 1313/1314 Programmer 
INPUTS MENU...................  p. 70
— Throttle Command
— Throttle Multiplier
— Mapped Throttle
— Throttle Pot
— Brake Command
— Mapped Brake
— Pot2 Raw
— PD Throttle
— Steer Pot 
— Steer Angle (deg)
— Interlock
— Emer Rev
— Analog 1
— Analog 2
— Switch 1
— Switch 2
— Switch 3
— Switch 4
— Switch 5
— Switch 6
— Switch 7
— Switch 8
— Driver 1 Input
— Driver 2 Input
— Driver 3 Input
— Driver 4 Input
— PD Input
— DigOut6 Input
— DigOut7 Input
— Switch 16
OUTPUTS MENU.................................... p. 72
— Analog Out
— Digital Out 6
— Digital Out 7
— Driver 1 PWM
— Driver 2 PWM
— Driver 3 PWM
— Driver 4 PWM
— PD PWM
— PD Current
— 5 Volts
— 12 Volts
— Ext Supply Current
— Pot Low
BATTERY MENU..................................... p. 73
— BDI
— Capacitor Voltage
— Keyswitch Voltage
MOTOR MENU........................................ p. 73
— Motor RPM
— Max Speed Controller Limit
— Temperature
— MotorSpeed A
— MotorSpeed B
— Sin Input A
— Cos Input B
— Rotor Postion
CONTROLLER MENU............................ p. 74
— Current (RMS)  
— Modulation Depth
— Frequency
— Temperature
— Main State
— EMBrake State
— Regen
— Master Timer
— VCL Error Module
VEHICLE MENU..................................... p. 77
— Vehicle Speed
— Vehicle Odometer
— Vehicle Acceleration
— Time to Speed 1
— Time to Speed 2
— Time Between Speeds
— Time to Dist 1
— Time to Dist 2
— Time to Dist 3
— Braking Distance Captured
— Distance Since Stop
— Distance Fine
CAN STATUS MENU............................. p. 78
— CAN Node ID
— CAN NMT State
— PDO1 MOSI Byte Map
— PDO1 MISO Byte Map
— PDO2 MOSI Byte Map
— PDO2 MISO Byte Map
— VCL Error
— Motor Characterization Error
— Parameter Mismatch Error
— Supervision Error
— CUTBACKS................................. p. 76
— Motor Temp Cutback
— Controller Temp Cutback
— Undervoltage Cutback
— Overvoltage Cutback 
—  MOTOR  TUNING ........................  p. 76
— Motor RPM
— Base Speed Captured
— Test Field Current














 5 — MONITOR MENU
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 70
Monitor Menu: INPUTS
VARIABLE DISPLAY RANGE DESCRIPTION
Throttle Command
Throttle_Command
0x3216 0x00
–100.0 – 100.0%
–32767 – 32767
Throttle request to slew rate block.
Throttle Multiplier
Throttle_Multiplier
0x3213 0x00
–200.0 – 200.0%
–256 – 256
Multiplies or divides the throttle signal; useful in VCL throttle processing 
(see Throttle Processing on page 104 and Figure 15 on page 105).
Mapped Throttle
Mapped_Throttle
0x3211 0x00
–100.0 – 100.0%
–32767 – 32767
Mapped throttle request.
(see Throttle Processing on page 104 and Figure 15 on page 105).
Throttle Pot
Throttle_Pot_Raw
0x3215 0x00
0.00 – 5.50 V
0 – 36044
Voltage at throttle pot wiper (pin 16).
Brake Command
Brake_Command
0x321A 0x00
0.0 – 100.0%
0 – 32767
Brake request to slew rate block.
(see Brake Processing on page 106 and Figure 15 on page 105)
Mapped Brake
Mapped_Brake
0x3212 0x00
0.0 – 100.0%
0 – 32767
Mapped brake request.
(see Brake Processing on page 106 and Figure 15 on page 105)
Pot2 Raw
Pot2_Raw
0x3217 0x00
0.00 – 5.50 V
0 – 36044
Voltage at pot2 wiper (pin 17).
PD Throttle
PD_Throttle
0x3210 0x00
0.00 – 100.00 %
0 – 32766
Proportional driver current request.
(see Interfacing the Proportional Current Driver and Figure 17 on page 109)
Steer Pot
Steer_Pot_Raw
0x38BB 0x00
0.00 – 6.25 V
0 – 32767
Voltage at steer pot wiper (pin 17) on Dual Drive traction slave.
(reference the Dual Drive supplement manual: 53097_E&SEDD_os31)
Steer Angle
Steer_Angle
0x38BA 0x00
–90 – 90
–90 – 90
Steer angle degrees calculated in Dual Drive traction master.
Interlock
|Interlock_State
|System_Flags1 [Bit 0]
0x322B 0x00
On / Off
On / Off
Interlock input on or off. The source of the interlock input is determined by 
the Interlock Type parameter.
from Switch 3 (pin 9) if Interlock Type = 0
from VCL function if Interlock Type = 1
from KSI (pin 1) if Interlock Type = 2.
Emer Rev
|EMR_State
|System_Flags1 [Bit 1]
0x322B 0x00
On / Off
On / Off
Emergency reverse input on or off. The source of the emergency reverse 
input is determined by the EMR Type parameter:
from Switch 1 (pin 24) if EMR Type = 0, or 2.
from VCL function if EMR Type = 1.
Analog 1
Analog1_Input
0x3204 0x00
0.00 – 10.00 V
0 – 1023
Voltage at analog 1 (pin 24).
Analog 2
Analog2_Input
0x3205 0x00
0.00 – 10.00 V
0 – 1023
Voltage at analog 2 (pin 8).
Switch 1
|Sw_1
|Switches [Bit 0]
0x3226 0x00
On / Off
On / Off
Switch 1 on or off (pin 24).
Switch 2
|Sw_2
|Switches [Bit 1]
0x3226 0x00
On / Off
On / Off
Switch 2 on or off (pin 8).














 5 — MONITOR MENU
pg. 71
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Monitor Menu: INPUTS, cont’d 
VARIABLE DISPLAY RANGE DESCRIPTION
Switch 3
|Sw_3
|Switches [Bit 2]
0x3226 0x00
On / Off
On / Off
Switch 3 on or off (pin 9).
Switch 4
|Sw_4
|Switches [Bit 3]
0x3226 0x00
On / Off
On / Off
Switch 4 on or off (pin 10).
Switch 5
|Sw_5
|Switches [Bit 4]
0x3226 0x00
On / Off
On / Off
Switch 5 on or off (pin 11).
Switch 6
|Sw_6
|Switches [Bit 5]
0x3226 0x00
On / Off
On / Off
Switch 6 on or off (pin 12).
Switch 7
|Sw_7
|Switches [Bit 6]
0x3226 0x00
On / Off
On / Off
Switch 7 on or off (pin 22).
Switch 8
|Sw_8
|Switches [Bit 7]
0x3226 0x00
On / Off
On / Off
Switch 8 on or off (pin 33).
Driver 1 Input
|Sw_9
|Switches [Bit 8]
0x3226 0x00
On / Off
On / Off
Driver 1 input on or off (pin 6).
Driver 2 Input
|Sw_10
|Switches [Bit 9]
0x3226 0x00
On / Off
On / Off
Driver 2 input on or off (pin 5).
Driver 3 Input
|Sw_11
|Switches [Bit 10]
0x3226 0x00
On / Off
On / Off
Driver 3 input on or off (pin 4).
Driver 4 Input
|Sw_12
|Switches [Bit 11]
0x3226 0x00
On / Off
On / Off
Driver 4 input on or off (pin 3).
PD Input
|Sw_13
|Switches [Bit 12]
0x3226 0x00
On / Off
On / Off
Proportional driver on or off (pin 2).
DigOut6 Input
|Sw_14
|Switches [Bit 13]
0x3226 0x00
On / Off
On / Off
Digital Out 6 input on or off (pin 19).
DigOut7 Input
|Sw_15
|Switches [Bit 14]
0x3226 0x00
On / Off
On / Off
Digital Out 7 input on or off (pin 20).
Switch 16
|Sw_16
|Switches [Bit 15]
0x3226 0x00
On / Off
On / Off
Switch 16 on or off (pin 14).





 5 — MONITOR MENU
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 72
Monitor Menu: OUTPUTS
VARIABLE DISPLAY RANGE DESCRIPTION
Analog Out
Analog_Output
0x321D 0x00
0.00 – 10.00 V
0 – 32767
Voltage at Analog output (pin 30).
Note: 1232E and 1232SE controllers do not include this Analog output.
Digital Out 6
|Dig6_Output
|System_Flags1 [Bit 3]
0x322B 0x00
On / Off
On / Off
Digital Out 6 output on or off (pin 19).
Digital Out 7
|Dig7_Output
|System_Flags1 [Bit 4]
0x322B 0x00
On / Off
On / Off
Digital Out 7 output on or off (pin 20).
Driver 1 PWM
PWM1_Output
0x321F 0x00
0 – 100%
0 – 32767
Driver 1 PWM output (pin 6).
Driver 2 PWM
PWM2_Output
0x3220 0x00
0 – 100%
0 – 32767
Driver 2 PWM output (pin 5).
Driver 3 PWM
PWM3_Output
0x3221 0x00
0 – 100%
0 – 32767
Driver 3 PWM output (pin 4).
Driver 4 PWM
PWM4_Output
0x3222 0x00
0 – 100%
0 – 32767
Driver 4 PWM output (pin 3).
PD PWM
PD_Output
0x321E 0x00
0 – 100%
0 – 32767
Proportional driver PWM output (pin 2).
PD Current
PD_Current
0x321C 0x00
0.00 – 2.00 A
0 – 607
Current at proportional driver (pin 2).
5 Volts
Five_Volts_Output
0x3202 0x00
0.00 – 6.25 V
0 – 1023
Voltage at +5V output (pin 26).
12 Volts
Twelve_Volts_Output
0x3522 0x00
0.00 – 12.00 V
0 – 768
Voltage at +12V output (pin 25).
Ext Supply Current
Ext_Supply_Current
0x3229 0x00
0 – 200 mA
0 – 800
Combined current of the external +12V and +5V voltage supplies (pins 25 
and 26).
Pot Low
Pot_Low_Output
0x3203 0x00
0.00 – 6.25 V
0 – 1023
Voltage at pot low (pin 18).





 5 — MONITOR MENU
pg. 73
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Monitor Menu: BATTERY
VARIABLE DISPLAY RANGE DESCRIPTION
BDI
BDI_Percentage
0x3308 0x00
0 – 100%
0 – 100
Lead-acid battery discharge indicator (BDI). Effectively the battery’s 
remaining state-of-charge.  
NOTE: For non lead-acid batteries, including Lithium-Ion battery packs, use 
the pack’s or cell manufacturer’s approved Battery Management System 
(BMS) for determining the BDI
Capacitor Voltage
Capacitor_Voltage
0x324C 0x00
0.0 – 200.0 V
0 – 12800
Voltage of controller’s internal capacitor bank at B+ terminal.
Keyswitch Voltage
Keyswitch_Voltage
0x324D 0x00
0.0 – 105.0 V
0 – 10500
Voltage at KSI (pin 1).
Monitor Menu: MOTOR
VARIABLE DISPLAY RANGE DESCRIPTION
Motor RPM
Motor_RPM_Display
–12000 – 12000 rpm
–12000 – 12000
Motor speed in revolutions per minute.   
Filtered for display on the 1313/1314. No CAN Index is assigned to this 
monitor variable. Possible usage for a tachometer, due to the ltered 
(smoothing) nature of this VCL variable over the Motor_RPM variable (see 
Motor RPM in monitor Controller » Motor Tuning » Motor_RPM, page 76). 
Max Speed Controller Limit
Max_Speed_Controller_Limit
0x3559 0x00
0 – 12000 rpm
0 – 12000
Displays the maximum allowed speed, which clamps the upper limit of the 
Max Speed parameters. It is the least of the three motor-speed constraints 
described on page 24.
Temperature
Motor_Temperature
0x320B 0x00
–100 – 300°C
–1000 – 3000
Temperature sensor readout.
MotorSpeed A
MotorspeedA
0x35D1 0x00
–12000 – 12000 rpm
–12000 – 12000
Motor encoder phase A speed in revolutions per minute. This can be used to 
verify that phase A of the encoder is operating correctly. MotorSpeed A  
should equal MotorSpeed B in a properly operating motor encoder. 
MotorSpeed A does not indicate direction.
MotorSpeed B
MotorspeedB
0x35D2 0x00
–12000 – 12000 rpm
–12000 – 12000
Motor encoder phase A speed in revolutions per minute. This can be used to 
verify that phase B of the encoder is operating correctly. MotorSpeed B  
should equal MotorSpeed A in a properly operating motor encoder. 
MotorSpeed B does not indicate direction.
Sin Input A
encoder_sin_input_compensated
0x38C5 0x00
0 – 1023
0 – 1023
Input at Position Feedback A (pin 31).
Cos Input B
encoder_cos_input_compensated
0x38C6 0x00
0 – 1023
0 – 1023
Input at Position Feedback B (pin 32).
Rotor Position
rotor_position_raw
0x38C7 0x00
–32768 – 32767
–32768 – 32767
The displayed value will never exceed 4095. 0 – 4095 maps to mechanical 
0°– 360°.







 5 — MONITOR MENU
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 74
Monitor Menu: CONTROLLER
VARIABLE DISPLAY RANGE DESCRIPTION
Current (RMS)
Current_RMS
0x3209 0x00
0.0 – 1000.0 A
0 – 10000
RMS current of the controller, taking all three phases into account.
Modulation Depth
Modulation_Depth
0x3208 0x00
0.0 – 100.0%
0 – 1182
Percentage of available voltage being used.
Frequency
Frequency
0x3206 0x00
–500 – 500 Hz
–3000 – 3000
Controller electrical frequency.
Temperature
Controller_Temperature
0x322A 0x00
–100 – 300°C
–1000 – 3000
Controller internal temperature.
Main State
Main_State
0x3223 0x00
0 – 10
0 – 10
Main contactor state:
0 = open
1 = precharge
2 = weld check
3 = closing delay
4 = missing check
5 = closed (when Main Enable = On)
6 = delay
7 = arc check
8 = open delay
9 = fault
10 = closed (when Main Enable = Off).
EMBrake State
EMBrakeState
0x3892 0x00
0 – 4
0 – 4
EM brake state:
0 = engaged
1 = releasing
2 = released
3 = engaging
4 = engaged and vehicle stopped.
Regen
|Regen_State
|System_Flags1 [Bit 2]
0x322B 0x00
On / Off
On / Off
On when regen braking is taking place; Off when it is not.
Master Timer
Master_Timer
0x3160 0x00
0 – 429496729.5 s
O – 4294967295
The master timer is a timer of the total hours the controller is powered on 
(keyswitch hours). The master timer is controlled by the OS software and 
cannot be reset.
VCL Error Module
Last_VCL_Error_Module
0x3473 0x00
0 – 65535
0 – 65535
A VCL Runtime Error (fault code 68) will store additional information about 
the cause of a VCL runtime error in the VCL Error Module and VCL Error 
variables. The resulting non-zero values can be compared to the runtime 
VCL module ID and error code denitions listed in the controller’s OS 
SysInfo le, which should help pinpoint the VCL error that caused the 
runtime error.
VCL Error
Last_VCL_Error
0x3472 0x00
0 – 65535
0 – 65535





 5 — MONITOR MENU
pg. 75
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Monitor Menu: CONTROLLER, cont’d
VARIABLE DISPLAY RANGE DESCRIPTION
Motor Characterization Error 0 – 23* A Motor Characterization Fault (fault code 87) will store additional 
information in the Motor Characterization Error variable:*
0 =  sequencing error. Normally caused by turning off Motor Characterization 
Test Enable before running the test.
1 =  encoder signal seen but step size not auto-detected; set up Encoder 
Steps manually
2 = motor temp sensor fault
3 = motor temp hot cutback fault
4 = controller overtemp cutback fault
5 = controller undertemp cutback fault
6 = undervoltage cutback fault
7 = severe overvoltage fault
8 = encoder signal not seen, or one or both channels missing
9 = motor parameters out of characterization range.
20 = Sin/Cos sensor not found
21 = phasing not detected
22 = Sin/Cos sensor characterization failure
23 = started characterization procedure while motor rotating.
Motor_Characterization_Error 0 – 23
0x3899 0x00
Parameter Mismatch Error 0 – 2 A Parameter Mismatch Fault Fault (fault code 99) will store additional 
information in the Parameter Mismatch Error variable:
0 = none
1 =  Dual Motor Enable = On, and Control Mode Select is not set to either 
0-Speed Mode Express or 1-Speed Mode
2 = Feedback Type is incompatible with Motor Technology setting.
Parameter_Mismatch_Error 0 – 2
0x388F 0x00
Supervision Error 0 – 4 A Supervision Fault (fault code 77) will store additional information in the 
Supervision Error variable:
0 = none
1 = watchdog timeout comms
2 = power supply fault detected
3 = queue fault detected
4 = ALU fault detected.
The Supervisor Fault (ash code 77) has several causes. The most common 
cause is when one of the digital inputs is stuck in the range between the 
guaranteed high threshold and the guaranteed low threshold for more than 
100 milliseconds. See Digital Input specications, page 14.
Supervision_Error 0 – 4
0x3897 0x00
*NOTES:
Errors 1 and 9 apply to ACIM motors only.
Errors 20–23 apply to SPM motors only.
Errors indicate the motor characterization data is invalid, except in the case of Error 1.
This monitor variable will read “0” during normal operation (i.e., no characterization fault code 87).






 5 — MONITOR MENU
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 76
Monitor Menu: CUTBACKS
VARIABLE DISPLAY RANGE DESCRIPTION
Motor Temp Cutback 0 – 100% Displays the current available as a result of the motor temperature cutback 
function.
A value of 100% indicates no cutback in current.
MotorTempCutback 0 – 4096
0x3581 0x00
Controller Temp Cutback 0 – 100% Displays the current available as a result of the controller temperature 
cutback function.
A value of 100% indicates no cutback in current.
ControllerTempCutback 0 – 4096
0x35F3 0x00
Undervoltage  Cutback 0 – 100% Displays the current available as a result of the undervoltage cutback 
function.
A value of 100% indicates no cutback in current.
UndervoltageCutback 0 – 4096
0x3605 0x00
Overvoltage Cutback 0 – 100% Displays the current available as a result of the overvoltage cutback 
function.
A value of 100% indicates no cutback in current.
OvervoltageCutback 0 – 4096
0x3604 0x00
Monitor Menu: MOTOR TUNING
VARIABLE DISPLAY RANGE DESCRIPTION
Motor RPM –32768 – 32767 rpm Motor speed in revolutions per minute.  
This is the raw value (compare to the ltered value under the Motor menu, 
page 73). Use Motor_RPM for VCL and CAN applications.
Motor_RPM –32768 – 32767
0x3207 0x00
Base Speed Captured 0 – 65535  rpm Displays the value of the motor base speed captured in the most recent 
acceleration. This value is used to set the FW Base Speed parameter, using 
the FW Base Speed set procedure described on page 56 or using the ACIM 
motor characterization procedure (Chapter 8A).
Base_Speed_Captured 0 – 65535
0x35BE 0x00
Test Field Current 0 – 800 A Field test current reading to be used during the ACIM motor characterization 
procedure (Chapter 8A).
Test_Field_Current 0 – 800
0x3873  0x00







 5 — MONITOR MENU
pg. 77
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Monitor Menu: VEHICLE
VARIABLE DISPLAY RANGE DESCRIPTION
Vehicle Speed
Vehicle_Speed
0x320A 0x00
–3276.8 – 3276.7
–32768 – 32767
Vehicle speed, in units of MPH or KPH, depending on the setting of the Metric 
Units parameter (see Program » Vehicle menu).
For accurate speed estimates, the Speed to RPM parameter must be set correctly.
Vehicle Odometer
Vehicle_Odometer
0x3200 0x00
0.0 – 10000000.0
0 – 100000000
Vehicle distance traveled, in units of miles or km, depending on the setting of 
the Metric Units parameter in the Vehicle parameters menu.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
Vehicle Acceleration
Vehicle_Acceleration
0x35C1 0x00
0.000 – 10.000 g
0 – 10000
Vehicle acceleration. This is a calculated value. The Speed to RPM parameter 
must be set correctly for an accurate measurement.   
Time to Speed 1
Time_to_Capture_Speed_1
0x35BF 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to go from zero rpm to the programmed Capture 
Speed 1 (see Program » Vehicle menu) during its most recent such 
acceleration.
Time to Speed 2
Time_to_Capture_Speed_2
0x35BB 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to go from zero rpm to the programmed Capture 
Speed 2 (see Program » Vehicle menu) during its most recent such 
acceleration.
Time Between Speeds
Time_Between_Capture_ Speeds
0x35C4 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to go from programmed Capture Speed 1 to 
programmed Capture Speed 2 (see Program » Vehicle menu) during its most 
recent such acceleration.
Time to Dist 1
Time_to_Capture_Distance_1
0x3612 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to travel from zero rpm to the programmed Capture 
Distance 1 (see Program » Vehicle menu) during its most recent such trip.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
Time to Dist 2
Time_to_Capture_Distance_2
0x3613 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to travel from zero rpm to the programmed Capture 
Distance 2 (see Program » Vehicle menu) during its most recent such trip.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
Time to Dist 3
Time_to_Capture_Distance_3
0x3614 0x00
0.00 – 128.00 s
0 – 32000
Time taken for the vehicle to travel from zero rpm to the programmed Capture 
Distance 3 (see Program » Vehicle menu) during its most recent such trip.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
Braking Distance Captured
Braking_Distance_Captured
0x3201 0x00
0.0 – 1000000.0
0 – 40000000
Distance traveled by the vehicle starting with vehicle braking (initiated by 
throttle reversal, brake pot, VCL_Brake, or interlock braking) and ending when 
Motor_RPM = 0. Units are meters or feet, depending on the setting of the 
Metric Units parameter.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
Distance Since Stop
Distance_Since_Stop
0x324E 0x00
0.0 – 1000000.0
0 – 40000000
Distance traveled by the vehicle starting from a stop. In effect, the vehicle 
is used as a tape measure. (In other words, if you travel 300 feet forward 
and then 300 feet in reverse, the distance would be 600.) The distance is 
continuously updated and will stop (and restart) when Motor_RPM = 0.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly. Units are meters or feet, depending on the setting of the Metric 
Units parameter.
Distance Fine
Distance_Fine_Long
0x3616 0x00
–214748364.8 – 214748364.7
–2147483648 – 2147483647
Position measurement. Net distance in both the forward and reverse 
directions. (In other words, if you travel 20 inches forward and then 20 inches 
in reverse, the distance would be zero.) The distance is continuously updated 
and will roll over when the variable goes over the limits. Resets to zero on key 
cycle. Units are decimeters or inches, depending on the setting of the Metric 
Units parameter.
For accurate distance measurements, the Speed to RPM parameter must be 
set correctly.
NOTE: All vehicle calculations assume no tire slippage.
Quick Links:
Vehicle Menu parameters  p.64
  Metric Units
  Speed to RPM
  Capture Speed 1, 2
  Capture Distance 1, 2, 3







 5 — MONITOR MENU
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 78
Monitor Menu: CAN STATUS
VARIABLE DISPLAY RANGE DESCRIPTION
CAN Node ID
CAN_Node_ID
0x3145 0x00
0 – 127
0 – 127
Displays the controller’s Node ID.
CAN NMT State
CAN_NMT_State
0x3328 0x00
0 – 127
0 – 127
Controller CAN NMT state:
0=initialization, 4=stopped, 5=operational, 127=pre-operational.
PDO1 MOSI Byte Map* 0 – 2
32
Mapping objects for PDO1 MOSI’s eight bytes.
PDO1 MISO Byte Map* 0 – 2
32
Mapping objects for PDO1 MISO’s eight bytes.
PDO2 MOSI Byte Map* 0 – 2
32
Mapping objects for PDO2 MOSI’s eight bytes.
PDO2 MISO Byte Map* 0 – 2
32
Mapping objects for PDO2 MISO’s eight bytes.
* Each of these byte maps is a submenu containing 8 variables, one for each byte. Each variable is 32 bits.
PDO1 MOSI Byte Map PDO2 MOSI Byte Map
CAN_PDO_MOSI_1_MAP_1
0x1600 0x01
CAN_PDO_MOSI_2_MAP_1
0x1601 0x01
CAN_PDO_MOSI_1_MAP_2
0x1600 0x02
CAN_PDO_MOSI_2_MAP_2
0x1601 0x02
CAN_PDO_MOSI_1_MAP_3
0x1600 0x03
CAN_PDO_MOSI_2_MAP_3
0x1601 0x03
CAN_PDO_MOSI_1_MAP_4
0x1600 0x04
CAN_PDO_MOSI_2_MAP_4
0x1601 0x04
CAN_PDO_MOSI_1_MAP_5
0x1600 0x05
CAN_PDO_MOSI_2_MAP_5
0x1601 0x05
CAN_PDO_MOSI_1_MAP_6
0x1600 0x06
CAN_PDO_MOSI_2_MAP_6
0x1601 0x06
CAN_PDO_MOSI_1_MAP_7
0x1600 0x07
CAN_PDO_MOSI_2_MAP_7
0x1601 0x07
CAN_PDO_MOSI_1_MAP_8
0x1600 0x08
CAN_PDO_MOSI_2_MAP_8
0x1601 0x08
PDO1 MISO Byte Map PDO1 MISO Byte Map
CAN_PDO_MISO_1_MAP_1
0x1A00 0x01
CAN_PDO_MISO_2_MAP_1
0x1A01 0x01
CAN_PDO_MISO_1_MAP_2
0x1A00 0x02
CAN_PDO_MISO_2_MAP_2
0x1A01 0x02
CAN_PDO_MISO_1_MAP_3
0x1A00 0x03
CAN_PDO_MISO_2_MAP_3
0x1A01 0x03
CAN_PDO_MISO_1_MAP_4
0x1A00 0x04
CAN_PDO_MISO_2_MAP_4
0x1A01 0x04
CAN_PDO_MISO_1_MAP_5
0x1A00 0x05
CAN_PDO_MISO_2_MAP_5
0x1A01 0x05
CAN_PDO_MISO_1_MAP_6
0x1A00 0x06
CAN_PDO_MISO_2_MAP_6
0x1A01 0x06
CAN_PDO_MISO_1_MAP_7
0x1A00 0x07
CAN_PDO_MISO_2_MAP_7
0x1A01 0x07
CAN_PDO_MISO_1_MAP_8
0x1A00 0x08
CAN_PDO_MISO_2_MAP_8
0x1A01 0x08
NOTE:  MOSI (Master Out Slave In) = RX (Server to Client) in CANopen nomenclature
          MISO (Master In Slave Out) = TX (Client to Server) in CANopen nomenclature
          PDO mapping variables in os31, as listed above, use the MOSI and MISO nomenclature as shown.





 6 — CONTROLLER INFORMATION MENU
pg. 79
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
6 — CONTROLLER INFORMATION MENU
is menu provides ID and version numbers for your controller hardware and soware.
CONTROLLER INFORMATION MENU
VARIABLE DISPLAY RANGE DESCRIPTION
Serial Number
Serial_Number
0x1018 0x04
0 – 4294967295
0 – 4294967295
Serial number. For example, if the serial number printed on your controller is 
15045L.11493, the Serial Number variable will have the value of 11493. 
Model Number
Model Number
0x3464 0x00
0 – 4294967295
0 – 4294967295
Model number. For example, if you have a 1236E controller with the model number 
1236E-4521, the Model Number variable will have a value of 12364521.
Mfg Date Code
Manuf_Date
0x3466 0x00
0 – 32767
0 – 32767
Controller date of manufacture, with the rst two digits indicating the year and 
the last three indicating the day. For example, if the serial number printed on your 
controller is 15045L.11493, the Mfg Date Code variable will have the value of 15045 
(45th day of 2015).
Hardware Version
Hardware_Ver
0x3467 0x00
0 – 32.767
0 – 32767
The hardware version number uniquely describes the combination of power base 
assembly and the logic, cap, and IMS board assemblies used in the controller.
OS Version
OS_Ver
0x346A 0x00
0 – 65535
0 – 65535
Version number of the operating system software that is loaded into the controller This 
variable species the major version number of the controller’s operating system.
Build Number
TBuild_Number
0x346B 0x00
0 – 65535
0 – 65535
Build number of the operating system software that is loaded into the controller. This 
variable species the minor version number of the controller’s operating system.
SM Version
SM_Ver
0x332B 0x00
0 – 327.67
0 – 32767
Version number of the Start Manager software that is loaded into the controller.
Param Blk Version
Param_Blk_Ver
0x3468 0x00
0 – 327.67
0 – 32767
Version number of the parameter block that is loaded into the controller.
VCL App Version
VCL_App_Ver
0x3463 0x00
0 – 327.67
0 – 32767
Version number of the VCL application software that is loaded into the controller. This 
value is set in the VCL program by assigning a value to the VCL_App_Ver variable.
Vehicle Serial Number
Vehicle_Serial_Number
0x393D 0x00
0 – 4294967295
0 – 4294967295
Provided for OEM use and denition.





 7 — INITIAL SETUP
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 80
7 — INITIAL SETUP
e 1232E/SE, 1234E/SE, 1236E/SE, and 1238E/SE controllers can be used in a variety of vehicles, 
which dier widely in characteristics. Before driving the vehicle, it is imperative that these initial 
setup procedures be carefully followed to ensure that the controller is set up to be compatible with 
your application. 
BEFORE YOU START
Correct values for the motor parameters (Motor Type, FW Base Speed, and Field Weakening) must be 
determined individually for each motor. 
For ACIM motors, use one of these three options to obtain ACIM motor data:
•  Contact your Curtis distributor or support engineer with the manufacturer’s part number for 
your motor. Curtis has a database of many motors for which the motor data has already been 
determined. Motors in the Curtis database are assigned a number, which is the number used 
for the ACIM Motor Type parameter.
•  Send your ACIM motor to Curtis for testing on the factory motor dyno. Your motor’s data will be 
entered into the Curtis database and we will send you software with the appropriate parameter 
values set to match your motor. Contact your Curtis distributor or support engineer before 
shipping your motor. 
•  Use the ACIM Motor Characterization Procedure (Chapter 8A), which has the controller “learn” 
the motor parameter data. The procedure should take about half an hour and can be done 
on the vehicle. Go ahead and complete setup steps 1 through 11 of the Initial Setup before 
conducting the ACIM characterization procedure. 
For SPM motors, use the SPM Motor Characterization Procedure (Chapter 8B), which has the controller 
“learn” the motor parameter data. The procedure should take about half an hour and can be done 
on the vehicle. Go ahead and complete steps 1 through 9 of the Initial Setup before conducting the 
SPM characterization procedure. Using the SPM Motor Characterization Procedure is the only option 
for obtaining motor data for SPM motors. Note, for SPM motors, there is no motor poles or feedback 
sensor direction parameters, as obtaining this data is part of the SPM auto-characterization routine.
ACIM:
If Curtis has given you the values for Motor Type, FW Base Speed, and Field Weakening and you 
have set them on the controller (see ACIM Field Weakening Control menu, pages 56–57), complete 
the these initial setup procedures prior to ne-tuning the motor. If you will be using the automated 
Motor Characterization Procedure, that will come later—aer you have completed steps 1 through 
10.  Following the motor characterization, complete the initial steps prior to completing the ne-
tuning in Chapter 9.
SPM:
For SPM motor applications, start these initial setup procedures now. e SPM motor characterization 
will be preformed aer you have completed steps 1 through 9. en complete steps 12–14 prior to 
completing the ne-tuning in Chapter 9.







 7 — INITIAL SETUP
pg. 81
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Before beginning the setup procedures, jack the vehicle drive wheels up off the ground so that 
they spin freely and the vehicle is stable. Double-check all wiring to ensure it is consistent with 
the wiring guidelines presented in Chapter 2. Make sure all electrical and mechanical connections 
are tight. 
Turn on the controller and plug in the 1313 handheld or 1314 PC programmer.
Step 1: Motor Temperature Sensor (see page 61)
Set the Sensor Type parameter to the predefined type (1–5) that corresponds to your motor 
temperature sensor. Typically, the motor temperature sensor will be a thermistor that is connected 
from Analog 2 (pin 8) to I/O Ground (pin 7) as shown in gure 3.
To check whether the Sensor Type and Sensor Oset parameter settings and the motor-thermistor 
connections yield the correct motor temperature, ensure the motor’s Sensor Enable parameter is 
set to On, then read the Temperature value displayed in the programmer’s Monitor » Motor menu 
(page 73). 
If the 1313/1314 programmer does not display the correct motor temperature, double-check the 
motor temperature control parameters Sensor Enable, Sensor Type, and Sensor Oset. Ensure that 
the thermistor’s wiring orientation is as shown in Figure 3. 
To setup a custom sensor type, VCL and an OS parameter-block change for a Sensor Type “Type 0” 
is required by your Curtis distributor or support engineer.
To proceed if the correct motor temperature is not displayed, if there is no motor temperature sensor, 
or while awaiting a custom sensor os/VCL, the initial setup procedure can continue only if the Sensor 
Enable parameter is set to O. 
If the 1313/1314 displays the correct motor temperature, complete this step by setting the remaining 
motor temperature control parameters: Sensor Oset (if not already completed, above), Braking 
ermal Cutback Enable, Temperature Hot, Temperature Max, and MotorTemp LOS Max Speed.
Step 2: Current Limits (see page 43)
e Drive, Regen, Brake, EMR, and Interlock Current Limit parameters are a percentage of the 
controller’s full rated current. The controller’s full rated current is printed on the label of the 
controller. Set the ve current limit parameters to your desired values. 
Step 3: Battery (see page 62–63)
Set the Nominal Voltage parameter to match the nominal battery pack voltage of your system. 
Step 4: Main Contactor (see pages 51–52)
Set up the parameters in the Drivers » Main Contactor Menu.
Step 5: EM Brake (see pages 49–50)
Set up the parameters in the EM Brake Control Menu.
Step 6: Throttle (see pages 20–23 and 46–47)
Before the throttle can be setup, the interlock must be veried as O. Read the Interlock value 
displayed in the Monitor » Inputs menu. If the 1313/1314 programmer indicates the interlock is 
On, review how you set the Interlock Type parameter (Drivers » Main Contactor Menu) and turn 
the interlock o. Verify that the programmer displays that the interlock is now O.
Contact your Curtis distributor or support engineer to resolve any issues about the interlock before 
continuing with these initial setup procedures.
WARNING
Quick Links:
Monitor/Inputs Menu  p.70
Monitor/Motor Menu  p.73
Quick Links:
Monitor/Inputs Menu  p.70
Drivers/Main Contactor menu
Main Interlock Type  p.51
Interlock Type  p.52























 7 — INITIAL SETUP
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 82
Once the interlock has been veried O, proceed to the throttle input setup. First set the rottle 
Type parameter to match the type of throttle (1–5) and wiring used as described in Chapter 3, 
rottle section. en adjust the Forward Deadband, Forward Max, Reverse Deadband and Reverse 
Max parameters to match the range of the throttle. e rottle Pot value displayed on the Monitor »  
Inputs menu is useful when setting up these parameters. 
For the forward and reverse directions, read the displayed rottle Pot voltage at the point when 
the throttle moves out of neutral and at the point just before full throttle and enter these values for 
the deadband and max settings for that direction. Set up the remaining parameters in the rottle 
Menu as required by the application.
Verify that the throttle settings are correct by checking the Mapped rottle value displayed in the 
Monitor » Inputs menu over the entire range of throttle pot movement. e value displayed for 
Mapped rottle should be = 0% through the range of throttle motion that is considered neutral. 
e displayed Mapped rottle should be = 100% through the range of motion that is considered 
maximum forward throttle and it is = –100% through the range considered maximum reverse throttle.
Contact your Curtis distributor or support engineer to resolve any issues about the throttle setup 
before continuing  with the initial setup procedures.
Step 7: Brake (see page 48)
If the brake function is not used by your application, set the Brake Pedal Enable parameter = O 
and Brake Type = 5. 
Before the brake can be set up the interlock must be veried as O. Read the Interlock value displayed 
in the Monitor » Inputs menu. If the 1313/1314 programmer indicates the interlock is On, review how 
you set the Interlock Type parameter (Drivers » Main Contactor Menu) and turn the interlock o.
e Brake Type parameter must be set to match the type of brake throttle (1, 2, 3, 5) and wiring. 
Next, adjust the Brake Deadband and Brake Max parameters to match the range of the brake pot. e 
Brake Pot value (Pot2 Raw) displayed in the Monitor » Inputs menu is useful when setting up these 
parameters. Read the displayed brake pot voltage at the point when the brake moves out of neutral 
and at the point just before full brake. Enter in these values for the deadband and max parameter 
settings. en set up the other parameters in the Brake Menu as required by the applications.
Verify that that the brake settings are correct by checking the Mapped Brake value displayed in the 
Monitor » Inputs menu over the entire range of brake pot movement. e value displayed for Mapped 
Brake should be = 0% through the range of brake pot motion that is considered neutral. e displayed 
Mapped Brake should be = 100% through the range of motion that is considered maximum brake. 
Contact your Curtis distributor or support engineer to resolve any issues about the brake setup before 
continuing with the setup procedure.
Step 8: Motor Technology & Feedback Type (see pages 55 and 59)
Set the Motor Technology parameter to match the motor used in your application  
(0 = ACIM, 1 = SPM).
Set the Motor Feedback Type parameter based on the Motor Technology setting:
Feedback Type = 1 (quadrature position encoder) for ACIM,
Feedback Type = 2 (Sin/Cos sensor) for SPM.
Quick Links:
Brake Type parameter  p.48
Brake (pot) wiring,  p.20–23
Monitor/Inputs  p.70
Pot2 Raw
Mapped Brake
Quick Links:
rottle parameters  p.46–47
rottle Type & 
Wiring  p.20–23
Monitor Inputs  p.70
rottle Pot 
Mapped rottle

















 7 — INITIAL SETUP
pg. 83
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
WARNING
Make sure that the Feedback Type matches the feedback device used on the motor, and that you are 
using the right type of device for your motor. If there is not a match, stop the setup procedure until 
a compatible motor and feedback device are obtained and installed.
If your application uses an ACIM motor (which must use a quadrature encoder), program the 
Encoder Steps parameter to the correct setting. is information is typically available from the motor 
manufacturer. If the ACIM Characterization Procedure is used (Chapter 8A), it can determine the 
encoder steps, but only for encoders with 32, 48, 64, or 80 pulses per revolution (ppr).  
Setting the Encoder Steps parameter improperly may cause vehicle malfunction, including 
uncommanded drive.
If your application uses an SPM motor (which must use a Sin/Cos sensor), the Sin/Cos min and max 
voltages will be learned during the SPM Characterization Procedure (Chapter 8B).
Step 9: Faults (see Chapter 11)
Cycle KSI (to clear any parameter change faults) and use the programmer to check for faults in the 
controller. All faults and errors (including those in the History le) must be cleared before continuing 
with the initial setup. Use Chapter 10 for help in troubleshooting. Contact your Curtis customer 
support engineer to resolve any fault issues before continuing with the setup procedure. 
Step 10: Setting Feedback Direction (see page 59)
ACIM:
With the vehicle drive wheels still jacked up, no faults present in the controller, the interlock O (as 
veried in the Monitor » Inputs menu), and both the throttle and brake in neutral (Mapped rottle =  
0% and Mapped Brake = 0% in the Monitor » Inputs menu), the encoder direction can be checked. 
Use the Monitor » Motor menu to view the Motor RPM display. Turn the motor by hand and observe 
the sign of Motor RPM. Positive is forward and negative is reverse. If you get a positive Motor RPM 
when you rotate the motor in the forward direction, and a negative Motor RPM when you rotate 
the motor in the reverse direction, the Swap Feedback Direction parameter is correct and should 
not be changed. If you are getting negative Motor RPM when rotating the motor forward, the Swap 
Feedback Direction parameter must be changed. Cycle KSI power and repeat the procedure until 
you are satised that the Swap Feedback Direction setting is correctly set. If the vehicle will use the 
emergency reverse feature, the reverse direction (negative Motor RPM) must be correctly selected 
so that when the Emergency reverse input is active the motor will rotate in the reverse direction. 
Contact your Curtis distributor or support engineer to resolve any issues about encoder direction 
or emergency reverse before continuing with the setup procedure.
SPM:
Step 10 is not applicable to SPM motors. Go to the next step for SPM motor in-vehicle auto-
characterization.
Step 11: Motor Characterization
If your motor is an ACIM motor, you must either:
(a) Already have soware with the motor data programmed to match your motor. e pre-set motor 
data soware is usually the result of contacting your Curtis distributor or support engineer and 
getting a match between your motor and the Curtis ACIM motor database, or by shipping a motor 
to Curtis for dyno characterization.
or (b) Use the in-vehicle ACIM Motor Characterization Procedure (Chapter 8A). is procedure 
will set the direction, may set the Encoder Steps, learn ACIM motor data, and set the FW Base Speed 
and Field Weakening Drive.
Quick Links:
Monitor/Inputs Menu  p.70
Monitor/Motor Menu  p.73








 7 — INITIAL SETUP
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 84
If your motor is an SPM motor, you must use the in-vehicle SPM Motor Characterization Procedure 
(Chapter 8B). is procedure will determine the number of motor poles, set the direction and the 
Sin/Cos sensor parameters, and learn the SPM motor data parameters.  
Aer ensuring that the controller has the motor data values that match your system, complete Steps 
12 through 14 of the initial setup.
NOTE: Do not take the vehicle down off the blocks if you will be re-running the Motor 
Characterization procedure. 
Step 12: Checking Direction of Rotation
Do not take the vehicle down off the blocks until the motor is responding properly.
Only aer the motor is responding properly is it safe to lower the vehicle and place the drive wheels 
on the ground. 
Once the encoder direction set correctly, this step tests to see whether the motor rotation is correct. 
Begin by cycling KSI o and on (to clear any parameter change faults), then use the 1313/1314 
programmer to check for faults in the controller. All faults must be cleared before continuing with the 
setup procedure. Apply the interlock input and verify that Interlock = On (as veried in the Monitor 
» Inputs menu). en, while keeping the brake in neutral*, select a direction and apply throttle. e 
motor should begin to turn. 
For an ACIM motor, observe the motor rotation and if the motor appears to be “ghting itself” 
(struggling at full current while jerkily turning at very low speed), change the setting of the Swap 
Two Phases parameter. 
For an SPM motor, observe the motor rotation and if it is turning in the wrong direction repeat the 
SPM auto-characterization procedure, where the direction is set in its step 11. 
Contact your Curtis distributor or support engineer if the proper motor direction cannot be resolved.
Step 13: Emergency reverse (see page 65)
Set up the parameters in the Emergency Reverse Menu. Note: Emergency Reverse is active only if 
you are using Speed Mode Express or Speed Mode as your motor tuning mode. 
Step 14: Interlock Braking (see page 66)
Set up the parameters in the Interlock Braking Menu.
WARNING
Quick Links:
ACIM characterization  p.85–90
SPM characterization  p.91–92
*Note: The Throttle Command is zeroed if the Brake Command is > 0 for Control Modes 0 and 1. See Figure 16, page 108.












 8A — AUTOMATED ACIM MOTOR CHARACTERIZATION PROCEDURE
pg. 85
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
8A — AUTOMATED ACIM MOTOR 
CHARACTERIZATION PROCEDURE
Motor will rotate during this procedure. Do not take the vehicle down off the blocks.
is procedure is only for applications using an ACIM motor and quadrature encoder. 
e procedure is performed in two parts. Both parts must be completed for proper controller setup. 
e rst part applies to all systems, and the second part is dierent for traction systems and hydraulic 
systems. It is assumed that Initial Setup steps 1 through 10 have been completed.
e procedure assumes the motor is approximately room temperature (20–25°C); do not characterize 
a hot motor without a temperature sensor.
If characterizing a traction system, the vehicle should have its drive wheels clearly o ground, 
and the vehicle should be safely blocked from accidental movement. e drive wheels should be 
freely spinning—any dragging brake or excessive friction may invalidate this test, or cause it to fail.
If characterizing a hydraulic system, the motor must be unbolted from the hydraulic pump and 
allowed to spin freely.  e test will not work properly if the motor is le connected to the pump. 
Note: e motor may spin to high speed in either direction.
Hint: e procedure is easier to conduct if you add the various motor Parameter (Program) and 
Monitor variables to your 1313’s Favorites folder. e 1314 programmer can also be used, although 
it does not oer the convenience of the Favorites folder. 
PART 1: TRACTION AND HYDRAULIC SYSTEMS
1.  Verify that Motor Technology = 0-ACIM and Feedback Type = 1-encoder. is conguration, 
and these settings, are required to run this procedure.
Motor » Control Algorithms » 0-ACIM
Motor » Feedback Options » Feedback Type » 1-Encoder
2.  Enter the number of motor poles in the Motor Poles parameter. e vast majority of induction 
motors will have 4 poles.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » Motor Poles
3.  Enter the desired Max Test Speed for the characterization test. Note this speed might not be 
achieved, depending on system characteristics; this is normal. A typical setting is approximately 
1/3 of the maximum motor speed in the application.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » Max Test Speed
4.  Enter the desired Max Test Current for the characterization test. A typical setting is 70% (70% 
of the maximum motor or controller rating, whichever is higher). Generally this is only reduced 
if motor heating during the test is a problem, or resonance in the motor occurs at high currents.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » Max Test Current.
5.  Using the 1313/1314, clear the Fault History (Faults » Clear Fault History).
6.  Ensure that Interlock is enabled (Monitor » Inputs » Interlock).
7.  Set Test Enable = 1.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » Test Enable
8.  If any faults are present, stop and resolve the issue before continuing.
9.  Note that no cutbacks should be in eect (thermal, voltage, etc.) when these tests are run. 
Also, the power limiting maps should not cut back current over the characterization speed 
WARNING
Quick Links:
Motor Parameters
Control Algorithms  p.55
Characterization Tests  p.55
Feedback Options  p.59
Power Limiting Map  p.43
Monitor
Inputs/Interlock  p.70










 8A — AUTOMATED ACIM MOTORCHARACTERIZATION PROCEDURE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 86
range. Check and verify that the power limiting map parameters are set to 100% over the 
characterization speed range.
Current Limits » Power Limiting Map
Motor will start to rotate after next step.
10.  Set Test Throttle = +1.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » Test Throttle
11.  Aer approximately 30 or more seconds the motor will begin to rotate. It is critical to verify the 
motor is turning in the FORWARD vehicle direction. If it is not, set Test rottle = 0, wait for 
the motor to come to a stop, then set Test rottle = –1.
Notes: (1) is step runs faster if TACT is not running. (2) If the motor starts to accelerate then 
slows down again, you may need to increase Max Test Current (IM_AutoChar_Max_Test_
Current). See step 4 above.
12.  e automated test may take several minutes. When it is complete, the controller will have a Parameter 
Change Fault. is is normal. Check whether other faults are present. If you have a Characterization 
Error fault, read the number at Monitor » Controller » Motor Characterization Error and reference the 
following table. All errors except “1” indicate the motor characterization data is invalid. For error “1,” 
the data is valid but Encoder Steps must be set manually. Contact your Curtis distributor or support 
engineer if the Motor Characterization Errors indicated cannot be resolved.
Motor Characterization Errors
0 Sequencing error. Normally caused by turning off Motor Characterization Test.
Enable before running test.
1 Encoder signal seen but step size could not be auto-detected; set up Encoder Steps 
manually. (Only encoder steps of 32, 48, 64, and 80 will be identied automatically.) 
Program » Motor » Encoder Steps (page 59).
2 Motor temperature sensor fault.
3 Motor temperature > MotorTemp_Hot (150°C is the typical default). This is active only 
when the motor temp sensor is present and enabled.
4 Controller overtemperature.
5 Controller undertemperature.
6 Battery undervoltage.
7 Battery severe overvoltage.
8 Encoder signal not seen, or one or both channels missing.
9 Motor parameter out of characterization range; check to be sure motor has no load.
13.  Cycle KSI power. e motor control should now be operational, though likely poorly optimized. 
e Slip Gain test is very important for most, but not all, motors; you won’t know which until you 
perform the test and get the result. e following steps will complete the optimization process.
PART 2A: TRACTION SYSTEMS ONLY
14.  Run the SlipGain test.
Adjust the SlipGain parameter to provide maximum torque at stall (0 rpm motor speed). Note: 
e present SlipGain value was determined by the auto-characterization procedure, and is not 
the default value.
Motor » Control Algorithms » 0-ACIM » Characterization Tests » SlipGain
To determine the SlipGain setting, use either of the following two methods, with (a) being the 
most accurate:
WARNING
Quick Links:
Power Limiting Map  p.43
Characterization Tests  p.55
Test rottle
Motor Characterization 
Error  p.75
Quick Links:
SlipGain  p.55










 8A — AUTOMATED ACIM MOTORCHARACTERIZATION PROCEDURE
pg. 87
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
(a) Congure the vehicle to measure stall torque, by using a load cell / draw bar test. Note: You will want 
to perform this test quickly to avoid excessive motor heating and provide the most accurate results.
Turn o encoder fault detection (Motor » Encoder Fault Setup » Fault Detection Enable).
While applying and holding full throttle, adjust SlipGain until you measure peak torque.
If you want to have encoder fault detection active (recommended), turn it back on.
(b) Alternately, the vehicle can be used as the “draw bar test” by accelerating the motor to a 
predetermined speed (rpm)—with the quickest time corresponding to the optimum SlipGain. 
is method uses the controller’s time-to-speed function. e test-acceleration will be at full 
controller current.
Begin by setting the corresponding Accel Rates to very fast values, based upon the application’s 
Control Mode. 
  Speed Mode Express: Accel Rate.
  Speed Mode: Full Accel LS, Full Accel HS, Low Accel.
  Torque Mode: Accel Rate.
On the 1313 programmer, add these two items to the Favorites shortcut, to easily toggle between them:
Monitor » Vehicle » Capture Speed 1
Monitor » Vehicle » Time to Speed 1
Parameters (Program) » Motor Control Tuning » 0-ACIM » Characterization Tests » SlipGain.
Next, set the Capture Speed 1 parameter to an rpm enveloping the motor’s desired maximum torque 
range. e monitor item, Time to Speed 1, will record the time taken for the vehicle (motor) to go 
from zero rpm to the programed Capture Speed 1 during its most recent acceleration.
To perform the test, from a stop, accelerate the vehicle through the predetermined speed. e 
timer starts counting when full throttle is applied, and stops counting when the speed is reached.  
A built-in trigger will allow the test to begin again once the vehicle comes to a stop and the 
throttle is re-engaged, so be sure to note the value of the test rst before accelerating-away in 
subsequent runs. Each time, adjust the SlipGain value until the Time to Speed 1 is minimized.
is test should be run repeatedly over the same stretch of at or uphill ground. Loading the vehicle 
will improve results, the idea being to have the motor produce maximum torque as in the draw-
bar method. Work quickly, to avoid excessive motor heating, to obtain the most accurate results.
15.  Run the FW Base Speed test.
Set the FW Base Speed to 6000 rpm. The test should be run with batteries that have a 
reasonable charge.
Motor » Control Algorithms » 0-ACIM » Field Weakening Control » FW Base Speed
Set the Accel Rates to be very fast, so that you’ll be accelerating at full current during the test. 
From a stop, quickly apply full throttle to accelerate to a high speed. Aer the motor settles at 
a speed for a moment, release the throttle to stop the test run. Note the value of the Base Speed 
Captured (Monitor » Controller » Motor Tuning » Base Speed Captured), and enter this value 
for the FW Base Speed setting.
Note:
–  e base speed capture test restarts each time the vehicle comes to a stop and the throttle is 
released, so be sure to note the value before driving (accelerating) away.
–  This FW Base Speed parameter not only needs to be set during initial setup, yet reset each 
time the Motor Type or the low speed current limit is changed. For example, if you lower 
Drive_Current_Limit or PL_Drive_Nominal, retest and reset this parameter.
Quick Links:
SlipGain  p.55
Fault Detection Enable  p.60
Express Mode  p.31
Accel Rate
Speed Mode  p.35
Full Accel HS
Full Accel LS
Low Accel Rate
Torque Mode  p.40
Accel Rate
Capture Speed 1  p.64
Time to Speed 1  p.77
Quick Links:
Drive_Current_Limit  p.43
PL_Drive_Nominal  p.44
FW Base Speed  p.56
Base Speed Captured  p.76
















 8A — AUTOMATED ACIM MOTORCHARACTERIZATION PROCEDURE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 88
16.  Run the Field Weakening test.
is test will enable you to decide between a more ecient (less torque) or more torque (less 
ecient) operation above the base speed, by adjusting the Field Weakening Drive parameter. 
Note: the present Field Weakening Drive value (0%) was determined by the above auto-
characterization routine, and is not the default value (100%) in the native OS intended for the Curtis 
dynamometer characterized motors when a motor type (number) is utilized. e dierences are:
Auto Characterized:  Field Weakening Drive is adjusted UP from 0% to the max Field 
Weakening Drive determined in this text.
Dyno Characterized:  Field Weakening Drive is adjusted DOWN from 100%   
(can be set from 0–100%)
Increasing this parameter toward 100% will progressively allow more torque (along with more 
current) at high motor speeds, but increasing it too much will actually reduce torque while still 
driving a great deal of current. e auto-characterization value of 0% will give the most ecient 
motor operation, but will not give the highest torque at high speeds.
If more torque is required at high speeds, run this Field Weakening Drive test.
On the 1313 programmer, add these two items to the Favorites shortcut, along with Field 
Weakening Drive parameter, so you can easily toggle between them:
Parameters (Program) » Motor » Control Algorithms » 0-ACIM » Field Weakening Control » Field Weakening Drive
Parameters (Program) » Vehicle » Capture Speed 1, 2
Monitor » Vehicle » Time Between Speeds
Set Capture Speed 1 and 2 to values that are close to the Max Speed setting. e Capture Speed 
1 and 2 values MUST be set higher than the measured FW Base Speed in step 15 (because Field 
Weakening only aects performance at speeds above the “base speed”). Ideally the Capture 
Speed 1, 2 values should be above the second corner point of the motor torque – speed curve. 
For example, if the Max Speed is set to 4000 rpm, set Capture Speed 1 = 3500 rpm and Capture 
Speed 2 = 3800 rpm:
Parameters (Program) » Speed Mode Express » Max Speed
Parameters (Program) » Speed Mode » Speed Controller » Max Speed
Parameters (Program) » Torque Mode » Speed Limiter » Max Speed
From a stop, apply full throttle to accelerate to a speed greater than Capture Speed 2. Note the 
value displayed in Monitor » Vehicle » Time Between Speeds.
Now increase the Field Weakening Drive setting and repeat the acceleration in the same 
direction, with the same load, and with the same full throttle and again note the Time Between 
Speeds value.
Keep adjusting the Field Weakening Drive value and repeating the test until you nd the Field 
Weakening Drive value that results in the smallest Time Between Speeds. is Field Weakening 
Drive value should be used for applications that require the most torque at high speeds.
Some Field Weakening Drive settings may result in a test acceleration run where Capture Speed 2 cannot 
be obtained. ese Field Weakening Drive settings cannot provide enough torque to get the vehicle past 
Capture Speed 2, and thus can be ignored.
Use the Field Weakening Drive setting that best matches the application. It will be somewhere between 
0% (most ecient, least motor heating) and the setting found in this test (highest torque at high speeds).
NOTE: e Field Weakening Drive setting will have no eect at motor speeds below FW Base Speed.
17.  Return to Chapter 6 and complete Initial Setup Steps 12 through 14.
Quick Links:
Max Speed
Express Mode  p.31
Speed Mode  p.32
Torque Mode  p.39
Capture Speed 1,2   p.64
Field Weakening Drive  p.56
 
Time Between Speeds  p.77











 8A — AUTOMATED ACIM MOTORCHARACTERIZATION PROCEDURE
pg. 89
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
PART 2B: HYDRAULIC SYSTEMS ONLY
14.  Run the SlipGain test.
Adjust the SlipGain parameter to provide maximum torque at low speeds. Note: The present 
SlipGain value was determined by the auto-characterization procedure, and is not the default value.
On the 1313 programmer, add the motor current to the items in the Favorites shortcut, to easily 
toggle between them:
Monitor » Controller » Current (RMS)
Parameters (Program) » Motor Control Tuning » 0-ACIM » Characterization Tests » SlipGain.
Set Max Speed to a fairly low speed (but high enough to be able to li a heavy load on the 
forks), typically 800 rpm. e Max Speed setting must be below the motor base speed, which is 
measured in the next step.
Put a very heavy load on the forks, preferable a max load.
Apply full throttle, and adjust the SlipGain parameter until the motor current is minimized. If 
the vehicle has a multistage mast, work in the rst stage only so that the load is consistent.
is will be the SlipGain parameter value, unless following step 15, the base speed used here 
(e.g., 800 rpm) was too high.
15.  Run the FW Base Speed test.
Note: For this test, because the hydraulic motor (disconnected from the pump) can quickly 
accelerate past the “Base Speed”, it will be necessary to pre-ux the motor current prior to 
running this test to get an accurate measure of base speed. Since the controller will be running 
current with no throttle, ensure this test’s 1313 Favorites items are loaded so the test continues 
without delay to prevent motor and controller heating. en, be sure to to re-set the controller to 
cancel the pre-ux following the test. is test is for hydraulic (pump) motor working in Speed 
Mode only. Run this test with batteries that have a reasonable charge.
Set in the 1313 Favorites
Parameters (program) » Motor » Control Algorithms » 0-ACIM » Field Weakening Control » FW Base Speed
Parameters (Program) » Motor » Control Algorithms » 0-ACIM » Field Weakening Control » Min Field Current
Monitor » Controller » Motor Tuning » Test Field Current
Monitor » Controller » Motor Tuning » Base Speed Captured
Set the Max Speed to 6000 rpm (i.e., beyond the maximum desired pump speed).  
Set the Accel rates to be very fast, so the motor will be accelerating at full current during the test.  
Use only Speed Speed Modes for hydraulic systems.
Record the value of the Test Field Current (Monitor) and enter this value for the Min Field 
Current parameter.
e controller is now running current with no throttle, so continue this test without delay 
to prevent motor and controller heating.
From a stop, quickly apply full throttle to accelerate to a high speed. Aer the motor settles 
at a speed for a moment, release the throttle to stop the test. Note the value of the Base Speed 
Captured and enter this value for the FW Base Speed parameter setting.
When this test is nished, you must re-set the parameter Min Field Current = 0 Amps to 
cancel the pre-ux current. Verify that the pre-ux current is canceled before continuing.
CAUTION
WARNING
Quick Links:
SlipGain  p.55
Max Speed
Express Mode  p.31
Speed Mode  p.32
 
Current (RMS)  p.74
Quick Links:
FW Base Speed  p.56
Express Mode  p.31
Accel Rate
Speed Mode  p.35
Full Accel HS
Full Accel LS
Low Accel Rate
Test Field Current  p.76
Min Field Current  p.57
Base Speed Captured  p.76















 8A — AUTOMATED ACIM MOTORCHARACTERIZATION PROCEDURE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 90
16.  Run the Field Weakening test.
is test will enable you to decide between a more ecient (less torque) or more torque (less 
ecient) operation at high speeds, by adjusting the hydraulic motor’s Field Weakening Drive 
parameter. While the most ecient operation will occur with eld weakening at the 0% auto-
characterization value, more torque at high speeds may be required, necessitating adjusting the 
eld weakening. Field Weakening Drive should be set just high enough to meet the high speed 
performance specications, typically maximum li speed with full load.
Note: the present Field Weakening Drive value (0%) was determined by the above auto-
characterization routine, and is not the default value (100%) in the native OS intended for 
the Curtis dynamometer characterized motors when a motor type (number) is utilized. e 
dierences are:
Auto Characterized: Field Weakening Drive is adjusted UP from 0% to the max Field Weakening Drive determined in this test.
Dyno Characterized: Field Weakening Drive is adjusted DOWN from 100% (can be set from 0–100%)
Increasing the Field Weakening Drive parameter toward 100% will progressively allow more 
torque (along with more current) at high motor speeds, but increasing it too much will actually 
reduce performance while still driving a great deal of current. 
On the 1313 programmer, add these two items to the Favorites shortcut so you can easily toggle 
between them:
Monitor » Controller » Motor Tuning » Motor RPM
Parameter (Program) » Motor » Control Algorithms » 0-ACIM » Field Weakening Control » Field Weakening Drive.
Run this test with no load on the forks. Work with only the rst stage of a multistage mast. Work 
quickly to avoid overheating the controller or motor.
Using the application’s Speed (control) Mode, set the Max Speed parameter to a high speed that 
likely cannot be achieved by the hydraulic system.
Set Field Weakening Drive = 100% (note: this test work works DOWN from 100% to nd the 
actual maximum value).
Apply full throttle, running the motor towards the maximum speed.  Record the maximum 
(achieved) Motor RPM.
Repeat the acceleration runs while continuing to lower the Field Weakening Drive value before 
on each run until you notice the achievable maximum motor speed fall o signicantly (20–30 
rpm). is number represents the maximum Field Weakening Drive value (%) to achieve the 
maximum torque/speed envelope of the hydraulic motor (do not use a higher percentage). You 
can always reduce the Field Weakening Drive percentage to reduce energy consumption and 
improve eciency (but reducing torque output) at high speeds.
NOTE: The Field Weakening Drive setting will have no effect at motor speeds below FW 
Base Speed.
17.  Return to Chapter 6 and complete Initial Setup steps 12 through 14.
Quick Links:
Motor RPM  p.76
Field Weakening Drive  p.56
Max Speed
Express Mode  p.31
Speed Mode  p.32









 8B — AUTOMATED SPM MOTOR CHARACTERIZATION PROCEDURE
pg. 91
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
8B — AUTOMATED SPM MOTOR 
CHARACTERIZATION PROCEDURE
Motor will rotate during this procedure. Do not take the vehicle down off the blocks.
is procedure is only for applications using an SPM motor and Sin/Cos sensor.
is procedure is performed in one stage and takes approximately 5–10 minutes. It can only be used 
on a sinusoidal wound SPM motor with a Sin/Cos absolute position sensor (e.g, RLS RM22, SKF 
BX-BMB-7050, etc.) set up with one sensor revolution per mechanical revolution.
It is assumed that Initial Setup steps 1 through 9 have been completed and that the motor is approximately 
room temperature (20–25°C); do not characterize a hot motor without a temperature sensor.
If characterizing a traction system, the vehicle should have its drive wheels clearly o ground, and 
the vehicle should be safely blocked from accidental move-ment. e drive wheels should be freely 
spinning—any dragging brake or excessive friction may invalidate this test, or cause it to fail.
If characterizing a hydraulic system, the motor must be unbolted from the hydraulic pump and 
allowed to spin freely. e test will not work properly if the motor is le connected to the pump. 
Note: e motor will spin to Max Test Speed in both directions.
1.  Verify that Motor Technology = 1-SPM and Feedback Type = 2-Sin/Cos sensor. 
is conguration, and these settings, are required to run this procedure.
Motor » Control Algorithms » 1-SPM
Motor » Feedback Options » Feedback Type » 2-Sin/Cos
2.  Enter the maximum speed the motor is intended to turn as the Max Test Speed for the 
characterization test. Note this speed might not be achieved, depending on system characteristics; 
this is normal. A typical setting is 5000 rpm, but clearly the Max Test Speed should not be set to 
a higher speed than safe for the mechanical conguration.
Motor » Control Algorithms » 1-SPM » Characterization Tests » Max Test Speed
3.  Enter the desired Max Test Current for the characterization test.  A typical setting is 20% 
(note this is 20% of the maximum controller rating). Generally this is only reduced if motor 
heating during the test is a problem. Generally this is only increased if the motor fails to 
rotate during commissioning.
Motor » Control Algorithms » 1-SPM » Characterization Tests » Max Test Current
4.  Using the 1313/1314, clear Fault History (Faults » Clear Fault History).
5.  Enable the SPM (PMAC) Auto Characterization by setting Test Enable = 1.
Motor » Control Algorithms » 1-SPM » Characterization Tests » Test Enable 
6.  Turn on (enable) Interlock (Monitor » Inputs » Interlock).
7.  If any faults are present, stop and resolve the issue before continuing.
8.  Set Test rottle = +1.
Motor » Control Algorithms » 1-SPM » Characterization Tests » Test Throttle
WARNING
Quick Links:
Motor Technology  p.55
Feedback Type  p.59
Sin/Cos  p.60
Characterization Tests  p.59
Test Enable
Test rottle
Max Test Speed
Max Test Current
 
Interlock (monitor)  p.70










 8B — AUTOMATED SPM MOTORCHARACTERIZATION PROCEDURE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 92
Motor will start to rotate in step 9 and faster in step 10. 
9.  e controller will start to inject test pulses. Aer a few minutes (when pulsing stops), the motor 
will begin to rotate very slowly. It is critical to verify the motor is turning in the FORWARD 
vehicle direction. If it is not, set Test rottle = 0, wait for the motor to come to a stop, then set 
Test rottle = –1. e motor will start again in the same direction. e controller will properly 
set the direction at the end of characterization process. (Note: is is a dierent operation than 
that in the ACIM characterization procedure, which does turn the motor in the other direction 
when Test rottle is set negative.)
10.  Aer about a minute, the motor will spin up to a moderate speed, then to high speed (limited 
by Max Test Speed) in each direction.
11.  When the automated test is complete, the controller will have a Parameter Change Fault. is 
is normal. Check whether other faults are present. If you have a Characterization Error fault, 
read the number at Monitor » Controller » Motor Characterization Error and reference the 
following table. An error during the SPM test indicates the motor characterization data is invalid; 
contact your Curtis distributor or support engineer for assistance if the indicated error cannot 
be resolved.
Motor Characterization Errors
0 Sequencing error. Normally caused by turning off Motor Characterization Test.
Enable before running test.
2 Motor temperature sensor fault.
3 Motor overtemperature >150°C (active only when temp sensor is present).
4 Controller overtemperature.
5 Controller undertemperature.
6 Battery undervoltage.
7 Battery severe overvoltage.
9 Motor parameter out of characterization range; check to be sure motor has no load.
20 Sin/Cos sensor not found.
21 Phasing not detected (check to be sure the motor has no load).
22 Sin/Cos sensor characterization failure.
23 Started motor characterization while motor rotating.
12.  Cycle KSI power.
13.  Return to Chapter 6 and complete Initial Setup Steps 12 through 14.
WARNING
Quick Links:
Motor Characterization 
Errors  p.75






 9 — TUNING GUIDE
pg. 93
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
9 — TUNING GUIDE
Many aspects of vehicle performance can be optimized, using the wide variety of adjustable 
parameters available to these E and SE controllers. Once a vehicle/motor/controller combination 
has been tuned, the parameter values can be made standard for the system or vehicle model. Any 
changes in the motor, the vehicle drive system, or the controller will require that the system be tuned 
again to provide optimum performance.
Selecting the Control Mode (see page 31)
Before starting to tune your vehicle’s performance, you must select which control mode you use. Set 
the Control Mode Select parameter = 0 (Speed Mode Express for either traction or pump motors), 
= 1 (Speed Mode, for either traction or pump motors) or = 2 (Torque Mode, for traction motors). 
Cycle KSI input O and then On (to clear any parameter change faults) and use the 1313 handheld 
or 1314 PC programmer to check for faults in the controller. en proceed to the tuning steps for 
the control mode you have selected.
Conduct the steps in the sequence given, because successive steps build upon the ones before. It 
is important that the eect of these programmable parameters be understood in order to take full 
advantage of the controller’s powerful features. Please refer to the descriptions of the applicable 
parameters in Chapter 4 if there is any question about what any of them do.
0 − Speed Mode Express Tuning (see page 31)
Speed Mode Express is the same as Speed Mode with the exception that it has fewer parameters and is 
therefore simpler to use. Most vehicle applications will nd success with Speed Mode Express; however, 
for some applications vehicle performance cannot be satisfactorily ne-tuned in Speed Mode Express. 
In this case, change your control mode to Speed Mode (i.e., set Control Mode Select =1). 
a.  For traction applications, set Pump Enable to O. For AC pump applications, set this parameter On.
b.  Adjust Max Speed to the maximum speed the motor should turn in the vehicle application; this 
speed setting corresponds to an input of full throttle.
c.  Adjust Typical Max Speed to the approximate maximum speed that the motor will spin. is is 
usually the same value as the setting for Max Speed, but some applications have a Max_Speed_
SpdMx that changes (in the VCL soware). If the Max_Speed_SpdMx changes, set Typical Max 
Speed to the highest speed the motor is expected to reach. is value does not need to be set 
precisely since it will not change motor performance. Typical Max Speed sets a reference point for 
the “rate” parameters (accel, decel, brake rates), so that applications that have a changing Max_
Speed_SpdMx will not experience changes in the rates (because the rates are referenced to the 
unchanging Typical Max Speed value). Once you set the Typical Max Speed parameter you should 
not readjust it without adjusting all the rate parameters as well.
d.  Kp and Ki typically do not need to be changed as the default values will work well in most applications. 
If you want to adjust Kp (for looser or tighter following of the speed trajectory set by the accel, decel, and 
brake rates), follow the procedure in step “d” in the Speed Mode tuning section.
e.  Adjust the Accel Rate and Decel Rate as necessary while moving the throttle to dierent positions 
(i.e., neutral to full throttle, half throttle to full throttle, full throttle to half throttle, full throttle 
to neutral, neutral to low throttle, etc.). For AC pump applications, typically the Accel Rate and 
Decel Rate are set very fast for quick response to hydraulic inputs.
Quick Links:
Control Mode select  p.31 
Speed Mode Express menu  p.31
Max Speed
Kp
Ki
Accel Rate
Decel Rate
Brake Rate
Typical Max Speed  p.54










 9 — TUNING GUIDE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 94
f.  Adjust the Brake Rate as necessary while reversing the throttle input (i.e., full throttle forward 
to low throttle reverse, full throttle forward to full throttle reverse, full throttle reverse to low 
throttle forward, etc.). If a brake input is present in the application (Brake Pedal Enable = On) 
continue adjusting  Brake Rate by applying dierent amounts of brake throttle (i.e., full throttle 
forward, then apply full brake or full throttle forward, then apply low brake, etc.). For AC pump 
applications the Brake Rate has no eect on performance since the AC pump will not run in 
reverse nor with a brake input.
AC pump motor applications, which in step “a” had the Pump Enable parameter set to On, may 
also be controlling hydraulic valves (load hold valve, proportional valve). e Proportional Driver 
parameters (page 53) and some VCL will typically be used to set up the control of these valve 
driver outputs. Consult with your Curtis distributor or support engineer regarding hydraulic 
valve control.
1 − Speed Mode Tuning (see pages 32–39)
a.  For traction applications, set Pump Enable to O. For AC pump applications set this parameter On.
b.  Adjust Max Speed to the maximum speed the motor should turn in the vehicle application; this 
speed setting corresponds to an input of full throttle.
c.  Adjust the Typical Max Speed to the approximate maximum speed that the motor will spin. is 
is usually the same value as the setting for Max Speed, but some applications have a Max_Speed_
SpdM that changes (in the VCL soware). If the Max_Speed_SpdM changes, set the Typical Max 
Speed to the highest speed the motor is expected to reach. is value does not need to be set 
precisely since it will not change motor performance. Typical Max Speed sets a reference point 
for the “rate” parameters (accel, decel, brake rates), so that applications that have a changing 
Max_Speed_SpdM will not experience changes in the rates (because the rates are referenced to 
the unchanging Typical Max Speed value). Once you set the Typical Max Speed parameter you 
should not readjust it without adjusting all the rate parameters as well.
d.  Kp and Ki (LS & HS) typically do not need to be changed as the default values work well in 
most applications. ese parameters control how tightly the actual motor speed will track the 
requested speed trajectory (speed trajectory is set by the Accel, Decel, and Brake rates).
If you want to adjust the Kp (for looser or tighter following of the speed trajectory), follow these guidelines.
•  Set the following parameters. Before setting them, make a note of their present (default) 
settings so you can return them to these original values at the end of this procedure.
 – In the Speed Mode » Speed Controller menu, set the Max Speed to low value 
(≈1000 rpm), as high speed operation is not needed to observe system response.
 – In the Speed Mode » Response menu, set all the Accel and Decel rates to their 
fastest values (0.1 seconds); this allows better observation of the system response.
 – In the Speed Mode » Restraint menu, set the So Stop Speed parameter = 0 rpm  
to disable the so stop speed function.
 – In Speed Mode » Restraint » Position Hold Menu, set Position Hold Enable = O  
such that the position hold function will not interfere with the speed control gain  
setup procedure.
 – If your vehicle has an EM Brake, in the EM Brake menu, set the EM Brake Type = 1.  
is setting will release the EM Brake as soon as interlock is asserted.
WARNING
Quick Links:
Control Mode select  p.31
Speed Mode menu  p.32
Speed Controller menu  p.32 
Max Speed
Kp
Ki  (LS/HS)
Response menu  p.35
Accel Rate
Decel Rate
Brake Rate
Restraint menu  p.37
So Stop Speed
Position Hold 
menu  p.38
EM Brake Control menu  p.49
Typical Max Speed  p.54
















 9 — TUNING GUIDE
pg. 95
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
•  Cycle KSI to clear any faults. en, assert (close) the Interlock.
•  Using very quick, pulsing throttle movements, increase the throttle and then 
release it to 0%. e intent is to give the speed controller torque impulses.
•  Increase Kp and repeat the throttle tests. Increase Kp until you start to notice 
marginal stability (normally motor bouncing, or continuous oscillation 
in the gears, is heard). Note: It is possible that very heavy vehicles will not 
experience marginal stability even at the highest setting of Kp.
•  Once the Kp setting for marginal stability is found, reduce the Kp value 
by about one third (i.e., nal Kp = marginal stability Kp * 2/3).
•  If you will be using Speed Mode Express, enter this Kp value for 
the Kp parameter in the Speed Mode Express menu.
•  Set the Max Speed, Accel/Decel, So Stop Speed, Position Hold, 
and Brake Type parameters back to their original values.
e.  In the Speed Mode » Response menu, adjust the ve Accel and Decel Rate 
parameters as necessary while moving the throttle to dierent positions (i.e., 
neutral to full throttle, half throttle to full throttle, full throttle to half throttle, full 
throttle to neutral, neutral to low throttle, etc.). For AC pump applications, these 
parameters are typically set very fast for quick response to hydraulic inputs. 
f.  In the Speed Mode » Response menu, adjust the remaining three brake rate parameters as 
necessary while reversing the throttle input (i.e., full throttle forward to low throttle reverse, 
full throttle forward to full throttle reverse, full throttle reverse to low throttle forward, etc.). 
If a brake input is present in the application (Brake Pedal Enable = On) continue adjusting  
these three brake rates by applying dierent amounts of brake throttle (i.e., full throttle  
forward, then apply full brake or full throttle forward, then apply low brake, etc.). 
For AC pump applications these parameters have no eect on performance 
since the AC pump will not run in reverse nor with a brake input.
g.  e parameters in the Speed Mode » Response » Fine Tuning menu typically do 
not need to be changed as the default values work well in most applications.
AC pump motor applications, which in step “a” had the Pump Enable parameter set to On, may 
also be controlling hydraulic valves (load hold valve, proportional valve). e Proportional Driver 
parameters (page 53) and some VCL will typically be used to set up the control of these valve 
driver outputs. Consult with your Curtis distributor or support engineer regarding hydraulic 
valve control.
WARNING
Quick Links:
Speed Mode menu  p.32
Speed Controller menu  p.32 
Max Speed
Kp
Ki  (LS/HS)
Response menu  p.35
Accel Rate
Decel Rate
Brake Rate
Restraint menu  p.37
So Stop Speed
Position Hold 
menu  p.38











 9 — TUNING GUIDE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 96
2 − Torque Mode Tuning (see pages 39–42)
a.  Set Max Speed to the maximum speed you want to limit the motor to.
b.  Kp, Ki, and Kd typically do not need to be changed as the default values will 
work well in most applications. ese parameters control how tightly the 
controller limits the speed of the motor to the programmed Max Speed.
c.  Set Typical Max Speed to the expected maximum speed of the motor.
d.  Adjust the parameters shown in Figure 9 to set up the throttle mapping:
•  Drive Current Limit (Current Limits menu)
•  Regen Current Limit (Current Limits menu)
•  Forward/Back Full Restraint Speed (Torque Mode » Response menu)
•  Brake Taper Speed (Torque Mode » Response » Fine Tuning menu)
•  Neutral Braking (Torque Mode » Response menu)
•  Neutral Taper Speed (Torque Mode » Response menu)
•  Creep Torque (Torque Mode » Response » Fine Tuning menu).
e.  In the Torque Mode » Response menu, adjust the four accel, decel, and 
release rate parameters as necessary while moving the throttle to dierent 
positions (i.e., neutral to full throttle, half throttle to full throttle, full throttle 
to half throttle, full throttle to neutral, neutral to low throttle, etc.).
f.  e other parameters in the Torque Mode » Response » Fine Tuning menu typically may need 
to be changed for some applications. Read the parameter descriptions and adjust as necessary.
Quick Links:
Torque Mode/Speed 
Limiter  p.39
Kp
Ki
Kd
Response menu  p.40
Fine Tuning  p.41
Figure 9  p.42
Current Limits menu  p.43
Typical Max Speed  p.54













 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 97
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E and 1232SE/34SE/36SE/38SE controllers have a built-in programmable 
logic controller with application-specific functions. VCL (Vehicle Control Language) software 
provides a way to implement unique and complex vehicle control functions.
VCL is a simple programming language that will feel very familiar to anyone who has worked with 
BASIC, Pascal, or C. Working with VCL requires the installation of the WinVCL program onto a PC. 
WinVCL will compile VCL programs and ash download the soware into the controller through 
the computer’s serial port. e install process for WinVCL will also install three important manuals 
on your PC: the WinVCL User’s Guide, VCL Programmer’s Guide, and VCL Common Functions 
Manual. ese manuals, which are in PDF format, include more detailed information about VCL 
than is included here. 
is chapter of the manual summarizes VCL and also describes aspects and functions of VCL that 
are specic to these E and SE controllers. For a more complete understanding of the functions and 
capabilities of VCL, see the WinVCL User’s Guide, VCL Programmer’s Guide, and VCL Common 
Functions Manual.
Summary of VCL Basics
•  VCL is not case-sensitive: 
  put_pwm(), Put_PWM(), and PUT_PWM() are identical.
•  Spaces in variable names are not allowed in VCL; use underscores in place of spaces. 
  Example: Forward_Oset is the VCL name for the 1313/1314 parameter 
  Forward Oset.
•  Functions are followed by parentheses; for example: 
  Reset_Controller() is a function 
  Reset_Voltage is a variable.
•  Logical statements must be inside parentheses; examples: 
  IF (setpoint >50) 
  ELSE IF ((setpoint <20) & (temperature >100)).
•  Comments are preceded by semicolons.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 98
e VCL functions described in the VCL Common Functions Manual are available to all 1232E/
SE, 1234E/SE, 1236E/SE, and 1238E/SE controllers. ese controllers have these additional specic 
functions, listed below. All VCL functions, common and specic, are also available in the controller’s 
os31 SysInfo le.
ENABLE_PRECHARGE() p. 117
DISABLE_PRECHARGE() p. 118
SET_DIGOUT() p. 119
CLEAR_DIGOUT() p. 119
ENABLE_EMER_REV() p. 120
DISABLE_EMER_REV() p. 120
SET_INTERLOCK() p. 121
CLEAR_INTERLOCK() p. 121
SETUP_POT() p. 122
GET_POT() p. 122
SETUP_POT_FAULTS() p. 123
START_PUMP() p. 124
STOP_PUMP() p. 124
AUTOMATE_FREQUENCY_OUTPUT() p. 125
OVERRIDE_EM_BRAKE_PWM() p. 126
RESTORE_EM_BRAKE_PWM() p. 126
MAP_TWO_POINTS() p. 127
BATTERY_COMPENSATE() p. 128
VARIABLE TYPES
VCL provides dedicated space in which to store custom variables. ere are four types of variables, 
based on their type of storage: volatile storage (RAM) and three types of non-volatile storage 
(EEPROM) are available.
RAM variables are stored only while power is on; they are lost at power-down. They must be 
initialized on power-up by explicit VCL assignments (i.e., User1 = 12).
NVUser1–15 EEPROM variables are 15 variables automatically saved at power-down and restored 
at power-on. During power-down or a power-failure (brownout), these variables are saved to NVM1.  
During operation, these variables are also periodically saved (every 6 minutes) to NVM2, thus two 
locations are used to preserve the data. At power-up, the data in NVM1 is read rst, yet if it is 
corrupted, the data from NVM2 is restored. See the section on non-volatile memory access in the 
VCL Common Functions manual for more information, including caution to changing the NVM2 
save rate, and rational of the save/restore strategy.
Block EEPROM are 38 blocks of 15 variables (total of 570 variables), which are stored and recalled 
using the functions NVM_Block_Read and NVM_Block_ Write. e 38 blocks are called NVM3–
NVM40.  e read and write functions must point to the RAM variables that the EEPROM blocks 
should be written from or read to. For example, NVM_Block_Read(NVM10,0,15,User20) will 
read the 15 variables stored in EEPROM block NVM10 and restore those variables to the 15 
variables starting with RAM variable User20 (so the 15 EEPROM variables would be restored 
to User20–34). See the section on non-volatile memory access in the VCL Common Functions 
manual for more information.























 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 99
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Parameters EEPROM variables are a special type of EEPROM variable that is intended to be used 
to create OEM dened 1313/1314 programmer parameters. ese parameters can be dened as 16- 
bit by using the P_User variables or they can be dened as bit (On/O ) by using the P_User_Bit 
variables. ese variables are typically written to EEPROM through the 1313 handheld or 1314 PC 
programmer interface (i.e., when a user changes a parameter setting using the 1313). ey can be 
used in the VCL code, but changing a P_User (or P_User_Bit) value with VCL will only change the 
variable value in RAM and will not change the value in EEPROM. us, these variables are intended 
for creating and dening 1313/1314 programmable parameters only.
VCL can modify the control mode parameters in RAM by using the VCL variable name for the 
programmable parameter. For example,
Brake_Rate_SpdMx = 3000 ;Change Brake Rate to 3.0sec 
will change the RAM value of the Speed Mode Express’s Brake Rate; the new value will be used 
in determining the braking rate. However, the value of the parameter’s stored EE value remains 
unchanged; when the controller is turned off, the RAM value will be lost. The next time the 
controller is powered back on, the “old” value of Brake Rate will be restored from EE memory. To 
save this RAM value in VCL, you must use the NVM_Write_Parameter function ((i.e., NVM_Write_
Parameter(Brake_Rate_SpdMx)). 
Parameter values that are changed by using the 1313 handheld or 1314 PC programmer are saved 
directly to EE memory. e 1313/1314 changes will be retained and restored the next time the 
controller is powered back on.
e table below summaries the available VCL variables.
Type Quantity Range
RAM 420 variables
User1 – User120
AutoUser1 – AutoUser300
NVUser EEPROM 15 variables NVUser1 – NVUser15
Block EEPROM 38 blocks (15 variable each) NVM3 – NVM40
Parameters EEPROM
150 variables and  P_User1 – P_User150
10 variables of 8 bits each (80 bits) P_User_Bit1 – P_User_Bit10





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 100
VCL RUNTIME RATES
VCL is an interpreted language. Each line of VCL code is converted (compiled) into a set of codes 
and then ash loaded into the controller. e controller interprets these codes one line at a time while 
the system is powered up. Here are the processing rates of the various functions:
Item Function/Item Description Quantity Service Rate
ABS Absolute Value 2 4 ms
ADC Analog to Digital Converter Input (Analog1 and Analog2) 2 1 ms
CAN CAN Communications 24 4 ms
CPY
Copy 8 4 ms
DLY
Delay 32 1 ms
FLT
Filter 4 1 ms
LIM
Limit 4 4 ms
MAP
Map 8 4 ms
MTD
Multiply then Divide 4 4 ms
NVM
Non-Volatile Memory block (NVM3-40) 38 2 ms
PID
Proportional Integral Derivative 2 4 ms
POT
Potentiometer Input 2 8 ms
PWM
Pulse Width Modulated output 6 4 ms
RMP
Ramp 4 1 ms
SCL
Scaling 8 4 ms
SEL
Selector, 2-position switch 8 4 ms
SEL_4P
Selector, 4-position switch 8 32 ms
SW
Switch Input 1* 4 ms
TMR
Timers (hourmeters) 3 1 ms
* There is only one Switch variable; it has 16 associated bit-variables.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 101
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
I/O CONTROL WITH VCL
Digital Inputs
e controllers each have 16 digital inputs. Nine are switch inputs (Sw_1 through Sw_8, and Sw_16. 
ese switch inputs are shown on the standard wiring diagram (Figure 3, page 12). e remaining 
seven digital inputs are less obvious: one on each driver and digital output (Sw_9 through Sw_15). 
These can be used as digital inputs or to sense the state of the output or its wiring (e.g., open  
coil check).
To address a digital input in a VCL program, use the desired input label (Sw_1 through Sw_16). You 
must use On or O in the code when determining a switch state; using true/false or 1/0 will give 
erroneous results.
if (Sw_1 = ON)
{
;put code here to run when switch 1 is On
}
if (Sw_16 = OFF)
{
;put code here to run when switch 16 is Off
}
All switch inputs are automatically debounced by the VCL operating system. is prevents noisy 
contacts or contact bounce from causing erroneous events in your VCL code. e debounce time 
can be varied from 0 to 32 ms in 4 ms steps, using this function:
Setup_Switches(5); 20 milliseconds
If this line is not in the VCL code, the debounce time is set at 16 ms.
Driver and Digital Outputs
There are five driver outputs (PWM1 through PWM5) and two digital outputs (DigOut6 and 
DigOut7). ese outputs have variations in current and frequency range. For their specications, 
see “digital and PWM outputs” on page 15. 
Driver outputs have high current FET output stages and can be pulse width modulated (PWM) 
to vary the average output to inductive loads such as contactors and relays. is is useful when the 
battery voltage needs to be brought down for lower voltage coils. e two digital outputs are 1 A 
drivers that are only On or O.
Drivers use a special VCL function to set their PWM level. is PWM level can be set up in a signal 
chain to update automatically or can be set directly in the main loop. PWM can be set from 0–100% 
using the digital range of 0 to 32767.
Put_PWM(PWM2,16384)
will output a 50% waveform on Driver 2.
Automate_PWM(PWM2,@user1)
will continually update the Driver 2 output with the present value of variable User1. is automate 
statement needs only to be run once, usually in the initialization section of the VCL program. VCL 
can monitor the present value of a PWM driver: the variable PWMx_Output (where “x” is the PWM 
channel number) is automatically lled with the present value of the driver output. 







 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 102
e proportional driver (Driver 5 , Pin 2) is dierent from Drivers 1–4. It can be controlled in two 
ways: with the proportional driver processing function (see Figure 17) or with the VCL Put_PWM() 
function. e VCL statement Put_PWM(PWM5, 16383) will result in a 50% PWM output on pin 2 
only if the parameter PD Enable is set to O. For more information about the proportional driver, 
see the section entitled “INTERFACING THE PROPORTIONAL CURRENT DRIVER” on page 109.
Control of the two digital outputs (Digital Outputs 6 and 7) is done using the VCL functions Set_
Digout() and Clear_Digout().
Set_DigOut(DigOut6)
will set Digital Output 6 On (active). VCL can monitor the present value of a digital output driver: 
the bit variable Digx_Output (where “x” is the digital output channel number) is automatically lled 
with the present value of the driver output (On or O ). 
It is important to note that all outputs are active Low. With 100% PWM or an output of “On,” the 
FET or transistor will be pulling hard to ground. A DVM on the output will measure near 0 volts. 
Potentiometer Inputs
ese controllers have two potentiometer inputs, which are typically used for throttle and brake. 
Many features (mapping, acceleration rates, etc.) are built in as 1313/1314 programmer parameters. 
Still, there are times that these potentiometer inputs may be needed for other functions such as 
steering angle or height sensing, or simply as data inputs. e standard way to input pot information 
is to set the parameter rottle Type (or Brake Type) to an appropriate value of 1–4 as described in 
the rottle Type pages, and the rottle and Brake parameter menus. When set to a value of 1–4, 
the resulting signal chain can operate without the use of any VCL. 
However, if an OEM wishes to control the throttle (or brake) signal chain in VCL or use the throttle 
(or brake) inputs for signals that are not throttle (or brake) signals, then the parameter rottle Type 
(or Brake Type) should be set to a value of 5. Setting the parameter rottle Type (or Brake Type) to 
a value of 5 changes the routing of the appropriate signal chain (either throttle or brake) and allows 
the VCL programmer access to the rottle Pot (or Brake Pot) output variables; see Figure 15.
Using the Setup_Pot() function, executed at the beginning of a VCL program, will define the 
potentiometer input connection(s) as THREE_WIRE (uses Pot High and Pot Low connections), 
TWO_ WIRE (variable resistor, or rheostat, uses Pot Low but no connection to Pot High), or ONE_
WIRE (a voltage input, no connection to either Pot High or Pot Low).
THREE_WIRE potentiometer connections are the same as the 3-wire potentiometer connections 
shown in Figure 5 for rottle Type 2. 
TWO_WIRE potentiometer connections are the same as the 2-wire potentiometer connections 
shown in Figure 4 for rottle Type 1. 
ONE_WIRE potentiometer connections are the same as the Voltage Source or Current Source 
connections shown in Figure 5 for rottle Type 2.
Note that the Setup_Pot() function will only work (and is only needed) if the corresponding Type is 
set to 5 (rottle Type = 5 or Brake Type = 5). 
Setup_Pot(THROTTLE_POT,THREE_WIRE)
will set up the throttle pot input for wiring using all three connections (pins 15, 16, 18).
To set up the brake pot input for use in VCL, use the Brake_Pot constant in place of the ottle_Pot 
constant in the Setup_Pot function.
Setup_Pot(BRAKE_POT,TWO_WIRE)
will set up the brake pot input for wiring using two connections (pins 17, 18).
Quick Links:
rottle Type 
Selection  p.20–23
ree-Wire  p.21
Two-Wire  p.20,23
One-Wire  p.21
Figure 15  p.105
Figure 17  p.109
rottle menu  p.46
Brake menu  p.48
Setup_Pot ( )  p.122

















 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 103
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
e 0–100% position of the potentiometer is represented by a value from 0–32767 in VCL, and is 
set up through the VCL Setup_Pot() function. It is important to use the correct setup (ONE_WIRE, 
TWO_WIRE, or THREE_WIRE) since the input is automatically re-scaled for 0–100% based on the 
wiring used; for example, the voltage at the Pot Low pin is automatically subtracted and re-scaled 
on a THREE_WIRE pot.
Another eect of setting the rottle Type = 5 is that the signal chain for the throttle now gets its 
input from a dierent source. e input to the throttle chain is now a VCL variable called VCL_
rottle instead of the throttle pot. Similarly, Brake Type = 5 means the brake signal chain will get 
its input from a VCL variable called VCL_Brake rather than from the brake pot. e VCL_rottle 
and VCL_Brake variables will need to be controlled in the VCL program. 
One of the unique features of the potentiometer inputs (as opposed to the analog inputs) is that 
they have automatic pot fault detection functions running in the motor controller OS. e VCL 
programmer has access to the pot detection functions with the Setup_Pot_Faults() function. With 
this function, VCL can re-set the high and low thresholds at which a fault occurs. is function 
also forces the pot value to a denable level if a fault occurs. Note that the Setup_Pot_Faults() 
function will work for all throttle Types (1–5). See page 123 for more detail on this function, and 
Interfacing the rottle and Brake Commands (below) for further information on both the 
rottle and Brake processing..
Analog Inputs
ese controllers have two generic analog inputs (pins 24 and 8). ese are shared as switch inputs 
1 and 2 (Sw_1, Sw_2). e values of the analog inputs are automatically placed in VCL variables 
Analog1_Input and Analog2_Input every 1 millisecond. Scaling is 0–10V = 0–1023.
User2 = Analog2_Input
will ll the User2 RAM variable with the value of the voltage at pin 8.
The filtered values of the analog inputs are also available and are automatically placed in VCL 
variables Analog1_Filtered and Analog2_Filtered. Scaling is 0–10V = 0–1023. e default lter value 
is 328 (10 Hz) and can be changed in VCL by changing the Analog1_Filter and Analog2_Filter values. 
Scaling is 0–999 Hz = 0–32767.
Analog Output
e 1234E/36E/38E and 1234SE/36SE/38SE controllers have one analog output (pin30); the 1232E/
SE has no analog output. is output is a special driver output. e switching stage is ltered to 
provide a smooth average voltage, instead of the actual PWM waveform seen on Drivers 1–5. 
However, AnalogOut uses the same VCL functions Put_PWM() and Automate_PWM() used by 
these other drivers. e scaling is 0–10 V = 0–32767.
Put_PWM(PWM6,6553)
will generate 2.0 volts at the analog output. VCL can monitor this output using the variable Analog_
Output.
INTERFACING THE THROTTLE AND BRAKE COMMANDS
VCL can interface and modify the throttle and brake signals at several points, from the potentiometer 
to the nal motor controller command. VCL can be used to create a completely unique command, 
adjust parameters to provide MultiMode, or modify the throttle command based on steering angle, 
height, etc. 






 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 104
e throttle and brake signal chains within the controller are sophisticated and exible. Before applying 
VCL to modify these chains, it is important to fully understand the ramications of implementing 
changes. e motor and brake command signal chains are illustrated in Figure 15 and discussed below. 
rottle Processing
e top section of Figure 15 shows the throttle processing. e throttle signal chain ows le to right 
starting with the throttle pot (wiper). e voltage on the throttle wiper input (pin 16) is processed by 
the controller and has the VCL variable name rottle_Pot_Raw. is variable is displayed as rottle 
Pot (voltage) in the Monitor » Inputs menu of the 1313/1314 programmer. is throttle signal is then 
modied by the rottle Type Processing and rottle Mapping blocks. 
The Throttle Type Processing block combines the Throttle_Type parameter and the throttle 
potentiometer input (rottle_Pot_Raw) to create a 16-bit variable containing the magnitude of the raw 
command. is raw command passes to the rottle Mapping block, which re-shapes the throttle signal 
magnitude and direction based on the various rottle Menu parameters and the direction inputs.
Following the rottle Mapping block are two switches whose purpose is to give the throttle signal a 
small value (1 for the forward switch, and –1 for the reverse switch) to indicate that a direction switch 
is On—but only if the throttle signal output from the rottle Mapping block = 0.
e signal then passes through a selector switch. If the rottle_Type parameter is set to 5 the 
rottle Mapping block output signal is ignored and the command comes from the VCL variable 
VCL_rottle. e VCL program manipulates the VCL_rottle variable to get a throttle command. 
When the rottle Type is set to 1–4, the variable VCL_rottle does nothing, and the rottle 
Mapping block output signal passes through.
Aer the “rottle Type = 5” switch, the throttle signal is modied by the multiplying and summing 
nodes. ese nodes can be adjusted by VCL through the variables rottle_Multiplier and rottle_
Oset. is is the basic input point for creating functions like MultiMode, dual drive algorithms, and 
height vs. speed control. Note that the throttle multiplier has a built-in “divide by 128.” is allows 
the VCL to either multiply (rottle_Multiplier > 128) or divide (rottle_Multiplier <128) the 
nominal throttle value. Typically the default multiplier is set to 128, thus having no net eect. Both 
rottle_Multiplier and rottle_Oset can be positive or negative.
e throttle signal next passes through a limiter that is active only if a pump motor is being operated (Pump 
Enable = On, and optionally if Regen Lower Enable = On, the pump motor can operate in reverse). is 
limiter acts to constrain the pump’s throttle signal to 100% (positive for forward motion, or negative when 
Regen_Lower_Enable is On), which is appropriate for controlling a hydraulic pump motor in speed mode. 
e output of the multiplying, summing and (pump) limiter nodes is the VCL variable called Mapped_
rottle, which is displayed as Mapped rottle (percent) in the Monitor » Inputs menu of the 1313 
handheld or 1314 PC programmers. A VCL program can control this throttle signal by changing the three 
variables VCL_rottle (only if rottle Type = 5), rottle_Multiplier, and rottle_Oset. e eect 
of these variables can be observed as in the 1313/1314’s Mapped rottle or the VCL Mapped_rottle 
variables. Checking the value of Mapped rottle (Mapped_rottle) is a good way to see if your rottle 
Menu parameters are set correctly.
Prior to passing to the nal selector switch, the throttle signal passes through a selector which 
validates for forward pump operation in speed modes. It will set the pump throttle signal = 0% when, 
in either speed mode, Pump Enable = On and the Mapped_rottle is < 0 (negative). is will prevent 
a pump operating in reverse when Regen Lower Enable = O, or if the controller is in Torque Mode.
e throttle signal continues to a selector switch that will set the throttle signal = 0% if any of the 
following conditions are present: Interlock_State = O, a fault has set throttle request = 0% (Fault 
action = Shutdownrottle), or if Main_State ≠ 5 or 10, or an invalid throttle.  An invalid throttle is 
when both the Forward and Reverse switches are On, for example.
Quick Links:
Figure 15  p.105
rottle_Type parameter  p.46
rottle menu  p.46
Pump parameter menu
Speed Mode = 0  p.31
Speed Mode = 1  p.32–39
Monitor Inputs  p.70
Monitor menu
Inputs » Interlock State  p.70
Controller » Main State  p.74
Troubleshooting 
Chart  p.132–139
















 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 105
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
X
+
+
Motor
Control
Throttle Type
Reverse Switch
Forward Switch
Throttle Type
Processing
Forward Offset
Throttle Mapping
VCL_Throttle
Throttle_Multiplier
Throttle_Offset
OS Throttle
Throttle
Type = 5
or
VCL_
Throttle_
Enable = On
Throttle
Pot Raw
Forward Max
Forward Map
Forward Deadband
Reverse Deadband
Reverse Max
Reverse Map
Reverse Offset
Thr
ottle Command

Control Mode Processing
Pot2 Raw
+100%
+100%
-100%
Throttle Type <4
and
Forward = Off
and
Reverse = On
and
TMap = 0
Throttle Type <4
and
Forward = On
and
Reverse = Off
and
TMap = 0
to Proportional Driver
[see Fig. 17, page 109]
U Phase
W Phase
V Phase
Controller
Torque
Command
Control
Mode
Select = 0 or 1
and
AC_Pump_ Enable_
SpdM = On
and
Mapped_
Throttle <0
Bold = Parameters
Italics = Other R/W Variables
BoldItalics = Monitor Variables
Throttle_Command
Throttle
TMap
+1
-1
128
  1
Brake_Command
Brake

 Type
Brake Type
Processing
Brake
OS Brake
Brake Command

Brake Mapping
VCL_Brake
Brake Type = 5
or
VCL_Brake_
Enable = On
+100%
0%
FullBrake
Brake Offset
Brake Max
Brake Map
Brake Deadband
0%
Brake Pedal
Enable = On
Control Mode Select
= 0, 1, 2
0 = Speed Mode Express
1 = Speed Mode
2 = Torque Mode
[see Fig. 16, page 108]
Mapped

 Throttle
Mapped Brake

ShutdownThrottle
or
ThrottleInvalid
or
Main Cont.
Not Closed
or
Interlock_State = Off
Figure 15 
Motor command diagram.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 106
Aer this nal selector switch the throttle signal is the VCL variable called rottle_Command, which 
is displayed as rottle Command in the 1313/1314 Monitor » Inputs menu. rottle_Command is the 
nal value of the throttle signal chain that is input to the Control Mode Processing block; see Figure 16. 
Checking the value of rottle Command using the 1313/1314 is a good way to see the nal throttle signal.
If ABS (rottle_Command) > 1 count, the motor controller will output signals to the motor to 
make it spin.
For investigating why a motor is not spinning, it is useful to use the 1313/1314 programmer to check 
the state of the throttle signal from beginning to end: using rottle_Pot_Raw, Mapped_rottle, 
and rottle_Command. Once these values are known, the Motor Command Diagram (Figure 15) 
can be used to nd how that signal progressed from input to nal value.
e following throttle processing variables are accessible by VCL:
VCL Variable
CAN Object Index
Access Decription
Throttle_Pot_Raw
0x3215  0x00
Read Only Voltage measurement at pin 16, scaled for the proper wiring.
OS_Throttle
0x3518  0x00
Read Only
Throttle pot value after mapping, to be used in VCL when VCL
Throttle Enable = On and Throttle Type = 1 – 4.
Scale:  0 – 100%,  0 – 32,767
Mapped_Throttle
0x3211  0x00
Read Only Throttle pot value after mapping.
VCL_Throttle
0x3218  0x00
Read/Write VCL-accessible throttle command.
Throttle_Multiplier
0x3213  0x00
Read/Write Multiplies or divides the throttle signal.
Throttle_Offset
0x3214  0x00
Read/Write Provides a ± offset to the throttle signal.
Throttle_Command
0x3216  0x00
Read Only Command resulting from throttle processing.
Brake Processing
Brake processing is optional as it can be turned O by setting Brake_Pedal_Enable = O. If turned On, 
brake processing can be done with or without VCL. When the controller is in Speed Mode, any non-
zero brake command will then override the throttle signal and the motor controller will brake to a stop 
as determined by the Brake Current Limit and Brake Taper Speed parameters. When the controller is 
in Torque Mode, the brake command is multiplied by 2 and subtracted from the throttle command 
to produce the nal command; thus a 50% brake command will cancel a 100% throttle command.
e lower part of Figure 15 shows the brake signal processing section. e brake signal chain ows 
from le to right starting with the physical brake pot. e voltage on the brake wiper input (pin 17) 
is processed by the controller and has the VCL variable name Pot2_Raw which is displayed as Pot2 
Raw in the programmer’s Monitor » Inputs menu. is brake signal is then modied by the Brake 
Type Processing and Brake Mapping blocks. 
e Brake Type Processing block uses the Brake_Type parameter and the brake potentiometer input 
(Pot2_Raw) to create a signed 16-bit variable. is brake signal then passes to the Brake Mapping 
block, which re-shapes the brake signal according to the various Brake Menu parameters.
e brake signal next passes through a selector switch. If the Brake_Type parameter is set to 5 (Brake 
Type = VCL input), the Brake Mapping block output signal is ignored and the command comes from 
the VCL variable VCL_Brake. e VCL program manipulates the VCL_Brake variable to get a brake 
command. Custom braking functions can be set up in this fashion; e.g., braking based on a switch 
Quick Links:
Brake Menu
Brake Pedal Enable  p.48
Current Limits Menu
Brake Current Limit  p.43
Brake Taper Speed  p.41
Monitor
Inputs » Pot2 Raw  p.70
Figure 15  p.105
Figure 16  p.108











 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 107
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
position or an internal fault. e brake potentiometer can still be used, but must be set up using the 
Setup_Pot() function. When the Brake Type is set to 1–4, the variable VCL_Brake does nothing and 
the Brake Mapping block output signal passes through.
Aer the “Brake Type = 5” switch, the brake signal passes through a limiter which limits the brake 
signal to a range of 0–100% (0–32767). Aer the limiter the brake signal is a VCL variable called 
Mapped_Brake, which is displayed as Mapped Brake in the Monitor » Inputs menu. Checking the 
value of Mapped_Brake is a good way to see if your Brake Menu parameters are set correctly. A VCL 
program can control the brake by changing the variable VCL_Brake (only if Brake Type = 5).
The brake signal then goes through a selector which will change it to 100% if the fault-action 
FullBrake is active. (see Troubleshooting Chart).
e brake signal then goes through a third selector switch that will set the brake signal = 0% if the 
Brake Pedal Enable parameter is set O. If set On, then the brake signal will pass through to the 
Control Mode Processing block. e brake signal aer this third selector switch is the VCL variable 
called Brake_Command and Brake Command in the Monitor » Inputs menu.
Brake_Command is the nal value of the brake signal chain that is input to the Control Mode 
Processing block; see Figure 16. Checking the value of Brake_Command using the 1313 is a good 
way to see the nal brake signal. Note: If Brake_Command is non-zero in Speed Mode Express or 
Speed Mode, the rottle_Command will be set to 0% (see Fig. 16).
e following brake processing variables are accessible by VCL:
VCL Variable
CAN Object Index
Access Decription
Pot2_Raw
0x3217  0x00
Read Only Voltage measurement at pin 17.
OS_Brake
0x3519  0x00
Read Only
Brake pot value after mapping, to be used in VCL when VCL 
Brake Enable = On and Brake Type = 1–3.
VCL_Brake
0x3219  0x00
Read/Write VCL-accessible brake command.
Mapped_Brake
0x3212  0x00
Read Only Brake pot value after mapping.
Brake_Command
0x321A  0x00
Read Only Command resulting from brake processing.
Control Mode and Motor Control Processing
Figure 16 begins with the rottle_Command and Brake_Command inputs and routes the signals according 
to the selected control mode.  For the speed modes, a switch will zero the rottle_Command if the Brake_
Command is any value but 0%. e signal chains are then directed to Speed Mode Express, Speed Mode, 
or Torque Mode based on Control Mode Select. Note that in Torque Mode there is no emergency reverse. 
e control mode function uses algorithms to convert the incoming throttle and brake signals, the 
motor rpm, and associated parameter settings into a Controller Torque Command.
Based upon the control mode selected, the desired Controller Torque Command is calculated, which 
is passed to the Motor Control block (see Figure 15). e Motor Control block uses its mathematical 
model of the specic motor & technology to generate the high eciency three-phase outputs that 
drive the AC motor via the cables connected to the U, V, and W terminals. For AC Induction 
motors, 323 motor characterizations are available using the Motor Type parameter, or a motor can 
be characterized (Motor Type 0) following the procedures in Chapter 8a. For application using an 
SPM motor and a Sin/Cos sensor, follow the automated characterization procedure in Chapter 8b.  
Always select the matching motor technology for the motor utilized.
Quick Links:
Brake Menu
Brake Pedal Enable  p.48
Monitor Inputs
Brake Command  p.70
Figure 15  p.105
Figure 16  p.108
Quick Links (for Control 
Mode and Motor Control  
Processing):
Figure 15  p.105
Figure 16  p.108
Motor Technology  p.55
Motor Type  p.57
Automated Characterization
AC Induction motors  p.85
SPM w/Sin/Cos sensor  p.91















 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 108
Control
Mode
Select
= 0, 1, 2
0
2
Kvff
Kp
Max Speed
(P.H.)  Entry Rate
(P. H.)  Exit Rollback Reduction
 
Kaff
(Kvff) Release Rate
(Kvff) Build Rate
(P.H.)  Zero Speed Threshold Time
 
(P.H.)  Zero Speed Threshold
Kp
Max Speed
Reversal Soften
Brake Rate
Accel Release Rate
Accel Rate
Ki
Brake Taper Speed
Gear Soften
Creep Torque
 
2
TORQUE MODE
1
SPEED MODE
0
2
(Kaff ) Release Rate
Kbff
EMR Speed
EMR Accel Rate
EMR Decel Rate
Neutral Braking
Brake Release Rate
Max Speed Decel
Back Full Restraint Speed
Control
Mode
Select
= 0, 1, 2
Throttle_Command

Brake_Command
-EMR Speed
EMR_State = On
and
Interlock_State = On
[see Fig. 15]
[see Fig. 15]
Controller Torque Command
[see Fig. 15]
0
2
Motor_RPM
Motor_RPM
Bold = Parameters
Italics = Other R/W Variables
Full Accel Rate LS, (HS)
Low Accel Rate
Neutral Decel Rate HS, (LS)
Full Brake Rate HS, (LS)
Low Brake Rate
Partical Decel Rate
(P. H.) Kd
.
(P. H.) Kp
Restraint Back
Restraint Forward
Max Speed Accel
(Kaff ) Build Rate
Max Speed Decel
Neutral Taper Speed
 
Kd
Ki  LS
Reversal Soften
Accel Rate
Kp
Max Speed
(P. H.)  Exit Rollback Reduction
EMR Time Limit
 
Brake Rate
Decel Rate
(P.H.)  Entry Rate
(P.H.)  Zero Speed Threshold Time
(P.H.)  Zero Speed Threshold 
(P. H.)  Kp
0
SPEED MODE EXPRESS
(P. H.)  Kd
EMR Speed
EMR Accel Rate
EMR Decel Rate
Motor_RPM
Position Hold (P.H.) Timeout
Ki
-EMR Speed
EMR_State = On
and
Interlock_State = On
1
1
1
Brake_Command >0
0%
0%
>0
Soft Stop Speed
Soft Stop Speed
Position Hold (P.H.) Timeout
EMR Time Limit
Forward Full Restraint Speed
Creep Release Rate
Creep Build Rate
Brake Full Creep Cancel
Brake_Command
Note: In Speed Mode Express it is possible to include some of the Speed Mode
parameters. You can use any Speed Mode parameters except those with the
same names as their SpeedMode Express counterparts (for example, Max Speed)
or with names including the words Accel Rate, Decel Rate, or Brake Rate.  
Ki  HS
Figure 16 
Control Mode processing.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 109
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
INTERFACING THE PROPORTIONAL CURRENT DRIVER
VCL code can directly interface the proportional current driver (PD), as shown in Figure 17. VCL 
can change the working parameters of the PD and can provide the command.
Depending on how the PD system is to be used, certain parameters need to be set; they can be set 
via the 1313/1314 programmer or via VCL. 
1.  PD_Enable must be set On for current control, otherwise the PD_Output will be 
controlled by the VCL function Put_PWM(PWM5,xxxx), which is voltage control.
2.  Hyd_Lower_Enable must be set On to use the throttle input 
to control lowering in a hydraulic li/lower system.
3.  Hyd_Lower_Enable must be set O to allow using a VCL 
variable (VCL_PD_rottle) as the PD command.
Once the PD parameters are set, the PD_rottle variable will be mapped between PD_Min_Current 
and PD_Max_Current and sent to the dither function. Note that Mapped_rottle is inverted; 
lowering its value (making it more negative) increases the PD_rottle value.
e Dither function adds and subtracts from the current command to the PD based on PD_Dither_Percent, 
at a rate set by PD_Dither_Period.  
e dithered current command is compared to the present PD_Current and the error is fed into a PI 
controller. e feedback gains are set by the parameters PD Kp (proportional gain) and PD Ki (integral 
gain). e nal output is the VCL variable PD_Output, which is displayed in the 1313/1314 programmer’s 
Monitor » Outputs menu as PD PWM. 
e following PD processing variables are accessible by VCL:
VCL Variable
CAN Object Index
Access Decription
Mapped_Throttle
0x3211  0x00
Read Only Command from throttle section.
VCL_PD_Throttle
0x320E  0x00
Read/Write VCL-accessible PD command.
PD_Throttle
0x3210  0x00
Read Only Resultant command to the PD.
PD_Current
0x321C  0x00
Read Only Average current owing in the PD.
PD_Output
0x321E  0x00
Read Only Resultant PWM at PD output.
Quick Links (for PD text):
Figure 17  p.109
Figure 3, PD Wiring  p.12
Proportional Driver 
parameters  p.53
Monitor
PD Input  p.71
PD PWM  p.72
PD Current  p.72
+
+
Mapped_Throttle
PD_Throttle
-1
PD_Current
Ki
Kp
+
-
VCL_PD_Throttle
2A
0A
PD_Output
PD Enable
= On
PD PWM
PD Throttle 
327670
0%
Dither Period
+ %Dither
- %Dither
Current Mapping
Dither PI Control
PD Max Current
PD Min Current
PD Dither Period 
PD Dither Percent 
PD Kp
PD Ki
Put_PWM(PWM5,xxxx)
Hyd
Lower
Enable = On
ShutdownPD
0%
ShutdownThrottle
or
ThrottleInvalid
or
(CANopen Interlock = On
and
CAN NMT State = Pre-operational)
0%
Italics = Other R/W Variables  Bold Italics = Monitor Variables  Bold = Parameters
Figure 17 
Proportional driver processing.











 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 110
USING THE FAULT HANDLER IN VCL
The controller’s operating system detects various faults and takes appropri-ate fault actions to 
protect the controller. ese faults have fault codes that are ashed on the controller status LEDs. 
e fault text is displayed in the System Faults and Fault History menus of the 1313 handheld and 
1314 PC programmers. ese operating system faults are covered in more detail in Chapter 10’s 
Troubleshooting Chart. 
Additionally, the operating system makes the status of the operating system faults available for use in 
VCL programs in the form of nine variables called Status1, Status2, Status3, Status4, Status5, Status6, 
Status7, Status8, and Status9. Each of these 16-bit variables contains the status of 8 faults in the lower 
byte (the upper byte is always set to 0). ese Status1–9 variables are read only (RO) and can be used 
in a VCL program to trigger additional fault actions such as sending fault text messages to a display 
or blinking a dashboard LED.
Listed below are the the bit locations of each of the operating system faults in the Status 1–9 variables, 
applicable to the default 1232E/SE - 1238E/SE controllers:
Status1
Bit0 = Main Contactor Welded (Code 38)
Bit1 = Main Contactor Did Not Close (Code 39)
Bit2 = Pot Low OverCurrent (Code 45)
Bit3 = Throttle Wiper Low (Code 42)
Bit4 = Throttle Wiper High (Code 41)
Bit5 = Pot2 Wiper Low (Code 44)
Bit6 = Pot2 Wiper High (Code 43)
Bit7 = EEPROM Failure (Code 46)
Status2
Bit0 = HPD/Sequencing Fault (Code 47)
Bit1 = Severe B+ Undervoltage (Code 17)
Bit2 = Severe B+ Overvoltage (Code 18)
Bit3 = B+ Undervoltage Cutback (Code 23)
Bit4 = B+ Overvoltage Cutback (Code 24)
Bit5 = Sin/Cos Sensor Fault (Code 36)
Bit6 = Controller Overtemp Cutback (Code 22)
Bit7 = Controller Severe Undertemp (Code 15)
Status3
Bit0 = Controller Severe Overtemp (Code 16)
Bit1 = Coill Driver Open/Short (Code 31)
Bit2 = Coi12 Driver Open/Short (Code 32)
Bit3 = Coil3 Driver Open/Short (Code 33)
Bit4 = Coi14 Driver Open/Short (Code 34)
Bit5 = PD Open/Short (Code 35)
Bit6 = Main Open/Short (Code 31)
Bit7 = EMBrake Open/Short (Code 32)
Status4
Bit0 = Precharge Failed (Code 14)
Bit1 = Digital Out 6 Open/Short (Code 26)
Bit2 = Digital Out 7 Open/Short (Code 27)
Bit3 = Controller Overcurrent (Code 12)
Bit4 = Current Sensor Fault (Code 13)
Bit5 = Motor Temp Hot Cutback (Code 28)
Bit6 = Parameter Change Fault (Code 49)
Bit7 = Motor Open (Code 37)





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 111
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Status5
Bit0 = External Supply Out of Range (Code 69)
Bit1 = Motor Temp Sensor Fault (Code 29)
Bit2 = VCL Run Time Error (Code 68)
Bit3 = +5V Supply Failure (Code 25)
Bit4 = OS General (Code 71)
Bit5 = PDO Timeout (Code 72)
Bit6 = Encoder Fault (Code 36)
Bit7 = Stall Detected (Code 73)
Status6
Bit0 = Bad Calibrations (Code 82)
Bit1 = [Not Used]
Bit2 = Emer Rev HPD (Code 47)
Bit3 = [Not Used]
Bit4 = Motor Type Fault (Code 89)
Bit5 = Supervisor Fault (Code 77)
Bit6 = Motor Characterization Fault (Code 87)
Bit7 = [Not Used]
Status7
Bit0 = [Not Used]
Bit1 = VCL/OS Mismatch (Code 91)
Bit2 = EM Brake Failed to Set (Code 92)
Bit3 = Encoder LOS (Limited Operating Strategy) (Code 93)
Bit4 = [Not Used]
Bit5 = Dual Severe Fault (Code 75)
Bit6 = Fault On Other Traction Controller (Code 74)
Bit7 = Illegal Model Number (Code 98)
Status8
Bit0 = [Not Used]
Bit1 = [Not Used]
Bit2 = [Not Used]
Bit3 = Parameter Mismatch (Code 99)
Bit4 = Severe KSI Undervoltage (Code 17)
Bit5 = Severe KSI Overvoltage (Code 18) 
Bit6 = Insulation Resistance Low (Code 76)
Bit7 = Encoder Pulse Count Fault (Code 88)
Status9
Bit0 = Supervisor Incompatible (Code 78)
Bit1 = [Not Used]
Bit2 = [Not Used]
Bit3 = [Not Used]
Bit4 = [Not Used]
Bit5 = [Not Used]
Bit6 = Driver Supply (Code 83)
Bit7 = [Not Used]





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 112
CANbus Emergency Messages
e Status1–9 faults form CAN emergency message using little-endian byte ordering, where: Byte1&2 
is the Error Category, Byte3 is the error register which is “set” (01) if there is an active fault, and Bytes 
4–8 map into the Status 1–9 faults as per the error category.
Error category = 0x1000 (for Status1 – Status5)
Byte4 = Status1
Byte5 = Status2
Byte6 = Status3
Byte7 = Status4
Byte8 = Status5
Error category = 0x1001 (for Status6 – Status 10)
Byte4 = Status6
Byte5 = Status7
Byte6 = Status8
Byte7 = Status9
Byte8 = Status … n/a (Status 10 is not utilized)
Example
CANbus error 00 10 01 00 00 00 08 00 equates to Status4, Bit3, Controller 
Overcurrent (Code 12)
e OEM-dened user faults, described next, are also accessible in a CANbus emergency message.
Error category = 0x6200 (for UserFault1 and UserFault2, OEM Defined, implemented 
in VCL)
Byte4 = UserFault1
Byte5 = UserFault2
Byte6 = Not applicable
Byte7 = Not applicable
Byte8 = Not applicable
Example
CANbus error 00 62 01 02 00 00 00 equates to VCLfault1, Bit 1 (Code 52)





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 113
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
OEM-dened User Faults
e operating system provides the capability to create OEM-dened custom faults using VCL. Just 
as with system faults, the VCL fault codes are ashed on the controller Status LEDs and fault text is 
displayed on the System Faults and Fault History menus of the 1313/1314 programmer. Optionally, 
the VCL can assign fault actions to occur automatically when the associated fault is set. Sixteen VCL 
faults are available, stored in the VCL variables UserFault1 and UserFault2. e UserFault1,2 variables 
are Read/Write (R/W) and the 16 faults are mapped & stored in the lower byte of each variable as 
shown below:
UserFaultl
Bit0 = VCLfault1 (Code 51)
Bit1 = VCLfault2 (Code 52)
Bit2 = VCLfault3 (Code 53)
Bit3 = VCLfault4 (Code 54)
Bit4 = VCLfault5 (Code 55)
Bit5 = VCLfault6 (Code 56)
Bit6 = VCLfault7 (Code 57)
Bit7 = VCLfault8 (Code 58)
UserFault2
Bit0 = VCLfault9 (Code 59)
Bit1 = VCLfault10 (Code 61)
Bit2 = VCLfault11 (Code 62)
Bit3 = VCLfault12 (Code 63)
Bit4 = VCLfault13 (Code 64)
Bit5 = VCLfault14 (Code 65)
Bit6 = VCLfault15 (Code 66)
Bit7 = VCLfault16 (Code 67)
e “Code” numbers result in the ashing of the controller status LEDs that help identify the fault 
without use of a 1313/1314 programmer. Setting the fault in VCL is done by setting the associated 
fault bit in the UserFault1 and 2 variables. Clearing the fault must also be handled by VCL and is 
done by clearing the associated fault bit. For example:
if (BDI-Percentage < 10)
{
UserFault1.2 = ON ;   Set VCL Fault bit
}
else
{
UserFault1.2 = OFF ;  Clear VCL Fault bit
}
is VCL will check to see if the Battery Discharge Indicator is less than 10%. If it is, UserFault1 Bit1 
(Code 52) is set. If the BDI is not less than 10%, the fault is cleared. Using just the VCL above in a 
program will only result in the ashing of a code 52 on controller status LEDs and no fault actions 
will result nor will the 1313/1314 programmer display any text about the fault.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 114
To add automatic fault actions to the VCL faults, the VCL programmer must dene 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 corre-sponding User_Fault_Action_xx variable (where “xx” is the 
number of the VCL fault bit). When a VCL fault bit is set, the actions dened 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 specied.  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 dened 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





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 115
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
This time when UserFault1.2 is set, the operating system will ShutdownInterlock and 
Shutdownrottle (which will result in a rottle_Command = 0%) in ad-dition to ashing the 
code 52 on the controller status LEDs. An additional VCL line was added (Put_Spy_Text (“BDI 
Low”)) to show how additional actions beyond those provided in the User_Fault_Action_xx can be 
programmed using VCL. In this example the Put_Spy_Text(“BDI Low”) will result in the message 
“BDI Low” appearing on the model 840 display (presumably as a message to the vehicle operator). 
is example will still not result in any display on the 1313/1314 programmer System Faults and 
Fault History menus. 
To add the fault text on the System Faults and Fault History menus it is necessary to create a Fault 
Definition. Creating 1313/1314 fault definitions is a subject that is covered in detail in the VCL 
Programmer’s Guide (Section 5, Support for the 1313/1314 Handheld Programmer). Here is an example 
of a fault denition:
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
; PARAMETER_ENTRY    “BDI Low Fault”
; TYPE       FAULTS
; WIDTH       8BIT
; ALT_ADDRESS      Hist_UserFault1
; ADDRESS       UserFault1
; BITSELECT       1
; BITACTIVELOW     NO
; END





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 116
is example will result in the exact same actions as the last example, except now the fault will be 
displayed in the programmer’s System Faults menu (only while the fault is set) and this fault will 
be logged into the Fault History menu aer being set. e text displayed in either of these menus 
will be the text dened in the fault denition (in this example “BDI Low Fault” will be displayed). 
e variable Hist_UserFault1 is listed as an ALT_ADDRESS. is line controls whether the fault 
gets logged into fault history (and thus appears in the programmer’s Fault History menu). e two 
variables that can be used in the fault denitions for ALT_ADDRESS are Hist_UserFault1 and 
Hist_UserFault2; these should be used in the fault denitions with the corresponding UserFault1 
and UserFault2 variables. If you wish to use VCL to clear fault history, use the VCL function Clear_
Diaghist(). Also note that this example fault denition was for bit 1 of UserFault1. e VCL example 
set and cleared this bit by using the UserFault1.2 notation (“.2” being the mask that denes bit 1). 
CAN Indexes for the User Fault Variables
e CAN indexes for the various OEM-dened VCL user fault variables are shown below.
0x3238 0x00 UserFault1
0x389A 0x00 UserFault1_History
0x3231 0x00 Hist_UserFault1
0x3239 0x00 UserFault2
0x389B 0x00 UserFault2_History
0x3232 0x00 Hist_UserFault2
0x323B 0x00 User_Fault_Action_01
0x323C 0x00 User_Fault_Action_02
0x323D 0x00 User_Fault_Action_03
0x323E 0x00 User_Fault_Action_04
0x323F 0x00 User_Fault_Action_05
0x3240 0x00 User_Fault_Action_06
0x3241 0x00 User_Fault_Action_07
0x3242 0x00 User_Fault_Action_08
0x3243 0x00 User_Fault_Action_09
0x3244 0x00 User_Fault_Action_10
0x3245 0x00 User_Fault_Action_11
0x3246 0x00 User_Fault_Action_12
0x3247 0x00 User_Fault_Action_13
0x3248 0x00 User_Fault_Action_14
0x3249 0x00 User_Fault_Action_15
0x324A 0x00  User_Fault_Action_16





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 117
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
VCL FUNCTIONS SPECIFIC TO 1232E/SE, 1234E/SE, 1236E/SE,  
AND 1238E/SE CONTROLLERS
Function descriptions are provided here for the functions that are unique to these controllers. 
ey are presented in the same format that is used in the VCL Common Functions Manual for the 
common functions.
ENABLE_PRECHARGE( )
is function is designed to precharge the capacitor bank before engaging a main contactor thereby 
preventing current surges and to protect controller internal components and main contactor tips. 
is function turns on the request for precharge of the capacitor bank from KSI. 
 When the precharge function is enabled, power will be supplied to the capacitor bank until the 
voltage is within the factory-set range of KSI, or the precharge time limit has expired, or the precharge 
resistor energy range has been exceeded. e current state of precharge is shown by the precharge 
variable (Precharge_State), which has the following values:
0 – Precharge has not yet been done.
1 – Precharge is in progress.
2 – Precharge has passed.
3 – Precharge has been aborted by the Disable_Precharge() function.
4 – Precharge has exceeded the precharge resistor energy limit.
5 – Precharge has exceeded the one-second time limit.
Syntax:
Enable_Precharge()
Parameters: None.
Returns:
0 – Precharge not enabled.
1 – Precharge successfully enabled.
Error Codes: None.
Example:
Enable_Precharge()
This will attempt to precharge the capacitor bank.
Note: Use this function only when the precharge is under VCL control.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 118
DISABLE_PRECHARGE( )
is function is designed to abort the precharge function and clear any precharge fault. is function 
aborts the request for precharge of the capacitor bank from KSI. e resultant state of the precharge 
variable (Precharge_State) will be set to = 3 (for precharge aborted). e precharge states are:
0 – Precharge has not yet been done.
1 – Precharge is in progress.
2 – Precharge has passed.
3 – Precharge has been aborted by the Disable_Precharge() function.
4 – Precharge has exceeded the precharge resistor energy limit.
5 – Precharge has exceeded the one-second time limit.
Syntax:
Disable_Precharge()
Parameters: None.
Returns:
0 – Precharge not enabled.
1 – Precharge successfully enabled.
Error Codes: None.
Example:
Disable_Precharge()
This will attempt to abort the precharge of the capacitor bank 
and will clear any precharge fault.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 119
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
SET_DIGOUT( )
is function turns on the selected digital output. e digital outputs are active low (On = driver on and 
pulled to ground, O = open circuit at the pin).
Syntax:
Set_Digout(DigOut_ID)
Parameters: DigOut_ID is the digital output identication.
DigOut6 = Digital Output 6 (pin 19).
DigOut7 = Digital Output 7 (pin 20).
Returns:
0 – Selected digital output not set.
1 – Selected digital output successfully set.
Error Codes: Bad_ID is returned when DigOut_ID is not in the range of 
DigOut6 to DigOut7.
Example:
Set_Digout(DigOut6)
This example will set Digital Output 6 (pin 19) On (active low, 
pulled to ground).
CLEAR_DIGOUT( )
is function turns o the selected digital output. e digital outputs are active low (On = driver on and 
pulled to ground, O = open circuit at the pin). 
Syntax:
Clear_Digout(DigOut_ID)
Parameters: DigOut_ID is the digital output identication.
DigOut6 = Digital Output 6 (pin 19).
DigOut7 = Digital Output 7 (pin 20).
Returns:
0 – Selected digital output not cleared.
1 – Selected digital output successfully cleared.
Error Codes: Bad_ID is returned when DigOut_ID is not in the range of 
DigOut6 to DigOut7.
Example:
Clear_Digout(DigOut6)
This example will set Digital Output 6 (pin 19) Off (open circuit).





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 120
ENABLE_EMER_REV( )
is function is used to engage emergency reverse using VCL. e EMR Type parameter must be set 
to = 1 in order for the Enable_Emer_Rev() function to operate. If the system emergency reverse state 
is enabled (EMR_State bit variable = On), the emergency reverse function will operate according 
to the Emergency Reverse parameter settings; see page 65. To view the current emergency reverse 
state, see Monitor » Inputs: Emer Rev on the 1313/1314 programmer.
 When the EMR_Type is set to = 1 and neither the Enable_Emer_Rev() nor the Disable_Emer_Rev() 
function has been called, the state for emergency reverse is O (EMR_State bit variable = O).
Syntax:
Enable_Emer_Rev()
Parameters: None.
Returns:
0 – Emergency reverse not enabled. 
1 – Emergency reverse successfully enabled.
Error Codes: None.
Example:
Enable_Emer_Rev()
This will enable the emergency reverse function.
DISABLE_EMER_REV( )
is function is used to disengage emergency reverse using VCL. e EMR Type parameter must be 
set to = 1 in order for the Disable_Emer_Rev() function to operate. If the system emergency reverse 
state is disabled (EMR_State bit variable = O), the emergency reverse function will stop operating 
and normal motor control function will resume (including an HPD/SRO check if the HPD/SRO 
Enable parameter is set to On). To view the current emergency reverse state, see Monitor » Inputs: 
Emer Rev on the 1313/1314 programmer.
When the EMR_Type is set to = 1 and neither the Enable_Emer_Rev() nor the Disable_Emer_Rev() 
function has been called, the state for emergency reverse is O (EMR_State bit variable = O).
Syntax:
Disable_Emer_Rev()
Parameters: None.
Returns:
0 – Emergency reverse not disabled.
1 – Emergency reverse successfully disabled.
Error Codes: None.
Example:
Disable_Emer_Rev()
This will disable the emergency reverse function.






 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 121
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
SET_INTERLOCK( )
is function is used to engage the system interlock using VCL. e Interlock Type parameter (page 52) must 
be set to = 1 in order for the Set_Interlock() function to operate. If the system interlock is set (Interlock_
State bit variable = On), the throttle input signal is allowed to pass along the throttle chain; see Figure 15. 
Additionally, if the main contactor is used (Main Enable parameter = On), setting the interlock will request 
the main closed state from the main contactor state machine. To view the current interlock state, see the 
Monitor » Inputs: Interlock. To view the current main contactor state, see Monitor » Controller: Main State.
When the Interlock_Type is set to = 1 and neither the Set_Interlock() nor the Clear_Interlock() function has 
been called, the state for the interlock is O (Interlock_State bit variable = O).
Syntax:
Set_Interlock()
Parameters: None.
Returns:
0 – Interlock not set.
1 – Interlock successfully set.
Error Codes: None.
Example:
Set_Interlock()
This will engage the system interlock.
CLEAR_INTERLOCK( )
is function is used to disengage the system interlock using VCL. e Interlock Type parameter must be set 
to = 1 in order for the Set_Interlock() function to operate. If the system interlock is cleared (Interlock_State 
bit variable = O), the throttle input signal is not allowed to pass along the throttle chain; see Figure 15.  
Additionally, if the main contactor is used (Main Enable parameter = On), clearing the interlock will request 
the main open state from the main contactor state machine. To view the current interlock state, see Monitor 
» Inputs: Interlock. To view the current main contactor state, see Monitor » Controller: Main State.
When the Interlock_Type is set to = 1 and neither the Set_Interlock() nor Clear_Interlock() function has been 
called, the default state for the interlock is O (Interlock_State bit variable = O).
Syntax:
Clear_Interlock()
Parameters: None.
Returns:
0 – Interlock not cleared.
1 – Interlock successfully cleared.
Error Codes: None.
Example:
Clear_Interlock()
This will disengage the system interlock.






 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 122
SETUP_POT( )
is function determines the type of electrical connection of the rottle Wiper (J1-16) and Pot2 
High (J1-27) potentiometers (pot inputs).  
One wire pots are a 0 – 5 V input. 
Two wire pots are rheostats. 
ree wire pots use the pot-high and pot-low as their high and low references.
Syntax:
Setup_Pot(Pot_ID, Type)
Parameters:
POT_ID Pot (ID) Selector (THROTTLE_POT,or BRAKE_POT)
Type Pot type (ONE_WIRE, TWO_WIRE, or THREE_WIRE)
Returns:
0 Setup not successful
1 Setup successful
Errors
BAD_ID POT_ID out of Range
BAD_P_TYPE Pot Type out of Range
GET_POT( )
This function returns the value of the selected pot; 0 – 32767 equating to 0 – 100% over the  
0 – 5.00 V input range.
Syntax:
Get_Pot(POT_ID)
Parameters:
POT_ID Pot Selector (THROTTLE_POT,or BRAKE_POT)
Returns:
0 Pot = 0 or error.
n Pot value.
Errors
BAD_ID POT_ID out of Range





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 123
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
SETUP_POT_FAULTS( )
is function re-sets the upper and lower wiper fault voltages for the specied pot-input that will be 
used to activate a pot-wiper voltage fault. e valid range for the function parameters are 0 – 6.25 
V (0 – 400 counts). If this function is not run, the default thresholds depend on the rottle Type 
(or Brake Type) parameter setting; see table below. If the rottle Type = 5 (or Brake Type = 5), the 
VCL function Setup_Pot will determine what fault thresholds are used.
Throttle Type Low Fault Threshold High Fault Threshold
1 0.1 V 5.5 V
2 NONE 5.5 V
3 0.1 V 5.5 V
4 0.1 V 5.5 V
5 (ONE_WIRE) NONE 5.5 V
5 (TWO_WIRE) 0.1 V 5.5 V
5 (THREE_WIRE) 0.1 V 5.5 V
Syntax:
Setup_Pot_Faults(Pot_ID, Low_Fault, High_Fault, 
Fault_Value)  
Parameters: Pot_ID   identies the throttle whose fault limits are being set:
Throttle_Pot
Brake_Pot
Low_Fault: Species the lower threshold voltage limit.
Scaling: 1 V = 64 counts.
High_Fault: Species the upper threshold voltage limit.
Scaling: 1 V = 64 counts.
Fault_Value: The value that is used for the pot input when 
there is a fault (0–32767).
Scaling: ± 32767 = ± 100%.
Returns:
0 – Setup did not execute.
1 – Setup successful.
Error Codes: Bad_ID is returned when an incorrect pot ID is used.
Param_Range is returned when the voltage value is not within 
range.
Example:
Setup_Pot_Faults(THROTTLE_POT,19,320,4000)
For the throttle pot, this will set the lower pot voltage to 0.3 V 
(19/64) and the upper pot voltage to 5.0 V (320/64). When there 
is a pot fault, the value of 4000 will be used. That is 4000/32767 
of the full output, or roughly 12%.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 124
START_PUMP( )
is function is used to turn on the pump li contactor (pin 4). If the parameter Drivers » Driver3 
» Contactor Enable = On (VCL HydraulicContactorEnable bit variable = On), the VCL function 
Start_Pump() will turn on the pump li contactor (Driver 3).
When HydraulicContactorEnable = On and neither Start_Pump() nor Stop_ Pump() has been called, 
the pump li contactor is O.
Syntax:
Start_Pump()
Parameters: None.
Returns:
0 – Pump start function not enabled. 
1 – Pump start function successfully enabled.
Error Codes: None.
Example:
Start_Pump()
This will turn on the pump lift contactor.
STOP_PUMP( )
is function is used to turn o the pump li contactor (pin 4). If the parameter Drivers » Driver3 
» Contactor Enable = On (VCL HydraulicContactorEnable bit variable = On), the VCL function 
Start_Pump() will turn o the pump li contactor (Driver 3).
When HydraulicContactorEnable = On and neither Start_Pump() nor Stop_ Pump() has been called, 
the pump li contactor is O.
Syntax:
Stop_Pump()
Parameters: None.
Returns:
0 – Pump stop function not enabled. 
1 – Pump stop function successfully enabled.
Error Codes: None.
Example:
Stop_Pump()
This will turn off the pump lift contactor.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 125
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
AUTOMATE_FREQUENCY_OUTPUT( )
is function sets up the PD Driver (pin 2) PWM output to yield a frequency proportional to 
the input variable at an execution rate of 16 ms. is output can be used to drive an electronic 
speedometer or tachometer.
 An additional VCL variable called Frequency_Output_Duty_Cycle works in conjunction with the 
Automate_Frequency_Output() function to modify the duty cycle of the output. e default value 
of Frequency_Output_Duty_Cycle is 50% (or 
Syntax:
Automate_Frequency_Output()
Parameters:
@Source
Index of source value to be the input.
MinInput
Holds the minimum value for the input.
MaxInput
Holds the maximum value for the input.
MinOutput
Holds the minimum value for the output in Hz.
MaxOutput
Holds the maximum value for the output in Hz.
NOTE: The frequency range is 0–4000 Hz, with 4 Hz being the 
minimum active frequency, and 0–3 Hz = Off.
Returns:
0 – PWM not automated.
1 – PWM automated.
Error Codes: Param_Range is returned when a parameter is out of range.
PT_Range is returned when the Parameter Table Index is out  
of range.
Example: To set up the PD Driver to output 500 Hz to 1500 Hz (at duty 
cycle = 25%) for motor speed in the range 100 rpm to 4000 rpm:
Frequency_Output_Duty_Cycle = 8192 ;set duty cycle = 25%
Automate_Frequency_Output(@ABS_Motor_Speed,100,4000,500,1500)





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 126
OVERRIDE_EM_BRAKE_PWM( )
is function is designed to override EM Brake. When this function is enabled, it resets the hill hold 
memory value.
Syntax:
Override_EM_Brake_PWM(Kill_Hill_Hold)
Parameters: Kill_Hill_Hold
0 – Retain hill hold memory.
1 – Reset hill hold memory.
Returns:
0 – Failed to override EM brake.
1 – Succeeded in overriding EM brake.
Error Codes: None.
RESTORE_EM_BRAKE_PWM( )
is function returns control of the EM brake PWM to the EM brake state machine.
Syntax:
Restore_EM_Brake_PWM()
Parameters: None
Returns:
0 – Failed
1 – Success.
Error Codes: None.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 127
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
MAP_TWO_POINTS( )
is function interpolates values between two points, Y1 and Y2; based upon an X input parameter. 
Interpolating based on X1 and X2. 
Typical Usage:
1.  Calculate a value framed between two X-axis points projected across two Y 
points, where the functions’ output is the value of the Y-axis intersection.
2.  Extend the 7 pair limitation of the Setup_Map function by the use of 
multiple If, If Else statements on segments of an XY array.
Syntax:
Map_Two_Points(X,X1,X2,Y1,Y2) 
Parameters:
X
Input.
X1
Input point X1.
X2
Input point X2.
Y1
Output point Y1.
Y2
Output point Y2.
Returns:
n Mapped value.
Error Codes: None.
Example: Convert a controller value, such as Steer_Angle, to a voltage. 
The input (X) is the Steer_Angle variable, where X1-X2 is an 
angle between 0 and 90 Degrees. The output is the interpolated 
value across Y-axis points in Volts.
Enable the expansion of the Setup_Map(16) function beyond the 
seven (7) point-pair by the use of multiple If, If Else statements 
on segments of a two point XY array. For Example:
If(X < 1)
{
Y = Map_2_Points(X, X1, X2, Y1, Y2)
}
Else If(0<= X <= 1)
{
Y = Map_two_Points(X, X1, X2, Y1, Y2)
}
Else If(1< X <= 2)
{
Y = Map_Two_Points(X, X1, X2, Y1, Y2)
}
Else If(2< X <= 3)
{
Y = Map_Two_Points(X, X1, X2, Y1, Y2)
}
Etc.





 10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 128
BATTERY_COMPENSATE( )
is function is used to compensate a variable with battery voltage using the nominal battery setting.
Syntax:
Battery_Compensate(Input)
Parameters:
Input Variable to be compensated.
Returns:
n Output.
Error Codes: None.





 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 129
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
11 — DIAGNOSTICS AND TROUBLESHOOTING
ese controllers detect a wide variety of faults or error conditions. Faults can be detected by the 
operating system or by the VCL code. is chapter describes the faults detected by the operating system
Faults detected by VCL code (faults 51–67 in Table 6) cannot be defined here as they will vary from 
application to application. Refer to the appropriate OEM documentation for information on these faults.
DIAGNOSTICS
Diagnostics information can be obtained in either of two ways: (1) by reading the display on a 1313 
handheld or 1314 PC programmer or (2) by observing the fault codes issued by the Status LEDs. See 
Table 5 for a summary of LED display formats.
e 1313 /1314 programmer will display all faults that are currently set as well as a history of the 
faults that have been set since the history log was last cleared. e 1313/1314 displays the faults by 
name.
e pair of LEDs built into the controller (one red, one yellow) produce ash codes displaying all the 
currently set faults in a repeating cycle. Each code consists of two digits. e red LED ashes once 
to indicate that the rst digit of the code will follow; the yellow LED then ashes the appropriate 
number of times for the rst digit. e red LED ashes twice to indicate that the second digit of the 
code will follow; the yellow LED ashes the appropriate number of times for the second digit.
Example: 
B+ Undervoltage Cutback (code 23).
In the Fault menu of the 1313/1314 programmer, the words B+ Undervoltage Cutback will be 
displayed; the real-time battery voltage is displayed in the Monitor menu (“Capacitor Voltage”).
e controller’s two LEDs will display this repeating pattern:
Red Yellow Red Yellow
(rst digit) (2) (second digit) (3)
e numerical codes used by the yellow LED are listed in the troubleshooting chart (Table 6), which 
also lists possible fault causes and describes the conditions that set and clear each fault.





 11 — DIAGNOSTICS AND TROUBLESHOOTING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 130
Summary of LED Display Formats
e two LEDs have four dierent display modes, indicating the type of information they are providing.
Table 5 Types of LED Display
Display Status
Neither LED illuminated Controller is not powered on; or vehicle has dead battery; or severe damage.
Yellow LED ashing Controller is operating normally.
Yellow and red LEDs both 
on solid
Controller is in Flash program mode.
Red LED on solid Internal hardware fault detected by the Supervisor or Primary microprocessor. 
Missing or corrupt software. Interrupting a software download may cause 
corruption of the software. Cycle KSI to clear. Reload software or replace 
controller if necessary.
Red LED and yellow LED 
ashing alternately
Controller has detected a fault. 2-digit code ashed by yellow LED identifies the 
specific fault; one or two ashes by red LED indicate whether rst or second code 
digit will follow.
TROUBLESHOOTING
e troubleshooting chart, Table 6, provides the following information on all the controller faults:
•  fault code
•  fault name as displayed on the programmer’s LCD
•  the eect of the fault
•  possible causes of the fault
•  fault set conditions
•  fault clear conditions.
Whenever a fault is encountered and no wiring or vehicle fault can be found, shut o KSI and turn it 
back on to see if the fault clears. If it does not, shut o KSI and remove the 35-pin connector. Check 
the connector for corrosion or damage, clean it if necessary, and re-insert it.





 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 131
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
e fault actions (eect of fault) in Table 6 use the same bit-structure as the User_Fault_Action_xx 
listed in the OEM-dened User Faults on page 113. e variable System_Action (available in WinVCL 
Monitor or TACT) returns the decimal number corresponding to the active fault action bit(s). e 
Dual Drive fault actions, Bits 12–15, are listed in the supplemental Dual Drive Operation manual.
System_Action Bit Action
No dened System_Action Effect of fault as noted in Table 6
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 (for 1232–1238E/SE, and 1239E controllers)
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° (DD applicable).
Bit15 = LOSDual
For Dual Drive system, set the max speed to Dual_LOS_Max_Speed 
parameter for operation in Limited Operating Strategy.
Example:
HPD/Sequencing Fault, Flash Code 47.
Effect of fault = Shutdown Throttle.
System_Action = 8 (equates to Bit3 set: 0000 0000 0000 1000)






 11 — DIAGNOSTICS AND TROUBLESHOOTING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 132
Table 6  TROUBLESHOOTING CHART
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
12 Controller Overcurrent
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. External short of phase U,V, or W motor 
connections.
2. Motor parameters are mis-tuned.
3. Controller defective.
4. Speed encoder noise problems.
Set: Phase current exceeded the current 
measurement limit.
Clear: Cycle KSI.
13 Current Sensor Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Leakage to vehicle frame from phase U, 
V, or W (short in motor stator).
2. Controller defective.
Set: Controller current sensors have invalid offset 
reading.
Clear: Cycle KSI.
14 Precharge Failed
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. See Monitor menu » Battery: Capacitor 
Voltage.
2. External load on capacitor bank (B+ 
connection terminal) that prevents the 
capacitor bank from charging.
Set: The precharge failed to charge the capacitor 
bank.
Clear: Cycle Interlock input or use VCL function 
Enable_Precharge().
15 Controller Severe Undertemp
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. See Monitor menu » Controller: 
Temperature.
2. Controller is operating in an extreme 
environment.
Set: Heatsink temperature below -40°C. 
Clear: Bring heatsink temperature above -40°C, 
and cycle interlock or KSI.
16 Controller Severe Overtemp
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. See Monitor menu » Controller: 
Temperature.
2. Controller is operating in an extreme 
environment.
3. Excessive load on vehicle.
4. Improper mounting of controller.
Set: Heatsink temperature above +95°C.
Clear: Bring heatsink temperature below +95°C, 
and cycle interlock or KSI.
17 Severe B+ Undervoltage
No drive torque.
1. Battery parameters are misadjusted.
2. Non-controller system drain on battery.
3. Battery resistance too high.
4. Battery disconnected while driving.
5. See Monitor menu » Battery: Capacitor 
Voltage.
6. Blown B+ fuse or main contactor did not 
close.
Set: Capacitor bank voltage dropped below the 
Severe Undervoltage limit (see page 25) with FET 
bridge enabled.
Clear: Bring capacitor voltage above Severe 
Undervoltage limit.
17 Severe KSI Undervoltage
No action.
1. See Monitor menu » Battery: Keyswitch 
Voltage.
2. Non-controller system drain on battery/
KSI circuit wiring.
3. KSI disconnected while driving.
4. Blown KSI fuse.
Set: When below Brownout Voltage for 2 seconds 
(see Table D-1).
Clear: Bring KSI voltage above Brownout Voltage.
18 Severe B+ Overvoltage
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. See Monitor menu » Battery: Capacitor 
Voltage.
2. Battery parameters are misadjusted.
3. Battery resistance too high for given 
regen current.
4. Battery disconnected while regen 
braking.
Set: Capacitor bank voltage exceeded the Severe 
Overvoltage limit (see page 25) with FET bridge 
enabled. 
Clear: Bring capacitor voltage below Severe 
Overvoltage limit, and then cycle KSI.







 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 133
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
18 Severe KSI Overvoltage
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Incorrect (to high) battery-voltage 
applied to KSI (pin 1)
2. See Monitor menu » Battery: Keyswitch 
Voltage.
Note: Prevents the Main Contactor closure if 
KSI is greater than the Severe Overvoltage 
limit.
Set: KSI voltage exceeded Severe Overvoltage limiit 
Clear: Bring KSI voltage below the Severe 
Overvoltage limit
(see page 25, Severe Overvoltage)
22 Controller Overtemp Cutback
Reduced drive and brake torque.
1. See Monitor menu » Controller: 
Temperature.
2. Controller is performance-limited at this 
temperature.
3. Controller is operating in an extreme 
environment.
4. Excessive load on vehicle.
5. Improper mounting of controller.
Set: Heatsink temperature exceeded 85°C. 
Clear: Bring heatsink temperature below 85°C.
23 B+ Undervoltage Cutback
Reduced drive torque.
1. Normal operation. Fault indicates the 
batteries need recharging. Controller is 
performance limited at this voltage.
2. Battery parameters are misadjusted.
3. Non-controller system drain on battery.
4. Battery resistance too high.
5. Battery disconnected while driving.
6. See Monitor menu » Battery: Capacitor 
Voltage.
7. Blown B+ fuse or main contactor did not 
close.
Set: Capacitor bank voltage dropped below the 
Undervoltage limit (see page 25) with the FET 
bridge enabled. 
Clear: Bring capacitor voltage above the 
Undervoltage limit.
24 B+ Overvoltage Cutback 
Reduced brake torque. Note: This 
fault is declared only when the 
controller is running in regen.
1. Normal operation. Fault shows that regen 
braking currents elevated the battery 
voltage during regen braking. Controller 
is performance limited at this voltage.
2. Battery parameters are misadjusted.
3. Battery resistance too high for given 
regen current.
4. Battery disconnected while regen 
braking.
5. See Monitor menu » Battery: Capacitor 
Voltage.
Set: Capacitor bank voltage exceeded the 
Overvoltage limit (see page 25) with the FET bridge 
enabled.
Clear: Bring capacitor voltage below the 
Overvoltage limit.
25 +5V Supply Failure
None, unless a fault action is 
programmed in VCL.
1. External load impedance on the +5V 
supply (pin 26) is too low. 
2. See Monitor menu » outputs: 5 Volts and 
Ext Supply Current.
Set: +5V supply (pin 26) outside the 5 V±10% 
range.
Clear: Bring voltage within range.
26 Digital Out 6 Open/Short
Digital Output 6 driver will not 
turn on.
1. External load impedance on Digital 
Output 6 driver (pin 19) is too low.
Set: Digital Output 6 (pin 19) current exceeded 1 
Amp.
Clear: Remedy the overcurrent cause and use the 
VCL function Set_DigOut() to turn the driver on 
again.
27 Digital Out 7 Open/Short
Digital Output 7 driver will not 
turn on.
1. External load impedance on Digital 
Output 7 driver (pin 20) is too low.
Set: Digital Output 7 (pin 20) current exceeded 1 
Amp.
Clear: Remedy the overcurrent cause and use the 
VCL function Set_DigOut() to turn the driver on 
again.
Table 6  TROUBLESHOOTING CHART cont’d








 11 — DIAGNOSTICS AND TROUBLESHOOTING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 134
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
28 Motor Temp Hot Cutback
Reduced drive torque.
1. Motor temperature is at or above the 
programmed Temperature Hot setting, 
and the current is being cut back.
2. Motor Temperature Control Menu 
parameters are mis-tuned.
3. See Monitor menu » Motor: Temperature 
and » Inputs: Analog2. 
4. If the application doesn’t use a motor 
thermistor, Temp Compensation and Temp 
Cutback should be programmed Off.
Set: Motor temperature is at or above the 
Temperature Hot parameter setting. 
Clear: Bring the motor temperature within range.
29 Motor Temp Sensor Fault
MaxSpeed reduced (LOS, Limited 
Operating Strategy), and motor 
temperature cutback disabled.
1. Motor thermistor is not connected 
properly.
2. If the application doesn’t use a motor 
thermistor, Motor Temp Sensor Enable 
should be programmed Off.
3. See Monitor menu » Motor: Temperature 
and » Inputs: Analog2.
Set: Motor thermistor input (pin 8) is at the voltage 
rail (0 V or 10 V).
Clear: Bring the motor thermistor input voltage 
within range.
31 Coil1 Driver Open/Short
ShutdownDriver1.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Driver 1 (pin 6) is either open or shorted. This 
fault can be set only when Main Enable = Off.
Clear: Correct open or short, and cycle driver.
31 Main Open/Short
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Main contactor driver (pin 6) is either open 
or shorted. This fault can be set only when Main 
Enable = On.
Clear: Correct open or short, and cycle driver
32 Coil2 Driver Open/Short
ShutdownDriver2.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Driver 2 (pin 5) is either open or shorted. This 
fault can be set only when EM Brake Type = 0.
Clear: Correct open or short, and cycle driver.
32 EMBrake Open/Short
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Electromagnetic brake driver (pin 5) is either 
open or shorted. This fault can be set only when EM 
Brake Type >0.
Clear: Correct open or short, and cycle driver.
33 Coil3 Driver Open/Short
ShutdownDriver3.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Driver 3 (pin 4) is either open or shorted.
Clear: Correct open or short, and cycle driver.
34 Coil4 Driver Open/Short
ShutdownDriver4.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Driver 4 (pin 3) is either open or shorted.
Clear: Correct open or short, and cycle driver.
35 PD Open/Short
ShutdownPD.
1. Open or short on driver load.
2. Dirty connector pins.
3. Bad crimps or faulty wiring.
Set: Proportional driver (pin 2) is either open or 
shorted.
Clear: Correct open or short, and cycle driver.
36 Encoder Fault
ShutdownEMBrake; 
Motor disabled.
1. Motor encoder failure.
2. Bad crimps or faulty wiring.
3. See Monitor menu » Motor: Motor RPM.
Set: Motor encoder phase failure detected. 
Clear: Either cycle KSI, or if parameter LOS Upon 
Encoder Fault= On and Interlock has been cycled, 
then the Encoder Fault is cleared and Encoder LOS 
fault (code 93) is set, allowing limited motor control.
36 Sin/Cos Sensor Fault
ShutdownEMBrake; 
Motor disabled.
1. Sin/Cos sensor failure.
2. Bad crimps or faulty wiring.
3. See Monitor menu » Motor: Motor RPM.
Set: Greater than Sin_Cos_Fault_Threshold % 
difference from expected value between two phases 
seen 5 times within one second.
Clear: Cycle KSI, or VCL reset, or Entry into LOS 
mode if enabled, (or entry into an ACIM auto-
characterization).
Table 6  TROUBLESHOOTING CHART cont’d





 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 135
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
37 Motor Open
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Motor phase is open.
2. Bad crimps or faulty wiring.
Set: Motor phase U, V, or W detected open.
Clear: Cycle KSI.
38 Main Contactor Welded
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Main contactor tips are welded closed.
2. Motor phase U or V is disconnected or 
open.
3. An alternate voltage path (such as an 
external precharge resistor) is providing 
a current to the capacitor bank (B+ 
connection terminal).
Set: Just prior to the main contactor closing, the 
capacitor bank voltage (B+ connection terminal) 
was loaded for a short time and the voltage did not 
discharge.
Clear: Cycle KSI
39 Main Contactor Did Not Close
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Main contactor did not close.
2. Main contactor tips are oxidized, burned, 
or not making good contact.*
3. External load on capacitor bank (B+ 
connection terminal) that prevents 
capacitor bank from charging.
4. Blown B+ fuse.
Set: With the main contactor commanded closed, 
the capacitor bank voltage (B+ connection terminal) 
did not charge to B+. 
Clear: Cycle KSI.
*New contactors may need to be cycled electrically & 
mechanically to remove any non-conductive material on 
the tips. Use reduced voltage (e.g., 12V) to prevent tip 
damage through excessive arcing.
41 Throttle Wiper High
ShutdownThrottle.
1. See Monitor menu » Inputs: Throttle Pot.
2. Throttle pot wiper voltage too high.
Set: Throttle pot wiper (pin 16) voltage is higher 
than the high fault threshold (can be changed with 
the VCL function Setup_Pot_Faults()).
Clear: Bring throttle pot wiper voltage below the 
fault threshold.
42 Throttle Wiper Low
ShutdownThrottle.
1. See Monitor menu » Inputs: Throttle Pot.
2. Throttle pot wiper voltage too low.
Set: Throttle pot wiper (pin 16) voltage is lower than 
the low fault threshold (can be changed with the 
VCL function Setup_Pot_Faults()).
Clear: Bring throttle pot wiper voltage above the 
fault threshold.
43 Pot2 Wiper High
FullBrake.
1. See Monitor menu » Inputs: Pot2 Raw.
2. Pot2 wiper voltage too high.
Set: Pot2 wiper (pin 17) voltage is higher than the 
high fault threshold (can be changed with the VCL 
function Setup_Pot_Faults()).
Clear: Bring Pot2 wiper voltage below the fault 
threshold.
44 Pot2 Wiper Low
FullBrake.
1. See Monitor menu » Inputs: Pot2 Raw.
2. Pot2 wiper voltage too low.
Set: Pot2 wiper (pin 17) voltage is lower than the 
low fault threshold (can be changed with the VCL 
function Setup_Pot_Faults()).
Clear: Bring Pot2 wiper voltage above the fault 
threshold.
45 Pot Low OverCurrent
ShutdownThrottle; 
FullBrake.
1. See Monitor menu » Outputs: Pot Low.
2. Combined pot resistance connected to 
pot low is too low.
Set: Pot low (pin 18) current exceeds 10 mA. 
Clear: Clear pot low overcurrent condition and cycle 
KSI.
46 EEPROM Failure
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. Failure to write to EEPROM memory. 
This can be caused by EEPROM memory 
writes initiated by VCL, by the CAN 
bus, by adjusting parameters with the 
programmer, or by loading new software 
into the controller.
Set: Controller operating system tried to write to 
EEPROM memory and failed. 
Clear: Download the correct software (OS) and 
matching parameter default settings into the 
controller and cycle KSI.
Table 6  TROUBLESHOOTING CHART cont’d





 11 — DIAGNOSTICS AND TROUBLESHOOTING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 136
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
47  HPD/Sequencing Fault  
 ShutdownThrottle.  
1. KSI, interlock, direction, and throttle 
inputs applied in incorrect sequence.
2. Faulty wiring, crimps, or switches at KSI, 
interlock, direction, or throttle inputs. 
3. See Monitor menu » Inputs.
Set: HPD (High Pedal Disable) or sequencing fault 
caused by incorrect sequence of KSI, interlock, 
direction, and throttle inputs.
Clear: Reapply inputs in correct sequence.   
47 Emer Rev HPD 
ShutdownThrottle;
ShutdownEMBrake.
4. Emergency Reverse operation has 
concluded, but the throttle, forward and 
reverse inputs, and interlock have not 
been returned to neutral.
Set: At the conclusion of Emergency Reverse, the 
fault was set because various inputs were not 
returned to neutral.
Clear: If EMR_Interlock = On, clear the interlock, 
throttle, and direction inputs. If EMR_Interlock = Off, 
clear the throttle and direction inputs.
49 Parameter Change Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. This is a safety fault caused by a change 
in certain parameter settings so that the 
vehicle will not operate until KSI is cycled. 
For example, if a user changes the Throttle 
Type this fault will appear and require 
cycling KSI before the vehicle can operate.
Set: Adjustment of a parameter setting that requires 
cycling of KSI.
Clear: Cycle KSI.
51-67 OEM Faults
(See OEM documentation.)
1. These faults can be defined by the 
OEM and are implemented in the 
application-specific VCL code. See OEM 
documentation.
Set: See OEM documentation.
Clear: See OEM documentation.
68 VCL Run Time Error
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. VCL code encountered a runtime VCL 
error.
2. See Monitor menu » Controller: VCL Error 
Module and VCL Error. This error can then 
be compared to the runtime VCL module 
ID and error code definitions found in the 
specific OS system information file.
Set: Runtime VCL code error condition. 
Clear: Edit VCL application software to fix this error 
condition; ash the new compiled software and 
matching parameter defaults; cycle KSI.
69 External Supply Out of Range
None, unless a fault action is 
programmed in VCL.
1. External load on the 5V and 12V supplies 
draws either too much or too little 
current.
2. Fault Checking Menu parameters Ext 
Supply Max and Ext Supply Min are 
mis-tuned.
3. See Monitor menu » Outputs: Ext Supply 
Current.
Set: The external supply current (combined current 
used by the 5V supply [pin 26] and 12V supply 
[pin 25]) is either greater than the upper current 
threshold or lower than the lower current threshold. 
The two thresholds are defined by the External 
Supply Max and External Supply Min parameter 
settings (page 54).
Clear: Bring the external supply current within range.
71 OS General 
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2;
ShutdownDriver3;
ShutdownDriver4;
ShutdownPD;
FullBrake.
1. Internal controller fault. Set: Internal controller fault detected.
Clear: Cycle KSI.
72 PDO Timeout
ShutdownThrottle; 
CAN NMT State set to  
Pre-operational.
1. Time between CAN PDO messages 
received exceeded the PDO Timeout 
Period.
Set: Time between CAN PDO messages received 
exceeded the PDO Timeout Period.
Clear: Cycle KSI or receive CAN NMT message.
Table 6  TROUBLESHOOTING CHART cont’d






 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 137
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
73 Stall Detected
ShutdownEMBrake; 
Motor disabled;
Control Mode changed to LOS 
(Limited Operating Strategy).
1. Stalled motor.
2. Motor encoder failure.
3. Bad crimps or faulty wiring.
4. Problems with power supply for the 
motor encoder.
5. See Monitor menu » Motor: Motor RPM.
Set: No motor encoder movement detected. 
Clear: Either cycle KSI, or if parameter LOS Upon 
Encoder Fault = On and Interlock has been cycled, 
then the Stall Detected fault is cleared and Encoder 
LOS fault (code 93) is set, allowing limited motor 
control.
74 Fault On Other Traction  
Controller
1. Dual Drive fault: see Dual Drive manual.
75 Dual Severe Fault 1. Dual Drive fault: see Dual Drive manual.
77 Supervisor Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. The Supervisor has detected a mismatch 
in redundant readings.
2. Internal damage to Supervisor 
microprocessor.
3. Switch inputs allowed to be within 
upper and lower thresholds for over 100 
milliseconds. (for recurring errors, check 
the switches for moisture).
Set: Mismatched redundant readings; damaged 
Supervisor; illegal switch inputs. 
Clear: Check for noise or voltage drift in all switch 
inputs; check connections; cycle KSI.
78 Supervisor Incompatible
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. The main OS is not compatible with the 
Supervisor OS.
Set: Incompatible software.
Clear: Load properly matched OS code or update 
the Supervisor code; cycle KSI.
82 Bad Calibrations
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Internal controller fault. Set: Internal controller fault detection.
Clear: Cycle KSI.
83 Driver Supply
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Internal controller fault in the voltage 
supply for the driver circuits.
Set: Internal controller fault detection.
Clear: Cycle KSI.
Table 6  TROUBLESHOOTING CHART cont’d





 11 — DIAGNOSTICS AND TROUBLESHOOTING
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 138
Table 6  TROUBLESHOOTING CHART cont’d
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
87 Motor Characterization Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Motor characterization failed during 
characterization process. See 
Monitor menu » Controller: Motor 
Characterization Error for cause: 
0 = sequencing error. Normally caused 
by turning off Motor Characterization 
Test Enable before running the test.
1 = encoder signal seen but step size not 
auto-detected; set up Encoder Steps 
manually
2 = motor temp sensor fault
3 = motor temp hot cutback fault
4 = controller overtemp cutback fault
5 = controller undertemp cutback fault
6 = undervoltage cutback fault
7 = severe overvoltage fault
8 = encoder signal not seen, or one or 
both channels missing
9 = motor parameters out of 
characterization range
20 = Sin/Cos sensor not found
21 = phasing not detected
22 = Sin/Cos sensor characterization 
failure
23 = started characterization procedure 
while motor rotating.
Set: Motor characterization failed during the motor 
characterization process.
Normally caused by turning off  
Motor_Characterization_Test_Enable before 
running test. Needs controller reset. 
Clear: Correct fault; cycle KSI, or VCL reset.
88 Encoder Pulse Count Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. Encoder Steps parameter does not 
match the actual motor encoder.
Set: Detected wrong setting of the Encoder Steps 
parameter.
Clear: Ensure the Encoder Steps parameter 
matches the actual encoder; cycle KSI.
89 Motor Type Fault
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
2. The Motor_Type parameter value is out 
of range.
Set: Motor_Type parameter is set to an illegal 
value.
Clear: Set Motor_Type to correct value and cycle 
KSI.





 11 — DIAGNOSTICS AND TROUBLESHOOTING
pg. 139
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Table 6  TROUBLESHOOTING CHART cont’d
CODE
PROGRAMMER LCD DISPLAY
EFFECT OF FAULT
POSSIBLE CAUSE SET / CLEAR CONDITIONS
91 VCL/OS Mismatch
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
ShutdownInterlock; 
ShutdownDriver1; 
ShutdownDriver2; 
ShutdownDriver3; 
ShutdownDriver4; 
ShutdownPD;
FullBrake.
1. The VCL software in the controller 
does not match the OS software in the 
controller.
Set: VCL and OS software do not match; when KSI 
cycles, a check is made to verify that they match 
and a fault is issued when they do not.
Clear: Download the correct VCL and OS software 
into the controller.
92 EM Brake Failed to Set
ShutdownEMBrake; 
ShutdownThrottle.
Position Hold is engaged when 
Interlock = On.
1. Vehicle movement sensed after the EM 
Brake has been commanded to set.
2. EM Brake will not hold the motor from 
rotating.
Set: After the EM Brake was commanded  to set 
and time has elapsed to allow the brake to fully 
engage, vehicle movement has been sensed. 
Clear:  1. Activate the Throttle (EM Brake type 2).
2. Activate the Interlock (EM Brake type 1).
93 Encoder LOS (Limited 
Operating Strategy)  
Enter LOS control mode.
1. Limited Operating Strategy (LOS) control 
mode has been activated, as a result of 
either an Encoder Fault (Code 36) or a 
Stall Detected fault (Code 73).
2. Motor encoder failure.
3. Bad crimps or faulty wiring.
4. Vehicle is stalled.
Set: Encoder Fault (code 36) or Stall Detected (code 
73) was activated, if parameter LOS Upon Encoder 
Fault = On and Interlock has been cycled, then the 
Encoder LOS (code 93) control mode is activated, 
allowing limited motor control.
Clear: Cycle KSI or, if LOS mode was activated by 
the Stall Detected fault, clear by ensuring encoder 
senses proper operation, Motor RPM = 0, and 
Throttle Command = 0.
94 Emer Rev Timeout
ShutdownEMBrake; 
ShutdownThrottle.
1. Emergency Reverse was activated and 
concluded because the EMR Timeout 
timer has expired.
2. The emergency reverse input is stuck 
On.
Set: Emergency Reverse was activated and ran 
until the EMR Timeout timer expired.
Clear: Turn the emergency reverse input Off.
98 Illegal Model Number
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle;
FullBrake.
1. Model_Number variable contains illegal 
value. 
2. Software and hardware do not match.
3. Controller defective.
Set: Illegal Model_Number variable; when  KSI 
cycles, a check is made to conrm a legal Model_
Number, and a fault is issued if one is not found.  
Clear: Download appropriate software for your 
controller model.
99 Parameter Mismatch
ShutdownMotor; 
ShutdownMainContactor; 
ShutdownEMBrake; 
ShutdownThrottle; 
FullBrake.
1. Dual drive enabled on only one controller.
2. Incorrect position feedback type chosen 
for motor technology in use.
3. Dual drive is enabled in torque mode.
Set: When the Dual Drive software is  enabled, 
the controller must be set to  either Speed Mode 
Express or Speed Mode;  otherwise this fault is set. 
Motor Techology=0 must be paired  with Feedback 
Type=1, and Motor Technology=1 must be paired 
with Feedback Type=2; otherwise this fault is set.
Clear: Adjust parameters to appropriate values and 
cycle KSI.





 12 — MAINTENANCE
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 140
12 — MAINTENANCE
ere are no user serviceable parts in Curtis E/SE controllers. No attempt should be made to open, repair, 
or otherwise modify the controller. Doing so may damage the controller and will void the warranty. 
It is recommended that the controller and connections be kept clean and dry and that the controller’s 
fault history le be checked and cleared periodically.
CLEANING
Periodically cleaning the controller exterior will help protect it against corrosion and possible 
electrical control problems created by dirt, grime, and chemicals that are part of the operating 
environment and that normally exist in battery powered systems. 
When working around any battery powered system, proper safety precautions should be taken. 
These include, but are not limited to: proper training, wearing eye protection, and avoiding loose 
clothing and jewelry. 
Use the following cleaning procedure for routine maintenance. Never use a high pressure washer to 
clean the controller.
1.  Remove power by disconnecting the battery.
2.  Discharge the capacitors in the controller by connecting a load (such as 
a contactor coil) across the controller’s B+ and B− terminals.
3.  Remove any dirt or corrosion from the power and signal connector areas. e controller 
should be wiped clean with a moist rag. Dry it before reconnecting the battery.
4.  Make sure the connections are tight. Refer to Chapter 2, page 7–8, for maximum 
tightening torque specications for the battery and motor connections.
FAULT HISTORY
e 1313 handheld or 1314 PC programmer can be used to access the controller’s fault history le. 
e programmer will read out all the faults the controller has experienced since the last time the fault 
history le was cleared. Faults such as contactor faults may be the result of loose wires; contactor 
wiring should be carefully checked. Faults such as overtemperature may be caused by operator habits 
or by overloading. 
Aer a problem has been diagnosed and corrected, it is a good idea to clear the fault history le. 
is allows the controller to accumulate a new le of faults. By checking the new fault history le at 
a later date, you can readily determine whether the problem was indeed xed.  
CAUTION







 APPENDIX A
pg. 141
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
APPENDIX A
VEHICLE DESIGN CONSIDERATIONS
REGARDING ELECTROMAGNETIC COMPATIBILITY (EMC)
AND ELECTROSTATIC DISCHARGE (ESD)
DECOMMISSIONING AND RECYCLING THE CONTROLLER
ELECTROMAGNETIC COMPATIBILITY (EMC)
Electromagnetic compatibility (EMC) encompasses two areas: emissions and immunity. Emissions are 
radio frequency (RF) energy generated by a product. is energy has the potential to interfere with 
communications systems such as radio, television, cellular phones, dispatching, aircra, etc. Immunity 
is the ability of a product to operate normally in the presence of RF energy.
EMC is ultimately a system design issue. Part of the EMC performance is designed into or inherent 
in each component; another part is designed into or inherent in end product characteristics such as 
shielding, wiring, and layout; and, nally, a portion is a function of the interactions between all these 
parts. e design techniques presented below can enhance EMC performance in products that use 
Curtis motor controllers.
Emissions
Signals with high frequency content can produce signicant emissions if connected to a large enough 
radiating area (created by long wires spaced far apart). Contactor drivers and the motor drive 
output from Curtis controllers can contribute to RF emissions. Both types of output are pulse width 
modulated square waves with fast rise and fall times that are rich in harmonics. (Note: contactor 
drivers that are not modulated will not contribute to emissions.) e impact of these switching 
waveforms can be minimized by making the wires from the controller to the contactor or motor as 
short as possible and by placing the wires near each other (bundle contactor wires with Coil Return; 
bundle motor wires separately). 
For applications requiring very low emissions, the solution may involve enclosing the controller, 
interconnect wires, contactors, and motor together in one shielded box. Emissions can also couple 
to battery supply leads and throttle circuit wires outside the box, so ferrite beads near the controller 
may also be required on these unshielded wires in some applications. It is best to keep the noisy 
signals as far as possible from sensitive wires.
Immunity
Immunity to radiated electric elds can be improved either by reducing overall circuit sensitivity 
or by keeping undesired signals away from this circuitry. e controller circuitry itself cannot be 
made less sensitive, since it must accurately detect and process low level signals from sensors such 
as the throttle potentiometer. us immunity is generally achieved by preventing the external RF 
energy from coupling into sensitive circuitry. is RF energy can get into the controller circuitry via 
conducted paths and radiated paths.





 APPENDIX A
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 142
Conducted paths are created by the wires connected to the controller. ese wires act as antennas and 
the amount of RF energy coupled into them is generally proportional to their length. e RF voltages 
and currents induced in each wire are applied to the controller pin to which the wire is connected. 
Curtis controllers include bypass capacitors on the printed circuit board’s throttle wires to reduce the 
impact of this RF energy on the internal circuitry. In some applications, additional ltering in the 
form of ferrite beads may also be required on various wires to achieve desired performance levels.
Radiated paths are created when the controller circuitry is immersed in an external eld. is 
coupling can be reduced by placing the controller as far as possible from the noise source or by 
enclosing the controller in a metal box. Some Curtis controllers are enclosed by a heatsink that also 
provides shielding around the controller circuitry, while others are partially shielded or unshielded. 
In some applications, the vehicle designer will need to mount the controller within a shielded box on 
the end product. e box can be constructed of just about any metal, although steel and aluminum 
are most commonly used.
Most coated plastics do not provide good shielding because the coatings are not true metals, but 
rather a mixture of small metal particles in a non-conductive binder. ese relatively isolated particles 
may appear to be good based on a dc resistance measurement but do not provide adequate electron 
mobility to yield good shielding eectiveness. Electroless plating of plastic will yield a true metal and 
can thus be eective as an RF shield, but it is usually more expensive than the coatings.
A contiguous metal enclosure without any holes or seams, known as a Faraday cage, provides the 
best shielding for the given material and frequency. When a hole or holes are added, RF currents 
owing on the outside surface of the shield must take a longer path to get around the hole than if 
the surface was contiguous. As more “bending” is required of these currents, more energy is coupled 
to the inside surface, and thus the shielding eectiveness is reduced. e reduction in shielding is a 
function of the longest linear dimension of a hole rather than the area. is concept is oen applied 
where ventilation is necessary, in which case many small holes are preferable to a few larger ones.
Applying this same concept to seams or joints between adjacent pieces or segments of a shielded 
enclosure, it is important to minimize the open length of these seams. Seam length is the distance 
between points where good ohmic contact is made. is contact can be provided by solder, welds, or 
pressure contact. If pressure contact is used, attention must be paid to the corrosion characteristics 
of the shield material and any corrosion-resistant processes applied to the base material. If the ohmic 
contact itself is not continuous, the shielding eectiveness can be maximized by making the joints 
between adjacent pieces overlapping rather than abutted. 
e shielding eectiveness of an enclosure is further reduced when a wire passes through a hole in 
the enclosure; RF energy on the wire from an external eld is re-radiated into the interior of the 
enclosure. is coupling mechanism can be reduced by ltering the wire where it passes through 
the shield boundary. 
Given the safety considerations involved in connecting electrical components to the chassis or 
frame in battery powered vehicles, such ltering will usually consist of a series inductor (or ferrite 
bead) rather than a shunt capacitor. If a capacitor is used, it must have a voltage rating and leakage 
characteristics that will allow the end product to meet applicable safety regulations.





 APPENDIX A
pg. 143
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
e B+ (and B–, if applicable) wires that supply power to a control panel should be bundled with the 
other control wires to the panel so that all these wires are routed together. If the wires to the control 
panel are routed separately, a larger loop area is formed. Larger loop areas produce more ecient 
antennas which will result in decreased immunity performance.
Keep all low power I/O separate from the motor and battery leads. When this is not possible, cross 
them at right angles.
ELECTROSTATIC DISCHARGE (ESD)
Curtis motor controllers contain ESD-sensitive components, and it is therefore necessary to protect 
them from ESD (electrostatic discharge) damage. Most of the control lines have protection for moderate 
ESD events, but must be protected from damage if higher levels exist in a particular application. 
ESD immunity is achieved either by providing sucient distance between conductors and the ESD 
source so that a discharge will not occur, or by providing an intentional path for the discharge current 
such that the circuit is isolated from the electric and magnetic elds produced by the discharge. In 
general the guidelines presented above for increasing radiated immunity will also provide increased 
ESD immunity.
It is usually easier to prevent the discharge from occurring than to divert the current path. A 
fundamental technique for ESD prevention is to provide adequately thick insulation between all 
metal conductors and the outside environment so that the voltage gradient does not exceed the 
threshold required for a discharge to occur. If the current diversion approach is used, all exposed 
metal components must be grounded. e shielded enclosure, if properly grounded, can be used 
to divert the discharge current; it should be noted that the location of holes and seams can have a 
signicant impact on ESD suppression. If the enclosure is not grounded, the path of the discharge 
current becomes more complex and less predictable, especially if holes and seams are involved. 
Some experimentation may be required to optimize the selection and placement of holes, wires, and 
grounding paths. Careful attention must be paid to the control panel design so that it can tolerate a 
static discharge.
MOV, transorbs, or other devices can be placed between B- and oending wires, plates, and touch 
points if ESD shock cannot be otherwise avoided.
DECOMMISSIONING AND RECYCLING THE CONTROLLER
e controller is intended for installation into an Original Equipment Manufacturer (OEM) vehicle.
ey are a component that has no function unless installed as part of the specic vehicles’ electrical 
or electro-hydraulic control system.
For controller decommissioning and recycling:
1.  Follow the OEM’s vehicle decommissioning instructions. 
2.  Follow all applicable landll directives or regulations for 
Electrical and Electronic Equipment (EEE) waste.





 APPENDIX B
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 144
APPENDIX B
EN13849 COMPLIANCE
Since January 1, 2012, conformance to the European Machinery Directive has required that the Safety 
Related Parts of the Control System (SRPCS) be designed and veried upon the general principles 
outlined in EN13849. EN13849 supersedes the EN954 standard and expands upon it by requiring 
the determination of the safety Performance Level (PL) as a function of Designated Architecture 
plus Mean Time To Dangerous Failure (MTTFd), Common Cause Faults (CCF), and Diagnostic 
Coverage (DC). ese gures are used by the OEM to calculate the overall PL for each of the safety 
functions of their vehicle or machine. 
e OEM must determine the hazards that are applicable to their vehicle design, operation, and 
environment. Standards such as EN13849-1 provide guidelines that must be followed in order to 
achieve compliance. Some industries have developed further standards (called type-C standards) that 
refer to EN13849 and specically outline the path to regulatory compliance. EN1175-1 is a type-C 
standard for battery-powered industrial trucks. Following a type-C standard provides a presumption 
of conformity to the Machinery Directive.
Curtis Enhanced AC Motor Controllers comply with these directives using advanced active 
supervisory techniques. e basic “watchdog” test circuits have been replaced with a Supervisor 
microcontroller that continuously tests the safety related parts of the control system; see the simplied 
block diagram in Figure B-1.
The Supervisor and Primary motor control processors run diagnostic checks at startup and 
continuously during operation. At startup, the integrity of the code and EEPROM are ensured 
through CRC checksum calculations. RAM is pattern checked for proper read, write, and addressing. 
During operation, the arithmetic and logic processing unit of each micro is cyclically tested through 
dynamic stimulus and response. e operating system timing and task sequencing are continuously 
veried. Redundant input measurements are crosschecked over 30 times per second, and operational 
status information is passed between microprocessors to keep the system synchronized. Any faults in 
these startup tests, communication timing, crosschecks, or responses will command a safe shutdown 
of the controller, disabling the driver outputs and motor drive within 200 ms.
⇐
⇐
PRIMARY MOTOR CONTROL
MICROPROCESSOR
SUPERVISOR
MICROPROCESSOR
POWERBASE
DRIVERS
AC
MOTOR
Communication
Link
Inputs
Outputs
Shutdown
Monitor
Monitor
Figure B-1 
Supervisory system in Curtis 
enhanced AC motor controllers.





 APPENDIX B
pg. 145
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
To mitigate the  hazards typically found in machine operations, EN13849 requires that safety 
functions be defined; these must include all the input, logic, outputs, and power circuits that 
are involved in any potentially hazardous operation. Two safety functions are dened for Curtis 
Enhanced AC Motor Controllers: Uncommanded Powered Motion and Motor Braking Torque.
e Uncommanded Powered Motion safety function provides detection and safe shutdown in the 
following circumstances: faulted throttle; improper sequence of forward/reverse switches, throttle, 
and interlock; incorrect direction of travel; loss of speed control or limiting; uncommanded 
movement; or movement at start-up. e Braking Torque safety function provides detection and 
safe shutdown in the event of the loss of braking torque, position/hill hold, or emergency reverse.
Curtis has analyzed each safety function and calculated its Mean Time To Dangerous Failure 
(MTTFd) and Diagnostic Coverage (DC), and designed them against Common Cause Faults (CCF). 
e safety-related performance of the 1232E controller is summarized as follows:
Safety Function Designated Architecture MTTFd DC CCF PL
Uncommanded 
Powered Motion
2 >40 yrs >90% Pass d
Motor Braking Torque 2 >16 yrs >90% Pass c
EN1175 specifies that traction and hydraulic electronic control systems must use Designated 
Architecture 2 or greater. is design employs input, logic, and output circuits that are monitored 
and tested by independent circuits and soware to ensure a high level of safety performance (up to 
PL=d).
Mean Time To Dangerous Failure (MTTFd) is related to the expected reliability of the safety related 
parts used in the controller. Only failures that can result in a dangerous situation are included in the 
calculation.
Diagnostic Coverage (DC) is a measure of the eectiveness of the control system’s self-test and 
monitoring measures to detect failures and provide a safe shutdown.
Common Cause Faults (CCF) are so named because some faults within a controller can aect 
several systems. EN13849 provides a checklist of design techniques that should be followed to achieve 
sucient mitigation of CCFs. e CCF value is a pass/fail criterion.
Performance Level (PL) categorizes the quality or eectiveness of a safety channel to reduce the 
potential risk caused by dangerous faults within the system with “a” being the lowest and “e” being 
the highest achievable performance.





 APPENDIX C
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 146
APPENDIX C
PROGRAMMING DEVICES
Curtis programmers provide programming, diagnostic, and test capabilities for the controller. e 
power for operating the programmer is supplied by the host controller via a 4-pin connector. When 
the programmer powers up, it gathers information from the controller.
Two types of programming devices are available: the 1314 PC Programming Station and the 1313 
handheld programmer. e Programming Station has the advantage of a large, easily read screen; 
on the other hand, the handheld programmer (with its 45×60mm screen) has the advantage of being 
more portable and hence convenient for making adjustments in the eld. 
Both programmers are available in User, Service, Dealer, and OEM versions. Each programmer can 
perform the actions available at its own level and the levels below that—a User-access programmer 
can operate at only the User level, whereas an OEM programmer has full access.
PC PROGRAMMING STATION (1314)
e Programming Station is an MS-Windows 32-bit application that runs on a standard Windows 
PC. Instructions for using the Programming Station are included with the soware. In addition, 
the Curtis 1309 Interface box with a computer-side USB and controller-side 4-pin serial Molex 
connection is required for the 1314 PC Programmer.
HANDHELD PROGRAMMER (1313)
e 1313 handheld programmer is functionally equivalent to the PC Programming Station; operating 
instructions are provided in the 1313 manual. is programmer replaces the 1311, an earlier model 
with fewer functions.
PROGRAMMER FUNCTIONS
Programmer functions include:
Parameter adjustment — provides access to the individual programmable parameters.
Monitoring — presents real-time values during vehicle operation; these include all inputs and outputs.
Diagnostics and troubleshooting — presents diagnostic information, and also a means to clear the 
fault history le.
Programming — allows you to save/restore custom parameter settings.
Favorites — allows you to create shortcuts to your frequently-used adjustable parameters and 
monitor variables (1313 only).





 APPENDIX D
pg. 147
Return to TOC  Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017 
Table D-1 SPECIFICATIONS: 1232E/SE, 1234E/SE, 1236E/SE, 1238E/SE CONTROLLERS 
APPENDIX D
CONTROLLER SPECIFICATIONS
Nominal input voltage: 24 V, 24–36 V, 36–48 V, 48–80 V, 72–96 V
NOMINAL 
VOLTAGE
MINIMUM 
VOLTAGE
MAXIMUM 
VOLTAGE
BROWNOUT 
VOLTAGE
24 V 14 V 30 V 12 V
24–36 V 16.8 V 45 V 15 V
36–48 V 25.2 V 60 V 20 V
48–80 V 33.6 V 105 V 20 V
72–96 V 50.4 V 120 V 30 V
PWM operating frequency: 10 kHz
Maximum encoder frequency: 10 kHz
Maximum controller output frequency: 450 Hz
Electrical isolation to heatsink: 500 V ac (minimum)
Storage ambient temperature range: –40°C to 95°C (–40°F to 203°F)
Operating ambient temperature range: –40°C to 50°C (–40°F to 122°F)
Thermal cutback: Controller linearly reduces maximum current limit with an internal heatsink 
temperature from 85°C (185°F) to 95°C (203°F); complete cutoff occurs 
above 95°C (203°F) and below –40°C (–40°F)
Design life: 1238E-75XX and 1238E-76XX: 5,000 hours
All other models: 20,000 hours
Operating duration at maximum current: 2 minutes minimum (unless otherwise noted), with initial temperature of 
25°C and no additional external heatsink
Package environmental rating: IP65 per IEC529; compliance requires AMPSEAL 35-pin connector header
Weight: 1232E: 1.70 kg  1232SE: 1.92 kg
1234E: 2.84 kg  1234SE: 3.12 kg
1236E: 4.12 kg  1236SE: 3.79 kg
1238E: 6.82 kg  1238SE: 6.00 kg
Dimensions, W×L×H: 1232E: 140 × 180 × 71 mm  1232SE: 140 × 180 × 74 mm
1234E: 155 × 212 × 75 mm  1234SE: 155 × 212 × 79 mm
1236E: 165 × 232 × 85 mm  1236SE: 165 × 232 × 85 mm
1238E: 275 × 232 × 85 mm  1238SE: 275 × 232 × 85 mm
EMC: Designed to the requirements of EN 12895:2000
Safety: Designed to the requirements of EN 1175-1:1998 + A1:2010 and EN 
13849-1:2008 Category 2
UL: UL recognized component per UL583
Note: Regulatory compliance of the complete vehicle system with the controller installed is the responsibility of the OEM.





 APPENDIX D
Curtis 1232E/34E/36E/38E & 1232SE/34SE/36SE/38SE Manual, os 31 – May 2017   Return to TOC
pg. 148
MODEL CHART
 
 
MODEl NUMBER
NOMINAL
BATTERY VOLTAGE
(V)
MAXIMUM
CURRENT
(A)
S2–60 MINUTE
CONTINUOUS
CURRENT (A)
CONTINUOUS
CURRENT FOR
DESIGN LIFE (A)
1232E-21XX 24 180 90 80
1232E-23XX 24 250 125 100
1232E-51XX 36–48 150 75 79
1232E-52XX 36–48 200 100 90
1232E-62XX 48–80 175 80 45
1232E-72XX 72–96 175 80 50
1234E-23XX 24 350 175 160
1234E-52XX 36–48 275 135 90
1234E-53XX 36–48 350 175 90
1234E-62XX 48–80 250 110 60
1236E-44XX 24–36 400 175 175
1236E-45XX 24–36 500 240 210
1236E-54XX 36–48 450 205 210
1236E-55XX 36–48 550 250 140
1236E-64XX 48–80 350 (1 min) 100 100
1238E-46XX 24–36 650 300 325
1238E-48XX 24–36 800 355 365
1238E-56XX 36–48 650 295 325
1238E-64XX 48–80 450 155 175
1238E-65XX 48–80 550 190 175
1238E-66XX 48–80 650 (1 min) 195 175
1238E-75XX 72–96 550 175 175
1238E-76XX 72–96 650 200 175
1232SE-24XX 24 375 185 160
1232SE-53XX 36–48 350 175 160
1234SE-45XX 24–36 500 235 210
1234SE-54XX 36–48 450 215 210
1234SE-63XX 48–80 350 149 175
1236SE-46XX 24–36 650 285 220
1236SE-56XX 36–48 600 260 210
1236SE-65XX 48–80 450 185 175
1238SE-49XX 24–36 1000* 425 376
Notes: All current ratings are rms values per motor phase.
S2–60 minute current is the typical current achievable before thermal cutback occurs, with an ambient temperature of 25°C and the controller mounted to a  
6 mm thick vertical steel plate with 6 km/h (1.7 m/s) airow perpendicular to the plate.
Continuous current for design life is the maximum long-term current, at an internal heatsink long-term temperature of 70°C (158°F), at which the controller 
will achieve its design life. These numbers are often calculated for a given application by determining an rms duty cycle current and heatsink temperature. For 
applications that exceed this, please contact your Curtis distributor or support engineer. 
*1238SE-49XX. Please contact your Curtis distributor or support engineer regarding the duty-cycle of this controller.
Table D-1 SPECIFICATIONS: 1232E/SE, 1234E/SE, 1236E/SE, 1238E/SE CONTROLLERS, Cont’d





Понравилась статья? Поделить с друзьями:
  • Current thread is not owner java как исправить
  • Current running mode как исправить
  • Cx freeze python error in main script ansys
  • Current pending sectors victoria как исправить
  • Current pending errors count как исправить hddscan