0% found this document useful (0 votes)
11 views31 pages

ERPL-/ ERCL - Program Language: Easy - ROB™ V6.0

ROBOT SIMULATION MANUAL
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views31 pages

ERPL-/ ERCL - Program Language: Easy - ROB™ V6.0

ROBOT SIMULATION MANUAL
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ERPL- / ERCL- Program Language

EASY-ROB™ V6.0

MAR 2012

Version 2.5

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
The right is reserved to make technical changes and improvements 2/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
Table of contents

Table of contents .............................................................................................................................................................. 3


ERPL - EASY-ROB Program Language .................................................................................................................... 5
General Program Structure ............................................................................................................................ 5
Robot Motion Commands .............................................................................................................................. 6
IF, While and Goto Statements .................................................................................................................... 11
Commands for I/O Signals ........................................................................................................................... 12
Math Parser Constants ................................................................................................................................ 13
Math Parser Functions ................................................................................................................................. 14
Triangle Parser Functions ............................................................................................................................ 15
Robot-related Parser Functions ................................................................................................................... 16
ERCL - EASY-ROB™ Command Language ......................................................................................................... 18
ERCL - ON / OFF Commands ..................................................................................................................... 18
ERCL - Render Commands ......................................................................................................................... 21
ERCL - Camera Commands ........................................................................................................................ 21
ERCL - Color Commands ............................................................................................................................ 22
ERCL - Transparency- Commands .............................................................................................................. 23
ERCL - Reset and Save Commands ........................................................................................................... 23
ERCL - Load Commands ............................................................................................................................. 23
ERCL - Move Commands ............................................................................................................................ 24
ERCL - Grab and Release Commands........................................................................................................ 25
ERCL – Robot / Device Commands ............................................................................................................ 25
ERCL - TAG Commands.............................................................................................................................. 26
ERCL - View Commands ............................................................................................................................. 26
ERCL - TCP Trace Commands ................................................................................................................... 27
ERCL - Collision Commands ....................................................................................................................... 28
ERCL - Attach Commands ........................................................................................................................... 29
ERCL - Unit Commands............................................................................................................................... 29
CALC - Math Commands ............................................................................................................................. 29
ERCL - PARAMETER Commands .............................................................................................................. 30
ERCL - KUD Commands ............................................................................................................................. 30
ERCL - Additional Commands ..................................................................................................................... 31

The right is reserved to make technical changes and improvements 3/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
The right is reserved to make technical changes and improvements 4/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
ERPL - EASY-ROB Program Language

The below table gives an overview about the EASY-ROB program structure and available robot motion
commands.

Principle syntax definition:

Units (length) are meter [m], degree [deg] or percentage [%]


Speed units are in length unit per seconds e.g. [m/s]
A cartesian position consists of a position with X, Y and Z values and an orientation with A, B and C
angles.
The orientation definition for ABC angles is:
Rot (A,B,C) = Rot(X,A) * Rot(Y,B) * Rot(Z,C)
A Tag name is for example 'T_1'. To use a tag name with a motion command, the Tag must exist in the
work cell.

General Program Structure

Command and Syntax Description


PROGRAMFILE Begin of Program
Executing this command as single step command will reset some status
data, such as BASE, BASE_PRG, etc.
ENDPROGRAMFILE or End of Program
END Program executing stops
CALL fct_name() Internal Function Call
fct_name() - name of function
Note: The function must exist in the current program file
FCT fct_name() Begin function definition
fct_name() - name of function
ENDFCT end of function
! some text and comments The '!' sign will comment out the complete command line

EndInit End of the area for the initialization


(for initialization of the „not-time-consuming“ commands)

The right is reserved to make technical changes and improvements 5/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Robot Motion Commands

Command and Syntax Description


! some text and comments The '!' sign will comment out the complete command line
OV_PRO x [%] Programmable Override
x - percentage value
SPEED_CP dx dxe [m/s] Speed for continuous path motion
dx - cartesian speed
[dxe] – cartesian speed at target
SPEED_ORI dx_ori dxe_ori Orientation Speed for continuous path motion
[deg/s] dx_ori - orientation speed
[dxe_ori] - orientation speed at target
SPEED_PTP v ve [m/s, deg/s] Speed for PTP motion
v - joint speed
[ve] - joint speed at target
Remark: command obsolete – use SPEED_PTP_AX instead
ACCEL_CP ax axe [m/s²] Acceleration for continuous path motion
ax - cartesian acceleration
[axe] - cartesian acceleration at target
ACCEL_ORI ax_ori axe_ori Orientation Acceleration for continuous path motion
[deg/s²] ax_ori - orientation acceleration
axe_ori] - orientation acceleration at target
ACCEL_PTP aq aq_end [m/s², Acceleration for PTP motion
deg/s²] aq - joint acceleration
[aqe] - joint acceleration at target
Remark: command obsolete – use ACCEL_PTP_AX instead
SPEED_PTP_AX v1 .. vn Speed for PTP motion for every axis
[m/s, deg/s] v1 - Joint(1) - joint speed
[vn] – Joint(n) - joint speed
ACCEL_PTP_AX a1 .. an Acceleration for PTP motion for every axis
[m/s², deg/s²] a1 - Joint(1) acceleration
[an] - Joint(n) acceleration
SPEED_PTP_OV x [%] Percentage speed (for PTP motion) of the maximum speed values (for
every axis)
x – value in percent
ACCEL_PTP_OV x [%] Percentage acceleration (for PTP motion) of the maximum acceleration
values (for every axis)
x - value in percent
SPEED_CP_OV x [%] Percentage speed (for continuous path motion) of the maximum speed
values (for every axis)
x - value in percent
ACCEL_CP_OV x [%] Percentage acceleration (for continuous path motion) of the maximum
acceleration values (for every axis)
x - value in percent
SPEED_ORI_CP_OV x [%] Percentage orientation-speed (for continuous path motion) of the
maximum speed values (for every axis)
x - value in percent
ACCEL_ORI_CP_OV x [%] Percentage orientation-acceleration (for continuous path motion) of the
maximum acceleration values (for every axis)
x - value in percent

The right is reserved to make technical changes and improvements 6/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Command and Syntax Description
CONFIG n Robot Configuration
n - configuration number
TOOL X Y Z A B C [m,deg] Tool data from tip to TCP
XYZ - Position
ABC - Orientation
TOOL tagname Tool data from tip to TCP
tagname - name of Tag
TOOL DEVICE robname Sets the TCP for the current Robot to the TCP data of the robot
‘robname’. This command is useful after another robot is grabbed.
TOOL toolname Sets the tool / the TCP to the tool with name ‚toolname’
TOOL DEVICE Sets the TCP for the current Robot to the tool data of the tool ‚toolname’ of
tool_dev_name toolname the selected devices ‘tool_dev_name’. This command is useful after
another robot is grabbed
EXT_TCP X Y Z A B C [m,deg] Extern TCP
XYZ - Position
ABC - Orientation
EXT_TCP tagname Extern TCP
tagname - name of Tag
BASE X Y Z A B C [m,deg] Shift Targets by BASE frame
The goal of all BASE commands is to shift program commands. The
BASE command is always with respect to the robots base. (see also ERC
BASE ...)
i.e. All following motion commands are transformed by the current base
frame.
XYZ - Position
ABC - Orientation
Note: see also
ERC BASE BODY bodyname
ERC BASE TCP
BASE tagname Program BASE
tagname - name of Tag
BASE_REL dX dY dZ dA dB Relative Program BASE
dC [m,deg] Shift the current base frame by the relative location
dXdYdZ - delta Position, dAdBdC - delta Orientation
BASE_PRG X Y Z A B C The BASE_PRG command operates with respect to the current BASE
[m,deg] frame.
The final reference for all motion and position commands with respect to
the robots base is calculated as:
T_base_final = T_base_prg * T_base
(T - homogeneous 4x4 matrix)
XYZ – Position, ABC - Orientation
BASE_PRG_REL dX dY dZ Relative Program BASE_PRG
dA dB dC [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation

The right is reserved to make technical changes and improvements 7/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
LEADING_POSITION x Leading Position for continuous path motion
ON - Position has priority, keeps speed on a path
OFF - Orientation has priority
VAR - slowest profile has priority
LEADING_ORIENTATION x Leading Orientation for continuous path motion
(Opposite form LEADING_POSITION)
ON - Orientation has priority
OFF - Position has priority, keeps speed on a path
VAR - slowest profile has priority
HOME n Home position
n - number of home position
HOME homepositionname Home position
homepositionname - name of home position
HOME $NAME_N Homeposition
$NAME_N Name of the home position defined by the command
ERC SET_PARAMETER $NAME_1 ‘name’
SLEW X Y Z A B C [m,deg] SLEW (PTP), each Joint reaches its target at different time
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation, Extax – external axis values
SLEW _REL dX dY dZ dA dB Relative SLEW
dC [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
SLEW tagname SLEW (PTP), each Joint reaches its target at different time
tagname - name of Tag
SLEW _AX q1 .. qn [m,deg] Joint specific SLEW
q1..qn - target Joint/Axis
SLEW _AX_REL dq1..dqn Relative Joint specific SLEW
[m,deg] dq1..dqn - delta Joint/Axis
PTP X Y Z A B C [m,deg] Full-Synchro PTP
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation, Extax – external axis values
PTP_REL dX dY dZ dA dB dC Relative Full-Synchro PTP
[m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
PTP tagname Full-Synchro PTP
tagname - name of Tag
PTP_AX q1 .. qn [m,deg] Joint specific Full-Synchro PTP
q1..qn - target Joint/Axis
PTP_AX_REL dq1..dqn Relative Joint specific Full-Synchro PTP
[m,deg] dq1..dqn - delta Joint/Axis
LIN X Y Z A B C [m,deg] ] Linear CP motion
[Extax1 Extax2 …] XYZ – Position, ABC – Orientation
Extax - external axis values
LIN_REL dX dY dZ dA dB dC Relative Linear CP motion
[m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
LIN TagName Linear CP motion
Tag name - name of Tag
LIN_ORI ori_type Orientation Interpolation type for Linear CP motion
ori_type -
VARIABLE, FIX, TANGENTIAL, AUX, VARIABLE2, QUATERNION

The right is reserved to make technical changes and improvements 8/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
MOVE TagNames[] Moves to one or more Tagpoints in tag motion type.
MOVE TagIdx[] Example: Path with 4 tag points { T1, T2, T3, T4},
T1 has PTP motype
T2 has LIN motype
T3 has CIRC motype
T4 has VIA motype
MOVE T1 T4 T3 T2
moves to T1 in ptp, to T3 in circ via T4 and to T2 in lin motion type.
Using Tagindex,
MOVE 1 4 3 2 causes the same motion.
Along path TagNameStrt Move along a path
TagNameEnd path : Path name to move along
TagNameStrt - first Tag to move to
TagNameEnd - last Tag to move to
TagNameStrt, TagNameEnd are identified by names “T_1” or by Idx
Examples:
along path01 T_1 T_5, moves from Tag “T_1” to “T_5”
along path01 T_1 -1, moves from Tag “T_1” to last Tag in cPath
nd th
along path01 2 6, moves from 2 Tag to 6 Tag in Path “path01”
Note: The motion type, speeds, etc. depending on Tag attributes when
”ERC USE_TAG_ATTRIBUTES ON” is set.
CIRC X Y Z A B C [X2 Y2 Z2] Circular CP motion
[m,deg] XYZ – Position, ABC - Orientation
[X2 Y2 Z2] – Via Point Pose
CIRC_REL dX dY dZ dA dB Relative Circular CP motion
dC [dX2 dY2 dZ2] [m,deg] dXdYdZ - delta Position, dAdBdC - delta Orientation
[dX2 dY2 dZ2] - delta Via Point position
CIRC tagname [TagName2] Circular CP motion
tagname - name of target Tag
[tagname2] - name of via point tag position
CIRC_ORI ori_type Orientation Interpolation type
for Circular CP motion
ori_type -
VARIABLE, FIX, TANGENTIAL, AUX, VARIABLE2, QUATERNION
CIRC_ORI_QUAT_IPO Orientation Interpolation type for Circular CP motion
ori_quat_type when CIRC_ORI = QUATERNION
START_VIA_END START_VIA_END – The x axis alignment in the via point determine
[START_END, the orientation interpolation
START_VIAORI_END, START_END – The orientation interpolation is determined by
TANGENTIAL, FIX] the orientation of start and target location.
START_VIAORI_END – During CIRC-Interpolation the via point
orientation in is reached in the via point.
TANGENTIAL – The x axis is guided tangential at the circular
segment
FIX – The orientation is kept unchanged, hereby the
orientation in the target is ignored.

The right is reserved to make technical changes and improvements 9/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
VIA_POS X Y Z A B C Via Position for Circular CP motion
[m,deg] XYZ – Position, ABC - Orientation
VIA_POS_REL dX dY dZ dA Relative Via Position for
dB dC [m,deg] Circular CP motion
dXdYdZ - delta Position, dAdBdC - delta Orientation
VIA_POS tagname Via Position for Circular CP motion
tagname - name of via point Tag pose
JUMP_TO X Y Z A B C Jump to target location
[m,deg] XYZ – Position, ABC - Orientation
JUMP_TO tagname Jump to target location
tagname - name of target Tag
JUMP_TO_AX q1 .. qn [m,deg] Jump to target joint axis
q1..qn - target Joint/Axis
WAIT x [sec] Wait Statement
x - time in seconds
ZONE Rounding parameter. The command „Zone = 0“ forces the robot to move
to the exact position
AUTO_ACCEL ON Automatic calculation of acceleration dependent on programmed speed.
[OFF/AX/POS/ORI] AX – Calculation for PTP motions
POS – Calculation for CP motions for Position
ORI – Calculation for CP motions for Orientation
ON – Calculation for PTP, POS and ORI
OFF – Calculation deactivated
ACCSET Acc Ramp Lagging of accelerations. The arguments Acc and Ramp are given in
percentage values in the range 20% to 100%.
Acc – Acceleration and Deceleration as percentage value of normal
values
Ramp – Change of Acceleration and Deceleration as percentage value of
normal values
PTP_CALC_MODE Calculation specification for PTP motion.
SHORTEST_ANGLE [TURN, SHORTEST_ANGLE – shortest angle
MATH, IN_TRAVEL_RANGE, TURN – use TURN parameter
VAR_CONFIG] MATH – mathematical within [-180°,180°]
IN_TRAVEL_RANGE – within valid travel ranges if possible
VAR_CONFIG – variable Configuration, calculation of shortest
angle could result in new configuration.
TURN Turn_Ax1 ... Turn_Axn TURN-Values for each axis Ax1…Axn, for the following PTP or SLEW
Target, if TURN-Intervals are defined
MSG text ‘Text’ will be shown in the program window
NATIVE command The native command can be used 1 by 1 in the post processor API. It has
no effect in the simulation

The right is reserved to make technical changes and improvements 10/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
IF, While and Goto Statements

Command and Syntax Description


IF condition IF Statement (checking condition for true and false)

! enter ERPL,ERCL here The condition is a mathematical expression and will be checked for “True”
and “False”. The condition is true when greater zero.
ELSEIF condition2
Example: xx > yy, thus the robot will move to Tag ‘T_1’
! enter ERPL,ERCL here xx=3; yy=1
IF gt(xx,yy)
ELSEIF condition3
LIN T_1
! enter ERPL,ERCL here ELSEIF lt(xx,yy)
LIN T_2
ELSE
ELSEIF eq(xx,yy)
! enter ERPL,ERCL here LIN T_3
ELSE
ENDIF ! enter ERPL,ERCL here
ENDIF

WHILE condition While-loop (checking condition for true and false)

! enter ERPL,ERCL here The condition is a mathematical expression and will be checked for “True”
and “False”. The condition is true when greater zero.
ENDWHILE
Example: The robot will move along path ‘path01’ three times
xx=4; yy=1
WHILE gt(xx,yy)
xx = xx-1
ALONG PATH01 T_1 T_5
ENDWHILE

GOTO LABEL label_name GOTO Statement (to jump to another program line)

Example:
LABEL label_name GOTO LABEL my_label

! skip all these program lines

LABEL my_label

Tipps:
- use labels only if necessary
- a label can be placed everywhere, but only once in a program file
- never use labels to exit an if-else-endif or a while-endwhile statement

The right is reserved to make technical changes and improvements 11/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Commands for I/O Signals

Kommando und Syntax Beschreibung

WAIT_UNTIL_SIGNAL_SET Will wait until the signal is set.


my_signal
The command is checking a condition on „True“ and „False“. The
condition is a mathematical expression, which is true if greater than 0.5.

WAIT_UNTIL_SIGNAL_SET my_signal
! continues when the signal „my_signal“ is set
! will wait as long as the signal „my_signal“ is not set

WAIT_UNTIL_SIGNAL_UNSE Will wait until the signal is not set anymore.


T my_signal

Das Kommando prüft eine Bedingung auf „True“ und „False“. Dabei ist die
Bedingung ein mathematischer Ausdruck und ist wahr, wenn größer 0.5

WAIT_UNTIL_SIGNAL_UNSET my_signal
! continues when the signal „my_signal“ is not set anymore
! will wait as long as the signal „my_signal“ is set

WAIT_FOR_CONDITION Will check a given condition.


condition

WAIT_FOR_CONDITION gt( my_signal ,0)


! continues if condition is true
! will wait if condition is false

The right is reserved to make technical changes and improvements 12/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Math Parser Constants

Command and Syntax Description Example


PI Circle number 3.1415926 U = 2*pi*radius
e Exponential value 2.718282 e = exp(1)
RAD Convert degree  radiant RAD = PI / 180° = 0.017453
DEG Convert radiant  degree DEG = 180° / PI = 57.295778
m2mm Convert m  mm m2mm = 1000
mm2m Convert mm  m m2mm = 0.001
m2inch Convert m  inch m2inch = 39.37
inch2m Convert inch  m inch2m = 0.0254
mm2inch Convert mm  inch mm2inch = 0.03937
inch2mm Convert inch  mm inch2mm = 25.4
mps2mmpmin Convert mps  mmpmin mps2mmpmin = 60000
mmpmin2mps Convert mmpmin  mps mmpmin2mps = 1/60000
TRUE 1 WHILE TRUE
ENDWHILE
FALSE 0 done = FALSE
unit2m Convert userunit  m scale = unit2m
m2unit Convert m  userunit scale = m2unit
ans Answer, last result
DIM 3
DOF6 6

The right is reserved to make technical changes and improvements 13/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Math Parser Functions

Command and Syntax Description Example


abs (x) Absolute value abs (-6) = 6.000000
asin (x)*DEG Inverse Sine asin (0.5)*DEG = 30
acos (x)*DEG Inverse Cosine acos (0.5)*DEG = 60
atan (x)*DEG Inverse Tangent atan (1)*DEG = 45
atan2 (x,y)*DEG Inverse Tangent2 atan2 (-1,-1)*DEG = -135
cos (x*RAD) Cosine cos (45*RAD) = 0.707107
cosh (x) Cosine-hyperbola cosh (0) = 1.000000
ceil (x) Ceiling ceil (2.83) = 3.000000
exp (x) Exponential exp (0) = 1.000000
eq (x,y) Equal to eq (5,5) = 1.000000
fact (x) Factorial fact (6) = 720.000000
floor (x) Floor floor (2.83) = 2.000000
gt (x,y) Greater than gt (5,3) = 1.000000
ge (x,y) Greater equal ge (5,5) = 1.000000
int (x) Integer int (2.83) = 2.000000
ln (x) Natural logarithm ln (2) = 0.693147
Log (x) Logarithm log (2) = 0.301030
lt (x,y) Less than lt (3,5) = 1.000000
le (x,y) Less equal le (5,5) = 1.000000
min(1,2) Minimum of two arguments min(1,2) = 1.000000
max(1,2) Maximum of two arguments max(1,2) = 2.000000
ne (x,y) Not equal ne (3,5) = 1.000000
pow (x,y) Power pow (2,3) = 8.000000
rnd (x) Random Rnd (10)-5 = 3.772546
Sqrt (x) Square root sqrt (2) = 1.414214
sin (x*RAD) Sine sin (45*RAD) = 0.707107
sinh (x) Sine-hyperbola sinh (1) = 1.175201
sign (x) Sign sign (-2.83) = -1.000000
tan (x*RAD) Tangent tan (45*RAD) = 1.000000
tanh (x) Tangent-hyperbola tanh (1) = 0.761594
trunk (x) Truncate Trunk (-2.83) = -2.000000

The right is reserved to make technical changes and improvements 14/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Triangle Parser Functions

Command and Syntax Description Example


Triangle calculation:

beta = tr_assa (alfa, c, a)

angle side side > angle

In: alfa, c, a
Out: beta tr_assa (90*RAD, 1, 2) * DEG = 60° = beta

gamma =
tr_assa2 (alfa, c, a) In: alfa, c, a
tr_assa2 (90*RAD, 1, 2) * DEG = 30°= gamma
Out: gamma
angle side side > angle2
b = tr_asss (alfa, c, a)
In: alfa, c, a tr_asss (90*RAD, 1, 2) = 1.732051 = b
2 2
Out: b = sqrt ( 2 -1 )
angle side side > side
b = tr_sass (c, beta, a)
In: c, beta, a tr_sass (1, 60*RAD, 2) = 1.732051 = b
2 2
Out: b = sqrt ( 2 -1 )
side angle side > side
gamma =
tr_sasa (c, beta, a) In: c, beta, a
tr_sasa (1, 60*RAD, 2)*DEG = 30° = gamma
Out: gamma
side angle side > angle
alfa = tr_sssa (a, b, c)
In: a, b, c
tr_sssa (2,sqrt(3),1)*DEG = 90° = alfa
Out: alfa
side side side > angle
4 - angle calculation
gamma =
tr_sasssa In: d, beta, a, b, c
tr_sasssa (1,90*RAD,2,1,3) * DEG = 158.6955°
(d, beta, a, b, c) Out: gamma
= gamma
side angle side side side
beta is between <d,a>
> angle
gamma is between <a,b>
delta = In: d, beta, a, b, c
tr_sasssa2 Out: delta tr_sasssa2 (1,90*RAD,2,1,3)*DEG = 33.55731°
(d, beta, a, b, c)
beta is between <d,a> = delta
side angle side side side
> angle delta is between <b,c>

The right is reserved to make technical changes and improvements 15/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
Robot-related Parser Functions

Command and Syntax Description Example


num_dof() Number of active Joints num_dof() = 6
num_pdof() Number of passive Joints num_pdof() = 1
dof(aJnt _number) Robot joint value with ‘aJnt_number’ dof(1) * DEG = -0.132455
[1..ndof] in radiant [rad] or meter [m]
pdof(pJnt_number) Passive robot joint value ‘pJnt_number’ pdof(1) * DEG = -0.132455
[1..npdof] in radiant or meter
dofoffsign(aJnt _number) Consider joint offset and sign dofoffsign(1) = -0.132455
= dof(jn) * jntsign(jn) - jntoff(jn)
jntoff(aJnt _number) Joint offset for robot jntoff(2) = 0.174533
jntsign(aJnt _number) Sign of joint jntsign(1) = 1.000000
mtounit() Meter-to-Unit mtounit() = 1000.000000
robb(direction) Robotbase w.r.t. Reference system in robb(1)*m2mm = 0.000000
[m,rad] robb(5)*deg = 45. 000000
direction = [1..6] with 1=x, 5=Ry
swen(aJnt) Negative travel range limit [rad,m] swen(1) = -3.141593
swep(aJnt) Positive travel range limit [rad,m] swep(1) = 3.141593
swen_calc(aJnt) Negative calculated travel range limit swen_calc(1) = -3.141593
[rad,m]
swep_calc(aJnt) Positive calculated travel range limit swep_calc(1) = 3.141593
[rad,m]
tcp (direction) TCP w.r.t. Robot base in [m,rad] tcp(1)*m2mm = 1798.858523
direction = [1..6] with 1=x, 5=Ry tcp(5)* DEG = 95.000000
tcpi (direction) TCP w.r.t. World ’i’ in [m,rad] tcpi(1)*m2mm = 1798.858523
direction = [1..6] with 1=x, 5=Ry tcpi(5)* DEG = 95.000000
ctool (direction) current Tool data [m,rad] ctool(3)*m2mm = 150.000000
direction = [1..6] mit 1=x, 5=Ry ctool(5)* DEG = 30.000000
tool(tool_number,direction) Tool data [m,rad] tool(1,3)*m2mm = 150.000000
tool_number – number of tool tool(1,5)* DEG = 30.000000
direction = [1..6] mit 1=x, 5=Ry

The right is reserved to make technical changes and improvements 16/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
la (aJnt , direction) Transformation to next active Joint la(0,1)*m2mm = 0.000000
aJnt – Number active Joint [0..ndof] la(1,1)*m2mm = 0.000000
direction = [1..6] mit 1=x, 5=Ry la(6,5)* DEG = 90.000000
st
Note: aJnt = 0  Rbase to 1 Joint
lp (pJnt , direction) Transformation to next passive Joint lp(1,1)*m2mm = 0.000000
pJnt - Number passive Joint [1..npdof] lp(1,5)* DEG = 0.000000
direction = [1..6] mit 1=x, 5=Ry
lp0 (pJnt , direction) Transformation from last passive Joint lp0(1,1)*m2mm = 0.000000
pJnt - Number passive Joint [1..npdof] lp0(1,5)* DEG = 0.000000
direction = [1..6] mit 1=x, 5=Ry
unittom() Unit-to-Meter unittom() = 0.001000
collision() Return 1 if collision detected, else 0 coll = collision()
sim_time() global simulation time in sec simtime = sim_time()

The right is reserved to make technical changes and improvements 17/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
EASY-ROB™
ERCL - EASY-ROB™ Command Language

ERCL is an extension of ERPL, to automate nearly all user interactions inside a robot program. Examples
are: Switch ON/OFF the TCP trace, collision, TCP coorsys, load another view, render bodies to flat, wire or
invisible, set a new color, change the simulation step size or the motion planner step size, move bodies,
define and move body lists, move the robots base, etc.. This feature is useful to create more advanced and
effective simulations

Command and Syntax Description


ERC SET_DEFAULTS Set default values:
Enables the robot, tool and environment bodies.
Disables the robot joint coorsys.
ERC SIM_STEP x [sec] Set Simulation step size
x - simulation step size

Note: This command switches “Realtime OFF” automatically


ERC CNTRL_STEP x [sec] Set Controller sample rate
x - controller sample rate
ERC SYSTEM_STEP x [sec] Set robot modell sample rate
x - model sample rate
ERC IPO_STEP x [sec] Set Interpolation sample rate
x - ipo sample rate
ERC IPO_LEAD_TIME x [sec] Set IPO Lead time, the motion will start after this time.
x - ipo lead time
ERC IPO_LAG_TIME x [sec] Set IPO Lag time, at the end of motion, the robot will rest in that pose for
this time before moving to the next target pose.
x - ipo lag time

ERCL - ON / OFF Commands

Command and Syntax Description


ERC TRACK ON,OFF Enables / Disables the TCP trace

ERC DYNAMICS ON,OFF Enables / Disables Dynamics

ERC STOP_SWE ON,OFF Enables / Disables monitoring of software end switches

ERC STOP_SPEED ON,OFF Enables / Disables monitoring of joint/axis speed

ERC STOP_ACCEL ON,OFF Enables / Disables monitoring of joint/axis acceleration

ERC COLLISION ON,OFF Enables / Disables monitoring of collision

ERC STOP_COLLISION Enables / Disables the STOP motion on collision


ON,OFF
ERC RED_BLUE_ Enables / Disables red blue collision
COLLISION ON,OFF

The right is reserved to make technical changes and improvements 18/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC ROBOTJOINTS ON,OFF Enables / Disables the Online Robot IO Output
or
ERC ROBOTPOSITIONS
ON,OFF
ERC FLOOR ON,OFF Enables / Disables the Floor

ERC FLOOR_RENDER Enables / Disables the flat shaded floor (flat or wire)
ON,OFF
ERC EXT_TCP ON,OFF Enables / Disables external TCP mode

ERC ORTHOGRAFIC Enables / Disables Orthographic view


ON,OFF
ERC DISPLAY_ROBOT Enables / Disables the visualization of Robot
ON,OFF
ERC Enables / Disables the visualization of yellow/green colored Robot
DISPLAY_ROBOT_COORSY Joint/Axis Coorsys
S ON,OFF
ERC DISPLAY_TOOL Enables / Disables the visualization of Tool
ON,OFF
ERC DISPLAY_BODYS Enables / Disables the visualization of Bodies / Environment
ON,OFF
ERC TCP_COORSYS Enables / Disables the visualization of blue colored Tool/TCP Coorsys
ON,OFF
ERC IPO_COORSYS ON,OFF Enables / Disables the visualization of red colored IPO Coorsys

ERC BASE_COORSYS Enables / Disables the visualization of green colored Base Coorsys
ON/OFF
ERC Enables / Disables creating Tag at target location
CREATE_TARGET_TAGS
ON/OFF
ERC Enables / Disables resets all positions and robot joints
RESET_ALL_POSITIONS_JOI
NTS ON/OFF
ERC NO_DECEL ON/OFF Enables / Disables the Speed deceleration at target pose
NO_DECEL=ON : will set ZONE=0.1 if ZONE<> 0
NO_DECEL=OFF : will set ZONE=0
ERC GRAFIC_UPDATE Enables / Disables the visualization of the Render Scene during program
ON/OFF Execution.
This command is useful to hide background command
ERC DISPLAY_TAGS Enables / Disables the visualization of Tag poses
ON/OFF
ERC activates / deactivates View Choreography, thus
VIEW_CHOREOGRAPHY “ERC LOAD View …” commands are skipped
ON,OFF
ERC activates / deactivates visualization of the robots joint coorsys for all
DISPLAY_ROBOT_COORSY active and passive joints
S ON, OFF
ERC activates / deactivates visualization of the robots name
DISPLAY_ROBOT_NAME
ON, OFF

The right is reserved to make technical changes and improvements 19/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC STATUS_OUTPUT Enables / Disables the Status Output during program execution. Using
ON/OFF [1-at simstep,2-at this feature allows you to save the complete simulation status in an own
target pose] [flnname] [fct# 0- defined format. Typical values are joint/axis data and also cartesian
12] TCP location.

Parameter:
st
1 : 1 - save status data every simstep
2 - save status data at target location
nd
2 : filename, e.g. "[Link]"
rd
3 : Function number
-1 - default output inside EASY-ROB™ for matlab visualization
0 - default output inside EASY-ROB™
1..12 - user defined output, see example API-DYN
status_output_user_1() defined in file dyn_user.cpp
Example: in folder ./proj/proj/
Status_Output.cel and
Status_Output.prg
ERC INTERPOLATION Disables continuous interpolation, robot jumps to target location
ON/OFF
ERC REALTIME_SIM Real time Simulation causes program execution in real time.
ON/OFF This mode will calculate the simulation step size permanently.
ERC BACKFACES ON/OFF Enables / Disables visualization of back faces

ERC CAMERA ON/OFF Enables / Disables the Camera.

ERC Enables / Disables the use of tag attributes, such as motion type, speed,
USE_TAG_ATTRIBUTES acceleration, etc.
ON/OFF
ERC MSG_WIN ON/OFF Enables / Disables the message window
ERC PRG_WIN ON/OFF Enables / Disables the program window
ERC DISPLAY_CROBOT Enables / Disables the visualization of the current robot
ON,OFF
ERC DISPLAY_CTOOL Enables / Disables the visualization of the current tool
ON,OFF
ERC COLLISION_CROBOT Enables / Disables the collision check of the current robot
ON/OFF
ERC COLLISION_CTOOL Enables / Disables the collision check of the current tool
ON/OFF
ERC Enables / Disables the reference collision check of the current robot
COLLISION_CROBOT_REF
ON/OFF
ERC WORLD_COORSYS Enables / Disables the world coordinate system
ON/OFF
ERC ALL_COORSYS ON/OFF Enables / Disables all coordinate system in the workcell
ERC HISTORY_DEVICE Enables / Disables the recording of data (for one device) for the History-
ON/OFF Diagram
ERC HISTORY_DEVICE Enables / Disables the recording of data (for all devices) for the History-
ALL_ON / ALL_OFF Diagram
ERC HISTORY_OUTPUT StarteStart
ON of History-Diagram recording
/ ALL_ON [flnname] flnname – file name to store the data
ERC HISTORY_OUTPUT OFF Stopps the History-Diagram recording
ERC CELL_INFO_SHOW Enables / Disables the Cell Information line
ON/OFF

The right is reserved to make technical changes and improvements 20/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Render Commands

Command and Syntax Description


ERC RENDER SMOOTH Sets the complete Render Scene FLAT or SMOOTH shaded,
ERC RENDER FLAT
same as icon
ERC RENDER WIRE Sets the complete Render Scene in WIRE frame,

same as icon
ERC RENDER POINT Sets the complete Render Scene as POINTS,

same as icon
ERC RENDER BBOX ON,OFF Sets the complete Render Scene as Bbox (bounded boxes),

same as icon
ERC RENDER group Sets/modifies the render of an unique body
bodyname render group - BODY, ROBOT, TOOL
name - name of body
render WIRE, FLAT, BBOXWIRE, BBOXFLAT, INVISIBLE, POINT
Example:
erc render TOOL 'tool' WIRE
erc render TOOL 'tool' FLAT
ERC RENDER group render Sets/modifies the render of all parts in the group
group BODY_GRP, ROBOT_GRP, TOOL_GRP
render WIRE, FLAT, BBOXWIRE, BBOXFLAT, INVISIBLE, POINT
Example:
erc render TOOL_GRP WIRE
erc render TOOL_GRP FLAT

ERCL - Camera Commands

Command and Syntax Description


ERC CAMERA ON/OFF Enables / Disables the Camera.
ERC CAMERA FOCUS focus Set Camera focus
[mm] focus – focus length
Range [12.25 mm to 240 mm], default. 50 mm (middle Mouse)
ERC CAMERA Z_OFFSET Set Camera Offset in Z direction
z_offset [mm] z_offset – Z - Offset
Range [-200 mm to +500 mm], default. 0 mm (left Mouse)
- value zoomes out
+ value zoomes in
ERC CAMERA BODY Attaches the Camera to the origin of CAD geometry
[ROBOT,TOOL] bodyname
ERC CAMERA POSITION Offset position w.r.t. the origin of the CAD geometry where the camera is
XYZ ABC [m,deg] attached to
Note: per default, the camera looks in –Z direction (see also OpenGL™)
A 180° rotation about y axis turns the camera in many cases into
the right direction.

The right is reserved to make technical changes and improvements 21/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Color Commands

Predefined COLOR values

1 BLUE
2 GREEN
3 CYAN
4 RED
5 MAGENTA
6 BROWN
7 LIGHTGRAY
8 DARKGRAY
9 LIGHTBLUE
10 LIGHTGREEN
11 LIGHTCYAN
12 LIGHTRED
13 LIGHTMAGENTA
14 YELLOW
15 WHITE

32 Bit RGB Color

Command and Syntax Description


ERC COLOR group name Sets/modifies the color for an unique body
color group - BODY, ROBOT, TOOL
name - name of body
color predefined color
Example:
erc color TOOL 'tool' RED
ERC COLOR group color Sets/modifies the color of all parts in the group
group BODY_GRP, ROBOT_GRP, TOOL_GRP
color predefined color
Example:
erc color TOOL_GRP RED
ERC COLOR track color Sets/modifies the color the robots TCP trace
track TRACK, TRACK_DYN
color predefined color
Example:
erc color TRACK RED
erc color TRACK -1, for alternating color
ERC COLOR tag color Sets the predefined TAG color
color predefined color
Note: When creating a new Tag, the tag will have this color

The right is reserved to make technical changes and improvements 22/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Transparency- Commands

Kommando und Syntax Beschreibung


ERC TRANSPARENCY group Set transparency for each single part or body
name alpha group - BODY, ROBOT, TOOL
name - name of body
alpha alpha blend value [0,1]
Example:
erc transparency TOOL 'tool' 0.5
ERC TRANSPARENCY group Set transparency for each for all parts in a group
alpha group BODY_GRP, ROBOT_GRP, TOOL_GRP
alpha alpha blend wert [0,1]
Example:
erc transparency TOOL_GRP 0.5

ERCL - Reset and Save Commands

Command and Syntax Description


ERC RESET JOINTPOSITION Reset the joint/axis position to start condition
ERC SAVE JOINTPOSITION Saves the joint/axis position as start condition

ERCL - Load Commands

This feature gives the user the ability to load a file, e.g. a robot tool or a view file during program execution.

Command and Syntax Description


ERC LOAD TOOL filename Loads a Tool file (*.tol)
ERC LOAD VIEW filename Loads a View file (*.vie)
Note: The Render Scene interpolates to the new view with the number of
'view steps' ERC VIEW steps n
ERC LOAD ROBOT filename Loads a Robot file (*.rob)
ERC LOAD BODY filename Loads a Body file (*.bod)
ERC LOAD TAGS filename Loads a Tag file (*.tag)
ERC LOAD MIMIC filename Loads a Mimic file (*.mmc) ! Mimic = Machine Interface file
ERC LOAD CAMERA filename Loads a Camera file (*.cam)
ERC LOAD ENVIRONMENT Loads an Environment file (*.env)
[filename]

The right is reserved to make technical changes and improvements 23/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Move Commands

Command and Syntax Description


ERC MOVE BODY bodyname Moves a unique part from the BODY group to a new location
XYZ ABC [m,deg] bodyname - name of body
XYZ - Position.
ABC - Orientation
ERC MOVE BODY bodyname Moves a unique part from the BODY group to a new tag point pose.
TagName bodyname - name of body
TagName - name of Tag
ERC MOVE TOOL bodyname Moves a unique part from the TOOL group to a new location.
XYZ ABC [m,deg] bodyname - name of body
XYZ - Position
ABC - Orientation
ERC MOVE TOOL bodyname Moves a unique part from the TOOL group to a new tag point pose.
TagName bodyname - name of body
TagName - name of Tag
ERC MOVE ROBOT Moves a unique part from the ROBOT group to a new location.
bodyname XYZ ABC [m,deg] bodyname - name of body
XYZ - Position
ABC - Orientation
ERC MOVE ROBOT Moves a unique part from the ROBOT group to a new tag point pose.
bodyname TagName bodyname - name of body
TagName - name of Tag
ERC MOVE_REL BODY Relative movement of a unique part from the BODY group.
bodyname dXdYdZ dAdBdC bodyname - name of body
[m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL TOOL Relative movement of a unique part from the TOOL group.
bodyname dXdYdZ dAdBdC bodyname - name of body
[m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL ROBOT Relative movement of a unique part from the ROBOT group.
bodyname dXdYdZ dAdBdC bodyname - name of body
[m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL BODY_GRP Relative movement of the complete BODY goup, with respect to the
bodyname dXdYdZ dAdBdC reference body.
[m,deg] bodyname - name of reference body
dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL TOOL_GRP Relative movement of the complete TOOL goup, with respect to the
bodyname dXdYdZ dAdBdC reference body.
[m,deg] bodyname - name of reference body
dXdYdZ - delta Position.
dAdBdC - delta Orientation

The right is reserved to make technical changes and improvements 24/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC MOVE_REL Relative movement of the complete ROBOT goup, with respect to the
ROBOT_GRP bodyname reference body.
dXdYdZ dAdBdC [m,deg] bodyname - name of reference body
dXdYdZ - delta Position.
dAdBdC - delta Orientation
ERC MOVE_REL LIST Relative movement of all parts defined in a LIST
listname dXdYdZ dAdBdC listname - name of List
[m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation

ERCL - Grab and Release Commands

Command and Syntax Description


ERC GRAB BODY Grab a body
'bodyname' Bodyname - name of body
ERC GRAB BODY_GRP Grab all parts in the
BODY_GRP
ERC RELEASE BODY Release a body
'bodyname' Bodyname - name of body
ERC RELEASE BODY_GRP Release all parts in the
BODY_GRP
ERC GRAB DEVICE The current robot grabs the robot/device with name ‘devname’
devname
ERC GRAB_TO DEVICE The device with name ‘devname’ will be grabbed by a target device with
devname targetdevname the name ‘targetdevname’
ERC RELEASE DEVICE The device with the name ‘devname’ will be released
devname

ERCL – Robot / Device Commands

Command and Syntax Description


ERC CURRENT_DEVICE SET Activates the robots with name ’robotname’
'robotname’ Note: All following ERPL- und ERCL-commands refer to the current
activated robot. This robot is current ‘cRobot’
ERC CURRENT_DEVICE Disables the current robot and makes the robot before as current.
UNSET Example: When writing a function to close a spot weld gun do as follows:
We suppose that the cRobot is ‘MyRobot’
erc current_device set SpotWeldGun
ptp_ax 0 0 ! move joint 1 and 2 to 0
erc current_device unset ! disables ‘SpotWeldGun’, enables ‘MyRobot’
ERC CURRENT_DEVICE Clears the complete device stack
CLEAR
ERC CURRENT_DEVICE Shows the complete device stack in ‘message Window’
SHOW
TOOL DEVICE robotname Sets the TCP for the current Robot to the TCP data of the robot
‘robotname’. This command is useful after another robot is grabbed.

The right is reserved to make technical changes and improvements 25/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC ROBOT_BASE XYZ ABC Move the cRobot base to a new location.
[m,deg] XYZ - Position
ABC - Orientation
ERC ROBOT_BASE tagname Move the cRobot base to a new Tag location.
Tagname - name of TAG
ERC ROBOT_BASE_REL Relative movement of the cRobot base.
XYZ ABC [m,deg] dXdYdZ - delta Position.
dAdBdC - delta Orientation

ERCL - TAG Commands

Command and Syntax Description


ERC Enables / Disables creating
CREATE_TARGET_TAGS Tag at target location.
ON/OFF
ERC TAGS PREFIX Sets the Prefix for Tags
prefixname Prefixname - name of prefix
Note: When creating a new Tag, the tag will have this prefixname
ERC TAGS DELETE tagname Delete a Tag pose from the render scene
Tagname - name of Tag
ERC TAGS DELETE ALL Delete all tags from the render Scene

ERCL - View Commands

Command and Syntax Description


ERC VIEW steps n Sets the number of view steps, important when loading a (*.vie)
file
ERC VIEW hither x Sets value for the hither plane

ERC VIEW yonder x Sets value for the yonder Plane

ERC VIEW zoom x Zoom the render scene by the value x

ERC VIEW zoom_in x Zoom In the render scene by the value x

ERC VIEW zoom_out x Zoom Out the render scene by the value x

ERC VIEW tcp_rot_tcp ABC Rotate the render scene about


the current robots TCP with
respect to the TCP orientation
ABC - relative Rotations
ERC VIEW tcp_rot_world ABC Rotate the render scene about the current robots TCP with respect to
the world frame orientation
ABC - relative Rotations
ERC VIEW world_rot_base Rotate the render scene about the world coorsys frame with respect to
ABC the robot base frame orientation
ABC - relative Rotations
ERC VIEW TOP [BOTTOM, Zooms the scene in a predefined perspective (Top, Bottom, Left, etc.).
LEFT, RIGHT, FRONT, REAR, ZOOM_WORLD zooms the scene in a visible range
ZOOM_WORLD]

The right is reserved to make technical changes and improvements 26/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERC VIEW world_rot_world Rotate the render scene about the world coorsys frame with respect to
ABC the world frame orientation
ABC - relative Rotations
ERC LOAD VIEW filename Loads a View file (*.vie)
Note:
The Render Scene interpolates to the new view with the number
of 'view steps'

ERCL - TCP Trace Commands

Command and Syntax Description


ERC TRACK_TYPE type [size] Sets the trace type and style
type POINT
LINE
LINE_Z_DIRECTION,
Z_DIRECTION
X_DIRECTION
Y_DIRECTION
[size] length of direction
Examples:
erc track_type line
erc track_type line_z_direction 0.2
erc track_type line_z_direction -0.2
ERC TRACK ON,OFF Enables / Disables the TCP trace for current robot ‘cRobot’
ERC COLOR track color Sets/modifies the color the robotsTCP trace
track TRACK, TRACK_DYN
color predef. color
Example:
erc color TRACK RED
erc color TRACK -1, for alternating standard colors [1..15]

The right is reserved to make technical changes and improvements 27/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Collision Commands

Command and Syntax Description


ERC Collision ON/OFF Enables / disables the collision detection
Note: In case collision is enabled, all geometries belonging to one
robot/tool are checked vs. other robots and tools automatically.
This is the default collision queue.

ERC RED_BLUE_COLLISION Enables / disables red blue collision


ON, OFF In case collision is checked and detected, all colliding geometries
are displayed in red color, non colliding geometries displayed in
light blue color.

ERC COLLISION BODY Enables / disables the collision attribute of a Body to


[ROBOT, TOOL] bodyname OFF, ! Collision for the geometry is disabled
OFF, ON=CONCAVE, ON = CONCAVE ! Collision is checked concave
CONVEX, BBOX CONVEX ! Collision is checked with convex huel
BBOX ! Collision is checked with bounded box huel

ERC COLLISION BODY_GRP Enables / disables the collision attribute for a complete Group to
[ROBOT_GRP, TOOL_GRP] off, on=concave, convex or bbox
OFF, ON= CONCAVE, Note: Robot_Grp and Tool_Grp have effect to the geometries belonging to
CONVEX, BBOX the current selected robot ‘cRobot’

ERC COLLISION QUEUE Enables / disables a predefined collision queues


BODY_ROBOT BODY_ROBOT – checks collision between body vs. robot
[BODY_TOOL, BODY_TOOL – checks collision between body vs. tool
ROBOT_TOOL, ROBOT_TOOL – checks collision between robot vs. tool
GRABBODY_ROBOT, GRABBODY_ROBOT – checks collision between grabbed
bodies’ vs. robot
GRABBODY_BODY, GRABBODY_ BODY – checks collision between grabbed
bodies’ vs. and not grabbed bodies
ROBOT_ROBOT ROBOT_ROBOT – checks collision between all geometries
belonging to the same Robot_Grp
BODY_BODY BODY_BODY – checks collision between all geometries
belonging to the same Body_Grp
ALL] ON,OFF ALL – enable/disable all predefined queues

ERC COLLISION_TOL BODY Tolerance value for body ‚bodyname’ from Body-, Robot or Tool- group
[ROBOT, TOOL] bodyname with concave collision check in [mm]
tolerance [mm]
ERC COLLISION_TOL Tolerance value for complete group
BODY_GRP [ROBOT_GRP, with concave collision check in [mm]
TOOL_GRP] tolerance [mm]
ERC COLLISION DISTANCE Sets global collision threshold ‘tolerance’ in mm. Collision is detected if the
tolerance [mm] minimal distance between two tested geometries is less then this
collision threshold value ‘tolerance’.

The right is reserved to make technical changes and improvements 28/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Attach Commands

ERC ATTACH ROBOT Reattaches a body (geometry) to another robot joint inside a Robot_Grp,
'bodyname' to_ROBOT defined by ‘bodyname2’
nd
['bodyname2'] Note: the body is attached to the robot base if no 2 body is specified
ERC ATTACH ROBOT Reattaches a body to the tip of the cRobot
'bodyname' to_TOOL

ERCL - Unit Commands

ERC UNIT M Sets the unit to meter [m] for all following ERPL & ERCL commands
Example: speed_cp 0.1 is 100 mm/s
ERC UNIT MM Sets the unit to millimeter [mm] for all following ERPL & ERCL commands
Example: speed_cp 100 is 100 mm/s
ERC UNIT INCH Sets the unit to inch [inch] for all following ERPL & ERCL commands
Example: speed_cp 1 is 25.4 mm/s
ERC UNIT DEG Sets the rotation unit to degree [°]
Example: speed_ori 20 is 20°/s
ERC UNIT RAD Sets the rotation unit to radiant [rad]
Example: speed_ori 3.1415 is 180°/s
ERC UNIT TRANS_SCAL x Scales the internal unit [m] by the user defined value x
Example: x=10 speed_cp 0.1 is 1 m/s = 1000 mm/s
ERC UNIT ROT_SCAL x Scales the internal unit [°] by the user defined value x
Example: x= 10 speed_ori 2 is 20°/s

CALC - Math Commands

CALC ‘math expression’ Example:


calc a=0.5
calc b = a * sin (45.0*RAD)
LIN_REL 0 0 0.1*a 0 0 0
CALC SHOW_VARS Shows all global variables in the message window
CALC SHOW_USER_VARS Shows all user defined global variables (without prefix ‘$’) in the message
window
CALC CLEAR_VARS Deletes all global variables
CALC CLEAR_USER_VARS Deletes all user defined global variables (without prefix ‘$’)
= msg(’math expression’) Data output in the message window. Example: = msg(a)
= ’math expression’ Result output in the program window. Example: = a

The right is reserved to make technical changes and improvements 29/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - PARAMETER Commands

ERC SET_PARAMETER Copy name into the first of 100 possible global string parameter
$NAME_1 ‘name’ $NAME_1 = ‘name’
Usage:
ERC SET_PARAMETER $NAME_1 T_1 ! Tag point
ERC SET_PARAMETER $NAME_2 MYROB ! a device name

ERC CURRENT DEVICE SET $NAME_2 ! set ‘MYROB’ as current
LIN $NAME_1 ! move to tag ‘T_1’
ERC SET_PARAMETER Copy the text word plus a value name into the first of 100 possible global
$NAME_1 text_word [value] string parameter
$NAME_1 = text_word [value]
Usage:
ii=1
ERC SET_PARAMETER $NAME T_ ii ! Tag point “T_1”
ERC SET_PARAMETER Deletes all global string parameter
$NAME_RESET
ERC SET_PARAMETER shows all global string parameter in the message window
$NAME_INFO

ERCL - KUD Commands

ERC KUD row column x Sets value ‘x’ for the Kinematics User Data for current robot given by
row [1..12]
column [1..12]
Example:
ERC KUD 1 1 1
ERC KUD 12 12 144
ERC KUD name x Sets value ‘x’ for the Kinematics User Data for current robot given by
a name.
Valid names are: KUD_1_1 …. KUD_12_12
Note: The user can change the KUD name.
Example:
ERC KUD_1_1 1
ERC KUD_12_12 144

The right is reserved to make technical changes and improvements 30/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]
ERCL - Additional Commands

Command and Syntax Description


ERC STOP Stops program execution

ERC PAUSE Halts program execution

ERC ESSI ON,OFF [speed Enables / Disables the


scale value] [size scale value] Interpetation of ESSI NC-Code
(Option “NC-Simulation” is required)
Optional parameter
Speed scale value
will scale the programmed speed.
Size scale value
will scale the target location (program scale)
Note: This feature requires a licensed NC-Option
ERC EIA ON,OFF [speed Enables / Disables the
scale value] [size scale value] Interpetation of EIA NC-Code, DIN 66025
(Option “NC-Simulation” is required)
Optional parameter
Speed scale value
will scale the programmed speed.
Size scale value
will scale the target location (program scale)
Note: This feature requires a licensed NC-Option
ERC BASE BODY bodyname Sets the BASE to the bodyname

ERC BASE TCP Sets the BASE to the current robots TCP

ERC SWE_NEG swe1 ... swen Sets the negative travel range values.
negative software endswitches The number of values should coincide with the number of joints/axis
[m,deg]
ERC SWE_POS swe1 ... swen Sets the positive travel range values.
positive software endswitches The number of values should coincide with the number of joints/axis
[m,deg]
ERC TURN_INTERVAL Ax1 TURN -Interval for each axis Ax1…Axn, within [0°, ∞°[
...Axn [deg]
ERC TURN_ OFFSET Ax1 TURN -Offset for each axis Ax1…Axn, within ] -∞°, ∞°[
...Axn [deg]
ERC JOINT_WEIGHT 0 or 1 Sets the joint weight vector, to influence the result of the numerical
for number of joints solution
The number of values should coincide with the number of joints/axis
ERC MASK_VECTOR [0,1] for Sets the mask vector, to influence the result of the numerical solution
XYZ ABC
ERC CELL_INFO text String for cell Information line

The right is reserved to make technical changes and improvements 31/31

EASY-ROB™ Stefan Anton Hans-Thoma-Str.26a 60596 Frankfurt/Main Germany Tel. +49 69 677 24-287 Fax. +49 69 677 24-320 [Link]@[Link] [Link]

You might also like