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 . 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. General 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. User: Parameters that are written and read by the customer/user only and are ignored by the controller firmware. Motor: Parameters related to the motor (BLDC/Stepper, motor current, closed/open-loop…). Some are set and saved by auto setup. Sensors: Parameters related to sensor/encoder that are set either by auto setup or that can be found in the data sheets. Ethernet: Parameters related to Ethernet 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 1014h: COB-ID EMCY 2102h: Fieldbus Module Control 3502h: MODBUS Rx PDO Mapping 3602h: MODBUS Tx PDO Mapping Category: Application 2034h: Upper Voltage Warning Level 2035h: Lower Voltage Warning Level 2038h: Brake Controller Timing 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: Pulse Generator Configuration 2290h: PDI Control 2300h: NanoJ Control 2800h: Bootloader And Reboot Settings 320Dh: Moment Of Inertia 3219h: Current Configuration 321Ah: Current Controller Parameters 321Bh: Velocity Controller Parameters 321Ch: Position Controller Parameters 321Dh: Feedforward 321Eh: Voltage Limit 323Ah: User Pin Settings 3241h: Digital Input Position Capture 3242h: Digital Input Routing 3250h: Digital Outputs Control 3252h: Digital Output Routing 325Ah: Outputs 3260h: Pwm Output 0 3261h: Pwm Output 1 3262h: Pwm Output 2 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 4015h: Special Drive Modes 4021h: Ballast Configuration 6007h: Abort Connection Option Code 6040h: Controlword 605Ah: Quick Stop Option Code 605Bh: Shutdown Option Code 605Ch: Disable Operation Option Code 605Dh: Halt Option Code 605Eh: Fault Reaction 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 6080h: Max Motor Speed 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 60F2h: Position Option Code 60F8h: Max Slippage 60FEh: Digital Outputs 60FFh: Target Velocity Category: User 2701h: Customer Storage Area Category: Motor 2030h: Pole Pair Count 3202h: Motor Drive Submode Select 6073h: Max Current 6075h: Motor Rated Current Category: Movement PLACEHOLDER DRIVE Category: Sensor 3203h: Feedback Selection 3380h: Feedback Sensorless 3390h: Feedback Hall 33A0h: Feedback Incremental A/B/I 1 33B0h: Feedback SSI 1 60E6h: Additional Position Encoder Resolution - Encoder Increments 60EBh: Additional Position Encoder Resolution - Motor Revolutions 60F1h: Additional Encoder Inversion Category: Tuning PLACEHOLDER TUNING Category: Modbus RTU 2028h: MODBUS Slave Address 202Ah: MODBUS RTU Baudrate 202Dh: MODBUS RTU Parity Category: Ethernet 2010h: IP-Configuration 2011h: Static-IPv4-Address 2012h: Static-IPv4-Subnet-Mask 2013h: Static-IPv4-Gateway-Address 2017h: LLDP Non-volatile Storage Starting the save process image/svg+xml CAUTION image/svg+xml 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. Note: 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 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet 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 (Sensor) and 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet 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. Note: Objects of category 06h (Sensor) 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. 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: An external tool or master configures the controller. The tool or master sets the value in object 1020h. 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. This also applies to changes in the dictionary after a firmware update, eg, if a saved object does not exist any more. 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.
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 . 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. General 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. User: Parameters that are written and read by the customer/user only and are ignored by the controller firmware. Motor: Parameters related to the motor (BLDC/Stepper, motor current, closed/open-loop…). Some are set and saved by auto setup. Sensors: Parameters related to sensor/encoder that are set either by auto setup or that can be found in the data sheets. Ethernet: Parameters related to Ethernet 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 1014h: COB-ID EMCY 2102h: Fieldbus Module Control 3502h: MODBUS Rx PDO Mapping 3602h: MODBUS Tx PDO Mapping Category: Application 2034h: Upper Voltage Warning Level 2035h: Lower Voltage Warning Level 2038h: Brake Controller Timing 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: Pulse Generator Configuration 2290h: PDI Control 2300h: NanoJ Control 2800h: Bootloader And Reboot Settings 320Dh: Moment Of Inertia 3219h: Current Configuration 321Ah: Current Controller Parameters 321Bh: Velocity Controller Parameters 321Ch: Position Controller Parameters 321Dh: Feedforward 321Eh: Voltage Limit 323Ah: User Pin Settings 3241h: Digital Input Position Capture 3242h: Digital Input Routing 3250h: Digital Outputs Control 3252h: Digital Output Routing 325Ah: Outputs 3260h: Pwm Output 0 3261h: Pwm Output 1 3262h: Pwm Output 2 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 4015h: Special Drive Modes 4021h: Ballast Configuration 6007h: Abort Connection Option Code 6040h: Controlword 605Ah: Quick Stop Option Code 605Bh: Shutdown Option Code 605Ch: Disable Operation Option Code 605Dh: Halt Option Code 605Eh: Fault Reaction 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 6080h: Max Motor Speed 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 60F2h: Position Option Code 60F8h: Max Slippage 60FEh: Digital Outputs 60FFh: Target Velocity Category: User 2701h: Customer Storage Area Category: Motor 2030h: Pole Pair Count 3202h: Motor Drive Submode Select 6073h: Max Current 6075h: Motor Rated Current Category: Movement PLACEHOLDER DRIVE Category: Sensor 3203h: Feedback Selection 3380h: Feedback Sensorless 3390h: Feedback Hall 33A0h: Feedback Incremental A/B/I 1 33B0h: Feedback SSI 1 60E6h: Additional Position Encoder Resolution - Encoder Increments 60EBh: Additional Position Encoder Resolution - Motor Revolutions 60F1h: Additional Encoder Inversion Category: Tuning PLACEHOLDER TUNING Category: Modbus RTU 2028h: MODBUS Slave Address 202Ah: MODBUS RTU Baudrate 202Dh: MODBUS RTU Parity Category: Ethernet 2010h: IP-Configuration 2011h: Static-IPv4-Address 2012h: Static-IPv4-Subnet-Mask 2013h: Static-IPv4-Gateway-Address 2017h: LLDP Non-volatile Storage Starting the save process image/svg+xml CAUTION image/svg+xml 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. Note: 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 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet 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 (Sensor) and 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet 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. Note: Objects of category 06h (Sensor) 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. 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: An external tool or master configures the controller. The tool or master sets the value in object 1020h. 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. This also applies to changes in the dictionary after a firmware update, eg, if a saved object does not exist any more. 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.
General 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. User: Parameters that are written and read by the customer/user only and are ignored by the controller firmware. Motor: Parameters related to the motor (BLDC/Stepper, motor current, closed/open-loop…). Some are set and saved by auto setup. Sensors: Parameters related to sensor/encoder that are set either by auto setup or that can be found in the data sheets. Ethernet: Parameters related to Ethernet 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 1014h: COB-ID EMCY 2102h: Fieldbus Module Control 3502h: MODBUS Rx PDO Mapping 3602h: MODBUS Tx PDO Mapping
Category: Application 2034h: Upper Voltage Warning Level 2035h: Lower Voltage Warning Level 2038h: Brake Controller Timing 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: Pulse Generator Configuration 2290h: PDI Control 2300h: NanoJ Control 2800h: Bootloader And Reboot Settings 320Dh: Moment Of Inertia 3219h: Current Configuration 321Ah: Current Controller Parameters 321Bh: Velocity Controller Parameters 321Ch: Position Controller Parameters 321Dh: Feedforward 321Eh: Voltage Limit 323Ah: User Pin Settings 3241h: Digital Input Position Capture 3242h: Digital Input Routing 3250h: Digital Outputs Control 3252h: Digital Output Routing 325Ah: Outputs 3260h: Pwm Output 0 3261h: Pwm Output 1 3262h: Pwm Output 2 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 4015h: Special Drive Modes 4021h: Ballast Configuration 6007h: Abort Connection Option Code 6040h: Controlword 605Ah: Quick Stop Option Code 605Bh: Shutdown Option Code 605Ch: Disable Operation Option Code 605Dh: Halt Option Code 605Eh: Fault Reaction 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 6080h: Max Motor Speed 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 60F2h: Position Option Code 60F8h: Max Slippage 60FEh: Digital Outputs 60FFh: Target Velocity
Category: Motor 2030h: Pole Pair Count 3202h: Motor Drive Submode Select 6073h: Max Current 6075h: Motor Rated Current
Category: Sensor 3203h: Feedback Selection 3380h: Feedback Sensorless 3390h: Feedback Hall 33A0h: Feedback Incremental A/B/I 1 33B0h: Feedback SSI 1 60E6h: Additional Position Encoder Resolution - Encoder Increments 60EBh: Additional Position Encoder Resolution - Motor Revolutions 60F1h: Additional Encoder Inversion
Category: Ethernet 2010h: IP-Configuration 2011h: Static-IPv4-Address 2012h: Static-IPv4-Subnet-Mask 2013h: Static-IPv4-Gateway-Address 2017h: LLDP Non-volatile Storage
Starting the save process image/svg+xml CAUTION image/svg+xml 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. Note: 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 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet
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 (Sensor) and 0Ch (Ethernet) 02h Communication 03h Application 04h User 05h Motor 06h Sensor 0Ch Ethernet 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. Note: Objects of category 06h (Sensor) 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.
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: An external tool or master configures the controller. The tool or master sets the value in object 1020h. 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. This also applies to changes in the dictionary after a firmware update, eg, if a saved object does not exist any more. 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.