The Rotary Motion P2P (point to point) command can be used to rotate an XBot to any arbitrary Rz position.
The XBot must be positioned at the center of the Flyway in order to be rotated.
For general rotation limits, see Full Rotation Motions
Fieldbus Interface PMC_RotaryMotion
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]
BoundaryMode
SINT
0: High performance (requires an entire Flyway to be empty) 1: Compact (neighbour XBots can encroach up to 15mm onto the Flyway with rotating XBot)
MotionMode
SINT
0: Absolute motion 1: Relative motion
WrapMode
SINT
Angle wrapping mode
0: Absolute Position, cumulative rotations counted, up to 100 rotations
1: Positive Rz rotation (counter clockwise) in the range of [0,2π)
-1: Negative Rz rotation (clockwise) in the range of [0,2π)
Angle
REAL
Target angle of rotation in radians
MaxVel
REAL
Max velocity in rad/s
MaxAcc
REAL
Max Acceleration in 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 RotaryMotionP2P(ushort cmdLabel, int xbotID, ROTATIONMODE mode, double targetRz, double targetRzVel, double targetRzAcc)
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]
mode
enum
Angle wrapping mode
NO_ANGLE_WRAP: Absolute Position, cumulative rotations counted, up to 100 rotations
WRAP_TO_2PI_CCW: Positive Rz rotation (counter clockwise) in the range of [0,2π)
WRAP_TO_2PI_CW: Negative Rz rotation (clockwise) in the range of [0,2π)
targetRz
double
Target angle of rotation in radians
targetRzVel
double
Max velocity in rad/s
targetRzAcc
double
Max Acceleration in 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 Rotary Motion P2P (point to point) command can be used to rotate an XBot to any arbitrary Rz position.
The XBot must be positioned at the center of the Flyway in order to be rotated.