Beckhoff TwinCAT 2
72 fault codes documented
GROUPERR_RANGE_NOMOTIONFILTERTIME
The 'No Motion Filter Time' parameter configured for the group is outside its allowed range of [0.0 ... 60.0] seconds. This parameter filters brief periods of non-motion to prevent false 'no motion' detections, and an invalid setting can cause incorrect status reporting or premature task completion.
GROUPERR_RANGE_TIMEUNITFIFO
The 'Time Unit FIFO' parameter configured for the group is outside its allowed range of (0.0 ... 1000.0] seconds. This parameter likely relates to the timing and processing of buffered commands within the group's FIFO, and an incorrect value can disrupt sequential command execution or cause timing errors.
GROUPERR_RANGE_OVERRIDETYPE
The 'Override Type' parameter configured for the group is outside its allowed range of [1, 2]. This parameter defines the operational behavior of override functions (e.g., speed override), and an invalid type will prevent proper scaling of motion commands, leading to unexpected speeds or unresponsive overrides.
GROUPERR_RANGE_OVERRIDECHANGETIME
The 'Override Change Time' parameter configured for the group is outside its allowed range of (0.0 ... 1000.0] seconds. This parameter controls the ramp rate or filter time when an override value is changed, and an invalid setting can result in abrupt motion changes, jerky movements, or delayed override responses.
GROUPERR_FIFO_INVALIDDIMENSION
The FIFO dimension (number of axes) configured for the group is invalid, falling outside the supported range of [1 ... 8] or [1 ... 16] (depending on the TwinCAT version, with newer builds supporting up to 16 axes). This mismatch prevents the FIFO buffer from correctly managing motion commands for the intended number of axes in the group.
GROUPERR_ADDR_FIFOTABLE
This error indicates a problem with the memory address of the FIFO table for the group. The system is unable to locate or access the designated memory region for the FIFO table, which is essential for buffering and sequencing motion commands. This can lead to the inability to execute complex motion profiles.
Axis is locked for motion commands
The axis or group is currently in a locked state, preventing the execution of new motion commands, because a `MC_Stop` command is still actively processing. This safety interlock ensures that an initiated stop sequence completes fully before any new motion is permitted, preventing unintended or hazardous movements.
Invalid number of auxiliary axes
The locally configured number of auxiliary axes does not match the globally defined number of auxiliary axes in the system. This inconsistency can lead to errors in kinematic transformations, uncoordinated motion, or misinterpretation of motion commands involving auxiliary axes.
Invalid reduction parameter for auxiliary axes
The velocity reduction parameters configured for the auxiliary axes are inconsistent or invalid. These parameters dictate how the velocities of auxiliary axes are scaled relative to primary axes, and incorrect settings can result in unintended speeds, motion errors, or violations of kinematic constraints.
Invalid dynamic parameter for auxiliary axes
The dynamic parameters (e.g., acceleration, deceleration, jerk) configured for the auxiliary axes are inconsistent. These parameters govern the motion behavior and responsiveness of auxiliary axes, and inconsistent values can lead to jerky movements, overshooting, or exceeding mechanical limits during coordinated operations.
Invalid coupling parameter for auxiliary axes
The coupling parameters configured for the auxiliary axes are inconsistent. These parameters define how auxiliary axes are linked or synchronized with other axes (e.g., master-slave, gearing), and an invalid setup will lead to improper synchronized motion, position errors, or loss of coordinated control.
Invalid auxiliary axis entry
An auxiliary axis entry, where motion or configuration is expected, is found to be empty. This error suggests an incomplete or missing configuration for an auxiliary axis that is part of a kinematic group or coordinated motion, preventing the system from properly including it in calculations.
Invalid parameter (auxiliary axis velocity reduction)
The limit for velocity reduction of the auxiliary axes is invalid, as it must be within the interval [0.0, 1.0]. An incorrect value will cause issues with how auxiliary axis velocities are scaled, potentially leading to overspeed, underspeed, or uncoordinated motion, risking damage or poor performance.
INTERNAL ERROR (GROUPERR_SLAVE_INTERNAL)
An unspecified internal error has occurred within the NC system concerning a slave axis within a group. This indicates a low-level software fault or data inconsistency that prevents the slave axis from functioning correctly. Such internal errors can lead to group motion failure or loss of control over the slave axis.
GROUPERR_WATCHDOG (customer specific error code)
A watchdog timer for the group has expired, signaling a critical delay or unresponsiveness in the system's processing of group-related tasks. As this is a customer-specific error code, it points to a potential issue in the customer's application logic, configuration, or system load causing the processing delay.
ENCERR_ADDR_CONTROLLER
This error indicates an issue with the controller's address configuration for an encoder. The NC system cannot properly locate or communicate with the encoder due to an incorrect or missing address assignment. This directly impacts the ability to read position feedback and control the associated axis.
ENCERR_INVALID_CONTROLLERTYPE
This error signifies that an invalid controller type has been configured or detected for an encoder. The system expects a specific type of controller for the connected encoder but found a mismatch or an undefined type. This mismatch prevents the NC from applying the correct control algorithms and parameters, rendering the encoder unusable.
Internal error
An internal system error has occurred within the NC on ring 0, indicating an unexpected software fault without further specific details. This type of error can lead to system instability, unexpected halts in operation, and potentially data corruption if not resolved, as it affects the core NC processing.
Memory error
The ring-0 memory management system is unable to provide the required memory resources for NC operations. This is typically a secondary symptom of another underlying issue, leading to the controller halting normal operation or experiencing critical failures due to insufficient memory.
Nc retain data error (persistent data)
An error occurred while loading the NC retain data, which stores persistent configuration and state information. This results in affected axes losing their reference (status flag 'Homed' set to FALSE) and can be caused by missing, expired, corrupt, or inconsistent retain data. Loss of this data means the machine will need to be re-homed and potentially re-configured.
Channel identifier not allowed
An unacceptable value (outside the range of 1 to 255) has been used for a channel identifier, or the specified channel does not exist within the current system configuration. This parameter error prevents proper identification and control of the specified channel, leading to operational failure or incorrect routing of commands.
Group identifier not allowed
An unacceptable value (outside the range of 1 to 255) has been used for a group identifier, or the specified group does not exist within the current system configuration. This parameter error prevents proper identification and control of the specified group of axes, leading to failure of coordinated motion commands.
Axis identifier not allowed
An unacceptable value (outside the range of 1 to 255) has been used for an axis identifier, or the specified axis does not exist within the current system configuration. This parameter error prevents proper identification and control of the specified axis, leading to its inability to move or respond to commands.
Encoder identifier not allowed
An unacceptable value (outside the range of 1 to 255) has been used for an encoder identifier, or the specified encoder does not exist within the current system configuration. This parameter error prevents proper identification and reading of position feedback from the specified encoder, leading to uncontrolled motion or axis failures.
Group not ready / group not ready for new task
The NC group received a new motion task while it was still actively processing a previous task. This request is rejected to prevent interruption of the existing task and maintain motion integrity. Attempting to force a new task can lead to unpredictable motion, collisions, or data inconsistencies.
Requested set velocity is not allowed
The velocity value requested for a positioning task is invalid, either being zero or negative, exceeding the axis's 'maximum velocity', or, for servo drives, exceeding the axis's 'reference velocity'. An unacceptable velocity can lead to an axis not moving, overspeed conditions, or triggering other safety limits.
Requested target position is not allowed (master axis)
The target position requested for a positioning task on the master axis falls outside the configured software end locations (either below the minimum or above the maximum). This error occurs only when software end position monitoring is active, indicating a command that would drive the axis beyond its safe virtual limits, potentially causing mechanical damage.
No enable for controller and/or feed (Master axis)
The necessary enable signals for the master axis, such as the controller enable or direction-dependent feed enables (via the PlcToNc interface), are not active. Without these enables, the axis controller cannot operate, preventing any motion or positioning tasks from executing. This is a critical safety interlock.
Movement smaller than one encoder increment
The commanded distance for a group or axis to move is infinitesimally small, less than the physical resolution of one encoder increment or the axis's scaling factor. Although the system reports the axis as logically finished without active movement, this can indicate a precision issue in programming or an attempt to command motion below the system's physical capability.
Drive not ready during axis start
During the startup sequence of an axis, the associated drive is found to be in a non-ready state. Possible causes include the drive being in a hardware error state, still in its power-up or boot-up phase (which can take several seconds after a reset), or lacking the necessary controller enable signal. This prevents the axis from becoming operational.
Invalid parameters of the emergency stop
The parameters configured for the emergency stop (E-Stop) function are invalid. Specifically, the deceleration or jerk values are set to less than zero, or one of these parameters is weaker (less effective) than the corresponding parameter used for normal start data. Invalid E-Stop parameters compromise machine safety, potentially leading to longer stopping distances or uncontrolled deceleration during an emergency.
Setpoint generator is inactive
The setpoint generator, responsible for calculating and outputting motion commands, is currently inactive. This means the system cannot accept any new motion instructions, as the core mechanism for generating movement is not operational. This can occur if the NC is not in a ready state or requires an explicit activation command.
Requested traverse distance is not allowed
The commanded traverse distance or looping distance for a two-speed axis is smaller than its configured braking distance. This means the axis cannot achieve the commanded move reliably, as it would require stopping instantaneously or reversing before completing the minimum necessary travel. Attempting this move can lead to inaccurate positioning or overshooting.
Axis ID not allowed
The value for the axis ID is not allowed because it has already been assigned, is less than or equal to zero, is greater than 255, or does not exist in the current configuration. The allowed range is [1 ... 255]. An invalid axis ID prevents the system from uniquely identifying and controlling the axis, making it inoperable.
Axis type not allowed
The value configured for the axis type is unacceptable because it is not defined within the system's supported types. Valid types include 1: Servo, 2: High/low speed, and 3: Stepper motor. An incorrect axis type means the NC cannot apply the correct control algorithms and parameters, leading to axis malfunction.
Slow manual velocity not allowed
The value configured for the slow manual velocity parameter is not allowed. The accepted range for this parameter is [0.0, 10000.0] (e.g., m/min). An invalid setting prevents the system from reliably executing slow manual movements, potentially leading to no motion or jerky manual control.
Software end location maximum (positioning process)
The actual position of an axis has exceeded its configured software end location maximum while active monitoring is enabled. For servo axes, this limit is extended by the parameterized following error window. This indicates an attempt to move the axis beyond its defined safe operating range, potentially risking mechanical damage or collisions.
Encoder hardware error
The drive or encoder system has reported a hardware error within the encoder itself. This indicates a physical malfunction of the encoder, which is critical for providing accurate position feedback. A faulty encoder will lead to uncontrolled axis motion, loss of positioning accuracy, or complete operational failure.
Position initialization error at system start
During the initial system start-up, the set position could not be successfully initialized for all trials (with/without overflow/underflow) within the final position minimum and maximum limits. This means the axis could not establish a valid initial position, preventing it from becoming referenced and ready for motion.
SSI transformation fault or not finished
The Synchronous Serial Interface (SSI) transformation performed by the FOX 50 module was either faulty for several NC cycles or failed to complete. This indicates a problem in reading or converting data from SSI encoders, leading to inaccurate or missing position feedback and ultimately affecting axis control.
Controller ID not allowed
The value configured for the controller ID is invalid, typically because it's already assigned, out of range (not 1-255), or zero/negative. A unique ID is crucial for the NC system to correctly identify and manage individual controllers. An invalid ID prevents the controller from being recognized and functioning within the system.
Controller type not allowed
The value specified for the controller type is unacceptable because it is not a defined type within the system (e.g., Types 1-8 are defined, but Type 9 is not). An incorrect controller type prevents the NC from applying the appropriate control algorithms and parameters, leading to misbehavior or non-operation of the controlled axis/system.
Controller operating mode not allowed
The value specified for the controller operating mode is not allowed, as the value range is limited to [1]. An incorrect operating mode prevents the controller from initiating or maintaining its intended control function. This will effectively stop the controller from performing any motion or regulation tasks.
Weighting of the velocity pre-control not allowed
The value specified for the percentage weighting of the velocity pre-control is not allowed, as it must be within the range [0.0 ... 1.0]. This parameter, typically preset to 1.0 (100%), influences the feedforward control of velocity. An invalid value can lead to poor motion tracking, instability, or overshoots/undershoots.
Following error monitoring (position) not allowed
The value for the activation of the following error monitoring (position) is not allowed, as the value range is limited to [0, 1]. This parameter enables or disables the system's ability to detect deviations between commanded and actual position. An invalid setting means critical safety monitoring might be disabled or misconfigured.
Following error (velocity) not allowed
The value for the activation of the following error monitoring (velocity) is not allowed, as the value range is limited to [0, 1]. This parameter enables or disables the system's ability to detect deviations between commanded and actual velocity. An invalid setting means critical safety monitoring might be disabled or misconfigured, leading to uncontrolled speeds.
Following error window (position) not allowed
The value configured for the following error window (maximum allowable position following error) is not allowed, as it must be within the range [0.0, 10000.0]. This parameter defines the maximum permissible deviation between the target and actual position. An invalid window can cause false fault triggers or fail to detect actual tracking errors, risking collisions.
Following error filter time (position) not allowed
The value configured for the following error filter time (position) is not allowed, as it must be within the range [0.0, 600.0] seconds. This parameter filters out high-frequency noise from the following error signal, preventing nuisance trips. An invalid filter time can lead to either excessive false alarms or a failure to detect real errors.
Overtemperature
Overtemperature has been detected or reported within the drive or terminal. This indicates that the operating temperature of the drive, motor, or associated I/O terminal has exceeded its safe limits. Prolonged overtemperature operation can cause permanent damage to electronic components, insulation, and lead to premature failure of the equipment.
Undervoltage
An undervoltage condition has been detected or reported in the drive or terminal. This means the supply voltage to the component has dropped below its minimum operational threshold. Undervoltage can cause erratic drive behavior, unstable control, or complete power loss, potentially damaging sensitive electronics if power fluctuates significantly.
Wire break in phase A
A wire break (loss of continuity) has been detected or reported in phase A of the motor connection, either within the drive or at the terminal. This critical fault means one of the motor phases is open-circuited. Attempting to operate the motor with a phase break can lead to severe damage to both the motor and the drive due to unbalanced currents.
Wire break in phase B
A wire break (loss of continuity) has been detected or reported in phase B of the motor connection, either within the drive or at the terminal. This critical fault means one of the motor phases is open-circuited. Attempting to operate the motor with a phase break can lead to severe damage to both the motor and the drive due to unbalanced currents.
Overcurrent in phase A
An overcurrent condition has been detected or reported in phase A of the drive or terminal. This indicates that the current flowing through phase A has exceeded the drive's or motor's rated capacity. Potential causes include mechanical overload, a short circuit in the motor or cable, or incorrect motor parameters in the drive, risking damage to the drive and motor.
Overcurrent in phase B
An overcurrent condition has been detected or reported in phase B of the drive or terminal. This indicates that the current flowing through phase B has exceeded the drive's or motor's rated capacity. Potential causes include mechanical overload, a short circuit in the motor or cable, or incorrect motor parameters in the drive, risking damage to the drive and motor.
Torque overload (stall)
A torque overload leading to a stall condition has been detected or reported in the drive or terminal. This means the motor is attempting to produce more torque than its capacity, typically due to excessive mechanical load, binding in the mechanical system, or incorrect drive tuning. A prolonged stall can lead to motor overheating and permanent damage.
Drive initialization
The drive has not been fully initialized after being created in the system. This indicates that subsequent critical steps, such as I/O initialization, drive parameterization, and a system reset, have not been performed. Without complete initialization, the drive cannot enter an operational state and will not respond to motion commands.
Axis address
The drive does not recognize its assigned axis, or the axis address has not been properly initialized. This prevents the drive from establishing correct communication and control with its corresponding virtual axis within the NC system. As a result, the drive cannot receive commands or provide feedback for coordinated motion.
Address IO input structure
The drive lacks a valid I/O input address in the process image. This indicates a mapping error where the NC system cannot correctly read input data (e.g., encoder feedback, limit switch status) from the drive because its process image address is either missing or invalid. This will lead to a lack of critical feedback for control.
Address IO output structure
The drive lacks a valid I/O output address in the process image. This means the NC system cannot correctly write output data (e.g., control commands, enable signals) to the drive because its process image address is either missing or invalid. This prevents the drive from receiving commands and acting upon them.
Drive hardware not ready to operate
The drive hardware is not in a ready state for operation. This can be caused by the drive being in a hardware error state, still undergoing its start-up phase (which can take several seconds after a reset), or missing the necessary controller enable signal. Until the drive is ready, no motion commands can be executed.
Access Denied
The operation failed due to insufficient permissions or a locked resource. This occurs if the current document in the system manager instance is locked (e.g., when calling NewConfiguration() or OpenConfiguration()) because a reference to the system manager's object or a tree element is open. For DeleteChild(), it indicates that deleting the child item is not allowed due to protection or operational constraints.
General Function Failure
The operation failed for an unspecified reason, indicating a general failure. This could happen during NewConfiguration() or ActivateConfiguration(), StartRestartTwinCAT() if the TwinCAT system cannot be started, or ConsumeXml() if the provided XML string is not a valid document.
Invalid Argument Provided
An invalid argument was supplied to the function. For OpenConfiguration(), the bstrFile path does not refer to a valid TwinCAT configuration file. For SaveConfiguration(), the bstrFile path is invalid for saving. For LinkVariables(), the offs1, offs2, or size parameters do not match the variables' structure or range.
Operation Not Supported in Current Mode
The attempted operation, specifically NewConfiguration(), OpenConfiguration(), or SaveConfiguration(), is not supported in the current TwinCAT Automation Interface operational mode. These methods are exclusively available when the Automation Interface is running in Compatibility Mode.
Invalid Pointer
An invalid pointer was provided to the function. For ProduceXml(), this applies to the output pXML parameter, indicating the variable to store the XML string is not properly allocated. For CreateChild(), this means the pipItem pointer, intended to receive the new child item's interface, is invalid, preventing the successful creation and return of the child item.
Invalid Import File Signature
The file specified for import does not contain a valid tree item or has a corrupted signature (0x80090006). This error occurs when ImportChild() attempts to read the file but determines its content is not a recognized TwinCAT tree item export format.
Import File Not Found
The specified file for importing a child item cannot be found or opened (0x80090011). This indicates an issue with the path to the import file or its accessibility, preventing the ImportChild() operation from completing.
Corrupted Variable Link
The specified variables cannot be unlinked, possibly due to a corrupted or invalid link definition in the TwinCAT configuration (0x98510005). This indicates an issue with the integrity of the variable linkage data within the system.
Invalid Item SubType for Creation
The provided nSubType parameter for creating a child item is invalid or not compatible with the parent item's type (0x98510003). The usable subType depends on the parent tree item's category; for example, a PLC Functionblock may only be added to a PLCFOLDER item, not a DEVICE item.
Invalid Tree Item Type for Operation
One or both of the specified tree items are not valid for the attempted operation (0x98510002). For LinkVariables() or UnlinkVariables(), this means one or both tree items are not of a variable type, preventing linkage operations.
TwinCAT Tree Item Not Found
The specified tree item could not be found using the provided identifier (0x98510001). This can occur with LookupTreeItem() (absolute path name), LookupTreeItemById() (itemType/itemId combination), LookupChild() (relative path name), CreateChild() (bstrBefore item not found), DeleteChild() (bstrName item not found), ExportChild() (bstrName item not found), or ChangeChildSubType() (bstrChild item not found).
Mismatching Items for Operation
The items involved in the operation are incompatible (0x98510004). For LinkVariables(), this occurs when two variables cannot be linked due to incompatible data types, attempting to link two outputs, linking an output of a task to an input of a device, or linking variables of the same owner. For ImportChild(), this means the tree item contained within the import file is not a valid child item for the current parent, or its structure is incompatible.