Warning
You are reading an old version of this documentation. If you want up-to-date information, please have a look at 2024.6 .Errors
Several types of error can arise in the Asycube used with Modbus TCP. The Holding Register HR_MODBUS_STATUS (Address 64) bits represent the status of these types of error.
Value (binary) |
Name |
Description |
---|---|---|
0b0001 |
Asycube Modbus errors status |
If the value is 1, please refer to Main Modbus exception codes |
0b0010 |
Internal Modbus communication error status |
If the value is 1, please refer to Holding Register: error codes |
0b0100 |
Asycube warnings status |
If the value is 1, please refer to Asycube warnings and alarms |
0b1000 |
Asycube alarms status |
If the value is 1, please refer to Asycube warnings and alarms |
The error status can be reset by writing the corresponding bit to 1 in the Holding Register
HR_MODBUS_CONTROL.
For example, writing the value 0b0110
(it corresponds to the value ‘6’ in decimal) will reset both the
Asycube Modbus errors status and the Asycube warnings status.
Main Modbus exception codes
The Modbus exception codes are defined in the protocol specification (http://www.modbus.org). A subset of these exceptions is implemented in the Asycube (See Table 11). The Modbus protocol is responsible to carry the exceptions directly in the Modbus message and are not set in a Holding Register.
Value (decimal) |
Name |
Description |
1 |
Illegal Function |
Function code received in the query is not recognized or allowed by slave |
2 |
Illegal Data Address |
Data address of some or all the required entities are not allowed or do not exist in slave |
3 |
Illegal Data Value |
Value is not accepted by slave |
Holding Register: error codes
The HR_MODBUS_ERROR_CODE gives the current Asycube Modbus error.
The first byte (mask 0x00FF
) gives the error linked to the Asycube Modbus implementation (see
Table 12).
Value (hexadecimal) |
Name |
Description |
0x01 |
Write Access Not Allowed |
The data cannot be written because it is forbidden or the index is out of range. An example would be selecting a sequence (HR_SELECT_VIBRATION_SET) with a value out range such as 27. |
The second byte (mask 0xFF00
) gives the internal Modbus communication error code (See the value Error Bit in
Table 9 ). The internal Modbus communication error typically occurs when a vibration
is triggered with incorrect parameters values.
An example would be triggering a platform centering (HR_PLATFORM_CENTERING_TRIG) while the value of the X position (HR_PLATFORM_CENTERING_X ) is out of range, such as 120%.
Asycube warnings and alarms
The Asycube has its own warnings and alarms. They can be read respectively in the Holding Registers HR_WARNINGS and HR_ALARMS.