FC_ProfilePoint - General Information
Type: |
Function |
Available as of: |
V1.0.3.0 |
Versions: |
Current version |
Determine the slave position, slope, and bend of a curve to any desired slave position.
The function FC_ProfilPoint serves to determine the position, gradient and curvature of a cam at any point. The determination is carried out via three points i_lrXPos - (i_lrXFactor / 10000.0), i_lrXPos and i_lrXPos + (i_lrXFactor / 10000.0); gradient and curvature are calculated as the difference of the three points.
i_lrXPos must be at least (i_lrXFactor / 10000.0) away from the edge of the cam.
Input |
Data type |
Description |
---|---|---|
i_diProfileId |
DINT |
Id of the underlying profile |
i_lrXPos |
LREAL |
Master encoder position for which the slave axis position is to be determined |
i_lrXFactor |
LREAL |
Scaling factor of the master encoder |
i_lrYFactor |
LREAL |
Scaling factor of the slave axis |
i_lrXOffset |
LREAL |
Offset of the master encoder position |
i_lrYOffset |
LREAL |
Offset of the slave axis position |
Output |
Data type |
Description |
---|---|---|
q_etDiag |
General library-independent statement on the diagnostic. A value not equal to ET_Diag.Ok corresponds to an 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_lrYPos |
LREAL |
Position of the slave axis for the master encoder position i_lrXPos |
q_lrM |
LREAL |
Gradient of the slave axis cam at the master encoder position i_lrXPos In order to determine the velocity of the slave axis, multiply this value with the velocity of the master axis. |
q_lrK |
LREAL |
Curvature of the slave axis cam at the master encoder position i_lrXPos In order to determine the acceleration of the slave axis, multiply this value with the square of the velocity of the master axis. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
0 |
Ok |
|
InputParameterInvalid |
114 |
The ProfileId is invalid. |
|
InputParameterInvalid |
115 |
XFactor is outside the valid range. |
|
UnexpectedProgramBehavior |
116 |
The profile is already in use. |
|
UnexpectedProgramBehavior |
1 |
An unintended detected error occurred during execution. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The motion data for the slave point have been calculated successfully.
Enumeration name: |
ProfileAlreadyInUse |
Enumeration value: |
116 |
Description: |
The profile is already in use. |
Issue |
Cause |
Solution |
---|---|---|
- |
The motion profile is already in use. |
Verify the motion data. |
Enumeration name: |
ProfileIdInvalid |
Enumeration value: |
114 |
Description: |
The ProfileId is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The profile does not exist. |
Verify the value at the input i_diProfileId. |
Enumeration name: |
UnexpectedFeedback |
Enumeration value: |
1 |
Description: |
An unintended detected error occurred during execution. |
Issue |
Cause |
Solution |
---|---|---|
- |
An error occurred in the internal execution. |
Please inform the support team about this error. |
Enumeration name: |
XFactorRange |
Enumeration value: |
115 |
Description: |
XFactor is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input i_lrXFactor, a value 0 has been applied. |
i_lrXFactor must not be 0. |