0% found this document useful (0 votes)
30 views40 pages

1 - ER Series Industrial Robot Three Dimension Visual Debugging Manual

This document describes visual functions and debugging of 3D interfaces for an autonomous controller. It covers configuring 3D visual interfaces and debugging methods. The document is intended for professionals familiar with automation standards who will diagnose and integrate automation systems.

Uploaded by

Flow89
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)
30 views40 pages

1 - ER Series Industrial Robot Three Dimension Visual Debugging Manual

This document describes visual functions and debugging of 3D interfaces for an autonomous controller. It covers configuring 3D visual interfaces and debugging methods. The document is intended for professionals familiar with automation standards who will diagnose and integrate automation systems.

Uploaded by

Flow89
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
You are on page 1/ 40

ER Series Industrial Robot Three

Dimension Visual Debugging Manual


RCS2 V1.5.2
Revision
No Date Version Description
1 2018.08.17 V1.0 Initial release
Added visual commands to
2 2018.10.10 V1.1
robots
1. Modify the domain
3 2019.01.16 V1.2 attribute value in the
command
1. Modify visual protocol
introduction
2. Modify some interface
descriptions
3. Modify and set load
variables
4 2022.03.09 V1.4
4. modify visual configuration
introduction
5. Modify the communication
heartbeat description
6. Modify the debugging
steps
1. Add 3.39, 3.40, 3.41, 3.42,
5 2021.08.04 V1.5.1 3.43, 3.44, 3.45, 3.46 and
3.47 ports
Modify interface 3.17, 3.42,
3.45, add 3.48, 3.49, 3.50, add
6 2021.12.03 V1.5.2
the usage description in
Chapter 2
Table of Contents
Preface ......................................................................................................................4
Chapter 1 Function Introduction .............................................................................5
Chapter 2 Vision Protocol Introduction ..................................................................5
Chapter 3 Vision Command Introduction ...............................................................7
3.1 Modifies the location point command ..........................................................11
3.2 Get position point command ........................................................................12
3.3 Modifying Variable Values ...........................................................................12
3.4 Obtain Variable Values................................................................................13
3.5 Get the current joint position of the robot .....................................................13
3.6 Gets the current world coordinate position of the robot ...............................13
3.7 Modify IO port value ....................................................................................14
3.8 Gets IO (real and virtual) port values ...........................................................14
3.9 Change the current mode of the robot .........................................................15
3.10 Get the current robot mode .......................................................................16
3.11 Modify global speed ..................................................................................16
3.12 Modify program run mode .........................................................................16
3.13 Obtain robot running status .......................................................................16
3.14 Alarm Reset ..............................................................................................17
3.15 Gets the alarm error code .........................................................................17
3.16 Program Run .............................................................................................17
3.17Program stop..............................................................................................17
3.18 Load program file ......................................................................................18
3.19 Deregistering a project ..................................................................................18
3.20 Cancellation procedure ..................................................................................18
3.21 Judge whether the robot is in action ................................................................19
3.21 Check whether a project is loaded...................................................................19
3.22 Setting the PC pointer ...................................................................................19
3.23 Servo enable control .....................................................................................19
3.24 Obtain the current servo status .......................................................................20
3.25 Setting the Manual Operating coordinate System .............................................20
3.26 Obtain the coordinate system of the current point movement .............................20
3.27 Single axis point motion ................................................................................20
3.28 Stop current clicking .....................................................................................21
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.29 Obtaining the global speed value ....................................................................21


3.30 Multi-axis fixed-point motion (with velocity parameter and no transition parameter)
..........................................................................................................................21
3.33 Point of instruction .......................................................................................23
3.34 Position seeking motor function .....................................................................23
3.35 Setting load Variables ...................................................................................24
3.36 Selecting the Tool coordinate system ..............................................................24
3.37 Select the user coordinate system ...................................................................24
3.38 Set the robot to stop reporting errors ...............................................................25
3.39 GetCurWPosV3 Obtain the location with CFG value ........................................25
3.40 GetVarV3 Gets the variable value ..................................................................25
3.41 SetVarV3 Sets the variable value....................................................................27
3.42 MovePointV3 Robot movement interface ........................................................31
3.43 GetToolV3 Gets the current tool.....................................................................33
3.44 GetUserCoordV3 Gets the current user coordinates ..........................................34
3.45 MoveFinsih movement task completion signal .................................................34
3.46 GetSoftLimits Gets the soft limit of the current robot's axis ...............................34
3.47 SetSoftLimits obtains the axis soft limit of the current robot ..............................34
3.48 setMultiIOValue Set the multi-I/O interface ....................................................35
3.49 GetMultiIOValue Reads the value of the multiple I/O interface .........................35
3.50 Clear3dCmds This command is used to clear the 3D interface cache ..................36
Visual Configuration introduction.........................................................................36
3d visual debugging...............................................................................................37
5.1 Heartbeat Communication Description .........................................................37
5.2 SocketTest Debugging Assistant ....................................................................37
5.3 Commissioning Procedure ............................................................................38

-3-
Preface

Summary

This document is applicable to the control system after RCS2 V1.24. It


describes the visual functions of the autonomous controller, including
configuration of 3d visual interfaces and debugging methods of 3D visual.

Reader

This manual is intended only for trained professionals in the field of "control,
automation and drive Engineering" who are familiar with various applicable
national standards.
System producer: The operator who functions to diagnose a system.
A system integrator costs money to buy a system, either by working as a
technician at a machine tool manufacturer.
Pre-caution

⚫ To install and debug these components, operators have to adhere to the


instructions and explanations in this document.
⚫ The person responsible for buying a product must ensure that the
application or use of the product meets all safety requirements, including
laws, regulations, guidelines and standards.
⚫ Regardless of how well the document is written, we may not check that the
product performance data, standards or other features described in the
document always align with the actual product because the product
described is constantly being upgraded after each update.
⚫ Anyway, technical or editing errors are inevitable in this document, and we
reserve the right to change the documentation at any time without notice.
For products that have changed, we do not specifically declare that data,
charts, and text descriptions in this document have not been modified.
⚫ Either software or hardware configuration changes that are not included in
the text file, and ESTUN accepts no liability for any consequences.
⚫ The graphical unit appears in this document. The default unit is millimm if
there is no special explanation.
Safety Instruction

Risk of injury
Failure to comply with the safety instructions associated with this
sign endangers personal life and health.
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Risks to the environment and equipment


Failure to comply with the safety instructions may significantly
harm the environment and equipment.
Indication or reminder.
This flag indicates that this information helps you better
understand the security instructions.

Chapter 1 Function Introduction

Robot vision is one of the important parts of the robot system, which means
the robot has the visual perception function. Robot vision can get environment of
3 d image through visual sensor, and carries on the analysis and interpretation
through visual processor, and then converted to command, used to change the
variable of the robot, a spot, IO, at the same time also need to get the robot's
variable, a spot, IO, the current position, such as command, let the robot can
identify objects, visual logic control.

Chapter 2 Vision Protocol Introduction

Robots serve as TCP clients and visual devices serve as TCP servers.

The robot sends data to the server device

The robot sends a string to the server through the command SendMessage,
and the content of the string is customized by the user. After the robot runs the
send data instruction SendMessage, the robot will send the given string to the
server device.

Robot command execution: SendMessage (" Message ",0)

The server receives the content: [Msg: Message]

The server device sends data to the robot

5
ER Series Industrial Robot Three Dimension Visual Debugging Manual

When vision sending a command string to the robot, the robot sends a reply
Ack to the server device

Sent by the server device: [GetCurJPos();id=1]

Format: [command +; + id]

Description: [] is a complete command frame, before semicolon is the command,


the id after semicolon corresponds to the command ID, this is a random
non-repeating integer, used to judge the error jump frame, because the robot Ack
return reply frame [id = 1; Ok], there will be a corresponding ID.

Robot answer: [id = 1; Ok; XXX]

Format: [id +; + (Ok/FAIL) +; data]

Command Use Instruction

Interface Type

1: interface for reading status, IO, and variables

2: interface for setting status, IO, and variables

3: motion interface

Interface command execution mode:

A) When executing interface commands of types 2 and 3:


1) There is a command queue. Interface commands must enter the queue and
be executed in sequence.
2) After the interface command is executed, feedback is given (no response is
given if the command is not executed).
3) When the queue is full, the interface command fails to enter the queue, and
the feedback queue is full, please wait.
B) When executing a command of type 1:
1) Immediate execution and immediate feedback.
C) Abnormal conditions:
1) Motion command error or stop, feedback [RobotStop:XX]; Other setting

6
ER Series Industrial Robot Three Dimension Visual Debugging Manual

instructions are basically not affected, and customers need to obtain error status
through instructions for error processing
D) Command queue instructions:
1) Clear the command queue
E) Movement instruction, detect the safety door signal, if there is a safety door,
feedback [SafeDoorIsOpen:XX], the instruction ends.
Note: Error, stop motion command cannot continue, do not support pause and
continue.

Chapter 3 Vision Command Introduction

Visual commands need to be used together with visual software and external
cameras, and visual calibration needs to be carried out in advance.

Visual commands for robots include:

Modify position point SetPointPos_1

Get position point CamGetPoint_s

Modifying variable values CamSetVar_1_s

Get variable values CamReadVar_s

Get the current joint position GetCurJPos


of the robot

Gets the current world GetCurWPos


coordinate position of the
robot

Example Modify the I/O port SetIOValue

7
ER Series Industrial Robot Three Dimension Visual Debugging Manual

value

Gets IO (real and virtual) IOGetDout


port values
IOGetDin

IOGetAout

IOGetAin

IOGetSimDout

IOGetSimDin

IOGetSimAout

IOGetSimAin

Change the current mode of changemode_IFace


the robot

Gets the current robot mode getCurSysMode_IFace

Modify global speed setGoableSpeed_IFace

Modify the program running setRunMode_IFace


mode

Obtain robot running status getRobotRunStatus_IFace

The alarm reset resetErrorId_IFace

Get the alarm error code getErrorId_IFace

The program run startRun_IFace

8
ER Series Industrial Robot Three Dimension Visual Debugging Manual

The program stop stopRun_IFace

Loader file loadUserPrjProg_IFace

The cancellation of the UnloadUserPrj_IFace


engineering

The cancellation of the UnloadUserProg_IFace


program

Determine if the robot is IsRobotMoving_IFace


moving

Check whether the project is IsProgramLoaded_IFace


loaded

Setting the PC Pointer SetPc_IFace

Servo enable control SetMotServoStatus_IFace

Gets the current servo GetServoSts_IFace


status

Set the manual operating SetCoordType_IFace


coordinate system

Gets the coordinate system GerCurCoordType_IFace


of the current dot motion

Uniaxial point move JogMotion_IFace

9
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Stops the current tap JogMotionStop_IFace

Gets the global speed value getGoableSpeed_IFace

Multi-axis fixed-point motion MoveToSelectPoint_Iface


(with velocity parameter and
no transition parameter)

Multi-axis fixed-point motion MoveToSelectPointb_IFac


(with velocity parameters
and transition parameters)

Multiaxial motion stops StopDestPosMotion_IFace

Teach the designated point TeachSelectPoint_IFace

Position seeking motor MoveWithSearch_IFace


function

Set the load SetPayload_IFace

Selection tool coordinate SetTool_IFace


system

Select user coordinate SetCoord_IFace


system

Set the robot to stop SetRTtoErr_IFace


reporting errors

Get robot position with CFG GetCurWPosV3

10
ER Series Industrial Robot Three Dimension Visual Debugging Manual

value

Get variable interface GetVarV3

Set variable interface SetVarV3

Robot motion interface MovePointV3

Get the current tool GetToolV3

Gets the current user GetUserCoordV3


coordinates

Clear the motion mission ClearJobIdV3

Get the shaft soft limit GetSoftLimits

Set shaft soft limit SetSoftLimits

Before use of vision, the robot needs to calibrate a user coordinate system,
which should be consistent with the visual coordinate system.

3.1 Modifies the location point command

SetPointPos_1(string PName, String Value,int type,int scope)

PName: position point name

Value: value of the position poiny


(example:11.0_12.1_13.2_14.3_15.4_16.5)

Type: position point 5 axis positive and negative 0 -- 5 axis positive, 1 -- 5


axis negative (invalid APOS)

Scope: domain 0: system, 1: global, 2: project, and 3: program

11
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send: [SetPointPos_1 (" P1 ", "1.1 _2. 2 _3. 3 _4. 4 _5. 5 _6. 6", 0, 2); the id
= 3]

Receive: success [id = 3; Ok] failed [id = 3; FAIL]

3.2 Get position point command

CamGetPoint_s(string pointName,int scope)

PointName: indicates the name of the location point

Scope: domain, 0: system, 1: global, 2: project, 3: program

Send: [CamGetPoint_s("P1",1);id=13] (parameter 1 is name)

Reception:

Success:

1, APOS: [id = 13; Ok; % 0.3 f, % 0.3 f, % 0.3 f, % 0.3 f, % 0.3 f, % 0.3 f]
(values are A1, A2, A3, A4, A5, A6)

2, CPOS:[id = 13; Ok; 0.3 0.3%0.3 f, % f, % f, % 0.3 f, % 0.3 f, % 0.3 f, %


d, % d, % d, % d, % d, % d, % d] (value of X, Y, Z, A, B, C, mode, cf1, cf2, cf3, cf4,
cf5, cf6)

Failure: [id = 13; FAIL], mode is positive or negative on axis 5, positive on


axis 0 -- 5, and negative on axis 1 -- 5

3.3 Modifying Variable Values

CamSetVar_1_s(string varName,string dDataIn,int type,int scope)

VarName: variable name

dDataIn: is a value, given as a string

Type :1 indicates an int. 2 means real

Scope: domain, 0: system, 1: global, 2: project, 3: program

12
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send: [CamSetVar_1_s (" Result ", "1.0", 1, 2); the id = 112]

Receive: success [id = 112; Ok] Fail [id = 112; FAIL]

3.4 Obtain Variable Values

CamReadVar_s(string varName,int type,int scope)

VarName: is the variable name,

Type: 1 indicates the int type, 2 indicates the readL type

Scope: domain, 0: system, 1: global, 2: project, 3: program

Send: [CamReadVar_s (" Result ", 2, 2); the id = 122]

Receive: success [id = 122; Ok; 1.1](last value) failure [id = 122; FAIL]

3.5 Get the current joint position of the robot

Command format: GetCurJPos()

Send: [GetCurJPos () id = 1]

Receive succeed: [id = 1; Ok; % 0.3F % 0.3F % 0.3F % 0.3F % 0.3F % 0.3F],
the value is corresponding to (J1, J2, J3, J4, J5, J6)

Receive failed: [id = 1; FAIL]

3.6 Gets the current world coordinate position of the robot

Command format: GetCurWPos()

Send [GetCurWPos () id = 2]

Receive success: [id = 2; Ok; % 0.3 f % 0.3 f % 0.3 f % 0.3 f % 0.3


f % 0.3 f % d] the values correspond (x, y, z, a, b, c, mot)

Receive failed: [id = 2; FAIL]

13
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.7 Modify IO port value

Command format: SetIOValue(int ioIndex, int ioType, double ioValue)

IoIndex: port number

IoType: Port type 1- Digital output (Dout) 2- Analog output (Aout)

11- Virtual Digital Input (SimDI) 12- Virtual Digital Output (SimDout)

13- Virtual analog input (SimAin) 14- Virtual analog Output (SimAout)

IoValue: port value (analog value can be an integer, floating point, positive
or negative, and digital value can only be 0/1)

Send: [SetIOValue,1,1 (11); id = 4)

Receive: Success[id = 4; Ok] failed [id = 4; FAIL]

3.8 Gets IO (real and virtual) port values

IOGetDout(int ioIndex)

Send: [IOGetDout(1);id=5] (ioIndex in parentheses)

Receive: success [id = 5; Ok; 1](last bit is port value) failure


[id = 5; FAIL]

IOGetDin(int ioIndex)

Send: [IOGetDin(2);id=6] (ioIndex in parentheses)

Receive: [id = 6; Ok; 1] (last bit is port value) Failed [id = 6;


FAIL]

IOGetAout(int ioIndex)

Send: [IOGetAout(1);id=7] (ioIndex in parentheses)

Receive: [id = 7; Ok; 1.1] (last bit is port value) Failed [id =
7; FAIL]

14
ER Series Industrial Robot Three Dimension Visual Debugging Manual

IOGetAin(int ioIndex)

Send: [IOGetAin(1);id=8] (parameter ioIndex in parentheses)

Receive: [id = 8; Ok; 1.1] (last bit is port value) Failed [id =
8; FAIL]

IOGetSimDout(int ioIndex)

Send: [IOGetSimDout (1);id=5]

Receive: success [id = 5; Ok; 1](last bit is port value) failure


[id = 5; FAIL]

IOGetSimDin(int ioIndex)

Send: [IOGetSimDin (2);id=6] (ioIndex in parentheses)

Receive: [id = 6; Ok; 1] (last bit is port value) Failed [id = 6;


FAIL]

IOGetSimAout(int ioIndex)

Send: [IOGetSimAout (1);id=7]

Receive: [id = 7; Ok; 1.1] (last bit is port value) Failed [id =
7; FAIL]

IOGetSimAin(int ioIndex)

Send: [IOGetSimAin (1);id=8] (ioIndex in parentheses)

Receive: [id = 8; Ok; 1.1] (last bit is port value) Failed [id =
8; FAIL]

3.9 Change the current mode of the robot

Command: Changemode_IFace (int modeType)

ModeType: mode (0 for manual, 1 for automatic, 2 for remote)

15
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send: [changemode_IFace(0); id = 9] (modeType in parentheses)

Receive: Success[id = 9; Ok] Fail[id = 9; FALL]

3.10 Get the current robot mode

Command: getCurSysMode_IFace ()

Send: [getCurSysMode_IFace(); id = 10]

Receive: Success [id = 10; Ok; 1] (0- manual 1- automatic 2- remote)


fail [ID = 10; FALL]

3.11 Modify global speed

Command: SetGoableSpeed_IFace (int goableSpeed)

Send: [setGoableSpeed_IFace(20); id = 11]

Receive: Success [id = 11; Ok] failed [id = 11; FALL]

3.12 Modify program run mode

Command: SetRunMode_IFace (int modeType)

ModeType 1- Single step 2- continuous

Send: [setRunMode_IFace(1); id = 12]

Receive: Success[id = 12; Ok] Fail[id = 12; FALL]

3.13 Obtain robot running status

Command: getRobotRunStatus_IFace ()

Send: [getRobotRunStatus_IFace(); id = 13]

Receive: Success [id = 13; Ok; 3](PROG_INIT = 0,PROG_RUNNING =


1,PROG_PAUSED = 2, PROG_STOPPED = 3,PROG_ERROR = 4) failed [id = 13;
FALL]

16
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.14 Alarm Reset

Command: resetErrorId_IFace ()

Send: [resetErrorId_IFace(); id = 14]

Receive: Success [id = 14; Ok] failed [id = 14; FALL]

3.15 Gets the alarm error code

Command: getErrorId_IFace ()

Send: [getErrorId_IFace(); id = 15]

Receive: Success[id = 15; Ok; 207](207 is error code here) Fail [id
= 15; FALL]

3.16 Program Run

Command: startRun_IFace ()

Send: [startRun_IFace(); id = 16]

Receive: Success[id = 16; Ok] failed [id = 16; FALL]

Note: this is only valid for the teach pandent program, not for the 3d interface
motion command. Once the 3D interface instruction stops, the instruction needs
to be retransmitted. StartRun cannot be used to restore the suspended 3D
interface movement.

3.17Program stop

Command: stopRun_IFace ()

Send: [stopRun_IFace(); id = 17]

Receive: success [id = 17; Ok] failed [id = 17; FALL]

The stop command stops and empties the command queue

17
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.18 Load program file

命令:loadUserPrjProg_IFace(std::string prjName,std::string
proName)

prjName:工程名

proName:程序文件名

发送:[loadUserPrjProg_IFace("estun","main"); id = 18]

接收:成功[id = 18; Ok] 失败[id = 18; FALL]

Command: loadUserPrjProg_IFace(STD ::string prjName, STD ::string


proName)

PrjName: indicates the project name

ProName: indicates the file name of the program

Send: [loadUserPrjProg_IFace("estun","main"); id = 18]

Receive: success [id = 18; Ok] fail [id = 18; FALL]

3.19 Deregistering a project

Command: UnloadUserPrj_IFace(STD ::string prjName)

PrjName: indicates the project name

Send: [UnloadUserPrj_IFace("estun"); id = 19]

Receive: success [id = 19; Ok] failed [id = 19; FALL]

3.20 Cancellation procedure

Command: UnloadUserProg_IFace(STD ::string prjName, STD ::string


progName)

PrjName project name

ProgName Indicates the program name


18
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send: [UnloadUserProg_IFace("estun","main"); id = 20]

Receive: success [id = 20; Ok]fail [id = 20; FALL]

3.21 Judge whether the robot is in action

Command: IsRobotMoving_IFace ()

Send: [IsRobotMoving_IFace(); id = 21]

Receive: success [id = 21; Ok; 0] (0-stop 1-moving) fail [id = 21;
FALL]

3.21 Check whether a project is loaded

Command: IsProgramLoaded_IFace ()

[IsProgramLoaded_IFace(); id = 21]

Received: [id = 21; Ok] There is a project load failure [id = 21;
FALL] There is no project load

3.22 Setting the PC pointer

SetPc_IFace(int index)

Index: number of program lines

Send: [SetPc_IFace(6); id = 22]

Receive: success [id = 22; Ok] fail [id = 22; FALL]

3.23 Servo enable control

SetMotServoStatus_IFace(int sts_value)

Sts_value: 0 indicates that the function is disabled. 1 indicates


that the function is enabled

Send: [SetMotServoStatus_IFace(1); id = 23]

19
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Receive: success [id = 23; Ok] failed [id = 23; FALL]

3.24 Obtain the current servo status

Command: GetMotServoStatus_IFace ()

Send: [GetServoSts_IFace(); id = 24]

Receive: succeeded [id = 24; Ok; 1] (0 indicates disabled and 1


indicates enabled) Failed [id = 24; FALL]

3.25 Setting the Manual Operating coordinate System

Command: SetCoordType_IFace(int type)

Type: 0- joint coordinate system;1-world coordinate system;2- Tool


coordinate system;3- user coordinate system.

Send: [SetCoordType_IFace(0); id = 25]

Receive: succeeded [id = 25; Ok] failed [id = 25; FALL]

3.26 Obtain the coordinate system of the current point movement

Command: GetCoordType_IFace ()

Send: [GerCurCoordType_IFace(); id = 26]

Receive: success [id = 26; Ok; 1] (0 for joint coordinate system,


1 for world coordinate system, 2 for tool coordinate system, 3 for user
coordinate system) fail [ID = 26; FALL]

3.27 Single axis point motion

JogMotion_IFace(int axis_id, int move_dir)

Axis_id: Control the axis number or coordinate direction

Move_dir: indicates the direction of the axis movement

Send: [JogMotion_IFace(1,1); id = 27]


20
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Receive: succeeded [id = 27; Ok] failed [id = 27; FALL]

3.28 Stop current clicking

Command: JogMotionStop_IFace ()

Send: [JogMotionStop_IFace(); id = 28]

Receive: succeeded [id = 28; Ok] failed [id = 28; FALL]

3.29 Obtaining the global speed value

Command: getGoableSpeed_IFace ()

Send: [getGoableSpeed_IFace(); id = 29]

Receive: success [id = 29; Ok; 20] (current global speed is 20)
failure [id = 29; FALL]

3.30 Multi-axis fixed-point motion (with velocity parameter and no transition


parameter)

Int move_type, STD ::string point_pos, STD ::string param

Move_type: movement type, 1 represents MoveJ,2 represents MoveL


(when the height of the third parameter is not zero, there is a lift
movement, movJ is an axial lift movement, movL is a straight lift
movement)

Point_pos: motion coordinates of each axis, separated by lines.For


SCARA, you only need to enter four coordinates.

Param :(height-speed) the height parameter is when the robot lifts


a specific height, moves above or below the target point, and then moves
to the target point. There is a transition by default. The type is
absolute transition, and the parameter is 50.

[MoveToSelectPoint_IFace(1,"0_0_0_0","0_50"); id = 30]

21
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Reception:

Success [FeedMovFinish: 30] or [ActMovFinish: 30] or [RobotStop: 30] or


[SafeDoorIsOpen:30]

[id = 30; FAIL]

3.31 Multi-axis fixed-point motion (with velocity parameters and transition


parameters)

Int move_type, STD ::string point_pos, STD ::string Param

Move_type: movement type, 1 for MoveJ, 2 for MoveL(when the height


of the third parameter is not zero, there is a lift movement, movJ is
an axial lift movement, movL is a straight lift movement)

Point_pos: motion coordinates of each axis, separated by lines.For


SCARA, you only need to enter four coordinates.

Param :(height-speed-transition value) there is no unit pure number.


The height parameter is when the robot lifts a specific height, moves
above or below the target point, and then moves to the target point.
The transition is an absolute transition, and the transition value is
the transition value of the parameter.

[MoveToSelectPointb_IFace(1,"0_0_0_0","0_50_100"); id = 31]

Reception:

Success [FeedMovFinish: 31] or [ActMovFinish: 31] or [RobotStop: 31] or


[SafeDoorIsOpen: 31]

[id = 31; FAIL]

3.32 Multi-axis motion stops

Command: StopDestPosMotion_IFace ()

Send: [StopDestPosMotion_IFace(); id = 32]

22
ER Series Industrial Robot Three Dimension Visual Debugging Manual

[id = 32; Ok] [id = 32; FALL]

3.33 Point of instruction

TeachSelectPoint_IFace(STD ::string PName, int scope_type)

PName: The name of the location variable

Scope_type: variable scope

TeachSelectPoint_IFace("P10",2); id = 46]

Receive: success [id = 46; Ok] failed [id = 46; FALL]

3.34 Position seeking motor function

Int move_type, STD ::string point_pos, STD ::string Param

Move_type: indicates the movement type. 1 indicates MoveJ, and 2


indicates MoveL

Point_pos: motion coordinates of each axis, separated by lines.For


SCARA, you only need to enter four coordinates.

Param :(speed value _ excessive value _ trigger type _ trigger


number _ trigger value) there is no unit pure number, and the transition
is an absolute transition. The transition value is the transition value
of the parameter. The actual speed is the product of the percentage of
the global speed and the set speed.

Trigger type: 1: TorqTrig trigger 2: Inputing External I/O


triggers

Trigger number: indicates the I/O port number

Trigger value: for torque trigger, is the motor rated torque


ratio;For external IO triggers, is the high and low level of the IO

Send: [MoveWithSearch_IFace (1, 0 _0_0_0_90_0_0 ", "10


_20_2_10_1"); id = 34]
23
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Reception:

Success [FeedMovFinish: 34] or [ActMovFinish: 34] or [RobotStop: 34] or


[SafeDoorIsOpen: 34]

[id = 34; FAIL]

3.35 Setting load Variables

SetPayload_IFace(int scope, STD ::string payloadName)

Scope: domain, 0: system, 1: global, 2: project, 3: program

PayloadName: load variable name

Send: [SetPayload_IFace (1, "PAYLOAD0"); id = 35]

Receive: succeed [id = 35;Ok] Failed [id = 35;FAIL]

3.36 Selecting the Tool coordinate system

SetTool_IFace(int scope, STD ::string name)

Scope: domain, 0: system, 1: global, 2: project, 3: program

Name: specifies the name of the tool coordinate system

Send: [SetTool_IFace(1,"TOOL0");id=36]

Receive: succeed [id=36; Ok] Failed [id=36;FAIL]

3.37 Select the user coordinate system

SetCoord_IFace(int scope, STD ::string name)

Scope: scope

Name: indicates the name of the user coordinate system

Send: [SetCoord_IFace (0, "USERCOOR0"); id = 37]

Receive: succeed [id = 37;Ok] Failed [id = 37;FAIL]


24
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.38 Set the robot to stop reporting errors

SetRTtoErr_IFace(STD ::string strvalue, int errNum)

Strvalue: user-defined alarm information

ErrNum: indicates the user-defined alarm number

Send: [SetRTtoErr_IFace (" testerror100 ", 9999); id = 38]

Receive: succeed [id = 38;Ok] Failed [id = 38;FAIL]

3.39 GetCurWPosV3 Obtain the location with CFG value

Send: [GetCurWPosV3 () id = 3]

Feedback: [Id = 3; Ok; 0 0 0 0 0 0 0 2304.000 0.0000 2025.500 0.0000 90.000


0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000]

Note: the values after Ok respectively represent the robot world coordinates mod
cf1 cf2 cf3 cf4 cf5 cf6 X Y Z A B C (refer to the robot manual for specific meanings),
separated by Spaces

3.40 GetVarV3 Gets the variable value

1: Get integer data

Send: [GetVarV3 (1, "INT0", 1); id = 3]

Feedback: [Id = 3; Ok; 45], [Id = 3; Fail]

Description: Parameter 1: type parameter 1-- integer (INT);2 -- Floating point


(REAL);3 - type of APOS;4 - CPOS type;5 - String type (string);6 - Array type; 8 -
TOOL variables;9 - USERCOOR variables

Parameter 2: variable name

Parameter 3: variable field

The value after Ok


25
ER Series Industrial Robot Three Dimension Visual Debugging Manual

2: Get floating point data REAL

Send: [GetVarV3 (2, "RealTimeX", 1); id = 3]

Feedback: [Id = 3; Ok; 954.550]

Note: same as above

3: Get the APOS data type

Send: [GetVarV3 (3, "AP0", 3); the id = 3]

Feedback: [Id = 3; Ok; 3.000 11.960 58.983 0.0000 19.056 183.000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000], [Id = 3; Fail]

Note: Same as above

The values after Ok are A1, A2, A3, A4, A5, A6, A7, a8, a9, a10, a11, a12,
a13, a14, a15, a16

4: Get the CPOS data type

Send: [GetVarV3 (4, "CP0", 3); the id = 3]

Feedback: [Id = 3; Ok; 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 1.000 1300.000-68.139-300.000 0.0000 0.0000 180.000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000

Note: Same as above

The values after Ok respectively represent the robot world coordinates mod cf1
cf2 cf3 cf4 cf5 cf6 x Y Z A B C (refer to the robot manual for specific meanings),
separated by Spaces

5: Get String

Send: [GetVarV3 (5, "STRING0", 1); the id = 3]

Feedback: [Id = 3; Ok; VVFFG], [Id = 3; Fail]

26
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Note: same as above

6: Get array type variables

Send: [GetVarV3 (6, "BBB", 1); the id = 3]

Feedback: [Id = 3; Ok; 95.500 38.500 83.500 23.400 83.500 94.500], [Id = 3; Fail]

Note: Ok is the value of array

8: Get the TOOL variable

Send: [GetVarV3 (8, "TOOL0", 1); the id = 1)

Feedback: [id = 1; Ok; 1.000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 ], [Id =
1; Fail]

Id xy z a b c M Mx My Mz Ixx Iyy Izz Ixy Ixz Iyz

9: Get the Usercoord variable

Send: [GetVarV3 (9, "USERCOOR0", 1); the id = 1)

Feedback: [id = 1; Ok; 1.000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000], [ID = 1; Fail]

UserCoord id x y z a b c

3.41 SetVarV3 Sets the variable value

1: Sets integer data

Send: [SetVarV3 (1, "INT0", "65", 1); id = 3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameter 1: Type parameter 1-- integer (INT);2 -- Floating point (REAL);3 -


type of APOS;4 - The CPOS type (the current CFG value is used instead of the

27
ER Series Industrial Robot Three Dimension Visual Debugging Manual

CFG value).5 - String type (string);6 - Array type;7-- CPOS type (including CFG
value);8 - Type of the Tool variable (payload is not included).9 -- UserCoord
variable type;10 - Tool variable type (payload)

Parameter 2: variable name

Parameter 3: Variable value, type string

Parameter 4: Variable field

The value after Ok

2: Sets the floating point data REAL

[SetVarV3 (2,"RealTimeX","234.44",1);id=3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Note: same as above

3: Set the APOS data type

Send: [SetVarV3 (3, "AP0", "13.000 _111. 960 _158. 983 _10. 0200 _191. 056
_18. 000", 3); id = 3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

Parameter
3:1_a2_A3_A4_A5_A6_A7_A8_A9_A10_A11_A12_A13_A14_A15_A16, the
maximum number of values is 16. The smaller parameter must be a floating point
number supplemented by 0 by default.

4: Set the CPOS data type

Send:

28
ER Series Industrial Robot Three Dimension Visual Debugging Manual

[SetVarV3 (4, "CP0", "1 _13. 000 _111. 960 _158. 983 _10. 0200 _191. 056 _18.
000", 3); id = 3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters as above

Parameter 3: the maximum number of mod_X_Y_z_A_b_C_a7_


A8_A9_A10_A11_A12_A13_A14_A15_a16 parameters is 16 and the minimum
number is 7 (mod_X_Y_z_A_b_c). The minimum number of parameters is
supplemented by 0 by default and must be floating point numbers.

5: Sets the String type

[SetVarV3 (5,"STRING0"," CVDSDF ",1);id=3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Note: same as above

6: Sets array type variables

Send: [SetVarV3 (6, "BBB", "1.1 _2. 2 _3. 3 _4. 4 _5. 5, 1); id = 3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

Parameter 3: must be a floating point number

7: Set the CPOS to contain the CFG value

Send: [SetVarV3 (7, "CP0", "1 _2_3_4_5_6_7_13. 000 _111. 960 _158. 983 _10.
0200 _191. 056 _18. 000", 3); id = 3]

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:
29
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Parameters 1 and 2 are the same as above

Parameter 3: The maximum number of


mod_CF1_CF2_CF3_CF4_CF5_CF6_X_Y_z_A_b_C_A7_
A8_A9_A10_A11_A12_A13_A14_A15_A16 values is 23. The minimum number
of parameters is 13 (mod_ cf1_CF2_CF3_cf4_cf5_CF6_X_Y_z_A_b_c). The
minimum number of parameters is supplemented by 0 by default and must be
floating point numbers.

8: Set the TOOL variable (without the load parameter)

Send: [SetVarV3 (8, "TOOL0", "1 _2_3_4_5_6_", 1); id = 1)

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

Parameter 3: the number of x_y_z_a_b_c values is six

9: Set the USERCOORD variable

Send: [SetVarV3 (9, "USERCOOR0", "1 _2_3_4_5_6", 1); id = 1)

Feedback: [Id = 1; Ok], [Id = 1; Fail]

Note: Parameters 1 and 2 are the same as above

Parameter 3: the number of x_y_z_a_b_c values is six

10: Set the TOOL variable (with load parameters)

Send: [SetVarV3 (8, "TOOL0", "1 _2_3_4_5_6_7_8_9_10_11_12_13_14_15_16",


1); id = 1)

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

30
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Parameter 3: x_y_z_a_b_c_M_Mx_My_Mz_Ixx_Iyy_Izz_Ixy_Ixz_Iyz The


number of values is 16

11: Sets the TOOL variable (without the load parameter) to write files

Send: [SetVarV3 (11, "TOOL0", "1 _2_3_4_5_6_", 1); id = 1)

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

Parameter 3: the number of x_y_z_a_b_c values is six

12: Set the USERCOORD variable and write the file

Send: [SetVarV3 (12, "USERCOOR0", "1 _2_3_4_5_6", 1); id = 1)

Feedback: [Id = 1; Ok], [Id = 1; Fail]

Note: Parameters 1 and 2 are the same as above

Parameter 3: the number of x_y_z_a_b_c values is six

13: Set the TOOL variable (with load parameters) and write files

Send: [SetVarV3 (13, "TOOL0", "1


_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16", 1); id = 1)

Feedback: [Id = 3; Ok], [Id = 3; Fail]

Description:

Parameters 1 and 2 are the same as above

Parameter 3: x_y_z_a_b_c_M_Mx_My_Mz_Ixx_Iyy_Izz_Ixy_Ixz_Iyz The


number of values is 16

3.42 MovePointV3 Robot movement interface

1: joint motion Joint position

31
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send: [MovePointV3 (1, "0.0 _0. 0 _0. 0 _0. 0 _90. 0 _0. 0", ""," 0 _100_100 "); id
= 3]

Feedback:

Success [FeedMovFinish: 34] or [ActMovFinish: 34] or [RobotStop: 34] or


[SafeDoorIsOpen: 34]

[id = 34; FAIL]

Description:

Parameter 1: is the movement type, 1 - joint movement joint position;2--


coordinate system motion coordinate system position;3-- coordinate system
position of joint motion

Parameter 2: coordinate value, which must be a floating point number

Parameter 3: CFG value, null if not "", used in coordinate system position.For
example, "mode_cf1_cf2_cf3_cf4_cf5_cf6", for example, "1_0_0_0_0_0_0".(If
SCARA exists in cf4 = 99, it represents the shortest rotation path of 4-axis)

Parameter 4: param: (height _ speed _ Excessive parameter _ position


accuracy (optional))

Height parameter: in the joint motion shutdown position, namely, type 1,


height parameter is invalid;Height parameter refers to the robot lifting a specific
height, moving above or below the target point, and then moving to the target
point. When the height parameter is 0, there is no lifting action and the robot
moves directly to the target point.

Speed parameter: the product of the global speed percentage and the set
speed value.

Transition parameter. Type is absolute transition.

32
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Position accuracy (customization function for high precision requirements,


contact ESTUN) : 0 or no setting of the parameter is given in place, non-zero
actual position (the value is the position accuracy, for example, 0.05 means the
position accuracy is 0.05), when the transition value is not 0, the position accuracy
parameter is invalid, and the default position is given.→→

2: the coordinate system moves the coordinate system position

Send: [MovePointV3 (2, "2100.0 _ 100.0 _1700. 0 _0. 0 _0. 0 _0. 0", ""," 10
_100_100 "); id = 3]

Feedback:

Success [FeedMovFinish: 3] or [ActMovFinish: 3] or [RobotStop: 3] or


[SafeDoorIsOpen: 3]

[id = 3; FAIL]

Note: Same as above

3: coordinate system position of joint motion

Send: [MovePointV3 (3, "2100.0 _100. 0 _1700. 0 _0. 0 _0. 0 _0. 0", ""," 10
_100_100 "); id = 3]

Feedback: success [FeedMovFinish: 3] or [ActMovFinish: 3] or [RobotStop:


3] or [SafeDoorIsOpen: 3]

[id = 3; FAIL]

Note: Same as above

3.43 GetToolV3 Gets the current tool

Send: [GetToolV3 () ID = 3]

Feedback: [id = 3; Ok; TOOL0, 1], [ID = 3; Fail]

Note: Ok is followed by the current tool variable TOOL0, and the tool variable
domain (1- global) tool is a system variable, can only be global variables

33
ER Series Industrial Robot Three Dimension Visual Debugging Manual

3.44 GetUserCoordV3 Gets the current user coordinates

Send: [GetUserCoordV3 () ID = 3]

Feedback: [id = 3; Ok; USERCOOR0, 1], [id = 3; Fail]

Note: Ok is followed by the current user coordinate variable USERCOOR0, and


the field (1-global) of the user coordinate variable. User coordinates are system
variables and can only be global variables

3.45 MoveFinsih movement task completion signal

Execution process:

1: execute MovePointV3 to deliver the movement command.

2: The robot performs the motion command, the robot moves until the end,
and sends [FeedMovFinish:XX](referring to the given position) or
[ActMovFinish:XX](referring to the actual position).

Note: [FeedMovFinish:XX]/[ActMovFinish:XX] will not be sent if the movement is


stopped or paused.The [MoveFinsih:XX] signal is sent only when the movement is
actually completed

3.46 GetSoftLimits Gets the soft limit of the current robot's axis

Send: [GetSoftLimits (6), id = 3]

Feedback: [id = 3; Ok; -10 20], [id = 3; Fail]

Description: Parameter 1: shaft number (> 0)

Ok is followed by the negative soft limit of the joint and the positive
soft limit of the joint of the current axis in degrees.

3.47 SetSoftLimits obtains the axis soft limit of the current robot

Send: [SetSoftLimits (6,-10,20);id=3]

Feedback: [id = 3; Ok], [id = 3; Fail]


34
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Description: Parameter 1: shaft number (> 0)

Parameter 2: joint negative soft limit, unit degree

Parameter 3: positive soft limit of joint, unit degree

3.48 setMultiIOValue Set the multi-I/O interface

Format: setMultiIOValue_Face (" IostrValue, "IoStartIndex Iotype, IoNum)

Parameter 1: IostrValue: indicates the port value of each I/O.Note that the port
value must be a floating point number

Parameter 2: IoStartIndex: indicates the starting I/O port number

Parameter 3: Iotype: indicates the IO type (14 for virtual Aout,13 for virtual Ain, 12
for virtual Dout,11 for virtual Din, 2 for actual Aout, and 1 for actual Dout)

Parameter 4: IoNum: indicates the number of I/OS

Send:

[setMultiIOValue_Face (" 1.1 _2. 2 _3. 3 _4. 4 _5. 5 _6. 6 _7. 7 _8. 8 _9. 9 _10. 0
", 1,14,10); id = 11]

Ack: success [id = 11; Ok]

[id =11;Fail]

3.49 GetMultiIOValue Reads the value of the multiple I/O interface

Format: getMultiIOValue_Face (Iotype IoStartIndex, IoNum)

Parameter 1: IoStartIndex: indicates the starting I/O port number

Parameter 2: Iotype: indicates the IO type (14 for virtual Aout,13 for virtual Ain, 12
for virtual Dout,11 for virtual Din, 2 for actual Aout,1 for actual Dout, and 0 for
actual Din)

Parameter 3: IoNum: indicates the number of I/OS

35
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Send:

[getMultiIOValue_Face,14,10 (1) id = 12]

Ack: 1, the successful [id = 12, Ok, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.0]

1、 [id =12; Fail]

3.50 Clear3dCmds This command is used to clear the 3D interface cache

Command: Clear3dCmds ()

Send: [Clear3dCmds(); id = 19]

Receive: succeeded [id = 19; Ok]

Visual Configuration introduction

Visual configuration description:

Visual Settings is located in General Settings -> Visual Settings, as shown in


Figure 4-1.

Figure 4-1 Visual Settings screen

36
ER Series Industrial Robot Three Dimension Visual Debugging Manual

Camera device Type: Click to select 2D or 3D, select 3D here.

Camera IP: Indicates the IP address of the camera. The default connected
camera IP address is 192.168.6.230.After power-on, the robot controller connects
to the server at the IP address as a client.

Camera port: This property is the port number of the camera serving as the
server. The default port number is 5000.

Visual type: Click to select static or dynamic, select static here.

3d visual debugging

This part introduces the visual function debugging of robot as a visual


client.SocketTest acts as a debug server.

5.1 Heartbeat Communication Description

When the external camera is connected to the robot, the robot needs to
send "" (hexadecimal 0x20, space character) to the server every 18 seconds
without sending data.

If the robot fails to send data, it will disconnect the current connection and
reconnect to the server.

5.2 SocketTest Debugging Assistant

SocketTestDlg is a comprehensive TCP, UDP protocol debugging software


developed by Zhuolan Company.The autonomous controller robot vision function
is selected by TCP protocol.The interface of the debugging software is shown in
Figure 5-1.

Figure 5-1 Visual configuration page

37
ER Series Industrial Robot Three Dimension Visual Debugging Manual

5.3 Commissioning Procedure

1. Connect the local computer to the robot.

2. Check the IP address and port number connected to the robot, change
the IP address of the local computer to the IP address connected to the
robot, start socketTestdlg. exe, set the working mode to TCP server, and
set the local port to the port set by the robot.

3. The robot needs to send a "" (hexadecimal 0x20, space character)


character every 18 seconds to the assistant heartbeat.

4. Then send the above various commands in scoketTest and receive the
corresponding responses.

Example: Get the current joint coordinates

38
ER Series Industrial Robot Three Dimension Visual Debugging Manual

39

You might also like