If a value greater than zero is set for at least one of the robot components, the acceleration of these components is calculated from the positions sent to the robot using the IF_ExternalPositionSource.WriteRefValues() method.
If the calculated acceleration is greater than the specified limit for one of the components, a control stop is initiated for all configured robot axes. In addition, the robot reports the exception ExternalPositionSourceAccLimitExceeded.
The method can be called at any time after a successful configuration of a transformation and the new value is effective immediately.
It is possible to turn off the verification for a component with a value less than or equal to zero at the i_lrAccLimit input.
Input |
Data type |
Description |
---|---|---|
i_etComponent |
Component(s) the limit should be set. Valid values:
|
|
i_lrValue |
LREAL |
Maximum acceleration for the selected component . A value ≤ 0 disables the limit for the given component. A value > 0 enables the limit for the given component. |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General library-independent statement on the diagnostic. A value not equal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
POU-specific output on the diagnostic. q_etDiag = ET_Diag.Ok -> Status message q_etDiag <> ET_Diag.Ok -> Diagnostic message |
|
q_sMsg |
STRING[80] |
Event-triggered message that gives additional information on the diagnostic state. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
Ok |
0 |
Ok |
ExecutionAborted |
TransformationMissing |
113 |
The transformation is unavailable. |
ExecutionAborted |
ExternalPositionSourceNotConfigured |
225 |
No external position source is configured for this robot. |
InputParameterInvalid |
AuxiliaryAxisNotConfigured |
127 |
The auxiliary axis is not configured. |
InputParameterInvalid |
ComponentInvalid |
132 |
The component is invalid. |
InputParameterInvalid |
ComponentNotConfigured |
198 |
The component is not configured. |
Enumeration name: |
AuxiliaryAxisNotConfigured |
Enumeration value: |
127 |
Description: |
The auxiliary axis is not configured. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the limit was not successful. |
The auxiliary axis transferred on the input i_etComponent is not configured on this robot. |
Ensure that SetExternalPositionSourceLimit(...) is called only for components that have been successfully configured on this robot. |
Enumeration name: |
ComponentInvalid |
Enumeration value: |
132 |
Description: |
The component is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the limit was not successful. |
The component transferred on the input i_etComponent is invalid. |
Ensure that a valid component is transferred at the input i_etComponent. |
Enumeration name: |
ComponentNotConfigured |
Enumeration value: |
198 |
Description: |
The component is not configured. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the limit was not successful. |
The component transferred on the input i_etComponent is not configured for this robot. |
Ensure that you call SetExternalPositionSourceLimit(...) only for components that have been successfully configured on this robot. |
Enumeration name: |
ExternalPositionSourceNotConfigured |
Enumeration value: |
225 |
Description: |
No external position source is configured for this robot. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the limit was not successful. |
There is no external position source configured. |
Call ExternalPositionSource(...) before calling SetExternalPositionSourceLimit(...). |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
Setting the state of the robot feedback was successful.
Enumeration name: |
TransformationMissing |
Enumeration value: |
113 |
Description: |
The transformation is unavailable. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the limit was not successful. |
No transformation has been configured yet. |
Call a configuration for a transformation, for example Delta3Ax(...) before calling SetExternalPositionSourceLimit(...). |