INOS
cinosbaseramp.h File Reference

Short comment. More...

#include <inos.h>
Include dependency graph for cinosbaseramp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SINOSBaseRamp
 Descriptor structure used to configure a ramp. It is usually defined in a corresponding xxx.xxxramp.dt2 configuration file. see also Ramp. More...
 
struct  SINOSRampParam
 ramp parameters More...
 
struct  SINOSRampData
 ramp data More...
 
struct  SINOSRampDataEx
 extended ramp data More...
 
struct  SINOSTimeCharacteristics
 time characteristics of a move More...
 
struct  SINOSBaseRampTrqLimitPoint
 torque limitation point More...
 
struct  SINOSBaseRampTrqLimitPointAcc
 torque limitation point acceleration More...
 
struct  SINOSBaseRampTrqLimitPointDec
 torque limitation point deceleration More...
 
struct  SINOSBaseRampTrqLimit
 torque limitation More...
 
class  CINOSBaseRampParamSet
 
class  CINOSBaseRamp
 
class  CINOSRegisterBaseRamp
 

Macros

#define DF_INOS_BASE_RAMP_DBT   "INOS-BASE-RAMP"
 
#define DF_INOS_BASE_RAMP_TRQ_LIMIT_ACC_DBT   "INOS-BASE-RAMP-TRQ-LIMIT-ACC"
 
#define DF_INOS_BASE_RAMP_TRQ_LIMIT_DEC_DBT   "INOS-BASE-RAMP-TRQ-LIMIT-DEC"
 
#define DF_INOS_RAMP_MAX_JERK   4
 
#define DF_INOS_RAMP_STATE_PEACE   0
 
#define DF_INOS_RAMP_STATE_BREAK   1
 
#define DF_INOS_RAMP_STATE_RUNNING   2
 
#define DF_INOS_RAMP_STATE_PULLING   3
 
#define DF_INOS_RAMP_STATE_STOPPING   4
 
#define ER_INOS_RAMP_POSRANGE   0x00000001
 
#define ER_INOS_RAMP_FAILED   0x00000002
 
#define ER_INOS_RAMP_MIM_RANGE   0x00000004
 
#define ER_INOS_RAMP_OVERSAMPLING   0x00000008
 
#define ER_INOS_RAMP_VMAX_REACHED   0x00000010
 
#define ER_INOS_RAMP_MOVE_NOT_IN_CACHE   0x00000020
 
#define ER_INOS_RAMP_CORE_MISMATCH   0x00000040
 
#define DF_INOS_RAMP_MAX_ERR   32
 
#define WR_INOS_RAMP_MIM_DEC   0x00000001
 
#define WR_INOS_RAMP_CORE_MISMATCH   0x00000002
 
#define DF_INOS_BASE_RAMP_FLAG_CHK_LIMITS   0x00000001
 
#define DF_INOS_BASE_RAMP_FLAG_ENB_BASE   0x00000002
 
#define DF_INOS_BASE_RAMP_FLAG_ENB_TRQLIMIT   0x00000004
 
#define DF_INOS_BASE_RAMP_FLAG_DIS_MIM   0x00000008
 
#define DF_INOS_BASE_RAMP_FLAG_LIMIT_MOVE   0x00000010
 
#define DF_INOS_BASE_RAMP_FLAG_DIS_MIM_DEC   0x00000020
 
#define DF_INOS_BASE_RAMP_FLAG_SET_CACHE_EPSILON   0x00000040
 
#define DF_INOS_BASE_RAMP_FLAG_OPT_MIM   0x00000080
 
#define DF_INOS_BASE_RAMP_FLAG_CHK_LIMITS_IN_SEG   0x00000200
 
#define DF_INOS_BASE_RAMP_FLAG_BACKLASH   0x00000400
 
#define DF_INOS_BASE_RAMP_FLAG_FORCE_BACKLASH   0x00000800
 
#define DF_INOS_BASE_RAMP_FLAG_IGNORE_LIMITS_AT_STOP   0x00001000
 
#define DF_INOS_BASE_RAMP_FLAG_LOOK_AHEAD   0x00002000
 
#define DF_INOS_BASE_RAMP_FLAG_CACHE_ONLY   0x00004000
 
#define DF_INOS_BASE_RAMP_FLAG_IGNORE_VMAX   0x00008000
 
#define DF_INOS_BASE_RAMP_FLAG_IGNORE_JERK   0x00010000
 
#define DF_INOS_BASE_RAMP_FLAG_IGNORE_CORE   0x00020000
 
#define DF_INOS_BASE_RAMP_FLAG_OVRS_LAST   0x00800000
 
#define DF_INOS_BASE_RAMP_FLAG_SLOW_SPEED   0x01000000
 
#define DF_INOS_BASE_RAMP_FLAG_SHAPE_CALC   0x02000000
 
#define DF_INOS_BASE_RAMP_FLAG_SETUPMODE   0x04000000
 
#define DF_INOS_BASE_RAMP_FLAG_JOB_SLOW   0x08000000
 
#define DF_INOS_BASE_RAMP_FLAG_CACHE_FLUSH   0x10000000
 
#define DF_INOS_BASE_RAMP_FLAG_CRS_PEACE   0x20000000
 
#define DF_INOS_BASE_RAMP_FLAG_CRS_ACTIVE   0x40000000
 
#define DF_INOS_BASE_RAMP_FLAG_ENABLED   0x80000000
 
#define DF_INOS_BASE_RAMP_FLAG_NO_CACHE   (DF_INOS_BASE_RAMP_FLAG_SETUPMODE|DF_INOS_BASE_RAMP_FLAG_BACKLASH)
 
#define DF_INOS_BASE_RAMP_FLAG_CACHE_CRITICAL    (DF_INOS_BASE_RAMP_FLAG_ENB_BASE | DF_INOS_BASE_RAMP_FLAG_ENB_TRQLIMIT | DF_INOS_BASE_RAMP_FLAG_CACHE_FLUSH)
 
#define DF_INOS_BASE_RAMP_OPT_CHK_LIMITS   0x00000001
 
#define DF_INOS_BASE_RAMP_OPT_ENB_BASE   0x00000002
 
#define DF_INOS_BASE_RAMP_OPT_ENB_TRQLIMIT   0x00000004
 
#define DF_INOS_BASE_RAMP_OPT_DIS_MIM   0x00000008
 
#define DF_INOS_BASE_RAMP_OPT_LIMIT_MOVE   0x00000010
 
#define DF_INOS_BASE_RAMP_OPT_DIS_MIM_DEC   0x00000020
 
#define DF_INOS_BASE_RAMP_OPT_OPT_MIM   0x00000080
 
#define DF_INOS_BASE_RAMP_OPT_TRQ_LIMIT   0x00000100
 
#define DF_INOS_BASE_RAMP_OPT_BACKLASH   0x00000400
 
#define DF_INOS_BASE_RAMP_OPT_FORCE_BACKLASH   0x00000800
 
#define DF_INOS_BASE_RAMP_OPT_IGNORE_LIMITS_AT_STOP   0x00001000
 
#define DF_INOS_BASE_RAMP_OPT_LOOK_AHEAD   0x00002000
 
#define DF_INOS_BASE_RAMP_OPT_IGNORE_VMAX   0x00008000
 
#define DF_INOS_BASE_RAMP_OPT_IGNORE_CORE   0x00020000
 
#define DF_INOS_BASE_RAMP_DATA_FLAG_DEL   0x00000001
 
#define DF_INOS_BASE_RAMP_DATA_FLAG_LST   0x00000002
 
#define DF_INOS_RAMP_JERK_ALL   0xFFFFFFFF
 
#define DF_INOS_RAMP_MIN_SLOW   REAL64(0.0001)
 
#define DF_INOS_RAMP_MAX_SLOW   REAL64(2.0000)
 
#define DF_INOS_RAMP_EPS_V_STOP   REAL64(1.0e-6)
 
#define INOS_RAMP_CORE_MISMATCH_IS_ERROR(ret)
 
#define INOS_RAMP_CORE_MISMATCH_IS_WARNING(ret)
 

Typedefs

typedef CINOSBaseRamp *(* TCreateRamp) (const char *apAxisName)
 

Enumerations

enum  { eMaxVelocityNone = 0x00000000 , eMaxVelocityIgnoreSetup = 0x00000001 , eMaxVelocityIgnoreSLS = 0x00000002 }
 

Functions

double inos_sqrt (double adValue)
 

Detailed Description

Short comment.

Author
Ch. Hirzel
Remarks
project         : 
language        : GNU C++
system          : 

Long comment on this file.

Macro Definition Documentation

◆ DF_INOS_BASE_RAMP_OPT_BACKLASH

#define DF_INOS_BASE_RAMP_OPT_BACKLASH   0x00000400

Enable backlash compensation, see also SINOSBaseRamp::m_rBacklash

◆ DF_INOS_BASE_RAMP_OPT_CHK_LIMITS

#define DF_INOS_BASE_RAMP_OPT_CHK_LIMITS   0x00000001

Always check for software limits before starting a move

◆ DF_INOS_BASE_RAMP_OPT_DIS_MIM

#define DF_INOS_BASE_RAMP_OPT_DIS_MIM   0x00000008

Disable all kind of move in move's

◆ DF_INOS_BASE_RAMP_OPT_DIS_MIM_DEC

#define DF_INOS_BASE_RAMP_OPT_DIS_MIM_DEC   0x00000020

Disable move in move if the axis is decelerating already

◆ DF_INOS_BASE_RAMP_OPT_ENB_BASE

#define DF_INOS_BASE_RAMP_OPT_ENB_BASE   0x00000002

Tell the system to use base class functionality although the axis is currently running with a derived trajectory generator

◆ DF_INOS_BASE_RAMP_OPT_ENB_TRQLIMIT

#define DF_INOS_BASE_RAMP_OPT_ENB_TRQLIMIT   0x00000004

Enable torque limitated trajectory generation

◆ DF_INOS_BASE_RAMP_OPT_FORCE_BACKLASH

#define DF_INOS_BASE_RAMP_OPT_FORCE_BACKLASH   0x00000800

Do always a backlash move at target position, see also SINOSBaseRamp::m_rBacklash

◆ DF_INOS_BASE_RAMP_OPT_IGNORE_CORE

#define DF_INOS_BASE_RAMP_OPT_IGNORE_CORE   0x00020000

Ignore core mismatch failure/. This option should only be used in a desperate situation, where it is not easy to adjust the application code accordingly.

◆ DF_INOS_BASE_RAMP_OPT_IGNORE_LIMITS_AT_STOP

#define DF_INOS_BASE_RAMP_OPT_IGNORE_LIMITS_AT_STOP   0x00001000

Always ignore soft limits at stop

◆ DF_INOS_BASE_RAMP_OPT_IGNORE_VMAX

#define DF_INOS_BASE_RAMP_OPT_IGNORE_VMAX   0x00008000

Ignore Vmax reached errors (should only be used for testing purposes)

◆ DF_INOS_BASE_RAMP_OPT_LIMIT_MOVE

#define DF_INOS_BASE_RAMP_OPT_LIMIT_MOVE   0x00000010

Instead of emitting a range error if one tries to move behind the software limits, the system adjusts the target position to the allowed limit. This option is normally only useful in testing situations and can be really dangerous.

◆ DF_INOS_BASE_RAMP_OPT_LOOK_AHEAD

#define DF_INOS_BASE_RAMP_OPT_LOOK_AHEAD   0x00002000

Enable look ahead. Used to improve move in move calculations on slow targets. Setting this option tells the system to precalculate always 16 points of a running move. This allows the move in move algorithm to take a future point as a starting point of its new trajectory calculation and therefore helps to avoid overruns. The points are cycletime based, if an axis is running with e.g. 4kHz, the precalculation is 4ms

◆ DF_INOS_BASE_RAMP_OPT_OPT_MIM

#define DF_INOS_BASE_RAMP_OPT_OPT_MIM   0x00000080

Use optimised move in move algorithms. Setting this option can improve performance in special situations

◆ DF_INOS_BASE_RAMP_OPT_TRQ_LIMIT

#define DF_INOS_BASE_RAMP_OPT_TRQ_LIMIT   0x00000100

Setup torque limitation at ramp creation