FC_LoadSegProfile - General Information
Type: |
Function |
Available as of: |
V1.0.3.0 |
Versions: |
Current version |
Loading a segmented profile
The profiles described in iq_stMultiCamData are loaded, adapted where necessary and scaled such that, using the function FC_ProfileSegLoadById, a segmented profile is generated which is normalized to 1.
This function reserves one profile Id respectively for each segment and for the entire profile. Using the function FC_DelSegProfile, a segmented profile which has been created using the function described above can be deleted.
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_sMsg |
STRING[80] |
Event-triggered message which gives more detailed information on the diagnostic state. |
Input/Output |
Data type |
Description |
---|---|---|
iq_stMultiCamData |
Information on the course of the cam |
|
iq_stSingleCamData |
Information on the segmented profile which is created from the data contained in iq_stMultiCamData. |
|
iq_stSegProfile |
Data for the function FC_ProfileSegLoadById. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
0 |
Ok |
|
InputParameterInvalid |
125 |
The boundary conditions are invalid. |
|
InputParameterInvalid |
121 |
NumberOfCamPoints is outside the valid range. |
|
InputParameterInvalid |
114 |
The ProfileId is invalid. |
|
InputParameterInvalid |
129 |
K is outside the valid range. |
|
InputParameterInvalid |
130 |
M is outside the valid range. |
|
InputParameterInvalid |
126 |
The cam type is indeterminable. |
|
InputParameterInvalid |
122 |
XFactor is too small. |
|
InputParameterInvalid |
124 |
YFactor is too small. |
|
UnexpectedProgramBehavior |
116 |
The profile is already in use. |
|
UnexpectedProgramBehavior |
127 |
The memory for tables from system profiles is full. |
|
UnexpectedProgramBehavior |
123 |
The system profile table is full. |
|
UnexpectedProgramBehavior |
1 |
An unintended detected error occurred during execution. |
Enumeration name: |
BoundaryConditionInvalid |
Enumeration value: |
125 |
Description: |
The boundary conditions are invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
When defining the motion profile in iq_stMultiCamData, the set boundary conditions cannot be complied with. |
Verify the definition of the motion profile and particularly the boundary conditions of the sub-segments. As an alternative, select different profiles for the sub-segments to be able to comply with all desired boundary conditions. |
Enumeration name: |
NumberOfCamPointsRange |
Enumeration value: |
121 |
Description: |
NumberOfCamPoints is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input iq_stMultiCamData.diNumberOfCamPoints, an invalid value has been transferred. |
At the input iq_stMultiCamData.diNumberOfCamPoints, a value greater than 0 and smaller than or equal to SystemInterface.MAX_NO_OF_SEG + 1 must be transferred. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The profile has been loaded 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 values at the inputs iq_stMultiCamData.astCamPoint[ ].diProfileId. |
Enumeration name: |
ProfileMemoryFull |
Enumeration value: |
127 |
Description: |
The memory for tables from system profiles is full. |
Enumeration name: |
ProfileTableFull |
Enumeration value: |
123 |
Description: |
The system profile table is full. |
Issue |
Cause |
Solution |
---|---|---|
- |
The maximum number of system profiles has been exceeded. |
Delete any profiles that are no longer needed using the SystemInterface.FC_ProfileDelete function |
Enumeration name: |
RangeK |
Enumeration value: |
129 |
Description: |
K is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input iq_stMultiCamData.astCamPoint[ ].lrK, an invalid value has been applied. |
Verify the values for iq_stMultiCamData.astCamPoint[ ].lrK |
Enumeration name: |
RangeM |
Enumeration value: |
130 |
Description: |
M is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
At the input iq_stMultiCamData.astCamPoint[ ].lrM, an invalid value has been applied. |
Verify the values for iq_stMultiCamData.astCamPoint[ ].lrM |
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: |
UnknownCamType |
Enumeration value: |
126 |
Description: |
The cam type is indeterminable. |
Issue |
Cause |
Solution |
---|---|---|
- |
The cam type of a point iq_stMultiCamData.astCamPoint is assigned with an invalid cam profile. |
The cam types etCamType of all used cam points at the input iq_stMultiCamData.astCamPoint must be assigned with an element of the enumeration ET_CamType. |
Enumeration name: |
XFactorTooSmall |
Enumeration value: |
122 |
Description: |
XFactor is too small. |
Issue |
Cause |
Solution |
---|---|---|
- |
Two successive cam points iq_stMultiCamData.astCamPoint[ ].lrX have a distance of less than 0.1 units. |
Verify the definition of the cam and, if necessary, remove cam profiles that are too short. |
Enumeration name: |
YFactorTooSmall |
Enumeration value: |
124 |
Description: |
YFactor is too small. |
Issue |
Cause |
Solution |
---|---|---|
- |
A cam profile requiring a motion of the slave axis is to be used with identical start and end points. |
At the input iq_stMultiCamData.astCamPoint[i-1].etCamType, a cam profile of type ModSinCom has been applied. The value of the difference between its start point iq_stMultiCamData.astCamPoint[i-1].lrY and its end point iq_stMultiCamData.astCamPoint[i].lrY is smaller than Gc_lrZeroTolerance. This type of profile requires a motion of the slave cam. At the input iq_stMultiCamData.astCamPoint[i-1].etCamType, a cam profile of type ModAccTrCom has been applied. The value of the difference between its start point iq_stMultiCamData.astCamPoint[i-1].lrY and its end point iq_stMultiCamData.astCamPoint[i].lrY is smaller than Gc_lrZeroTolerance. This type of profile requires a motion of the slave cam. At the input iq_stMultiCamData.astCamPoint[i-1].etCamType, a cam profile of type HarmoComb has been applied. The value of the difference between its start point iq_stMultiCamData.astCamPoint[i-1].lrY and its end point iq_stMultiCamData.astCamPoint[i].lrY is smaller than Gc_lrZeroTolerance. This type of profile requires a motion of the slave cam. At the input iq_stMultiCamData.astCamPoint[i-1].etCamType, a cam profile of type SinStraightComb has been applied. The value of the difference between its start point iq_stMultiCamData.astCamPoint[i-1].lrY and its end point iq_stMultiCamData.astCamPoint[i].lrY is smaller than Gc_lrZeroTolerance. This type of profile requires a motion of the slave cam. |