Skip to main content
Skip table of contents

Arc Motion Center and Angle

The arc motion command can be used to move an XBot in an arc path, the arc is defined by the arc center location, the rotation angle, and the rotation direction (clockwise or counterclockwise).

Fieldbus Interface 

PMC_ArcMotionCenter

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 of Arc Center; 1: Relative positioning of arc center to XBot position at the start of command execution

Dir

USINT

0: Negative RZ direction (Clockwise); 1: Positive RZ direction (Counterclockwise)

EndVel

REAL

Ending Tangential Speed (m/s)

MaxVel

REAL

Maximum Tangential Speed (m/s)

MaxAcc

REAL

Maximum Acceleration (m/s2)

CenterX

REAL

Center X Coordinates (m)  

CenterY

REAL

Center Y Coordinates (m)  

Angle

REAL

Angle (rad) – must be greater than 0

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 ArcMotionMetersDegrees(ushort cmdLabel, int xbotID, ARCMODE arcMode, ARCTYPE arcType, ARCDIRECTION arcDir, POSITIONMODE positionMode, double XMeters, double YMeters, double finalSpeedMetersPs, double maxSpeedMetersPs, double maxAccelerationMetersPs2, double radiusMeters, double angleRadians)

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]

arcMode

enum

TARGETRADIUS (0) = Target + Radius mode, CENTERANGLE (1) = Center + Angle mode

arcType

enum

MINORARC (0) = minor arc, MAJORARC (1) = major arc

arcDir

enum

CLOCKWISE (0) = clockwise, COUNTERCLOCKWISE (1) = counterclockwise

positionMode

enum

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

XMeters

double

Target X (target + radius mode) or Center X (center = angle mode), meters

YMeters

double

Target Y (target + radius mode) or Center Y (center = angle mode), meters

finalSpeedMetersPs

double

Final tangential speed (m/s)

maxSpeedMetersPs

double

Max tangential speed (m/s)

maxAccelerationMetersPs2

double

Max acceleration (m/s2)

radiusMeters

double

For target + radius mode only: radius of arc, meters

angleRadians

double

For center + angle mode only: arc angle, radians

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

Untitled-20240924-220036.png

The arc motion command can be used to move an XBot in an arc path, the arc is defined by the arc center location, the rotation angle, and the rotation direction (clockwise or counterclockwise).

  • The target or center 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.

  • Only the X- and Y-positions (also called the long axis) are controlled by this command. The Z-, Rx-, Ry-, and Rz-positions are maintained during this motion command.

  • The maximum speed and ending speed must be specified. Similar to linear motion, the input maximum speed will be automatically constrained if it is below or above the system limits and the ending speed will be limited if the travel distance is too short

  • The ending speed and maximum speed are also limited by both the tangential and the normal acceleration for the arc. The speeds may be automatically adjusted to a lower value if required so that the accelerations do not exceed their limits.

JavaScript errors detected

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

If this problem persists, please contact our support.