This command can be used to levitate or land the XBots with a specified speed and a landed force in Z.
Fieldbus Interface
PMC_LevitationCtrl
Inputs
Name
Data Type
Description
Execute
BOOL
Execution of the function block begins on a rising edge of this input.
XbotID
USINT
ID of the XBot. 0 = All XBots. Real XBot IDs [1,78]
Level
USINT
0: Land; 1: Levitate
Speed
USINT
0 = (1.6s), 1 = (0.8s), 2 = (0.4s), 3 = (0.2s), 4 = (0.1s), 5 = (0.05s); All times are approximate
LandedZForce
REAL
Z axis force when the XBot is landed in Newtons
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 .
Ethernet Interface
PMCRTN LevitationCommand(int xbotID, LEVITATEOPTIONS levMode, LEVITATIONSPEED levSpeed, double force)
Parameters
Name
Type
Description
xbotID
int
ID of the XBot. 0 = All XBots. Real XBot IDs [1,78]
levMode
enum
LAND (0): land XBot(s), LEVITATE (1) : levitate XBot(s)
levSpeed
enum
APPROX_1600MS(0): 1.6s
APPROX_800MS(1): 0.8s
APPROX_400MS(2): 0.4s
APPROX_200MS(3): 0.2s
APPROX_100MS(4): 0.1s
APPROX_50MS(5): 0.05s
All times are approximate
force
double
Z axis force when the XBot is landed in Newtons
Returns
Name
Type
Description
PMCRTN
PMCRTN enum
ALLOK (0): Command Accepted. Otherwise, please see Ethernet Reply Codes .
Conditions
Operating Conditions
Preconditions
XBot is Idle (Levitated) or Landed
Postconditions
XBot is either Idle (Levitated) or Landed, as specified
Description
This command can be used to levitate or land the XBots with a certain speed after the PMC has been activated. An XBot must be levitating in order to execute a motion command.
To levitate an XBot, it must initially be landed. To land an XBot, it must initially be levitating and is in the Idle or Stopped state.
An input of 0 for the XBot ID can be used to levitate/land all XBots.
Changelog
PMC v117.5.17 - Added landed z force and speed control for fieldbus interface