EASY-ROB™ Application Programming Interface  v9.301
Static Public Member Functions | List of all members
ER_CAPI_SIM_MONITORING Class Reference

Method class for monitoring of travel ranges, speeds, etc. More...

#include <ER_CAPI.H>

Inheritance diagram for ER_CAPI_SIM_MONITORING:
ER_CAPI_SIM ER_CAPI

Static Public Member Functions

static ER_DllExport int chk_run (void)
 Checks the current running status. More...
 
static ER_DllExport int chk_limits (int idx)
 Check if an Error occured
The parameter idx can be one of the following values.
AUX_UPDATE_IDX_SWE_EXCEEDED - Request if at least one axis exceeds its maximum allowed travel ranges
AUX_UPDATE_IDX_SPEED_EXCEEDED - Request if at least one axis exceeds its maximum allowed axis speed
AUX_UPDATE_IDX_ACCEL_EXCEEDED - Request if at least one axis exceeds its maximum allowed axis acceleration
AUX_UPDATE_IDX_COLLISION - Request for workcell collision
AUX_UPDATE_IDX_CART_SPACE_EXCEEDED - Request if Robot exceeds the cartesian space with its Tcp location or its bBox geometries
AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED - Request if at least one passive axis exceeds its maximum allowed travel ranges. More...
 
static ER_DllExport int chk_collision_workcell ()
 Check Workcell Collision
Test all devices versus all other devices, including environemnt geometries
Current settings, such as device visibility, "reference collision" or geometry collision tolerance, etc. are considered
Use get_collision_workcell_msg() to retrieve information about colliding devices and objects, in case of collision. More...
 
static ER_DllExport int chk_collision_devices_idx (int dev_idx_1, int dev_idx_2)
 Check for collision between two devices
The device index dev_idx_1 , dev_idx_2 must be in [1..n_dev] and not equal
If dev_idx_1 or dev_idx_2 are not valid, -1 is returned
In case dev_idx_1 and/or dev_idx_2 are 0, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_uid(), chk_collision_devices_name() More...
 
static ER_DllExport int chk_collision_devices_uid (ER_UID dev_uid_1, ER_UID dev_uid_2)
 Check for collision between two devices
If dev_uid_1 or dev_uid_2 are not valid, -1 is returned
In case dev_uid_1 and/or dev_uid_2 are 0, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_idx(), chk_collision_devices_name() More...
 
static ER_DllExport int chk_collision_devices_name (char *dev_name_1, char *dev_name_2)
 Check for collision between two devices
If dev_name_1 or dev_name_1 are not valid, -1 is returned
In case dev_name_1 and/or dev_name_2 are NULL, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_uid(), chk_collision_devices_idx() More...
 
static ER_DllExport int get_warning_msg (int aux_update_idx, char *msg)
 Warning message if one of the following error occurs
AUX_UPDATE_IDX_SWE_EXCEEDED - At least one axis exceeds its maximum allowed travel ranges
AUX_UPDATE_IDX_SPEED_EXCEEDED - At least one axis exceeds its maximum allowed axis speed
AUX_UPDATE_IDX_ACCEL_EXCEEDED - At least one axis exceeds its maximum allowed axis acceleration
AUX_UPDATE_IDX_COLLISION - workcell collision
AUX_UPDATE_IDX_CART_SPACE_EXCEEDED - Robot exceeds the cartesian space with its Tcp location or its bBox geometries
AUX_UPDATE_IDX_LOAD_GEO_ERROR - Geometry file (IGP, STL or 3DS) not found while loading .cel or .rob file load
AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED - At least one passive axis exceeds its maximum allowed travel ranges. More...
 
static ER_DllExport int get_collision_workcell_msg (char *msg)
 Collision message in case of detected collision
Call chk_collision_workcell() first to detect workcell collision. More...
 
static ER_DllExport int ChkAnimExec (int confirm=0)
 Check if animation is running. More...
 
static ER_DllExport int ChkPrgRunning (int confirm=0)
 Check if animation is running. More...
 
static ER_DllExport int * inq_stop_swe (void)
 Causes the robot to stop if travel ranges (joint limits) are exceeded. More...
 
static ER_DllExport int * inq_stop_cart_space (void)
 Causes the robot to stop if the cartesian space is exceeded. More...
 
static ER_DllExport int * inq_stop_speed (void)
 Causes the robot to stop if joint speeds are exceeded. More...
 
static ER_DllExport int * inq_stop_accel (void)
 Causes the robot to stop if joint accels are exceeded. More...
 
static ER_DllExport int * inq_stop_collision (void)
 Causes the robot to stop if collision detected. More...
 
static ER_DllExport int * inq_stop_unreach (void)
 Causes the robot to stop if target position is not reachable. More...
 
static ER_DllExport int * inq_swe_chk_always ()
 Causes an AuxUpdate() call if set and if active or passive travel ranges are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_SWE_EXCEEDED or AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_cart_space_chk_always ()
 Causes an AuxUpdate() call if set and if cartesian space is exceeded
AuxUpdate idx = AUX_UPDATE_IDX_CART_SPACE_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_speed_chk_always ()
 Causes an AuxUpdate() call if set and if joint speeds are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_SPEED_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_accel_chk_always ()
 Causes an AuxUpdate() call if set and if joint accels are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_ACCEL_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_collision_chk_always ()
 Causes an AuxUpdate() call if set and if a workcell collision occured
AuxUpdate idx = AUX_UPDATE_IDX_COLLISION
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_unreach_chk_always ()
 Causes an AuxUpdate() call if set and if unreachable target location
AuxUpdate idx = AUX_UPDATE_IDX_UNREACH
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env. More...
 
static ER_DllExport int * inq_prgwindow_show_auto (void)
 Suppresses the automatic appearance of the program window, if unset (0)
Remarks
Per default automatic appearance is enabled. More...
 
static ER_DllExport int * inq_msgwindow_show_auto (void)
 Suppresses the automatic appearance of the message window, if unset (0)
Remarks
Per default automatic appearance is enabled. More...
 
static ER_DllExport int * inq_dialogs_error_enable (void)
 Suppresses the appearance of error dialogs, if unset (0)
Remarks
Per default appearance is enabled. More...
 
static ER_DllExport int * inq_dialogs_warning_enable (void)
 Suppresses the appearance of warning dialogs, if unset (0)
Remarks
Per default appearance is enabled. More...
 
- Static Public Member Functions inherited from ER_CAPI_SIM
static ER_DllExport float * inq_sim_time (void)
 Global simulation time [s]. More...
 
static ER_DllExport float * inq_sim_step (void)
 Sample rate simulation step size [s]. More...
 
static ER_DllExport int LoadToolFileRun (char *fln)
 Load a tool file '.tol' while program is running. More...
 
static ER_DllExport int AuxUpdate (int idx, int sub_idx=0)
 Forces an AuxUpdate() call
Parameter idx is one of AUX_UPDATE_IDX_SIMUPDATE to AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED
Parameter sub_idx is an user defined individual index passed through all other API-UserDLL. More...
 
static ER_DllExport int StartCondition_ResetSave (int start_condition=START_CONDITION_RESET_ALL_ROBOTS)
 Reset or Save the Start Conditions for the current or all robots
Parameter start_condition is bitwise inclusive OR operator (|) of START_CONDITION_RESET to START_CONDITION_ENVIRONMENT_BODIES. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ER_CAPI_SIM
static ER_CAPI_SIM_MONITORING er_capi_sim_monitoring
 Method class for monitoring of travel ranges, speeds, etc. More...
 
static ER_CAPI_SIM_COLLISION er_capi_sim_collision
 Method class for collision, tolerances, etc. More...
 
static ER_CAPI_SIM_CAMERA er_capi_sim_camera
 Method class for camera settings. More...
 
static ER_CAPI_SIM_ERPL er_capi_sim_erpl
 ethod class for executing ERPL- and ERCL commands More...
 
static ER_CAPI_SIM_TRACK er_capi_sim_track
 Method class for TCP trace, reference and visualization. More...
 
- Static Public Attributes inherited from ER_CAPI
static ER_CAPI_USER_IO er_capi_user_io
 Method class for interaction with EASY-ROB. More...
 
static ER_CAPI_DEVICES er_capi_devices
 Method class to create, attach, update devices, for kinematics calculations and for trajectory planning and -execution. More...
 
static ER_CAPI_SIM er_capi_sim
 Method class for simulation settings. More...
 
static ER_CAPI_TARGETS er_capi_targets
 Method class for paths and tags. More...
 
static ER_CAPI_CAD er_capi_cad
 Method class for for 3D CAD Data import and -export, changing attributes and positions. More...
 
static ER_CAPI_SYS er_capi_sys
 Method class for mathematical calculations, simulation status, units. More...
 

Detailed Description

Method class for monitoring of travel ranges, speeds, etc.

Member Function Documentation

◆ chk_collision_devices_idx()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_collision_devices_idx ( int  dev_idx_1,
int  dev_idx_2 
)
static

Check for collision between two devices
The device index dev_idx_1 , dev_idx_2 must be in [1..n_dev] and not equal
If dev_idx_1 or dev_idx_2 are not valid, -1 is returned
In case dev_idx_1 and/or dev_idx_2 are 0, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_uid(), chk_collision_devices_name()

Parameters
[in]dev_idx_1idx 1st device [1..n_devices]
[in]dev_idx_2idx 2nd device [1..n_devices]
Return values
1- collision occured
0- no collision
-1- error

◆ chk_collision_devices_name()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_collision_devices_name ( char *  dev_name_1,
char *  dev_name_2 
)
static

Check for collision between two devices
If dev_name_1 or dev_name_1 are not valid, -1 is returned
In case dev_name_1 and/or dev_name_2 are NULL, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_uid(), chk_collision_devices_idx()

Parameters
[in]dev_name_1device name 1st device
[in]dev_name_2device name 2nd device
Return values
1- collision occured
0- no collision
-1- error

◆ chk_collision_devices_uid()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_collision_devices_uid ( ER_UID  dev_uid_1,
ER_UID  dev_uid_2 
)
static

Check for collision between two devices
If dev_uid_1 or dev_uid_2 are not valid, -1 is returned
In case dev_uid_1 and/or dev_uid_2 are 0, the specified device will be tested versus all other devices
See also chk_collision_workcell(), chk_collision_devices_idx(), chk_collision_devices_name()

Parameters
[in]dev_uid_1unique id 1st device
[in]dev_uid_2unique id 2nd device
Return values
1- collision occured
0- no collision
-1- error

◆ chk_collision_workcell()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_collision_workcell ( )
static

Check Workcell Collision
Test all devices versus all other devices, including environemnt geometries
Current settings, such as device visibility, "reference collision" or geometry collision tolerance, etc. are considered
Use get_collision_workcell_msg() to retrieve information about colliding devices and objects, in case of collision.

Return values
0- no collssion
1- collision detected

◆ chk_limits()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_limits ( int  idx)
static

Check if an Error occured
The parameter idx can be one of the following values.
AUX_UPDATE_IDX_SWE_EXCEEDED - Request if at least one axis exceeds its maximum allowed travel ranges
AUX_UPDATE_IDX_SPEED_EXCEEDED - Request if at least one axis exceeds its maximum allowed axis speed
AUX_UPDATE_IDX_ACCEL_EXCEEDED - Request if at least one axis exceeds its maximum allowed axis acceleration
AUX_UPDATE_IDX_COLLISION - Request for workcell collision
AUX_UPDATE_IDX_CART_SPACE_EXCEEDED - Request if Robot exceeds the cartesian space with its Tcp location or its bBox geometries
AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED - Request if at least one passive axis exceeds its maximum allowed travel ranges.

Parameters
[in]idxrequest for occurence
Return values
0- no occurence
1- occurence

◆ chk_run()

static ER_DllExport int ER_CAPI_SIM_MONITORING::chk_run ( void  )
static

Checks the current running status.

Return values
RUN_MODUS,STOP_MODUSor ABORT_MODUS

◆ ChkAnimExec()

static ER_DllExport int ER_CAPI_SIM_MONITORING::ChkAnimExec ( int  confirm = 0)
static

Check if animation is running.

Parameters
[in]confirm0 - suppress message, 1-show message in a dialog to be confirmed
Return values
0- Animation on hold
1- Animation running

◆ ChkPrgRunning()

static ER_DllExport int ER_CAPI_SIM_MONITORING::ChkPrgRunning ( int  confirm = 0)
static

Check if animation is running.

Parameters
[in]confirm0 - suppress message, 1-show message in a dialog to be confirmed
Return values
0- Program on hold
1- Program running

◆ get_collision_workcell_msg()

static ER_DllExport int ER_CAPI_SIM_MONITORING::get_collision_workcell_msg ( char *  msg)
static

Collision message in case of detected collision
Call chk_collision_workcell() first to detect workcell collision.

Parameters
[out]msgcollision message, size DMAXSTR
Return values
0- valid message
1- invalid

◆ get_warning_msg()

static ER_DllExport int ER_CAPI_SIM_MONITORING::get_warning_msg ( int  aux_update_idx,
char *  msg 
)
static

Warning message if one of the following error occurs
AUX_UPDATE_IDX_SWE_EXCEEDED - At least one axis exceeds its maximum allowed travel ranges
AUX_UPDATE_IDX_SPEED_EXCEEDED - At least one axis exceeds its maximum allowed axis speed
AUX_UPDATE_IDX_ACCEL_EXCEEDED - At least one axis exceeds its maximum allowed axis acceleration
AUX_UPDATE_IDX_COLLISION - workcell collision
AUX_UPDATE_IDX_CART_SPACE_EXCEEDED - Robot exceeds the cartesian space with its Tcp location or its bBox geometries
AUX_UPDATE_IDX_LOAD_GEO_ERROR - Geometry file (IGP, STL or 3DS) not found while loading .cel or .rob file load
AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED - At least one passive axis exceeds its maximum allowed travel ranges.

Parameters
[in]aux_update_idxone of AUX_UPDATE_IDX_SWE_EXCEEDED, AUX_UPDATE_IDX_SPEED_EXCEEDED, AUX_UPDATE_IDX_ACCEL_EXCEEDED, AUX_UPDATE_IDX_COLLISION, AUX_UPDATE_IDX_CART_SPACE_EXCEEDED, AUX_UPDATE_IDX_LOAD_GEO_ERROR, AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED
[out]msgError message, size DMAXSTR
Return values
0- valid message
1- invalid aux_update_idx parameter

◆ inq_accel_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_accel_chk_always ( )
static

Causes an AuxUpdate() call if set and if joint accels are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_ACCEL_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

◆ inq_cart_space_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_cart_space_chk_always ( )
static

Causes an AuxUpdate() call if set and if cartesian space is exceeded
AuxUpdate idx = AUX_UPDATE_IDX_CART_SPACE_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

◆ inq_collision_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_collision_chk_always ( )
static

Causes an AuxUpdate() call if set and if a workcell collision occured
AuxUpdate idx = AUX_UPDATE_IDX_COLLISION
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

◆ inq_dialogs_error_enable()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_dialogs_error_enable ( void  )
static

Suppresses the appearance of error dialogs, if unset (0)
Remarks
Per default appearance is enabled.

Return values
pointerto int

◆ inq_dialogs_warning_enable()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_dialogs_warning_enable ( void  )
static

Suppresses the appearance of warning dialogs, if unset (0)
Remarks
Per default appearance is enabled.

Return values
pointerto int

◆ inq_msgwindow_show_auto()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_msgwindow_show_auto ( void  )
static

Suppresses the automatic appearance of the message window, if unset (0)
Remarks
Per default automatic appearance is enabled.

Return values
pointerto int

◆ inq_prgwindow_show_auto()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_prgwindow_show_auto ( void  )
static

Suppresses the automatic appearance of the program window, if unset (0)
Remarks
Per default automatic appearance is enabled.

Return values
pointerto int

◆ inq_speed_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_speed_chk_always ( )
static

Causes an AuxUpdate() call if set and if joint speeds are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_SPEED_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

◆ inq_stop_accel()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_accel ( void  )
static

Causes the robot to stop if joint accels are exceeded.

Return values
pointerto int

◆ inq_stop_cart_space()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_cart_space ( void  )
static

Causes the robot to stop if the cartesian space is exceeded.

Return values
pointerto int

◆ inq_stop_collision()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_collision ( void  )
static

Causes the robot to stop if collision detected.

Return values
pointerto int

◆ inq_stop_speed()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_speed ( void  )
static

Causes the robot to stop if joint speeds are exceeded.

Return values
pointerto int

◆ inq_stop_swe()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_swe ( void  )
static

Causes the robot to stop if travel ranges (joint limits) are exceeded.

Return values
pointerto int

◆ inq_stop_unreach()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_stop_unreach ( void  )
static

Causes the robot to stop if target position is not reachable.

Return values
pointerto int

◆ inq_swe_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_swe_chk_always ( )
static

Causes an AuxUpdate() call if set and if active or passive travel ranges are exceeded
AuxUpdate idx = AUX_UPDATE_IDX_SWE_EXCEEDED or AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

◆ inq_unreach_chk_always()

static ER_DllExport int* ER_CAPI_SIM_MONITORING::inq_unreach_chk_always ( )
static

Causes an AuxUpdate() call if set and if unreachable target location
AuxUpdate idx = AUX_UPDATE_IDX_UNREACH
Remarks
If not set, no AuxUpdate() call is performed
This parameter can be predefined in the environment file easy-rob.env.

Return values
pointerto int

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