FB_SoMotionGenerator - General Information

Overview

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.

Task

Generation of reference values for a single axis.

Description

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.

G-SE-0069342.1.gif-high.gif

 

 

Reference value channel A

G-SE-0069343.1.gif-high.gif

 

 

Reference value channel B

G-SE-0069344.1.gif-high.gif

 

 

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.

Interface

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

GD.ET_Diag

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

ST_PhaseGenerator

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

ST_RealtimeData

Real-time data that are updated in the real-time cycle.

iq_stWarmStartData

ST_WarmStartData

Warm start data that are updated for the function blocks Enable and i_xWarmStart = TRUE.

Using Touchprobes

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).

G-SE-0069365.1.gif-high.gif

 

 

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.

Examples

The following examples show the use of the Touchprobe in combination with the FB_SoMotion­Generator. 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).

G-SE-0069364.1.gif-high.gif

 

 

The graphic, lrPosition, shows the behavior of the auxiliary position in the ST_TouchProbe.lrPosition described in the overview.

G-SE-0069363.1.gif-high.gif

 

 

The graphic, Tp.Value, shows the assumed course of the Touchprobe signal.

G-SE-0069360.1.gif-high.gif

 

 

The graphic, xArmed, shows the assumed course of the ST_Touchprobe.xArmed. The signal displays an active Touchprobe.

G-SE-0069359.1.gif-high.gif

 

 

The graphic, xCaptureOk, shows the valid detection of the Touchprobe signal.

G-SE-0069361.1.gif-high.gif

 

 

The graphic, lrCapturedPosition, shows the position at the time of the valid detection of the Touchprobe signal.

G-SE-0069362.1.gif-high.gif

 

 

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.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Deactivated

1

Deactivated

OK

Initilization1

2

Initialization1

OK

Initilization2

3

Initialization2

OK

JobProcessing

4

Job in progress

OK

PosStartDelayIgnored

39

PosStart deceleration has been ignored.

OK

Stopping

5

Ramp-down

ControllerConditionInvalid

InvalidController

46

The controller type is not supported.

DriveConditionInvalid

AxisInvalid

6

Invalid axis

DriveConditionInvalid

AxisNotReady

7

Axis not ready

DriveConditionInvalid

AxisReadyReEnableNecessary

11

Function block Re-Enable required

ExecutionAborted

ExtRefGenInvalid

42

The instance of the external setpoint device is invalid.

ExecutionAborted

ExtRefGenInvalidRefPosition

44

q_lrY of the external setpoint generator is invalid.

ExecutionAborted

ExtRefGenReturnValue

43

Return value of the external setpoint generator

ExecutionAborted

InvalidRefPosition

50

i_ifDrive.RefPosition is not a valid LREAL.

ExecutionAborted

InvalidState

12

Invalid internal state

ExecutionAborted

InvalidTp

47

iq_astTouchProbe[].ifTouchProbe is invalid.

ExecutionAborted

InvalidTpEdge

48

iq_astTouchProbe[].etEdge is invalid.

ExecutionAborted

InvalidTpSetposMode

49

iq_astTouchProbe[].etSetposMode is invalid.

ExecutionAborted

JobBufferOverflow

34

The job buffer is full. It is not possible to initiate further jobs.

ExecutionAborted

JobParamCamMode

31

Job parameter stCam.etMode invalid

ExecutionAborted

JobParamCamXStartXEnd

26

Job parameter stCam.lrXStart >= stCam.lrXEnd

ExecutionAborted

JobParamChannelBundling

29

Job parameter xChannelBundling only for channel A

ExecutionAborted

JobParamInvalid

52

Job parameter is invalid

ExecutionAborted

JobParamJobType

14

Job parameter etJobType is outside the valid range.

ExecutionAborted

JobParamLambda

27

Job parameter stCam.stDwell.lrLambda is outside the valid range.

ExecutionAborted

JobParamMaster

32

Job parameter stCam.ifMaster is invalid.

ExecutionAborted

JobParamMasterSetposMode

33

Job parameter stCam.etMasterSetposMode is invalid.

ExecutionAborted

JobParamPosStartAbsJerk

20

Job parameter stPosStart.lrAbsJerk is outside the valid range.

ExecutionAborted

JobParamPosStartDelayType

22

Job parameter stPosStart.etDelayType is outside the valid range.

ExecutionAborted

JobParamPosStartMaxAcceleration

18

Job parameter stPosStart.lrMaxAcceleration is outside the valid range.

ExecutionAborted

JobParamPosStartMaxDeceleration

19

Job parameter stPosStart.lrMaxDeceleration is outside the valid range.

ExecutionAborted

JobParamPosStartPosition

16

Job parameter stPosStart.lrPosition is outside the valid range.

ExecutionAborted

JobParamPosStartPosMode

21

Job parameter stPosStart.etPosMode is outside the valid range.

ExecutionAborted

JobParamPosStartVelocity

17

Job parameter stPosStart.lrVelocity is outside the valid range.

ExecutionAborted

JobParamPosStopAbsJerk

25

Job parameter stPosStop.lrAbsJerk is outside the valid range.

ExecutionAborted

JobParamPosStopMaxAcceleration

23

Job parameter stPosStop.lrMaxAcceleration is outside the valid range.

ExecutionAborted

JobParamPosStopMaxDeceleration

24

Job parameter stPosStop.lrMaxDeceleration is outside the valid range.

ExecutionAborted

JobParamSetposMode

15

Job parameter etSetposMode is outside the valid range.

ExecutionAborted

JobParamStraight

28

Job parameter stCam.stDwell.lrStraight is outside the valid range.

ExecutionAborted

JobParamSystemCamProfileID

30

Job parameter stSystemCam.diProfileID is invalid.

ExecutionAborted

NoJobWhileAxisMoving

45

The axis is moving although no job is active.

ExecutionAborted

PhaseJobParamAbsJerk

38

Job parameter lrMasterPhaseAbsJerk of the phase generator is less than zero.

ExecutionAborted

PhaseJobParamMaxAcceleration

36

Job parameter lrMasterPhaseMaxAcceleration of the phase generator is less than zero.

ExecutionAborted

PhaseJobParamMaxDeceleration

37

Job parameter lrMasterPhaseMaxDeceleration of the phase parameter is less than zero.

ExecutionAborted

PhaseJobParamVelocity

35

Job parameter lrMasterPhaseVelocity of the phase generator is zero.

ExecutionAborted

Poly5ComXStartGreaterXEnd

40

Poly5 stCam.lrXStart is greater than stCam.lrXEnd.

ExecutionAborted

Poly7ComXStartGreaterXEnd

41

Poly7 stCam.lrXStart is greater than stCam.lrXEnd.

ExecutionAborted

UnknownCamType

72

 

ExecutionAborted

UserRefGenerator

10

Return value of the FC_UserRefGeneratorStart function

SercosConditionInvalid

InvalidSercosItf

51

Invalid Sercos interface

SercosConditionInvalid

RtbCycleTime

9

RTB cycle time

AxisInvalid

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.

AxisNotReady

Enumeration name:

AxisNotReady

Enumeration value:

7

Description:

Axis not ready

Issue

Cause

Solution

-

The axis is not in position control.

Verify the axis state.

AxisReadyReEnableNecessary

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.

Deactivated

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.

ExtRefGenInvalid

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.

ExtRefGenInvalidRefPosition

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.

ExtRefGenReturnValue

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.

Initilization1

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.

Initilization2

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.

InvalidController

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.

InvalidRefPosition

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.

InvalidSercosItf

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.

InvalidState

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.

InvalidTp

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.

InvalidTpEdge

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.

InvalidTpSetposMode

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.

JobBufferOverflow

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.

JobParamCamMode

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.

JobParamCamXStartXEnd

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.

JobParamChannelBundling

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.

JobParamInvalid

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.

JobParamJobType

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.

JobParamLambda

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.

JobParamMaster

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.

JobParamMasterSetposMode

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.

JobParamPosStartAbsJerk

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.

JobParamPosStartDelayType

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.

JobParamPosStartPosition

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.

JobParamPosStartPosMode

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.

JobParamPosStartVelocity

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.

JobParamPosStopAbsJerk

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.

JobParamSetposMode

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.

JobParamStraight

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.

JobParamSystemCamProfileID

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.

JobProcessing

Enumeration name:

JobProcessing

Enumeration value:

4

Description:

Job in progress

Issue

Cause

Solution

-

FC_UserRefGeneratorStart has been executed successfully.

 

NoJobWhileAxisMoving

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.

PhaseJobParamAbsJerk

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.

PhaseJobParamMaxAcceleration

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.

PhaseJobParamMaxDeceleration

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.

PhaseJobParamVelocity

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.

Poly5ComXStartGreaterXEnd

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.

Poly7ComXStartGreaterXEnd

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.

PosStartDelayIgnored

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.

RtbCycleTime

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.

Stopping

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.

 

UnknownCamType

Enumeration name:

UnknownCamType

Enumeration value:

72

Description:

 

UserRefGenerator

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.

Methods

Name

Description

TakeJob

Issuing positioning jobs to the SMG for one channel.

TakeJobAll

Issuing position jobs to the SMG for up to three channels.