labbCAN_MotionControl_API.h File Reference

labbCAN Motion Control Application Programming Interface More...

#include "labbCAN_Bus_API.h"
+ Include dependency graph for labbCAN_MotionControl_API.h:

Macros

#define CENTI   -2
 CENTI.
 
#define DECI   -1
 DECI.
 
#define DEGREE   65
 Angle in degrees (0 - 360)
 
#define DEVICE   0
 use native device unit
 
#define LCA_MAX_VELOCITY   0xFFFFFFFF
 lca_posmark More...
 
#define METERS   1
 METERS.
 
#define MICRO   -6
 MICRO.
 
#define MILLI   -3
 MILLI.
 
#define PER_HOUR   3600
 PER_HOUR.
 
#define PER_MINUTE   60
 PER_MINUTE.
 
#define PER_SECOND   1
 PER_SECOND.
 
#define POS_MARKER_EDGE_ALL   0
 Detects all edges. More...
 
#define POS_MARKER_EDGE_FALLING   2
 Detects falling edges. More...
 
#define POS_MARKER_EDGE_RISING   1
 Detects rising edges. More...
 
#define POS_MARKER_MODE_CONTINUOUS   0
 On every detected edge (of correct kind) the position will be captured. More...
 
#define POS_MARKER_MODE_MULTIPLE   2
 The positions at the detected edges will be captured until the history buffer is full. More...
 
#define POS_MARKER_MODE_SINGLE   1
 Only the position at the first detected edge will be captured. More...
 
#define RADIAN   16
 Angle in radian (0 - 2pi)
 
#define REVOLUTIONS   254
 REVOLUTIONS.
 
#define UNIT   0
 use base unit
 

Enumerations

enum  LCA_DeviceProperties { RotaxysPropertySafeRotation = 0, RotaxysPropertyUpperLimitSensorState = 1, Rotaxys360PropertyRotationReversalAngleDegree = 2 }
 Device property identifiers that can be used with the LCB_GetDeviceProperty() and LCB_SetDeviceProperty() function to read and write certain device properties. More...
 

Functions

long LCA_AxisCount ()
 Returns the number of available axes registered in the labbCAN environment. More...
 
long LCA_ClearAxisFault (dev_hdl hAxis)
 Clear fault condition. More...
 
long LCA_ClearCapturedPositions (dev_hdl hAxis)
 Clear captured positions. More...
 
long LCA_Disable (dev_hdl hAxisSystem)
 Set all axis of an axis system into disabled state. More...
 
long LCA_DisableAxis (dev_hdl hAxis)
 Set a certain axis of an axis system into disabled state. More...
 
long LCA_Enable (dev_hdl hAxisSystem)
 Set all axis of an axis system into enabled (operational) state. More...
 
long LCA_EnableAxis (dev_hdl hAxis)
 Set single axis into enabled state. More...
 
long LCA_FindHome (dev_hdl hAxisSystem)
 Move all axis into its home position The axis system should manage the order of the movement and should know how to move all axis into a home state. More...
 
long LCA_FindHomeOfAxis (dev_hdl hAxis)
 Move single axis into its home position. More...
 
long LCA_GetActualPostitionXY (dev_hdl hAxisSystem, double *pfPosIsX, double *pfPosIsY)
 Query the actual XY position of the axis system. More...
 
long LCA_GetAxisHandle (dev_hdl hAxisSystem, unsigned char AxisId, dev_hdl *AxisHandle)
 Get an handle for a certain axis The functions LCB_ReadDevParam() and LCB_WriteDevParam() require a valid device handle to read and write device specific parameters. More...
 
long LCA_GetAxisHomingSwitchSpeed (dev_hdl hAxis, double *pfSpeed)
 Query speed for move to homing or limit switch. More...
 
long LCA_GetAxisPosCnt (dev_hdl hAxis, long *pPosCntValue)
 Query the value of the internal axis position counter. More...
 
long LCA_GetAxisPosIs (dev_hdl hAxis, double *pfPosIs)
 Query the actual position of the axis. More...
 
long LCA_GetAxisPosMax (dev_hdl hAxis, double *pfPosMax)
 Query maximum position limit for axis. More...
 
long LCA_GetAxisPosMin (dev_hdl hAxis, double *pfPosMin)
 Query minimum position limit for axis. More...
 
long LCA_GetAxisSystemAxisNumber (dev_hdl hAxisSystem)
 Returns the number of axes of a certain axis system. More...
 
long LCA_GetAxisSystemHandle (unsigned char Index, dev_hdl *AxisSystemHandle)
 Get an axis system handle by its index. More...
 
long LCA_GetAxisVelIs (dev_hdl hAxis, double *pfVelIs)
 Query actual speed of the axis. More...
 
long LCA_GetAxisVelMax (dev_hdl hAxis, double *pfVelMax)
 Query maximum velocity for axis. More...
 
long LCA_GetDefaultPosUnit (dev_hdl hAxis, int *pPrefix, int *pPositionUnit)
 Queries the default position unit. More...
 
long LCA_GetDefaultVelUnit (dev_hdl hAxis, int *pPrefix, int *pPositionUnit, int *pTimeUnit)
 Queries the default velocity unit. More...
 
long LCA_GetDevErrMsg (dev_hdl hAxis, long DevErr, char *pStringBuf, short BufSize)
 Get descriptive error message for a certain device error that cured. More...
 
long LCA_GetNoOfAxisSystems ()
 Query number of detected axis systems. More...
 
long LCA_GetPositionHistorySize (dev_hdl hAxis)
 Query size of position history. More...
 
long LCA_IsAxisEnabled (dev_hdl hAxis)
 Query if axis is enabled. More...
 
long LCA_IsAxisHomingPosAttained (dev_hdl hAxis)
 Check if homing is attained by device. More...
 
long LCA_IsAxisInFaultState (dev_hdl hAxis)
 Check if axis is in a fault state. More...
 
long LCA_IsAxisStopped (dev_hdl hAxis)
 Check if drive is stopped or if it is moving. More...
 
long LCA_IsAxisTargetPosReached (dev_hdl hAxis)
 Check if device reached its target position. More...
 
long LCA_IsHomingPosAttained (dev_hdl hAxisSystem)
 Check if homing position of the given axis system is attained. More...
 
long LCA_IsPosMarkerSupported (dev_hdl hAxis)
 Check if a certain axis supports position marker functionality. More...
 
long LCA_IsTargetPosReached (dev_hdl hAxisSystem)
 Check if an axis system reached its target position. More...
 
long LCA_LookupAxisByName (const char *pAxisName, dev_hdl *AxisHandle)
 Lookup an axis by its name. More...
 
long LCA_LookupAxisSystemByName (const char *AxisSystemName, dev_hdl *AxisSystemHandle)
 Lookup an axis system by its name. More...
 
long LCA_MoveDistance (dev_hdl hAxis, double fDistance, double fVelocity, unsigned long PrivData)
 Move a certain distance with an axis. More...
 
long LCA_MoveToPos (dev_hdl hAxis, double fPosition, double fVelocity, unsigned long PrivData)
 Move axis to a certain absolute position with a certain velocity. More...
 
long LCA_MoveToPosXY (dev_hdl hAxisSystem, double fPositionX, double fPositionY, double fVelocity, unsigned long PrivData)
 Moves XY positioning system to a certain XY position if coordinate space. More...
 
long LCA_MoveWithVelocity (dev_hdl hAxis, double fVelocity, unsigned long PrivData)
 Move an axis with a certain velocity. More...
 
long LCA_ReadCapturedPosition (dev_hdl hAxis, unsigned short PosHistoryIndex, double *pfCapturedPosition)
 Read captured position from device. More...
 
long LCA_ReadLastAxisDevErr (dev_hdl hAxis, long *pLastDevErr)
 Query last occurred error code. More...
 
long LCA_ReadPosMarkerCounter (dev_hdl hAxis, unsigned short *pPosCounter)
 Reads the number of detected edges from device. More...
 
long LCA_ReadPosMarkerEdgeType (dev_hdl hAxis, unsigned short *pEdgeType)
 Reads the edge type for position capturing from device. More...
 
long LCA_ReadPosMarkerMode (dev_hdl hAxis, unsigned short *pMode)
 Reads the capturing mode from device. More...
 
long LCA_RestoreAxisPosCnt (dev_hdl hAxis, long PosCntValue)
 Restore internal hardware position counter value. More...
 
long LCA_SetAxisHomingOffset (dev_hdl hAxis, double fOffset)
 Set the home offset used for homing moves. More...
 
long LCA_SetAxisHomingSwitchSpeed (dev_hdl hAxis, double fSpeed)
 Set speed for move to homing or limit switch. More...
 
long LCA_SetDefaultPosUnit (dev_hdl hAxis, int Prefix, int PositionUnit)
 Set default position unit. More...
 
long LCA_SetDefaultVelUnit (dev_hdl hAxis, int Prefix, int PositionUnit, int TimeUnit)
 Set default velocity unit. More...
 
long LCA_StopMove (dev_hdl hAxisSystem)
 Stop movement of axis system - send stop command to all axis system axes. More...
 
long LCA_StopMoveOfAxis (dev_hdl hAxis)
 Stop axis movement of a single axis. More...
 
long LCA_WritePosMarkerEdgeType (dev_hdl hAxis, unsigned short EdgeType)
 Configure the edge type for position capturing. More...
 
long LCA_WritePosMarkerMode (dev_hdl hAxis, unsigned short Mode)
 Configures the capturing mode. More...
 

Detailed Description

labbCAN Motion Control Application Programming Interface

Author
Uwe Kindler (UK)
Date
2012/05/29