INOS
cinosbasecontrol.h File Reference

Short comment. More...

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

Go to the source code of this file.

Classes

struct  SINOSBaseControl
 Descriptor structure used to configure a controller. It is usually defined in a corresponding xxx.xxxctrl.dt2 configuration file. see also Control. More...
 
class  CINOSBaseControl
 
class  CINOSRegisterBaseControl
 

Macros

#define DF_INOS_BASE_CONTROL_DBT   "INOS-BASE-CONTROL"
 
#define DF_INOS_CONTROL_STATE_PEACE   0
 
#define DF_INOS_CONTROL_STATE_ACTIVATING   1
 
#define DF_INOS_CONTROL_STATE_ACTIVE   2
 
#define DF_INOS_CONTROL_STATE_INACTIVATING   3
 
#define DF_INOS_CONTROL_SUBSTATE_ACTIVE_HALT   0
 
#define DF_INOS_CONTROL_SUBSTATE_ACTIVE_RUN   1
 
#define DF_INOS_CONTROL_SUBSTATE_ACTIVE_UMOVE   2
 
#define ER_INOS_BASE_CONTROL_MCROBOT_ERROR_BASE   0x00000000
 
#define ER_INOS_GSB_CONTROL_MCROBOT_ERROR_BASE   0x40031300
 
#define ER_INOS_SL2_CONTROL_MCROBOT_ERROR_BASE   0x40032300
 
#define ER_INOS_HSSI_CONTROL_MCROBOT_ERROR_BASE   0x40033300
 
#define ER_INOS_CONTROL_POSCHK   0x00000001
 
#define ER_INOS_CONTROL_POSOVR   0x00000002
 
#define ER_INOS_CONTROL_OSCICHK   0x00000004
 
#define ER_INOS_CONTROL_ENBMISSING   0x00000008
 
#define ER_INOS_CONTROL_HOMEFAILED   0x00000010
 
#define ER_INOS_CONTROL_SAFE_SYNCFAILED   0x00000020
 
#define ER_INOS_CONTROL_WATCHDOG   0x00000040
 
#define ER_INOS_CONTROL_POSCHN   0x00001000
 
#define ER_INOS_CONTROL_ACTIVATE   0x00002000
 
#define ER_INOS_CONTROL_EXTERN   0x00004000
 
#define ER_INOS_CONTROL_OFFLINE   0x00008000
 
#define WR_INOS_CONTROL_INTLIMIT   0x00000001
 
#define WR_INOS_CONTROL_FSLIMIT   0x00000002
 
#define WR_INOS_CONTROL_EXTERN   0x00004000
 
#define DF_INOS_BASE_CONTROL_FLAG_CHK_POS   0x00000001
 
#define DF_INOS_BASE_CONTROL_FLAG_SIM_POS   0x00000002
 
#define DF_INOS_BASE_CONTROL_FLAG_SIM_OUT   0x00000004
 
#define DF_INOS_BASE_CONTROL_FLAG_SIM_ACT   0x00000008
 
#define DF_INOS_BASE_CONTROL_FLAG_ENB_NRD   0x00000010
 
#define DF_INOS_BASE_CONTROL_FLAG_DEAD_INC   0x00000020
 
#define DF_INOS_BASE_CONTROL_FLAG_ENB_SYN   0x00000040
 
#define DF_INOS_BASE_CONTROL_FLAG_ENB_NRM   0x00000080
 
#define DF_INOS_BASE_CONTROL_FLAG_POS_OVRS   0x00000100
 
#define DF_INOS_BASE_CONTROL_FLAG_FFV_100   0x00000200
 
#define DF_INOS_BASE_CONTROL_FLAG_NO_PID   0x00000400
 
#define DF_INOS_BASE_CONTROL_FLAG_POS_ABS   0x00000800
 
#define DF_INOS_BASE_CONTROL_FLAG_NO_MPE   0x00001000
 
#define DF_INOS_BASE_CONTROL_FLAG_POSEX   0x00002000
 
#define DF_INOS_BASE_CONTROL_FLAG_INIT_V_ADJ_DIS   0x00004000
 
#define DF_INOS_BASE_CONTROL_FLAG_DEAD_INC2   0x00008000
 
#define DF_INOS_BASE_CONTROL_FLAG_LIFETIME   0x00010000
 
#define DF_INOS_BASE_CONTROL_FLAG_NRM_POS   0x00020000
 
#define DF_INOS_BASE_CONTROL_FLAG_DISTANCE_CODED_CALIB   0x00040000
 
#define DF_INOS_BASE_CONTROL_FLAG_INC_FRACT   0x00080000
 
#define DF_INOS_BASE_CONTROL_FLAG_ENB_SAFE_SYNC   0x40000000
 
#define DF_INOS_BASE_CONTROL_FLAG_DIS_SERR   0x80000000
 
#define DF_INOS_BASE_CONTROL_OPT_DEAD_INC   0x00000001
 
#define DF_INOS_BASE_CONTROL_OPT_POS_OVRS   0x00000002
 
#define DF_INOS_BASE_CONTROL_OPT_FFV_100   0x00000004
 
#define DF_INOS_BASE_CONTROL_OPT_NO_PID   0x00000008
 
#define DF_INOS_BASE_CONTROL_OPT_POS_ABS   0x00000010
 
#define DF_INOS_BASE_CONTROL_OPT_NO_MPE   0x00000020
 
#define DF_INOS_BASE_CONTROL_OPT_POSEX   0x00000040
 
#define DF_INOS_BASE_CONTROL_OPT_INIT_V_ADJ_DIS   0x00000080
 
#define DF_INOS_BASE_CONTROL_OPT_DEAD_INC2   0x00000100
 
#define DF_INOS_BASE_CONTROL_OPT_DISTANCE_CODED_CALIB   0x00000200
 
#define DF_INOS_BASE_CONTROL_OPT_CUSTOMER1_SYNC_INTERFACE   0x00000400
 
#define DF_INOS_BASE_CONTROL_OPT_LIMIT_OUT   0x00000800
 
#define DF_INOS_BASE_CONTROL_OPT_IGNORE_CYCLEID   0x00001000
 
#define DF_INOS_BASE_CONTROL_OPT_INC_FRACT   0x00002000
 
#define DF_INOS_BASE_CONTROL_OPT_EXT_POS_ERR   0x00004000
 
#define INOS_BASECONTROL_UPDATE_CMD_BUFFER()
 

Typedefs

typedef CINOSBaseControl *(* TCreateControl) (const char *apAxisName)
 

Detailed Description

Short comment.

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

Long comment on this file.

Macro Definition Documentation

◆ DF_INOS_BASE_CONTROL_OPT_CUSTOMER1_SYNC_INTERFACE

#define DF_INOS_BASE_CONTROL_OPT_CUSTOMER1_SYNC_INTERFACE   0x00000400

Support the sync-handling for 'customer1' axes

◆ DF_INOS_BASE_CONTROL_OPT_DEAD_INC

#define DF_INOS_BASE_CONTROL_OPT_DEAD_INC   0x00000001

Add dead time caused by the "fieldbus delays" (cycletime + fieldbustime + residual). Resulting Deadtime = DeadTime (from dt2 file) + "fieldbus delays"

◆ DF_INOS_BASE_CONTROL_OPT_DEAD_INC2

#define DF_INOS_BASE_CONTROL_OPT_DEAD_INC2   0x00000100

Add dead time caused by the "fieldbus delays" by another formula (0.5*cycletime + fieldbustime + residual). Resulting Deadtime = DeadTime (from dt2 file) + "fieldbus delays"

◆ DF_INOS_BASE_CONTROL_OPT_DISTANCE_CODED_CALIB

#define DF_INOS_BASE_CONTROL_OPT_DISTANCE_CODED_CALIB   0x00000200

One needs to activate this option if the axis has a distance coded measurement system and the axis is going to be calibrated using the Motion.Calib mechanism.

◆ DF_INOS_BASE_CONTROL_OPT_EXT_POS_ERR

#define DF_INOS_BASE_CONTROL_OPT_EXT_POS_ERR   0x00004000

Extended position error calculation. Enables a more precise position error calculation if the controller deadtime is much higher than the controller cycletime (e.g. with laser scanner axes).

◆ DF_INOS_BASE_CONTROL_OPT_FFV_100

#define DF_INOS_BASE_CONTROL_OPT_FFV_100   0x00000004

Commanded speed value to external controller is 100% based This is mandatory for GinLink and LocalBus based axes

◆ DF_INOS_BASE_CONTROL_OPT_IGNORE_CYCLEID

#define DF_INOS_BASE_CONTROL_OPT_IGNORE_CYCLEID   0x00001000

Ignore cycleid of controller inputs and outputs. Setting this option, allows cycleid's of control inputs/outpts to be different from the main cycletime/category

◆ DF_INOS_BASE_CONTROL_OPT_INC_FRACT

#define DF_INOS_BASE_CONTROL_OPT_INC_FRACT   0x00002000

Fractional increments support

◆ DF_INOS_BASE_CONTROL_OPT_INIT_V_ADJ_DIS

#define DF_INOS_BASE_CONTROL_OPT_INIT_V_ADJ_DIS   0x00000080

Do not adjust axis init speed even if DF_INOS_BASE_CONTROL_OPT_FFV_100 is disabled. (only on InfoLink based systems)

◆ DF_INOS_BASE_CONTROL_OPT_LIMIT_OUT

#define DF_INOS_BASE_CONTROL_OPT_LIMIT_OUT   0x00000800

Obey control output limits, e.g. Min/Max of actual range in XML for DAC. Introduced as opt-in to ensure compatibility for customers that may live on the limits not being checked...

◆ DF_INOS_BASE_CONTROL_OPT_NO_MPE

#define DF_INOS_BASE_CONTROL_OPT_NO_MPE   0x00000020

Without master position error. Do not send master position (maspos) error to controller. Use this option if you want to have the control algorithm on the fieldbus master side

◆ DF_INOS_BASE_CONTROL_OPT_NO_PID

#define DF_INOS_BASE_CONTROL_OPT_NO_PID   0x00000008

No pid calculation. Implicitly set if DF_INOS_BASE_CONTROL_OPT_FFV_100 is used and DF_INOS_BASE_CONTROL_OPT_NO_MPE is not used

◆ DF_INOS_BASE_CONTROL_OPT_POS_ABS

#define DF_INOS_BASE_CONTROL_OPT_POS_ABS   0x00000010

Position channel contains absolute encoder positions, e.g. used during axis init

◆ DF_INOS_BASE_CONTROL_OPT_POS_OVRS

#define DF_INOS_BASE_CONTROL_OPT_POS_OVRS   0x00000002

Enable position channel overrun detection (only on InfoLink based systems)

◆ DF_INOS_BASE_CONTROL_OPT_POSEX

#define DF_INOS_BASE_CONTROL_OPT_POSEX   0x00000040

Support 2nd position channel (PositionEx). Usually enabled if a 2nd position measurment system is available

◆ INOS_BASECONTROL_UPDATE_CMD_BUFFER

#define INOS_BASECONTROL_UPDATE_CMD_BUFFER ( )
Value:
if (nullptr != m_pCmdBuf) {\
m_uCmdWrt = (m_uCmdWrt + 1) & m_uCmdMsk;\
m_pCmdBuf[m_uCmdWrt].m_rS = apData->m_rS;\
m_pCmdBuf[m_uCmdWrt].m_rV = apData->m_rV;\
m_pCmdBuf[m_uCmdWrt].m_rA = apData->m_rA;\
m_pCmdBuf[m_uCmdWrt].m_rJ = apData->m_rJ;\
}\
Definition cinosmcmodule.h:1900