AtomMotion Manual V1.0
AtomMotion Manual V1.0
This manual is applicable to atomrobot Delta model robots manufactured by Chenxing (Tianjin)
Automation Equipment Co., Ltd.
Specifications and information relating to products in this manual are subject to change without
notice. All statements, information and recommendations presented in this manual have been
carefully handled, but cannot be guaranteed to be completely correct. The user is completely
responsible for his application of any product. No responsibility is assumed for damages caused by
this manual.
The interpretation of all contents of this manual belongs to Chenxing (Tianjin) Automation
Equipment Co., Ltd.
This manual is not authorized to any party and may not be reproduced or copied in whole or in
part in any way.
3.9 Jog..................................................................................................................................................... 16
4.1 Project............................................................................................................................................... 17
4.2 Program.............................................................................................................................................17
4.3 Delete................................................................................................................................................ 18
4.4 Cancel................................................................................................................................................18
4.5 Open.................................................................................................................................................. 18
4.6 Load.................................................................................................................................................. 18
4.7 Unload...............................................................................................................................................18
4.8 Other..................................................................................................................................................18
4.8.1 Rename.......................................................................................................................................19
4.8.2 Copy........................................................................................................................................... 19
4.8.3 Paste........................................................................................................................................... 19
5.1 Teach.................................................................................................................................................20
5.6 Edit.................................................................................................................................................... 26
5.6.1 Copy........................................................................................................................................... 26
5.6.2 Cut..............................................................................................................................................27
5.6.3 Paste........................................................................................................................................... 27
5.6.4 Delete......................................................................................................................................... 28
5.7 Load.................................................................................................................................................. 28
6.1 Teach.................................................................................................................................................29
6.2 New................................................................................................................................................... 30
6.4 Edit.................................................................................................................................................... 31
6.4.1 Copy........................................................................................................................................... 31
6.4.2 Paste........................................................................................................................................... 31
6.4.3 Rename.......................................................................................................................................32
6.4.4 Delete......................................................................................................................................... 32
6.5 Other..................................................................................................................................................32
6.5.5 Expand....................................................................................................................................... 34
6.5.6 Collapse......................................................................................................................................34
6.7 Load.................................................................................................................................................. 35
6.9.3 remove........................................................................................................................................36
7.3 Other..................................................................................................................................................45
Chapter8 Conveyor..................................................................................................................................... 47
8.1.1 Encoder...................................................................................................................................... 48
8.2 Teach.................................................................................................................................................49
8.5 Statistics............................................................................................................................................ 62
9.2 Filter.................................................................................................................................................. 66
9.5.1 Jog.............................................................................................................................................. 69
9.5.2 New............................................................................................................................................ 70
9.5.3 Edit............................................................................................................................................. 70
9.5.5 Send............................................................................................................................................71
9.5.6 Instruction execution sequence description............................................................................... 71
9.8.1 Camera....................................................................................................................................... 74
9.8.2 Sensor.........................................................................................................................................79
9.13 Yield................................................................................................................................................84
9.15 Watchdog........................................................................................................................................ 87
10.1 IO Control....................................................................................................................................... 88
10.3.1 Introduction..............................................................................................................................91
12.3 Import/Export................................................................................................................................110
13.1.3 Circle......................................................................................................................................114
13.1.4 PtpRel.....................................................................................................................................115
13.1.5 LineRel...................................................................................................................................116
13.1.6 LineAbs..................................................................................................................................117
13.2.2 IsArriveObject........................................................................................................................119
13.2.3 ObjectDone............................................................................................................................ 119
13.2.4 ObjectCancel..........................................................................................................................120
13.3.1 SetDynamic............................................................................................................................121
13.3.4 SetCartSys..............................................................................................................................122
13.4.2 SetVDout................................................................................................................................122
13.6.1 Wait........................................................................................................................................124
13.7.4 WHILE...................................................................................................................................125
13.9.1 EnableWorkArea....................................................................................................................126
13.9.2 DisableWorkArea...................................................................................................................126
13.10 Palletizer instruction................................................................................................................... 127
13.10.1 ResetPalletizer......................................................................................................................127
13.10.2 NextPalletizer.......................................................................................................................127
13.11.1 StartPLC...............................................................................................................................127
13.12.1 SendTcpData........................................................................................................................128
13.13.2 COS......................................................................................................................................128
13.13.9 ABS......................................................................................................................................130
13.14.3 *............................................................................................................................................130
13.15.1 GetObjectId..........................................................................................................................132
13.15.2 GetObjectAttr.......................................................................................................................133
13.15.4 GetObjectInfo.......................................................................................................................133
13.15.5 GetObjectOriginLocation.....................................................................................................133
13.16.3 BoolToString........................................................................................................................134
13.16.6 StringToBool........................................................................................................................135
14.1.1 JointPosition...........................................................................................................................138
14.1.2 TcpPosition............................................................................................................................ 139
14.1.3 JointDistance..........................................................................................................................140
14.2.1 TargetObject...........................................................................................................................143
14.2.2 Conveyor................................................................................................................................144
14.2.3 ObjectSource..........................................................................................................................145
14.2.6 ObjectAllot.............................................................................................................................150
14.3.1 WorkArea...............................................................................................................................152
14.4.1 Din..........................................................................................................................................153
14.4.2 Dout........................................................................................................................................153
14.4.3 VDin.......................................................................................................................................153
14.4.4 VDout.....................................................................................................................................154
14.5.3 BOOL.....................................................................................................................................154
14.6.2 ArrayOfTcpPosition...............................................................................................................155
14.7 Palletizer Variable.........................................................................................................................155
14.7.1 Palletizer.................................................................................................................................155
14.8.2 HardTrigger............................................................................................................................160
15.3 Warning.........................................................................................................................................171
16.1 Palletizing......................................................................................................................................173
16.4 Variable buffer area (realize the function of modifying variables during operation)...................187
The safety precautions in this chapter are divided into two parts.
The first section contains general safety precautions that are generally applicable to all types of
robots, as described in 1.2 General safety precautions.
The second part is about safety precautions for robots, which mainly introduces safety
precautions about robot operation and usage, as described in 1.3 Robot Safety Precautions.
This section does not cover how to design and install the robot, nor does it cover peripheral
equipment that affect the safety of the robot. For the protection of those using it, the robot should be
designed to comply with the standards and laws of the region and country in which it is located.
Companies and individuals using Atomrobot should familiarize themselves with the standards
and laws of their region and country, and install appropriate safety features to protect the robot's
users. Users should be familiar with the instructions for using the robot system. However, even if the
operator follows all the safety information given in the manual exactly, Atomrobot cannot guarantee
that the operator will not be harmed in any way.
1.1.2.1 Introduction
This section contains information about the dangers that can occur in the installation and service
work of the robot.
Security risks when installing, servicing robots.
1. Safety precautions regarding the robot are detailed in the Installation and Maintenance
section.
2. The emergency stop button of the system must be in the easy to touch location, in case of
accidents can stop the robot emergency.
3. The operator must be sure that the installed safety measures are available.
4. The operator must be trained to install and operate the maintenance robot.
5. The specifications of atomrobot’s robot must also comply with the standards and legal rules
of the region and country.
Non-voltage risks.
1. Safety area need to be identified prior to robot installation and need to be delineated prior to
robot installation.
2. Protective measures or fences are needed to keep the operator outside the robot's working
area (signs such as " Staff Only ", " Restricted Area ", "High Voltage Danger", etc. are placed in the
relevant area).
3. No hanging objects above the robot to prevent dropping and damaging the robot and other
equipment.
4. When disassembling the robot, be aware of objects that may fall from the robot and injure
people.
5. Beware of burns from hot components in the electric control cabinet.
6. It is forbidden to use the robot as a ladder when servicing it and not to climb on it to prevent
falling.
7. High temperatures in the reducer and splashing of high-temperature fluids can cause human
injury.
8. It is strictly forbidden to move the shaft of the robot.
9. It is strictly forbidden to lean on the electric control cabinet or touch the buttons at will to
prevent the robot from unpredictable action that may cause personal injury or equipment damage.
Integrator Security Considerations.
1. The integration supplier must confirm that all safety circuits are interlocked with the safety
circuits of the external application.
2. The integration supplier must confirm that the emergency stop safety circuit is interlocked
with the external application safety circuit.
Integrated Robotics
Security Risks Specific description
Servo motors and Reducers generate high temperatures
after long periods of operation, and touching these parts
High temperature components can easily result in burns. Robots warm up faster in
high-temperature environments, and burns are more
likely to occur.
Take measures to ensure that the robot does not
collapse when certain parts are removed (e.g. when
Removing certain parts can easily
removing 1, 2 or 3 shafts motors, the active and driven
cause the robot to collapse
arms need to be secured to prevent the robot from
falling over)
Cable
Security Risks Specific description
The cable is easily damaged by machinery, so special
The cable is fragile and easily care should be taken when transporting, storing and
damaged using the cable to damage it, especially the connector
part.
Motors Reducers
Security Risks Specific description
No matter when disassembling a motor reducer, or
The reducer is easily damaged by when installing a motor reducer. The reducer is prone
improper external forces to damage under excessive and improper external
forces.
1.1.2.2 Pay Attention to the Parts of the Robot that tend to Heat Up
Many parts of the robot get hot during normal operation, especially the servo motor and reducer
parts, and sometimes the parts near these two parts get hot, so touching these parts can cause burns.
As the environmental temperature becomes higher, more of the robot's surface will become very hot
and easy to cause burns.
Security measures:
1. Touch these parts with your hands before feeling the temperature of these parts with your
hands close to these parts to prevent burns.
2. Wait enough time after a shutdown for the hot part to cool down before performing work
such as repairs.
Safe operation: Open the cover or protection device after confirming that the gears and other
internal parts are no longer rotating or moving, and do not open the protection device while the gears,
bearings, etc. are rotating.
Safety design: If necessary, use auxiliary devices to keep the internal parts that are no longer
fixed from their original location.
Introduction: Industrial robots are flexible systems that can be used in many industrial
applications. All work must be operated by professionals and follow certain safety guidelines. Care
must be taken at all times when operating.
Highly qualified operators: Industrial robots must be operated by professionals who are familiar
with the entire system and understand the risks involved in each subsystem.
Risk of abnormal: If an abnormality occurs under normal working procedures, special care
should be taken at this point.
Although in many cases it is necessary to turn on the power during troubleshooting. However,
when actually servicing the robot, it is necessary to turn off the power and disconnect other power
connections.
The robot's main power supply needs to be installed outside the robot's working range so that
the operator can shut down the robot outside the robot's working range even if the robot goes out of
control.
High voltage dangers that operators need to be aware of:
1. Power lines for servo motors.
2. Electrical dangers of power cables connecting fixtures and other devices Fixtures, external
devices, etc. It is possible that the robot's external devices may still be running after the robot is shut
down, so the power cables of external devices can also be personally injured or the power cables
damaged.
Description: In an emergency situation, any of the robot's arms get caught on the operator and
need to be removed. (See Chapter 5, Maintenance for details on removal steps.) Smaller robot arms
can be removed manually, but larger robots require the use of a crane or other equipment.
Secondary injury: Before releasing the joint holding brake, the mechanical arm needs to be
fixed to ensure that the mechanical arm will not cause secondary injury to the trapped person under
the effect of gravity.
Why testing: In normal operation, the holding brake usually wears out, which requires testing of
the holding brake.
Check the holding brake steps:
1. Move the robot joints to the location where the joints are subjected to the maximum load.
2. Closing the robot so that the holding brake opens.
3. Marking of the joints.
4. See if the robot joints move after a while.
To ensure the safe use of the Teach, the following rules need to be followed.
1. The enable button must not be deactivated at any time.
2. Enable the need for timely disconnection during programming or testing.
3. Teachers are required to take the Teach with them when they enter the robot's work area so
that others cannot move the robot without the programmer's knowledge.
Turn off enable promptly whenever the robot is temporarily stopped or when programming or
testing.
DANGER: If work must be performed within the robot's working range, the
following rules need to be followed
1. Mode is selected as manual mode before it can be on enable and disconnect other automatic
controls such as computer control.
2. When the robot is in manual mode, the speed must be limited to 250 mm/s or less.
3. When the robot needs to be set to manual full speed, it should only be operated by
professionals who have a full understanding of the risks.
4. Pay attention to the rotating joints of the robot to prevent hair and clothes from being caught
in the joints.
5. Also be aware of other danger that may be caused by the movement of the robot, or other
supplementary equipment.
6. Testing the motor holding brake for proper operation to prevent personal injury caused by
abnormalities in the robot.
7. Consider contingency plans in the event that the robot suddenly moves toward the
orientation it is in; ensure that hiding places are set up just in case.
DANGER: Do not stand under any robot arm under any circumstances in case
the robot moves abnormalities or someone else moves to enable it.
1.1.4 Emergency Stop
Caution: The emergency stop can only be used when it is really needed and is
really an emergency.
Caution: The emergency stop cannot be used for usual program stops,
shutting down the robot, etc.
Danger
There is a danger of serious injury or even death in case of misoperation.
Caution
Dangerous in case of misoperation, moderate injury, minor accident or object damage may occur.
Mandatory
Matters for which compliance is mandatory.
Prohibition
Absolutely prohibited matters.
Important
In order to ensure safe and effective operation, the user must comply with the matters that will be
described in the relevant place.
Introduction: Any running robot is a potentially deadly machine. When in operation, the robot
may have unpredictable movements, and all movements have strong forces that may cause serious
injury to people within the work area or damage to equipment.
Avoidance: Before preparing the robot for work, test the reliability of each safety measure
(holding brake).
Safety measures include safety gates, holding brake, and safety lights.
Avoidance measures: Before turning on the robot, make sure there are staff only within the
robot's working range.
Introduction: Because the robot needs to be disassembled for repair service work, there are
several risks to consider for the first test job after the repair work is completed.
Measure: The following steps need to be followed for the first test after repair, installation,
maintenance and other services.
1. Cleaning of all maintenance and installation tools on the robot and within the working area
of the robot.
2. Installation of all security measures.
3. Ensure that everyone stands outside the safety of the robot.
4. When testing, special attention should be paid to the working condition of the repaired parts.
Caution: When the robot go through the program, pay special attention to
potential interference dangers.
Introduction: The electrical control cabinet is the hub of the control robot. Any misuse of the
cabinet may result in electric shock and robot malfunction, which in turn may cause harm to people
and equipment.
Dangers:
1. Never lean on an electrical or other control cabinet.
2. Do not press the operation keys randomly. Failure to do so may result in unanticipated
movements of the robot, which may cause personal injury and equipment damage.
3. During operation, never allow non-staff to touch the electrical control cabinet. Failure to do
so may cause the robot to produce unanticipated movements, which may result in personal injury and
equipment damage.
4. Protective measures must be taken when wiring and piping between the electronic control
cabinet, robot and peripheral equipment, such as pipe, line or cable through the pit or adding a
protective cover to cover it so that it will not be stepped on by people or run over by forklifts.
Operators and other personnel may trip over lines, cables or piping and damage them, which may
cause abnormal robot movements and result in personal injury or equipment damage.
5. When installing a tool on the robot, be sure to disconnect the power to the control cabinet
and the tool, lock the power switch and hang a warning sign. If the power is turned on during the
installation process, it may cause electric shock, or it may cause abnormal robot movement, which
may result in injury.
6. Before operating the robot, press the emergency stop button on the front door of the control
cabinet and the upper right side of the programmer to check if the "servo ready" indicator is off and
to confirm that the power is off.
Chapter2 Login Interface
Enable state
Enable operation
Manual mode: In manual mode, press the Yellow three-stage switch on the back of the
teaching pendant to enable the robot shaft, release the switch to enable the robot shaft, or press the
switch to the third stage to enable the robot shaft.
Automatic mode: In automatic mode, click the "enable" button in the upper right corner of the
interface to enable the robot shaft, and click the "enable" button again to enable the robot shaft.
Note: the three-stage switch can be enabled only when it is in the second stage.
Note: V + / V - will have a certain time delay during the operation of the program.
Coordinate
Switch
Figure 3.5 joint jog Figure 3.6 coordinate system jogging Figure 3.7 shaft jogging
"Jog" button can switch the jog mode: Joint jog (J1, J2, J3...), coordinate system jog (X, Y, Z, A,
B, C) and shaft jog (D1, D2, D3...). When the coordinate system jog, the bottom coordinate button
can switch the jog coordinate system, such as base coordinate system, world coordinate system and
other user-defined coordinate systems. The user-defined coordinate systems include: the coordinate
system of the current loader and the global coordinate system.
Root Directory
Project
Program
4.1 Project
Projects are used to manage programs and project variables. Each project can contain multiple
programs and multiple project variables.
4.2 Program
Write control logic.
4.3 Delete
Delete project or program.
Loaded projects cannot be deleted; The programs under the loaded project cannot be deleted;
Low privilege users cannot delete programs created by high privilege users.
4.4 Cancel
Cancels an item or program. If the program is deleted, the program can be cancelled. If an item
is deleted, the item can be cancelled.
Deleted items/programs can only be undone one step. If the project is deleted, the deleted project
is automatically selected. If the program is deleted, the deleted program is automatically
selected.
If the name of the deleted project/program is the same as that of the project/program on the
interface, the deleted project/program is automatically renamed and _new is added to the name
of the deleted project/program.
The program under the project is irretrievably loaded. It can be undone only after the project is
uninstalled.
After a program is deleted, if the program is renamed, the program is irrevocable.
4.5 Open
Open the program, you can edit the program, but you can't run the program.
4.6 Load
Loading project and program, loading project is to send the program under the project to the
controller, and the controller executes the program in the loading project; The loaded program can be
edited and executed, and only the loaded program can run.
4.7 Unload
Unload the project.
4.8 Other
Including rename, copy, paste, program wizard, view number.
4.8.1 Rename
Rename projects and programs. The loaded project and all programs under it cannot be renamed;
Low privilege users cannot rename programs created by high privilege users.
4.8.2 Copy
4.8.3 Paste
The program interface displays the currently loaded program, as shown in the figure. Line 8 is
the currently executed line (the background color is green), and line 10 is the currently selected line
(the background color is blue).
Program
Line No:
5.1 Teach
Teach variables or member variables that can be teach in the instruction (Please refer to teach
section).
Operation steps
Select the instruction containing motion variables of JointPosition type, and click the "teach"
button to pop up a dialog box. Select "Confirm" to teach, and select "Cancel" not to teach.
Select the instruction containing TcpPosition type variable or member variable, and click the
"teach" button to pop up a dialog box, as shown in Figure 5.2. Select the reference coordinate system,
select "Confirm" to teach, and select "Cancel" not to teach.
Figure 5.2 program teaching
Operation steps
Select the instruction to be executed and click the "set line" button. When you click the "start"
button, the program starts from the set line.
Operation steps
(1) Click the "new" button and select the instruction type (taking: = instruction as an example),
as shown in Figure 5.4;
(2) Click "confirm" to enter the instruction editing page, as shown in Figure 5.6;
(3) Click the "change parameter" button, and there are several options such as variable,
instruction, number and string, as shown in Figure 5.7;
(4) Select a variable, switch to the variable page, select an existing variable or a new variable,
and click “Confirm”;
(5) Return to the edit page, modify other parameters, and click “Confirm” after completing the
instruction parameters.
Figure 5.6 expression editing interface
Change parameters: There are variables, instructions, numbers and string selections, as shown
in Figure 5.7;
Variable: Jump to the variables page and select existing variables or new variables as
parameters;
Instruction: Jump to the instruction page and select the instruction as the parameter;
Number: Pop up the numeric keypad and input numbers as parameters;
Character string: Pop up the numeric keypad and enter the string as the parameter;
Operation steps
(1) Click the "new command" button and select the command type (take the line as an example),
as shown in Figure ;
(2) Click “Confirm” to enter the instruction edit page, as shown in Figure ;
(3) Select an existing variable or create a new variable;
(4) Click “Confirm” after completing the instruction parameters.
Note: for the "teach" button in the instruction edit interface, you must select JointPosition,
TcpPosition, CartSys variable or member variable to teach.
5.6 Edit
5.6.1 Copy
Copies one or more selected instructions. Support copy within the same program and
cross-program copy under the same project.
Note: when copying, only instructions with complete instruction structure can be copied; Such
as if and end_If is a complete structure, only if is incomplete. As shown in Figure , if 7 lines is
selected, it will prompt "the currently selected instruction is not a complete instruction".
Figure 5.11 copy description interface
5.6.2 Cut
Cut one or more selected instructions. The precautions are the same as copying. Support cut
within the same program and cross-program cut under the same project.
5.6.3 Paste
Paste the copied or cut instruction. The pasted instruction is inserted above the currently
selected line. Incomplete instructions cannot be pasted. As shown in Figure , if you copy the
instruction in line 10-13 and select the instruction paste in line 6, you will be prompted with
"instruction logic is incomplete".
When copying instructions across programs, the program variables in the instructions need to be
copied at the same time. The naming rules of program variables refer to the renaming of referenced
variables during pasting.
Figure 5.12 paste description interface
5.6.4 Delete
5.7 Load
After modifying the program, you can click the load button to load the modification of the
current project into the controller.
Chapter6 Variable Interface
6.1 Teach
Teach variable or teach variable member. Variable types that can be taught include cartsys,
JointPosition, TcpPosition, these types can also be taught as members of other variables.
Such as cartsys variable; Cart_Sys in conveyor variable; Each element in the
arrayofTcpPosition array can be taught.
Notes: when teaching TcpPosition type variable or member variable, you need specify the
coordinate system of the teaching reference.
6.2 New
Operation steps
(1) Click "new" to enter the variable type interface, as shown in Figure 6.2;
(2) Select the variable and click “Confirm”.
6.4 Edit
6.4.1 Copy
Copy a variable. It supports cross program replication, cross project replication, global variables
can be copied as program variables, and program variables can be copied as global variables.
Note: when copying the conveyor variable, the object source parameter of the copied variable is
empty.
6.4.2 Paste
If the copy of the reference variable is included in the pasting process, and the reference
variable name has been occupied in the current range, the system will rename the reference variable.
Renaming rule: add a suffix to the original variable name _New number. For example:
The coordinate system variable FR1 in the program test refers to the coordinate system FR2;
When FR1 is copied to the program mem, FR2 will be copied at the same time. If the program
mem contains a variable named FR2, FR2 will be renamed FR2_new;
If the program mem contains a variable named FR2_New, rename FR2 to FR2_New suffix is a
number starting from 0;
6.4.3 Rename
Rename a variable.
6.4.4 Delete
Deletes the specified variable. Only variables that are not used by programs or other variables
can be deleted.
6.5 Other
View the track of the arrayofTcpPosition type variable. Select the arrayofTcpPosition type
variable and click the "track" button in "other", as shown in Figure 6.4.
Delete step
Select the process array element and click "delete element" in "other" to pop up the delete array
element dialog box, as shown in Figure 6.5. In which, the modification types are forward, current
element and backward.
front
Delete Principle
(1) When you select forward and backward deletion, the deletion length can be entered by
yourself, and the current element is not included during deletion; When the current element is
selected, the deletion length cannot be selected. Only the current element can be deleted;
(2) When deleting forward, if the deletion length exceeds the previous number of current
elements, adjust the deletion length and prompt whether to continue to delete;
(3) When deleting backward, if the deletion length exceeds the number after the current element,
adjust the deletion length and prompt whether to continue to delete;
(4) If one element remains after deleting, it is not allowed to be deleted, and a pop-up prompt
will be displayed.
Insert array elements. Insert a specified number of elements before or after the currently
selected element, as shown in Figure 6.6.
front
6.5.5 Expand
6.5.6 Collapse
6.7 Load
Reload the currently loaded project into the controller.
6.9.3 remove
Restore the default display, that is, when the interface was first running.
Figure 5.9 Comparison between HMI program and controller program structure
"Upload and create": refers to uploading the project of the controller to the HMI and creating a
new project that is the same as the uploaded project, so there is no need to compare the
variables.
"Download and replace" : the HMI program is loaded and replaced to the controller, without the
need for variable value comparison.
”Cancel“: No operation is performed, and the lower and upper computers remain in the current
state respectively.
Note: the robot always runs the program in the controller.
Second, if the program storage structure is consistent, the variable values are compared. If the
variable values are inconsistent, a dialog box is displayed, as shown in the following figure.
Figure 6.10 Compare the HMI variable value with the controller variable
"Details", the window will display the values of controller variables and HMI variables in
specific variables, as shown in the following figure.
"Upload and create" refers to uploading the project in the controller to the HMI, and creating a
new project in the HMI that is the same as the uploaded project.
"Upload and replace" refers to the replacement of HMI variable values by variable values in the
controller.
"Download and replace" means that the HMI variable value replaces the variable value in the
controller.
"Cancel" means to do nothing.
Figure 6.11 Comparison of HMI variable values with controller variables - Details
Under HMI control, variables cannot be modified at the default runtime; If you need to modify,
select "Others → Modify variables" to directly modify the values of all program variables, as
TCP control variable can be modified by sending instructions to modify the value of the
variable, as follows:
(1) Select TCP control in the function block, select connection type as "server" and data type as
"Simple String", as shown in the following figure.
Figure 6.15 Example of configuring TCP control
(2) TCP control can be realized when HMI is switched to TCP control mode and HMI control is
obtained.
(3) You can view the number of variables through the methods in Chapter 6.1.1 and send fixed
format instructions to modify the variable value. Single or multiple modifications are supported. The
input values are separated by commas and end with semicolons. The punctuation is half width
(English punctuation).
Single: [set_variable_of_number, number length, item number, program number, variable
number, variable parameter number, value;]
More than one: [set_variable_list_of_number; n, number length, item number, program number,
variable number, variable parameter number, value, Number length, item number, program number,
variable number, variable parameter number, value;]
Variable
Serial
to be For example
number
modified
Send set_variable_of_number,4,1,2,7,1,15;
Sender
test.men.
1-2-7-1 feedback
pos_2_l.y
HMI
feedback
Send set_variable_list_of_number,2,4,1,2,7,1,4,4,1,2,7,2,5;
test.men. Sender
pos_2_l.x 1-2-7-1
feedback
test.men. 1-1-7-2
pos_2_l.y HMI
feedback
Chapter7 I/O Monitoring Interface
7.1 Digital IO
(1) Click the value column and modify the check status of the check box to change the value of
an output;
(2) Click the "Set VDout" button to set all virtual digital outputs to high level;
(3) Click the "Restore VDout" button to restore the IO level to the virtual digital output value.
(4) Click the "Set Dout" button to set all actual digital outputs to high level;
(5) Click the "Restore Dout" button to restore the IO level to the actual digital output value.
7.2 Analog IO
The conveyor interface is used to configure object source, teach conversion relationship, view
data buffer, view data history and view statistical results.
Create a new conveyor variable, switch to the conveyor page, as shown in Figure 8.1
(1) As shown in Figure 8.2, the working area is the working area that the robot can track, and
the latest working area refers to the latest receiving area distance.
(2) In the case where no object is tracked, the object is not tracked when it is in the waiting area,
and it needs to wait for the object to enter the preparation area to start tracking. If the object enters
the latest work area during the tracking process, you can continue to track. When the object enters
the super-boundary area, it will not continue to track the object, and the remaining tracking actions
will be completed directly.
(3) If the object has not yet started to be tracked, and the object has entered the latest work area,
the tracking of the object will be abandoned directly.
(4) When the speed of the manipulator is less than 2 times of the speed of the conveyor belt, it
will prompt "the speed of the conveyor belt does not match the tracking speed". At this time, it is
necessary to reduce the speed of the conveyor belt or increase the speed of the manipulator.
Conveyor coordinate system: the coordinates of the conveyor in the world coordinate system.
Calculate through five point teaching or three-point teaching (please refer to the teaching chapter for
specific teaching process).
8.2 Teach
Teach is divided into five-point teach, three-point teach, circle center teach and static teach.
Different conveyor models support different teaching methods.
Scope of application
Teaching steps
Note: when there are multiple objects in the buffer, to prevent incorrect objects, please click
"empty workpiece" first, and then click "workpiece grab".
(3) Teach the second point
Start the conveyor, move the object to the working area, and stop the conveyor;
Start the manipulator, align the end with the center of the object, and click the "teaching" button
to obtain the current location of the manipulator.
Figure 8.4 the second point interface of five point teaching
(4) Teach the third point
Start the conveyor, move the object to a location close to the maximum working area, and stop
the conveyor;
Jog the manipulator, align the end with the center of the object, and click the "teach" button to
obtain the current location of the manipulator.
Figure 8.5 the third potint interface of five point teaching
Proportional error: the distance ratio between the teaching point and the actual point. The closer
it is to 1, the more accurate the teaching is.
(7) Teach workspace
The working area is divided into the minimum value of the working area, the maximum value
of the working area and the latest acceptance area distance. Refer to the workspace section.
Figure 8.8 teaching workspace interface
The direct teaching method is suitable for the known position of the center of the circle,teaching
the center of the circle.
Figure 8.9 center of circle teaching interface
The three-point teaching method is suitable for three points on a known circle,teaching the
center of the circle.
Figure 8.10 center of circle teaching interface
(1) Move the robot position to three points on the circle in turn, and click the “Teach” button
respectively;
(2) After teaching, the displayed value of the result is the teaching value of the center of the
circle.
Note: if an error occurs during teaching, the prompt message box will display a red error
message; If the teaching is successful, the prompt message box will display a green success message.
Place the object under vision, obtain the location of each object and the end location of the
manipulator corresponding to each object location, and at least two location points. The more
location points, the more accurate the teaching is, and support up to nine location points.
Figure 8.11 static teaching interface
Note: it is recommended to click the "clear workpiece" button every time before obtaining the
object to prevent error in the corresponding relationship of the object.
Scope of application
Teach with a minimum of 3 and a maximum of 9 objects to determine the position of the object
detected by the vision system.
Teaching steps
(1) Select Advanced Teaching, click the Get Object button to get the object list, you can
delete the acquired objects, filter the objects to be taught, and click OK after filtering. The
object list interface is shown in the figure below.
Figure 8.12 Advanced teaching object list interface
(2) Only add at least 3 objects. If the number of objects obtained through step (1) is less
than 3, you need to repeat step (1)
(3) Teach the objects according to the serial numbers, as shown in Figure 8.13, teach the
object with the serial number 3.
Empty Objects: Click Empty Objects to empty all objects on the conveyor belt.
Configuration: Click the configuration button to pop up the configuration interface, as shown
in Figure 8.14.
Modify serial number: Modify the serial number of the object, the serial number is a number
from 1-9, and cannot be repeated.
(4) After the teaching in sequence is completed, click the Calculate button, and the
configuration interface will pop up, as shown in the figure below.
Whether to keep the conveyor belt coordinate system: If selected, the conveyor belt
coordinate system information will keep the current value unchanged; otherwise, the coordinate
system value determined by the teaching result will be retained.
Whether to keep the conveyor belt resolution: If selected, the resolution will keep the current
value; otherwise, the resolution in the teaching result will be retained.
Whether to keep camera parameters: If selected, the camera parameters will keep the current
values; otherwise, the camera parameters in the teaching result will be retained.
Whether to keep the camera mirror image (x and y interchange): If selected, the mirror
image (x and y interchange) will keep the current value unchanged; otherwise, the mirror image
(x and y interchange) parameter value in the teaching result will be retained.
(5) If the teaching is successful, you can click the Finish button to complete the teaching.
Status
Id(attr)
XYZA
Moving distance
The location of the object from the origin of the conveyor coordinate system.
Status
8.5 Statistics
View the success rate of the current tracking object, as shown in Figure 8.17.
Note: if you want to count the success rate at a certain time, you need to clear all the historical
information in the data history interface.
Chapter9 Function Block Interface
It includes robot axis zero setting, external axis zero setting, encoder zero clearing and axis
position setting. As shown in Figure 9.2.
Figure 9.2 axis zero point setting interface
Single axis zero setting:such as clicking the button “D1”, set the current position of the robot
axis “D1” to the “D1” zero;
Set all to zero:set the current position of all axes of the robot to the zero.
Single axis zero setting:such as clicking the button “VD1”, set the current position of the
external axis “VD1” to the “VD1” zero;
Set all to zero:set the current position of all external axes to the zero.
Encoder reset
Sets the current position of the specified axis to the specified angle.
Figure 9.3 axis position setting
It includes robot joint zero setting, external joint zero setting, encoder zero clearing and joint
position setting. As shown in Figure 9.4.
Single joint zero setting:such as clicking the button “J1”, set the current position of the robot
axis “J1” to the “J1” zero;
Set all to zero:set the current position of all joint of the robot to the zero.
External joint zero setting
Single joint zero setting:such as clicking the button “ExJ1”, set the current position of the
external axis “ExJ1” to the “ExJ1” zero;
Set all to zero:set the current position of all external joint to the zero.
Encoder reset
Sets the current position of the specified joint to the specified angle.
9.2 Filter
Filter types: mean and ZVD.
Mean has one parameter: filtering time; ZVD has two parameters: filtering time and damping
rate. The interface is shown in Figure 10.4.
Note:the user can use the default parameters, if you need to modify it, please consult the
supplier’s technical staff.
Figure 9.6 filter configuration interface
Restore default configuration: Restore the default filter configuration parameters of the
system.
Note: the system default configuration itself cannot be modified, but it can be edited and saved.
After saving, it can be used directly after enabling.
9.5.1 Jog
Click the "jog" button. When there are 4 external axes, the interface pops up, as shown in
Figure 9.9, press the button and the axis starts to move, release the button and the axis stops moving,
the axis movement speed is controlled by the speed of the external axis interface.
9.5.3 Edit
Instruction type
Location control: In the location control mode, the relative location check box is checked,
and exj1 changes 10 degrees relative to the current location during movement; If the relative
location check box is not checked, exj1 moves to a location of 10 degrees relative to the zero
point of the shaft; The location can be set to a negative value.
Motion parameters
Motion parameter reference value: Speed (100), acceleration (1000) and acceleration (10000).
The user can change the motion parameters as needed; The command running speed is controlled by
the speed override of the external axis interface. If the speed override is modified to 100%, the speed
still does not meet the requirements, and the motion parameters need to be adjusted appropriately .
Complete Dout
The output port will be set to true after the external axis instruction runs.
Run Dout
When the external axis command is running, the output port is set to true; when the external
axis command is stopped, the output port is set to false.
9.5.5 Send
Click the "send" button, Send all external axis commands to the controller.If a new external axis
command is created but not sent successfully,the new command will not take effect.
For instructions controlling the same shaft, which instruction trigger condition is established
first and which instruction is executed first, during the execution of this instruction, another
instruction will not be executed after the trigger condition is established. Until the execution of the
previous instruction is completed and the trigger condition of the other instruction mentioned above
is still established, another instruction will be executed.
Commands controlling different axes do not affect each other.
Configuration Parameter
Delete button
9.8.1 Camera
The camera object source needs to be configured with communication mode and camera trigger
mode.
Figure 9.13 object source configuration interface
Among them, XY is the data that must be sent,others can be freely selected.such as
[X:703.17;Y:515.32].
Support for scalable data: use : ; separate, if the test attribute is extended, the value is aa, the
format is [X:703.17;Y:515.32;test:aa], The name and value of the extended data attribute cannot
include : ; [].
IP: It is usually set to 192.168.100. X. the IP is the same as that of the visual device. It must be
ensured that the X network segment cannot conflict with other devices.
Note: The controller is the client, the visual is the server, and the tcp communication is enabled.
When the tcp communication is established, the data can be received. If the enable is turned off, the
connection with the server will be disconnected..
Network trigger
Hard trigger:
Parameter Description:
(1) x and y swap, corresponding to “type” in formula;
(2) Center x0,y0, unit(pixel), corresponding to “x0 y0” in formula;
(3) Rotation Angle, corresponding to “a” in formula;
(4) xy offset,corresponding to “dx dy” in formula.
Formula:double x1 = ((type ? y_camera : x_camera) - x0) / kx;
double y1 = ((type ? x_camera : y_camera) - y0) / ky;
double x_con = x1 * cos(a * kPi / 180.0) - y1 * sin(a * kPi / 180.0);
double y_con = x1 * sin(a * kPi / 180.0) + y1 * cos(a * kPi / 180.0);
double a_con = a_camera + a * kPi / 180.0;
x_out = x_con + dx * cos(a_con) - dy * sin(a_con);
y_out = y_con + dx * sin(a_con) + dy * cos(a_con);
a_out = a_con + da * kPi / 180.0;
In Formula kx,ky =x,y reverse * xy Pixel Ratio.
9.8.2 Sensor
Configure the physical input port to which the sensor is connected. Specify the id and attr of the
object generated by the sensor.
Position change refers to the generation of objects by different position changes.Specify the id
and attr of the generated object.
Application scenario: The conveyor is controlled by an external shaft, and objects move back
and forth on the conveyor.
9.13 Yield
Provides the use of variables to achieve the function of recording output. Variables must use
global defualt product variable.
Figure 9.26 variable buffer configuration interface
Use drag mode to teach variables. Variable types that support teaching are TcpPosition,
JointPosition, CartSys, and the specified index in ARRAY OF TcpPosition.
Figure 9.27 Point teach
Teaching steps:
(1) Click the "Drag Mode" button to switch to drag mode;
(2) Drag the robot to the designated position;
(3) Click "Write Variable".
Use drag mode to teach a trajectory. The variable types that support teaching are ARRAY OF
TcpPosition. When dragging, specify the collection period to record a position point, and the position
points smaller than the filtering error will be filtered out;
Figure 9.28 Trajectory teaching
Teaching steps:
(1) Click the "drag mode" button to switch to drag mode;
(2) Click the "Start" button to start dragging, and drag the robot to move according to the
required trajectory;
(3) Click the "Stop" button to stop dragging, and click "Write Variable".
9.15 Watchdog
Set as shown in Figure 9.28. After enabling, a heartbeat detection will be performed every
100ms. If no information is received for 30 consecutive cycles, the connection will be actively
disconnected, and the user needs to check the network connection.
Chapter10 Control Power
10.1 IO Control
For input / output IO configuration and switching loader configuration, select IO control in the
function block interface to enter the configuration interface.
Configure the input IO and output io of external mode, and display the value of current IO as
true or false in real time. As shown in Figure 10.1.
Configure the switching signal and switching success signal of the specified program.
Figure 10.2 loader configuration interface
Switching signal: When the input IO is true, load the corresponding program.
Output signal: When the program switching is successful, the output IO is true.
Select TCP control in the function block interface to enter the configuration interface.
Figure 10.3 TCP control interface
IP address: The IP address of the remote device. If it is local TCP communication, the IP
address is 127.0.0.1.
Port number: The port number of TCP communication is the same as that of the remote
device.
JSON binary header: please refer to "TCP Control Protocol Version 1.0.0" for the control
protocol.
Simple string: Please refer to "TCP Control Protocol (Simple String Version)" for the control
protocol.
Byte: Please refer to "TCP Control Protocol (Simple Binary Version)" for the control protocol.
10.3.1 Introduction
Port: 50212;
All register addresses and numbers are parsed according to unsigned short;
All data are transferred and parsed in big-endian mode.
10.3.2 Packet Format
The robot control system serves as the server of TCP protocol. The client program serves as the
client of TCP protocol.
Each data interaction adopts a fixed data packet format, which is composed of three parts:
MBAP, function code and data.
MBAP
Function Code
The function code consists of 1 byte. The definition of each function code is shown below.
Data
The data sent is different according to different function codes. The data format of user-defined
function code is described in the chapter "description of extended function code for realizing robot
related functions".
♦Read register
Number of subsequent
1 Bytes The value is 2xn (n is the number of registers)
bytes
Set the value of the register. Each register occupies two
Register value 2xN Bytes
bytes
Function code and data of response packet
Function code and data of the response packet when an error occurs
The coil and discrete inputs correspond to the actual digital physical quantity IO. The address is
consistent with the drawing of electrical design. For example, when operating Y1, the physical
output IO, the register address corresponds to 1. The same applies to input io.
Addresses up to 128 (not included) are for actual physical io use. addresses 128 and above are
for virtual io use.
Because the current robot system does not provide analog support, addresses within 1000 are
not used temporarily and are not supported. Addresses of 1000 and above are used to provide robot
status query.
Read the following registers through the standard Modbus protocol function code to query the
corresponding status of the robot.
The address within 1000 (excluding 1000) is used to read or set the actual analog quantity io.
Because the current robot system does not provide analog quantity support, it is not supported
temporarily.
1000 and above addresses are used to provide robot shared variables.
Variable sharing means that under the control of modbus, the variable value of the selected
variable can be updated to the control end, and the variable value can be modified at the control end
and synchronized to the controller.
Note: when the manipulator is running, the change of variable value at the control end does not
take effect.
The operation of reading and writing shared variables is to read and write the holding register,
and the corresponding address is 1000 and above.
Variables can only be written in a non running state.
Several known actions may reset the value of variables, including loading a project, loading a
program, and switching a program. Therefore, when these actions are performed after writing
variables, the written variable values will be overwritten.
Supported shared variables
Number of attribute
Variable type Total bytes Attribute name Offset address
bytes
INT 4 - - -
REAL 4 - - -
BOOL 2 - - -
a1 0 4
a2 2 4
a3 4 4
JointPosition 24
a4 6 4
a5 8 4
a6 10 4
x 0 4
y 2 4
z 4 4
TcpPosition 24
a 6 4
b 8 4
c 10 4
a1 0 4
a2 2 4
JointDistance 24 a3 4 4
a4 6 4
a5 8 4
a6 10 4
x 0 4
y 2 4
z 4 4
TcpDistance 24
a 6 4
b 8 4
c 10 4
x 0 4
y 2 4
z 4 4
Tool 24
a 6 4
b 8 4
x 10 4
vel_axis 0 4
acc_axis 2 4
dec_axis 4 4
jerk_axis 6 4
vel 8 4
Dyn 48 acc 10 4
dec 12 4
jerk 14 4
vel_ori 16 4
acc_ori 18 4
dec_ori 20 4
jerk_ori 22 4
trans_type 0 4
Transition 8
trans_pos 2 4
In the Modbus module of the function block, you can add and delete shared variables and view
the address of shared variables, which is easy to configure on the control side, as shown in the
following figure.
"Add" : Click "Add" to jump to the variable interface, select any variable as the shared variable,
click "Save" button to set successfully and automatically assign the address.
"Delete" : Select a variable and click "Delete" to cancel the shared variable attribute. If you click
on a project or global variable, cancel the shared variable attribute for variables under that item.
Restore: restore to the last saved state.
Chapter11 Alarm Management
Button description
Display: filter and display the current alarm information. All alarms, serious errors, general
errors, warnings and messages can be displayed.
Delete: delete an alarm message.
Delete All: delete all alarms.
Button Explanation
Display: Filter and display historical alarm information. All alarms, serious errors, general
errors, warnings and messages can be displayed.
|< and > |: Switch between page 0 and the last page.
< and >: Switch between next page and previous page.
Alarm prompt box: Select an alarm message to display the alarm message in the prompt box.
Chapter12 System Interface
12.2 Setting
It includes shutdown, system update, system time setting, screen lock, automatic login setting,
MacLicense configuration, controller IP setting, connection, disconnection, Control power, etc. As
shown in Figure 12.2.
Figure 12.2 Setting interface
Step
(1) Insert the USB and click the "update system" button to pop up the dialog box for selecting
the installation package *.tar.gz;
(2) Select the installation package and click "confirm" to pop up the dialog box of successful
import of installation package;
(3) Click the "Confirm" button to enter the update system page, click the "Update System"
button, and a progress bar will indicate the update status.
(4) Wait until the update is complete, and a pop-up prompt appears.
Note: the imported installation package name must be installpackage.tar.gz.
12.2.3 Modification Date and Time
IP Address: Set the IP address for TCP communication with the control system to be connected.
Enter the IP address and click the "Connect" button, the current IP address will be saved and the
connection will be created.
Restart the controller configuration: If the connection time is more than 10s and the connection
is still not successful, the "Restart the controller configuration" button will appear, the controller
configuration will be restarted, and the connection will be established.
The user can set the screen lock time by himself. By default, never locks the screen.
If the screen lock time is set to 10s, and the interface is not operated for 10s, the screen is
locked, and click the screen to wake up.
IP address: Set the IP address of the current control system network port. Enter the IP address
and click the "Set" button.
Note: The IP address of each network port must not conflict.
Click "MAC / license configuration" to pop up the interface, as shown in Figure 12.3.
Figure 12.4 MacLicense
MAC address used: MAC address specified by the current device.
License used: License matching MAC address.
Available MAC addresses: List of all MAC addresses for the device.
License: Select the license that matches the MAC address from the drop-down list.
Instructions: Explain how to set the MAC license.
Control power support: HMI, IO control, Modbus TCP, TCP. When switching control, select
the control you want to switch and click “Confirm”.
Click the "Configure" button to jump to the corresponding configuration page.
Figure 12.5 Control power setting interface
12.3 Import/Export
Save: Output the running data and object records of the previous 30s.
Clear: Clear the currently saved running data and object records.
Automatically save the running log when alarming: check the box, and the running log will
be automatically saved when the alarm is issued.
Export to local: Export user files and logs CX_User202009151634.tar.gz to the work
directory.
Export to USB: Export user files and logs CX_User202009151634.tar.gz to USB.
User file naming rules: CX_User date (mm / DD / mm / min). Tar.gz
12.4 Version
Displays the current Atommotion version number.
The version number consists of three parts: Major version number - detailed version
information date.
Chapter13 Appendix I Instruction System Introduction
13.1.1 Ptp
Instructions Describe
All joints of the robot reach the target joint location at the same
Ptp
time
parameter describe
The number of editable members of this variable is related to the robot model. When the robot
is a four shaft model, a1, a2, a3 and a4 can be edited; If it is a three-shaft model, a1, a2 and a3 can be
edited, and so on;
The parameter value indicates the location of the shaft relative to the zero point. If it is a
rotating shaft, the unit is degrees; if it is a linear shaft, the unit is mm.
dyn Dynamic Parameters of Robot
Please refer to Dynamic. When using this parameter, you can use the system default global
dynamic parameter variable or customize it.
13.1.2 Line
Instructions Describe
The end of the robot moves in a straight line to the target location at
Line
the specified speed.
parameter describe
dest_pos: TcpPosition Target end location
dyn: Dynamic Robot dynamic parameters
transition: Transition Robot motion smoothing parameters
Return value describe
Void No return value
Create a new Line command with the screen shown in Figure 13.2.
The introduction of this parameter refers to TcpPosition. This parameter represents the location
of the TCP point in the spatial coordinate system, xyz represents the location of the TCP point on the
three axes of the reference coordinate system, and abc represents the gesture of the TCP point.
NO_TRANSITION:Not smooth
13.1.3 Circle
Instructions Describe
The end of the robot makes circular motion from the starting point,
Circle
through the auxiliary point to the target point
parameter describe
mid_pos: TcpPosition Coordinates of arc auxiliary points
dest_pos: TcpPosition Coordinates of arc end point
dyn: Dynamic Robot dynamic parameters
transition: Transition Robot motion approximation parameters
Return value describe
Void No return value
Note: The robot TCP end makes a full circle motion and must execute two circular arc motion
commands; the starting position of this command is the target position of the previous motion
command or the current robot TCP position.
Create a new circle command. The interface is shown in Figure 13.3.
This position point is used to assist the start and end points to form an arc, and the internal
parameters are set the same as the line instruction's dest_pos target end position.
The target end position (dest_pos), dynamic parameter (dyn) and smoothing parameter
(transtion) are the same as Line instruction.
13.1.4 PtpRel
instructions describe
All joints of the robot move synchronously from the reference
PtpRel
point to offset the joint distance
parameter describe
base_pos: JointPosition Base point
dist: JointDistance Offset joint distance
dyn: Dynamic dynamic parameter
Return value describe
Void No return value
Create a PtpRel command with the interface shown in Figure 13.4.
Instructions Describe
The end of the robot moves in a straight line from the reference
LineReal
point to offset the spatial distance
parameter describe
base_pos: TcpPosition Base point
dist: TcpDistance Offset space distance
dyn: Dynamic dynamic parameter
transition: Transition Smooth scale
Return value describe
Void No return value
Create a new LineRel command with the screen shown in Figure 13.5.
dist Offset
Instructions Describe
The end of the robot keeps other coordinates unchanged and moves to
LineAbs
the target location in the specified direction
parameter describe
Move to the target location in the X direction (by default, this direction
x: REAL
does not move)
Move to the target location in the Y direction (by default, this direction
y: REAL
does not move)
Move to the target location in the Z direction (by default, this direction
z: REAL
does not move)
Move to the target location in direction a (by default, this direction
a: REAL
does not move)
Move to the target location in direction B (by default, this direction
b: REAL
does not move)
Move to the target location in direction C (by default, this direction
c: REAL
does not move)
dyn: Dynamic dynamic parameter
transition: Transition Smooth scale
Return value describe
Void No return value
Create a new LineAbs command with the interface as shown in Figure 13.6, and set z to -900 to
indicate the z-direction movement to the -900 position.
instructions describe
ReturnHome all shafts return zero
Return value describe
Void No return value
13.1.8 CustomPath
Instructions Describe
CustomPath The end of the robot moves in a custom trajectory
parameter describe
dest_pos: ArrayOfTcpPosition Custom track
dyn: Dynamic dynamic parameter
transition: Transition Smoothing parameters
Sampling_period: INT Customize the sample rate of the track
Return value describe
Void No return value
Create a new CustomPath command, the interface is shown in Figure 13.7.
13.2.1 WaitObject
Instructions Describe
WaitObject Waiting for an object
parameter describe
obj: TargetObject Object to wait for
time: INT Maximum waiting time, in MS; -1 means always waiting
Return value describe
Void No return value
After creating a new WaitObject command, the interface looks like Figure 13.8.
Waiting time
When time is set to - 1, wait until the next instruction is executed after waiting for the object;
If the time is set to 20, the next instruction will be executed after the instruction has been
executed for 20ms, regardless of whether it waits for the object or not.
13.2.2 IsArriveObject
instructions describe
IsArriveObject Determine whether the object has arrived
parameter describe
obj: TargetObject Target object to judge
Return value describe
BOOL When the object arrives, it returns true; otherwise, it returns false
13.2.3 ObjectDone
Instructions Describe
Cancels the active state of the current object and sets it to the completed
ObjectDone
state.
parameter describe
obj: TargetObject Object to be deactivated
Return value describe
Void No return value
13.2.4 ObjectCancel
Instructions Describe
Cancels the active state of the current object and sets it back to the
ObjectCancel
waiting state.
parameter describe
obj: TargetObject Object to be deactivated
Return value describe
Void No return value
13.2.5 ObjectFinish
Instructions Describe
Deactivate the currently acquired object, and set it to completed to send,
ObjectFinish
inactive, outgoing
parameter describe
obj: TargetObject The object to deactivate
13.2.6 ObjectClear
Instructions Describe
ObjectClear Empty all objects on a conveyor.
parameter describe
con: Conveyor Select empty for all conveyors to empty
Return value describe
Void No return value
13.3 Setting Instruction
All motion commands after the execution of the setting command use the parameters set by the
setting command, except for the internal setting parameters of the command。
13.3.1 SetDynamic
Instructions Describe
SetDynamic Sets the default dynamic parameters used in instruction
execution
parameter describe
dyn: Dynamic dynamic parameter
Return value describe
Void No return value
13.3.2 SetTransition
Instructions Describe
SetTransition Sets the default smoothing scale used in instruction execution
parameter describe
transition: Transition Smooth scale
Return value describe
Void No return value
13.3.3 SetAcceleration
Instructions Description
SetAcceleration Sets the default acceleration law used in command execution
parameter describe
acceleration_type: Acceleration law
AccelerationType TRAPEZOID_ACC: T-shaped acceleration type
PARABOLA_ACC: parabolic acceleration type
SIN_ACC: sinusoidal acceleration type
COS_ACC: cosine acceleration type
Return value describe
Void No return value
13.3.4 SetCartSys
Instructions Description
SetCartSys Sets the coordinate system used in instruction execution
parameter describe
cart_sys:CartSys Coordinate system
Return value describe
Void No return value
13.3.5 SetTool
Instructions Description
SetTool Sets the tools used in instruction execution
parameter describe
tool:Tool tool
Return value describe
Void No return value
13.4.1 SetDout
Instructions Describe
SetDout Set the actual output port to true or false
Parameter describe
dout: Dout Output port to set
value: BOOL Sets the value of the output port
Return value describe
Void No return value
13.4.2 SetVDout
Instructions Describe
SetVDout Set the virtual output port to true or false
parameter describe
dout: VDout Output port to set
value: BOOL Sets the value of the output port
Return value describe
Void No return value
13.5.1 OnDistanceDO
Instructions Describe
OnDistanceDO The trigger instruction executed after the last instruction is executed to a
certain distance
parameter describe
type: TriggerDistance Trigger type
From begin: triggered at a certain distance from the starting point;
From: triggered at a certain distance from the end point;
distance: REAL The set distance cannot be negative
time: INT Delay triggering after the set distance is reached, unit: ms
action: Action Expression executed after triggering,SetDout, SetVDout,:=
Return value describe
Void No return value
13.5.2 OnPercentDO
Instructions Describe
OnPercentDO Trigger instruction executed after a certain percentage of the previous
instruction is executed
parameter describe
percent: REAL Set percentage
time: INT Set the delay time after percentage arrival, in MS
action: Action Expression executed after triggering:SetDout, SetVDout,:=
Return value describe
Void No return value
Note: the trigger command cannot be used alone. There must be a motion command before the
trigger command, otherwise an error will be reported during operation.
13.6.1 Wait
Instructions Describe
Wait Wait for a condition to hold
parameter describe
condition: BOOL A condition: the value of a constant, variable, or the return value of an
expression;
The types of expressions are: getdinvalue, getdoutvalue, isarriveobject and
other operators
Return value describe
Void No return value
13.6.2 WaitIsFinished
Instructions Describe
WaitIsFinished Wait until the previous instruction is executed, and then continue to execute
the subsequent instruction;
This command cancels the smooth transition between the previous motion
command and the next motion command.
Return value describe
Void No return value
13.6.3 WaitTime
Instructions Describe
WaitTime Wait a fixed time
parameter describe
time: INT Waiting time, when it is - 1, always waiting, unit: ms
Return value describe
Void No return value
13.7 Process Control Instruction
13.7.1 IF
Instructions Describe
IF Condition instruction, if the condition is met, execute the next step
parameter describe
condition :BOOL If condition: constant, variable value or return value of expression;
The types of expressions are: getdinvalue, getdoutvalue, isarriveobject and
other operators
Return value describe
Void No return value
13.7.2 ELSIF
Instructions Describe
ELSIF Condition command, execute the next step if the elsif condition is met
parameter describe
:BOOL If condition: constant, variable value or return value of expression;
The types of expressions are: getdinvalue, getdoutvalue, isarriveobject and
other operators
Return value describe
Void No return value
13.7.3 ELSE
Instructions Describe
ELSE Conditional instruction
Return value describe
Void No return value
13.7.4 WHILE
instructions describe
WHILE When the while condition is met, the loop executes
parameter describe
:BOOL The types of expressions are: getdinvalue, getdoutvalue, isarriveobject
and other operators
Return value describe
Void No return value
13.8.1 :=
Instructions Describe
:= Assignment instruction
Return value describe
Void No return value
13.9.1 EnableWorkArea
Instructions Describe
EnableWorkArea Set the specified work area as enabled
parameter describe
work_area: WorkArea Work area to set
Return value describe
Void No return value
13.9.2 DisableWorkArea
Instructions Describe
DisableWorkArea Set the specified work area to disabled
parameter describe
work_area: WorkArea Work area to set
Return value describe
Void No return value
13.10 Palletizer instruction
13.10.1 ResetPalletizer
Instructions Describe
ResetPalletizer Reset the current location of palletizing
parameter describe
palletizer: Palletizer Stack to reset
Return value describe
Void No return value
13.10.2 NextPalletizer
Instructions Describe
NextPalletizer Set to next stacking location
parameter describe
palletizer: Palletizer Palletizing variable
Return value describe
Void No return value
13.10.3 SetPalletizerNum
Instructions Describe
SetPalletizerNum Sets the serial number of the current location of the palletizing
parameter describe
palletizer: Palletizer Palletizing variable to set
Num: INT Location sequence number to set
Return value describe
Void No return value
13.11.1 StartPLC
13.12.1 SendTcpData
Instructions Describe
SendTcpData Send TCP data
parameter describe
Tcp_connect: Specifies the tcpconnect variable to send
TcpConnect
data:STRING Data to send
Return value describe
Void No return value
13.13.1 SIN
Instructions Describe
SIN Sinusoidal trigonometric function
parameter describe
:REAL Angle in degrees
13.13.2 COS
Instructions Describe
COS Cosine trigonometric function
parameter describe
:REAL Angle in degrees
13.13.3 TAN
Instructions Describe
TAN Tangent trigonometric function
parameter describe
:REAL Angle in degrees
13.13.4 ASIN
Instructions Describe
ASIN Inverse sine trigonometric function
parameter describe
:REAL Inverse sine trigonometric function parameters
13.13.5 ACOS
Instructions Describe
ACOS Inverse cosine trigonometric function
parameter describe
:REAL Inverse cosine trigonometric function parameters
13.13.6 ATAN
Instructions Describe
ATAN Arctangent trigonometric function
parameter describe
:REAL Arctangent trigonometric function parameters
13.13.7 LN
Instructions Describe
LN Natural logarithmic function
parameter describe
:REAL You need to find the value of the natural logarithm
13.13.8 EXP
Instructions Describe
EXP Exponential function based on e
parameter describe
e: :REAL Index of e
13.13.9 ABS
Instructions Describe
ABS Absolute value function
parameter describe
:REAL The number for which the absolute value is required
13.13.10 SQRT
Instructions Describe
SQRT Open square root function
parameter describe
:REAL A value that requires an open square root
13.14 Operator
13.14.1 +
Operator Describe
+ Summation operator (support real and int types)
13.14.2 -
Operator Describe
- Difference operator (support real and int types)
13.14.3 *
Operator Describe
* Multiplication operator (support real and int types)
13.14.4 /
Operator Describe
/ Quotient function (support real and int types)
13.14.5 AND
Operator Describe
AND And operator (bool type is supported)
13.14.6 OR
Operator Describe
OR Or operator (bool type supported)
13.14.7 XOR
Operator Describe
XOR XOR operator (bool type supported)
13.14.8 NOT
Operator Describe
NOT Non operator (bool type supported)
13.14.9 <
Operator Describe
< Less than operator
13.14.10 >
Operator Describe
> Greater than operator
13.14.11 <=
Operator Describe
<= Less than or equal to operator
13.14.12 >=
Operator Describe
>= Greater than or equal operator
13.14.13 =
Operator Describe
= Judge whether they are equal
13.14.14 <>
Operator Describe
<> Judge whether it is unequal
13.14.15 ()
Operator Describe
() The parenthesis operator in the expression is used to change the running
priority
13.14.16 []
Operator Describe
[] The square bracket operator in the expression allows the user to get the
array elements
13.15.1 GetObjectId
Instructions Describe
GetObjectId Gets the ID of the object
parameter describe
obj: TargetObject Object to get ID
Return value describe
INT ID value of the object
13.15.2 GetObjectAttr
Instructions DESCRIBE
GetObjectAttr Get the attr of the object
parameter describe
obj: TargetObject Object to get attr
Return value describe
INT Attr value of object
13.15.3 SetObjectAttr
Instructions Describe
SetObjectAttr Set the attr of the object
parameter describe
obj: TargetObject Object to set attr
attr: INT Attr to set
Return value describe
Void No return value
13.15.4 GetObjectInfo
Instructions Describe
GetObjectInfo Get object info
parameter describe
obj: TargetObject Object to get info
Return value describe
STRING Object information string
13.15.5 GetObjectOriginLocation
Instructions Describe
GetObjectOriginLocation Get the original location of the object
parameter describe
obj: TargetObject Object to get location
Return value describe
dest_pos: TcpPosition Original location of object
13.16.1 IntToString
Instructions Describe
IntToString Int type to string
parameter describe
input: Int Input int data
Return value describe
STRING character string
13.16.2 RealToString
Instructions Describe
RealToString Real type to string
parameter describe
input: Real Input int data
Return value describe
STRING character string
13.16.3 BoolToString
Instructions Describe
BoolToString Bool type to string
parameter describe
input: Bool Bool data input
Return value describe
STRING character string
13.16.4 StringToInt
Instructions Describe
StringToInt String to int type
parameter describe
input: String String data entered
Return value describe
INT Int value converted from string
13.16.5 StringToReal
Instructions Describe
StringToReal String to real type
parameter describe
input: String String data entered
Return value describe
REAL Real value converted from string
13.16.6 StringToBool
Instructions Describe
StringToBool String to bool type
parameter describe
input: String String data entered
Return value describe
BOOL Bool value converted from string
13.17.1 GetCacheString
Instructions Describe
GetCacheString Gets the string of the cache
parameter describe
input: Int Index of the cache (index value starts from 1)
Return value describe
STRING character string
13.17.2 GetRobotCurrentEndJointPosition
Instructions Describe
GetRobotCurrentEn Obtain the feedback value of the current joint position of the
dJointPosition robot end
13.18.1 GetCacheString
Instructions Describe
GetCacheString Gets the string of the cache
parameter describe
input: Int Cache index (index value starts at 1)
13.18.2 CustomAlarm
Instructions Describe
CustomAlarm Generates a custom alarm
parameter describe
alarm:Alarm Alarm information variable
13.18.3 LineSearch
Instructions Describe
LineSearch The robot moves to the space target position in a straight
line. When the conditions are met, the instruction is directly
skipped and the next instruction is executed.
parameter describe
dest_pos:TcpPosition Target space position
In line 6, if the trigger condition is true, this instruction is directly skipped and line 7 is directly
executed.
In line 7, when _g.out. value is false, it moves in a straight line to the spatial destination
pos:TcpPosition; If the _G.dout. value external trigger is true during execution, the instruction is
skipped and line 8 is executed.
Chapter14 Appendix II Variable Types
14.1.1 JointPosition
Create a new variable pos for the four-axis model robot, as shown in Figure 14.1.
Each member has two options: value and maintain the current value. a1 is set to maintain the
current value. During teaching, only the values of a2, a3 and a4 will be modified.
14.1.2 TcpPosition
Where xyz represents the location and abc represents the attitude.
14.1.3 JointDistance
JointDistance
a4: REAL 4th joint offset
Create a new variable joint_dis for the four-axis model robot, as shown in Figure 14.3.
14.1.4 TcpDistance
14.1.5 Dynamic
Note: the dynamic parameters are the maximum parameters allowed by the user. During actual
operation, they need to be compared with the parameters configured in configure. If they exceed the
parameters configured in configure, the parameters configured in configure shall prevail.
14.1.6 Transition
Structural
Member Describe
Type
Smoothing type
trans_type:
PERCENT_Transition: percent smooth,
TransitionType
Transition NO_Transition: not smooth
14.1.7 CartSys
Structural
Member Describe
Type
ref_cart_sys:
REFERENCE TO Reference coordinate system
CartSys
14.1.8 Tool
Structural
Member Describe
Type
x: REAL X location of end to tool conversion unit: mm
Tool
a: REAL End to tool transition a location in degrees
14.2.1 TargetObject
14.2.2 Conveyor
Structural
Member Describe
Type
encoder: Encoder Conveyor encoder code value interface
conveyor_model:
Belt type: straight, disc and static
ConveyorModelType
14.2.3 ObjectSource
kx:REAL x scaling
ky:REAL y scaling
None: no filtering
sort order
ObjectSort
NONE: do not sort, strictly follow the object
addition time, and grasp the earliest one first.
14.2.5 OverlapFilter
14.2.6 ObjectAllot
Structural
Member Describe
Type
enable: BOOL Enable object shunting
ref_conveyor:
Conveyor for object shunting
REFERENCE TO Conveyor
Shunt type
14.2.7 ConditionalControl
ref_conveyor:
REFERENCE TO Conveyor under condition control
CONVEYOR
14.3.1 WorkArea
Structural
Member Describe
Type
enable: BOOL Is the monitoring area enabled
ref_cart_sys:
start_pos:
Starting point of monitoring area
TcpPosition
R: Cylinder radius
Box members:
14.4.1 Din
14.4.2 Dout
14.4.3 VDin
14.5.1 INT
14.5.2 REAL
14.5.3 BOOL
14.5.4 STRING
14.7.1 Palletizer
palletizer_distance:
Offset distance in XYZ direction during stacking
ARRAY OF REAL
palletizer_count:
Number of pallets placed in XYZ direction
ARRAY OF INT
palletizer_location:
Stacking point location
TcpPosition
first_location:
Location of the first point for stacking
TcpPosition
entry_location_enable:
Enable palletizing entry point
BOOL
front_location:
Point location before stacking
TcpPosition
front_location_enable:
Enable pre palletizing point
BOOL
back_location:
Point location after stacking
TcpPosition
back_location_enable:
Enable post palletizing point
BOOL
14.7.2 PalletizerData
layer_position:ARRAY OF
Array of stacking position points used
TcpPosition
object_position:
Object offset value
TcpPosition
objects_index:ARRAY OF
List of palletized object index values
INT
palletizer_position:ARRAY
List of position points for palletizing objects
OF TcpPosition
front_position:ARRAY OF
A list of precursors to palletized objects
TcpPosition
back_position:ARRAY OF
A list of trailing points for palletized objects
TcpPosition
14.7.3 SeniorPalletizer
SeniorPalletizer
object_type:INT Type of object
palletizer_position:
Position of palletizing point
TcpPosition
off_position:
Stacking offset
TcpPosition
ref_palletizer:REFFRENCE
Referenced palletizing data variable
TO PalletizerData
14.8.1 TcpConnnect
SERVER: Server
tcp_type: TcpType
CLIENT: client
TcpConnect
14.8.2 HardTrigger
HardTrigger
input_io: IO Input IO port
14.8.3 Alarm
结构体 成员 描述
14.8.4 AxisLimit
结构体 成员 描述
GREATER.
164
0x2118 EtherCAT init file failed 1.Contact supplier for solution
Failed to read
0x2141 1.Contact supplier for solution
configuration file
Failed to write
0x2142 1.Contact supplier for solution
configuration file
165
15.2 Error
TCP received data format 1.Set the sending format according to the
0x4122
verification failed! requirements of the control system
166
1.When the robot starts, it is in the
Robot location error,
impossible shaft location (the positive
please check zero and
0x4136 solution of the model fails), and check the
shaft configuration
zero point and shaft configuration
parameters!
parameters
167
1.Instruction writing error, check the
0x4312 Instruction syntax error!
instruction
169
1. If an exception occurs during
Statement execution statement execution, handle it according to
0x4358
exception the specific prompt
2. Contact supplier for solution
Object source
1. IO configuration error, reconfigure
0x4423 configuration IO
object source IO
exception
170
Object shunting
0x4434 configuration IO 1. IO configuration error, reconfigure IO
exception
15.3 Warning
171
1.In the process of running, stop the
Unable to respond to start program and start again
0x6111
command 2.After confirming the upper enable,
start running the program
172
Chapter16 Appendix IV Application example
16.1 Palletizing
Configure the parameter value of palletizing variable (refer to Palletizer variable for the meaning
of parameter value).
图
Line 20:New palletizing coordinate system
Line 21: Move to the point before stacking
Line 22: Move to stacking point
Line 23: Move to the point after stacking
Lines 24 to 27: If the stacking is full, the stacking is reset; If it is not full, the next stacking
point will be executed
Note:
(1) In the sample program, the point before palletizing, the point after palletizing, and the
palletizing entry point are not set. Please refer to the description of palletizing variables to set
according to your needs.
(2) The max_number member of the palletizing variable in the sample program is set to 60,
which means that all palletizing points need to be filled as shown in the figure. Assuming that the
last two points do not want to be placed, max_number is set to 58.
(3) If there are some points in the middle that do not want to be placed, please use the
NextPalletizer command to update the serial number currently placed.
173
(4) The tracking parameters related to palletizing in this sample program are not set and are not
for reference.
16.2 SeniorPalletizer
SeniorPalletizer function is to configure more complex palletizing, with the following
characteristics:
1 There are different kinds of objects in SeniorPalletizer variables, which can have different
kinds of palletizing layers;
2 Each object class has a unique name and can have different types and parameters; Object
types can be added or deleted at will, and existing objects can be modified.
3 Each kind of stacking layer has a unique name, can be placed different kinds of objects, each
object has a target point, front point, back point and offset point; Palletized layers can be added or
deleted at will, and existing palletized layers can be modified.
4 In advanced stacking, the number of stacking layers can be customized, and the position and
Angle of stacking layer can be set; You can select and configure it by palletizing layer name.
174
To sum up, the use of SeniorPalletizer needs to combine the creation of SeniorPalletizer
variables, example configuration description and example program description, as shown below.
SeniorPalletizer variables are configured in function blocks, and can only be configured with
global variables or SeniorPalletizer variables under loaded programs.
175
Parameter Configuration Instructions
There are four interfaces in total: SeniorPalletizer configuration interface, object configuration
interface, single palletizing configuration interface, and palletizing queue configuration interface.
1. SeniorPalletizer configuration interface: used to display SeniorPalletizer variable
information, as shown in the figure below.
"Fast Configuration" : Provides advanced palletizing features for quick configuration, which are
described in the next section.
2. Object configuration interface: used to configure SeniorPalletizer variables with different
types of objects, data type is PalletizerObject. Each object class has a unique name and can have
different types and parameters; Object types can be added or deleted at will, and existing objects can
be modified, as shown in the following figure.
176
Figure 16.5 tt:SeniorPalletizer Object configuration interface
Object List: A configured object list. You can add or delete objects to the list by clicking Add
and Delete buttons. You can configure an object on the page.
"New" button: When creating a new object, you need to enter the name of the object. The name
of the object must not be the same as other objects in the current object array, and follow the
variable naming rules
Delete button to delete an object.
Select an object in the object list to modify the object shape, object properties, and object offset.
3. Single palletizing configuration interface: used to configure different palletizing layers of
SeniorPalletizer variables. Data type is PalletizerLayer. Each palletizing type has a unique name and
can be used for different kinds of objects. Each object has a target point, a front point, a back point
and an offset point. Palletized layers can be added or deleted at will, and existing palletized layers
can be modified. It is divided into three parts: palletizing layer management, palletizing object
177
management, real-time map management. Among them, real-time graph management is introduced
in the next section, as shown in the figure below.
178
"Layer size" : refers to the length of the current stacking layer in the X and y directions.
"Add Object" and "Delete Object" buttons: Add or delete an object to the layer. After adding or
deleting an object, it will be compared with the current saved configuration. If it is the same, it
does not need to be saved. Different, save button turns red. You can delete multiple objects, add
only one, and delete only the selected object. At least one object can be retained after deletion
Target point, Front point, Back point: You can modify the target point, front point, back point,
and offset point of the selected object. After the modification, the configuration is compared
with the saved configuration. If the configuration is the same, you do not need to save the
configuration.
Object number: indicates the order in which objects are placed.
Check box: Check or uncheck an object. If selected, the TCP point of the selected object is
different, and the font of the edit box is red. The default font is black
Object name: Object name, object name can be selected from the object name list.
"All selected" or "Unselected" button: Used to select or unselect an object, which will affect the
display of the TCP point value on the left.
Static button and check box effect the color display of the left TCP point, specifically:
When an object is selected through the selection box, the TCP point on the left will display the
corresponding position value. When multiple objects are selected, the value of the last object will be
displayed by default if the button is selected. If selected in sequence with the checkbox, the last
clicked object will be displayed. When unselected, the last selected object is displayed by default,
and when not selected, the first object is displayed by default, and all TCP edit boxes cannot be
edited.
4. Palletizing layer queue configuration interface: used to configure SeniorPalletizer layer
queue, and can set the position and Angle of palletizing layer; You can select and configure by
palletizing layer name, as shown in the following figure. It is divided into layer queue management
and real-time graph management. The real-time graph management part is introduced in the next
section.
179
Figure 16.7 tt:SeniorPalletizer Palletizing queue configuration interface
1. Single layer palletizing configuration interface graphics, the use of real-time graphics is
divided into object coordinate management, object list management, object graphics management,
object graphics button management four parts, as shown below.
180
Figure 16.8 Single palletizing configuration interface graphics
Describe
181
Modify "Target Coordinates" : Modify "Target Coordinates" in the object coordinate
management section. Click "Refresh Graphics" button to update the graphics display in the
object graphics management section in real time.
Status Selected: The object state in the object list management section corresponds to the object
state in the object graph management section, and is updated in real time. If the object is selected
in the object list management section, the corresponding object will change from gray to green.
If you deselect it, it goes back to gray. Multiple selection is supported.
"Layer size" : The size of the tray on which objects are placed, indicated by a black
quadrilateral.
Adaptive scaling: In the process of object movement, the graphics of object graphics
management will adapt to the scale according to the size and position of the object to ensure that
the object does not exceed the bounds.
"Up, down, left and right" movement: the selected object can be moved up, down and left, and
real-time modification of object coordinates management part of the object coordinates, support
button long press operation.
"Rotate" button: rotate the degree in the editable box clockwise.
"Swap" button: Exchange the index of two objects, that is, exchange the object number in the
object list management section.
"Drag" button: The "drag" button supports the dragging operation only when it is in the pressed
state. After being pressed, the state remains unchanged. Press again to cancel the dragging state.
Only selected objects can be dragged. Dragging an animal changes the position of the graph and
modifies the "target coordinates" in the object Coordinates Management section.
2. Palletizing layer queue configuration interface graphics. The use of real-time graphics can
be divided into three parts: palletizing layer coordinate management, palletizing layer list
management and palletizing layer queue graphics management, as shown in the figure below.
182
Figure 16.9 Palletizing queue configuration interface graphics
实际坐标系与实时图坐标系关系:
表 16.2 实时图图形描述
Describe
183
relations between real-time graph coordinates
Quick Configuration has only one shape, but there are multiple layers, but the configuration of each
layer is the same, as shown in the following figure.
Note: quick configuration will delete the original configuration, please use caution!!
184
Figure 16.10 Palletizing queue configuration interface graphics
"Quantity and offset distance in XYZ direction" : quantity XY refers to the quantity in XY
direction respectively, quantity Z refers to the number of layers; Offset XYZ refers to the shift in
the xyz direction of the coordinate system respectively.
Front point configuration and Back point configuration: indicates the front and back points of all
objects.
185
16.2.4 SeniorPalletizer example procedures
16.3 Production
(1) New global int type variable
186
For example, int type variable named product
(2) Configure to use the product variable to record production
Select the variable in the function block - > production interface and enable it, as shown in
the following figure:
Program example
The sample program is the product program in the demo project. This program means that each
time an object is placed, the production is considered to increase once, see line 28 of the program.
16.4 Variable buffer area (realize the function of modifying variables during
operation)
The sample program is the cache in the demo project. The sample can change the xyz member of
the pos_2_l variable during operation.
187
Program example
188
Figure 16.14 Variable buffer configuration interface
Application example 1
189
Figure 16.15 Hard trigger configuration diagram
Application example 2
(1) Configuration settings
Application example 3
(1) Configuration settings
190
Figure 16.18 Hard trigger configuration diagram
Application example 4
(1) Configuration settings
191
Figure 16.20 Hard trigger configuration diagram
192
Box shape: It is a corner point of a cube, which is the smallest point. ( x is the smallest, y is
the smallest, z is the smallest)
CYLINDER shape: is the center of the bottom surface.
(2) Coordinate expression:
BOX shape: dx: distance from the starting point along the x direction
dy: starting from the starting point, the distance along the y direction
dz: starting from the starting point, the distance along the z direction
CYLINDER shape:
H: the height of the cylinder (the distance along the positive direction of the z-axis)
R: the radius of the cylinder
Set the working area of the robot according to your needs. See example 2 for specific area
settings.
(3) Workarea priority:
Prohibited Entry Area> Prohibited Leaving Area> Work Area
If the three areas exist at the same time, the robot must not enter the prohibited area to work,
and then cannot leave the prohibited area, and finally work in the work area.
193
Application example 2 (FORBIDDEN_OUT)
As shown in the figure, the black rectangular parallelepiped area marked by the label is the
forbidden_out area.
For example, the robot grabs or places objects on the conveyor belt, and the two conveyor belts
and the area between them (the area in the dashed frame) are prohibited areas.
in
For example, a conveyor belt with a grid, where the baffle of the grid (the red line) is the
prohibited area of the robot.
195
Conveyor belt variables are required to use object flow variables. For example: create a new
conveyor belt variable named con, and then create a new object distribution variable called
objectallot.
(2) Object shunt configuration parameter setting (for the specific meaning of the parameters,
please refer to the object shunt variable ObjectAllot)
Taking MAXMUM as example, the robot 1 grabs the objects on the conveyor belt with its
maximum capacity, and the rest is diverted to the robot 2 to grab the objects. Taking GROUPING as
an example, set output_num to 2 and total_num to 5. Robot 1 grabs 3 of them, and the remaining 2
are diverted to robot 2. Take RATIO_MAXIMUM as an example, first divide the flow according to
the proportion, and then divide the flow according to the maximum capacity. Assuming that the
shunt ratio is X, robot 1 grabs objects in a scale of 1-X. If robot 1 has not completed the grab of 1-X
ratio, it will be diverted to robot 2 to grab.
196
Figure 16.28 Example diagram of dual shunt application
According to the above configuration, when x1 changes from false to true, a trigger signal is
generated and the conveyor belt starts to move at a speed of 10°/s; when x1 changes from true to
false, a reset signal is generated and the conveyor belt stops moving. When running Dout is true, the
conveyor belt is in running.status
197
198