Skip to main content
Skip table of contents

Single Axis Motion

The Single Axis Motion command can be used to move the XBot in a single axis (any of the 6 axis).

Fieldbus Interface

PMC_SingleAxisMotion 

Inputs

Name

Data Type

Description

Execute

BOOL

Execution of the function block begins on a rising edge of this input.

cmdLB

UINT

Any 2 byte Command Label, user defined.

XbotID

USINT

ID of the XBot. Real XBot IDs [1,78]. Virtual XBot IDs [100,127]. Macro IDs [128,191]

Mode

USINT

0: Absolute Position. 1: Relative Positioning

Priority

USINT

0: No priority. 1: high priority - the specified mover will move on its travel path before other movers. Other movers are not allowed to enter the travel path until the specified mover completes its motion

Axis ID

USINT

Axid IDs: 0 = no axis, 1 = X, 2 = Y, 3 = Z, 4 = RX, 5 = RY, 6 = RZ

Pos

REAL

Target position (m or rad)

EndVel

REAL

Ending Speed  (m/s or rad/s), default = 0

MaxVel

REAL

Maximum Speed (m/s or rad/s), default = 1.0 m/s

MaxAcc

REAL

Maximum Acceleration (m/s2 or rad/s2), default = 10.0 m/s2 or 10.0 rad/s2

PM_Controller

PMControllerType

Data structure that specifies which PMC to connect to. There should be only 1 instance of this variable for each connected PMC.

Outputs

Name

Data Type

Description

Ack

BOOL

Command has been accepted by the PMC when Ack = TRUE.

Done

BOOL

Execution successful. Function block is finished. (Note: Done will not become TRUE if Execute is already FALSE) 

Busy

BOOL

Function block is active and must continue to be called.

Aborted

BOOL

Command aborted by another command.

Error

BOOL

If there is an error in processing the command, then Error = TRUE, otherwise, FALSE.

ErrorID

UINT

0x0: All OK. Otherwise, please see PMC Reply Codes.

TravelTime

REAL

Traveling time (s)

Ethernet Interface 

MotionRtn LinearSingleAxisMotionSI(ushort cmdLabel, int xbotID, POSITIONMODE positionMode, AXISNAME axis, double targetPos, double finalSpeed, double maxSpeed, double maxAcceleration)

Parameters

Name

Type

Description

cmdLabel

ushort

Any 2 byte Command Label, user defined.

xbotID

int

ID of the XBot. Real XBot IDs [1,78]. Virtual XBot IDs [100,127]. Macro IDs [128,191]

positionMode

enum

ABSOLUTE (0) = absolute positioning, RELATIVE(1) = relative positioning

axis

enum

Axid IDs: 0 = no axis, 1 = X, 2 = Y, 3 = Z, 4 = RX, 5 = RY, 6 = RZ

targetPos

double

Target position, or relative increment, in meters or radians

finalSpeed

double

Final Speed  (m/s or rad/s)

maxSpeed

double

Max Speed (m/s or rad/s)

maxAcceleration

double

Max Acceleration (m/s2 or rad/s2)

Returns

Name

Type

Description

MotionRtn.PmcRtn

PMCRTN enum

ALLOK (0): Command Accepted. Otherwise, please see Ethernet Reply Codes.

MotionRtn.TravelTimeSecs

float

Time required to complete this command, in seconds

Conditions

Operating Conditions

Preconditions

XBot is in the Idle state, Obstacle Detected state, Motion state, Stopped state, Hold Position state, or Waiting state.

Postconditions

If the XBot is ready to immediately begin executing the command, then the XBot will enter the Motion state. Otherwise, the XBot state remains unchanged, but the command will be added to the XBot's motion buffer.

Description

The single axis motion command can be used to move the XBot towards the target position in 1 axis, without the need to know the current position of the XBot in any other axis.

  • The target position can be specified either in absolute coordinates or relative coordinates. Relative coordinates are relative to the reference position of the XBot when the command begins execution

  • The maximum speed and acceleration must be specified. The input maximum speed and acceleration will be automatically adjusted if they are below or above the configured system limit settings

  • The desired ending speed must also be specified:

    • Ending speed = 0 means that the XBot will stop at the end target position

    • Ending speed > 0 can be used to connect multiple motion commands seamlessly (see below, functions the same way as XY Linear Motion)

If the ending speed is non-zero but no motion command is available to be run by the XBot when it is done executing the initial linear motion command, the XBot will:

  • Begin decelerating to a complete stop after reaching the target position

  • Backtrack to the target position in the shortest time possible after stopping completely

  • Therefore, it may appear as though the XBot has overshot its target position. If the target position is located close to the flyway boundary and would cause the overshoot to exceed the flyway boundary, then the command will be rejected

If the ending speed is unachievable within the distance available between the starting and end positions, the PMC will automatically limit the ending speed to an achievable value.

Changelog

PMC v11687 - added Priority Input

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.