1. Introduction

This documentation explains in detail how the Modbus interface of the Smart Flex Effector works. Not only general information about working with the Modbus functionalities of the Smart Flex Effector is provided, but also all available registers are discussed in detail.

2. General protocol information

Modbus RTU is the communication protocol used by the Smart Flex Effector for exchanging data with other devices in industrial control systems. This protocol uses binary representation and a master-slave architecture, where the Smart Flex Effector acts as the slave device and receives commands from the master device, such as a programmable logic controller. The Smart Flex Effector uses Modbus RTU to communicate with other devices and exchange information about its operational status and control signals.

Please find the detailed specifications and documentation for the Modbus protocol on the official Modbus website at https://www.modbus.org/specs.php. Please note that this documentation is not covered in the current document.

2.1. Supported function codes

The Smart Flex Effector supports the following function codes:

Name Description

Read Holding Registers

The Read Holding Registers function code is used to request data from one or more input/holding registers.

Read Input Registers

The Read Input Registers function code is used to request data from one or more input/holding registers.

Write Multiple Registers

The Write Multiple Registers function code is used to write values to multiple holding registers in a single request.

Write Single Register

The Write Single Register function code in is used to write a single value to a holding register.

Read/Write Multiple Registers

The Read/Write Multiple Registers function code is used to request data from one or more input/holding registers and then write data to one or more holding registers in a single request.

Read File Record

The Read File Record function code in is used to request data from one or more file records.

Read Device Identification

Thr Read Device Identification function code allows reading the identification and additional information of the Smart Flex Effector.

2.2. Datatypes

The following table shows the different data types used in the Modbus protocol of the Smart Flex Effector. It describes how these data types are represented in the Modbus registers. The encoding and decoding of the data must be done in big-endian format.

Data type Description Register representation Ex. register representation

UINT8

8 bit integer with positive sign.

1x 16 bit register

123 = [123]

UINT16

16 bit integer with positive sign.

1x 16 bit register

34524 = [34524]

UINT32

32 bit integer with positive sign.

2x 16 bit register

2974880010= [45393, 4362]

UINT64

64 bit integer with positive sign.

4x 16 bit register

9223372036854775807 = [2047, 65535, 65535, 65535]

INT32

32 bit integer with positive/negative sign.

2x 16 bit register

-6003 = [65535, 59533]

ENUM

Integer that is interpreted as an enum.

1x 16 bit register

7 = [7]

FLOAT

Floating point number according to IEEE754.

2x 16 bit register

-22.460922241210938 = [49587, 45048]

BOOL

Boolean value.

1x 16 bit register

True = [1], False = [0]

ACTION

Performs an action when value is set to 1.

1x 16 bit register

1 = [1]

STRING

Freely selectable sequence of ASCII characters (8 bit).

Depending on the string length. 2 characters possible per register. Termination string with /0

Serial number with maximum length 20: 00000002C87 = [12336, 12336, 12336, 12338, 17208, 14080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

2.3. Error handling

2.3.1. Modbus specific error handling

Modbus has its own error handling mechanism. When a device receives a formally incorrect or invalid message, it responds with an exception response, indicating that the message was not received or processed correctly. The protocol also includes a cyclic redundancy check (CRC) field that detects errors caused by noise, interference, or other communication problems. The error handling is implemented in the Smart Flex Effector according to the Modbus Specification (https://www.modbus.org/specs.php).

2.3.2. Extended error handling

Additional error detection mechanisms have been implemented as Modbus mechanisms alone are not sufficient to catch all errors. As Modbus does not provide a way to transport these errors in the response message, they can be accessed via the Last command status register. This kind of errors are not directly visible in the Modbus response. To use the extended error handling the Last command status register must be read in an additional modbus request. The table below shows the individual errors and describes their reasons and effects.

Error class Description Impact

WRONG_MODE

Detection whether the user has the authorization to set the specific register (calibration mode, serial mode when locking).

The data of the message is discarded and not written into the registers. This also applies to the correct data contained in the same frame in case of a Write Multiple Registers operation.

STORAGE_PROTECTION

Protection of the EEPROM due to too frequent writing.

The data of the message is discarded and not written into the registers. This also applies to the correct data contained in the same frame in case of a Write Multiple Registers operation.

INVALID_VALUE

The written value is outside the valid value range of the data or the combination of written data is invalid.

The data of the message is discarded and not written into the registers. This also applies to the correct data contained in the same frame in case of a Write Multiple Registers operation.

PROCESSING_ERROR

An unpredictable error occurred while processing valid written values.

The SFE tries to complete the processing of the data, since these are formally correct and no error handling is known for the unexpected error.

2.4. Register access permissions

Various access permissions are defined for the data on the Smart Flex Effector:

  • Read/Write: Read and write access to the register is possible. These registers are designed as holding registers.

  • Readonly: Only read access to the register is possible. These registers are designed as input registers.

  • Writeonly: Only write access to the register is possible. These registers are designed as holding registers. Since there is no write-only register according to Modbusspec, it is theoretically also possible to read out these registers. In this case, however, not the actual values of the registers are returned but 0.

3. Function description

This section describes the functions of the Smart Flex Effector.

3.1. Register

3.1.1. Acceleration

Description:

The acceleration actual values in the directions X, Y and Z.

Register:

Register type Start address Register size Access permission

Input Register

27

6

Read-only

Data description:

Type Description

FLOAT

Acceleration value in x-direction (unit g=9.81 m/s2).

FLOAT

Acceleration value in y-direction (unit g=9.81 m/s2).

FLOAT

Acceleration value in z-direction (unit g=9.81 m/s2).

3.1.2. Acceleration absolute

Description:

The absolute acceleration corrected by the acceleration due to gravity.

Register:

Register type Start address Register size Access permission

Input Register

33

2

Read-only

Data description:

Type Description

FLOAT

The absolute acceleration.

3.1.3. Baudrate

Description:

The baudrate of the device.

Register:

Register type Start address Register size Access permission

Holding Register

1378

2

Read / Write

Data description:

Type Valid values Description

UINT32

9600, 38400, 115200, 921600

The baudrate of the device.

3.1.4. Command delay

Description:

The response delay for a Modbus request. The value is the number of pause characters that means the time varies between different baudrates.

Register:

Register type Start address Register size Access permission

Holding Register

1381

1

Read / Write

Data description:

Type Valid values Description

UINT16

[0, 10]

The response delay.

3.1.5. Compensation enabled flag

Description:

Flag for activating the temperature compensation which should be activated in most cases for an accurate pose result.

Register:

Register type Start address Register size Access permission

Holding Register

1382

1

Read / Write

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

The compensation enabled flag.
TRUE = Compensation enabled.
FALSE = Compensation disabled.

3.1.6. Error log count

Description:

The number of errors present in the Error log.

Register:

Register type Start address Register size Access permission

Input Register

50

1

Read-only

Data description:

Type Valid values Description

UINT8

[0, 100]

The number of errors.

3.1.7. Io config

Description:

The functionality configuration of the input/output pins.

Register:

Register type Start address Register size Access permission

Holding Register

1252

3

Read / Write

Data description:

Type Valid values Description

ENUM

IO_ERROR=0
IO_LOCK_STATE=1
IO_LOCK=2
IO_QUALITY_IN_RANGE=3
IO_QUALITY_TRIGGER=4
IO_OFF=5
IO_INPUT=6
IO_OUTPUT=7
IO_LOGGER_TRIGGER=8

Configuration/Function of digital pin 0.
IO_ERROR = Error state (LOW = No error, HIGH = Error state),
IO_LOCK_STATE = State of the motor (LOW = Unlocked, HIGH = Locked),
IO_LOCK = Lock/Unlock via digital input (LOW = Unlock, HIGH = Lock),
IO_QUALITY_IN_RANGE = Quality in range state (LOW = Not in Range, HIGH = In Range),
IO_QUALITY_TRIGGER = Quality trigger (Change between LOW/HIGH triggers a quality check),
IO_OFF = Digital pin not used (configured as input),
IO_INPUT = Digital pin used as general input (Pin can be set to LOW/HIGH by protocol),
IO_OUTPUT = Digital pin used as general output (Pin state can be read by protocol),
IO_LOGGER_TRIGGER = Trigger logger start (Change between LOW/HIGH triggers a logger start).

ENUM

IO_ERROR=0
IO_LOCK_STATE=1
IO_LOCK=2
IO_QUALITY_IN_RANGE=3
IO_QUALITY_TRIGGER=4
IO_OFF=5
IO_INPUT=6
IO_OUTPUT=7
IO_LOGGER_TRIGGER=8

Configuration/Function of digital pin 1 (See pin 0 for enum description).

ENUM

IO_LOCK=2
IO_QUALITY_TRIGGER=4
IO_OFF=5
IO_INPUT=6
IO_LOGGER_TRIGGER=8

Configuration/Function of digital pin 2 (See pin 0 for enum description).

3.1.8. Io state

Description:

The logical states of the input/output pins.

Register:

Register type Start address Register size Access permission

Holding Register

1255

3

Read / Write

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

The logical state of pin 0.
FALSE = Pin state low.
TRUE = Pin state high.

BOOL

FALSE=0
TRUE=1

The logical state of pin 1.
FALSE = Pin state low.
TRUE = Pin state high.

BOOL

FALSE=0
TRUE=1

The logical state of pin 2.
FALSE = Pin state low.
TRUE = Pin state high.

3.1.9. Last command status

Description:

The status of the last executed command.

Register:

Register type Start address Register size Access permission

Input Register

51

1

Read-only

Data description:

Type Valid values Description

ENUM

COMMAND_STATUS_OK=0
COMMAND_STATUS_INVALID_VALUE_ERROR=1
COMMAND_STATUS_WRONG_MODE=2
COMMAND_STATUS_MEMORY_WRITE_PROTECTION=3
COMMAND_STATUS_PROCESSING_ERROR=4

COMMAND_STATUS_OK = No error occurred,
COMMAND_STATUS_INVALID_VALUE_ERROR = The value passed is invalid,
COMMAND_STATUS_WRONG_MODE = The device is in the wrong mode to set the value,
COMMAND_STATUS_MEMORY_WRITE_PROTECTION = The value is set to often and therefore writing is blocked to protect the memory,
COMMAND_STATUS_PROCESSING_ERROR = An error is occurred while processing the set value.

3.1.10. Led mode

Description:

The LED mode which can show different views on the LED ring of the device.

Register:

Register type Start address Register size Access permission

Holding Register

1258

1

Read / Write

Data description:

Type Valid values Description

ENUM

OFF=0
STATUS=1
IO=2
QUALITY=3
GRAPH_XYZ=4
SENSOR=5
CUSTOM=6

OFF = The LEDs are turned off,
STATUS = Graphically displays the lock mode, sensor status and lock status,
IO = Graphically displays the levels of the digital IOs in addition to the status mode,
QUALITY = Graphically represents the quality mode,
GRAPH_XYZ = Graphically represents the deflection in X/Y/Z direction,
SENSOR = Graphically displays the sensor diagnostics,
CUSTOM = Shows that a user-defined LED representation is active.

3.1.11. Led multicolor data

Description:

Set each of the 36 LEDs to a defined RGB value. By setting these registers the Led mode changes to CUSTOM.

Register:

Register type Start address Register size Access permission

Holding Register

1262

108

Read / Write

Data description:

Type Description

List(length=36)

Type Valid values Description

UINT8

[0, 255]

The red color.

UINT8

[0, 255]

The green color.

UINT8

[0, 255]

The blue color.

3.1.12. Led single color data

Description:

Set the color of all LEDs to the same value. By setting these registers the Led mode changes to CUSTOM.

Register:

Register type Start address Register size Access permission

Holding Register

1259

3

Write-only

Data description:

Type Valid values Description

UINT8

[0, 255]

The red color.

UINT8

[0, 255]

The green color.

UINT8

[0, 255]

The blue color.

3.1.13. Lock mode

Description:

The persistent lock mode which changes between using the Modbus protocol or the digital pins for locking/unlocking.

Register:

Register type Start address Register size Access permission

Holding Register

1007

1

Read / Write

Data description:

Type Valid values Description

ENUM

DIGIN=0
SERIAL=1

SERIAL = Lock/Unlock via serial interface,
DIGIN = Lock/Unlock via digital inputs.

3.1.14. Logger config data

Description:

The logger configuration parameters.

Register:

Register type Start address Register size Access permission

Holding Register

1370

5

Read / Write

Data description:

Type Valid values Description

UINT16

5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

The logger recording interval in milliseconds.

UINT16

[1, 2000]

The logger recording max count.

BOOL

FALSE=0
TRUE=1

Flag that indicates that the logging stops when max count was reached.
FALSE = Single shot disabled
TRUE = Single shot enabled.

ENUM

LOGGING_TRIGGER_NONE=0
LOGGING_TRIGGER_IO=1
LOGGING_TRIGGER_QUALITY=2

The source for starting the logger recording.
LOGGING_TRIGGER_NONE = Logger can only be started manually by command.
LOGGING_TRIGGER_IO = Logger can be started by toggling an IO.
LOGGING_TRIGGER_QUALITY = Logger can be triggered when quality mode changes to "NOT_IN_RANGE".

UINT16

[0, 2000]

The number of records that are recorded before the trigger is fired. Value must be less than max count.

3.1.15. Logger data length

Description:

The number of records in the Logger data.

Register:

Register type Start address Register size Access permission

Input Register

41

1

Read-only

Data description:

Type Description

UINT16

The number of records.

3.1.16. Logger running flag

Description:

Flag to check if the logger is currently running.

Register:

Register type Start address Register size Access permission

Input Register

36

1

Read-only

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

Flag to check if the logger is currently running.
FALSE = Not running.
TRUE = Running.

3.1.17. Logger start

Description:

Action to trigger the start of the logger.

Register:

Register type Start address Register size Access permission

Holding Register

1375

1

Write-only

Data description:

Type Description

ACTION

Action to trigger the start of the logger.

3.1.18. Logger start timestamp

Description:

The start time of the logger recording in milliseconds (based on the System up time).

Register:

Register type Start address Register size Access permission

Input Register

37

4

Read-only

Data description:

Type Description

UINT64

The start time of the logger recording in milliseconds.

3.1.19. Logger stop

Description:

Action to trigger the stop of the logger.

Register:

Register type Start address Register size Access permission

Holding Register

1376

1

Write-only

Data description:

Type Description

ACTION

Action to trigger the stop of the logger.

3.1.20. Modbus address

Description:

The Modbus device address.

Register:

Register type Start address Register size Access permission

Holding Register

1386

1

Read / Write

Data description:

Type Valid values Description

UINT8

[1, 247]

The Modbus device address.

3.1.21. Motor current lock state

Description:

The current lock state of the Smart Flex Effector.

Register:

Register type Start address Register size Access permission

Input Register

26

1

Read-only

Data description:

Type Valid values Description

ENUM

UNLOCKED=0
LOCKED=1
TIMEOUT=2
RUNNING=3
ERROR=4

The current lock state of the motor.
UNLOCKED = The motor is unlocked,
LOCKED = The motor is locked,
TIMEOUT = The motor has not reached the target position within the set timeout,
RUNNING = The motor is currently running to the target position,
ERROR = An error occurred while trying to reach the target position.

3.1.22. Motor target lock state

Description:

The target lockstate. To validate that the lockstate is reached Motor current lock state must be read.

Register:

Register type Start address Register size Access permission

Holding Register

1000

1

Read / Write

Data description:

Type Valid values Description

ENUM

UNLOCKED=0
LOCKED=1

UNLOCKED = Set the target lock state to unlocked,
LOCKED = Set the target lock state to locked.

3.1.23. Motor timeout

Description:

The persistent motor lock timeout which is used by default. This can be overwritten for specific use cases.

Register:

Register type Start address Register size Access permission

Holding Register

1006

1

Read / Write

Data description:

Type Valid values Description

UINT16

[200, 2000]

The persistent motor lock timeout.

3.1.24. Motor timeout temporary

Description:

The non-persistent temporary lock/unlock timeout which is used when the Motor timeout temporary flag is set. This value is overwritten if the Motor velocity temporary flag is set and the Motor velocity temporary value is beeing set.

Register:

Register type Start address Register size Access permission

Holding Register

1003

1

Read / Write

Data description:

Type Valid values Description

UINT16

[200, 2000]

Flag to set motor timeout temporary active.

3.1.25. Motor timeout temporary flag

Description:

Flag to set Motor timeout temporary active. If this flag and the Motor velocity temporary flag are both not set the persistent Motor timeout is used. If only the Motor velocity temporary flag and the Motor velocity temporary value are set the calculated value will be used.

Register:

Register type Start address Register size Access permission

Holding Register

1004

1

Read / Write

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

Flag to set the Motor timeout temporary active.
FALSE=Not active.
TRUE=Active.

3.1.26. Motor velocity

Description:

The persistent motor velocity which is used by default. Changing the velocity automatically calculates the Motor timeout.

Register:

Register type Start address Register size Access permission

Holding Register

1005

1

Read / Write

Data description:

Type Valid values Description

UINT8

[1, 100]

The persistent motor velocity.

3.1.27. Motor velocity temporary

Description:

The non-persistent temporary lock/unlock velocity which is used when the Motor velocity temporary flag is set.
Changing the velocity automatically calculates the Motor timeout temporary.

Register:

Register type Start address Register size Access permission

Holding Register

1001

1

Read / Write

Data description:

Type Valid values Description

UINT8

[1, 100]

The non-persistent temporary lock/unlock velocity.

3.1.28. Motor velocity temporary flag

Description:

Flag to set the Motor velocity temporary active. If not set the persistent Motor velocity is used.

Register:

Register type Start address Register size Access permission

Holding Register

1002

1

Read / Write

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

Flag to set the Motor velocity temporary active.
FALSE=Not active.
TRUE=Active.

3.1.29. Pose calculation time

Description:

The time needed to calculate the deflection of the adapter plate in milliseconds.

Register:

Register type Start address Register size Access permission

Input Register

12

1

Read-only

Data description:

Type Description

UINT16

The time needed to calculate the deflection of the adapter plate in milliseconds.

3.1.30. Position calculation status

Description:

The result status of the deflection calculation of the adapter plate.

Register:

Register type Start address Register size Access permission

Input Register

13

1

Read-only

Data description:

Type Valid values Description

ENUM

HEXAPOD_OK=0
HEXAPOD_ERROR=1
HEXAPOD_TRAPPED=2
HEXAPOD_MAX_ITERATIONS=3
HEXAPOD_FAILED_FTOL=4
HEXAPOD_FAILED_XTOL=5
HEXAPOD_FAILED_GTOL=6
HEXAPOD_PLAUSIBILITY_ERROR=7

The pose calculation status.
OK = Calculation of deflection with high accuracy successful,
ERROR_FTOL = Calculation error (Termination tolerance ftol exceeded),
ERROR_GTOL = Calculation error (Termination tolerance gtol exceeded),
ERROR_XTOL = Calculation error (Termination tolerance xtol exceeded),
ERROR_MAX_ITERATIONS = No valid result could be calculated within the maximum iterations,
ERROR_TAPPED = Calculation error (The calculation does not approach the solution),
ERROR = Calculation error (Error during calculation),
ERROR_PLAUSIBILITY = The calculated values are not plausible and therefore wrong.

3.1.31. Position filter

Description:

When set to a value higher than 0 the moving average filter for the Position pose values is activated. The value then defines the moving average filter length.

Register:

Register type Start address Register size Access permission

Holding Register

1377

1

Read / Write

Data description:

Type Valid values Description

UINT16

[0, 128]

The moving average filter length.

3.1.32. Position pose

Description:

Deflection of the adapter plate in 6 degrees of freedom (Pose).

Register:

Register type Start address Register size Access permission

Input Register

0

12

Read-only

Data description:

Type Description

FLOAT

X-Position(mm)

FLOAT

Y-Position(mm)

FLOAT

Z-Position(mm)

FLOAT

Rx-Position(degree)

FLOAT

Ry-Position(degree)

FLOAT

Rz-Position(degree)

3.1.33. Protocol mode

Description:

The protocol mode to switch between the Modbus and the text based protocol.

Register:

Register type Start address Register size Access permission

Holding Register

1384

1

Read / Write

Data description:

Type Valid values Description

ENUM

TEXT=0
MODBUS=1

TEXT = Protocol mode is set to text protocol.
MODBUS = Protocol mode is set to Modbus.

3.1.34. Quality active threshold

Description:

Read/Write which of the Quality thresholds are currently used for quality evaluation.

Register:

Register type Start address Register size Access permission

Holding Register

1009

1

Read / Write

Data description:

Type Valid values Description

UINT16

[0, 9]

The quality active threshold.

3.1.35. Quality in range

Description:

Flag to check whether the pose values are within the Quality thresholds when the Quality mode is activated.

Register:

Register type Start address Register size Access permission

Input Register

35

1

Read-only

Data description:

Type Valid values Description

BOOL

FALSE=0
TRUE=1

Quality in range flag.
FALSE = Quality check not OK
TRUE = Quality check OK.

3.1.36. Quality mode

Description:

Persistently set a quality mode that makes a quality evaluation based on the defined Quality thresholds.

Register:

Register type Start address Register size Access permission

Holding Register

1008

1

Read / Write

Data description:

Type Valid values Description

ENUM

QUALITY_TRIGGER=0
QUALITY_PEAK=1
QUALITY_CONTINUOUS=2
QUALITY_OFF=3

QUALITY_TRIGGER = Quality check when triggered by digital inputs or serial interface,
QUALITY_PEAK = Continuous quality check which does not reset to IO(OK) in case of NIO(not OK),
QUALITY_CONTINUOUS = Continuous quality check,
QUALITY_OFF = Quality check switched off.

3.1.37. Quality reset

Description:

Action to reset the result of the quality check.

Register:

Register type Start address Register size Access permission

Holding Register

1251

1

Write-only

Data description:

Type Description

ACTION

Action to reset the result of the quality check.

3.1.38. Quality thresholds

Description:

The minimum and maximum threshold values for the Quality mode can differ depending on the application. Up to 10 parameter sets can be stored. Switching between these can be done via Quality active threshold.

Register:

Register type Start address Register size Access permission

Holding Register

1010

240

Read / Write

Data description:

Type Description

List(length=10)

Type Valid values Description

FLOAT

[-3.0, 3.0]

Lower limit translational displacement in x-direction in mm.

FLOAT

[-3.0, 3.0]

Lower limit translational displacement in y-direction in mm.

FLOAT

[-3.0, 0.2]

Lower limit translational displacement in z-direction in mm.

FLOAT

[-3.4, 3.4]

Lower limit rotation around x-axis in degree.

FLOAT

[-3.4, 3.4]

Lower limit rotation around y-axis in degree.

FLOAT

[-6.8, 6.8]

Lower limit rotation around z-axis in degree.

FLOAT

[-3.0, 3.0]

Upper limit translational displacement in x-direction in mm.

FLOAT

[-3.0, 3.0]

Upper limit translational displacement in y-direction in mm.

FLOAT

[-3.0, 0.2]

Upper limit translational displacement in z-direction in mm.

FLOAT

[-3.4, 3.4]

Upper limit rotation around x-axis in degree.

FLOAT

[-3.4, 3.4]

Upper limit rotation around y-axis in degree.

FLOAT

[-6.8, 6.8]

Upper limit rotation around z-axis in degree.

3.1.39. Quality trigger

Description:

Action to trigger the quality check of the quality mode, if the quality mode is set to QUALITY_TRIGGER.

Register:

Register type Start address Register size Access permission

Holding Register

1250

1

Write-only

Data description:

Type Description

ACTION

Action to trigger quality check.

3.1.40. Reboot

Description:

Action to trigger the reboot of the device.

Register:

Register type Start address Register size Access permission

Holding Register

1380

1

Write-only

Data description:

Type Description

ACTION

Action to trigger the reboot of the device.

3.1.41. Settings reset

Description:

Action to set the settings to default values.

Register:

Register type Start address Register size Access permission

Holding Register

1385

1

Write-only

Data description:

Type Description

ACTION

Action to set the settings to default values.

3.1.42. System boot count

Description:

The total number of boot counts.

Register:

Register type Start address Register size Access permission

Input Register

4000

2

Read-only

Data description:

Type Description

UINT32

The total number of boot counts.

3.1.43. System lock count

Description:

Total number of lock/unlock operations.

Register:

Register type Start address Register size Access permission

Input Register

48

2

Read-only

Data description:

Type Description

UINT32

Total number of lock/unlock operations.

3.1.44. System odometer

Description:

The total distance moved by deflection in meters.

Register:

Register type Start address Register size Access permission

Input Register

4002

2

Read-only

Data description:

Type Description

FLOAT

The total distance moved by deflection in meters.

3.1.45. System temperature

Description:

The system temperature in celsius.

Register:

Register type Start address Register size Access permission

Input Register

46

2

Read-only

Data description:

Type Description

FLOAT

The system temperature in celsius.

3.1.46. System up time

Description:

The system uptime in milliseconds.

Register:

Register type Start address Register size Access permission

Input Register

42

4

Read-only

Data description:

Type Description

UINT64

The system uptime in milliseconds.

3.1.47. Zero position

Description:

Action to set the pose to zero in locked state which can only be used when the Compensation enabled flag is FALSE.

Register:

Register type Start address Register size Access permission

Holding Register

1383

1

Write-only

Data description:

Type Description

ACTION

Action to set positon to zero.

3.2. File records

3.2.1. Error log

Description:

The error log, which can store up to 100 errors. The number of errors available can be read from Error log count.

Register:

File ID Number of records Record length Access permission

1

100

28

Read-only

Data description:

Type Description

List(length=100)

Type Description

UINT8

Error type.
1 = HandledError (Error is handled by the software),
2 = UnhandledError (Error could not be handled internally),
3 = CriticalError (Serious error: the SFE cannot execute any more functions).

UINT8

Error module (The number of the error module).

UINT8

Error code (The code of the error in the respective error module).

UINT8

Error active status (Indicates whether the error state is still active. 0 = not active, 1 = active).

FLOAT

X-Position(mm)

FLOAT

Y-Position(mm)

FLOAT

Z-Position(mm)

FLOAT

Rx-Position(degree)

FLOAT

Ry-Position(degree)

FLOAT

Rz-Position(degree)

UINT8

The motor velocity.

UINT8

Current motor state.
Device is locked = 0,
Device is unlocked = 1,
A timeout occurred during the last lock/unlock = 2,
A lock/unlock is in progress = 3,
An error occurred during the lock/unlock = 4,
The initial motor state could not be determined = 254.

UINT8

Target state motor.
Device is locked = 0,
Device is unlocked = 1,
A timeout occurred during the last lock/unlock = 2,
A lock/unlock is currently running = 3,
An error occurred during the lock/unlock = 4,
The initial motor state could not be determined = 254.

UINT16

Reserved space.

UINT8

State of the digital IO pin 2 (LOW = 0 / HIGH = 1).

UINT8

State of the digital IO pin 0 (LOW = 0 / HIGH = 1).

UINT8

State of the digital IO pin 1 (LOW = 0 / HIGH = 1).

UINT8

Bootloader error flag.
Indicates whether the device was in the bootloader at the time of the error.
0 = Error in firmware.
1 = Error in bootloader.

UINT64

Error time (The time at which the error occurred in milliseconds).

3.2.2. Logger data

Description:

The logger data, which can store up to 2000 records. The number of logs available can be read from Logger data length.

Register:

File ID Number of records Record length Access permission

2

2000

20

Read-only

Data description:

Type Description

List(length=2000)

Type Description

UINT32

The time of the recording.

FLOAT

X-Position(mm)

FLOAT

Y-Position(mm)

FLOAT

Z-Position(mm)

FLOAT

Rx-Position(degree)

FLOAT

Ry-Position(degree)

FLOAT

Rz-Position(degree)

FLOAT

Acceleration value in x-direction (unit g=9.81 m/s2).

FLOAT

Acceleration value in y-direction (unit g=9.81 m/s2).

FLOAT

Acceleration value in z-direction (unit g=9.81 m/s2).

3.3. Device identification

3.3.1. Bootloader version

Description:

The bootloader version.

Register:

Object ID String length

128

20

3.3.2. Firmware version

Description:

The software version number of the device.

Register:

Object ID String length

2

20

3.3.3. Model name

Description:

The model name.

Register:

Object ID String length

5

100

3.3.4. Product name

Description:

The product name.

Register:

Object ID String length

4

100

3.3.5. Serial number

Description:

The serial number of the device.

Register:

Object ID String length

1

40

3.3.6. Vendor name

Description:

The vendor name of the device.

Register:

Object ID String length

0

100

3.3.7. Vendor url

Description:

The vendor URL.

Register:

Object ID String length

3

100

4. Overview tables

4.1. Registers

generate_static_documentation_from_modbus_data_model_for_customer


4.2. File records

generate_static_documentation_from_modbus_data_model_for_customer_fr


4.3. Device identification

generate_static_documentation_from_modbus_data_model_for_customer_di