FC_LoadSegProfile

 

FC_LoadSegProfile - General Information

Overview

Type:

Function

Available as of:

V1.0.3.0

Versions:

Current version

Task

Loading a segmented profile

Description

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.

Interface

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to an diagnostic message.

q_etDiagExt

ET_DiagExt

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

ST_MultiCam

Information on the course of the cam

iq_stSingleCamData

ST_SingleCam

Information on the segmented profile which is created from the data contained in iq_stMultiCamData.

iq_stSegProfile

ST_SegProfile

Data for the function FC_ProfileSegLoadById.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

InputParameterInvalid

BoundaryConditionInvalid

125

The boundary conditions are invalid.

InputParameterInvalid

NumberOfCamPointsRange

121

NumberOfCamPoints is outside the valid range.

InputParameterInvalid

ProfileIdInvalid

114

The ProfileId is invalid.

InputParameterInvalid

RangeK

129

K is outside the valid range.

InputParameterInvalid

RangeM

130

M is outside the valid range.

InputParameterInvalid

UnknownCamType

126

The cam type is indeterminable.

InputParameterInvalid

XFactorTooSmall

122

XFactor is too small.

InputParameterInvalid

YFactorTooSmall

124

YFactor is too small.

UnexpectedProgramBehavior

ProfileAlreadyInUse

116

The profile is already in use.

UnexpectedProgramBehavior

ProfileMemoryFull

127

The memory for tables from system profiles is full.

UnexpectedProgramBehavior

ProfileTableFull

123

The system profile table is full.

UnexpectedProgramBehavior

UnexpectedFeedback

1

An unintended detected error occurred during execution.

BoundaryConditionInvalid

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.

NumberOfCamPointsRange

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.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The profile has been loaded successfully.

ProfileAlreadyInUse

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.

ProfileIdInvalid

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.

ProfileMemoryFull

Enumeration name:

ProfileMemoryFull

Enumeration value:

127

Description:

The memory for tables from system profiles is full.

ProfileTableFull

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

RangeK

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

RangeM

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

UnexpectedFeedback

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.

UnknownCamType

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.

XFactorTooSmall

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.

YFactorTooSmall

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.