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. 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. 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 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 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 3242h: Digital Input Routing 3243h: Digital Input Homing Capture 3250h: Digital Outputs Control 3252h: Digital Output Routing 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 33B4h: Feedback SSI 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 CAUTION: 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 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. Note: 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: 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. 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.