Regal Robotics User Manual
Regal Robotics User Manual
Regal Robotics User Manual
ROBOT CONTROLLER
USER MANUAL
V5.5
Robert user manual
Contents
Chapter 1 Notes of safety ..............................................................................................................................15
9.4.1Global variable settings for left and right hands ........................................................ 194
15.3.2 Use sensors and the external dot function to follow the trail ............................... 270
22.8.1 Scenario 1 -- Feeding point is fixed and palletized layer by layer ..................... 362
22.8.2 Scenario 2 -- The reclaiming point is fixed and the discharging cargo point is
highly compensated ................................................................................................................... 365
22.8.3 Scenario 3 -- Discharging cargo point is fixed, corrected layer height ............. 366
22.8.4 Scenario 4 -- Reclaiming point is fixed, fix the height of the discharging cargo
point, and vertical direction ..................................................................................................... 368
22.8.5 Scenario 5 -- The reclaiming point is fixed, the overall rotation of the
discharging cargo point is 180 °, XY translation compensation...................................... 369
22.8.6 Scenario 6 -- The reclaiming point is fixed, and the workpiece is rotated 90
degrees at the reclaiming point ............................................................................................... 372
24.2.6 Four points determine the intersection of two straight lines ................................ 412
25.2 Use Types and Cases of Arc State searching .............................................................. 422
25.2.6 Four points determine the intersection of two straight lines ................................ 426
Chapter 2 Installation
2.1 Installation of teach pendant
The connecter of the cable of teach pendant is shown in the figure below.
Please connect the male connector to the female connector on the panel of cabinet.
3. Install the control cabinet in a location from which you can easily inspect if the door is open.
4. Install the control cabinet at least 500mm from the nearest wall to allow maintenance access.
same direction, be sure at least 100 mm space distance between different grades of cables. The
metal part of the controller is directly connected to the back plate by using the conductor as the
back plate (using the zinc plate which is not sprayed). Be sure the separation of different grades
of cables. If the cables of different grades must be crossed, be sure the crossing of 90 degrees.
2. Differential signal line (CAN/RS485/RS422) uses shielded twisted pair cables. The shielding layer
must be linked to 0V at both ends of the cable, as shown in the figure.
feedback line is 20m. The signal line of the code line is a group of twisted pair wires, the power
line is a group of twisted pair wires, and the battery line is a group of twisted pair wires.
⚫ Do not frequently turn ON/OFF the power supply. When the continuous operation of ON/OFF
power supply is required, be sure less than once per minute. Since there is capacitance in the
power supply part of the servo unit, frequent ON/OFF will result in the performance degradation
of the main circuit components of the servo unit.
⚫ Confirm the power and voltage of the switching power supply in the control system. Be sure
that the voltage of controller, Teach pendent, and IO module is not less than 50W. The specific
power supply depends on the load of IO module.
⚫ Suggest that the switching power supply for servo system and control system are used separately
to prevent the occurrence of servo interference on the control system.
⚫ Super six types of shielded wire are needed for the control system and servo connection.
⚫ If an axis corresponds to a servo, the wire needs to be connected in the order of the axes.
⚫ Please connect in the order of controller-servo-IO board.
The connection definition diagram of Teach pendent
• Once the configuration of the robot is completed and restarted, then set the key parameters of the
robot, such as robot parameters, DH parameters, Cartesian parameters, etc. After then, perform
power up and other operations.
If you want to configure the parameters manually instead of using the configuration wizard, here are
the complete parameter configuration steps:
1. Switch permission to “Administrator” and the default password is 123456.
2. Under the menu "Setting-Robot Parameters-Robot Configuration", configure the number of robots,
the communication cycle of robots, the type of robots, and the type of servo (Make sure that the type
of robots is correct, otherwise the robot will not move normally)
The servo list displays the number of servo models read after the current controller is turned on. This
interface can set the communication cycle.
Robert user manual
Robot servo configuration can configure the number of robots, robot type, number of external axes
(EXT), and servo options.
Slave axis setting, you can set the number of slave axis and slave axis servo.
3. In "Settings-IO-IO configuration", configure the serial port analog IO type and the number of
virtual IOs. Normal EtherCAT IO does not need to be set;
Robert user manual
Note: When using Huatai IO, the ENI file is slightly different.
4. Restart the system (The modification of the robot configuration becomes effective after
restarting);
5. In the DH parameter interface, we provide the preset function for robot. If your robot type is in
the dropdown list, the setting of each parameter is quick and easy through the preset function.
6. The selection of robot coordinate is based on actual assembly (Ceiling type installation share
same operation habits with floor type installation)
Robert user manual
7. In the DH parameter interface, after clicking “preset robot” button on the top left corner, you can
select the type of robot that has been adapted. After selecting, the DH parameters and joint
parameters of the robot are automatically filled out.
8. If select to preset robot, the zeros must be modified manually.
9. If there is no such robot type in the option, please fill in the parameters manually according to the
following steps.
10. In the menu "Settings-Robot parameters-Jog parameters", fill out all parameters and set the limit
of each joint from -3000 to 3000; (Please JOG individually each axis of the robot to check whether
the positive direction of each axis of the robot is correct or not)
Robert user manual
J3 anticlockwise
J4 clockwise
11. In the menu "Setting-Robot Parameters-Zero Position", set the zero of the robot. If five-axis is
vertically downwards, select "Five-axis Vertical" in the last line of the DH parameter interface. If
five-axis is horizontal, select "Five-axis Horizontal".
12. In the menu "Setting-Robot Parameters-Joint Parameters", the limit position of each axis joint is
set according to the specific working environment.
13. In the menu "Setting-Robot Parameters-DH Parameters", fill in the parameters according to the
actual parameters of the robot. The acceleration and deceleration can be set to 4-6 times of the
maximum positive speed and the maximum negative speed.
14. Check whether the Cartesian parameters, manual speed and operation parameters are correct or
not.
Robert user manual
When performing palletizing operations, the incremental value for shifting can be easily programmed
by setting user coordinates on a pallet.
Robert user manual
Home button
Reserved
Down side
Right side
Key switch
Emergency button
Wheel knob
Robert user manual
This section provides an overview of the various parts of the program interface. The left side are the
function keys and the other functions are shown in the table.
Open the
administrator/technician/operator switch
interface.
Mode status: Switch by rotating {Mode Select Key}, includes Teach Mode, Remote Mode, and Play
Mode.
Servo status: After starting the program, press the {Mot} key, then switch "Servo Ready" status to
"Servo Stop" status.
In the teach mode, when press the {DEADMAN} key or run the program is run in the "reproduction
mode" or the "cycle mode", the servo status is switched to the "servo run" status.
Program status: the current status of running program. When run program with single-step in teach
mode or run program in "reproduction mode", "cycle mode", the status of program is switched to
“running”.
Manual speed: Increases or reduces the manual speed by pressing {V+} {V-}, at the bottom of the
Teach pendent
Increase speed: Each time {V+} is pressed, the manual speed changes in the following order: inch
1% → inch 2% → low 5% → low 10%-medium 25% → medium 50% → fast 75%-fast 100%
Reduce Speed: Each time {V-} is pressed, the manual speed changes in the following order: fast
100% → fast 75% → medium 50% → medium 25% low 10% → low 5% → inch 2% → inch
1%
Robot status: Press {Rob} key at the bottom of the Teach pendent.
There are two status "Robot a" and "Robot b" respectively.
Tool status: Press {Jog} key at the bottom of the demonstrator.
There are nine states of "tool 1", "tool 2", "tool 3", "tool 4", "tool 5", "tool 6", "tool 7",
"tool 8" and "tool 9" respectively.
Robert user manual
5.4.2 User
There are three user roles in the system, “Operator”,” Technician”,” Administrator”.
To switch different users, click the drop-down box of switching user and
choose the corresponding user, and enter the password (the operator does not need the password).
Administrator interface
To switch user, click switching users and choose another user. Enter password
(the operator does not need the password) and log in.
To change password for the technician and administrator, please click the lower right button.
5.4.2.2 Technician operate interface
The technician can perform the following operations:
Switch interface; switch mode; create, rename, delete, and open programs; insert, modify, and delete
instructions; run programs; view all states; calibrate tool parameters; calibrate user coordinates; set
IO; set remote programs; set reset points; Set all process parameters; view log; export log; upgrade
program.
Technician interface.
If you change the user, click to select another user. Enter the password
(except the operator) and log in.
If you change the password, click the button in the lower right corner to change it.
Robert user manual
Switch interface; switch mode; open program; run program; view all status; view log; export log.
If you change the user, click to select another user. Enter the password and
log in.
Operator interface
To switch user roles, click switching users and choose another user. Enter password (the operator
does not need the password) and log in.
To change password, click the lower right button.
5.4.3 Settings
●Main interface
The setting interface includes "Tool Calibration", "User coordinate, "system Setup", "Remote Proc",
"Reset point ", "IO", "Robot parameter", "Positioner", “an computer cooper”, "Modbus settings",
"Background task", "Network settings", "Data upload", "Program self-start", and "Operating
parameters". To enter these 15 interfaces, please select the corresponding icon in the main content
area of the setting interface.
Robert user manual
Set interface
5.4.3.1 Tool Calibration
The main interface for tool calibration contains parameter settings for offset around each axis.
Tool calibrations
⚫ Operating area
Click the "7 Point " button in the bottom operation area to open the " Seven Points Calibration"
interface.
Click the "20 Point " button in the bottom operation area to open the "Twenty Points Calibration"
interface.
Click the “Return” button in the bottom operation area to return to the “Settings” interface
By clicking {Return} button at the bottom of operation area, return to the main interface of Tool
Calibration.
Two-point calibration
User calibration interface: Each position has corresponding tool status and action button. By clicking
{Calibration} button, the status can be changed to "Calibrated". By clicking {Calculate} current
status can be confirmed to “Calculated”.
System settings
Robert user manual
● Operating area
By clicking {Return} button at the bottom of operating area, return to "Setting" window.
5.4.5.1 Version upgrade
In the operation panel window, you can conveniently view the controller version and the version of
the teaching box, and perform version detection and upgrade operations, such as
Version upgrade
⚫ Operating area
By clicking {Update} button at the bottom and inserting U disk, perform the robot version upgrading.
Click the {Upload File} button at the bottom, insert the U disk, put the files to be uploaded in the
upgrade folder, and upload files such as eni.
By clicking {Return} button at the bottom, return to "System Setting" window.
5.4.5.2 Time setting
In the operation panel window, you can easily view the system time and modify the system time,
such as:
Robert user manual
Time setting
● Operating area
By clicking {Modify} button at the bottom, modify the system time and date of the robot.
By clicking {Return} button at the bottom, return to "System Setting" window.
5.4.5.3 IP setting
The system can be easily viewed in the operation panel window
Current connected ip, connection ip, modify controller ip, modify controller gateway, local ip,
modify teaching box ip, modify teach pendant gateway.
⚫ Operating area
By clicking {Reset network} button on the right side, modify the controller IP of the robot.
By clicking {Return} button at the bottom, return to "System Setting" window.
Robert user manual
Click the {Exporter} button and insert the U disk to export the program.
Click the {Importer }button, and the program can be imported when the U disk is inserted.
Click the {One click Backup System} button and insert the U disk to back up the system
with one-key.
Click the {Modify Teach pendent configuration} button, under inserting the U disk, you can
modify the teaching box configuration
Click the {Export Controller} button and insert the U disk to export the controller
configuration.
Click the {Import Controller} button, and you can import the controller configuration when
the U disk is inserted.
Click the {Export Log} button, and after inserting the U disk, you can export the log of the
controller and the teaching box.
Click the {Update database} button, after inserting the U disk, you can export the log of
the controller and the teaching box.
5.4.5.12 More settings
Open {More Settings}.
Robert user manual
Click {Modify}, you can switch between Chinese and English in the command language
The interface language selection can display the interface in Chinese and English
Process selection can switch between general process and special process
Whether to prohibit the use of the robot home button is turned on to disable the home button.
⚫ Operating area
By clicking {Return} button at the bottom, return to "System Setting" window.
5.4.8 IO
Robert user manual
The IO main interface includes "IO Setup", "IO Function", "IO Reset", "Enable IO", "Port name"and
"Alarm Message".
IO
⚫ Operating area
By clicking {Return} button at the bottom, return to "Setting" window.
5.4.8.1 IO configuration
The IO configuration interface contains the settings of "serial port type", "serial port IO", and
"EtherCatIO". As shown.
IO configuration
⚫ Operating area
Click the {Return} button at the bottom to return to the "peripheral settings" interface.
Robert user manual
Click the {Modify} button at the bottom to modify the IO type and other data.
5.4.8.2 IO function
{IO function} includes {Function selection}, {State prompt }, and {safe}.
IO features
⚫ Operating area
Click on {Modify} button at the bottom to modify the IO function of the robot.
By clicking {Return} button at the bottom, return to "Robot Parameters" window.
⚫ Operating area
By clicking {Return} button at the bottom, return to "IO" window.
By clicking {Modify} button at the bottom, modify the IO sequence number in prompt status.
Security setting
⚫ Operating area
By clicking {Return} button at the bottom, return to "IO" window.
Robert user manual
By clicking {Modify} button at the bottom, modify related parameters in the security setting.
5.4.8.3 IO Reset
The IO reset interface includes IO reset, mode switching stop, and program error stop. As shown:
⚫ Operating area
By clicking {Return} button at the bottom, return to "Peripheral Setting" window.
By clicking {Modify} button at the bottom, modify the IO port.
5.4.8.3.1 IO Reset: take effect when using IO to reset the robot in remote mode
5.4.8.3.2 Switch mode reset: take effect when switching mode during operation
5.4.8.3.3 Program error reset: effective when the robot reports an error during operation
5.4.8.4 Use IO
This function uses the IO connection enable key. After using this function, the original enable key of
the teaching box becomes invalid.
Robert user manual
Robot parameters
⚫ Operating area
By clicking {Return} button at the bottom, return to "Setting" window.
⚫ Operating area
By clicking {Range Calibration} button at the bottom, calibrate the robot's range of XYZ three-axis.
By clicking {Return} button at the bottom, return to "Robot Parameter" window.
5.4.9.3 DH parameters
The DH parameter setting interface is divided into left and right parts. The left half is the reference
diagram, which shows the meaning of each parameter of L1-L7. The right half is the parameter
modification area.
Robert user manual
Joint parameters
⚫ Operating area
Click on {Modify} button at the bottom to modify the robot's point speed.
Click on {Return} button at the bottom to return to the {Robot Parameters} window.
Click the {Demo} button in the lower right corner to see the specific details.
Robert user manual
5.4.9.4.1Multi-turn value
Cartesian parameters
⚫ Operating area
Click the {Modify} button at the bottom to modify the Cartesian parameters of the robot.
Click the {Return} button at the bottom to return to the "Robot Parameters" interface.
Robert user manual
Jog speed
⚫ Operating area
Click the {Modify} button at the bottom to modify the jog speed of the robot.
Click the {Return} button at the bottom to return to the "Robot Parameters" interface
Movement parameters
⚫ Operating area
Robert user manual
Robot configuration
⚫ Operating area
Click the {Modify} button at the bottom to modify the configuration parameters of the slave station.
Click the {Return} button at the bottom to return to the "Robot Parameters" interface.
For the convenience of setting, we have added the {Robot} button, which can configure the robot
type and the number of external axes.
Robert user manual
5.4.9.8.2 Robot
Servo parameters
⚫ Operating area
Click the {Modify} button at the bottom to modify the servo parameters.
Click the {Return} button at the bottom to return to the "Robot Parameters" interface.
5.4.9.10 NP parameters
The interface is the NP parameter interface.
NP parameters
⚫ Operating area
Robert user manual
The main interface of external axis parameters contains four operation buttons: "external axis
calibration", "zero position", "joint parameters" and "jogging speed".
Zero position
⚫ Operating area
Click on {Back} button at the bottom to return to the {External Axis Parameters} window.
Joint parameters
⚫ Operating area
Click on {Return} button at the bottom to return to the {External Axis Parameters} window.
Click the {Modify} button at the bottom to modify the external axis parameters.
Robert user manual
Joint parameters
⚫ Operating area
Click the {Return} button at the bottom to return to the main interface of external axis parameters.
Click the {Modify}button at the bottom to modify the jog speed parameters.
devices. In this way, the external device can read the program on the controller and select the desired
program to complete the target task.
The interface includes two interfaces: Modbus parameter and Modbus program.
modbus parameters
⚫ Operating area
Click the {Return} button at the bottom to return to the main setting interface.
Modbus settings
⚫ Operating area
Click the {Return} button at the bottom to return to the main interface of Modbus parameters.
Robert user manual
5.4.11.1.1 RTU
5.4.11.1.2 TCP
Modbus settings
⚫ Operating area
Click the {Return} button at the bottom to return to the main interface of Modbus parameters.
⚫ Operating area
Click the {Return}button at the bottom to return to the main setting interface.
Click the {New} button at the bottom to create a new background task program.
Click the {Open} button at the bottom to open the background task program.
Click the {Delete} button at the bottom to delete the background task program.
Click the {Rename} button at the bottom to rename the background task program.
Click the {Copy} button at the bottom to copy the background task program.
Click the {Previous Page} button at the bottom to display the previous background task program.
Click the {Next Page} button at the bottom to display the background task program on the previous
page.
⚫ Operating area
Click the {OK} button at the bottom to insert instructions.
Click the {Cancel} button at the bottom to return to the background task program interface.
⚫ Operating area
Click the {Return} button at the bottom to return to the main setting interface.
Click the {Modify} button at the bottom to modify the interface parameters.
Support FTP protocol, you can send description files, data files, you can choose to send data year,
month, day, hour, minute, second, IP address, MAC address, status code, error code, speed, torque,
load and other parameters
⚫ Operating area
Click the {Return} button at the bottom to return to the main setting interface.
Click the {Modify} button at the bottom to modify the data format.
Click the {Data Format} button at the bottom to set the data content and data name.
⚫ Operating area
Robert user manual
Click the {Return} button at the bottom to return to the main setting interface.
Click the {Modify} button at the bottom to set the program auto-start parameters.
⚫ Operating area
Click the {Return} button at the bottom to return to the main setting interface.
Click the {Modify} button at the bottom to set the operating parameters
5.4.17 Process
The process interface includes "welding settings", "palletizing settings", "vision process", "laser
cutting process", "tracking process", "special craft", "conveyor tracking process", "Polishing
process", "spraying process", "Electric Approval" interfaces. Note: The tracking process entry is
moved to the welding process
To enter this interface, please select the corresponding icon in the main content area of the process.
Process interface
Robert user manual
Simple palletizing
⚫ Operating area
Click the {Return} button at the bottom to return to the "Palletizing Parameters" interface.
Click the {Start Setting} button at the bottom to start a simple palletizing setting guide.
Click the {Clear Parameters} button at the bottom to clear the simple palletizing parameters of
the current process number.
Click the {Copy Parameters} button at the bottom to copy the simple palletizing parameters of
the current process number to another process number.
a) Gripper settings
Robert user manual
b) Position settings
Complete palletizing
⚫ Operating area
Click the {Return} button at the bottom to return to the "Palletizing Parameters" interface.
Click the {Start Setting} button at the bottom to complete the palletizing setting wizard.
Click the {Clear Parameters} button at the bottom to clear the complete palletizing
parameters of the current process number.
Robert user manual
Click the {Copy Parameters} button at the bottom to copy the complete palletizing
parameters of the current process number to another process number.
c) Gripper setting
d) Pallet setting
Robert user manual
e) Position settings
f) Workpiece parameters
Robert user manual
g) Approaching parameters
h) Overlap mode
Robert user manual
i) Plane mode
Generate file
⚫ Operating area
Click the {Return} button at the bottom to return to the "Palletizing Parameters" interface.
Click the {Next Page} button at the bottom to enter the next page.
Robert user manual
exhaustion detection time", "Advance air delivery time", "Delayed air shutdown time" and other
operations, as shown in the figure.
Welding equipment
Arc detection time: from starting of welding, send out the starting arc signal and need to detect
whether there is an arc signal or not.
Arc detection confirm time: to prevent the disturbance of the signal caused by dust and other
obstacles, delay a period of time to ensure the arc signal transmission.
Arc exhaustion detection time: at the end of welding, give an arc extinguishing signal, until the
actual arc extinguishing time;
Ahead Time of Air Supply: during welding, in order to prevent the welding wire from being
oxidized by air, protective gas needs to be sent. It can't wait until welding, so it needs to be sent in
advance.
Delay Time of Close Air: after the welding is finished and the arc extinguishing signal is sent out,
the welding wire has not been cooled. If the shielding gas is stopped at this time, oxidation will still
occur, so the gas needs to be closed later.
⚫ Operating area
Click on {Return} button at the bottom to return to the {Peripheral Settings} window.
Click on {Modify} button in the lower right corner to modify the welding parameters, types and
other data.
Manual operation
⚫ Operating area
Click the {Return} button at the bottom to return to the "Welding Parameters" interface.
Robert user manual
Weaving parameters
⚫ Operating area
Click on {Return} button at the bottom to return to the {Peripheral Settings} window.
Click on {Modify} button at the bottom to modify the swing welding parameters and other data.
Welding IO settings
⚫ Operating area
Click on {Return} button at the bottom to return to the {Welding Settings} window.
Click on {Modify} button at the bottom to modify the welding IO and other data.
⚫ Operating area
Click the {Return} button at the bottom to return to the "Welding Settings" interface.
Click the {Save} button at the bottom to set welding machine parameters
⚫ Operating area
Click the {Return} button at the bottom to return to the "Process" interface.
Position debugging
⚫ Operating area
Click the {Return} button at the bottom to return to the "Vision Craft" interface.
Click the {Take Photo} button at the bottom to use the camera to obtain the position of the
workpiece.
Click the {Calculate Offset} button at the bottom to calculate the offset of the workpiece on the
conveyor belt.
Click the {Move to this} button at the bottom to run to the selected point.
Click the {Clear} button at the bottom to clear the point list.
⚫ Operating area
Click the {Return} button at the bottom to return to the process interface.
⚫ Operating area
Click the {Return} button at the bottom to return to the laser cutting interface.
Click the {Save} button at the bottom to modify the interface parameters.
Click the {Incline Adjustment} button at the bottom to view an example of slope adjustment.
Robert user manual
⚫ Operating area
Click the {Return} button at the bottom to return to the laser cutting interface.
Click the {Save} button at the bottom to modify the interface parameters.
Click the {Incline Adjustment} button at the bottom to view an example of slope adjustment.
⚫ Operating area
Robert user manual
Click the {Return} button at the bottom to return to the laser cutting interface.
Click the {Modify} button at the bottom to modify the interface parameters.
5.4.17.5.4 IO settings
The setting interface includes control operation, power and air pressure, and status prompts.
⚫ Operating area
Click the {Return} button at the bottom to return to the laser cutting interface.
Click the {Modify} button at the bottom to modify the interface parameters.
⚫ Operating area
Click the {Return} button at the bottom to return to the laser cutting interface.
Click the {Modify} button at the bottom to modify the interface parameters.
⚫ Operating area
Click the {Import} button at the bottom to import special craft files.
Click the {Open} button at the bottom to open the dedicated process.
Click the {Delete} button at the bottom to delete the dedicated process.
Click the {Return} button at the bottom to return to the process interface.
⚫ Operating area
Click the {Return} button at the bottom to return to the process interface.
⚫ Operating area
Click the {Return} button at the bottom to return to the process interface.
Click the {Start Setting} button at the bottom to enter the setting wizard.
Click the {Clear Parameters} button at the bottom to clear the current process number parameters.
Click the {Copy Parameters} button at the bottom to copy the parameters of the current process
number to another process number.
Robert user manual
⚫ Operating area
Click the {Return} button at the bottom to return to the process interface.
Robert user manual
⚫ Operating area
Click the {Return} button at the bottom to return to the polishing process interface.
Click the {Modify} button at the bottom to modify the interface parameters.
⚫ Operating area
Click the {Return} button at the bottom to return to the process interface.
Robert user manual
⚫ Operating area
Click the {Return} button at the bottom to return to the spraying process interface.
Click the {Modify} button at the bottom to modify the interface parameters.
⚫ Operating area
Click the {Return} button at the bottom to return to the spraying process interface.
Click the {Modify} button at the bottom to modify the interface parameters.
Robert user manual
5.4.17.10.3 Timing
⚫ Operating area
Click the {Return} button at the bottom to return to the spraying process interface.
Click the {Modify} button at the bottom to modify the interface parameters.
⚫ Operating area
Click the {Return} button at the bottom to return to the spraying process interface.
Click the {Modify} button at the bottom to modify the interface parameters.
Robert user manual
⚫ Operating area
Click the {Return} button at the bottom to return to the spraying process interface.
Click the {Modify} button at the bottom to modify the interface parameters。
5.4.17.11 Screwdriver
5.4.17.11.1 Parameter setting
5.4.18 Variable
Robert user manual
The variable interface contains two interfaces: "Global Variable" and "Global Value". The purpose of
our setting {variables} is: you can set the variables you need in advance to prepare for calling,
without having to set the variables repeatedly every time.
To enter this interface, please select the corresponding icon in the main content area of the variable
interface, such as:
Variable interface
The left part is the location variable configuration file area, a total of 99 variables are available for
use. The right half is the parameter area, which respectively indicate the position variable saved by
the variable and the current position of the robot. You can manually write the position variables of
each axis by clicking {Modify}; or move the robot to the place you want to reach and click {Write
current position} to complete the writing of the position variables of each axis. Use the {Move to
here} button to move the robot to this position variable.
Robert user manual
⚫ Operating area
{Return} button can return to the variable interface;
⚫ Operating area
Click the {Return} button to return to the variable interface;
5.4.19 Status
The status interface includes "input and output", "I/O function status", "system status", "electric batch
status", and "laser cutting" interfaces.
To enter these interfaces, please select the corresponding icon in the main content area of the variable
interface, such as:
Status interface
corresponding interface. Each interface has the type corresponding to each port and the current value
of the type. Such as:
{System status} shows the memory and drive letter occupancy of the teaching box (similar to
Windows system), such as:
Status interface
⚫ Operating area
Click the {Back} button at the bottom to return to the "Status" interface.
5.4.20 Project
This section introduces the content of the project interface and the project preview interface.
Engineering interface
Previous page When the number of programs exceeds one page, press to return to the previous page.
Next page When the number of programs exceeds one page, press to enter the next page.
5.4.21 Program
This section introduces the content of the program interface and the program preview interface.
Program interface
Robert user manual
5.4.22 Log
⚫ Main window
The main window of {Log} includes the system’s operation and error log report.
Log files are automatically generated when an error occurs.
The type of log can be divided into four windows: "operation", "warning", "error" and "debugging",
see
⚫ Operating area
After selecting the corresponding log and by clicking the {Details} button at the bottom to open the
corresponding log details page, which contains the log type, log details, operator, date of log and log
code, see
Robert user manual
Log details
5.4.22 Monitoring
Robert user manual
6.1.1.1 Start Up
Operation steps:
1. Check whether the connecting wires of servo, controller and Teach pendent components are well
connected.
2. Turn the main power switch on the cabinet panel to the ON position, and the main power is
connected.
3. Press the green servo start button on the cabinet panel.
Press the orange {DEADMAN} key on the back of the Teach pendent lightly, and the sound of the
robot being powered up will be heard, and the "servo status" column will be displayed as the green
"servo running", indicating that the servo power is successfully connected.
You can also click on the speed item in the status bar , which will bring up a
drop-down menu. Clicking {-} and {+} can also add or subtract speed. Click on the middle number
will pop up the speed option, you can quickly select several commonly used speed.
Speed increase: press the {V+} (speed increase) key at the bottom of the Teach pendent. Each press,
the manual speed will change in the following order:
Inching motion 0.01°→inching motion 0.1°→1\%→5\%→10\%→15\%→25\%→ 50\%→75\%→
100\%
Speed down: press the {V-} (speed down) key at the bottom of the Teach pendent. Each press, the
manual speed will change in the following order:
Robert user manual
Joint→rectangle→tool→user
1. To perform the pointing operation of the robot, the following steps are specified:
2. Starting up.
3. Check whether the emergency stop key is intact or pressed.
4. Press the {MOT} key of the Teach pendent to be sure that the servo status is "servo
preparation".
5. Select the coordinate system you want to use.
6. Adjust to the appropriate speed.
7. Press the {DEADMAN} key (the orange key on the back of the Teach pendent), and do not
release.
8. Use the keys in the physical key area on the right side of the Teach pendent to operate the robot
to move.
9. Release the {DEADMAN} key.
6.3 Programming
This section will mainly introduce the operation of the instructions of this product. It includes the
operation of creating, modifying, deleting, copying and renaming programs, inserting, modifying,
deleting and copying instructions, as well as the specific function description of each instruction, and
provides specific examples. If you want to master it skillfully, you need to use it many times.
2. Enter the corresponding program name and other parameters in the pop-up "Program Creation"
window.
3. Click on the {OK} button at the bottom, the program is created successfully, and jump into the
new program. If you want to cancel the new program, click on the {Cancel} button.
CAUTION
The program name must be a string of two or more characters beginning with a
letter. The program name cannot be the name of an existing program.
3. Click on the {Open} button at the bottom. The program was successfully opened.
6.3.1.3 Program Copy
To copy an existing job file (which can only be copied as a whole), users need to do the following
steps:
1. Select the program to copy;
2. Click on the {Operation} button at the bottom and then click on the {Copy} button.
3. Click on {OK} otherwise {Cancel}; you can also change the name of the file.
4. Click on the {OK} button. If you want to cancel the renaming operation, click on the {Cancel}
button.
CAUTION
The program name of a renamed program cannot be the name of an existing
program.
3. Click on the {OK} button in the pop-up window. If you want to cancel the deletion operation,
click on the {Cancel} button.
Robert user manual
3. Select the program files that need to be deleted (only the files on the current page can be
selected, but not on the previous or next page). Click on the {Select All} button to select all the
program files on this page;
Robert user manual
4. Click on the {Confirmation Button} button and then pop up the confirmation box and click on
the {Confirmation} button to delete the batch successfully.
6.3.2.1 Insertion
The insertion of instructions needs to be operated by using the {Instruction Menu} button at the
bottom of the program preview interface.
Inserted instructions are below the selected instruction line
The relevant steps are as follows:
1. Enter the program preview interface;
3. Click on the type of instructions needed to insert instructions, such as motion control classes, as
shown in the figure;
4. Click on the instructions you need to insert, such as MOVL, as shown in the figure;
CAUTION
The program name of a renamed program cannot be the name of an existing
program.
3. Click on the {Confirm Copy} button, pop up the button below, and fill in the position you
pasted:
position data, base axis position data, tool axis position Display in
data the interface
VJ= reproduction speed VJ:1-100
NWALL
parameters
UNTIL
ACC:1-
ACC= acceleration adjustment ratio
100
DEC:1-
DEC= deceleration adjustment ratio
100
use example MOVJ P001 VJ=10% PL=2 ACC=10 DEV=10
⚫ MOVL
Use the linear trajectory to move in the program point of the linear interpolation teach.
If linear interpolation is used to teach the robot axis, the mobile command is MOVL.
Linear interpolation is often used in welding operations.
When linear interpolation is used, the wrist attitude of the robot remains unchanged.
function Moving to teach position by joint interpolation
position data, base axis position data, tool axis position Display in
data the interface
V= reproduction speed V:2-9999
NWALL
MOVL parameters
UNTIL
ACC:1-
ACC= acceleration adjustment ratio
100
DEC:1-
DEC= deceleration adjustment ratio
100
use example MOVL P001 V=100 PL=2 ACC=10 DEV=10
⚫ MOVC
The robot moves through three dotted circles taught by arc interpolation.
If arc interpolation is used to teach the robot axis, the mobile command is MOVC.
The starting point of the first arc of a single arc and a continuous arc can only be MOVJ or MOVL.
◼ Single arc
When there is only one arc, as shown in the table below, three points of P1-P3 are taught
by arc interpolation.
If P0 before entering the arc is taught by joint interpolation or linear interpolation, the
trajectory of P0-P1 will automatically become a straight line.
Robert user manual
Interpolation
point command
method
joint MOVJ
P000
linear MOVL
P001-
arc MOVC
P002
◼ Continuous arc
As shown in the table below, when there are more than two consecutive arcs whose
curvature changes, the arcs will eventually be separated one by one. Therefore, as shown in
Figure 4, join the points of joint and linear interpolation at the connection point between
the former arc and the latter arc.
Interpolation
point command
method
joint MOVJ
P000
linear MOVL
P001-
arc MOVC
P002
P003-
arc MOVC
P004
function Arc interpolation moves to the target position. The three-point arc
method is adopted. The first point before the arc is the first point, and
the two MOVCs are the middle point and the target point. Note: The
first motion control class instruction of the job file cannot be MOVC.
position data, base axis position data, tool axis position Display in
data the interface
MOVC V:2-9999
V= reproduction speed
DEC:1-
DEC= deceleration adjustment ratio
100
use example MOVC P001 V=100 PL=2 ACC=10 DEV=10
⚫ IMOV
Move by the joint position or linear interpolation from the current
function
position according to the set incremental value distance
BF:base coordinates
RF:robot coordinates
B= position data
TF:tool coordinates
UF:user coordinates
⚫ MOVS
In welding, cutting, welding, primer painting and other jobs, if the use of free curve interpolation, for
irregular curve workpiece teaching jobs can be easy.
The trajectory is a parabola passing through three points,.
If the free curve is used to interpolate the teaching robot axis, the moving command is MOVS.
◼ Single free curve
As shown in the table below, the three points of teaching P1-P3 are interpolated with free
curve.
If joint interpolation or linear interpolation is used to teach the P0 point before entering the
free curve, the trajectory of P-P1 will automatically become a straight line.
Interpolation
point command
method
joint MOVJ
P000
linear MOVL
P001-
free curve MOVS
P003
joint MOVJ
P004
linear MOVL
Robert user manual
⚫ MOVCA
To teach the robot to walk a complete circle, the mobile command is MOVCA.
Instruction insertion premise
Click on the {Tool} button in the status bar above and select the tool that has been calibrated before.
Robert user manual
⚫ MOVJEXT
The robot moves to the teaching position by means of joint interpolation, and the external axis is
compensated by joint difference.
Robert user manual
⚫ MOVLEXT
The robot moves to the teaching position by linear interpolation, and the external axis moves by joint
difference compensation.
The robot moves to the teaching position by arc interpolation, and the
MOVLEXT function
external axis is compensated by joint difference.
Robert user manual
Display in
position data, base axis position data, tool axis position
the
data
interface
V:2-
V= reproduction speed
9999
PL= positioning level PL:0~5
parameters
NWALL
UNTIL
ACC:1-
ACC= acceleration adjustment ratio
100
DEC:1-
DEC= deceleration adjustment ratio
100
Use
MOVL P001 V=100 PL=2 ACC=10 DEV=10
example
⚫ MOVCEXT
The robot moves to the teaching position by arc interpolation, and the external axis is compensated
by joint difference.
Display in
position data, base axis position data, tool axis
the
position data
interface
MOVCEXT V:2-9999
V= reproduction speed
NWALL
UNTIL
ACC:1-
ACC= acceleration adjustment ratio
100
Robert user manual
DEC:1-
DEC= deceleration adjustment ratio
100
use example MOVCEXT P001 V=100 PL=2 ACC=10 DEV=10
⚫ SAMOV
Robots move to a set absolute position by joint interpolation.
If you don't want to move an axis, leave it blank at its coordinates. (Do not fill in 0)
function Robots move to a set absolute position by joint interpolation.
BF:base coordinates
RF:robot coordinates
B=position data
TF:tool coordinates
UF:user coordinates
Use
SAMOV B001 V=100 PL=2 ACC=10 DEV=10
example
⚫ SPEED
The movement speed of all the motion instructions below the SPEED instruction is as follows: the
instruction speed * the speed of the upper status bar * the percentage of SPEED.
function setting global speed
global
speed percentage:1-
SPEED parameters speed
200
(%)
variable
1-999
name
IN# group number 1-16
input
IGH# group number 1-4
number
IG# group number 1-2
use example DIN A001 IN#(1)
⚫ DOUT
Set the output value of the current digital IO.
Move to the teaching position in the form of
function
free curve interpolation.
1 channel output(OT#)
output
4 channel output(OGH#)
mode
8 channel output(OG#)
manual selection
INT
DOUT
parameters DOUBLE
variable
BOOL
sources
GINT
GDOUBLE
GBOOL
variable
1-999
name
use example DOUT OT#(1) I001
⚫ PULSEOUT
function Control pulse output
frequency 1-100000
parameters Integers
PULSEOUT number
greater than 0
PULSEOUT RATE=100
use example
SUM=100
comparison ==、<、>、
JUMP parameters judging
modes <=、>=、!=
condition
variable value customization or other
source variables
new
value
parameter
source
existing variables
parameters
use example JUMP *D1 WHEN(A001=4)
⚫ CALL
When executing the CALL instruction of job file A, jump to the job file B to which the CALL
instruction refers. After the execution of job file B, jump back to job file A, and continue to execute
the next instruction of CALL instruction.
When the last instruction in the job file is CALL, after executing the job file B to which the CALL
instruction refers, the job file A is jumped back and the program stops.
Call a program with a
function
specified name
CALL parameter program name
use
CALL JOB1
example
⚫ IF
Robert user manual
IF judgment statement, judging whether the condition is valid, if it is valid, run the program between
IF and ENDIF, otherwise jump out.
Judging whether the condition is valid or not, it runs if it
function
is valid, otherwise it will jump out.
INT
parameter
DOUBLE
type
BOOL etc
parameter
0-999 integer
name
judging
IF comparison
condition ==、<、>、<=、>=、!=
modes
new
value
parameter
source
existing variables
parameters
use
IF(I003 == 1)
example
⚫ ELSEIF
When the judgment condition of IF is not valid, if the condition of ELSEIF is valid, run the program
between ELSEIF and ENDIF, if not, jump out.
When the judgment condition of IF is not valid, if the condition of
function ELSEIF is valid, run the program between ELSEIF and ENDIF, if not,
jump out.
INT
parameter type DOUBLE
BOOL etc
WAIT waits for instructions when conditions are not met; otherwise it does not wait.
WAIT waits for instructions when conditions are not met;
function
otherwise it does not wait.
INT
parameter
DOUBLE
type
BOOL etc
parameter
0-999 integer
name
comparison
==、<、>、<=、>=、!=
modes
WAIT judging
parameters variable
condition customization or other variables
value source
new
value
parameter
source
existing variables
parameters
TIMER waiting time
use example WAIT (I001 == 2) T=2s
⚫ LABEL
Need to be used in conjunction with JUMP. JUMP instructions jump to the LABEL instructions.
function Label where needed, JUMP call
comparison
==、<、>、<=、>=、!=
modes
Robert user manual
⚫ SUB
Data 1 is subtracted from data 2, and the results are stored in data 1.
function
Format: SUB <Data 1> <Data 2>
BOOL
INT
SUB
DOUBLE
parameters Data1 Data 1 is a variable
GINT
GDOUBLE
GBOOL
Robert user manual
Constant
BOOL
INT
Data2 DOUBLE Data 2 is a constant or variable
GINT
GDOUBLE
GBOOL
use example SUB I002 3
⚫ MUL
Data 1 is multiplied by data 2, and the results are stored in data
function 1.
Format: MUL <Data 1> <Data 2>
BOOL
INT
DOUBLE
Data1 Data 1 is a variable
GINT
GDOUBLE
GBOOL
parameters Constant
BOOL
MUL
INT
Data 2 is a constant or
Data2 DOUBLE
variable
GINT
GDOUBLE
GBOOL
use example MUL I002 3
⚫ DIV
Data 1 is divided by data 2, and the results are stored in data 1.
function
Format: DIV <Data 1> <Data 2>
BOOL
INT
DIV
DOUBLE
parameters Data1 Data 1 is a variable
GINT
GDOUBLE
GBOOL
Robert user manual
Constant
BOOL
INT
Data 2 is a constant or
Data2 DOUBLE
variable
GINT
GDOUBLE
GBOOL
use example SUB I002 3
⚫ MOD
Data 1 is divided by data 2, and the remainder is stored in data
function 1.
Format: MOD <Data 1> <Data 2>
BOOL
INT
DOUBLE
Data1 Data 1 is a variable
GINT
GDOUBLE
GBOOL
⚫ ARCOFF
Robert user manual
ARCSET parameters
Data2 V= current value
⚫ PALLET
Declare the program as a palletizing instruction, usually inserted in the head of the program.
If the palletizing program stops at half of the palletizing, please modify the PALLET instructions and
fill in the number of currently coded workpieces at the number of workpieces, and the program will
automatically continue the palletizing.
function pendulum welding start
welding process number process number
0 palletizing
PALLET parameters palletizing type
1 unloading
number of eorkpieces coded 0-9999
Use example PALLET ID=4 TYPE=0 NUM=1
⚫ PALENTER
Linear interpolation is used to run to the entry point of the workpiece in the palletizing process, and
the position is set at the position parameters of the palletizing process.
Running to the entry point of palletizing in the form of
function
linear interpolation
palletizing process number process number
V speed V:2-9999
PALENTER
parameters PL= positioning level PL:0~5
⚫ BOOL
Defining and assigning a local BOOL variable requires inserting instructions into the program
header.
.
function Define local DOUBLE variables and assignment
variable name 0-999
Constant
INT
DOUBLE
variable value source BOOL
BOOL parameters
GINT
GDOUBLE
GBOOL
new parameter constant
source parameter existing variable name
use example BOOL A001=1
⚫ SETINT
Robert user manual
Constant
INT
DOUBLE
variable value source BOOL
GINT
GDOUBLE
GBOOL
new parameter constant
source parameter existing variable name
use example SETBOOL A001=1
⚫ FORCESET
In the process of running the program, the global variable value in the current cache is written into
the variable file.
In the process of running the program, the global variable value in
function
the current cache is written into the variable file.
GINT
FORCESET variable type GDOUBLE
parameters
GBOOL
variable name variable name
use example FORCESET GI001
During the running process, the number of runs can be modified. After the modification, the robot
stops after running the set number of times. For example, if the original setting is run 200 times and
156 times have been run, the number of times the setting is set to 3 times, the robot stops after
continuing to run three times. \\
Run speed = command speed * speed ratio of the status bar above.
This function is run by using Modbus touch screen equipment. The mechanism is to run the program
in Modbus equipment by setting the program in advance, and input the program serial number
through Modbus touch screen after switching to remote mode.
The setting steps of the Modbus program are as follows:
TCP is generally set in the center of the gripper, the end of the welding wire, the nose of the static
arm of spot welding and so on.
In order to describe the position of an object in space, it is necessary to fix a coordinate system on the
object, and then determine the position and attitude of the coordinate system (origin position and
three coordinate axis attitude), namely, seven DOFs are needed to describe the position and attitude
of the rigid body. For industrial robots, the end flange mounting tool is needed to operate. In order to
determine the position and attitude of the tool, a TCS(tool coordinate system) is bound to the tool.
The origin of TCS is TCP (Tool Center Point). In trajectory programming of robots, the position and
attitude of TCS in other coordinate systems should be recorded and executed in the program.
Robert user manual
Industrial robots usually define a TCS in advance. The XY plane of TCS is bound to the flange plane
of the sixth axis of the robot. The origin of TCS coincides with the center of flange.Obviously TCP is
in the flange center. ABB robots call TCP as tool0 and REIS robots call it as _ tnull. Although the
default TCP can be used directly, in practice, such as welding, the user usually defines the TCP point
to the tip of the wire (actually the position and attitude of the welding welding torch tool coordinate
system in the tool0 coordinate system). Then the position recorded in the program is the position of
the welding wire tip, and the attitude recorded is the attitude of the torch revolving around the
welding wire tip.
Thinking
From thinking 1, we know that the tool coordinate system is a research object in motion, but
what role does it play in the actual debugging process? Thinking about how the attitude and position
of the grippers in Figure 1 and Figure 2 are adjusted?
If there are detailed parameters of the tool, in this interface, users can directly fill in the relevant
parameters of the tool end offset without seven-point calibration.
When entering this interface, the size parameters of the tool saved in the controller will be read
automatically (default items are 0). If you change the tool hand, please fill them in again.
Detailed parameter setting steps are as follows:
1. Open the tool calibration interface, the following table is an introduction to each parameter:
parameters action
X-axis direction The migration length (mm) of the tool end relative to the center of the flange along
migration the Cartesian coordinate system X-axis
Y-axis direction The migration length (mm) of the tool end relative to the center of the flange along
migration the Cartesian coordinate system Y-axis
Z-axis direction The migration length (mm) of the tool end relative to the center of the flange along
migration the Cartesian coordinate system Z-axis
Migration about axis The migration angle (°) of the tool end relative to the center of the flange around the
A X-axis of the Cartesian coordinate system
Migration about axis The migration angle (°) of the tool end relative to the center of the flange around the
B Y-axis of the Cartesian coordinate system
Migration about axis The migration angle (°) of the tool end relative to the center of the flange around the
C Z-axis of the Cartesian coordinate system
2. Click on the {Modify} button.
3. Fill in the parameters corresponding to the tool, in which the functions of the parameters are
shown in the table above.
4. After be sure that it is correct, click on the {Save} button and and the setting is successful.
CAUTION
Click on the {Clear} button to clear the parameters that have been filled in.
If you click on {Back} button or {Seven-Point Calibration} button at the bottom operating area
during parameter setting process, then jump to the corresponding interface, and unsaved settings will
not be retained.
Without the detailed parameters of the tool, TCP calibration can be carried out, and the size
parameters of the tool can be calculated automatically. The specific calibration steps are as follows:
1. Now take the pen tip as the reference point and make sure that the reference point is fixed, as
shown in the figure below.
Figure 7.5 Fixed with the point of the pen as the reference point
2. Put the end of the tool perpendicular to the reference point and click on the corresponding
{Calibration} button of the interface “TC1”, as shown in the figure below.
Robert user manual
on the corresponding {Calibration} button on the line, as shown in the figure below.
Click on the {Twenty-Point Calibration} button at the bottom to enter the Twenty-point calibration
interface, as shown in the figure.
Robert user manual
1. Find a reference point (the tip of the calibration cone is the reference point) and make sure
that this reference point is fixed.
2. Start inserting the position point, every time you insert a point, click [Mark this point] to
insert 15 points
1) The first point the robot returns to the zero point, and the robot tip is aligned with
the tip of the calibration cone through Cartesian coordinates to calibrate the first point;
3) The third point the robot returns to the zero point, and aligns the tip of the robot with
the tip of the calibration cone through the Cartesian coordinate system; calibrate the
third one;(Same as the first point)
4) The fourth point on the basis of the third point, using the rectangular coordinate
system to make B-, the degree is at 30°-60°, and the tip is aligned to calibrate the
fourth point;
5) The fifth point On the basis of the fourth point, make B+,J5>-90° through the
rectangular coordinate system, and align the tip of the robot with the tip of the
calibration cone to calibrate the fifth point.
6) The sixth point select the first point and move the robot to the first point. On the
basis of the first point, use the Cartesian coordinate system to do B+, J5>-90°, and
align the tip to calibrate the sixth point;
7) Seventh point on the basis of the first point, use the rectangular coordinate system
to do B-, J5>-90°, and align the seventh point with the tip;
8) The eighth point On the basis of the seventh point, use the rectangular coordinate
system to do A+, rotate 90°, J5>-90°, and align the tip to calibrate the eighth point;
Robert user manual
9) The ninth point on the basis of the seventh point, use the rectangular coordinate
system to do A- and rotate 90°, J5>-90°, and align the tip to calibrate the ninth point;
10) The tenth point the robot returns to the first point and moves the five axes through
the joint coordinate system to make the five axes move up,J5<-90°, align the tip and
calibrate the tenth point;
Robert user manual
11) The eleventh point On the basis of the tenth point, use the rectangular coordinate
system to do A+, rotate 90°, J5<-90°, and align the tip to calibrate the eleventh point;
12) The twelfth point on the basis of the eleventh point, use the rectangular coordinate
system to do A-, rotate 90°, J5<-90°, and align the tip to calibrate the twelfth point;
Robert user manual
13) The thirteenth point when the robot returns to the zero position, adjust the robot
posture so that the tip of the end tool of the robot faces downwards, and align the
calibration tip with the calibration cone to calibrate the thirteenth point;
14) The fourteenth point ,on the basis of the thirteenth point, use the Cartesian coordinate
system to do X-, the robot move a certain distance, and click directly to calibrate the
fourteenth point.
15) The fifteenth point on the basis of the fourteenth point, use the rectangular
coordinate system to do Y+ to make the robot move a certain distance, and click
directly to calibrate the fifteenth point;
{Cancel the calibration}:If you are not satisfied with a certain point in the calibration process,
you can click on the corresponding {Cancel The Calibration} button of the line to cancel the
calibration, and then calibrate the point again after canceling the calibration.
{Run to that point}:After calibrating a point, you can click [Run to this point], and the robot
will run to that point.
{Mark the result position as zero}:Set the position after calibration compensation as the zero
position of the current robot.
{Clear all calibration points}:The calibration point will be saved in the controller. The
calibration result will be cleared only after clicking to cancel calibration, clear all calibration
points, and switch tools to enter the calibration interface manually
Robert user manual
CAUTION
The attitude of each point should be in any direction as far as possible. If the
attitude is rotated in a certain direction, sometimes the precision is inaccurate.
Please keep the reference point fixed during calibration, otherwise the
calibration error will increase.
Click on the {Back} button at the bottom to return to the "tool calibration" interface.
move B- at the thirteenth point, and move the other points mainly C-axis forms a double across-shaped
layout calibration
3. After completing the twenty-point mark, click on the {Calculate}.
{Cancel The Calibration}:If you are not satisfied with a certain point in the calibration process, you
can click on the corresponding {Cancel The Calibration} button to cancel the calibration, and then
calibrate the point again after canceling the calibration.
{Run To This Point}:{Run To This Point} can be clicked after each calibration point , and the robot
will run to that point.
{Mark The Result Position As zero Point}: Set the position after calibration and compensation to the
zero position of the current robot.
{Clear all calibration points}:The calibration point will be saved in the controller, and the calibration
result will be cleared only after clicking to cancel calibration, clear all calibration points, and switch
tools to enter the calibration interface manually.
CAUTION
The attitude of each point should be in any direction as far as possible. If the
attitude is rotated in a certain direction, sometimes the precision is inaccurate.
Please keep the reference point fixed during calibration, otherwise the
calibration error will increase.
CAUTION
The attitude of each point should be in any direction as far as possible. If the
attitude is rotated in a certain direction, sometimes the precision is inaccurate.
Please keep the reference point fixed during calibration, otherwise the
calibration error will increase.
Click on the {Demo} button at the bottom to open the "demo" interface and explain how to calibrate
the tool.
Click on the {Back} button at the bottom to return to the "tool calibration" interface.
Click on the {User Coordinate Calibration} button in the "Settings" interface to enter the "user
coordinate" interface, as shown in the figure.
parameters function
Click on the {User Calibration} button at the bottom of the "User Coordinate Calibration" interface
to enter the "User Calibration" interface, as shown in the figure.
The calibration of user coordinate system should follow the following steps:
1. Move the tip of the robot to the position expected of the origin of user coordinate system, and click
on the {Calibrate Origin} button.
2. Move the robot at any distance relative to the origin of the user coordinate system to the position
expected to be the positive direction of the X-axis of the user coordinate system, and click on the
{Calibration X-axis} button.
3. Move the robot at any distance relative to the origin of user coordinate system to the position
expected to be the positive direction of user coordinate system Y-axis, and click on the
{Calibration Y-axis} button.
CAUTION
If the Y axis of user coordinate system is not calibrated accurately, the system
will automatically compensate.
Click on the {Back} button at the bottom of the interface to return to the user coordinate calibration
interface.
Robert user manual
Imagine how tedious it is for a robot to complete a process with so many instructions. If we insert
instructions and set variables every time, we add value variables to call them. For example, "WHILE
(INT001 = 10)... END (WHILE)" instructions, there are many procedures in which a robot completes
a certain process, we directly call your pre-set value variables.
At the same time, global value variables can be used to transfer information between the main
program, the called subroutine and the background program for logical judgment.
Value variables store values, including integer variables , double variables and boolean variables.
Global Bool variables store bytes. In this interface, the values and annotations of each variable can be
modified. The significance of each parameter is as follows:
⚫ The name of the variable is the number of the variable, and the name of the global Bool variable
is GAxxx.
⚫ The value is the value of the variable, and the range of values of Bool variables is "0/1".
⚫ Annotations are user-defined annotations for the variable, which facilitate users to mark the role
of the variable, ranging from arbitrary values, and can be in Chinese.
Global integer variables store integer. In this interface, the values and annotations of each variable
can be modified. The significance of each parameter is as follows:
⚫ The name of the variable is the number of the variable, and the name of the global integer
variable is GIxxx.
⚫ The value is the value of the variable, and the range of an integer variable is an integer.
⚫ Annotations are user-defined annotations for the variable, which facilitate users to mark the role
of the variable, ranging from arbitrary values, and can be in Chinese.
Global real variables store real numbers. In this interface, the values, contents and annotations of
each variable can be modified. The significance of each parameter is as follows:
⚫ The name of the variable is the number of the variable, and the name of the global real variable
is GDxxx.
⚫ The value is the value of the variable, and the range of the floating-point variable is real.
⚫ Annotations are user-defined annotations for the variable, which facilitate users to mark the role
of the variable, ranging from arbitrary values, and can be in Chinese.
Click on the data type you want to modify, select the variable name, and click on {Modify}, then you
can modify the values and comments. Then click on {Save}. Click on {Clear} to clear the data you
choose.
8.3.2.1 ADD
Case 1:
Premise: GI001=1
Significance: GI001=GI001+1
Result: GI001=2
Case 2:
Significance: GI001=GI001+GI002
Result: GI001=3
8.3.2.2 SUB
If the source of variable value is customized, the parameters can be manually filled in at the "new
parameters". It can also be used for other variable values.
Case :
Premise: GD001=3.4
Significance: GI001=GI001-1.1
Result: GD001=2.3
8.3.2.3 MUL
Multiply operation(*)
Formula: variable type (variable name) = variable type (variable name) * variable value source
(parameter)
To calculate global integer or global value variables, select GINT or GDOUBLE at the variable type.
If the source of variable value is customized, the parameters can be manually filled in at the "new
parameters". It can also be used for other variable values.
Case :
Significance: GD001=GD001*GI001
Result: GD001=6.8
8.3.2.4 DIV
Case :
Significance: GD001=GD001÷GI001
Result: GD001=1.7
8.2.2.5 MOD
Remainder operation(MOD)
Formula: variable type (variable name) = variable type (variable name) MOD variable value source
(parameter)
To calculate global integer or global value variables, select GINT or GDOUBLE at the variable type.
If the source of variable value is customized, the parameters can be manually filled in at the "new
parameters". It can also be used for other variable values.
Case :
Result: GD001=2
3. To change the global BOOL variable, select the SETBOOL instruction and click on {OK};
4. Select "GBOOL" at the type of variable; select the previously defined global BOOL variable;
variable value source selected "customized". Fill in the value that needs to be changed at the
new parameter, and if you need to change the value of the variable to 1, fill in 1 here.
For example, if you need to change the value of GA001 variable to 1 when running the
program, fill in the parameters as shown in the figure below.
Robert user manual
SETINT and SETDOUBLE are used to set INT and DOUBLE type variables respectively, the
usage is the same as above.
Insertion method:
1. Click on the {Insert} button in the "program" interface;
3. Select the variable type. If you want to change the global integer variable, select GINT and
select "GI001" for the variable name;
4. Click on the {Insert} button to complete.
Numerical variables store values, including integer variables, real number variables, and Boolean
variables.All defined local numerical variables can only be used in the current program, and other
programs and background programs cannot be used.
Robert user manual
8.4.1.1 Int I
Robert user manual
Local integer variables are used to store integer variables. The variable name is Ixxx.
The default value is 0. When you need to modify, select the variable name to be modified, enter the
value, and click Save.
Local real variables are used to store real variables. The variable name is Dxxx.
The default value is 0. When you need to modify, select the variable name to be modified, enter the
value, and click Save.
Local Bool variables are used to store Bool variables. The variable name is Bxxx.
The default value is 0. When you need to modify, select the variable name to be modified, enter the
value, and click Save.
2. It can perform functions on local position variables, modify points, add points, run to that point,
write current position, etc.
The variable name of the position variable can be a value variable, such as 1001=50, then P$1001 is
P1001。
This instruction can add a single axis of a position variable in any coordinate system, regardless of
the coordinate system in which the position variable is inserted, but it will be converted to the
original coordinate system in assignment. For example, if the second axis of P001 variable is added,
the P001 coordinate is in the joint coordinate system (0,0,0,0,0,0). You need to add 10 to the Z axis
for this point. Convert P001 to Cartesian coordinates (500,0,1000,0,0,0), then add 10 to the Z axis, i.e
(500,0,1010,0,0,0), and finally convert to joint coordinates (0,-1,1,0,1,0) and assign this value to
P001.
Formula: position variable = position variable {Coordinate System (Axis)} + value variable or
number
To calculate a global integer or global value variable, select GINT or GDOUBLE at the variable
type.
If the source of variable value selects to fill in manually, the parameters can be filled in manually at
the "new parameters". It can also be used for other variable values.
The position variable subtraction operation (-), which can subtract the value of the single axis of the
position variable (global, local), and then assign it to the axis.
The meaning and method of this instruction are similar to the POSADD instruction.
Formula: position variable = position variable {Coordinate System (Axis)} - value variable or
number.
To calculate a global integer or global numeric variable, select GINT or GDOUBLE at the variable
type.
If the source of variable value selects to fill in manually, the parameters can be filled in manually at
the "new parameters". It can also be used for other variable values.
Modify the tool coordinate command.This command can modify the value of one axis of
the tool coordinate system.After modification, the trajectory in the program used will
For example, the original tool offset is (0,0,200,0,0,0).Use this command to modify the
offset of the Z-axis direction to 100, and the center position of the 6-axis flange will be
offset down by 100mm during operation.If it is changed to the corresponding tool hand,
the tool hand with the Z-axis offset of 200mm is changed to the tool hand with the Z-
For example, copy the current position to the local position variable.Source location
variable type: current location, source location variable name: not selected,Target
position variable type: local position variable, target position variable name: P001.
avoid obstacles.Generally, we only choose the rectangular coordinate system to set the
left and right hands, and the judgment method is based on the direction of the two
axes.The left and right hand function can only be used for 4-axis robots.
The command setting interface can choose left and right hands,When the setting is
completed, you need to click the [Manual Modification] button, and then click OK to
complete.
Robert user manual
bottom
Robert user manual
Click on the drop-down arrow at the top and select left and right hands
In the command parameter setting interface, you can select parameters to set local
variables
Robert user manual
Case
Premise: Two programs, Job1 and Job2, have been established, and CALL instructions have been
inserted into Job1.
Process: When the instruction of Job1 runs to the CALL instruction, the program jumps to the
program Job2. After running all the instructions of the program Job2, the program jumps back to
the next line of the CALL [Job2] instruction of the program Job1 and continues to run.
10.1.2 IF
If the condition of IF instruction is satisfied, the instruction between IF and ENDIF is executed. If the
condition of IF instruction is not satisfied, then jump to ENDIF instruction and continue to run the
instruction under ENDIF, and the instruction between IF and ENDIF is not executed.
The judgment condition of IF is (comparison number 1 comparison method comparison number 2),
for example, comparison number 1 is 2, comparison number 2 is 1, comparison method is ">",
then 2 > 1, judgment condition is valid; if the comparison method is "<" or "==", judgment
condition is not valid.
IF instruction can be used alone or in combination with the ELSEIF and ELSE instruction. Note that
ELSEIF and ELSE instructions cannot be used separately from IF instruction !
Note that when the beginning of the program is IF and the last action is ENDIF instruction,
please insert a 0.1 second TIMER (Delay) instruction above or below the IF instruction.
Otherwise, if the condition of the IF instruction is not satisfied, the program will crash.
Robert user manual
When IF instruction is inserted, ENDIF instruction will be inserted at the same time. When deleting
IF instruction, please note that the corresponding ENDIF instruction is also deleted. Otherwise, the
program will not be able to executed.
Another IF instruction or other conditional judgment class instruction such as WHILE and JUMP can
be nested in the instruction.
Parameter Meaning
Parameter type The type of the comparison number 1,the input value of a variable or a
number or an analog
Parameter If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
name GINT, GDOUBLE, GBOOL), here is the variable name of comparison
number 1
If the type selected in the previous item is the input value (DIN, AIN), then
here is the port number for digital or analog input
Comparison == equal to
method < less than
> more than
<= less than or equal to
>= more than or equal to
!= not equal to
Variable value The type of the comparison number 2, customize or input values of
source variables or numbers or analogs
New parameter If the type of the previous selection is custom, it is not optional here.
If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
GINT, GDOUBLE, GBOOL), here is the variable name of comparison
number 1.
If the type selected in the previous item is the input value (DIN, AIN), then
here is the port number for digital or analog input.
Source If the variable value source is selected as custom, the value of comparison
parameter number 2 is filled in directly here.
Robert user manual
Case 1
Premise: Global variables or local variables have been defined, such as GI001=8
Instructions: IF (GI001<9)
ENDIF
Meaning: If GI001<9, run the instruction between IF and ENDIF, if it is not satisfied, it will
not run.
Process: Because GI001=8<9, the condition is valid, the instruction between IF and ENDIF is
run, and the instruction following ENDIF is continued after running.
Case 2
Premise: Global variables or local variables have been defined, such as GI001=5, D001=8.88
Instructions: IF(GI001>=D001)
ENDIF
Meaning: If GI001>=D001, run the instruction between IF and ENDIF, if it is not satisfied, it
will not run.
Process: Because GI001 = 5, D001 = 8.88, 5 < 8.88, the condition is not valid, and the
instruction between IF and ENDIF will not be run. The program jumps to the next line of
instruction under ENDIF and continues to run.
Case 3
Premise: An external IO equipment is connected, such as the input value of port 10 of digital
IO is 1.
Instructions: IF (DIN10=1)
ENDIF
Meaning:If the input value of the digital IO port 10 is equal to 1, the instruction between IF
and ENDIF is run, but if it is not satisfied, it will not run.
Process: Because the input value of port 10 of digital IO is 1,that is, DIN10 = 1, the condition
is satisfied. After running the instructions between IF and ENDIF, the instructions under
ENDIF are continued.
10.1.3 ELSE
Robert user manual
The ELSE instruction must be inserted between IF and ENDIF, but only one ELSE instruction can be
embedded in an IF instruction.
When the judgment condition of the IF is valid, the instruction between the IF and the ELSE is
executed, and the next line of the jump to the ENDIF instruction continues to run, instead of running
the instruction between ELSE and ENDIF.
When the judgment condition of the IF is not valid, it will jump to the instruction running between
ELSE and ENDIF, instead of running the instruction between IF and ELSE.
Note that when you delete IF instructions, you need to delete the corresponding ELSE and
ENDIF instructions, otherwise the program will not run.
Case 1
Premise: Global variables or local variables have been defined, such as GI001=8
Instructions: IF (GI001<9)
ELSE
ENDIF
Meaning: If GI001<9, the instruction 1 between IF and ELSE is run, and if it is not, the
instruction 2 between ELSE and ENDIF is run.
Process: Because GI001=8<9, the condition is valid, the instruction between IF and ELSE is
run, and the instruction following ENDIF is continued after running.
Case 2
Premise: Global variables or local variables have been defined, such as GI001=5, D001=8.88
Instructions: IF(GI001>=D001)
ELSE
ENDIF
Meaning: If GI001>=D001, the instruction 1 between IF and ELSE is run, and if it is not, the
instruction 2 between ELSE and ENDIF is run.
Process: Because GI001 = 5, D001 = 8.88, 5 < 8.88, the condition is not valid. Instruction 2
between ELSE and ENDIF will be run, and then the instructions under ENDIF will continue to
run.
Robert user manual
10.1.4 ELSEIF
The ELSEIF instruction must be inserted between IF and ENDIF. An ELSE instruction or multiple
ELSEIF instructions can also be inserted between ELSEIF and ENDIF.
When the IF condition is satisfied, the instructions between ELSEIF and ELSEIF and ENDIF will be
ignored, only the instructions between IF and ELSEIF will be run, and then jump to the next line of
instructions under ENDIF to continue running.
When the condition of IF is not satisfied, it will jump to ELSEIF instruction to judge the condition of
ELSEIF. If it is satisfied, it will run the instruction between ELSEIF and ENDIF, and then continue
to run the instruction under ENDIF. If it is not satisfied, it will jump directly to one line of instruction
under ENDIF to continue to run.
If multiple ELSEIFs are nested in IF and ENDIF, the first ELSEIF judgment condition is judged
when the judgment condition of IF is not valid, and if it is, the instructions between the first ELSEIF
and the second ELSEIF are run; if not, the second ELSEIF judgment condition is judged, and so on.
Note that when you delete IF instructions, you need to delete the corresponding ELSEIF and
ENDIF instructions, otherwise the program will not run.
Robert user manual
Case 1
Premise: Global variables or local variables have been defined, such as GI001=8
Instructions: IF (GI001<9)
ELSEIF (GI001>7)
ENDIF
Meaning: If GI001<9, the instruction 1 between IF and ELSEIF is run. If it is not satisfied, the
judgment condition of ELSEIF is judged. If it is satisfied, the other instruction 2 is run. If it is
not satisfied, the instruction jumped to the ENDIF continues to run.
Process: Because GI001=8<9, the condition is valid, the instruction between IF and ELSEIF is
run, and the instruction following ENDIF is continued after running.
Case 2
Premise: Global variables or local variables have been defined, such as GI001=5, D001=8.88
Instructions: IF(GI001>=D001)
ELSEIF (D001<9)
ENDIF
Meaning: If GI001>=D001, the instruction 1 between IF and ELSE is run. If it is not satisfied,
the judgment condition of ELSEIF is judged. If it is satisfied, other instruction 2 is run. If it is
not satisfied, the instruction jumped to ENDIF continues to run.
Process: Because GI001 = 5, D001 = 8.88, 5 < 8.88, the condition is not valid, the condition of
ELSEIF is judged, because D001 = 8.88 < 9, if the condition is valid, the other instruction 2 is
run.
Case 3
Premise: Global variables or local variables have been defined, such as GI001=5, D001=8.88
Instructions: IF(GI001>=D001)
ELSEIF(D001>9)
ELSE
ENDIF
Robert user manual
Meaning: If GI001>=D001, the instruction 1 between IF and ELSE is run. If it is not satisfied,
the judgment condition of ELSEIF is judged. If it is satisfied, other instruction 2 is run. If it is
not satisfied, the instruction jumped to ENDIF continues to run.
Process: Because GI001 = 5, D001 = 8.88, 5 < 8.88, the condition is not valid, the condition of
ELSEIF is judged, because D001 = 8.88 < 9, if the condition is valid, the other instruction 3 is
run.
Case 4
Premise: Global variables or local variables have been defined, such as GI001=5, D001=8.88
Instructions: IF(GI001>=D001)
ELSEIF(D001>9)
ELSEIF (GI001<6)
ELSEIF (GI001>4)
ENDIF
Meaning: If GI001>=D001, the instruction 1 between IF and ELSE is run. If it is not satisfied,
the judgment condition of the first ELSEIF is judged. If D001>9 is satisfied, other instructions
2 are run. If not, the second ELSEIF is judged. The judgment condition is that if GI001<6,
other instructions 3 are run, if not, the third ELSEIF is judged, and so on.
Process: Because GI001 = 5, D001 = 8.88, 5 < 8.88, then the condition is not valid, judging
the ELSEIF judgment condition, because D001 = 8.88 < 9, the condition is not valid, judging
the second ELSEIF, GI001 = 5 < 6, if the condition is valid, then run the other instruction 3,
and then jump to the instruction under ENDIF to continue running.
10.1.5 WHILE
When the condition of WHILE instruction is satisfied, the instruction between WHILE and
ENDWHILE will be run circularly. If the judgment condition is not satisfied before running to the
WHILE instruction, it will jump to the ENDWHILE instruction instead of the instruction between
WHILE and ENDWHILE when running to the WHILE instruction; if the judgment condition
becomes unsatisfactory during the process of running the instruction between WHILE and
ENDWHILE, it will continue to run until running to the ENDWHILE line, and it will not circulate
but continue to run the instruction under ENDWHILE.
Robert user manual
Parameter Meaning
Parameter type The type of the comparison number 1,the input value of a variable or a
number or an analog
Parameter If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
name GINT, GDOUBLE, GBOOL),then here is the variable name of comparison
number 1.
If the type of the previous selection is input value (DIN, AIN), then here
is the port number of the digital input or analog input.
Comparison == equal to
method < less than
> more than
<= less than or equal to
>= more than or equal to
!= not equal to
Variable value The type of the comparison number 2, customize or input values of
source variables or numbers or analogs
Robert user manual
New parameter If the type of the previous selection is custom, it is not optional here.
If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
GINT, GDOUBLE, GBOOL), here is the variable name of comparison
number 1.
If the type selected in the previous item is the input value (DIN, AIN), then
here is the port number for digital or analog input.
Source If the variable value source is selected as custom, the value of comparison
parameter number 2 is filled in directly here.
Robert user manual
Case 1
Other instructions
ENDWHILE
Meaning: When GI001 < 2, other instructions between WHILE and ENDWHILE are
circulated. Until the condition is not valid, the instructions running to ENDWHILE will not be
recycled, but continue to run the instructions under ENDWHILE.
Process: Because GI001 = 1 < 2, other instructions between WHILE and ENDWHILE are
circulated. Until the condition is not valid, the instructions running to ENDWHILE will not be
recycled, but continue to run the instructions under ENDWHILE.
Case 2
WHILE (D001<10)
ADD D001 1
ENDWHILE
Other instructions 3
ADD GI001 1
ENDWHILE
Meaning: When GI001 < 2, all instructions between WHILE and ENDWHILE will be run
circularly. When running to WHILE (D001 < 10), D001 < 10 will be judged. If it is valid,
other instructions 2 and ADD instructions will be run circularly until D001 > = 10, jump out of
the intermediate WHILE instructions, continue to run other instructions 3 and ADD
instructions, and then recycle until GI001 > = 2 jumps out. WHILE.
Process: Initial GI001 = 1 < 2, D001 = 7 < 10, so the judgment conditions of the two WHILE
instructions are all valid at first, and the other instructions 2 and ADD instructions between
WHILE (D001 < 10) and intermediate ENDWHILE will be circulated. D001 = 10 will be
added to D001 once per loop. After three loops, D001 = 10 will be added. The intermediate
judgment conditions will not be valid. Continue to run other instructions 3 and ADD GI001 1
instructions, GI001 plus 1 once per loop, and G after running 1 time. I001 = 2, the condition is
not valid, continue to run the instructions under ENDWHILE.
Robert user manual
10.1.6 WAIT
WAIT is waiting, you can select whether there is waiting time. When the "TIME" option is not
checked, the WAIT instruction will remain waiting until the judgment condition is valid. If the
"TIME" option is checked, the next instruction will continue to run after waiting for the parameter
for a long time. If the condition becomes valid while waiting, the next instruction is executed
immediately.
Parameter Meaning
Parameter type The type of the comparison number 1,the input value of a variable or a
number or an analog
Parameter name If the type of the previous selection is a variable (INT, DOUBLE,
BOOL, GINT, GDOUBLE, GBOOL),then here is the variable name of
comparison number 1.
If the type of the previous selection is input value (DIN, AIN), then
here is the port number of the digital input or analog input.
Comparison == equal to
method < less than
> more than
<= less than or equal to
>= more than or equal to
!= not equal to
Variable value The type of the comparison number 2, customize or input values of
source variables or numbers or analogs
New parameter If the type of the previous selection is custom, it is not optional here.
If the type of the previous selection is a variable (INT, DOUBLE,
BOOL, GINT, GDOUBLE, GBOOL), here is the variable name of
comparison number 1.
If the type selected in the previous item is the input value (DIN, AIN),
then here is the port number for digital or analog input.
Source parameter If the variable value source is selected as custom, the value of
comparison number 2 is filled in directly here.
TIME Options, if not selected, wait forever until the condition is valid.
If you selected, you can fill in the waiting time (seconds). After the
waiting time, even if the condition is still invalid, it will jump to the
next line and continue to run.
Robert user manual
Whether continuous If you select "Yes", the PL of the previous instruction and the PL of the
next instruction can be continuous when the conditions are met before
running the instruction. If you choose otherwise, PL will be interrupted.
Case
Instruction: WAIT(GI001==2)T = 2
Meaning: When GI001 is not equal to 2, the program stays in this instruction and waits, but
after waiting more than two seconds it will no longer wait, jumping to the next program to
continue running. If the condition is satisfied during the waiting process, jump to the next line
immediately to continue running.
Process: Because GI001 is not equal to 2, the program stays in this instruction to wait, but
after waiting more than two seconds it will no longer wait, jumping to the next program to
continue running.
10.1.7 LABEL
The LABEL instruction must be used in conjunction with the JUMP instruction. The LABEL
instruction alone is meaningless.
Parameter Meaning
Tag name A string starting with a character, with a maximum length of 8 characters
10.1.8 JUMP
JUMP is used for jumps and must be used in conjunction with the LABEL (label) instructions.
JUMP can set whether there is a judgment condition or not. When set to no judgment condition,
running to the instruction will jump directly to the corresponding LABEL instruction and
continue to run the next line of instructions of LABEL.
When set to have a judgment condition, if the condition is satisfied, jump to the LABEL
instruction line; if the condition is not satisfied, ignore the JUMP instruction and continue to
run the next line of the JUMP instruction.
LABEL tags can be inserted above or below JUMP, but it cannot be jumped across programs.
The label name of LABEL must be two or more characters beginning with the letter.
Inserting LABEL tags has no effect on the running of programs, but it should conform to the
rules of program running, such as not inserting on MOVC instructions or on local variable
definition instructions.
Robert user manual
Parameter Meaning
Tag name The tag name of the LABEL instruction has been inserted, option
Analyzing Option, if selected, you can set the judgment condition.
conditions If it is not selected, it will jump directly after running to JUMP.
Parameter If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
name GINT, GDOUBLE, GBOOL), then here is the variable name of
comparison number 1.
If the type of the previous selection is input value (DIN, AIN), then here is
the port number of the digital input or analog input.
Comparison == equal to
method < less than
> more than
<= less than or equal to
>= more than or equal to
!= not equal to
Variable value The type of the comparison number 2, customize or input values of
source variables or numbers or analogs
New parameter If the type of the previous selection is custom, it is not optional here.
If the type of the previous selection is a variable (INT, DOUBLE, BOOL,
GINT, GDOUBLE, GBOOL), here is the variable name of comparison
number 1.
If the type selected in the previous item is the input value (DIN, AIN), then
here is the port number for digital or analog input.
Source If the variable value source is selected as custom, the value of comparison
parameter number 2 is filled in directly here.
Robert user manual
Case 1
Premise: None
Instructions: MOVJ
LABEL *C1
JUMP *C1
Other instruction 2
Meaning: After running to JUMP instruction, jump to line LABEL*C1 and continue to run
other instruction 1.
Process: After running to JUMP instruction, jump to line LABEL*C1 and continue to run
other instruction 1.
Case 2
Instructions: MOVJ
LABEL *C1
Other instruction 2
Meaning: When running to the JUMP instruction, it is judged, If I001 is equal to 0, jump to
LABEL *C1 line to run other instruction 1. If the condition is not valid, it will not jump and
continue to run other instruction 2.
Note that the ENDUNTIL instruction is inserted at the same time as the UNTIL instruction is
inserted. To delete UNTIL instructions, delete the corresponding ENDUNTIL instructions at
the same time, otherwise the program will not run.
Parameter Meaning
Parameter type The type of the comparison number 1,the input value of a variable or a
number or an analog
Parameter If the type of the previous selection is a variable (INT, DOUBLE,
name BOOL, GINT, GDOUBLE, GBOOL),then here is the variable name of
comparison number 1.
If the type of the previous selection is input value (DIN, AIN), then here
is the port number of the digital input or analog input.
Comparison == equal to
method < less than
> more than
<= less than or equal to
>= more than or equal to
!= not equal to
Variable value The type of the comparison number 2, customize or input values of
source variables or numbers or analogs
New parameter If the type of the previous selection is custom, it is not optional here.
If the type of the previous selection is a variable (INT, DOUBLE,
BOOL, GINT, GDOUBLE, GBOOL), here is the variable name of
comparison number 1.
If the type selected in the previous item is the input value (DIN, AIN),
then here is the port number for digital or analog input.
Source If the variable value source is selected as custom, the value of
parameter comparison number 2 is filled in directly here.
Robert user manual
Case
10.1.10 CRAFTLINE
Process skip instruction. Use with special process. Use with special craft skipping
Parameter Meaning
10.1.11 CMDNOTE
Instructions comments. You can use this instruction to add comments to the appropriate position of
the program for easy debugging
Parameter Meaning
10.1.12 POS_REACHABLE
The judgment instruction is reached. Used to judge whether the target point can be reached. If the
point can be reached, the variable is set to 1, otherwise it is set to 0
Parameter Meaning
example
Prerequisite: BOOL variable A001 has been defined, and position variable P001 has been
defined
Meaning: Determine whether to use MOVJ interpolation to run to P001 position. A001 value
of 1 means reachable, A001 value of 0 means unreachable.
10.1.13 CLKSTART
The CLKSTART instruction is used for timing. Run this command to start timing and record the time
in a local or global DOUBLE variable.
Parameter Meaning
Serial number The serial number of the timer can be counted separately by using 32 timers at
the same time.
Stored variable Store the timed time into the local DOUBLE variable or the global GDOUBLE
type variable.
Save the The variable name of the variable where the time is stored.
variable name
10.1.14 CLKSTOP
The CLKSTOP instruction is used to stop the timing of the timer corresponding to the serial number.
The value stored in the variable will not return to zero after stopping.
Parameter Meaning
10.1.15 CLKRESET
The CLKRESET instruction is used to reset the timer corresponding to the serial number to zero. If
this command is not used, the next time the CLKSTART command is run, the time will be
accumulated.
Parameter Meaning
SUB Less
MUL Multiply
DIV except
MOD mold
SIN Sine
COS Cosine
ATAN Arctangent
IF in case
ELSEIF Otherwise if
ELSE otherwise
WAIT wait
JUMP Jump
READCOMM Read
RESTARTRUN Rerun
11.2 Note
Note: Press the pause button in running mode, and IO pause in remote mode only pauses the main
program, not background tasks.
The program that needs to run in the background task needs to be carried out in "Settings-
Background Task", and its programming is the same as writing ordinary programs.
11.3.1 Notice
Robert user manual
It is best to insert a delay of 0.2s in the WHILE loop and the last line of the entire program.
When editing the background task program, to debug, only the "STEP" single-step operation mode is
provided. To run the debugging as a whole, please insert the PTHREAD_START instruction in the
main program and run it for debugging.
The background task is started and executed only once. It can be used in conjunction with WHILE
instruction if loop judgment is needed.
The background task only starts to run after running PTHREAD_START, and the background
program does not pause when the main program is paused.
When inserting the instruction, click the [value] input box to automatically pop up the established
background task list, select the background task to be run, and click the [OK] button to select the
program.
Robert user manual
When running the main program to the PTHREAD_START instruction, the background task is
started.
When inserting the instruction, click the [Value] drop-down box of the type, select the type of
control, and click the [Value] input box of the program, a list of established background tasks will
pop up automatically, select the background task to be run, and click the [OK] button , The program
will be selected, and it is not selectable for all and main programs.
Note: Pressing the stop key of the teaching box only pauses the main program.
Robert user manual
When the running program reaches the PAUSERUN instruction, all the set tasks, main program, or
background tasks will be suspended.
When inserting the instruction, click the [Value] drop-down box of the type, select the type of
control, and click the [Value] input box of the program, a list of established background tasks will
pop up automatically, select the background task to be run, and click the [OK] button . The program
will be selected, and the main program cannot be selected.
Robert user manual
When the program is running, when it reaches the CONTINUERUN instruction, the main program or
background task will continue to run.
The instruction can be inserted directly by clicking to confirm, no need to set parameters.
11.4.6 RESTARTRUN(Rerun)
Running the RESTARTRUN instruction will rerun all tasks.
Robert user manual
The instruction can be inserted directly by clicking to confirm, no need to set parameters.
Robert user manual
This instruction is used to read the digital input status into a variable, which can be local, global
integer variables (INT, GINT) or local, global floating-point variables (DOUBLE, GDOUBLE).
Variable type: The type of the variable used to store the input status, which can be INT, GINT,
DOUBLE, GDOUBLE.
Variable name: The name of the variable used to store the input status, such as 1001, GD002, etc.
(this variable needs to be defined in advance).
Input group number: It can read 1/4/8 input status at the same time.
IN#-1 input, at this time, 1 channel is a group, and groups 1-16 correspond to ports 1-16
respectively;
IGH#-4 input, at this time, every 4 channels is a group, that is, 1-4 ports, 5-8 ports, 9-12 ports,
and 13-16 ports are 1-4 groups respectively. The group number can be filled in 1-4. If you want
to read the input status of ports 5-8 at the same time, you can fill in the group number 2.
IG#-8 input, at this time, every 8 channels is a group, that is, 1-8 is the 1st group, and 9-16 is the
2nd group. If you want to read the input status of ports 9-16 at the same time, fill in the group
number 2.
If multiple ports are read in at the same time, the port status is converted to decimal and saved in the
variables. For example, read 9-16 ports and 8 channels at the same time, the status are as follows
16 15 14 13 12 11 10 9
0 1 1 0 1 0 0 1
Then the binary value is 01101001, and the conversion to decimal is 105.
Then save in the system as IG#(2)105
12.1.1.2 DOUT
This instruction is used to output digital signals through the digital IO board.
Output group number: 1/4/8 channel IO can be set at the same time.
OT#-1 output, at this time, 1 channel is a group, and groups 1-16 correspond to ports 1-16
respectively;
OGH#-4 output, at this time, every 4 channels are a group, that is, 1-4 ports, 5-8 ports, 9-12
ports, and 13-16 ports are 1-4 groups respectively. The number can be filled in 1-4. If you want
to output ports 5-8 at the same time, you can fill in the group number 2.
OG#-8 output, at this time, every 8 channels is a group, that is, 1-8 is the 1st group, and 9-16 is
the 2nd group. If you want to output ports 9-16 at the same time, fill in the group number 2.
Robert user manual
12.1.1.3 AIN
This instruction is used to read the single port input value of the analog IO version into a variable.
Analog input port: select the input port to be read;
Variable value source: Please select global floating point GDOUBLE or local floating point
DOUBLE variable;
Variable Name: Please select the variable name of the variable you want to read in, such as GD001.
12.1.1.4 AOUT
This instruction is used to set the output value of the single port of the analog IO version. The output
value can be a floating point number.
12.1.1.5 READDOUT
This instruction is used to read the output status of the current digital IO version into a variable. It is
used in the same way as DIN, except that it is read as the output status.
The program of the I/O module can only select the program that has been set in the "Remote Program
Settings" interface.
⚫ Appointment starts immediately: After opening, the first appointment program will be powered
on and run immediately after the appointment is successful.
⚫ When the Teach pendent, touch screen and I/O control equipment are present in the control
system, the priority of the control is Teach pendent > Touch Screen > I/O Control Device.
⚫ After switching to remote mode, control is switched to the touch screen. Switch to I/O control if
there is no touch screen. At this time, the Teach pendent interface only displays the connection
status between Modbus module and I/O module and I/O program.
⚫ When there is a touch screen and an I/O module, setting the I/O module to enable in the touch
screen.
⚫ Remote appointment program supports up to 10
⚫ When the Teach pendent, touch screen and I/O control device are present in the control system,
the priority of the control is Teach pendent > Touch Screen > I/O Control Device.
Robert user manual
⚫ After switching to remote mode, control is switched to the touch screen. Switch to I/O control if
there is no touch screen. At this time, the Teach pendent interface only displays the connection
status between Modbus module and I/O module and I/O program.
⚫ When there is a touch screen and an I/O module, setting the I/O module to enable in the touch
screen.
⚫ When the Teach pendent, touch screen and I/O control device are present in the control system,
the priority of the control is Teach pendent > Touch Screen > I/O Control Device.
⚫ After switching to remote mode, control is switched to the touch screen. Switch to I/O control if
there is no touch screen. At this time, the Teach pendent interface only displays the connection
status between Modbus module and I/O module and I/O program.
⚫ When there is a touch screen and an I/O module, setting the I/O module to enable in the touch
screen.
12.1.5 IO Reset
Robert user manual
When the program stops or reports an error, the IO reset function can restore the IO output port to the
initial state. IO reset is divided into IO reset, switch mode stop, and program error stop.
⚫ IO reset: In the remote mode, give a reset signal, and the robot will execute the action of
returning to the reset point, and at the same time reset the IO port set on the interface to the reset
value.
⚫ Stop mode switching: When the program is running, switching the mode to teaching or remote
mode causes the program to stop, and the IO port set on this interface will be reset to the reset
value.
⚫ Program error stop: A program error (such as a servo error) causes the program to stop, and the
IO port set on the interface will be reset to the reset value.
2. Choose a robot;
3. Click to enter the reset scenario (IO reset, switch mode stop, program error stop);
4. Choose IO board;
5. Turn on the "reset or not" switch corresponding to the IO port that needs to be reset;
12.1.6 IO Configuration
1. Go to {Setting} - {IO} - {IO Configuration}.
2. At this point, the input box is grey and the value cannot be entered.
3. After clicking modify, the modification button becomes save, and the number of virtual IO
boards drop-down box to select the desired virtual IO
Note: Virtual IO is only for program debugging and program demonstration, and there is no IO signal
access
Robert user manual
12.1.7 Enable IO
If using the enable wiring Teach pendent, after connecting the cable, select the corresponding DIN
port on this page and turn on the enable switch. The power-up enable function is controlled by the
input signal of IO board; do not set the non-enable hardwired Teach pendent.
After opening this function, the enable button of the teaching box becomes invalid and cannot be
used.
Robert user manual
For example: set the IO emergency stop signal port to 15 for connecting to anti-collision IO, 1
trigger, 0 release; when DIN15 is triggered, it will report "Robot 1 IO emergency stop is triggered";
Robert user manual
at this time, find DIN15 in the alarm message interface and enter it in the message bar "Trigger anti-
collision", when DIN15 is triggered again, an error "trigger anti-collision" is reported.
I/O program 1-10 Remote Pulse (period When the parameter is 1, the
mode 0.6s) signal is valid when the signal
is 0-1-0, and the program
reservation successfully needs
to trigger at least 0.6 seconds.
Emergency stop 1 Teaching, High level Scan once every 1 millisecond,
running, trigger when scanning
remote
Emergency stop 2 Teaching, High level
running,
remote
Safety light curtain Running High level
1 (in
operation),
remote (in
operation
Safety light curtain Running High level
2 (running),
remote
(running)
Shield emergency Use with When the button is turned on, the emergency stop
stop 1 emergency function is shielded, and the emergency stop
stop signal will be detected again after the set time is
Shield emergency Use with up
stop 2 emergency
stop
Boot prompt No mode Always on, Output high level
restrictions output only at
boot
Robot1 running Teaching, bright Output high level when the
running, program is running
Digital
remote
IO
Robot1 paused Teaching, bright Output high level when the
output
running, program is paused
remote
Robot1 stopped Teaching, bright Output high level when the
running, program stops
remote
Robert user manual
Emergency stop 1 When the High level, low When the parameter is 1, the
signal is level output is high
triggered
Emergency stop 2 When the
signal is
triggered
Pull out the No mode High level, low Click to pull out the teaching
teaching box restrictions level box to output 1 or 0; if the
parameter is set to 0, pull out
the teaching box to output 0,
and set it to 1 after
reconnecting.
Note: This description is based on the example that output 1 is output high level
1. Description of remote mode status
No reservation: After entering the remote mode, there is no reservation for the program, or the
reservation is cancelled after the reservation, it will display no reservation
Appointment in progress: If the appointment is successful, the appointment is displayed
Running: the program is running, display is running
Appointed: the program is completed or the program is triggered to stop, indicating that the program
has been reserved
The speed cannot be modified in the remote mode, and the speed must be modified in advance in
[Settings-Robot Parameters-Running Parameters]
2. Appointment procedure
The IO port that triggers the corresponding program will successfully reserve the program. To cancel
the program, the corresponding IO port must be triggered again.
Start directly trigger the corresponding trigger IO port
Robert user manual
Appointment is to start, signal 0-1 (press the button) for more than 0.6 seconds after 1-0 (release the
button), the program runs directly; when the appointment is to start, the start signal may not be set.
3. Troubleshooting
After the IO function is successfully set, please go to Status-IO Function Status to check whether the
setting is successful or whether there are conflicting functions.
In the remote program setting interface, the program used by touch screen and I/O control module
can be set up.
If there are more than one robot, you can select the robot to be set up at the robot and set up the
procedures of the robot.
The program used in the I/O control module needs to be set up in the I/O functional interface.
The selected program in the remote program interface can be cancelled by clicking on the {Cancel}
button.
The number of running times can be filled in with the corresponding number, and 0 means loop
running.
Interpolation mode: joint, straight line; the motion speed during joint interpolation is 10% of the
global speed, and the motion speed during linear interpolation is 100mm/s; the running speed when
resetting the program is equal to the command speed x the speed in the status bar.
Safety enable: After opening, the program running will judge whether the robot is at the reset point
(safe point), and the program must be at the reset point to continue running the program;
Safety point range: the safety range error of each axis, the range is judged to be at the reset point
(safe point);
Mark the point: Set the current robot coordinates as the reset point, and the setting is successful after
clicking confirm.
The set robot reset point can only be operated at the level corresponding to the port in the "Remote
Program Setting" interface.
⚫ When there are teach pendant, touch screen and I/O control equipment in the control system, the
priority of the control right is teach pendant>touch screen>I/O control equipment.
Robert user manual
⚫ After switching to the remote mode, the control is switched to the touch screen. If there is no
touch screen, switch to I/O control. At this time, the interface of the teach pendant only displays
the connection status of the Modbus module and the I/O module and the I/O program.
⚫ When there are touch screen and I/O module at the same time, set the I/O module enable in the
touch screen.
12.4.3 Programming
Create a new program and insert instructions, and make sure the program runs properly.
12.4.5 Setting IO
In the "IO-IO function" interface, the IO ports and valid values corresponding to each function are
set. When the valid value is 1, the high level is valid, and the valid value is 0 when the low level is
valid.
The function of IO port corresponding to program 1-10 is not to select the program to run, but to
queue the program in remote mode.
remote mode is switched, the IO equipment is invalid and the Modbus equipment is valid. When the
{Enable} button in the Modbus equipment is turned off, the IO equipment is valid.
12.4.8 Running
Given a high level to the operating port, the robot starts to run in the order and number of runs in the
queue. When the servo will not be powered off after running, the program is added to the queue, and
the robot will run the program immediately.
When there is no program in the queue to make it run, then the robot does not move on power-up. At
this time, the program is queued, and the robot immediately executes the program.
2.Find the configuration file modbusAddr.json, in the configuration file configFile+date folder.
4.After opening, you can see a {. . . } Contains a set of address code parameters, the system will
automatically generate an original address code.
5.Modify the address directly to change the number after addr, when the number is 0, the address
code function is invalid
8. Restart after modifying the parameters or reopen the connection to take effect (importing the
configuration file will automatically restart)
Robert user manual
This section uses the Weiluntong touch screen and modbus TCP protocol as examples; the touch screen
model is MT6071iP.
Write program - set Modbus program - set Modbus parameters-switch to remote mode - touch screen
preparation - select program-run
12.6.2.1 Programming
Write program with Teach pendent to be sure normal running.
Connect the touch screen RJ45 network port, the teach pendant network port, and the controller
"teaching box" network port to the same switch.
Touch screen connection controller IP: 192.168.1.13, port: 502.
After the touch screen program is edited and run, the remote interface modbus of the teaching box is
not connected and becomes modbus connected.
to 5 (not effective), and use the touch screen to write 1 to the 4x type address code 71 to confirm the
modification of the number of runs (the number of runs 5 is effective);
11.6.2.7 Running
Use the touch screen to write 1 to 4x type address code 29, and switch to servo ready;
Use the touch screen to write 1 to the 4x type address code 19 to run the job file.
Robert user manual
4. After selecting the number, you need to set the model of each robot and its corresponding servo
model. The order of the robot is determined by the sequence of the controller and the robot in series;
5. After setting all robot models and servo models, press the [OK] button to save;
6.Reboot
⚫ The job file between each robot is not common, and the job file is also switched when switching
the robot.
⚫ When switching robots to different types, the related interfaces will also change. When the
switched robot type is a four-axis SCARA robot, the "DH parameter setting", "user coordinate
system setting", "joint parameter setting", "robot zero position", "servo status", "IMOV
instruction insertion" and other interfaces will be displayed Switch to the mode of the current
robot axis number;
⚫ The coordinate system on the right side of the interface will also change. How many axes the
current robot has and how many axes are displayed there.
When the mode selection key is in "Running Mode" and "Remote Mode", press [Rob button] to
switch between each robot and enter multi-machine mode. The interface is as follows:
Press [Select Program] to choose among various programs, the interface is as follows:
Robert user manual
After selecting the program, click the [Open] button in the operation area at the bottom of the
interface to set the current program as the program running by the current robot.
⚫ Operation area
In this mode, only operations to start and stop running programs can be performed.
Click the [Robot 1] button, [Robot 2] button, [Robot 3] button, [Robot 4] button in the operation area
at the top of the interface to switch the display interface of each robot.
Click the [Start] button in the operation area on the right side of the interface to select the operation
of the program for the current robot.
Click the [Stop] button in the operation area on the right side of the interface for the operation that
the robot stops during the current running process.
Click the [Servo Preparation] button in the operation area on the right side of the interface to enter
the servo preparation state for the current robot.
Click the [Clear Errors] button in the operation area on the right side of the interface to clean up the
servo errors that have occurred in the current robot.
Click the [Set Times] button in the operation area at the bottom of the interface to set the operation to
stop after the current robot runs.
Click the [Cycle Mode] button in the operation area at the bottom of the interface to set the current
robot running times to an infinite running operation.
Click the [Select Program] button in the operation area at the bottom of the interface to set the
program currently running by the robot.
The [START] and [STOP] physical buttons on the teach pendant are for all robots. After pressing, all
robots will start or stop running.
Please use two identical six-axis robots for two-machine cooperation. For configuration of two
robots, please refer to the multi-machine mode setting.
Please fill in the same values for the joint parameters and DH parameters of the two robots.
Note 1: Turn off the dual-computer cooperation button, you need to restart the controller system; turn
it on without restarting.
Note 2: If the number of robots is greater than 2, the dual-machine cooperation function will be
automatically closed when restarting.
After enabling the dual-machine cooperation, the first robot is the master robot and the second robot
is the slave robot. Please use the [Rob] button at the bottom of the teach pendant to switch the teach-
in master-slave robot. After switching to the slave robot, "R2" will be displayed on the currently
operating robot in the status bar above the teach pendant. Do not use the [Jog] button to switch to
Robot 2 teaches.
Robert user manual
The instructions to control the simultaneous movement of two robots are MOVJDOUBLE,
MOVLDOUBLE, MOVCDOUBLE, MOVCADOUBLE, which are that the two robots use joint
interpolation to move to the position point and linear interpolation to move to the position point.
Robert user manual
If you connect the camera to your computer, you will get the IP address of the camera itself. If you
are using the computer as a vision server, you will need to connect the camera to your computer via
the Ethernet port of the controller.
number is 1;
if the data receiving and receiving USES different ports, the port number is 2;
Camera: Here you can select the client and server. If the camera selects the client, the machine is
the server, and the camera needs to be actively connected, and the machine is responsible for receiving
information; conversely, if the camera selects the server, the machine is the client and the machine is
required. To send information to the camera.
Port number 1: if port number is 1, this is the port number commonly used by data sending and
receiving; if port number is 2, this is the port number for visual server to receive data;
Port number 2: when port number is 2, this is the port where the visual server sends data;
Timeout: when this time is exceeded, it is judged to be a connection timeout and the connection is
stopped. It is not restricted when filling in 0. Identify only one target: when selected, the camera
identifies only one target at a time.
Send height information: When selected, the camera sends the height data that recognizes the
German target
I/O: Use the I/O panel to give the camera a signal. Here you need to set the port that sends this
signal in the I/O.
Ethernet: Generally the default is Ethernet transmission. When the camera receives the "TRG"
(or user-defined character string) here, it should reply to the controller with coordinate values.
In order to prevent the address parameters passed by the camera from exceeding the range that the
robot can reach, the maximum range that the robot can reach is specified.
Calibration method can be done by manual instruction or filled in directly.
Process number: 1-9 process numbers are provided, and each process number saves all the visual
range parameters under the process number.
Range calibration: calibrate the maximum and minimum values of XYZ axis
Robert user manual
Calibration completed: record all the calibrated values in the maximum and minimum values.
After the setting is completed, you can press the DEADMAN button and click the [Trial Photo]
button to take a photo test, and the data sent by the camera will be displayed at the camera
coordinates and received data. After taking a photo, you can press the DEADMAN button to power
on and click the [Run to this point] button to move the robot to the photo location to verify the
accuracy.
Robert user manual
Example format: according to the connection parameters that have been set in the vision
parameter settings, the verification arrangement is performed. For example, in the connection
parameters, the frame header is W, the separator is #, the end is $, and the height information is sent,
the format is W#x#y#angle#h#$
Receiving data: the information sent back by the camera after taking a photo, click Yes to take
a photo to receive this data.
Conveyor technology number: the conveyor technology number that needs to be debugged.
Take a photo: Press and hold the DEADMAN button to power on, and click the [Photo] button
to take a photo test. The data sent by the camera will be displayed on the left [Original Point].
Calculate the offset: After taking a picture, turn on the conveyor belt to transfer the workpiece
for a certain distance. Click Calculate the offset and the offset will be displayed on the right [Point
Position after Offset].
Run to here: After taking a photo, you can select a point and click the [Run to here] button on
the premise of pressing and holding the DEADMAN button to power on to move the robot to the
photo location to verify the accuracy.
14.6.2 VISION_TRG
Visual trigger command, the controller sends a trigger signal after running this command. The
specific trigger mode is set in the visual process-visual parameter setting interface. Select IO trigger,
run this command to send out the corresponding IO signal; select Ethernet mode, run this command
to send a custom string to the camera.After running this command, it will wait for the return value
of the vision server, and continue to run the next command after getting the position.
14.6.3 VISION_POSNUM
Record the number of visual positions command, and put the number of positions obtained into a
global variable. This global variable can be used for calculation and judgment.
14.6.4 VISION_POS
Put the first point in the visual position queue into a global position variable, and both the number of
positions in the buffer and the variable value set by POSNUM are reduced by 1.
Function Put the points in the queue into the global position variable
VISION_POS
Parameter Craft number Craft No. 1-9
Robert user manual
14.6.5 VISION_CLEAR
Reset the vision process and clear the current state, including the number of vision positions that
have not been running, and the vision positions.
14.6.6 VISION_END
End the visual process and clear the current state.
Function End the visual process and clear the current state
VISION_END
Parameter Craft number Craft No. 1-9
14.8.1Crawl app
Point
⚫ P001:Safe point
⚫ P002:Unwinding point
Robert user manual
NOP
WHILE (GI001 > 0) If the number of remaining position points is greater than 0, it will
always loop
VISION_POS ID = 1 G001 Put the position in the queue into the G001 variable
ENDWHILE Jump out of the loop when the position in the queue is 0
END
IO
⚫ DOUT1:Jaws,1Grab,2open
Programming
Robert user manual
The robot stops immediately: during the tracking process, it is sent to an unexpected stop, the robot
stops this tracking, returns to the safe point and waits for the next tracking signal, and waits for the
timeout period of 2min.
The robot continues to run: the conveyor belt stops unexpectedly during the tracking process, and the
robot does not stop and continues to follow the previously planned trajectory.
⚫ Time
The compensation time.
⚫ Encoder value
The compensation encoder value.
Conveyor coordinate system calibration, calibrate 3 points, calculate the user coordinate system of
the conveyor belt, and select the user coordinate system process number to set in the basic
information;
Step 1: Place a pointed calibration cone on the conveyor belt, move the conveyor belt to move the
calibration cone on the conveyor belt to the robot's range of motion, move the robot to the workpiece,
and align the tip of the robot tool with the tip of the calibration cone, click Calibration.
Robert user manual
Step 2: Teach the robot to raise the robot slightly, continue to move the conveyor belt, move the
robot to the calibration cone as far away as possible and within the movement range of the robot, the
tip of the robot tool is aligned with the tip of the calibration cone, and click the calibration button.
Step 3: Move the calibration cone to make a certain displacement relative to the previous point in the
positive direction of the Y-axis of the conveyor, and within the robot's motion range, move the robot
so that the tip of the robot tool is aligned with the tip of the calibration cone, and click the calibration
button.
Robert user manual
Step 4: Lift the robot a certain distance, click the calculation button, and the calibration is completed.
If the sensor is used to identify the workpiece, the sensor needs to be calibrated on this interface;
If the visual is used to identify the workpiece, the visual needn’t to be calibrated on this interface, just
skip it.
Robert user manual
Step 1: Prepare a workpiece with a tip, place it at the width of the conveyor belt when it is working,
and install a sharp cone on the robot flange; move the conveyor belt, make the workpiece move past
the sensor position, trigger IO, and then continue to move the conveyor belt. Move the workpiece to
the calibration point within the robot's range of motion, move the robot to the workpiece, align the tip
with the tip; click the calibration button.
Step 2: Remove the calibration cone and the robot tip tool hand, and replace it with the actual work
piece and gripper; run the robot to the actual grasping height and posture, and click the calibration
button.
Robert user manual
Step 3: Click the calculation button,and then the calibration parameters are stored.
This interface is used to set some key positions and tracking ranges of the robot in the tracking
process.
⚫ Tracking start X point
This parameter only records the value of the conveyor coordinate X axis (conveyor running
direction). During each tracking, only the workpiece exceeds this position, the robot will track.
Robert user manual
When the robot is in the previous tracking process, and the next workpiece has exceeded the tracking
start X point position, the robot will directly perform the tracking process of the workpiece after
completing the previous tracking process.
If the robot is not in the tracking process at this time, and the workpiece has not reached the X point
position of the tracking start at this time, the robot will wait at this position.
15.2 Programming
15.2.1 CONVEYOR_ON instruction
Conveyor belt tracking start instruction.
The maximum speed of the conveyor belt tracking process, the range is 1-9999.
⚫ ACC
Start to detect external data instructions. After running this instruction, the controller starts to detect
the coordinate value sent by the external device, and then queues the coordinate value.
15.3 Example
15.3.1 Use sensors and MOVJ trajectory
NOP
MOVJ P001 VJ = 20% PL = 0 ACC = 20 DEC = 20 Move to initial safe location
CONVEYOR_CHECKPOS ID = 1 Start detecting external data
TIMER T = 1 Delay of 1 second
WHILE (GI001 == 1) Inner loop, loop tracking
CONVEYOR_ON G001 ID = 1 V = 100 mm/s ACC = 20 Start conveyor belt tracking
TIMER T = 1 Stay over the workpiece for one second
MOVJ G002 VJ = 20% PL = 0 ACC = 20 DEC = 20 Walk the track on the workpiece
MOVJ G003 VJ = 20% PL = 0 ACC = 20 DEC = 20 Walk the track on the workpiece
MOVJ G004 VJ = 20% PL = 0 ACC = 20 DEC = 20 Walk the track on the workpiece
CONVEYOR_OFF ID = 1 End of the track
ENDWHILE Cyclic Tracking
CONVEYOR_CHECKEND ID = 1 Stop detecting data
END
15.3.2 Use sensors and the external dot function to follow the trail
When using this feature, only the insert CONVEYOR_ON instruction, the point P, G point selection
{External point}, and insert MOVCOMM under CONVEYOR_ON instructions.
NOP
MOVJ P001 VJ = 20% PL = 0 ACC = 20 DEC = 20 Move to initial safe location
CONVEYOR_CHECKPOS ID = 1 Start detecting external data
TIMER T = 1 Delay of 1 second
WHILE (GI001 == 1) Inner loop, loop tracking
CONVEYOR_ON OUTP ID = 1 V = 100 mm/s ACC = 20 Start conveyor belt tracking
TIMER T = 1 Stay over the workpiece for one second
MOVCOMM Use the external point function to follow the trajectory
CONVEYOR_OFF ID = 1 End of the track
ENDWHILE Cyclic Tracking
CONVEYOR_CHECKEND ID = 1 Stop detecting data
END
Robert user manual
⚫ In this interface, you can set whether the modbus is connected, the protocol used by the modbus
connection, the controller is the modbus master/slave, and the parameters when connected.
Robert user manual
16.2.2 Example
Need to send 88 points. Since only 32 points can be sent each time, it needs to be divided into 3
transmissions, and the number of transmissions is 32, 32, and 24 respectively.
The process is as follows:
1. PLC set 1003 to 32, set the value of each address code used to store the data, set 1001 to 1, set
1002 to 1;
2. The controller detects that 1002 is 1, and 1001 is 1, and then takes out the data of the point to store
the address code according to the value of 1003, and then sets 1002 to 0;
3. PLC detects 1002 bit 0, set 1003 to 32, set the point to store the address code data, and then set
1002 to 1;
4. The controller detects that the value of 1002 is 1, and 1001 is 1. According to the value of 1003, it
takes out the data of the point to store the address code, and then sets 1002 to 0;
5. The PLC detects that the value of 1002 is 0, set 1003 to 24, set the point to store the address code
data, set 1001 to 2, and set 1002 to 1;
6. The controller judges that 1002 is 1, and 1001 is 2. According to the value of 1003, it takes out the
data of the point to store the address code, then sets the value of 1002 to 0, and then sets 1001 to 0.
16.2.3 Instructions
16.2.3.1 MOVCOMM
This instruction is used to move the points stored in the controller according to the set interpolation
mode.
Parameter Value Remarks
Interpolation Joint The interpolation mode during movement, all
method Straight points are moved in this interpolation mode.
Line
Speed Interpolation method is The maximum speed during movement
joint, ranges from 0 to 100
Robert user manual
Other interpolation
methods, ranges from 0 to
9999
PL 0-5, 0 can be filled when Smooth transition
the interpolation mode is
curve
Acceleration Acceleration during Maximum acceleration during movement
movement
Deceleration Deceleration during Maximum deceleration during movement
movement
Robert user manual
⚫ IP: When the controller is used as a server (the mode is selected as server), here is the controller
IP without modification. When the controller acts as a client, it needs to be set to the IP of the
server in the network.
⚫ Frame header: In data communication, the frame header is used when the controller receives a
message from an external device.
⚫ Separator: In data communication, the separator is used when the controller receives a messages
from an external devices.
⚫ Terminator: In data communication, the terminator is ued when the controller receives a
message from an external device.
17.1.2 Instructions
17.1.2.1 SENDMSG Instruction
This instruction is used to send data to the connected external device, and can send character strings
and variables. Strings and variables can be mixed and sent. Sending information to external
equipment does not use the frame header, separator, terminator, and base set in the "Settings-
Network Communication" interface.
Robert user manual
17.1.2.2PARSEMSG instruction
This command is used to parse a set of data from external devices.
This instruction will store the data from the external device in multiple global variables. This
instruction will set the first variable.
For example:
Frame header: SS
Separator:,
Terminator: EE
The first variable type of the PARSEMSG instruction is GDOUBLE, and the first variable name is
GD004.
External device sending data: SS,100.11,11.1,5,44,102,77.88,EE
The EXPLAIN instruction stores these 6 values in GD004, GD005, GD006, GD007, GD008, and
GD009, respectively.
17.1.3 READCOMM
Read the point sent by Ethernet or Modbus and store it in the position variable, and store the number
in the numerical variable.
Note: The method of use is the same as "External Point Function".
Parameter Meaning
Process number The process number of the network
Communication Use Ethernet communication or Modbus communication
method
Position Global position variable, local position variable can be selected
variable type
Position Position variable name; store the received point, multiple point position variables
variable name are extended, for example, the command position variable is filled with G003, and
3 points are received, then they will be stored in G003, G004, G005 respectively
Variable type Optional global integral type, local integral type
Variable name Variable name; store the number of points received
Note: Currently only Modbus is available.
17.1.4 OPENMSG
Robert user manual
Open the network communication corresponding to the process number. After running the
OPENMSG command, the communication is opened.
Parameter Meaning
Process The process number of the network communication to be opened.
number
17.1.5 CLOSEMSG
Close the network communication corresponding to the process number. After running the
CLOSEMSG instruction, the communication is closed.
Parameter Meaning
Process The process number of the network communication to be closed.
number
17.1.6 PRINT
Screen output instructions. Custom characters can be output.
Parameter Meaning
Output Output characters. Any character can be entered
characters
17.1.7MSG_CONN_ST
Read the network communication status to the corresponding global or local BOOL variable. If
communication is normal, it will be stored as 1; if communication fails, it will be stored as 0.
Parameter Meaning
Process The process number of the network communication to determine the connection
number status.
The type of Save the communication status to local BOOL variables or global GBOOL
saving variable variables.
Stored variable The variable name of the variable storing the communication status.
name
Robert user manual
Robert user manual
Once opened, it will start to connect to the ftp server and upload data. Turn on the switch after all the
parameters are filled in.
When the this switch is turned on, data collection and uploading will be automatically started.the
power-on will automatically start collecting and uploading data.
⚫ Upload method
Currently only the ftp protocol is supported. So please have an ftp server before using this feature.
⚫ File format
Currently, files in csv and txt format are supported. The contents of the file are the same and the file
format is different. CSV format is more convenient for data statistics.
⚫ Server IP
The IP address of the ftp server, please ensure that the controller is in the same network as the ftp
server, and that its gateway is same.
(The controller gateway is modified in Settings - System Settings - IP Settings)
⚫ Port
The port used by the ftp server’s ftp protocol. The port used by the general ftp protocol is 21.
⚫ Username
The username used to log in to the ftp server. You need to create the user in the ftp server first.
⚫ Password
⚫ Path
The path to upload the file to the ftp server. This path is the path relative to the ftp root directory
⚫ Data collection cycle
At regular intervals, the controller collects the current data and stores it in the file to be sent.
⚫ Data upload cycle
At regular intervals, the controller will send the file with collected data to the directory specified by
the ftp server.
⚫ Whether to send the description document
The description file shall be sent before the first sending of the data after starting up or turning on the
{Data Transfer Switch}. Custom content is generally used to describe the current robot sequence
number and other information. If this switch is off, the documentation will not be sent.
Content of Description file: Robot-R1, year-month-day, hour: minute: second, local IP, local MAC,
technical department, machining parts, 1-axis motor speed, 2-axis motor speed, 3-axis motor speed,
4-axis motor speed, 5-axis motor speed, 6-axis motor speed, 1-axis motor torque, 2-axis motor
torque, 3-axis motor torque, 4-axis motor torque, 5-axis motor torque, 6-axis motor torque, 1-axis
motor load, 2-axis motor load, 3-axis motor load, 4-axis motor load, 5-axis motor load, 6-axis motor
load, current controller status, current error code.
Data document file name: Robot-R1_year-month-day_hour: minute: second_DATA
Content of Data : Robot-R1, year-month-day, hour: minute: second, local IP, local MAC, 1-axis
motor speed, 2-axis motor speed, 3-axis motor speed, 4-axis motor speed, 5-axis motor Speed, 6-axis
motor speed, 1-axis motor torque, 2-axis motor torque, 3-axis motor torque, 4-axis motor torque, 5-
axis motor torque, 6-axis motor torque, 1-axis motor load, 2-axis motor load, 3-axis motor Load, 4-
axis motor load, 5-axis motor load, 6-axis motor load, current controller status, current error code.
The format of the data written is as follows:
Description document file name: Robot-R1_ $Y%-$m%-$d%_ $H%:$M%:$S%_INFO
Content of Description: Robot-R1, $Y%-$m%-$d%, $H%: $M%: $S%, $IP%, $MAC%, Technical
Department, Processed Parts, $RPM_J1%, $ RPM_J2%, $RPM_J3%, $RPM_J4%, $RPM_J5%,
$RPM_J6%, $Torsion_J1%, $Torsion_J2%, $Torsion_J3%, $Torsion_J4%, $Torsion_J5%,
$Torsion_J6%, $Load_J1%, $Load_J2%, $Load_J3%, $Load_J4%, $Load_J5%, $Load_J6%,
$StatusCode%, $ErrorCode%
Data Document File Name: Robot-R1_ $Y%-$m%-$d%_ $H%:$M%:$S%_DATA
Content of Data: Robot-R1, $Y%-$m%-$d%, $H%: $M%: $S%,$IP%, $MAC%, $RPM_J1%,
$RPM_J2%, $RPM_J3%, $RPM_J4%, $RPM_J5%, $RPM_J6%, $Torsion_J1%, $Torsion_J2%,
$Torsion_J3%, $Torsion_J4%, $Torsion_J5%, $Torsion_J6%, $Load_J1%, $Load_J2%,
$Load_J3%, $Load_J4%, $Load_J5%, $Load_J6%, $StatusCode%, $ErrorCode%
*The parameters related to the axis need to be manually input that axis, such as 1 axis relates to
speed: $RPM_J% needs to write 1 after J
Robert user manual
Note:Display the "error" type log firstly when entering the log interface.
2. Click on the "Type" tab above to switch the types of logs to view.
3. After select a log, click on the {Details} button below to view the log details.
Log description
Robert user manual
The log types include all, debug, operation, warning, and error. There are two types of logs:
"operation log" and "error log".
Operation log: This type of log saves the user's basic operations, such as creating new programs,
renaming programs and inserting instructions.
Error log: This type of log saves all system error and servo error information, including error code,
error time, error type, error content, solution and other information.
You can import the controller log into the U disk by Click on the {Export Controller Log} button in
the system settings interface. The controller log is the most commonly used when looking for the
cause of a robot error.
Specific steps are as follows:
1. Insert a U disk in the "FAT32" format into the USB interface of the Teach pendent;
2. Enter the "Settings - System Settings" interface and the "Loggings" interface of the Teach pendent;
3. Click on the {Export Controller Log} button in the system settings interface and click on the
{Export} button in the system loggings interface to export 5/30/100 logs.
4. The export is complete. The controller's logs are stored in the “controller Log-current date and
time” directory on the U disk. The Teach pendent's logs are stored in the “controller Log-current date
and time” directory's teachbox.db file.
Robert user manual
20.1.1 DH parameters
To modify the DH parameters, it is necessary to enter the {Settings} - {Robot parameters} - {DH
parameters}.
The relevant steps are as follows:
1. Enter the interface {Settings} - {Robot Parameters} - {DH Parameters};
Six axis
Four-axis palletizing
2. Click on the [Modify] button at the bottom;
3. Filling in according to the actual situation of your robot;
4. Click on the parameter value you want to modify (such as L2), then a soft keyboard will appear,
input the number you want to replace, and click on OK;
Robert user manual
3. After clicking on the modification button, the modification button becomes save button, and the
input box becomes white, so that the values can be input after the respective parameters;
The model direction is set according to the joint positive direction sketch below. The '+' keys of each
axis should be in the same direction as the joint positive direction sketch. Choose 1 the same, and
choose -1 the opposite.
⚫ Actual direction of joint
The actual direction of the joint is set relative to the direction of the model (below is the positive
direction of the joint legend). Choose 1 in the same direction as the model, and choose - 1 in the
opposite direction, and set it according to the actual needs.
⚫ Gear backlash
Whenever the joint moves in the opposite direction, compensate the angle of the filled value.
J1 counterclockwise
Four-axis J2 up
palletizing J3 up
J4 counterclockwise
J1 counterclockwise
J2 up
Four-axis joint
J3 up
J4 up
J1 counterclockwise
J2 up
5-axis joint J3 up
J4 counterclockwise
J5 down
J1 counterclockwise
Two-axis SCARA
J2 counterclockwise
J1 counterclockwise
Three-axis
J2 counterclockwise
SCARA
J3 down
One axis J1 counterclockwise
Encoder multi-turn value overflow counting function: Turn on the button to use this function.
Minimum value of multi-turn value: fill in according to the servo parameters of the main body.
Maximum value of multi-turn value: fill in according to the main body servo parameters.
Robert user manual
3. After clicking on the modification button, the modification button becomes save button, and the
input box becomes white, so that the values can be input after the respective parameters;
⚫ The current position coordinates of one or more axes can be set to zero coordinates. At this time,
the zero coordinates of the axis which are not set are the original zero coordinates.
CAUTION
-Without calibrating the origin position, teaching and playback operations can
not be carried out.
-In a multi-robot system, each robot must be calibrated its origin position.
-When there is a coupling relationship between the joint axes, such as the
common coupling relationship between the fifth axis and the sixth axis of the
robot, the zero data recorded by the sixth axis will be valid only when the fifth
axis must be in the zero position, otherwise, the zero data recorded by the sixth
axis will be invalid. Therefore, the zero data of the sixth axis must be recorded in
the zero position of the fifth axis. If there is no coupling relationship, each axis
can be independently calibrated zero position, and their respective zero position
will not affect the zero position of other joints.
-When all the axes used (body axis and auxiliary extension axis) are zero-
calibrated, the "all" indicator lights on the zero-calibration interface become
green, indicating that the robot has completed the zero-data calibration, and the
robot can move in Cartesian space. It will not affect the zero position of other
joints.
CAUTION
Please be careful to operate, this operation will cause the robot encoder value to be cleared, resulting
in the zero point data saved by the original factory to be cleared.
It may cause the following problems:
1. The robot loses accuracy;
2. The robot cannot operate normally;
3. The previously established point cannot be operated.
Clear multi-turn values of all axes: Clear the multi-turn values of all axes of the robot at one time.
(excluding external axes)
Clear after each joint: clear the multi-turn value of the axis.
CAUTION
Please be careful to operate, this operation will cause the robot encoder value to be cleared,
resulting in the zero point data saved by the original factory to be cleared.
It may cause the following problems:
1. The robot loses accuracy;
2. The robot cannot operate normally;
3. The previously established point cannot be operated.
Robert user manual
3. After clicking on the modification button, the modification button becomes save button, and the
input box becomes white, so that the values can be input after the respective parameters;
Robert user manual
* Whether to enable the dual-machine synchronization mode is only valid when both robots are 6-
axis robots
1. Click on the [Modify] button;
2. Select the robot interpolation methods;
Robert user manual
Six-axis, six-axis special-shaped one, four-axis, four-axis SCARA, four-axis palletizing, one-axis,
five-axis, two-axis SCARA, three-axis SCARA, three-axis right angle, three-axis special-shaped one,
four-axis special-shaped one.
⚫ Number of external axis groups
The external axis type supports ground rail, single-axis/double-axis positioner, and supports up to 3
groups of external axes, the total number of axes is up to 5, and there can only be one ground rail.
⚫ Servo serial number
Servo corresponding serial number and model.
⚫ The currently supported servo types are as follows
Inexbot X3EB
Robert user manual
Huatai
Huatai
Huatai PWM
Mengtong Mengtong
R1
R1_PWM
INEXBOT R2
R3
R4
Open the interface {Settings}- {Robot Parameters} - {Servo Parameters}, in which the parameters of
the servo can be viewed.Currently only supports Detron and Huacheng servo read modification.
20.1.10 NP parameter
Open the [Settings]-[Robot Parameters]-[NP Parameters] interface, this interface for the drag
teaching, collision detection and other functions of the human-robot collaborative robot.
*Please do not reverse the maximum and minimum values; it supports calibration of 9 interference
zones at the same time.
The [External axis calibration] interface contains the calibration status of the set external axis group
and the current collaborative external axis group number.
O1 (lower axis): The positive direction is the opposite direction for the robot.
O2 (Upper Rotating Axis): The positive direction is anticlockwise from top to bottom.
External axis calibration:
⚫ Earth orbit calibration: After setting up the earth-orbit joint parameters and gear rack
ratio, turn on the cooperation switch to consider it has been calibrated
Return to the zero point of the external axis double axis, and find a calibration point on the external
axis rotating disk.
PC1: The O2 axis starts from the origin and rotates in the positive direction to about +100 degrees,
and the tip of the tool hand is aligned with the calibration point of the external axis.
PC2: O2 axis rotates to +50 degrees in the negative direction, and the tip of the tool hand is aligned
with the calibration point of the external axis.
PC3: O2 axis rotates back to the zero position, the tip of the tool hand is aligned with the calibration
point of the external axis.
PC4: O1 axis rotates to +25 degrees in the positive direction, and the tip of the tool hand is aligned
with the calibration point of the external axis.
PC5: O1 axis is rotated in the positive direction to about +50 degrees, the tip of the tool hand is
aligned with the calibration point of the external axis.
Click calculate after calibration.
⚫ Calibration of single-axis flip positioner:
P1 is about +50 degrees in the positive direction, and the tip of the tool hand is aligned with the
calibration point of the external axis.
P2 is about +25 degrees in the positive direction, and the tip of the tool hand is aligned with the external
axis calibration point.
P3 is the origin of the external axis, the tip of the tool hand is aligned with the calibration point of the
external axis.
⚫ Single-axis disc positioner calibration:
P1 is +100 degrees in the positive direction, the tip of the tool hand is aligned with the calibration
point of the external axis.
Robert user manual
P2 is about +50 degrees in the positive direction, the tip of the tool hand is aligned with the
calibration point of the external axis.
P3 is the origin of the external axis, the tip of the tool hand is aligned with the calibration point of the
external axis.
CAUTION
Please be careful to operate, this operation will cause the robot encoder value to be cleared, resulting
in the zero point data saved by the original factory to be cleared.
It may cause the following problems:
4. The robot loses accuracy;
5. The robot cannot operate normally;
The points that have been established cannot be operated.
Robert user manual
Clear multi-turn values of all axes: clear the multi-turn values of all external axes of the robot at one
time.
Clear after each joint: clear the multi-turn value of the axis.
CAUTION
Please be careful to operate, this operation will cause the robot encoder value to be cleared, resulting
in the zero point data saved by the original factory to be cleared.
It may cause the following problems:
1. The robot loses accuracy;
2. The robot cannot operate normally;
3. The previously established point cannot be operated.
Encoder multi-turn value overflow counting function: Turn on the button to use this function.
Minimum value of multi-turn value: fill in according to the servo parameters of the main body.
Maximum multi-turn value: fill in according to the main body servo parameters.
Four-axis SCARA
Positive installation
Inverted installation
⚫ Length
The pole length parameter needs to be filled in as shown in the model diagram on the DH page.
Inaccurate filling will affect the robot motion accuracy.
⚫ Coupling ratio
Robert user manual
Please refer to the Inexbot commissioning manual for the calculation of the coupling ratio.
⚫ Pitch
The pitch of the connecting rod responsible for the up and down movement in the four-axis SCARA
(for the four-axis SCARA is 3 axes, for the four-axis SCARA profiled is 1 axis).
Make sure that the robot is in this position and click to set all joints to zero.
Note: Do not power on the robot to operate the robot before the DH parameters, joint parameters, and
zero are set.
Robert user manual
CAUTION
-The origin position calibration is not performed, and the teaching and zero
return operations cannot be performed.
-For systems with multiple robots, each robot must perform origin position
calibration.
-When there is a coupling relationship between the joint axes, such as the
common coupling relationship between the fifth axis and the sixth axis of a
robot, the fifth axis must be at the zero position, the zero data recorded by the
sixth axis will be valid, otherwise, the sixth axis The zero point data recorded
by the axis is invalid. Therefore, the zero position data of the sixth axis must
be recorded with the fifth axis in the zero position. If there is no coupling
relationship, each axis can be individually calibrated to the zero position, and
their respective zero positions will not affect the zero positions of other joints.
-When all the used axes (main axis and auxiliary extension axis) have
completed zero calibration, the "all" indicator on the zero calibration interface
turns green, indicating that the robot has completed the calibration of the zero
data and the robot can perform Movement in Cartesian space.
After setting, you can power on and jog the external axis, click the external axis button
on the teaching box or the external axis shortcut keys in the teaching box. The status
Click the calibration button on the DH parameter interface to enter the 4-point
calibration interface.
Robert user manual
Point A, Point B, Point C, and Point D form a rectangle; fill in the lengths of L1 and L2 after
calibrating the 4 points, click Calculate, confirm that the calculation result is correct, and then click
to fill the result into the DH parameter.
If you are not satisfied with a certain point after calibration during the calibration process, you can
click the [Cancel Calibration] button corresponding to the row to cancel the calibration and calibrate
the point again.
After calibrating a point, you can click [Run to this point], and the robot will run to that point.
Move the robot to another position, and then click [Run to calculation result position], the robot will
move to the original calibration position, which is equivalent to the robot zero position.
[Mark the result position as zero point]: Set the position after calibration compensation as the zero
point position of the current robot.
[Clear all calibration points] The calibration points will be saved in the controller, and the calibration
results will be cleared only after clicking to cancel calibration, clear all calibration points, and switch
tools to manually enter the calibration interface.
CAUTION
The posture of each point, please try to take the posture in any direction. If the posture taken is
rotated in a certain direction, sometimes the accuracy is not accurate.
Please keep the reference point fixed during the calibration process, otherwise the calibration error
will increase.
Click the [Demo] button at the bottom to open the "Demo" interface and explain how to perform tool
calibration.
Click the [Return] button at the bottom to return to the "Tool Hand Calibration" interface.
Robert user manual
Number of grippers: The number of grippers, according to the actual situation, up to 4 grippers can be
set.
Tool number of gripper X: Set the tool number corresponding to the gripper, and calibrate the tool
parameters in advance.
Parameter value: The parameter value is the offset of the end of the tool which can only be selected
and cannot be calibrated.
User coordinate system: tray coordinates, select the user coordinate to calibrate the tray coordinate
(user coordinate) according to the needs. If the coordinate system position is changed in the user
coordinate calibration, the coordinate system will also be changed here.
Note: Please use the tool selected by the gripper 1 to calibrate. When the user coordinate (tray
coordinate) is not calibrated and the user coordinate parameter value is 0, the rectangular coordinate
system will be used by the robot.
When marking the X and the Y directions, it must be based on the original X and Y directions of the
robot and be rotated, otherwise, the marked Z direction of the tray will be downward, and the second
layer will be downward when palletizing.
Work point: The first feeding point (or the last feeding point if it is a unloading process), will offsets
with the position of the workpiece automatically.
Auxiliary point: It can be used in conjunction with the workpiece point to make the workpiece safer
to be placed at the workpiece point. It is usually set above the feeding point. If the workpiece needs
to be rotated, it will be rotated before reaching the auxiliary point, which will be offset with the
position of the workpiece automatically.
Entry point: The entry point of the tray. In order to prevent the robot from colliding with other
objects, try to set the safe position of the robot as the entry point. This point will offset along the z-
axis following the position of the workpiece automatically.
Mark the point: The robot moves to the position first, then marks the point.
Run to this point: the value of the tag can only be moved to the point of the tag after Click oning
save; when not saved, the point to be moved is the point of the previous mark. To move to that point,
press the {DEADMAN} key and Click on the button.
Note: Please use the gripper to set the selected tool for position marking.
Length, width and height are respectively the YXZ direction lengths in the tray coordinate system
(user coordinate system)
Length: the length of the workpiece in the Y direction in the tray coordinate system
Width: the length of the workpiece in the X direction in the tray coordinate system
High: the length of the workpiece in the Z direction in the tray coordinate system
Tray Y direction clearance: Y-axis direction in the tray coordinate system, the length of the gap
distance between two workpieces
Tray X direction clearance: X-axis direction in the tray coordinate system, the length of the gap
distance between two workpieces
Number of layers: the total number of layers, fill in according to the actual number
Repeated relationship: the repeated relationship between layers. If select the same, each layer uses
the same graphic template; if select alternate, then the graphics templates of each two layers
alternate; and if choose user-defined, the user selects the graphics template used for each layer
The same: each layer of graphic templates are the same, the palletizing is the same graphic template.
When this option is selected, only the first layer of the list on the right can be modified. After the
modification, all the layers below will be changed.
Alternate: Two graphic templates are used alternately. After selecting this item, only the first two layers
of the right list can be modified. After the modification, all the layers below repeat the graphic number
of the two layers.
Robert user manual
Compensation for the height of the unloading point: after filling in, the height of the unloading point
of all workpieces will be offset. If the value is positive, it will be offset to the Z+ direction. If the value
is negative, it will be offset to the Z-direction (this parameter is invalid when unloading)
Robert user manual
Fixed point height: after selected, the uploading height of each palletizing is the same, and the height
is the marked height of the workpiece point (only valid when palletizing)
Vertical alignment: after selecting vertical alignment, will palletizing one vertical column before the
next vertical column.
Robert user manual
Automatic layer alignment: If the middle layer is selected for automatic alignment, then the template
of each layer will be aligned automatically, and the X-axis Y-axis offset will be calculated
automatically
Auto-rotate attitude: After being selected, when palletizing, the tool cannot reach the auxiliary point
and feeding point with an inherent attitude, but it will automatically rotate when the tool's attitude is
rotated once. This function is only effective at auxiliary points and workpiece points using joint error
repair time.
Robert user manual
(overall rotation angle is 180 degrees, added layer auto alignment or set XY translation compensation)
Workpiece selection angle (row-column template, crisscross template, back-shaped template): the
angle at which all the workpieces of the graphic template are rotated clockwise with respect to the
angle of the first workpiece.
Preview: Preview the set of graphic templates, which can be used to check whether the graphic template
is set correctly.
Robert user manual
Rows-columns: the workpiece orientation of the entire layer of the graphic template is consistent, and
the palletizing is placed in sequence.
Crisscrossing: The workpiece direction has horizontal, vertical and crisscross arrangement (the number
of X-directions of the template is the number of workpiece lengths on the X-axis, and the number of
Y-directions is the number of workpiece lengths on the Y-axis)
Back-shaped: There are four workpieces in one layer, arranged in back-shaped (the third workpiece
rotates 180 degrees from the first, the second workpiece rotates 90 degrees clockwise from the first,
and the fourth workpiece rotates 90 degrees anticlockwise from the first)
Robert user manual
Total number of workpieces per layer: total number of workpieces for the template。
X offset: offset of the workpiece relative to the first workpiece point on the x-axis
Y offset: offset of the workpiece relative to the first workpiece point on the Y axis
Rotation angle: the angle at which the workpiece rotates relative to the angle of the first workpiece
point
Proximity direction: there are nine approaches from the auxiliary point to the workpiece point (vertical,
1, 2, 3, 4, 5, 6, 7, 8,)
Robert user manual
Height correction: after filling in, when palletizing the workpiece, the height of the workpiece point,
auxiliary point and entry point will be offset. When the value is positive, it will be offset in the direction
of Z+; when the value is negative, it will be offset in the direction of Z-. In this way, the height of the
workpiece point, auxiliary point and entry point can be corrected.
Drag settings: In addition to filling in the XY offset, user-defined can also drag and drop the workpiece
directly.
Note: before entering the drag settings, the total number of layer workpieces should be set in the user-
defined. Click on {Save}, and then click on {Modify and drag settings}. After the drag setting is
completed, Click on the save button in the drag setting, go back to the user-defined interface, Click on
{Save} again, and save the drag result to the controller.
3. Decrease usage is consistent with increase. Click Decrease, and the workpieces can be deleted in
reverse order. For example, there are currently 11 workpieces. After clicking delete, workpiece 11
will be deleted, and the total number of workpieces will be 10.
Robert user manual
2. The button opens and drags the entire canvas, but it does not affect the workpiece coordinates.
2. Fill in the step value, which is also the value of offset X and Y, for example, fill in 1
3. Select the workpiece and click X+. For example, select workpiece 6, click X+, and the workpiece
will be offset by 2mm in the positive direction of X axis
7. For example, when the angle is filled with 90, click forward rotation, the workpiece rotates 90
degrees clockwise; the method of using reverse rotation is the same as forward rotation.
8. The overall offset usage method is the same as the single piece
Current workpiece X, Y function demonstration
1. For example, when workpiece 6 is selected, the interface displays the coordinates of the workpiece
as X=2, Y=5
2. Fill 3on the X axis and 3 on the Y axis, you can see that the workpiece has been offset to the
filled position.
Robert user manual
Current use type: simple palletizing, complete palletizing common palletizing number, need to set the
correct type before use.
Number of grippers: the number of grippers is set according to the actual situation.
Tool number of gripper X: set the corresponding tool number of the gripper, and calibrate the tool
parameters in advance.
Parameter value: the parameter value is the offset at the end of the tool, which can only be selected and
cannot be calibrated.
⚫ Initial workpiece point: the position point of the first workpiece when palletizing.
⚫ Column end: the position of the last workpiece in the palletizing column (X axis of the user
coordinate).
⚫ Line end: the position point of the last workpiece in the direction of the palletizing line (Y axis
of the user coordinate).
⚫ High end: the position point of the first workpiece on the last layer when palletizing.
⚫ Auxiliary point: the auxiliary point of palletizing is recommended to be set above the starting
workpiece point.
⚫ Entry point: the entry point of palletizing is recommended to be set as a safety point outside the
tray.
⚫ Number of layers: the total number of layers of palletizing.
⚫ Number of rows: the total number of palletizing lines.
⚫ Number of columns: the total number of palletizing columns.
Current use type: simple palletizing, complete palletizing common palletizing number, need to set the
correct type before use.
Process number: after the process number is selected, user need be sure that the current use type of
palletizing is set.
Program name: English letter beginning is required.
Function: palletizing and unloading.
Mark the point: Click on the corresponding point to calibrate the point.
Run to this point: Click on to run to the point to verify whether the point location teach is correct.
Robert user manual
Handheld solenoid valve: gripper IO output signal and solenoid valve DOUT port must be set. The
function of generating files only supports 1-way output. If multi-way output is needed, it can be
returned to the project after the operation file is generated to modify the output signal instructions.
Feeding permit signal: wait for the feeding permit signal before stacking and feeding, and choose
according to your own situation.
Gripper to take the material success signal: judge the grasp to take the material success signal.
Current palletizing total: cache the value of the current palletizing total variable into the set variable.
Current palletizing level: cache the value of the current palletizing level variable into the set variable.
Palletizing number of the current layer: cache the value of the palletizing number variable of the
current layer into the set variable.
Judge the end of palletizing: after palletizing is completed, change the value of variable to break out
of the while loop.
Robert user manual
Current layer number: the number of layers currently being coded/total number of layers (if stacking
needs to start in the middle, just set the number of layers to be coded).
Number of coded workpieces in current layer: number of coded workpieces in current layer/total
number of workpieces in current layer (if palletizing needs to start in the middle, just set the number
of coded pieces).
Reset: Clear the recorded palletizing data.
Note: At the beginning of palletizing, the 3 count variables of the PALON instruction will be directly
written to the configuration, without the need to use the FORCESET instruction to write files.
22.7.2 PALGRIPPER
22.7.3 PALENTER
PALENTER P o
a c
r e
a s
m s
e n
t u
e m
r b
s e
r
I Joint interpolation,
n linear interpolation,
t circular interpolation
e
r Joint interpolation:
p the robot will
o move to this point
l by joint
a interpolation
t
i
o
n
m
e
t
h
o
d
22.7.4 PALSHIFT
P u
a m
r b
a e
m r
e I Joint interpolation,
t n linear interpolation,
e t circular interpolation
r e
s r
p
o
l
a
t
i
o
n
m
e
t
h
o
d
Joint interpolation: the robot will move to this point
by joint interpolation
Linear interpolation: the robot will move to this
point in by linear interpolation
Circular interpolation: the robot will make an arc
palletize with the other two points (MOVJ/MOVL
and MOVC)
D Deceleration range 0-
E 100
C
E PALSHIFT ID=2 MovJ VJ=30 PL=2
x ACC=20 DEC=20
a
m
p
l
e
22.7.5 PALREAL
e I Joint interpolation,
t n linear interpolation,
e t circular interpolation
r e
s r Joint interpolation:
p the robot will move
o to this point by
l joint interpolation
a Circular
t interpolation: the
i robot will form a
o circular path with
n the other two
m points (the
e previous point
t insert
h MOVJ/MOVL, the
o next point movc)
d
V Speed range 2-9999
J
P Smooth transition
L range 0-5
A Acceleration range 0-
C 100
C
DEC Deceleration range 0-100
22.7.6 PALCLEAR
22.7.7 PALOFF
v
a
r
i
a
b
l
e
v 0、1
a
r
i
a
b
l
e
n
a
m
e
E PALOFF ID=1 A001
x
a
m
p
l
e
Click on the {Next page} to enter tray settings (or click on {Back to navigate} to enter tray
Settings)
Calibrate the tray coordinate system (user coordinate system) according to the actual tray, and Click
on {Save}.
Note: tool calibration is required when calibrating the pallet. The Z axis of the calibrated coordinate
system cannot be downward.
Click on the {Next page} to enter position settings (or click on {Back to navigate} to enter position
settings)
Calibrate workpiece point, auxiliary point and entry point according to the actual situation, and click
on {Save}.
Note: calibration needs to be done by tool.
On the following page into the workpiece parameter settings (or click on {Back to navigate} to the
workpiece parameter Settings)
According to the actual situation to fill in size parameters of the workpiece, set to long here "50",
"30", "15" high, clearance is 0. Click on the {Save} on the following page to proximity parameter
settings (can also click on {Back to navigate} to enter parameter settings).
Setting up according to the actual situation, you can skip it if you don't need it.
Click on the {Next page} into overlapping mode settings (or click on {Back to navigate} to overlap
mode).
Number of layer can be written according to actual condition, the number is set to "10", the
relationship between the overlapping is set to the "same", choice of the first layer graphics number
"1", don't fill in the other parameters, click on {Save}.
Click on the next page into plane mode settings (or Click on back to navigate to plane mode).
Select graphic number "1", template "crisscross", number in X direction "1", number in Y direction
"3", other parameters are not filled in, click on {Save}, and can click on {Preview} to view the set
graphic template.
Note: Integral rotation is the integral rotation of 180 degrees at the center of the first workpiece.
Click on {End} to complete parameter setting.
Robert user manual
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 1 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for Discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A00 End of palletizing
Robert user manual
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 6 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A001 End of palletizing
Open {Process - Palletizing process - Complete palletizing - Overlapping mode}, fill in "50" for each
height correction and Click on save.
Refer to scenario 1 for additional parameter setup steps.
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 1 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A001 End of palletizing
Robert user manual
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 1 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A001 End of palletizing
Robert user manual
Click on the right {Menu bar - Process - Palletizing process - Complete palletizing}
Process number 1 is selected here according to the actual situation
Click on the {Gripper settings}.
Select the gripper and choose according to the actual situation. Here, choose the number of gripper
and the tool number of gripper 1 (the tool number of gripper is the tool number, and the gripper needs
to be set in the interface of {Setting - tool calibration}). Here, you can only choose not to calibrate,
and click on {Save}.
Click on the {Next page} to enter tray settings (or click on back to navigate to enter tray Settings)
Calibrate the tray coordinate system (user coordinate system) according to the actual tray, and click
on {Save}.
Note: The calibration tray needs to be calibrated by tool. The Z axis of the calibration coordinate
system cannot be downward.
Click on the {Next page} to enter position settings (or click on {Back to navigate} to enter position
settings)
Calibrate workpiece point, auxiliary point and entry point according to the actual situation, click on
{Save}.
Note: When calibrating, it needs to be calibrated with a tool. The point of unloading workpiece is still
calibrated according to palletizing. Unloading is to start from the last workpiece at the highest level.
Click on the {Next page} to enter workpiece parameter settings (or click on {Back to navigate} to
enter workpiece parameter Settings)
Fill in the size parameters of the workpiece according to the actual situation. Set the length "50",
width "30" and height "15" here, and the gap is 0. Click on {Save}.
Click on {Next page} to enter proximity parameter Settings (or click on {Back to navigate} to enter
proximity parameter Settings)
You can skip it if you don't need it
Click on the {Next page} to enter the overlap mode setting (or click on {Back to navigate} to enter
the overlap mode)
Fill in the number of layers according to the actual situation. Here, set the number of layers to "10"
and the overlapping relationship to "the same"
Click on the {Next page} to enter plane mode Settings (or click on {Back to navigate} to flat mode)
Select graphic number "1", template "crisscross", number in X direction "1", number in Y direction
"3", other parameters are not filled in by default, click on {Save}, Click on preview to view the set
graphic template.
Note: the whole rotation is the whole rotation of the first workpiece center 180 degrees
Click on {End} to complete parameter setting of process number 1.
Robert user manual
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
PALON ID = 1 TYPE = 1 {-} {-} {-} MULTI = 0 Unloading began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
PALSHIFT ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20
Reclaiming auxiliary point
PALREAL ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20
Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20
Reclaiming auxiliary point
PALOFF ID = 1 A002 Unloading began
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Discharging cargo entry point
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Auxiliary point for discharging cargo
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Auxiliary point for discharging cargo
NOP Start
BOOLEAN A001 = 0 Insert the variable
BOOLEAN A002 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
PALCLEAR ID = 2 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
PALON ID = 1 TYPE = 1 {-} {-} {-} MULTI = 0 Unloading began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
PALSHIFT ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALREAL ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 20 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALOFF ID = 1 A002 Unloading end
PALON ID = 2 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 2 GRIPPERS = 1 Gripper choice
PALENTER ID = 2 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 2 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 2 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 2 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 2 A001 End of palletizing
ENDWHILE End of Looping
END End
Robert user manual
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 1 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A001 End of palletizing
NOP Start
BOOLEAN A001 = 0 Insert the variable
PALCLEAR ID = 1 Clear unprecedented palletizing data
WHILE (A001 == 0) Looping statements
MOVJ P001 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming inlet point
WAIT (DIN4 == 1) T = 10 Reclaiming judgment
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
MOVJ P002 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming workpiece point
DOUT OT#(5) 1 Signal of reclaiming
TIMER T = 1 Time delay
MOVJ P003 VJ = 30 % PL = 0 ACC = 20 DEC = 20 Reclaiming auxiliary point
PALON ID = 1 TYPE = 0 {-} {-} {-} MULTI = 0 Palletizing began
PALGRIPPER ID = 1 GRIPPERS = 1 Gripper choice
PALENTER ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20 OFF OFF
Discharging cargo entry point
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALREAL ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Discharging cargo workpiece point
DOUT OT#(5) 0 Signal of discharging cargo
TIMER T = 1 Time delay
PALSHIFT ID = 1 MovJ VJ = 30 % PL = 0 ACC = 20 DEC = 20
Auxiliary point for discharging cargo
PALOFF ID = 1 A001 End of palletizing
Robert user manual
Weld back function: At the end of welding, the welding gun will receive a signal, and the welding
wire will withdraw to prevent collision with the workpiece when going to the next welding spot;
Arc break function: The welding current exceeds the rated load rate of the welder, and the welding
machine has a short-term protection. The arc is broken, and the welding wire is drawn back to
prevent adhesion to the workpiece;
Arc extinguishing analog zero setting function: Analog voltage and current return to zero;
Arc detection T: the arc starting signal is sent when the welding starts, and the arc is detected for a
certain delay time;
Robert user manual
Arc detection confirmation time: it is used to set the continuous time when the system detects the
successful arc initiation signal, that is, the system defaults to the successful arc initiation only when
the system continuously detects the successful arc initiation signal and continues to set the parameter;
Arc exhaustion detection time: it is used for the continuous time when the system detects the
withdrawal of the successful arc initiation signal. The system considers arc extinction successful only
when the parameter is set when the system continuously detects the withdrawal of the successful arc
initiation signal.
Early air T: this parameter is used to set how long in advance the arc starts before the protection gas
is sent. During welding, in order to prevent the welding wire from being oxidized by air, the protection
gas needs to be sent, and it cannot wait until the welding, so the gas needs to be sent in advance.
Delay shut-off T: this parameter is used to set how long the arc extinguishing delay is before the
protective gas is off. After the arc extinguishing signal is sent, the welding wire has not been cooled
yet. If the protective gas is stopped at this time, oxidation will still occur, so the gas needs to be delayed
off.
The input box below the function setting is whitened. You can enter the value after the respective
function.
Select the appropriate label at the welding parameter label. At this time, the welding parameter value
cannot be filled in. After clicking modify, the modification button becomes save and the welding
parameter value can be modified.
Welding parameter label: there are so many choices wire, low carbon steel wire, alloy structural steel
wires, alloy structural steel and non-ferrous metal welding wire, welding wire, stainless steel wire of
different wire need different arc voltage and arc current, arc starting time, welding voltage, welding
current, arcing voltage, arcing current, arcing time, anti-sticking wire voltage, anti-sticking, anti-
sticking silk filament current time, so you can set 1 to 10 different parameters of welding wire, later
have to do is call;
Arc starting voltage, current, time: the voltage, current and time applied when heating the welding
wire;
Welding voltage and current: the voltage and current applied during welding;
Anti-sticking wire voltage, current, time: at the end of welding, after the controller gives the arc
extinguishing signal to the welding machine, in order to prevent the welding wire from cooling and
sticking, a strong pulse is given to make the welding wire fuse.
Arc extinguishing voltage: refers to the highest power frequency voltage allowed to be applied to
the arrester under the condition that the arrester can extinguish the arc when the power frequency
continuous current crosses the zero value for the first time. The arc extinguishing voltage should be
greater than the highest power frequency voltage that may appear on the working bus of the arrester,
otherwise the arrester may explode because it cannot extinguish the arc.
Arc extinguishing current: the current given by the arc extinguisher when arc extinguishing is
needed during welding;
Robert user manual
Arc extinguishing time: according to different arc extinguishing media, the arc extinguishing time is
different, generally in milliseconds.
Flying arc: in the process of moving from other points to the starting point of welding, start the
setting of {advance air supply process/welding setting/welding equipment}, setting
The robot moves from the point W1 to the welding starting point P001. When the robot still needs 4s
to move to the point P001, the robot starts to supply air. When it reaches the point P001, the robot
starts to arc directly. For example, it takes 10s for W1 to move to the point of P001.The robot starts
to supply air at 6s, while it reaches the point of P001 at 10s, and starts to arc at the same time.
When the robot's movement time from W1 to the welding starting point P001 is less than 4s, it will
stay for a period of time after reaching P001 before starting the arc. For example, it takes 1s for W1
to move to P001, and it takes 1s to move to P001. The robot will stay at P001 for 3s, and it will start
arcing at 4s.
Arc starting without flight: after moving from other points to the starting point of welding, air supply
is started in advance;
After the robot moves from point W1 (other points) to the welding starting point P001, it starts to air
supply. When 4s comes, the robot will start to arc.
Robert user manual
Click on the {Modify} and the {Modify} button becomes {Save}. The current and voltage input box
becomes white. You can enter a value after the respective parameter.
The voltage and current sent by the controller to the welding machine are proportional to
the actual voltage and current of the welding machine. Connect the controller with the
welding machine, open the Teach pendent, and the interface is shown in the figure. Set a voltage
parameter at V1, click on {Send}, and you can see a corresponding voltage will appear on the
Robert user manual
welder. Fill the voltage into V1, and operate as above at V2. In this way, the voltage on the controller
can be set. Similarly, the current can be set.
3. Click on {Save} and the modification is successful.
2. When the welding enablement is turned on, the robot performs the welding function.
Manual arc starting mode: when the robot moves from the welding starting point P001 to the
welding ending point P004, turn on the welding enabling, the robot will start the arc, and turn off the
welding enabling, the robot will extinguish the arc;
For example, in the running mode, when the robot is in motion, the welding enabling is turned on at
P002 and the welding enabling is turned off at P003. Then, when the P002 is moved to P003, the
robot maintains the arc starting status; when the P003 is moved to P004, the robot maintains the arc
extinguishing status.
When the robot moves from W1 (other points) to the welding starting point P001, turn on the
welding enable, and the robot will not arc; After reaching P001, the robot will arc.
Robert user manual
No manual arc starting mode: when the robot moves from the welding starting point P001 to the
welding ending point P004, the welding enabling key is invalid (even if the welding enabling key is
turned on, the robot will not start the arc).
Manual spot welding: Click on modify, change the modify button to save, set the spot welding
current, spot welding voltage, maximum time, and Click on save. Press the manual spot welding
button for a long time (press and hold is effective, but release is not effective) to carry out welding.
Release the button, and the robot stops welding.
Maximum time: the maximum time the manual spot welding button is allowed to be held down. For
example, if the maximum time is set to 5s, hold down the manual spot welding, and the robot welds
5s, beyond 5s. Even if the manual spot welding button is held down, the robot will not weld.
The purpose of setting the current and voltage is to confirm and correct whether the current and
voltage match;
Set current: enter the current value in the input box. Click on "set" and the corresponding value will
be displayed.
For example: enter 200 in the input box, Click on Settings, the welder will display 200A.
Robert user manual
Set voltage: enter the voltage value in the input box, Click on "set", the welding machine will display
the corresponding value.
For example: enter 200 in the input box, Click on Settings, and the welder will display 200V.
3. Click on back to modify successfully.
4. In order to facilitate the use of welding, we now add {Process mode}/{Welding} in the status bar.
Click on the {Welding} button, a manual welding window will pop up.
Its function is consistent with {welding setting} - {manual operation}.
Swing welding is a welding operation in which the heat source of the welding seam swings regularly
on the welding part. The effect diagram of swing welding is shown below.
There are two swing modes, sine and zigzag; swing frequency, swing amplitude, initial direction,
horizontal deviation Angle, vertical deviation Angle and other different parameters can be adjusted,
which can be set according to the actual needs of the industrial site.
1. The parameter input box is gray and cannot input values, among which 9 swing welding files are
available;
2. Select the swing welding file to be modified, Click on the modify button at the bottom, and all input
boxes become inputable.
3. Click on the {Save} button to complete the save after input.
Note: The effective value of the welding speed of the welding gun anti-collision in the IO emergency
stop function is valid below 100mm/s, and the anti-collision may be invalid if it exceeds 100mm/s.
The specific data size is related to the sensitivity of the welding gun anti-collision device.
3. Calibration before use can reduce the error. Click on calibration to enter the calibration interface.
If you don’t know how to calibrate, there is a demo button in the interface, you can view it, as shown
in the figure.
Robert user manual
2. Enter {Process/welding setting/welding parameter setting} and set the welding parameters.
All parameter values have no specific meaning and are only used as examples.
Use case
Robert user manual
Instruction meaning:
1. The robot moves to the welding starting point P001.
2. ARCON#1(including 4s advance air delivery time and 1s arc detection time).
Start arc starting, perform welding parameter no. 1.
0~4s,4s's advance air feeding time (at 0s, start air feeding, detect gas, gas detection signal
output high level, that is, DO port 1-4 light on; After 4s, the arc starting signal is provided,
that is, the DO port 1-1 light is on at 4s.).
4~5s,1s arc detection time (if the successful arc initiation signal detected within 1s is high
level, that is, the DI port 1-1 light is on, and the program continues to run; if not, an error of
"waiting for arc initiation signal timeout" will be reported)
3. Robot moves to welding end point P002.
In this process, the robot starts the welding function. The arc starting voltage is 100V, the
arc starting current is 10A, and the arc starting time is 10s.
Welding voltage is 200V, welding current is 20A.
(All values correspond to the actual voltage and actual current of "current and voltage
3. Move the robot to the end of welding, click on the {Insert}, select {motion control class},
select {MOVL}, click on the {Ok}, modify the speed value, click on the {Ok}.
4. Click on the {Insert}, select {Welding control class}, select {ARCOFF}, click on the
{Ok}, and click on the {Ok}.
Two Track confirmation: after the program is written, turn the key and switch the teaching box
from teaching mode to operation mode. Click on the {Star} to confirm whether the robot's
running track is correct and meets the needs.
Three Welding: Welding: after confirming the correct running track, the machine can perform
the welding function only when the welding enable is turned on; Welding enable opening
method: switch the teaching box to teaching mode, Click on the {Process} button in the upper
right corner, and the pop-up box 1 will appear.
All parameter values have no specific meaning and are only used as examples.
Use case.
Operation meaning
The meanings of steps 1~2, 3~4 and 6 are referred to the usage cases of arc welding;
3 WVON#1
Swing welding begins. Execute the parameters in swing welding file 1. (if it is WVON#2, swing
welding begins. Execute the parameters of swing welding file 2).
m 1000
Oscillation frequency F = V 60
min S mm
Robert user manual
m
v 1000
min
The amplitude of oscillation S =
F Hz 60
F Hz S mm 60
Welding speed V =
1000
Start direction +1, start from a certain point and go upward first:
Starting direction -1, start from a certain point and go down first:
Original graphics:
Operating steps:
One Program preparation: Click on {Project}, click on {New}, enter the program name, click on
{Ok}.
1. Move the robot to the welding starting point, click on the {Insert}, select {motion control
class}, select {MOVL}, click on the {ok}, change the speed value, click on the {ok}.
2. Click on the {Insert}, select {Welding control class}, select {ARCON}, click on the {Ok},
enter the file number (the file number corresponds to the value in the welding parameter setting
interface), and click on the {ok}.
3. Click on the {Insert}, select {Welding control class}, select {WVON}, click on the {Ok},
and enter the file number (the file number corresponds to the value in the interface of swing
welding parameters).
4. Move the robot to the end of welding, click on the {Insert}, select {motion control class},
select {MOVL}, click on the {ok}, modify the speed value, click on the {ok}.
5. Click on the {Insert}, select {Welding control class}, select {WVOFF}, click on the {ok},
Click on {ok}.
6. Click on the {Insert}, select {Welding control class}, select {ARCOFF}, click on the {Ok},
Click on the {Ok}.
Two Track confirmation: after the program is written, turn the key and switch the teaching box
from teaching mode to operation mode. Click on {Star} to confirm whether the robot's running track
is correct.
Three Welding: after confirming the correct running track, the machine can perform the welding
function only when the welding enable is turned on; the case of arc welding in the enabling mode is
described;
All parameter values have no specific meaning and are only used as examples.
Operational meaning:
The meanings of steps 1~2, 3~4 and 6 refer to welding cases.
3 TIGWELDON Fish scale welding begins
The robot arcs, and the robot welds 2s (that is, T=2s) at P001, and then the robot arcs out and walks
3mm (that is, L2=3mm) to W1.
The robot arcs at W1, welds 2s at W1, arcs out, and walks 3mm to W2.
①Arcing,②Welding 2 s,③Arc extinction,④Empty go 3mm. Cycle the previous 4 steps until
running to the end of welding (P002).
5 TIGWELDOFF Fish scale welding is finished
Robert user manual
The robot starts arc starting from point P001 and runs from L1 to point W1 (the distance between
P001 and W1 is 3MM, i.e., the welding distance). Then the robot stops arc and walks 3MM (i.e., L2=
3MM) to point W2.
The robot arcs at W2, and the robot welds to W3 while running from W2. Then the robot arcs out and
walks 3mm to W4.,
Operating steps:
One Program preparation: Click on the {Project}, click on the {New}, enter the program name,
click on the {Ok}
1. Move the robot to the starting point of the welding.
2. Click on the {Insert}, select {Motion control class}, select {MOVL}, click on the {Ok},
change the speed value, click on the {Ok}.
3. Click on the {Insert}, select {Welding control class}, select {ARCON}, click on the {Ok},
enter the file number (the file number corresponds to the value in the welding parameter setting
interface), and click on the {Ok}.
4. Click on the {Insert}, select {Welding control class}, select TIGWELDON, click on the
{Ok}, and select fish scale welding type: select 1: select T // select 2: select L1 for the first line
of parameters, and enter the corresponding value;
Robert user manual
5. Move the robot to the end of welding, click on {Insert}, select {Motion control class},
select {MOVL}, click on {Ok}, modify the speed value, click on the {Ok}.
6. Click on the {Insert}, select {Welding control class}, select {TIGWELDOFF}, click on the
{Ok}, click on the {Ok};
Click on the {Insert}, select {Welding control class}, select {ARCOFF}, Click on the {Ok},
and click on the {Ok}.
Two Track confirmation: after the program is written, turn the key and switch the teaching box
from teaching mode to operation mode. Click on the {Star} to confirm whether the robot's running
track is correct.
Three Welding: after confirming the correct track, the machine will perform the welding function
after turning on the welding enable. The case of enabling open mode arc welding is described.
Robert user manual
Seven points are calibrated according to the figure. When calibrating, ensure that the welding seam
surface is parallel to the laser, and the laser must be perpendicular to the welding seam. During the
calibration process, the posture needs to be kept unchanged. At the same time, make sure that each
point of the calibration can be seen in the debugging software without jitter. After calibrating the
seven points, it can move to this point to check, and then click to calculate if there is no error. If the
point is inaccurate during the positioning process, you need to recalibrate the laser or tool.
Parameter table number: one number corresponds to a kind of weld, and corresponds to the type of
weld.
Laser task number: corresponding to the weld type, fill in according to the weld type description of
the laser manufacturer.
Seek type:
(1) Benchmark state searching: after calibrated the search point, the robot will convert the searched
point into a variable, and insert the instruction to walk to the point;
(2) Correction state searching: According to the needs of the workpiece or weld, after selecting 1-4
points for reference positioning, the weld can be translated and rotated left and right on the plane
according to the number of points, and the robot tool hand can still find and follow the weld. It is
usually used for welding a large number of the same workpieces in the same batch.
x direction compensation: compensate a certain length in the tool coordinate system of the weld
position recognized by the laser
Y direction compensation: Same as above
Z direction compensation: Same as above
Dynamic positioning distance: the robot’s dynamic state searching distance, you need to visually
check how far you can reach the weld, otherwise you cannot find the weld
Dynamic seek speed: the speed during dynamic state searching
Dynamic seek point selection: According to the read-write cycle and dynamic state searching
distance, calculate how many points the laser will read within the distance. Also, when the laser just
touches the weld, there will be height errors or interference from other directions of non-weld gaps,
which must be filtered out to ensure the points can be accurately found by dynamic state searching.
coordinate system, then the point or weld in the original user coordinate system will become the
point or weld of the calculated user coordinate system. Three-point offset is supported One-point or
two-point offset function and rotation offset;
24.3.1 1D offset
Use case: After single-point state searching, the workpiece can only move in one direction, and the
positioning direction must be the same as the offset direction.
State searching offset: Use offset commands to compensate errors when welding a large number of
workpieces. There are different usages for single-point to four-point offsets, depending on the actual
situation. Use the calculated G002 offset to calculate the G001 offset point. P002 can be replaced
with the required weld.
Note: Before executing the search offset function, be sure to perform a benchmark state searching to
make the robot record the reference position of the workpiece. Perform the correction state searching
again to perform the offset function. (The " state searching parameter setting" is introduced in the
front of the document)
24.3.2 2D offset
After the two-point state searching, when the workpiece is not rotating, only the offset in the XY
direction occurs
Search end: turn off the laser, the file number should be the same as the beginning.
State searching calculation: Select a few-dimensional offset according to the location of the state
searching point and the actual situation. The two offset directions are G001 and G002, and the offset
amount is G003.
State searching offset: Use offset commands to compensate errors when welding a large number of
workpieces. There are different usages for single-point to four-point offsets, depending on the actual
situation. Use the calculated offset of G003 to calculate the offset points of G001 and G002. P007-
P008 can be replaced with the track you want.
As shown in the figure: the dynamic state searching preparation point at point a; the start point of
dynamic state searching at point b; the robot moves in the direction of vector ab to find the position,
Robert user manual
and the welding wire touches the workpiece and stops immediately to indicate the state searching
position; the state searching distance (point b is the starting point), speed is set in the process
parameters.
If it is required to return automatically after finding the position, the robot will automatically return
from c to d (return distance and speed are set in the parameters). Select in the arc state searching
process parameters: benchmark state searching, configure other parameters; run the program, the
program will stop at the state searching calculation command (normal), and close the benchmark
state searching switch in the parameters. Run the program again, the 6th line will calculate the
displacement vector of the workpiece offset and save the displacement in the position variable G010;
the 7-9th lines will offset the weld as a whole according to the displacement in G010.
Take two points through the arc and give the point data to the robot. The robot walks at two points to
form a straight line. In the instruction, two or four state searching points are needed.
point or weld of the calculated user coordinate system. Three-point offset is supported One-point or
two-point offset function and rotation offset;
25.3.1 1D offset
Use case: After single-point state searching, the workpiece can only move in one direction, and the
positioning direction must be the same as the offset direction.
Robert user manual
25.3.2 2D offset
After the two-point state searching, when the workpiece is not rotating, only the offset in the XY
direction occurs
Robert user manual
Communication status: When the laser is turned on, it will display connected.
Read and write timeout time: If the laser does not receive data in a few seconds when reading and
writing, it will time out.
Read and write cycles: The number of milliseconds it takes for the host computer to read and write
data once.
Laser return value scale factor: the ratio of the actual coordinate value to the coordinate value
returned by the laser.
Response timeout: The timeout period between the robot query command and the laser response
command during communication with the laser.
Seven points are calibrated according to the figure. When calibrating, ensure that the welding seam
surface is parallel to the laser, and the laser must be perpendicular to the welding seam. During the
calibration process, the posture needs to be kept unchanged. At the same time, make sure that each
point of the calibration can be seen in the debugging software without jitter. After calibrating the
seven points, it can move to this point to check, and then click to calculate if there is no error. If the
point is inaccurate during the positioning process, you need to recalibrate the laser or tool.
Parameter table number: similar to the process number of other processes, the parameters of
different users can be saved, which can be selected in the instruction.
Laser task number: corresponds to the previous device number.
Tracking mode: (1) Absolute type is precise tracking. In the case of known weld seams, accurate
tracking can be performed by locating the starting point or directly moving to the vicinity of the weld
seam. Accurate tracking can ensure that the tool hand can be accurately moved along the weld as
long as the laser can recognize the weld, even if the weld is offset or the tool hand changes posture
during the tracking process. (For the time being, only linear movement is supported)
(2) Incremental type is fuzzy tracking. Fuzzy tracking is used when there is no need for too precise
tracking. After calibration, the robot tool hand will remain motionless on the weld, and will only
move in the direction perpendicular to the weld according to the movement of the weld.
Sensitivity: Laser sensitivity during incremental tracking.
x direction compensation: compensate a certain length in the tool coordinate system of the weld
position recognized by the laser
Y direction compensation: Same as above
Z direction compensation: Same as above
Outlier handling: The robot will stop when it encounters an unrecognized point during tracking (For
the time being, only stop is supported to ensure that the robot will not run away because it cannot
find the point).
Abnormal point allowable length: the length of the laser sweep to the non-weld point.
How long to open the end point: After teaching the end point of the weld, calculate the point to fill
in the distance, and the robot will stop when it reaches it.
End point confirmation length: the maximum distance traveled after reaching the end point.
Seek hold function: In the fuzzy tracking, according to the taught welding seam to make up the
difference, after reaching a certain position, it will keep tracking at that position.
Seek hold trigger time: compensation time during fuzzy tracking, suitable for short welds.
P002 P003
used for real-time scanning and tracking. The height of the welding torch can only be maintained at
the calibration height when making up the difference along the weld.
After the sensor is installed, the host computer displays the result. Note that the laser line is in the
middle of the image after the sensor is installed;
1) Adjust the one-axis detection mode so that the weld tracker can detect the weld stably;
2) When installing the sensor, pay attention to adding an insulating board. Don't make the weld
tracker and the welding gun directly contact to prevent the sensor from being burned out;
3) After the sensor is installed, ensure that the laser line is located in the middle of the image as much
as possible, and ensure that a large part of the laser line is in focus.
2. The robot industrial computer (192.168.1.13), the Teach pendent (192.168.1.245), the laser
industrial computer (192.168.1.1), and the laser host computer (192.168.1.177) are connected to the
switch by the network cable to form a local area network; (IP is in the same network segment, check
the network connectivity by {ping} these URLs separately from the host computer)
3. Turn on the host computer. If there is no laser image, turn off the firewall, and click the {Close
Video} button.
4. Adjust the posture of the tool hand: the laser line is perpendicular to the weld (-5°~+5°); in the tool
coordinate system, x axis is parallel to the laser line, the y axis is parallel to the weld, and the z axis
is perpendicular to the plane of the weld and the laser line.
5. If the tool hand moves along the XYZ axis in the coordinate system and does not follow the
horizontal and vertical direction of the weld, it is necessary to adjust the posture according to the
principle of the right hand rule until the final tool hand XYZ moves correctly.
6. After teaching the height, click the calibration button on the lower left of the upper computer
software. The calibrated parameter table number can no longer be used as a parameter of absolute
tracking 1, and can only be used to initialize the sensor, or you can change a parameter table number.
P002 in the figure below is the calibration point, and the tracking height remains unchanged after
calibration. Before calibration, the tool coordinates need to be calibrated. Using the Teach pendent as
Robert user manual
a tool coordinate, move to the weld seam that needs to be tracked, and jog in the X and Z directions.
P002 P003
4. At this time, the disk character of the U disk should be available. If it does
not appear, please unplug and insert the U disk again. If it does not appear, please replace the U disk;
5. Right click on the disk character, in the menu that appears, click on the {Formatting};
7. Click on the {Start} button and click on the {OK} button in the pop-up confirmation interface;
8. When the “Formatted” window pops up, the U disk in FAT32 format is completed.
2. Click on the {Detect Upgrade} button under {Settings} - {System Settings} - {Version and
Upgrade}.
4. Insert the U disk into the USB port of the Teach pendent;
5. Open the Settings - System Settings - Version Upgrade interface;
6. Click on the upload file button;
7. Select the file to upload from the detected files that pop up and Click on the OK button.
27.5 IP Settings
In the Settings - system Settings -IP Settings interface, you can modify controller IP,
Teach pendent IP and the IP connected by the Teach pendent.
Do not modify the IP if it is not necessary, so as not to cause usage malfunction.
If the controller IP is modified to a non-default value (192.168.1.13), please record the
controller IP by yourself.
Robert user manual
The Teach pendent connection IP is used when one Teach pendent is connected to
multiple controllers at the same time.
The specific steps to modify the current connection IP of Teach pendent are as follows:
1. Click on {System Settings} - {IP Settings}.
2. Click on the {Modify} button corresponding to “connect IP”;
3. Change to the required IP address and it will take effect immediately.
The specific steps to modify the IP of the current controller are as follows:
1. Click on {System Settings} - {IP Settings}.
2. Click on the {Modify} button corresponding to “Controller IP”;
3. Change to the required IP address and it will take effect immediately.
The specific steps to modify the IP of the Teach pendent are as follows:
1. Click on {System Settings} - {IP Settings}.
2. Click on the {Modify} button corresponding to "Teach pendent IP";
3. Change to the required IP address and it will take effect after reboot.
1. Insert the U disk into the USB port of the teach pendant.
Click the {Exporting Logs} button in the system setting interface or the {Export} button in the log
interface to import the logs to the U disk.
*When we look for the cause of robot errors, the controller logs are the most commonly used.
Specific steps are as follows:
1. Insert a "FAT32" format U disk into the USB port of the Teach pendent;
2. Enter the {Settings}-{System Settings} interface or {Logs} interface of the Teach pendent;
3. Click the {Export Controller Logs} button in the system setting interface or{Export} button in the
log interface, you can choose to export 5/30/100 logs;
4. Finish the export. The logs of the controller are saved in the "controller Log-current date and time"
directory of the U disk; the log of the Teach pendent is saved in the teachbox.db file in the "controller
Log-current date and time" directory.
●VJ: The speed of joint interpolation, the range is 1-100, and the unit is percentage. The actual
movement speed is the maximum speed of the axis in the robot joint parameters multiplied by this
percentage.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set it to
the same value as VJ.
●DEC: Deceleration rate, the range is 0-100, unit is percentage. It is recommended to set it to the
same value as VJ.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
If the robot axis is taught by circular interpolation, the movement command is MOVC.
The starting point of the first arc of a single arc and continuous arc can only be MOVJ or MOVL.
■Single arc
When there is only one arc, as shown in the following table, use arc interpolation to teach the three
points of P1-P3.
If using joint interpolation or linear interpolation teaching to enter P0 before the arc, the path of P0-
P1 will automatically become a straight line.
P000- Joint/Line
P001-P002-Arc
■Continuous arc
As shown in the following table, when there are more than two consecutive arcs whose curvature
changes, the arcs will eventually separate one by one. Therefore, as shown in Figure 4, please add
joints and linear interpolation points at the connection point between the previous arc and the next
arc.
Robert user manual
P000- Joint/Line
P001-P002- Arc
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
Click the "Tools" button in the upper status bar to select the previously calibrated tool hand.
Robert user manual
1.Click "Insert", click "Coordinate Switching Type", select "SWITCHTOOL", select the previously
calibrated tool number.
2. Move to any point of the circle you want to draw as shown in Figure P1, click Insert, click the
motion control category, and select movj or movl;
3. Then move to any point of the circle you want to draw as shown in Figure P2 (it must be different
from the point in step 2), click the "coordinate system" button in the upper status bar, select the "tool"
coordinate system, and click "insert", Click "Motion Control" and select movca.
4.Then move to any point of the circle you want to draw as shown in Figure P3 (it must be different
from the point in steps 2 and 3), click the "coordinate system" button in the upper status bar, select
the "tool" coordinate system, and click "insert" , Click "Motion Control" and select movca.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
If free curve interpolation is used to teach the robot axis, the movement command is MOVS.
As shown in the table below, use free curve interpolation to teach the four points of P1-P3.
If you use joint interpolation or linear interpolation teaching to enter the P0 point before the free
curve, the trajectory of P0-P1 will automatically become a straight line.
P0- Joint/Line
Unlike circular interpolation, the connection of two free curves cannot be the same point or there can
be no other commands.
P0- Joint/Line
Robert user manual
P6- Joint/Line
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V/VJ:
■When B is the value in the joint coordinate system, it is VJ. The speed range of joint interpolation
is 1-100, and the unit is percentage.
Robert user manual
■The actual movement speed is the maximum speed of the axis in the robot joint parameters
multiplied by this percentage. When B is the value in rectangular, tool, or user coordinate system,
this place is V. The range of motion speed is 2-9999, and the unit is mm/s.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●VJ: The speed of joint interpolation, the range is 1-100, and the unit is percentage. The actual
movement speed is the maximum speed of the axis in the robot joint parameters multiplied by this
percentage. The speed of the external axis changes with the speed of the robot.
Robert user manual
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set it to
the same value as VJ.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set it to
the same value as VJ.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V: The robot movement speed, the range is 2-9999, the unit is mm/s. The speed of the external
axis changes with the speed of the robot.
●SYNC: Whether the robot moves synchronously with the external axis, when "Yes" is selected, the
robot cooperates with the external axis to walk a straight line. When "No" is selected, the robot walks
in a straight line in space, and the external axis independently moves to the target angle.
Robert user manual
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●V: The robot movement speed, the range is 2-9999, the unit is mm/s. The speed of the external
axis changes with the speed of the robot.
●SYNC: Whether the robot moves synchronously with the external axis, when "Yes" is selected, the
robot cooperates with the external axis to walk the arc. When "No" is selected, the robot walks in a
circular arc in the space, and the external axis independently moves to the target angle.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
Robert user manual
If you don't want to move a certain axis, please leave blank at the coordinate of that axis. (Don’t fill
in 0)
●V/VJ:
■When B is the value in the joint coordinate system, it is VJ. The speed of joint interpolation, the
range is 1-100, and the unit is percentage.
■The actual movement speed is the maximum speed of the axis in the robot joint parameters
multiplied by this percentage. When B is the value in rectangular, tool, and user coordinate system, it
is V. The range of motion speed is 2-9999, and the unit is mm/s.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
Robert user manual
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●VJ: The speed of joint interpolation, the range is 1-100, and the unit is percentage. The actual
movement speed is the maximum speed of the axis in the robot joint parameters multiplied by this
percentage. The speeds of the two robots are synchronized.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set it to
the same value as VJ.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set it to
the same value as VJ.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V: The range of robot movement speed is 2-9999, and the unit is mm/s. The speed of the two
robots is synchronized.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V: The range of robot movement speed is 2-9999, and the unit is mm/s. The speed of the two
robots is synchronized.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V: The range of robot movement speed is 2-9999, and the unit is mm/s. The speed of the two
robots is synchronized.
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10%.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●V/VJ:
■When B is the value in the joint coordinate system, it is VJ. The range of joint interpolation speed
is 1-100, and the unit is percentage.
Robert user manual
●The actual movement speed is the maximum speed of the axis in the robot joint parameters
multiplied by this percentage. When B is the value in rectangular, tool, and user coordinate system, it
is V. The range of motion speed is 2-9999, and the unit is mm/s..
●ACC: Acceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
●DEC: Deceleration ratio, the range is 0-100, the unit is percentage. It is recommended to set to
V*10% or VJ.
●TIME: Time, the range is a non-negative integer, and the unit is milliseconds. Advance the time to
execute the next instruction.
●Types:
■Follow-up type: change the speed with the real-time linear speed of the robot.
◆Variable name: When the speed value source is INT/DOUBLE/GINT/GDOUBLE, which variable
is used to select.
◆Manual filling value: when the speed value source is manual filling, it is used to input the constant
running speed value.
Command to make an axis of an external axis move with an axis of the robot.
●External axis: one of O1 and O2 can be selected for follow-up (O3 is not currently supported).
●Proportional relationship K: follow-up shaft speed (°/s) = K* main shaft speed (°/s).
●Variable name: The variable name that stores the input value to the target variable.
●Input IO board: If there are multiple EtherCAT IO, you can choose which IO board is.
●Enter group number: The input is read in groups, which are one, four, and eight groups. If one
channel is one group, 16 DIN ports are 16 groups. If there are four channels in one group, then 1-4
channels, 5-8 channels, 9-12 channels, and 13-16 channels are each in one group. If there are 8
channels in one group, 1-8 channels and 9-16 channels are each in one group. The data read into the
variable is to convert the input port value from binary to decimal and store it in the variable.
For example: a group of 8 channels, the value of port 1-8 is 10110101, then starting from port 8 is
10101101. Convert it to decimal as 173, then store it in variable as 173.
Robert user manual
●Enter group number: The input is output according to the group, which are one group for one
channel, one group for four channels, and one group for eight channels. If one channel is one group,
the 16 DOUT ports are divided into sixteen groups. If there are four channels in one group, then 1-4
channels, 5-8 channels, 9-12 channels, and 13-16 channels are each in one group. If there are 8
channels in one group, then 1-8 channels and 9-16 channels are each in one group.
●Variable source: divided into manual selection and variable type. Manual selection is to tick the
box below, output 1 for selected ones, and output 0 for unselected ones. For example, when the
output group number is 4 outputs, for the second group, port 1 and port 3 are selected in the selection
box below, and the other two are left blank, then when running this command, the output ports of the
IO board will be 5-8 The output value of port No. is 1010. When the variable source selects INT,
GINT, BOOL, GBOOL, the corresponding variable value will be converted to binary and output to
the IO board.
Example: If the variable value is 173, it will be 10101101 when converted to binary. If 8 channels are
a group, and the binary value is output from port 8, then the value of port 8-1 is 10101101, and the
value of port 1-8 is 10110101.
●Variable name: When the variable source is INT, GINT, BOOL, GBOOL, select the variable name
to be output here.
●Time: the time to reverse the output, the output is reversed after the specified time. For example,
DOUT1=1, time is 2, then DOUT1 outputs high level for 2 seconds and then turns to low level.
●New parameter: When the variable value is customized, enter the hand-filled data here, the range
is 0-10V, and the corresponding port will output the value.
●Variable name: The variable name of the variable whose value is to be output.
●The value of the read output port is read in groups, which are one group for one channel, one
group for four channels, and one group for eight channels. If one channel is one group, the 16 DOUT
ports are divided into sixteen groups. If there are four channels in one group, then 1-4 channels, 5-8
channels, 9-12 channels, and 13-16 channels are each in one group. If there are 8 channels in one
group, then 1-8 channels and 9-16 channels are each in one group.
For example: a group of 8 channels, the value of port 1-8 is 10110101, then starting from port 8 is
10101101. If it is converted to decimal, it is 173, then the variable is 173.
●New parameter: When the variable value is selected as custom, manually fill in the value here, the
range is (0~9999], and the unit is second.
●Source parameter: When the variable value source selection is variable, select the corresponding
variable name here.
●Variable value source: The variable type of addend B, you can choose to fill in custom or other
variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.2 SUB-Subtraction
28.4.2.1 Function
Subtraction operation (-), A=A-B.
●Variable value source: Variable type of minus B, you can choose to fill in custom or other variable
types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.3 MUL-Multiplication
28.4.3.1 Function
Multiplication operation (*), A=A*B.
●Variable value source: Variable type of multiplier B, you can choose to fill in custom or other
variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.4 DIV-Division
28.4.4.1 Function
Division operation (÷), A=A÷B.
●Variable value source: Variable type of divisor B, you can choose to fill in custom or other
variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.5 MOD-Modulo
28.4.5.1 Function
Modulo operation (Mod), A=A Mod B.
●Variable value source: Variable type of divisor B, you can choose to fill in custom or other
variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.6 SIN-Sine
28.4.6.1 Function
Sine operation (sin), A=sin(B), the unit of B is radians (rad).
●Variable value source: Variable type of sine radian value B, you can choose to fill in custom or
other variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.7 COS-Cosine
28.4.7.1 Function
Cosine operation (cos), A=cos(B), the unit of B is radians (rad).
●Variable value source: Variable type of cosine radian value B, you can choose to fill in custom or
other variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
28.4.8 ATAN-Arctangent
28.4.8.1 Function
Arctangent operation (cos), A=arctan(B), the unit of B is radians (rad).
●Variable value source: Variable type of arctangent radian value B, you can choose to fill in custom
or other variable types.
●New parameter: When the variable value source selects custom, this input box is valid, and the
value filled in is the value of B.
●Source parameter: When the variable value source selects a variable, here is the variable name of
B.
●The name of parameter 1: The variable name of parameter 1 involved in the operation.
●Operation type: logical AND (&&), logical OR (|| ), logical negation (!).
●The name of parameter2: The variable name of parameter 2 involved in the operation.
●The type of variable where the result is stored: the type of variable where the result of the
operation is stored.
●The name of the variable where the result is stored: the name of the variable where the result of the
operation is stored.
28.5.2 IF - If
28.5.2.1 Function
If the condition of the IF instruction is met, the instruction between IF and ENDIF will be executed;
if the condition of the IF instruction is not met, it will jump directly to the ENDIF instruction and
continue to run the instructions under ENDIF, without running the instruction between IF and
ENDIF.
The judgment condition of IF is (comparison number 1 comparison method comparison number 2).
For example, the comparison number 1 is 2, the comparison number 2 is 1, and the comparison
method is ">". Because 2>1, the judgment condition is satisfied. If the comparison method is "<" or
"==", the judgment condition is not established.
The IF instruction can be used alone or in combination with ELSEIF and ELSE instructions.
Robert user manual
Note: ELSEIF and ELSE instructions cannot be used separately from IF instructions!
Note: When the beginning of the program is IF and the last line is the ENDIF instruction, please
insert a 0.1 second TIMER (delay) instruction above the IF instruction or below the ENDIF,
otherwise the program will crash when the conditions of the IF instruction are not met. status.
When inserting an IF instruction, an ENDIF instruction will be inserted at the same time. When
deleting an IF instruction, please be careful to delete the corresponding ENDIF instruction, otherwise
the program will not be executed.
IF instruction can nest another IF instruction or other conditional judgment instructions such as
WHILE and JUMP.
●Parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is the input value (DIN, AIN), this is the port number of the digital
input or analog input.
●Comparison method:
== equals
<Less than
!= Not equal
●Variable value source: the type of comparison number 2, user-defined or variable or digital, analog
input value.
●New parameter:
If the variable value source selected type is custom, it is not selectable here.
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
If the variable value source selected type is input value (DIN, AIN), this is the port number of digital
input or analog input.
●Source parameter: If the variable value source is customized, fill in the value of comparison
number 2 directly here.
Robert user manual
ENDIF
When the condition of IF is met, the instruction between ELSEIF and ELSEIF and ENDIF will be
ignored, only the instruction between IF and ELSEIF will be run, and then jump to the line of
instruction below ENDIF to continue running.
When the condition of IF is not satisfied, it will jump to the ELSEIF instruction to judge the
judgment condition of ELSEIF. If it is met, run the instruction between ELSEIF and ENDIF, and
then continue to run the instruction under ENDIF; if it is not met, jump directly to the line of
instruction under ENDIF to continue running.
If multiple ELSEIFs are nested in IF and ENDIF, when the judgment condition of IF is not
established, the judgment condition of the first ELSEIF is first judged, if it is established, the
instruction between the first ELSEIF and the second ELSEIF is executed; if it is not established Then
judge the second ELSEIF judgment condition, and so on.
Note: When deleting the IF instruction, you need to delete the corresponding ELSEIF and ENDIF
instructions, otherwise the program will not run.
●parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is an input value (DIN, AIN), this is the port number of digital input or
analog input.
●Comparison method:
== equals
!= Not equal
●Variable value source: the type of comparison number 2, user-defined or variable or digital or
analog input value.
●New parameter:
If the variable value source selected type is custom, it is not selectable here.
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
If the variable value source selected type is input value (DIN, AIN), this is the port number of digital
input or analog input.
●Source parameter: If the variable value source is customized, fill in the value of comparison
number 2 directly here.
ELSEIF(D001<9)
ENDIF
When the judgment condition of IF is established, the instruction between IF and ELSE will be
executed and then jump to the next line of instruction of ENDIF to continue running, without running
the instruction between ELSE and ENDIF.
When the judgment condition of IF is not established, it will jump to the instruction operation
between ELSE and ENDIF, instead of running the instruction between IF and ELSE.
Note: When deleting the IF instruction, the corresponding ELSE and ENDIF instructions must be
deleted, otherwise the program will not run.
IF(GI001<9)
ELSE
ENDIF
●parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is an input value (DIN, AIN), this is the port number of digital input or
analog input.
●Comparison method:
== equals
!= Not equal
●Variable value source: the type of comparison number 2, user-defined or variable or digital or
analog input value.
●New parameter:
If the variable value source selected type is custom, it is not selectable here.
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
Robert user manual
If the variable value source selected type is input value (DIN, AIN), this is the port number of digital
input or analog input..
●Source parameter: If the variable value source is customized, fill in the value of comparison
number 2 directly here.
●TIME:
Select to fill in the waiting time (seconds). After waiting for this time, even if the condition is still not
established, it will still jump to the next line to continue running.
Note: Inserting the WHILE instruction will also insert the ENDWHILE instruction. If you want to
delete the WHILE instruction, please delete its corresponding ENDWHILE instruction at the same
time, otherwise the program will not run.
When the beginning of the program is WHILE and the last instruction is ENDWHILE, please insert a
0.3 second TIMER instruction at the beginning or end of the program. Otherwise, the program will
crash when the conditions of the WHILE instruction are not met.
When the instruction inside WHILE does not have a motion instruction or may fall into an infinite
loop under certain circumstances, please insert a 0.3-second TIMER (delay) instruction between
WHILE and ENDWHILE. Otherwise, it may happen when the conditions of the WHILE instruction
are met. Cause the program to crash.
The WHILE instruction can nest multiple WHILE, IF or JUMP and other judgment instructions at
the same time.
●Parameter type: the type of comparison number 1, the input value of variable or digital or analog
quantity.
●Parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is the input value (DIN, AIN), this is the port number of the digital
input or analog input.
●Comparison method:
== equals
!= Not equal
●Variable value source: the type of comparison number 2, user-defined or variable or digital or
analog input value.
●New parameters:
If the variable value source selected type is custom, it is not selectable here
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
If the variable value source selected type is input value (DIN, AIN), this is the port number of digital
input or analog input.
●Source parameter: If the variable value source is customized, fill in the value of comparison number
2 directly here.
JUMP can be set to determine whether there is a condition. When it is set as no judgment condition,
the instruction will jump directly to the corresponding LABEL instruction and then continue to run
the next line of LABEL instruction.
When set to have a judgment condition, if the condition is met, it will jump to the LABEL instruction
line; if the condition is not met, the JUMP instruction will be ignored and the next line of the JUMP
instruction will continue to run.
LABEL label can be inserted above or below JUMP, but cannot jump across programs.
LABEL label name must be two or more characters starting with a letter.
Inserting the LABEL label has no effect on the operation of the program, but it must comply with the
rules of program operation, for example, it cannot be inserted on the MOVC instruction or on the
local variable definition instruction.
●Judging condition:
●Parameter type: the type of comparison number 1, the input value of variable or digital or analog
quantity.
●Parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is an input value (DIN, AIN), this is the port number of digital input or
analog input.
●Comparison method:
Robert user manual
== equals
!= Not equal
●Variable value source: the type of comparison number 2, user-defined or variable or digital or
analog input value.
●New parameter:
If the variable value source selected type is custom, it is not selectable here.
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
If the variable value source selected type is input value (DIN, AIN), this is the port number of digital
input or analog input.
●Source parameter: If the variable value source is customized, fill in the value of comparison
number 2 directly here.
LABEL *C1
Other instructions 2
Note: Inserting the UNTIL instruction will also insert the ENDUNTIL instruction at the same time. If
you want to delete the UNTIL instruction, please delete its corresponding ENDUNTIL instruction at
the same time, otherwise the program will not run.
●Parameter name:
If the parameter type selected is a variable (INT, DOUBLE, BOOL, GINT, GDOUBLE, GBOOL),
then here is the variable name of the comparison number 1.
If the parameter type selected is an input value (DIN, AIN), this is the port number of digital input or
analog input.
●Comparison method:
== equals
!= Not equal
●Variable value source: Variable value source: the type of comparison number 2, user-defined or
variable or digital or analog input value..
●New parameter:
If the variable value source selected type is custom, it is not selectable here.
If the variable value source selected type is variable (INT, DOUBLE, BOOL, GINT, GDOUBLE,
GBOOL), then here is the variable name of comparison number 1.
If the variable value source selected type is input value (DIN, AIN), this is the port of digital input or
analog input.
●Source parameter: If the variable value source is customized, fill in the value of comparison
number 2 directly here.
The CLKSTART instruction is used for timing. Run this command to start timing, and record the
time in a local or global DOUBLE variable.
28.6.1.1 Function
Define local integer variables and assign them at the same time. This instruction must be inserted at
the head of the program.
28.6.2.1 Function
Define local floating-point variables and assign them at the same time. This instruction must be
inserted at the head of the program.
28.6.3.1 Function
Define local Boolean variables and assign them at the same time. This instruction must be inserted at
the head of the program.
Note: The original variable is A000, and it is renamed to B000.
●Variable value source: You can choose custom hand-filled or other variables.
●New parameter: When the variable value source selects custom, fill in the value directly here.
●Source parameter: When the variable value source selects the variable type, select the variable
name here, and assign the value of another variable to the variable.
SETINT I001 = 2
●Variable value source: You can choose custom hand-filled or other variables.
●New parameter: When the variable value source selects custom, fill in the value directly here.
●Source parameter: When the variable value source selects the variable type, select the variable
name here, and assign the value of another variable to the variable.
●Variable value source: You can choose custom hand-filled or other variables.
●New parameter: When the variable value source selects custom, fill in the value directly here.
●Source parameter: When the variable value source selects the variable type, select the variable
name here, and assign the value of another variable to the variable.
During the running of the program, all calculations and assignment operations change the values in
the cache and will not be stored in the system files, that is, the values of all global variables will be
restored when the program stops.
To force the global value variable in the content to be written to the file, you can use the FORCESET
command.
●Send character: The character string to be sent. To send a variable, you need to add the ‘$’
character before the variable. To send the ‘$’ character, two ‘$’ symbols are required. Support escape
characters and formatted output.
When a TCP receives a multi-digit value, it will store the value in multiple variables. The variables
used are the first variable, and the first variable is extended downward. That is to say, if the three-
digit values A, B and C are sent and the first variable name is GI006, then A will be stored in GI006,
B will be stored in GI007, and C will be stored in GI008.
●First variable name: The variable name stored in the first variable.
●Clear the cache after parsing: clear the cached message after parsing the message
28.8.3 READCOMM-Read
28.8.3.1 Function
Read the point sent by Ethernet or Modbus and store it in the position variable, and store the number
in the numerical variable.
●Position variable type: global position variable and local position variable are optional.
●Location variable name: The location variable name. The received points are saved, and the
position variables of multiple points are saved sequentially. For example, the command position
variable is filled with G003, and 3 points are received, and they are stored in G003, G004, G005
respectively.
●Variable type: optional global integer type and local integer type.
28.8.4 READCOMM-Read
28.8.4.1 Function
Open network communication.
Robert user manual
●User coordinate parameter: the user coordinate axis whose value is to be changed.
●Variable name: When selecting other variables, select the variable name here, and the value of the
variable will be assigned to the axis corresponding to the user coordinate.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value to be changed here.
USERFRAME_SET ID = 2 UY 99
●Tool coordinate parameter: the tool coordinate axis whose value is to be changed.
●Variable name: When selecting other variables, select the variable name here, and the value of the
variable will be assigned to the axis corresponding to the user coordinate.
●Hand-filled value: When the variable type selects hand-filled value, directly fill in the target value
to be changed here
●Position variable type: The type of position variable to be read, current position, local position
variable or global position variable.
●Location variable name: When the location variable type selects local location variable or global
location variable, select the corresponding variable name here. If you choose P$INT, P$GINT,
G$INT, G$GINT, select the corresponding integer variable name here. For example, select P$INT,
variable name I001, I001=33, then the obtained position variable is P033.
●Position variable coordinate system: The coordinate system of the position variable value to be
read.
●Position variable axis: the axis whose position value to be read is in the corresponding coordinate
system.
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
Robert user manual
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
28.9.6.1 Function
This instruction can modify the value of a single axis of position variables (global, local).
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
●Location variable name: The variable name of the location variable whose value is to be retrieved.
●Position variable type: The variable type of the position variable being assigned.
●Location variable name: The variable name of the assigned location variable.
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
Robert user manual
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
●Location variable name: The variable name of the location variable to be changed.
●Position variable coordinate system: To change the coordinate system corresponding to the
position variable axis.
●Position variable axis: To change the axis of the position variable in the corresponding coordinate
system.
●Numeric variable name: When selecting other variables, select the variable name here, the value of
the variable will be added to the value of the axis corresponding to the position variable, and then
assigned to the position variable.
●Hand-filled value: When the variable type selects the hand-filled value, directly fill in the target
value here, the value will be added to the value of the axis corresponding to the position variable, and
then assigned to the position variable.
●Offset: When the variable type selects hand-filled value, directly fill in the target value here, and
the robot's trajectory coordinates will be added to this hand-filled value.
●Numerical variable name: When selecting other variables, select the variable name here, the
trajectory coordinates of the robot will be added to the value in this variable.
PAUSERUN MAIN
PAUSERUN ALL
CONTINUERUN MAIN
CONTINUERUN ALL
No.