Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4LabVIEW)  1.26.2
Structs, Types, ...
Collaboration diagram for Structs, Types, ...:

Typedefs

typedef unsigned long long MLPIMOTIONHANDLE
 
typedef struct MlpiAxisRef MlpiAxisRef
 
typedef struct MlpiGroupRef MlpiGroupRef
 
typedef struct MlpiMotionStatus MlpiMotionStatus
 
typedef struct MlpiAxisInformation MlpiAxisInformation
 
typedef struct MlpiAxisValues MlpiAxisValues
 
typedef struct MlpiAxisUnits MlpiAxisUnits
 
typedef struct MlpiAxisStatus MlpiAxisStatus
 
typedef struct MlpiMotionStop MlpiMotionStop
 
typedef struct MlpiMotionPower MlpiMotionPower
 
typedef struct MlpiMotionGearIn MlpiMotionGearIn
 
typedef struct MlpiMotionGearInPos MlpiMotionGearInPos
 
typedef struct MlpiMotionCamIn MlpiMotionCamIn
 
typedef struct MlpiMotionMotionProfile MlpiMotionMotionProfile
 
typedef struct MlpiMotionFlexProfileStep MlpiMotionFlexProfileStep
 
typedef struct MlpiMotionFlexProfile MlpiMotionFlexProfile
 
typedef struct MlpiMotionMoveVelocity MlpiMotionMoveVelocity
 
typedef struct MlpiMotionPhasing MlpiMotionPhasing
 
typedef struct MlpiMotionMoveAbsolute MlpiMotionMoveAbsolute
 
typedef struct MlpiMotionMoveContinuousAbsolute MlpiMotionMoveContinuousAbsolute
 
typedef struct MlpiMotionMoveContinuousRelative MlpiMotionMoveContinuousRelative
 
typedef struct MlpiMotionMoveRelative MlpiMotionMoveRelative
 
typedef struct MlpiMotionMoveAdditive MlpiMotionMoveAdditive
 
typedef struct MlpiMotionAdminAxisGroup MlpiMotionAdminAxisGroup
 
typedef struct MlpiMotionTorqueControl MlpiMotionTorqueControl
 
typedef struct MlpiMotionCyclic MlpiMotionCyclic
 

Enumerations

Detailed Description

List of used types, enumerations, structures and more...

Typedef Documentation

typedef unsigned long long MLPIMOTIONHANDLE

MLPI-API handle value used for motion functions.

Definition at line 615 of file mlpiMotionLib.h.

MlpiAxisRef

This structure defines the axis through the definition of control and axis number.

Elements of struct MlpiAxisRef

Type Element Description
MlpiControl controlNo Addressed control.
MlpiAxisNumber axisNo Addressed axis.
MlpiGroupRef

This structure defines the group through the definition of control and group number.

Elements of struct MlpiGroupRef

Type Element Description
MlpiControl controlNo Addressed control.
MlpiGroupNumber groupNo Addressed group.
MlpiMotionStatus

This structure defines the status of a motion command.

Elements of struct MlpiMotionStatus

Type Element Description
BOOL8 done TRUE when command is completed.
BOOL8 active TRUE as long as command is active.
BOOL8 aborted TRUE when command has been aborted by another command.
BOOL8 error TRUE when motion command issued an error.
USHORT errorID Short description of error.
USHORT table Additional description of error.
ULONG additional1 Additional diagnosis number1.
ULONG additional2 Additional diagnosis number2.
MlpiAxisInformation

Structure containing parametric information about an axis. These values no longer change, once the axis is in operation mode.

Elements of struct MlpiAxisInformation

Type Element Description
MlpiAxisRef axis Logical axis address.
ULONG deviceAddress (SERCOS) device address.
MlpiAxisType axisType Type of axis (virtual, real, etc...).
WCHAR16 name The axis name.
MlpiAxisValues

Structure containing operation information about an axis. These values do change as soon as the axis is in operation. You may want to use this structure to read several sets of axis information using one single function call during operation of the axis. This gives increased performance in comparison to reading the values bit by bit. Especially when reading the values for multiple axes.

Elements of struct MlpiAxisValues

Type Direction Element Description
MlpiAxisRef [in] axis Logical axis address.
DOUBLE [out] actualPosition Actual position of the axis. See mlpiMotionGetActualPosition.
DOUBLE [out] actualVelocity Actual velocity of the axis. See mlpiMotionGetActualVelocity.
DOUBLE [out] actualAcceleration Actual acceleration of the axis. See mlpiMotionGetActualAcceleration.
DOUBLE [out] actualTorque Actual torque of the axis. See mlpiMotionGetActualTorque.
ULONG [out] state Axis state of the axis. See mlpiMotionGetState.
ULONG [out] stateExtended Extended axis state of the axis. See mlpiMotionGetStateExtended.
ULONG [out] diagnosisNumber Current diagnosis number of the axis. See mlpiMotionGetDiagnosisNumber.
ULONG [out] condition Condition of the axis. See mlpiMotionGetCondition.
MlpiAxisUnits

Structure containing units of the axis as strings. You may want to use this structure to read all units of an axis information set using one single function call.

Elements of struct MlpiAxisUnits

Type Direction Element Description
MlpiAxisRef [in] axis Logical axis address.
WCHAR16 [out] position Position unit of the axis. e.g. 'Degree'.
WCHAR16 [out] velocity Velocity unit of the axis. e.g. 'Rpm'.
WCHAR16 [out] acceleration Acceleration unit of the axis. e.g. 'rad/sec'.
WCHAR16 [out] jerk Jerk unit of the axis. e.g. 'rad/sec^2'.
WCHAR16 [out] torque Torque unit of the axis. e.g. 'Nm'.
MlpiAxisStatus

Structure containing status information about an axis. These values do change as soon as the axis is in operation. You may want to use this structure to read several sets of axis status information using one single function call during operation of the axis.

Elements of struct MlpiAxisStatus

Type Direction Element Description
MlpiAxisRef [in] axis Logical axis address.
ULLONG [out] state Axis state of the axis. See mlpiMotionGetState.
ULONG [out] stateExtended Extended axis state of the axis. See mlpiMotionGetStateExtended.
ULONG [out] diagnosisNumber Current diagnosis number of the axis. See mlpiMotionGetDiagnosisNumber.
ULONG [out] condition Condition of the axis. See mlpiMotionGetCondition.
MlpiMotionStop

Structure to command stop to an axis.

Elements of struct MlpiMotionStop

Type Element Description
MlpiAxisRef axis Reference to the axis.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
BOOL8 stop 1: stopping, 0: exit Stopping mode. Important Note: This command is special in the way that it has to be called once with 'stop' = TRUE. This will bring the axis to a standstill. Once the axis is standing still, the command has to be called again with 'stop' = FALSE in order to enter the PLCopen 'Stand Still' mode.
MlpiMotionPower

Structure to command power to an axis.

Elements of struct MlpiMotionPower

Type Element Description
MlpiAxisRef axis Reference to the axis.
BOOL8 power 1: Power on, 0: Power off.
MlpiMotionGearIn

This structure defines a velocity synchronization of the slave to the master using a gear and fine adjust.

Elements of struct MlpiMotionGearIn

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
ULONG numerator Gear ratio numerator.
ULONG denominator Gear ratio denominator.
DOUBLE fineadjust Fine adjust for gear in %.
MlpiAxisRef master Reference to the master axis.
MlpiMotionGearInPos

This structure defines a position synchronization of the slave to the master using a gear and fine adjust.

Elements of struct MlpiMotionGearInPos

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
ULONG numerator Gear ratio numerator.
ULONG denominator Gear ratio denominator.
DOUBLE fineadjust Fine adjust for gear in %.
MlpiStartMode startMode Synchronization mode.
MlpiSyncDirection syncMode Synchronization direction.
MlpiAxisRef master Reference to the master axis.
MlpiMotionCamIn

This structure defines a position synchronization of the slave to the master using gear, fine adjust and a cam table.

Elements of struct MlpiMotionCamIn

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
ULONG numerator Gear ratio numerator.
ULONG denominator Gear ratio denominator.
DOUBLE fineadjust Fine adjust for gear in %.
DOUBLE camShaftDistance Cam shaft distance in slave units.
MlpiStartMode startMode Synchronization mode.
MlpiSyncDirection syncMode Synchronization direction.
MlpiCamTableId camTable ID of the Cam table to be used.
MlpiAxisRef master Reference to the master axis.
MlpiMotionMotionProfile

This structure defines a position synchronization of the slave to the master using gear, fine adjust and a motion profile. This command can only be used on IndraDrives with interpolation in the drive.

Elements of struct MlpiMotionMotionProfile

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
ULONG numerator Gear ratio numerator.
ULONG denominator Gear ratio denominator.
DOUBLE fineadjust Fine adjust for gear in %.
BOOL8 relativePositioning Determines if offset angle of the parameter A-0-2901 should be active.
MlpiProfileSetSelection setSelection Selects the active set.
MlpiStartMode startMode Synchronization mode.
MlpiSyncDirection syncMode Synchronization direction.
MlpiAxisRef master Reference to the master axis.
MlpiMotionFlexProfileStep

This struct defines a single step of a FlexProfile. Use multiple steps to create a profile.

Elements of struct MlpiMotionFlexProfileStep

Type Element Description
MlpiProfileMasterType master Definition of master type.
DOUBLE camShaftDistance Cam shaft distance (Hub).
DOUBLE range Definition of master range.
MlpiLawType motionLaw Definition of motion law.
MlpiProfileStepType stepType Segment type: relation between master and slave.
DOUBLE startVel Slave axis starting velocity.
DOUBLE startAcc Slave axis starting acceleration.
DOUBLE startJrk Slave axis starting jerk.
DOUBLE endVel Slave axis ending velocity.
DOUBLE endAcc Slave axis ending acceleration.
DOUBLE endJrk Slave axis ending jerk.
DOUBLE travelVel Slave axis velocity during move (not implemented for all motion laws).
DOUBLE limitAcc Slave axis acceleration during move (not implemented for all motion laws).
DOUBLE limitJrk Slave axis jerk during move (not implemented for all motion laws).
DOUBLE turningPointDisplacement Displacement of point of inflection.
MlpiMotionFlexProfile

This structure defines a position synchronization of the slave to the master using gear, fine adjust and a flex profile. This command can only be used on IndraDrives with interpolation in the control.

Elements of struct MlpiMotionFlexProfile

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
ULONG numerator Gear ratio numerator.
ULONG denominator Gear ratio denominator.
DOUBLE fineadjust Fine adjust for gear in %.
MlpiProfileSetSelection setSelection Selects the active set
BOOL8 useSwitchingPositioning Determines whether switching position will be used.
DOUBLE switchingPosition Switching position.
MlpiProfileStartPoint profileEntry Switching conditions.
DOUBLE masterOffset Master offset.
DOUBLE slaveOffset Slave offset.
MlpiSyncType syncType Synchronization type.
DOUBLE syncVelocity Synchronization velocity.
DOUBLE syncAcceleration Synchronization acceleration.
MlpiProfileExecutionMode executionMode Execution mode.
MlpiAxisRef master Reference to the master axis.
MlpiMotionMoveVelocity

This structure defines a velocity move of a single axis.

Elements of struct MlpiMotionMoveVelocity

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionPhasing

This structure defines a phase shift of a slave axis that can either be applied to the master position of that slave or to the gear/cam/flex profile/motion profile.

Elements of struct MlpiMotionPhasing

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE phaseShift Phase shift in drives unit (master or slave).
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
MlpiMotionMoveAbsolute

This structure defines an absolute position move of a single axis.

Elements of struct MlpiMotionMoveAbsolute

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE position Target position in drives unit.
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionMoveContinuousAbsolute

This structure defines a continuous absolute move of a single axis.

Elements of struct MlpiMotionMoveContinuousAbsolute

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE position Target position in drives unit.
DOUBLE endVelocity End Velocity in drives unit.
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionMoveContinuousRelative

This structure defines a continuous relative move of a single axis.

Elements of struct MlpiMotionMoveContinuousRelative

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE distance Distance in drives unit.
DOUBLE endVelocity End Velocity in drives unit.
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionMoveRelative

This structure defines a relative position move of a single axis.

Elements of struct MlpiMotionMoveRelative

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE distance Distance in drives unit.
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionMoveAdditive

This structure defines an additive position move of a single axis.

Elements of struct MlpiMotionMoveAdditive

Type Element Description
MlpiAxisRef axis Reference to the slave axis.
DOUBLE distance Distance in drives unit (is added to the target position).
DOUBLE velocity Velocity in drives unit.
DOUBLE acceleration Acceleration in drives unit.
DOUBLE deceleration Deceleration in drives unit.
DOUBLE jerk Jerk in drives unit.
MlpiMotionAdminAxisGroup

This structure defines information for adding and removing an axis to or from a group.

Elements of struct MlpiMotionAdminAxisGroup

Type Element Description
MlpiAxisRef axis Axis to add to the group.
MlpiGroupRef group Group to add the axis.
MlpiMotionTorqueControl

Structure to command torque to an axis.

Elements of struct MlpiMotionTorqueControl

Type Element Description
MlpiAxisRef axis Reference to the axis.
DOUBLE torque Torque in drives unit.
DOUBLE torqueRamp TorqueRamp in drives unit.
MlpiMotionCyclic

This structure is used when operating the axis in cyclic position command mode. A cyclic value (position or velocity) must be updated every sercos cycle.

Elements of struct MlpiMotionCyclic

Type Element Description
MlpiAxisRef axis Reference to the axis.
DOUBLE cyclicValue Cyclic value (position, velocity, ...).

Enumeration Type Documentation

This enumeration defines the type of axis.

Enumerator
MLPI_AXISTYPE_VIRTUAL 

Virtual axis, no physical drive attached.

MLPI_AXISTYPE_REAL 

Real axis, this is the common axis when doing motion.

MLPI_AXISTYPE_ENCODER 

An encoder that is attached to a real drive, no motion possible.

MLPI_AXISTYPE_LINK 

A link ring axis.

MLPI_AXISTYPE_CONTROLLER 

An axis that can be used when generating your own controller to operate the drive.

Definition at line 625 of file mlpiMotionLib.h.

The motion profile or flex profile works based on a set of parameters. In order to change a set consistently, the set that is not in use should be changed. Once the change is done, the set can be verified and then used.

Enumerator
MLPI_PROFILE_SET_0 

Set 0 on axis.

MLPI_PROFILE_SET_1 

Set 1 on axis.

MLPI_PROFILE_SET_2 

Set 2 on axis.

MLPI_PROFILE_SET_3 

Set 3 on axis.

Definition at line 638 of file mlpiMotionLib.h.

This enumeration defines the direction in which synchronization takes place.

Enumerator
MLPI_SYNC_SHORTESTWAY 

Axis will synchronize in the direction in which it has to move the shortest distance.

MLPI_SYNC_CATCHUP 

Axis will only move in positive direction.

MLPI_SYNC_SLOWDOWN 

Axis will only move in negative direction.

Definition at line 648 of file mlpiMotionLib.h.

This enumeration defines the direction and type in which synchronization takes place. Only for FlexProfile!

Enumerator
MLPI_SYNC_RAMPIN_SHORTESTWAY 

Axis will synchronize in the direction in which it has to move the shortest distance.

MLPI_SYNC_RAMPIN_CATCHUP 

Axis will only move in positive direction.

MLPI_SYNC_RAMPIN_SLOWDOWN 

Axis will only move in negative direction.

MLPI_SYNC_DIRECT 

No sync at all.

Definition at line 657 of file mlpiMotionLib.h.

This enumeration defines how the synchronization is done.

Enumerator
MLPI_STARTMODE_ABSOLUTE 

Slave axis position is absolutely synchronous with the master position.

MLPI_STARTMODE_RELATIVE 

Slave axis position is relatively synchronous with the master position (velocity synchronous).

MLPI_STARTMODE_ABSOLUTE_RAMPIN 

Slave axis position ramps to an absolutely synchronous position with the master position.

MLPI_STARTMODE_RELATIVE_RAMPIN 

Slave axis position ramps to a relatively synchronous position with the master position.

Definition at line 667 of file mlpiMotionLib.h.

This enumeration defines the method of how a flex profile interprets the start point.

Enumerator
MLPI_SLAVE_ORIGIN_MASTER_ORIGIN 

Synchronize absolute slave and master position.

MLPI_SLAVE_CURRENT_MASTER_CURRENT 

Synchronize absolute to master position and relative to current slave position.

MLPI_SLAVE_ORIGIN_MASTER_CURRENT 

Synchronize absolute to slave position and relative to current master position.

MLPI_SLAVE_CURRENT_MASTER_ORIGIN 

Synchronize start point relative to current axis positions.

MLPI_SLAVE_RELATIVE_MASTER_ORIGIN 

Synchronize current point of profile relative to current axis positions to create no slave axis jump.

Definition at line 677 of file mlpiMotionLib.h.

This enumeration defines the relation between master and slave for each flex profile step.

Enumerator
MLPI_STEP_FIX 

Default step type with fixed relative hub and range. Start and end velocity also fixed.

MLPI_STEP_FLEX_REL_REL 

Flex step type with fixed relative hub and range. Start and end velocity are taken dynamically from preceding and following step.

MLPI_STEP_FLEX_REL_ABS 

Flex step type with fixed relative hub absolute master axis position. Start and end velocity are taken dynamically from preceding and following step.

MLPI_STEP_FLEX_ABS_REL 

Flex step type with fixed relative range and absolute master axis position. Start and end velocity are taken dynamically from preceding and following step.

MLPI_STEP_FLEX_ABS_ABS 

Flex step type with absolute master and slave axis positions. Start and end velocity are taken dynamically from preceding and following step.

Definition at line 688 of file mlpiMotionLib.h.

This enumeration defines how the flex profile is executed.

Enumerator
MLPI_EXECUTE_CYCLIC 

Cyclic execution.

MLPI_EXECUTE_SINGLE 

Single execution. When the profile is finished, the axis will continue to run with end velocity of the profile.

Definition at line 699 of file mlpiMotionLib.h.

Enumeration for Flex profile master definition.

Enumerator
MLPI_MASTER_TIME 

Master is time-based.

MLPI_MASTER_AXIS0 

Master is position-based.

Definition at line 707 of file mlpiMotionLib.h.

This enumeration defines the available cam numbers. The cams actually available depend on the hardware used.

Definition at line 715 of file mlpiMotionLib.h.

Enumeration for Flex profile motion laws for segments.

Definition at line 821 of file mlpiMotionLib.h.

This enumeration defines the control that should be addressed.

Definition at line 972 of file mlpiMotionLib.h.

This enumeration defines the available axis numbers.

Definition at line 1078 of file mlpiMotionLib.h.

This enumeration defines the available kinematics group numbers.

Definition at line 1184 of file mlpiMotionLib.h.