CPB CANopen Technical Manual

Saving objects

Note: Improper use of the function can result in it no longer being possible to start the controller. Therefore, carefully read the entire chapter before using the function.
Note: As an alternative, objects can also be set and saved using the configuration file (see Configuration via USB) . Note that this file has higher priority. Objects that are saved both with the mechanism described here as well as in the configuration file take the value of the configuration file.


Many objects in the object dictionary can be saved and then automatically reloaded the next time the controller is switched on or reset. Furthermore, the saved values are also retained following a firmware update.

Only entire collections of objects (referred to in the following as categories) can be saved together; individual objects cannot be saved.

An object can be assigned one of the following categories:
  • Communication: Parameters related to external interfaces, such as PDO configuration etc.
  • Application: Parameters related to operating modes.
  • Customer: Parameters that are written and read by the customer/user only and are ignored by the controller firmware.
  • Drive: Parameters related to the motor and the sensors (BLDC/Stepper, closed/open-loop…). Some are set and saved by auto setup.
  • Tuning: Parameters related to motor and encoder that are set either by auto setup or that can be found in the data sheets, e.g., pole pairs and maximum current.
  • CANopen: Parameters related to CANopen communication

If an object is not assigned one of these categories, it cannot be saved, e.g., statusword and all objects whose value is dependent on the current state of the controller.

The objects in each category are listed below. In chapter Description of the object dictionary, the corresponding category for each object is also specified.

Category: communication

  • 1005h: COB-ID Sync
  • 1006h: Communication Cycle Period
  • 1007h: Synchronous Window Length
  • 100Ch: Guard Time
  • 100Dh: Live Time Factor
  • 1014h: COB-ID EMCY
  • 1016h: Consumer Heartbeat Time
  • 1017h: Producer Heartbeat Time
  • 1019h: Synchronous Counter Overflow Value
  • 1029h: Error Behavior
  • 1400h: Receive PDO 1 Communication Parameter
  • 1401h: Receive PDO 2 Communication Parameter
  • 1402h: Receive PDO 3 Communication Parameter
  • 1403h: Receive PDO 4 Communication Parameter
  • 1404h: Receive PDO 5 Communication Parameter
  • 1405h: Receive PDO 6 Communication Parameter
  • 1406h: Receive PDO 7 Communication Parameter
  • 1407h: Receive PDO 8 Communication Parameter
  • 1600h: Receive PDO 1 Mapping Parameter
  • 1601h: Receive PDO 2 Mapping Parameter
  • 1602h: Receive PDO 3 Mapping Parameter
  • 1603h: Receive PDO 4 Mapping Parameter
  • 1604h: Receive PDO 5 Mapping Parameter
  • 1605h: Receive PDO 6 Mapping Parameter
  • 1606h: Receive PDO 7 Mapping Parameter
  • 1607h: Receive PDO 8 Mapping Parameter
  • 1800h: Transmit PDO 1 Communication Parameter
  • 1801h: Transmit PDO 2 Communication Parameter
  • 1802h: Transmit PDO 3 Communication Parameter
  • 1803h: Transmit PDO 4 Communication Parameter
  • 1804h: Transmit PDO 5 Communication Parameter
  • 1805h: Transmit PDO 6 Communication Parameter
  • 1806h: Transmit PDO 7 Communication Parameter
  • 1807h: Transmit PDO 8 Communication Parameter
  • 1A00h: Transmit PDO 1 Mapping Parameter
  • 1A01h: Transmit PDO 2 Mapping Parameter
  • 1A02h: Transmit PDO 3 Mapping Parameter
  • 1A03h: Transmit PDO 4 Mapping Parameter
  • 1A04h: Transmit PDO 5 Mapping Parameter
  • 1A05h: Transmit PDO 6 Mapping Parameter
  • 1A06h: Transmit PDO 7 Mapping Parameter
  • 1A07h: Transmit PDO 8 Mapping Parameter
  • 1F80h: NMT Startup
  • 2102h: Fieldbus Module Control
  • 2104h: Additional Fieldbus Configuration
  • 3502h: MODBUS Rx PDO Mapping
  • 3602h: MODBUS Tx PDO Mapping

Category: application

  • 2034h: Upper Voltage Warning Level
  • 2035h: Lower Voltage Warning Level
  • 2036h: Open Loop Current Reduction Idle Time
  • 2037h: Open Loop Current Reduction Value/factor
  • 2038h: Brake Controller Timing
  • 203Ah: Homing On Block Configuration
  • 203Dh: Torque Window
  • 203Eh: Torque Window Time Out
  • 203Fh: Max Slippage Time Out
  • 2057h: Clock Direction Multiplier
  • 2058h: Clock Direction Divider
  • 205Bh: Clock Direction Or Clockwise/Counter Clockwise Mode
  • 205Ch: Virtual Encoder Configuration
  • 2084h: Bootup Delay
  • 2290h: PDI Control
  • 2300h: NanoJ Control
  • 2410h: NanoJ Init Parameters
  • 2800h: Bootloader And Reboot Settings
  • 3210h: Motor Drive Parameter Set
  • 3212h: Motor Drive Flags
  • 321Ah: Current Controller Parameters
  • 321Bh: Velocity Controller Parameters
  • 321Ch: Position Controller Parameters
  • 321Dh: Pre-control
  • 321Eh: Voltage Limit
  • 3221h: Analog Inputs Control
  • 3240h: Digital Inputs Control
  • 3241h: Digital Input Capture
  • 3242h: Digital Input Routing
  • 3243h: Digital Input Homing Capture
  • 3250h: Digital Outputs Control
  • 3252h: Digital Output Routing
  • 3260h: Pwm Output 0
  • 3261h: Pwm Output 1
  • 3273h: Generic SPI Hardware Configuration
  • 3274h: Generic SPI Mosi Data
  • 3321h: Analog Input Offsets
  • 3322h: Analog Input Numerators
  • 3323h: Analog Input Denominators
  • 3700h: Deviation Error Option Code
  • 3701h: Limit Switch Error Option Code
  • 4013h: HW Configuration
  • 6007h: Abort Connection Option Code
  • 6040h: Controlword
  • 6042h: Vl Target Velocity
  • 6046h: Vl Velocity Min Max Amount
  • 6048h: Vl Velocity Acceleration
  • 6049h: Vl Velocity Deceleration
  • 604Ah: Vl Velocity Quick Stop
  • 604Ch: Vl Dimension Factor
  • 605Ah: Quick Stop Option Code
  • 605Bh: Shutdown Option Code
  • 605Ch: Disable Option Code
  • 605Dh: Halt Option Code
  • 605Eh: Fault Option Code
  • 6060h: Modes Of Operation
  • 6065h: Following Error Window
  • 6066h: Following Error Time Out
  • 6067h: Position Window
  • 6068h: Position Window Time
  • 606Dh: Velocity Window
  • 606Eh: Velocity Window Time
  • 606Fh: Velocity Threshold
  • 6070h: Velocity Threshold Time
  • 6071h: Target Torque
  • 6072h: Max Torque
  • 607Ah: Target Position
  • 607Bh: Position Range Limit
  • 607Ch: Home Offset
  • 607Dh: Software Position Limit
  • 607Eh: Polarity
  • 607Fh: Max Profile Velocity
  • 6081h: Profile Velocity
  • 6082h: End Velocity
  • 6083h: Profile Acceleration
  • 6084h: Profile Deceleration
  • 6085h: Quick Stop Deceleration
  • 6086h: Motion Profile Type
  • 6087h: Torque Slope
  • 6091h: Gear Ratio
  • 6092h: Feed Constant
  • 6096h: Velocity Factor
  • 6097h: Acceleration Factor
  • 6098h: Homing Method
  • 6099h: Homing Speed
  • 609Ah: Homing Acceleration
  • 60A2h: Jerk Factor
  • 60A4h: Profile Jerk
  • 60A8h: SI Unit Position
  • 60A9h: SI Unit Velocity
  • 60B0h: Position Offset
  • 60B1h: Velocity Offset
  • 60B2h: Torque Offset
  • 60C1h: Interpolation Data Record
  • 60C2h: Interpolation Time Period
  • 60C4h: Interpolation Data Configuration
  • 60C5h: Max Acceleration
  • 60C6h: Max Deceleration
  • 60E8h: Additional Gear Ratio - Motor Shaft Revolutions
  • 60E9h: Additional Feed Constant - Feed
  • 60EDh: Additional Gear Ratio - Driving Shaft Revolutions
  • 60EEh: Additional Feed Constant - Driving Shaft Revolutions
  • 60F2h: Positioning Option Code
  • 60F8h: Max Slippage
  • 60FEh: Digital Outputs
  • 60FFh: Target Velocity

Category: customer

  • 2701h: Customer Storage Area

Category: drive

  • 3202h: Motor Drive Submode Select
  • 320Dh: Torque Of Inertia Factor
  • 6073h: Max Current
  • 6080h: Max Motor Speed

Category: tuning

  • 2030h: Pole Pair Count
  • 2031h: Max Motor Current
  • 203Bh: I2t Parameters
  • 3203h: Feedback Selection
  • 3380h: Feedback Sensorless
  • 3390h: Feedback Hall
  • 33A0h: Feedback Incremental A/B/I 1
  • 33B0h: Feedback SSI 1
  • 33B1h: Feedback SSI 2
  • 4021h: Ballast Configuration
  • 6075h: Motor Rated Current
  • 608Fh: Position Encoder Resolution
  • 6090h: Velocity Encoder Resolution
  • 60E6h: Additional Position Encoder Resolution - Encoder Increments
  • 60EBh: Additional Position Encoder Resolution - Motor Revolutions

Category: CANopen

  • 2005h: CANopen Baudrate
  • 2006h: CANopen WheelConfig
  • 2007h: CANopen Config
  • 2009h: CANopen NodeID

Starting the save process

  • Uncontrolled motor movements!
  • Control may be affected while saving. Unforeseen reactions can result.
  • ► The motor must be at a standstill before starting the saving process. The motor must not be started while saving.
  • Saving may take a few seconds. Never interrupt the power supply while saving. The state of the saved objects is otherwise undefined.
  • Always wait until the controller has signaled that the save process has been successfully completed with the value "1" in the corresponding subindex in object 1010h.

There is a subindex in object 1010h for each category. To save all objects of this category, the value "65766173h" must be written in the subindex. 1 The controller signals the end of the save process by overwriting the value with a "1".

The following table shows which subindex of object 1010h is responsible for which category.

Subindex Category
01h All categories with the exception of 0Ah (CANopen)
02h Communication
03h Application
04h Customer
05h Drive
06h Tuning
0Ah CANopen

Discarding the saved data

If all objects or one category of saved objects is to be deleted, value "64616F6Ch" must be written in object 1011h. 2 The following subindices correspond to a category here:

Subindex Category
01h All categories (reset to factory settings) with the exception of 06h (Tuning) and 0Ah (CANopen)
02h Communication
03h Application
04h Customer
05h Drive
06h Tuning
0Ah CANopen

The saved objects are subsequently discarded; the change does not take effect until after the controller is restarted. You can restart the controller by entering the value "746F6F62h" in 2800h:01h.

  • Objects of category 06h (Tuning) are determined by Auto setup and are not reset when resetting to factory settings with subindex 01h (thereby making it unnecessary to again perform an auto setup). You can reset these objects with subindex 06h.
  • Objects of category 0Ah (CANopen) are not reset with subindex 01h.

Verifying the configuration

Object 1020h can be used to verify the configuration. It acts as a modification marker similar to common text editors: as soon as a file is modified in the editor, a marker (usually an asterisk) is added.

The entries of object 1020h can be written with a date and time and then saved together with all other savable objects with 1010h:01.

The entries of 1020h are reset to "0" as soon as a savable object (including 1010h:0xh, except for 1010h:01h and 1020h) is written.

The following sequence makes verification possible:
  1. An external tool or master configures the controller.
  2. The tool or master sets the value in object 1020h.
  3. The tool or master activates the saving of all objects 1010h:01h = 65766173h. The date and time in object 1020h are also saved.
After the controller is restarted, the master can check the value in 1020h:01h and 1020:01h. If one of the values is "0", the object dictionary was changed after the saved values were loaded. If the date or time in 1020 does not correspond to the expected value, objects were probably saved with values other than those that were expected.
1 This corresponds to the decimal of 1702257011d or the ASCII string save.
2 This corresponds to the decimal of 1684107116d or the ASCII string load.
▶   下一个