Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
IRobot Interface Reference

Inherits IDispatch.

Collaboration diagram for IRobot:
Collaboration graph

Classes

struct  GroupRef
 
struct  KinematicsUnits
 
struct  KinematicsValues
 
struct  RobotAxisConfiguration
 
struct  RobotBeltConfigValues
 
struct  RobotBeltErrorReactionValues
 
struct  RobotInformation
 
struct  RobotMechanicData
 
struct  RobotPerformanceResult
 
struct  RobotTrafoParameter
 

Public Types

Public Member Functions

HRESULT GetConfiguredGroups ([out, retval] SAFEARRAY(struct RobotInformation)*robotsInfo)
 
HRESULT CreatePoint ([in] SAFEARRAY(DOUBLE) point, [in, defaultvalue(ROBOT_CS_MCS)] enum RobotCoordinateSystem type, [out, retval] IRobotPoint **retPoint)
 
HRESULT GetKinematicsValues ([in]SAFEARRAY(struct GroupRef) Groups, [out, retval] SAFEARRAY(struct KinematicsValues)*kinematicsValues)
 
HRESULT GetKinematicsUnits ([in]SAFEARRAY(struct GroupRef) Groups, [out, retval] SAFEARRAY(struct KinematicsUnits)*kinematicsUnits)
 

Properties

IGroups Groups [get]
 

Detailed Description

Definition of the IRobot interface which gives access to the robot control functionality of the MLPI Device.

The IRobot interface is not implemented, yet. This is only a placeholder.

Definition at line 70 of file IRobot.idl.

Member Enumeration Documentation

This enumeration defines the types of axis used in a robot. This is parameter K-0-0008.

Enumerator
ROBOT_AXISTYPE_NONE 

No axis configured.

ROBOT_AXISTYPE_POSITIONING 

axis is used as a positioning axis

ROBOT_AXISTYPE_ORIENTATION 

axis is used as an orientation axis

ROBOT_AXISTYPE_BELT 

axis is used as a belt axis

Definition at line 74 of file IRobot.idl.

This enumeration defines the type of robot.

Enumerator
ROBOT_TYPE_RHO 

Old robot control core.

ROBOT_TYPE_RCF 

RCF robot control core.

Definition at line 84 of file IRobot.idl.

This enumeration defines the set mode for robot motion commands.

Enumerator
ROBOT_SETMODE_TO 

no blending

ROBOT_SETMODE_VIA 

blending

Definition at line 92 of file IRobot.idl.

This enumeration defines the type of performance measurement.

Enumerator
ROBOT_PERFORMANCE_ENABLE 

Enable measurement.

ROBOT_PERFORMANCE_DISABLE 

Disable measurement.

Definition at line 100 of file IRobot.idl.

This enumeration defines the type of performance measurement.

Enumerator
ROBOT_CS_MCS 

Machine coordinate system.

ROBOT_CS_ACS 

Axes coordinate system.

ROBOT_CS_BCS 

Base coordinate system.

ROBOT_CS_PCS1 

Product coordinate system.

ROBOT_CS_PCS2 

Product coordinate system.

ROBOT_CS_PCS3 

Product coordinate system.

ROBOT_CS_PCS4 

Product coordinate system.

ROBOT_CS_PCS5 

Product coordinate system.

ROBOT_CS_PCS6 

Product coordinate system.

ROBOT_CS_PCS7 

Product coordinate system.

ROBOT_CS_PCS8 

Product coordinate system.

ROBOT_CS_PCS9 

Product coordinate system.

ROBOT_CS_PCS10 

Product coordinate system.

ROBOT_CS_PCS11 

Product coordinate system.

ROBOT_CS_PCS12 

Product coordinate system.

ROBOT_CS_PCS13 

Product coordinate system.

ROBOT_CS_PCS14 

Product coordinate system.

ROBOT_CS_PCS15 

Product coordinate system.

ROBOT_CS_PCS16 

Product coordinate system.

Definition at line 108 of file IRobot.idl.

This enumeration defines the slope type for robot motion commands.

Enumerator
ROBOT_SLOPETYPE_BLOCK_SLOPE 

blending by starting next command early

ROBOT_SLOPETYPE_PROGR_SLOPE 

blending using a circle (deprecated)

ROBOT_SLOPETYPE_CONT_SLOPE 

blending using a spline

Definition at line 133 of file IRobot.idl.

This enumeration defines error reaction mode of a belt.

Enumerator
ROBOT_BELT_ERROR_NO_SPECIFIC_REACTION 

If an error occurs, no specific belt synchronous error reaction will happen. The robot stays synchronous to the belt.

ROBOT_BELT_ERROR_DESYNC_OVER_TIME 

If an error occurs, the belt desynchronizes from the belt over time.

ROBOT_BELT_ERROR_DESYNC_WITH_LIMITS 

If an error occurs, the belt desynchronizes from the belt over limits.

Definition at line 142 of file IRobot.idl.

This enum defines the command for an mechanical object.

Enumerator
ROBOT_MECH_CREATE_ROD 

create a rod

ROBOT_MECH_CREATE_SPHERE 

create a sphere

ROBOT_MECH_POSITION 

change position of object to (x,y,z)

ROBOT_MECH_DIRECTION 

change direction of object to (x,y,z)

ROBOT_MECH_SIZE 

change size of object to (x,y,z)

Definition at line 151 of file IRobot.idl.

This enum defines whether the coordinate system of a transformation is Cartesian or cylindric.

Enumerator
ROBOT_CS_CARTESIAN 

A Cartesian coordinate system.

ROBOT_CS_CYLINDRIC 

A cylindric coordinate system.

Definition at line 162 of file IRobot.idl.

This enum defines the type of a save zone.

Enumerator
ROBOT_SAFE_ZONE_TYPE_DEACTIVATED 

zone deactivated

ROBOT_SAFE_ZONE_TYPE_INSIDE_OK 

points within this zone are allowed

ROBOT_SAFE_ZONE_TYPE_OUTSIDE_OK 

points outside of this zone are allowed

Definition at line 170 of file IRobot.idl.

Member Function Documentation

HRESULT IRobot::GetConfiguredGroups ( [out, retval] SAFEARRAY(struct RobotInformation)*  robotsInfo)

This method returns a struct array with information about the currently configured robots in the device. Use this method to get a quick overview of the robot configuration of your target. You can then use the Name or GroupRef.AxisNo element of the returned structure as an index for the IMlpiConnection::Robot property of this interface to get more information of the given robot.

Parameters
[out]robotsInfoStruct array containing information about the current robots configuration. Contains one element for each robot.
Returns
Return value indicating success (>=0) or error (<0).
Example C#:
RobotInformation[] robots = (RobotInformation[])connection.Robot.GetConfiguredGroups();
HRESULT IRobot::CreatePoint ( [in] SAFEARRAY(DOUBLE)  point,
[in, defaultvalue(ROBOT_CS_MCS)] enum RobotCoordinateSystem  type,
[out, retval] IRobotPoint **  retPoint 
)

This method creates a robot point object with the given values. Use this method to create a new point. You can use this point for example to move to. Every point has coordinates and a coordinate system the point is defined in.

Parameters
[in]pointCoordinates of the point
[in]typeCoordinate system the point is defined in
[out]retPointCreated point object.
Returns
Return value indicating success (>=0) or error (<0).
Example C#:
RobotPoint myPoint = connection.Robot.CreatePoint(new double[] { 4.0, 5.0, 6.0 }, GroupCoordinateSystem.ROBOT_CS_MCS);
HRESULT IRobot::GetKinematicsValues ( [in] SAFEARRAY(struct GroupRef Groups,
[out, retval] SAFEARRAY(struct KinematicsValues)*  kinematicsValues 
)

This function fills an array of IRobot::KinematicsValues structures. Use the Groups input parameter to specify the groups for which information should be read. You may want to use this method to read several sets of kinematics information for several groups using one single method call during operation of the group. This provides increased performance in comparison to reading the values bit by bit and kinematic by kinematic.

Parameters
[in]GroupsAn array of GIRobot::GroupRef structures which specify the kinematics you want to read.
[out]kinematicsValuesAn array of IRobot::KinematicsValues structures.
Returns
Returns a struct with the current operation information about kinematics.
Note
Elements of the struct that can not be read will be set to 0.
Note:
This method maps to the mlpiCore function mlpiRobotGetKinematicsValues, where you can find further documentation.
Example C#:
KinematicsValues[] kinematicsValues;
GroupRef[] groups = new GroupRef[1];
groups[0].controlNo = 0;
groups[0].groupNo = 1;
kinematicsValues = connection.Robot.GetKinematicsValues(groups);
Note:
This method maps to the mlpiCore function mlpiRobotGetKinematicsValues, where you can find further documentation.
HRESULT IRobot::GetKinematicsUnits ( [in] SAFEARRAY(struct GroupRef Groups,
[out, retval] SAFEARRAY(struct KinematicsUnits)*  kinematicsUnits 
)

This function fills an array of IRobot::KinematicsUnits structures with information about the units of the kinematics. Use the groups input parameter to specify the groups for which information should be read. This provides increased performance in comparison to reading the values bit by bit and kinematic by kinematic.

Parameters
[in]GroupsAn array of GroupRef structures which specify the kinematics you want to read.
[out]kinematicsUnitsAn array of IRobot::KinematicsUnits structures.
Returns
Returns a struct with the current unit information about kinematics.
Note:
This method maps to the mlpiCore function mlpiRobotGetKinematicsUnits, where you can find further documentation.
Example C#:
KinematicsUnits[] kinematicsUnits;
GroupRef[] groups = new GroupRef[1];
groups[0].controlNo = 0;
groups[0].groupNo = 1;
kinematicsUnits = connection.Robot.GetKinematicsUnits(groups);
Note:
This method maps to the mlpiCore function mlpiRobotGetKinematicsUnits, where you can find further documentation.

Property Documentation

IGroups IRobot::Groups
get

This property returns a IGroups object which allows access to different IGroup objects, as well as access to methods which control ALL groups on the device. The IGroups interface is a collection interface.

Parameters
[out]groupsReturns an object of the type IGroups.
Returns
Return value indicating success (>=0) or error (<0).
Example C#:
IGroup Delta = connection.Robot.Groups["Delta"];
IGroup Robot1 = connection.Robot.Groups[1];

The documentation for this interface was generated from the following file: