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 vibrationD
, … 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 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 vibrationA
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 vibrationA
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
Do not use - for Asyril internal use only
- 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 (mask0xFF00
, 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