Warning

You are reading an old version of this documentation. If you want up-to-date information, please have a look at 2023.9 .

Asycube Modbus Register Table

Asycube data can be accessed via Modbus TCP through Holding Registers. The registers presented in this section describes all the Asycube Holding Registers.

All Holding Registers are 2 bytes long. Their type is generally a WORD or an UNSIGNED_INT16. Some of the Holding Registers can have negative values(see Data Range specification for each register).In this case, their type is SIGNED_INT16.

All registers are either Read-only or Write-only. The registers addresses are shown with the address offset of the zone and the relative address of the register (e.g. “64+3” means that the register is in the zone starting at address 64).

Control Holding Registers (Write-only zone, offset=0)

The Control Holding Registers are used to control the Asycube. For example, start a vibration, start a sequence, clear the errors, …

0 - HR_MODBUS_CONTROL

Data Range : 0 to 15

The 4 first bits are used to clear the errors. A rising edge on a bit clears the corresponding error. More information in Modbus errors.

1 - HR_PLATFORM_VIBRATION_TRIG

Data Range : 0 or 1

A rising edge triggers the start of a platform vibration with the parameters values given in HR_PLATFORM_VIBRATION_ID and HR_PLATFORM_VIBRATION_DURATION.

2 - HR_PLATFORM_VIBRATION_ID

Data Range : 0 to 25

The platform vibration identifier is used when a platform vibration is triggered with HR_PLATFORM_VIBRATION_TRIG. The value 0 corresponds to the vibration A, the value 3 corresponds to the vibration D, … Refer to Types of vibration to find the corresponding direction.

3 - HR_PLATFORM_VIBRATION_DURATION

Data Range : 0 to 30000 [ms]

This value lets the user chose the duration of the platform vibration when it is triggered with HR_PLATFORM_VIBRATION_TRIG.

4 - HR_PLATFORM_CENTERING_TRIG

Data Range : 0 or 1

A rising edge (value change from 0 to 1) triggers the start of a platform centering with the parameters values given in HR_PLATFORM_CENTERING_X and HR_PLATFORM_CENTERING_Y. More information in EC - Execute centering.

5 - HR_PLATFORM_CENTERING_X

Data Range : -100 to 100

The platform centering triggered with HR_PLATFORM_CENTERING_TRIG uses this X position to determine both the vibration direction and the duration. This value is an integer and corresponds to 100x the value described in the coordinate system coordinate system for the center of mass; a value of -60 in this Holding Register corresponds to -0.6 in the defined coordinate system.

6 - HR_PLATFORM_CENTERING_Y

Data Range : -100 to 100

The platform centering triggered with HR_PLATFORM_CENTERING_TRIG uses this Y position to determine both the vibration direction and the duration. This value is an integer and corresponds to 100x the value described in the coordinate system for the center of mass; a value of -60 in this Holding Register corresponds to -0.6 in the defined coordinate system.

7 - HR_HOPPER_VIBRATION_TRIG

Data Range : 0 or 1

A rising edge triggers the start of a hopper vibration with the parameters values given in HR_HOPPER_VIBRATION_ID and HR_HOPPER_VIBRATION_DURATION.

8 - HR_HOPPER_VIBRATION_ID

Data Range : 0 to 25

The hopper vibration identifier is used when a hopper vibration is triggered with HR_HOPPER_VIBRATION_TRIG. The value 0 corresponds to the vibration A. When using Asycube Studio, only the vibration A is configured.

9 - HR_HOPPER_VIBRATION_DURATION

Data Range : 0 to 30000 [ms]

This value lets the user chose the duration of the hopper vibration when it is triggered with HR_HOPPER_VIBRATION_TRIG.

10 - HR_HOPPER_FEEDING_TRIG

Data Range : 0 to 15

A rising edge triggers the start of a hopper feeding with the parameters values given in HR_HOPPER_FEEDING_VIBRATION, HR_HOPPER_FEEDING_NBPARTS and HR_HOPPER_FEEDING_NBMAX. More information in EF - Execute feeding.

11 - HR_HOPPER_FEEDING_VIBRATION

Data Range : 0 to 25

The hopper feeding triggered with HR_HOPPER_VIBRATION_TRIG uses this hopper vibration identifier. The value 0 corresponds to the vibration A. When using Asycube Studio, only the vibration A is configured.

12 - HR_HOPPER_FEEDING_NBPARTS

Data Range : 0 to 65535

The hopper feeding triggered with HR_HOPPER_VIBRATION_TRIG uses this number of parts. More information in EF - Execute feeding.

13 - HR_HOPPER_FEEDING_NBMAX

Data Range : 0 to 65535

The hopper feeding triggered with HR_HOPPER_VIBRATION_TRIG uses this maximum number of parts. More information in EF - Execute feeding.

14 - HR_SEQUENCE_EXECUTION_TRIG

Data Range : 0 or 1

A rising edge triggers the start of a sequence execution with the parameters values given in HR_SEQUENCE_EXECUTION_NBPARTS, HR_SEQUENCE_EXECUTION_NBMAX, HR_SEQUENCE_EXECUTION_X, HR_SEQUENCE_EXECUTION_Y and HR_SEQUENCE_EXECUTION_SEQUENCEID. More information in ES - Execute sequence.

15 - HR_SEQUENCE_EXECUTION_NBPARTS

Data Range : 0 to 65535

The sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG uses this number of parts. More information in ES - Execute sequence.

16 - HR_SEQUENCE_EXECUTION_NBMAX

Data Range : 0 to 65535

The sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG uses this maximum number of parts. More information in ES - Execute sequence.

17 - HR_SEQUENCE_EXECUTION_X

Data Range : -100 to 100

The sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG uses this X position to determine both the vibration direction and the duration. This value is an integer and corresponds to 100x the value described in the coordinate system for the center of mass; a value of -60 in this Holding Register corresponds to -0.6 in the defined coordinate system.

18 - HR_SEQUENCE_EXECUTION_Y

Data Range : -100 to 100

The sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG uses this Y position to determine both the vibration direction and the duration. This value is an integer and corresponds to 100x the value described in the coordinate system for the center of mass; a value of -60 in this Holding Register corresponds to -0.6 in the defined coordinate system.

19 - HR_SEQUENCE_EXECUTION_SEQUENCEID

Data Range : 1 to 26

The sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG uses this sequence ID. More information in ES - Execute sequence.

20 - HR_SELECT_VIBRATION_SET

Data Range : 1 to 26

A value change of this Holding Register sets the new vibration recipe to use.

21 - HR_SELECT_SEQUENCE

Data Range : 1 to 26

A value change of this Holding Register sets the new vibration recipe to use.

22 - HR_BACKLIGHT_STATE_CONTROL

Data Range : 0 or 1

A rising edge switches the backlight ON. A falling edge (value change from 1 to 0) switches the backlight OFF.

23 - HR_EXECUTE_BACKLIGHT_FLASH_TRIG

Data Range : 0 or 1

A rising edge triggers a backlight flash. More information in Backlight.

24 - HR_BACKLIGHT_INTENSITY_TRIG

Data Range : 0 or 1

A rising edge sets the backlight intensity value given in the Holding Register HR_BACKLIGHT_INTENSITY.

25 - HR_BACKLIGHT_INTENSITY

Data Range : min to 100 [%]

This backlight intensity can be set by triggering the HR_BACKLIGHT_INTENSITY Holding Register. The min value corresponds to the minimum intensity settable for the Asycube, which value can be read using the TCP/IP command {RP104}.

26 - HR_PLATFORM_HALT

Data Range : 0 or 1

A rising edge halts the platform vibration.

27 - HR_HOPPER_HALT

Data Range : 0 or 1

A rising edge halts the hopper vibration.

28 - HR_SEQUENCE_HALT

Data Range : 0 or 1

A rising edge halts the sequence execution.

29 - HR_READ_WRITE_PARAMETER_TRIG

Do not use - for Asyril internal use only

30 - HR_READ_WRITE_PARAMETER_ADDRESS

Do not use - for Asyril internal use only

31 - HR_READ_WRITE_PARAMETER_WRITE_VALUE

Do not use - for Asyril internal use only

32 - HR_FLASH_OPERATIONS

Do not use - for Asyril internal use only

Status Holding Registers (Read-only zone, offset=64)

The Status Holding Registers presented in this chapter are used to get information on the Asycube. Examples: remaining vibration time, error state, …

64 + 0 - HR_MODBUS_STATUS

Data Range : 0 to 15

The 4 first bits represents the errors status: Asycube Modbus errors status, Internal Modbus communication error status, Asycube warnings status and Asycube alarms status. More information in Errors.

64 + 1 - HR_MODBUS_ERROR_CODE

Data Range : 0 to 65535

The lower byte (mask 0x00FF) of this Holding Register contains Asycube Modbus error code, while the upper byte (mask 0xFF00, the upper byte must be shifted right 8 bits to be interpreted correctly) contains the Internal Modbus communication error code. More information in Holding Register: error codes.

64 + 2 - HR_WARNINGS

Do not use - for Asyril internal use only

64 + 3 - HR_ALARMS

Data Range : 0 to 255

This Holding Register contains the Asycube alarm code. More information in Alarms.

64 + 4 - HR_MODBUS_PLATFORM_STATUS

Data Range : 0: DONE / 1: BUSY / 2: ERROR

This Holding Register gives the status of either the platform vibration triggered with HR_PLATFORM_VIBRATION_TRIG or the platform centering triggered with HR_PLATFORM_CENTERING_TRIG.

  • The transition DONE->BUSY occurs on the trigger rising edge if the data is correct.

  • The transition DONE->ERROR occurs on the trigger rising edge if the data is incorrect (e.g. index is out of range).

  • The transition BUSY->DONE occurs as soon as the vibration ends.

  • The transition BUSY->ERROR occurs if an Internal Modbus communication error (see Holding Register: error codes) before the vibration starts.

  • The transition ERROR->DONE can be controlled by setting both triggers to 0.

64 + 5 - HR_PLATFORM_REMAINING_TIME

Data Range : 0 to 32767 [ms]

This Holding Register gives the remaining time of the platform vibration. During a vibration, the value decreases over time until it reaches 0.

Note

A value of 32767 means that the remaining time is greater than 32767ms.

Note

Just before the vibration starts, during the amplifier start up, the value is different than 0 but can be strange. Similarly, during a continuous vibration, the value stays different than 0 but can be strange.

64 + 6 - HR_MODBUS_HOPPER_STATUS

Data Range : 0: DONE / 1: BUSY / 2: ERROR

This Holding Register gives the status of either the hopper vibration triggered with HR_HOPPER_VIBRATION_TRIG or the hopper feeding triggered with HR_HOPPER_FEEDING_TRIG.

  • The transition DONE->BUSY occurs on the trigger rising edge if the data is correct.

  • The transition DONE->ERROR occurs on the trigger rising edge if the data is incorrect (e.g. index is out of range).

  • The transition BUSY->DONE occurs as soon as the vibration ends.

  • The transition BUSY->ERROR occurs if an Internal Modbus communication error (see Holding Register: error codes) before the vibration starts.

  • The transition ERROR->DONE can be controlled by setting both triggers to 0.

64 + 7 - HR_HOPPER_REMAINING_TIME

Data Range : 0 to 32767 [ms]

This Holding Register gives the remaining time of the hopper vibration. During a vibration, the value decreases over time until it reaches 0.

Note

A value of 32767 means that the remaining time is greater than 32767ms.

Note

Just before the vibration starts, during the amplifier start up, the value is different than 0 but can be strange. Similarly, during a continuous vibration, the value stays different than 0 but can be strange.

64 + 8 - HR_MODBUS_SEQUENCE_STATUS

Data Range : 0: DONE / 1: BUSY / 2: ERROR

This Holding Register gives the status of the sequence execution triggered with HR_SEQUENCE_EXECUTION_TRIG.

  • The transition DONE->BUSY occurs on the trigger rising edge if the data is correct.

  • The transition DONE->ERROR occurs on the trigger rising edge if the data is incorrect (e.g. index is out of range).

  • The transition BUSY->DONE occurs as soon as the sequence ends.

  • The transition BUSY->ERROR occurs if an Internal Modbus communication error (see Holding Register: error codes) before the sequence starts.

  • The transition ERROR->DONE can be controlled by setting the trigger to 0.

64 + 9 - HR_SEQUENCE_REMAINING_TIME

Data Range : 0 to 32767 [ms]

This Holding Register gives the remaining time of the sequence execution. During a sequence, the value decreases over time until it reaches 0.

Note

A value of 32767 means that the remaining time is greater than 32767ms.

64 + 10 - HR_VIBRATION_SET_SELECTED

Data Range : 1 to 26

This Holding Register gives the current selected vibration recipe.

64 + 11 - HR_SEQUENCE_SELECTED

Data Range : 1 to 26

This Holding Register gives the current selected vibration recipe.

64 + 12 - HR_BACKLIGHT_STATE_STATUS

Data Range : 0: OFF / 1: ON

This Holding Register gives the current backlight state.

64 + 13 - HR_READ_WRITE_PARAMETER_READ_VALUE

Do not use - for Asyril internal use only

64 + 14 - HR_FIRMWARE_VERSION_H

Do not use - for Asyril internal use only

64 + 15 - HR_FIRMWARE_VERSION_M

Do not use - for Asyril internal use only

64 + 16 - HR_FIRMWARE_VERSION_L

Do not use - for Asyril internal use only

64 + 17 - HR_USER_ACCESS_LEVEL

Do not use - for Asyril internal use only

64 + 18 - HR_FLASH_OPERATIONS_STATUS

Do not use - for Asyril internal use only