FB_SoMotionGenerator - General Information
Type: |
Function block |
Available as of: |
V1.0.0.0 |
Inherits from: |
- |
Implements: |
- |
NOTICE |
COMPLEX FUNCTION |
Contact your responsible Schneider Electric contact partner, before using function blocks of this library directly. |
Failure to follow these instructions can result in equipment damage. |
Other libraries, for example the PD_SmartInfeed are using the PD_SoMotionGenerator internally. It is not necessary to contact your responsible Schneider Electric contact partner when using these librariers.
Generation of reference values for a single axis.
The SMG (SoMotionGenerator) is a single axis reference value generator. It provides independent channels. These channels (designated A, B and C) generate individual position reference values whose sum is the resulting reference value which is transferred to the axis.
![]()
Reference value channel A |
![]()
Reference value channel B |
![]()
Resulting reference value |
The SMG can process positioning as well as cam jobs. The motion jobs to be assigned are parameterized within the structure ST_MotionJob and directly assigned to the individual channels by the method TakeJob(). Every channel possesses a job queue (FIFO) in which the received motion jobs are buffered until they are executed.
The SMG is executed in a standard user task. However, it is provided with a real-time kernel which is executed in the real-time cycle. This real-time kernel is responsible for generating the reference values and updating the real-time data contained in the iq_astRealTimeData structure.
NOTE: The system treats the SMG like an independent motion job. For this reason, the AxisState of the SMG axis permanently is on 5. Other motion jobs for this axis must not be assigned during execution, since otherwise the SMG will be removed from job processing and replaced by the new job.
Input |
Data type |
Description |
---|---|---|
i_xEnable |
BOOL |
A rising edge activates the function block. A falling edge deactivates the function block. In this process, all active motion jobs are deleted and the axis is stopped by means of i_lrEmergencyDec. |
i_xWarmStart |
BOOL |
Only relevant if the POU has already been activated before and the job processing had already started. TRUE := The position of the most recent master objects of the channels are evaluated and the logical master positions are set accordingly. The positions of the phase generators remain on the last value they had before the function block was deactivated. FALSE := The logical master positions and the positions of the phase generators of all channels are set to zero. |
i_xDiagQuit |
BOOL |
Acknowledges error of the function block (not of the axis). |
i_ifDrive |
SystemInterface.IF_Motion |
Axis that is controlled by the SMG. |
Output |
Data type |
Description |
---|---|---|
q_xActive |
BOOL |
TRUE := The function block is being executed. FALSE := The function block is deactivated. |
q_xReady |
BOOL |
TRUE := The function block is ready for job processing. FALSE := Job processing not possible. |
q_etDiag |
General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
ET_DiagExt |
POU-specific output on the diagnostic. q_etDiag = GD.ET_Diag.Ok -> status message q_etDiag <> GD.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_astTouchprobe |
ARRAY[1..Gc_diNumOfTouchprobes] OF ST_Touchprobe |
Array for detecting Touchprobes. |
iq_stMasterPhaseGenerator |
Permits shifting the logical master position to the position of the master object when using cams. This shift can be executed at any time and is realized by a positioning job that overlays the motion of the master object. |
|
iq_stRealTimeData |
Real-time data that are updated in the real-time cycle. |
|
iq_stWarmStartData |
Warm start data that are updated for the function blocks Enable and i_xWarmStart = TRUE. |
The SoMotionGenerator offers the possibility to assign position values to one of the channels.
The curves of the certain channels could be defined with a jump of the position. If those jumps are occuring during a short time (a single PLC cycle) in several channels, the possibility to assign the Touchprobe event to a certain position of the slave axis is getting lost.
The following graphic displays this circumstance. This example shows the five possible occurences of the Touchprobe signal (Touchprobe event) on the curve of the slave axis (sum).
The SoMotionGenerator offers the possibility to assign the measured value at a Touchprobe event to a channel. Therefore, it is possible to restore the unambiguous position of the slave axis from the channel position.
NOTE: Internally, an auxiliary position value (ST_TouchProbe.lrPosition) will be created which follows the assigned channel. The behavior of this position is similiar to a position of a logical encoder.
The following examples show the use of the Touchprobe in combination with the FB_SoMotionGenerator. Initially, the diagrams show the timing behavior of the involved signals.
Afterwards, a detailed description is provided of the certain event times (I-IV) to handle the SoMotionGenerator Touchprobe.
The graphic, etPositionSource, shows the curve of the position adjusted in the ST_Touchprobe.etPositionSource (usually a channel is used for this kind of application).
The graphic, lrPosition, shows the behavior of the auxiliary position in the ST_TouchProbe.lrPosition described in the overview.
The graphic, Tp.Value, shows the assumed course of the Touchprobe signal.
The graphic, xArmed, shows the assumed course of the ST_Touchprobe.xArmed. The signal displays an active Touchprobe.
The graphic, xCaptureOk, shows the valid detection of the Touchprobe signal.
The graphic, lrCapturedPosition, shows the position at the time of the valid detection of the Touchprobe signal.
Event |
Description |
---|---|
n/a |
Before the Touchprobe functionality of the SoMotionGenerator can be used, connect the parameter ST_Touchprobe.ifTouchProbe to the Touchprobe input where the sensor is connected. Select the parameter ST_Touchprobe.etPositionSource to the position of where to execute the Touchprobe. |
I |
After these two parameters are set, the parameter ST_TouchProbe.lrPosition (of the SoMotionGenerator) will follow the position of the selected position source without corresponding to the set position on the source. The functionality of lrPosition works identically to the functionality of a logical encoder. |
II |
The Touchprobe is now able to capture the value of the lrPosition parameter at the time of the Touchprobe event. The value of ST_TouchProbe.lrPosition does not correspond to the machine coordinate system because the parameter ST_TouchProbe.lrPosition ignores the set position on the source. Define a set position on lrPosiiton with the parameters ST_TouchProbe.etSetPosMode and ST_TouchProbe.lrSetPosValue to home the lrPosition parameter. Execute the set position by setting the parameter ST_TouchProbe.xDoSetpos to true. |
III |
Select the edge of the Touchprobe with the parameter ST_TouchProbe.etEdge to activate the Touchprobe functionality. Activate the Touchprobe by setting the parameter ST_TouchProbe.xArm to true. |
n/a |
The SoMotionGenerator sets the parameter ST_TouchProbe.xArmed to true which signals that the user is waiting for the sensor edge. |
IV |
The SoMotionGenerator signals a found edge with the parameter ST_TouchProbe.xCaptureOk = TRUE. At this point, the SoMotionGenerator has updated the parameter ST_TouchProbe.lrCapturedPosition with the position the parameter ST_TouchProbe.lrPosition had at the time when the edge was seen on the sensor. (The SoMotionGenerator interpolates the position change between two cycles to get the accurate position). |
n/a |
The user takes the Touchprobe result from the parameter, ST_TouchProbe.lrCapturedPosition. The user can start a new capturing by returning to event two (II) or event three (III), if the user needs to recalibrate the lrPosition value again. |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
1 |
Deactivated |
|
OK |
2 |
Initialization1 |
|
OK |
3 |
Initialization2 |
|
OK |
4 |
Job in progress |
|
OK |
39 |
PosStart deceleration has been ignored. |
|
OK |
5 |
Ramp-down |
|
ControllerConditionInvalid |
46 |
The controller type is not supported. |
|
DriveConditionInvalid |
6 |
Invalid axis |
|
DriveConditionInvalid |
7 |
Axis not ready |
|
DriveConditionInvalid |
11 |
Function block Re-Enable required |
|
ExecutionAborted |
42 |
The instance of the external setpoint device is invalid. |
|
ExecutionAborted |
44 |
q_lrY of the external setpoint generator is invalid. |
|
ExecutionAborted |
43 |
Return value of the external setpoint generator |
|
ExecutionAborted |
50 |
i_ifDrive.RefPosition is not a valid LREAL. |
|
ExecutionAborted |
12 |
Invalid internal state |
|
ExecutionAborted |
47 |
iq_astTouchProbe[].ifTouchProbe is invalid. |
|
ExecutionAborted |
48 |
iq_astTouchProbe[].etEdge is invalid. |
|
ExecutionAborted |
49 |
iq_astTouchProbe[].etSetposMode is invalid. |
|
ExecutionAborted |
34 |
The job buffer is full. It is not possible to initiate further jobs. |
|
ExecutionAborted |
31 |
Job parameter stCam.etMode invalid |
|
ExecutionAborted |
26 |
Job parameter stCam.lrXStart >= stCam.lrXEnd |
|
ExecutionAborted |
29 |
Job parameter xChannelBundling only for channel A |
|
ExecutionAborted |
52 |
Job parameter is invalid |
|
ExecutionAborted |
14 |
Job parameter etJobType is outside the valid range. |
|
ExecutionAborted |
27 |
Job parameter stCam.stDwell.lrLambda is outside the valid range. |
|
ExecutionAborted |
32 |
Job parameter stCam.ifMaster is invalid. |
|
ExecutionAborted |
33 |
Job parameter stCam.etMasterSetposMode is invalid. |
|
ExecutionAborted |
20 |
Job parameter stPosStart.lrAbsJerk is outside the valid range. |
|
ExecutionAborted |
22 |
Job parameter stPosStart.etDelayType is outside the valid range. |
|
ExecutionAborted |
18 |
Job parameter stPosStart.lrMaxAcceleration is outside the valid range. |
|
ExecutionAborted |
19 |
Job parameter stPosStart.lrMaxDeceleration is outside the valid range. |
|
ExecutionAborted |
16 |
Job parameter stPosStart.lrPosition is outside the valid range. |
|
ExecutionAborted |
21 |
Job parameter stPosStart.etPosMode is outside the valid range. |
|
ExecutionAborted |
17 |
Job parameter stPosStart.lrVelocity is outside the valid range. |
|
ExecutionAborted |
25 |
Job parameter stPosStop.lrAbsJerk is outside the valid range. |
|
ExecutionAborted |
23 |
Job parameter stPosStop.lrMaxAcceleration is outside the valid range. |
|
ExecutionAborted |
24 |
Job parameter stPosStop.lrMaxDeceleration is outside the valid range. |
|
ExecutionAborted |
15 |
Job parameter etSetposMode is outside the valid range. |
|
ExecutionAborted |
28 |
Job parameter stCam.stDwell.lrStraight is outside the valid range. |
|
ExecutionAborted |
30 |
Job parameter stSystemCam.diProfileID is invalid. |
|
ExecutionAborted |
45 |
The axis is moving although no job is active. |
|
ExecutionAborted |
38 |
Job parameter lrMasterPhaseAbsJerk of the phase generator is less than zero. |
|
ExecutionAborted |
36 |
Job parameter lrMasterPhaseMaxAcceleration of the phase generator is less than zero. |
|
ExecutionAborted |
37 |
Job parameter lrMasterPhaseMaxDeceleration of the phase parameter is less than zero. |
|
ExecutionAborted |
35 |
Job parameter lrMasterPhaseVelocity of the phase generator is zero. |
|
ExecutionAborted |
40 |
Poly5 stCam.lrXStart is greater than stCam.lrXEnd. |
|
ExecutionAborted |
41 |
Poly7 stCam.lrXStart is greater than stCam.lrXEnd. |
|
ExecutionAborted |
72 |
|
|
ExecutionAborted |
10 |
Return value of the FC_UserRefGeneratorStart function |
|
SercosConditionInvalid |
51 |
Invalid Sercos interface |
|
SercosConditionInvalid |
9 |
RTB cycle time |
Enumeration name: |
AxisInvalid |
Enumeration value: |
6 |
Description: |
Invalid axis |
Issue |
Cause |
Solution |
---|---|---|
- |
No drive has been applied at the i_ifDrive input. |
A valid drive must be transferred to the i_ifDrive input. |
- |
The connected drive does not support all required functionalities. |
The output q_sMsg shows which functionalities are not supported by the drive. Use a drive that supports all required functionalities. |
Enumeration name: |
AxisNotReady |
Enumeration value: |
7 |
Description: |
Axis not ready |
Issue |
Cause |
Solution |
---|---|---|
- |
The axis is not in position control. |
Verify the axis state. |
Enumeration name: |
AxisReadyReEnableNecessary |
Enumeration value: |
11 |
Description: |
Function block Re-Enable required |
Issue |
Cause |
Solution |
---|---|---|
- |
The necessary requirements for the intended use of the drive are not fulfilled. |
Obtain more detailed diagnostic information: see output q_sMsg. A Re-Enable of the function block is required. |
Enumeration name: |
Deactivated |
Enumeration value: |
1 |
Description: |
Deactivated |
Issue |
Cause |
Solution |
---|---|---|
- |
The function block is not active. |
Verify the state of the i_xEnable input. |
Enumeration name: |
ExtRefGenInvalid |
Enumeration value: |
42 |
Description: |
The instance of the external setpoint device is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The connected external position generator does not support all required functionalities. |
Use a position generator that supports all required functionalities. The interface transferred at the variable ST_MotionJob.stPositioning.stExternalPos.ifExternalPosGenerator or ST_MotionJob.stCam.stExternalCam.ifExternalCamGenerator is invalid. |
Enumeration name: |
ExtRefGenInvalidRefPosition |
Enumeration value: |
44 |
Description: |
q_lrY of the external setpoint generator is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The position output q_lrY of the external reference value generator provides no valid LREAL. |
Verify the external reference value generator. |
Enumeration name: |
ExtRefGenReturnValue |
Enumeration value: |
43 |
Description: |
Return value of the external setpoint generator |
Issue |
Cause |
Solution |
---|---|---|
- |
The q_etDiag output of the external reference value generator is unequal to GD.ET_Diag.Ok. |
Verify the external reference value generator. |
Enumeration name: |
Initilization1 |
Enumeration value: |
2 |
Description: |
Initialization1 |
The function block is being initialized and thus is not yet ready to receive commands at its inputs.
Enumeration name: |
Initilization2 |
Enumeration value: |
3 |
Description: |
Initialization2 |
The function block is being initialized and thus is not yet ready to receive commands at its inputs.
Enumeration name: |
InvalidController |
Enumeration value: |
46 |
Description: |
The controller type is not supported. |
Issue |
Cause |
Solution |
---|---|---|
- |
The global controller interface G_ifController is invalid. |
A valid controller must be assigned to the G_ifController variable. |
- |
The connected controller does not support all required functionalities. |
Use a controller that supports all required functionalities. |
Enumeration name: |
InvalidRefPosition |
Enumeration value: |
50 |
Description: |
i_ifDrive.RefPosition is not a valid LREAL. |
Issue |
Cause |
Solution |
---|---|---|
- |
The reference value generation failed. |
Please inform your Schneider Electric representative about this detected error. |
Enumeration name: |
InvalidSercosItf |
Enumeration value: |
51 |
Description: |
Invalid Sercos interface |
Issue |
Cause |
Solution |
---|---|---|
- |
The global Sercos interface G_ifSercosr is invalid. |
A valid Sercos slave must be assigned to the G_ifSercos variable. |
- |
The connected Sercos slave does not support all required functionalities. |
Use a Sercos slave that supports all required functionalities. |
Enumeration name: |
InvalidState |
Enumeration value: |
12 |
Description: |
Invalid internal state |
Issue |
Cause |
Solution |
---|---|---|
- |
The POU is in an invalid condition. |
Please inform your Schneider Electric representative about this detected error. |
Enumeration name: |
InvalidTp |
Enumeration value: |
47 |
Description: |
iq_astTouchProbe[].ifTouchProbe is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned touchprobe is invalid. |
Further details can be drawn from the q_sMsg output. |
Enumeration name: |
InvalidTpEdge |
Enumeration value: |
48 |
Description: |
iq_astTouchProbe[].etEdge is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the etEdge variable is invalid. |
etEdge must have the value ET_TpEdge.Rising at rising edge or the value ET_TpEdge.Falling at falling edge. |
Enumeration name: |
InvalidTpSetposMode |
Enumeration value: |
49 |
Description: |
iq_astTouchProbe[].etSetposMode is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the etSetposMode variable is invalid. |
etSetposMode must have the value ET_SetposMode.Absolute in the case of an absolute SetPos or the value ET_SetposMode.Relative in the case of a relative SetPos. |
Enumeration name: |
JobBufferOverflow |
Enumeration value: |
34 |
Description: |
The job buffer is full. It is not possible to initiate further jobs. |
Issue |
Cause |
Solution |
---|---|---|
- |
A channel has reached the maximum number of storable jobs and thus could not take over an issued job. xReadyForNewJobInTake of the channel is FALSE. |
Before issuing a job, verify whether xReadyForNewJobInTake of the channel is TRUE. |
Enumeration name: |
JobParamCamMode |
Enumeration value: |
31 |
Description: |
Job parameter stCam.etMode invalid |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.etMode variable is invalid. |
stCam.etMode must be assigned with an element from ET_CamMode. |
Enumeration name: |
JobParamCamXStartXEnd |
Enumeration value: |
26 |
Description: |
Job parameter stCam.lrXStart >= stCam.lrXEnd |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.lrXStart is too high. |
The value of the stCam.lrXStart variable must be less than the value of the stCam.lrXEnd variable. |
Enumeration name: |
JobParamChannelBundling |
Enumeration value: |
29 |
Description: |
Job parameter xChannelBundling only for channel A |
Issue |
Cause |
Solution |
---|---|---|
- |
The parameter stPosStart/stPosStop.xChannelBundling was set to TRUE for channel B or channel C. |
Set the parameter stPosStart/stPosStop.xChannelBundling to TRUE only for channel A. |
Enumeration name: |
JobParamInvalid |
Enumeration value: |
52 |
Description: |
Job parameter is invalid |
Issue |
Cause |
Solution |
---|---|---|
- |
No velocity profile could be calculated for a positioning job. |
Verify the job parameters of ST_Positioning.ST_PosStart. |
Enumeration name: |
JobParamJobType |
Enumeration value: |
14 |
Description: |
Job parameter etJobType is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the ST_MotionJob.etJobType variable is invalid. |
ST_MotionJob.etJobType must be assigned with an element from ET_MotionJobType. |
Enumeration name: |
JobParamLambda |
Enumeration value: |
27 |
Description: |
Job parameter stCam.stDwell.lrLambda is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.stDwellDwell.lrLambda variable is invalid. |
lrLambda must be >= 0.0 and <= 1.0. |
Enumeration name: |
JobParamMaster |
Enumeration value: |
32 |
Description: |
Job parameter stCam.ifMaster is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
No valid master has been transferred to the stCam.ifMaster variable. |
A valid master must be transferred to the stCam.ifMaster variable. |
- |
The connected master does not support all required functionalities. |
The q_sMsg output shows which functionalities are not supported by the master. Use a master that supports all required functionalities. |
Enumeration name: |
JobParamMasterSetposMode |
Enumeration value: |
33 |
Description: |
Job parameter stCam.etMasterSetposMode is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.etMasterSetposMode variable is invalid. |
etMasterSetposMode must be of type ET_SetposMode. |
Enumeration name: |
JobParamPosStartAbsJerk |
Enumeration value: |
20 |
Description: |
Job parameter stPosStart.lrAbsJerk is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.lrAbsJerk variable is invalid. |
stPosStart.lrAbsJerk must be >= 0.001. |
Enumeration name: |
JobParamPosStartDelayType |
Enumeration value: |
22 |
Description: |
Job parameter stPosStart.etDelayType is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the variable stPosStart.etDelayType is invalid. |
stPosStart.etDelayType must be assigned with an element from ET_PosStartDelayType. |
JobParamPosStartMaxAcceleration
Enumeration name: |
JobParamPosStartMaxAcceleration |
Enumeration value: |
18 |
Description: |
Job parameter stPosStart.lrMaxAcceleration is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.lrMaxAcceleration variable is invalid. |
stPosStart.lrMaxAcceleration must be >= 0.001. |
JobParamPosStartMaxDeceleration
Enumeration name: |
JobParamPosStartMaxDeceleration |
Enumeration value: |
19 |
Description: |
Job parameter stPosStart.lrMaxDeceleration is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.lrMaxDeceleration variable is invalid. |
stPosStart.lrMaxDeceleration must be >= 0.001. |
Enumeration name: |
JobParamPosStartPosition |
Enumeration value: |
16 |
Description: |
Job parameter stPosStart.lrPosition is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.lrPosition variable is invalid. |
In the case of a relative positioning (stPosStart.etPosMode = ET_PosMode.Relative) stPosStart.lrPosition must be >= 0.001. |
Enumeration name: |
JobParamPosStartPosMode |
Enumeration value: |
21 |
Description: |
Job parameter stPosStart.etPosMode is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.etPosMode variable is invalid. |
stPosStart.etPosMode must have the value ET_PosMode.Absolute in the case of an absolute positioning or the value ET_PosMode.Relative in the case of a relative positioning. |
Enumeration name: |
JobParamPosStartVelocity |
Enumeration value: |
17 |
Description: |
Job parameter stPosStart.lrVelocity is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStart.lrVelocity variable is invalid. |
stPosStart.lrVelocity must be >= 0.001. |
Enumeration name: |
JobParamPosStopAbsJerk |
Enumeration value: |
25 |
Description: |
Job parameter stPosStop.lrAbsJerk is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStop.lrAbsJerk variable is invalid. |
stPosStop.lrAbsJerk must be >= 0.001. |
JobParamPosStopMaxAcceleration
Enumeration name: |
JobParamPosStopMaxAcceleration |
Enumeration value: |
23 |
Description: |
Job parameter stPosStop.lrMaxAcceleration is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStop.lrMaxAcceleration variable is invalid. |
stPosStop.lrMaxAcceleration must be >= 0.001. |
JobParamPosStopMaxDeceleration
Enumeration name: |
JobParamPosStopMaxDeceleration |
Enumeration value: |
24 |
Description: |
Job parameter stPosStop.lrMaxDeceleration is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stPosStop.lrMaxDeceleration variable is invalid. |
stPosStop.lrMaxDeceleration must be >= 0.001. |
Enumeration name: |
JobParamSetposMode |
Enumeration value: |
15 |
Description: |
Job parameter etSetposMode is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the etSetposMode variable is invalid. |
etSetposMode must be of type ET_SetposMode. |
Enumeration name: |
JobParamStraight |
Enumeration value: |
28 |
Description: |
Job parameter stCam.stDwell.lrStraight is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.stDwellDwell.lrStraight variable is invalid. |
lrStraight must be >= 0.0 and <= 0.99. |
Enumeration name: |
JobParamSystemCamProfileID |
Enumeration value: |
30 |
Description: |
Job parameter stSystemCam.diProfileID is invalid. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.stSystemCam.diProfileID variable is invalid. |
Verify diProfileID. |
Enumeration name: |
JobProcessing |
Enumeration value: |
4 |
Description: |
Job in progress |
Issue |
Cause |
Solution |
---|---|---|
- |
FC_UserRefGeneratorStart has been executed successfully. |
|
Enumeration name: |
NoJobWhileAxisMoving |
Enumeration value: |
45 |
Description: |
The axis is moving although no job is active. |
Issue |
Cause |
Solution |
---|---|---|
- |
The axis is in an invalid condition. |
Please inform your Schneider Electric representative about this detected error. |
Enumeration name: |
PhaseJobParamAbsJerk |
Enumeration value: |
38 |
Description: |
Job parameter lrMasterPhaseAbsJerk of the phase generator is less than zero. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the lrMasterPhaseAbsJerk variable is invalid. |
lrMasterPhaseAbsJerk must be > 0.0. |
Enumeration name: |
PhaseJobParamMaxAcceleration |
Enumeration value: |
36 |
Description: |
Job parameter lrMasterPhaseMaxAcceleration of the phase generator is less than zero. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the lrMasterPhaseMaxAcceleration variable is invalid. |
lrMasterPhaseMaxAcceleration must be > 0.0. |
Enumeration name: |
PhaseJobParamMaxDeceleration |
Enumeration value: |
37 |
Description: |
Job parameter lrMasterPhaseMaxDeceleration of the phase parameter is less than zero. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the lrMasterPhaseMaxDeceleration variable is invalid. |
lrMasterPhaseMaxDeceleration must be > 0.0. |
Enumeration name: |
PhaseJobParamVelocity |
Enumeration value: |
35 |
Description: |
Job parameter lrMasterPhaseVelocity of the phase generator is zero. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the lrMasterPhaseVelocity variable is invalid. |
lrMasterPhaseVelocity must be <> 0.0. |
Enumeration name: |
Poly5ComXStartGreaterXEnd |
Enumeration value: |
40 |
Description: |
Poly5 stCam.lrXStart is greater than stCam.lrXEnd. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.lrXStart is too high. |
The value of the stCam.lrXStart variable must be less than the value of the stCam.lrXEnd variable. |
Enumeration name: |
Poly7ComXStartGreaterXEnd |
Enumeration value: |
41 |
Description: |
Poly7 stCam.lrXStart is greater than stCam.lrXEnd. |
Issue |
Cause |
Solution |
---|---|---|
- |
The assigned value of the stCam.lrXStart is too high. |
The value of the stCam.lrXStart variable must be less than the value of the stCam.lrXEnd variable. |
Enumeration name: |
PosStartDelayIgnored |
Enumeration value: |
39 |
Description: |
PosStart deceleration has been ignored. |
Issue |
Cause |
Solution |
---|---|---|
- |
The stPosStart.etDelayType parameter is invalid. |
stPosStart.etDelayType must be equal to ET_PosStartDelayType.None when a new job is issued to a cancelled job. |
Enumeration name: |
RtbCycleTime |
Enumeration value: |
9 |
Description: |
RTB cycle time |
Issue |
Cause |
Solution |
---|---|---|
- |
The Sercos slave has an invalid cycle time. |
The ifSercos.CycleTime parameter must be > 0. |
Enumeration name: |
Stopping |
Enumeration value: |
5 |
Description: |
Ramp-down |
Issue |
Cause |
Solution |
---|---|---|
- |
i_xEnable = FALSE has been set at the FB_SoMotionGenerator POU and a FC_ControllerStopSet has been executed. |
|
Enumeration name: |
UnknownCamType |
Enumeration value: |
72 |
Description: |
|
Enumeration name: |
UserRefGenerator |
Enumeration value: |
10 |
Description: |
Return value of the FC_UserRefGeneratorStart function |
Issue |
Cause |
Solution |
---|---|---|
- |
FC_UserRefGeneratorStart could not be executed. |
Please inform your Schneider Electric representative about this detected error. |
Name |
Description |
---|---|
Issuing positioning jobs to the SMG for one channel. |
|
Issuing position jobs to the SMG for up to three channels. |