For commanding between 1 to 4 unique XBots to begin executing their respective XY motion commands at the same time.
Fieldbus Interface
PMC_SyncMotion
Inputs
|
Name
|
Data Type
|
Description
|
|
Execute
|
BOOL
|
Execution of the function block begins on a rising edge of this input. |
|
nXbots
|
USINT
|
Number of XBots to synchronously move, from 1 to 4
|
|
XbotID
|
USINT[0..3]
|
Array of size 4, enter up to 4 XBot IDs of the XBots that should be moved
|
|
PosX
|
REAL[0..3]
|
Array of size 4, Absolute target X Coordinates (m), for the up to 4 XBots specified in the XbotID array
|
|
PosY
|
REAL[0..3]
|
Array of size 4, Absolute target Y Coordinates (m), for the up to 4 XBots specified in the XbotID array
|
|
EndVel
|
REAL[0..3]
|
Array of size 4, Ending Speed (m/s), for the up to 4 XBots specified in the XbotID array
|
|
MaxVel
|
REAL[0..3]
|
Array of size 4, Maximum Speed (m/s) , for the up to 4 XBots specified in the XbotID array
|
|
MaxAcc
|
REAL[0..3]
|
Array of size 4, Maximum Acceleration (m/s2) , for the up to 4 XBots specified in the XbotID array
|
|
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 Fieldbus Reply Codes. |
|
TravelTime
|
REAL
|
Traveling time (s)
|
Ethernet Interface
MotionRtn SyncMotionSI(int XBOTCount, int[] xbotIDs, double[] targetsXMeters, double[] targetsYMeters, double[] finalSpeedsMetersPs, double[] maxSpeedsMetersPs, double[] maxAccelerationMetersPs2)
Parameters
|
Name
|
Type
|
Description
|
|
XBOTCount
|
int
|
Number of XBots in this command, max 4
|
|
xbotIDs
|
int[]
|
Array of XBot IDs that will use synchronous motion
|
|
targetsXMeters
|
double[]
|
Target X position for the corresponding XBot, meters
|
|
targetsYMeters
|
double[]
|
Target Y position for the corresponding XBot, meters
|
|
finalSpeedsMetersPs
|
double[]
|
Final speed for the corresponding XBot, m/s
|
|
maxSpeedsMetersPs
|
double[]
|
Max speed for the corresponding XBot, m/s
|
|
maxAccelerationMetersPs2
|
double[]
|
Max acceleration for the corresponding XBot, m/s^2
|
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(s) State is Idle or Stopped. |
|
Postconditions
|
The specified XBot(s) will enter the Motion State. |
Description
For commanding between 1 to 4 unique XBots to begin executing their respective XY motion commands at the same time.
-
Only linear motion commands and absolute coordinates are accepted
-
The commanded XBots’ state must be in the Idle or Stopped state
-
The commanded XBots’ Motion buffer must be empty and cannot be blocked, otherwise this command will be rejected