FB_SoMotionGenerator - TakeJobAll (Method)

Overview

Type:

Method

Available as of:

V1.1.0.0

Task

Uninterruptible assignment of motion jobs to the SMG on up to three channels.

Description

Motion jobs to the SMG are assigned via the TakeJobAll method. As input parameters it has the job structures that contain the data of the motion jobs of the individual channels.

Interface

Output

Data type

Description

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

Input/Output

Data type

Description

iq_stMotionJobA

ST_MotionJob

Job structure with the data of the motion job for the channel A

iq_stMotionJobB

ST_MotionJob

Job structure with the data of the motion job for the channel B

iq_stMotionJobC

ST_MotionJob

Job structure with the data of the motion job for the channel C

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

ExecutionAborted

ExtRefGenInvalid

42

The instance of the external setpoint device 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

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.

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.

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.

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.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

Issuing of a motion job for the SMG was successful.