1. Introduction to the RoboFlow
The RoboFlow is the operating system of the Elephant Collaborative Robot. It provides a human-computer interaction interface, which is convenient for operators to interact with the elephant robot and use the elephant robot correctly. That is to say, when the user uses the robot, most of the time is achieved by using the RoboFlow operating system.
For example, since the RoboFlow operating system runs in the teach pendant, the user can use the carrier of the teach pendant to perform manual robotics, programming, and other operations. The operating system OS can also be used to communicate with other robots or devices. All in all, with the advantages of friendly interface and rich functions, the appearance of the RoboFlow operating system makes it easier for users to start using the elephant robot. It makes everyone a commander of robots.
2 Main interface introduction
2.1User Login Interface
When the controller is powered up and the system startup button on the teach pendant is pressed, the login page is entered. Figure 2-1 shows the login page of the OS3 operating system.
Figure 2- 1 login interface
① : displays the name of the serial port of the mechanical arm
② : login user name (select Default)
③ : Password: mycobot / mycobotpro
As shown in the login page, "TAUGHT BY PEOPLE, PERFORMED BY ROBOT", this is the concept that the elephant robotics has always insisted on making the operator become the commander of the robot. Let robots replace people with simple but repetitive tasks, work in harsh working conditions, and work that people can't do well (such as scenes with very high operational accuracy).
There are two types of login users for the OS3 operating system, one is the administrator and the other is the operator. The administrator has the highest authority to perform all operations, programming and setup. The operator can only load and run existing programs and check the statistical data information.
Administrators can add and modify multiple accounts in the settings, including operator accounts.
By clicking on the "Shutdown" button, the OS3 operating system can be turned off, and then the power supply can be turned off, thus the robot system can be shut down.
When the login is successful, it will go to the main menu page. The main menu of the OS3 operating system is shown in Figure 2-2.
Figure 2- 2 Main menu
On the left side of the main menu, there are four different options available:
- Load an existing program directly and control the program to run. In this window, the user is not allowed to edit the program, but can only control the program running (such as control program running, pausing, stopping). At the same time, you can view the log and other related information during the running process of the program.
- Users can choose to load an existing program in this window for modification, or they can choose to create a new blank program for editing.This window is the most frequently used function window for users. Besides programming, it can also perform other operations, such as manual manipulation of robots with "fast moving" function, forced control of IO signals, new variables, etc.
- In this window, users can not only view the existing running data of the system, but also view related information saved before.
- In this window, the user can make basic settings for the robot. Such as robot open, robot off, account management, default program settings, etc.
In addition to these four main options, in the right window of the main menu, the user can see and open the most recently run program files. It is convenient for users to quickly find the most recently run program and control the program to run.
Click the "Shutdown" button to close the OS3 operating system; click the "Logout" button to log out.
2.3 Run Program
If the user selects "Run Program" in the main menu, it will enter the Run Program window. The running program window of the OS3 operating system is shown in Figure 2-3.
Figure 2- 3 Program editing window option
Users can enter the program window by loading the program they need to run. In this window, users can:
1.Get the basic information of the current (ready) running program, including program name, running status, user type.
2.Understand the statistical information of the current running program, such as the total number of runs and the rhythm, etc.
3.Read the relevant information of the current running program through the display window, such as IO, variables, logs, etc.
4.The most important thing is that the running program window is the channel for the user to load and run the program that has been debugged.
As shown in Figure 2-4, if the user selects "Write Program" in the main menu, two options will appear in the right window. The first is to create a program (optional blank or template) and the second is to load the program.
Figure 2- 4 Program Editing Window Options
Figure 2- 5 Program Editing Interface
When first entering the program edit page, the user sees the initial page as shown in figure 2-5. In this page, common tools, initialization group and file management functions are provided. The role of the initialization group is to make it easy for the user to set the program content to run at the beginning of the program and run only once. For example, set the initial point, Io State, and so on before the robot starts formal work. File management provides users with a way to manage files. Users can manage program files here, and can copy them to the U disk, or from the U disk to the system memory. If the user wants to go back to the initial page during the programming process, click "Back".
Function bar As shown in Figure 2-6, the function bar has seven sub-options, which are divided into two categories, one is the program editing toolbar, and the other is the function editing column. Figure 2- 6 Function bar
Program editing toolbar: Includes file option bar, edit option bar, and toll options bar. File：As shown in Figure 2-7, you can edit the program file. There are several operation options: Save, Save As, New, Load, Rename, and Exit. Figure 2- 7 File option bar
Edit：As shown in Figure 2-8, you can edit the specific command content in the program file. There are cut, copy, paste, delete, disable, delete all, redo, undo options. Figure 2- 8 Edit option bar
A. Tool options bar：As shown in Figure 2-9, it is a shortcut toolbar. When editing a robot program, the user often uses other tools to operate the robot. The tool options bar provides tools commonly used in program editing. Tools provided include: Quickmove, install, input and output, variables, logs, basic settings. For example, when editing a motion command, the user needs to manually operate the robot to a working position and teach the point. Then, the “Quickmove” tool in the toolbar can be selected to manually operate the robot to move to the position. Figure 2- 9 Tool options bar
Functional Editing Window The OS3 operating system provides a rich set of features that allow users to perform complex functions with simple operations. Simple, but not simple functions, thus reducing the time workers to learn programming, efficient accomplish their goals. The function editing bar includes basic functions, logic functions, advanced functions, and extended functions.
Basic functions：As shown in Figure 2-10, the basic functions include Waypoint, Gripper, Wait, Set, and Group, which are some basic functions commonly used by users. Figure 2- 10 Basic functions
- Waypoint: “Create new waypoints → Manually operate the robot to move the robot to the target point → Save current point → Running program”. With this series of operations, the user completes the goal of controlling the movement of the robot to the target point. If you create multiple waypoints, the motion of the robot will form a trajectory when you run the program.
- Gripper: The user can use this function to set the end effector. For example, it holds the workpiece or releases the workpiece.
- Wait: Users can use this function to delay, or wait for signals, conditions, and so on.
- Set: Users can use this function to set the input and output signals and custom conditions.
- Group: Users can use this function to edit the programs in the group.
- Logic function： As shown in Figure 2-11, the logic functions include Loop, If/Else, Subprogram, Thread, Halt, Switch, to complete the program running process control.
Figure 2- 11 Logic function
- Loop: The user can use this function to set a block to run cyclically multiple times.
- If/Else: The user can use this function to make conditional judgments, such as the determination of an input signal.
- Subprogram: The user can use this function to call a subroutine.
- Thread: Users can use this function to achieve robot multi-thread control.
- Halt: The user can use this function to control the program to pause, stop, restart, and pop up the window to display the corresponding prompt information.
- Switch: The user can use this function to make a condition selection and determine the content to be executed according to the value of the selected object.
- Advanced function: As shown in Figure 2-12, advanced functions include Pallet, Assign to Var, Script, Popup, and Sender, all of which perform more complex operations. Figure 2- 12 Advanced function
- Pallet: Users can use this function to realize the robot to perform regular point movements. For example, the handling of workpieces in pallets, palletizing, etc. It is also possible to implement the fixed but irregular rendezvous motion of the robot in sequence.
- Assign to Var: Users can use this function to implement the assignment of a variable.
- Script: With the scripting feature, users can use the other common functions to achieve simple tasks while using the elephant robot, and can also use script programming to complete more complex tasks.
- Popup: Users can use this function to customize the pop-up window to display related information. This helps the operator to analyze the status of the current robot running program.
- Sender: Users can use this function to achieve TCP/IP communication between the elephant robot and other devices.
- Extended function: To adapt to different application scenarios, the OS3 operating system provides some extension functions, and even customizes functions according to important application scenarios proposed by users. Figure 2- 13 Extended function
Program Display Window On the left side of the program editing page, there is a program display window as shown in Figure 2-14. The upper part is the name of the currently open program file, and the lower part is the program tree, which records the specific instructions and related information.
Figure 2- 14 Program Display Window
On the right side of the program editing page, there is a function editing window as shown in Figure 2-15, which shows the specific contents of the function instructions.
Figure 2- 15 Functional Editing Window
The user can make specific settings for the function instructions in this window. Quick control and current command renaming, deletion, and disabling are also provided here.
At the bottom of the program editing page, there is a program running control bar as shown in Figure 2-16. When debugging a program, users can use it to run, pause, stop and limit the running speed of the program.
Figure 2- 16 Program run control bar
When users use elephant robots, they can not only program and control the robot to complete the corresponding tasks, but also get some valuable statistical data in the statistical report window for analysis and statistics.
The statistical report window is divided into four sub-windows.
As shown in Figure 2-17, the general class counts the total running time, the number of active programs, and the specific information of active programs.
Figure 2- 17 Conventional statistics
As shown in Figure 2-18, the program class counts the total running time and times of different programs.
Figure 2- 18 Procedural statistics
As shown in Figure 2-19, the log lists the general information, warning information and error information recorded by the system during the user's use of OS3 operating system. This information helps users to determine what changes and feedback the system has made during the operation of the OS3 operating system.
In particular, error information can help users quickly locate the possible causes of errors, so as to solve problems according to error information and resume normal use.
Figure 2- 19 Log statistics
As shown in Figure 2-20, security statistics can help users to count security-related information, such as collision information, number of stops, etc. Figure 2- 20 Security statistics
In the configuration center, users can configure the robot. For example, power the robot, turn off the robot, set the load, time, network and so on. Initialization
The initialization configuration page is shown in Figure 2-21.
When robot movement is required, the user needs to enter the configuration center → initialize the robot, or shut down the robot. In the initialization page, you can also set the load and installation, these two are important configuration content before other operations, such as configuration errors may cause unexpected situations.
Figure 2- 21 Initialization
Figure 2-22 shows the default program settings page.
Figure 2- 22 Default program
This function allows the user to set a default running program. As long as the system starts, the robot directly enters the running program window, and can start running the program and perform corresponding actions to complete the specified task.
If the user does not want the system to start and the startup program starts running, you can choose not to run.
Version update Figure 2-23 shows the version update settings page.
Figure 2- 23 Version update
This page allows users to update the OS3 operating system in two ways, one for local file updates and one for network updates. Figure 2-24 shows the account management page.
Figure 2- 24 Account management
Users can add new users, delete expired users, or change passwords on this page. On this page, the user can get all the account information. Language and unit The language and unit settings page are shown in Figure 2-25. At present, the OS3 operating system supports Chinese and English and metric units. Other languages and units are increasing, so stay tuned!
Figure 2- 25 Language and unit
Time Figure 2-26 shows the time setting page.
Figure 2- 26 Time
The user can set the system time on the current page. If the "24-hour system" is not checked, the time display format defaults to 12-hour system. Touch screen calibration
Figure 2-27 shows the touch screen calibration instructions. The user clicks on "Start to Calibrate" to enter the calibration interface. The calibration interface will appear in sequence with four circles, as shown in the figure. The user needs to click the center of the circle with a touch pen, and each time the button is clicked, the next circle will appear until all four circles appear. A pop-up window will appear indicating that the calibration is complete, and you can exit the calibration screen after confirming the pop-up.
If the calibration times out or the steps are wrong, a pop-up prompts the calibration failure. At this point, you can confirm to exit the calibration interface and return to the page in Figure 2-27 to recalibrate.
图2- 27 Touch Screen
About us As shown in Figure 2-28, it is about our page.
Figure 2- 28 About us
This page shows basic information about the operating system of the OS3 operating system. For example, the model of the robot used is the Elephant series, version information, and so on.
For more information, please visit the official website https://www.elephantrobotics.cn。
3 Introduction to common tools
Quickmove is a tool that users use frequently when they operate the robot quickly and manually. Therefore, every user must be very familiar with the use of Quickmove using methods. The wrong operation may result in damage to the robot and its peripheral equipment, and even injuries to personnel.
As shown in Figure 3-1, Quickmove are mainly composed of 11 parts, which are described below.
Figure 3- 1 Quickmove
Motion Control Mode in Cartesian Coordinate System
As shown in Figure 3-2, over-fixed-point O, three axes perpendicular to each other, all with O as the origin and generally with the same unit of length. These three axes are called x-axis (horizontal axis), y-axis (vertical axis), and z-axis (vertical axis), which are collectively referred to as coordinate axes. The x-axis and y-axis are usually arranged on a horizontal plane, while the z-axis is a plumb line. Their positive direction is in accordance with the right-hand rule, that is, holding the z-axis with the right hand. When the four fingers of the right hand turn from the positive x-axis to the positive y-axis from the π/2 angle, the thumb is pointed to the positive direction of the z-axis. Such three axes form a spatial Cartesian coordinate system, and point O is called the coordinate origin. This constitutes a Cartesian coordinate.
There are three planes in the three-dimensional Cartesian coordinate system, XY-plane, YZ-plane, and XZ-plane. These three planes divide the three-dimensional space into eight parts, called octant spaces. The three coordinates of each point of the first limit are positive values.
Figure 3- 2 Cartesian coordinate system Direction callout diagram
As shown in Figure 3-3, the robot can be controlled to move in the direction of the Cartesian coordinate system by clicking the key corresponding to the direction of the Cartesian coordinate system.
Figure 3- 3 Cartesian coordinate system motion control mode button
3D View This window marks the direction of movement of the six joints of the robot.
- User coordinate system
- Motion mode switching
There are two main motion modes for manual manipulation robots.
- Continuous motion mode: The user presses the motion control button and allows the robot to move until the user releases the button and the robot stops. For example, if you press the + X direction motion control button, you need to hold the button all the time. The time of pressing the motion control key determines the distance of the robot in the + X direction.
- Stepping motion mode: Manual manipulation robot step motion, click "step motion" and open the step setting window as shown in Figure 3-4. Then the user chooses the step in this window and clicks the key of the target control direction. Every time he clicks, the robot takes a step. For example, choose a 1 mm step, click the X-direction movement control button, and every time you click the button, the robot will move 1 mm in the + X direction.
Figure 3- 4 Step-by-step motion step setting window
Speed As shown in Figure 3-5, the control speed of the manual manipulator can be set here. Speed can be set from 0 to 100%.
Figure 3- 5 Speed setting window
Move to origin By selecting the icon shown in Figure 3-6, the robot can be controlled to return to its original position and posture.
Figure 3- 6 Move to origin
Freemove Select the icon shown in Figure 3-7 to switch to the drag mode. Figure 3- 7 Freemove
Return Click on the icon shown in Figure 3-8 to return to the programming operation window. Figure 3- 8 Return
Joint control Serial robot is an open kinematic chain of the robot. It is formed by a series of connecting rods connected in series with a rotating joint or a moving joint. The elephant cooperative robot belongs to a 6-axis serial robot. It drives the relative motion of the connecting rod by using motor drivers to drive the movement of 6 joints, allowing the end operator to reach the right posture. The Joint control window shown in Figure 3-9 provides the keys used by the operator to manually manipulate the robot and control the robot for joint movement using the instructor. The control buttons for each joint are divided into 2 directions, and the angle data of each axis can be seen. Figure 3- 9 Joint motion mode control window
Coordinate position As shown in Figure 3-10, this window displays the coordinate position corresponding to the coordinate control.
Figure 3- 10 Coordinate position display window
Status display button: The button has two states, "OK" (displays green) and "Reset" (displays red). When the display is normal, it indicates that the robot is working properly, and when the reset is displayed, the robot is abnormal, the anomaly needs to be lifted and the key is clicked for reset.
As shown in Figure 3-11, there are three submenus inside the installation tool. It is used to implement the loading/saving installation configuration, security configuration, and network configuration of the elephant robot.
Figure 3- 11 Load/save installation
Security configuration: As shown in Figure 3-12, set the torque limit and brake control of the elephant robot.
Figure 3- 12 Security configuration
Network Configuration: As shown in Figure 3-13, configure the IP address and port number of the Ethernet communication here. Figure 3- 13 Network settings
3.3 Input and output configuration
The robot system has a total of 16 digital input signals and 16 digital output signals. As shown in Figure 3-14, the input and output signals can be configured and monitored in this window, and the output signals can be forcibly output. IO configuration files can also be saved and loaded on this page. As shown in Figure 3-15, it is an input/output interface description corresponding to the page shown in Figure 3-14.
Figure 3- 14 Input and output configuration
Figure 3- 15 Input and output interface description
It should be noted that the input public terminal needs to be connected to 24V power supply. It can be determined whether the input is active high or active low according to the common configuration (hardware connection determines 24V or 0V). As shown in Figure 3-16, when the common terminal is connected to 24V, once an external device inputs 0V, the input signal is in the “High” state, otherwise it is in the “Low” state; vice versa.
Figure 3- 16 Input signal application diagram
As shown in Figure 3-17, the output is 24V when there is no output. Once the output is turned on (that is, the output is High), the output is 0V.
Figure 3- 17 Output signal application diagram
As shown in Figure 3-18, in the variable editing window, you can add, edit, and delete variables.
Figure 3- 18 Variable editing
As shown in Figure 3-19, there are 5 types of editable variable types. They are string variables, pose variables, floating point variables, integer variables, and Boolean variables. On this page, you can edit the variable name and initial value.
Figure 3- 19 New variable interface
As shown in Figure 3-20, you can view information about the robot running status, error information, and alarm information in the running log window. Click the "Information", "Warning" and "Error" buttons to sort the corresponding logs.
Users can save logs to a local folder. Log files are a record of how the system is performing, helping users to have a clearer understanding of the system and also helping to troubleshoot errors.
Figure 3- 20 Running log
As shown in Figure 3-21, the basic settings page provides a common setting channel, allowing the user to quickly set up some functions, such as free movement related parameter settings, even when leaving the programming window while writing the program. Figure 3- 21 Basic Settings
4 Function instruction
4.1 Basic function
There are four types of waypoints: Absolute points, Relative points, Shared points, and Variables. These four types are side-by-side. Under one waypoint command, you can only choose one.
Absolute point: The absolute point is a description of the actual pose of the robot.
- That is, as long as the robot records the absolute point, the next time the instruction is executed, regardless of the position of the robot (other settings unchanged), will reproduce the original teaching of the absolute point of posture.
The specific configuration page for absolute points is shown in Figure 4-1.
Figure 4- 1 Absolute point
Road Point coordinates
- As shown in Figure 4-2, there are two formats for the representation of absolute points, namely Cartesian coordinate system coordinate values and joint angles. Among them, the Cartesian coordinate system coordinate value records the position and attitude of the robot TCP relative to the base coordinate system (in mm),.The joint angle is a direct record of the actual angle of each axis (in degree, degrees).
Figure 4- 2 Absolute point Position data
Waypoint control Save current point This button is used to save the current pose data of the robot. Move to this point If you need to verify the teaching point or move to the teaching point for some operations, press and hold the button until the robot moves to the current teaching point. If the current teaching point is no longer needed, this button is used to clear the current teaching point. Advanced Features Shared configuration: This feature is being debugged, so stay tuned! Advanced configuration As shown in Figure 4-3, in the advanced configuration page, the user can set the movement mode, proximity mode, command speed, and torque limit.
Figure 4- 3 Advanced configuration
Relative point: The relative point is used in a situation where a certain displacement is required based on a corresponding point of the movement instruction on the robot/an absolute point/variable point offset. The displacement can be a distance in a single direction, or a superposition of displacements in multiple directions, and can also teach a segment to offset. Figure 4-4 shows the specific configuration page of the relative point.
Figure 4- 4 Relative point
Direct input(relative movement) As shown in Figure 4-5, you can directly enter the coordinate value / joint angle.
Figure 4- 5 Two forms of direct input
Regardless of whether the coordinate value or the joint angle is input, one or more of the six values are selected according to the offset requirement, and not every value is required to be input.
For example, as shown in Figure 4-6, in the actual pickup and placement process, it is necessary to set a transition point above the target placement position. At this time, we can set a path command as absolute point, control the robot (at this time the robot should be holding the state of the workpiece) to move to the placement point, click to save the current point, which generates the command line 2 shown in Figure 4-6. Then click on the basic function - waypoint: select the relative point, set the z-direction of the icon to increase the relative point of 50mm, then the robot will move to the position of the transition point after running the last sentence. In the actual pickup and placement process, other instructions, such as setting instructions, may be added between the two instructions to open the gripper.
Figure 4- 6 Application examples of direct input coordinate values
In addition to offset based on the position of the last motion instruction, relative point instruction can also be offset based on a Waypoint or Variable point.
The "Move to this" button verifies the offset motion, and "Clear Saved Points" clears the currently entered content.
Reference move: By teaching two points, a path is generated, based on the current point, and the track is reproduced.
Advanced Features: The advanced configuration of the absolute point is not repeated here.
Shared point：The share point can use the location of other waypoints. Figure 4-7 shows the specific configuration page of the share point.
Figure 4- 7 Shared point
Shared point: Select the point you want to share in the box, you can keep pressing the "Move to this point" button to control the robot to move to that point. If you click "Clear Saved Points" to clear the current share point.
Advanced Features: The advanced configuration of the absolute point is not repeated here.
Variable: The waypoint can be assigned by a variable. The user can use the communication method to obtain the waypoint location from other devices.
Figure 4-8 shows the specific configuration page of the variable point.
Variable assignment: The user can select the associated pose variable, and "Move to this point" can check whether the pose is the target pose.
Advanced Features: The advanced configuration of the absolute point is not repeated here.
Figure 4- 8 Variable
4.1.2 Gripper Figure 4-9 shows the specific configuration page of the gripper.
Figure 4- 9 Gripper
The user defines and controls the gripper through a simple function.
- 1 Select gripper
- 2 Set existing grippers
- 3 Select the gripper, you can edit or delete the existing gripper.
- 4 Define new grippers 如图4-10所示，可以命名夹爪，同时控制多个输入信号：设置需要控制的输出信号的数量、在“设置”中选择设置第几个信号、设置状态（关系到具体执行时对应“打开”或“关闭”功能）、设置对应输出信号。在设置完成后，还可以选择等待条件。
Figure 4- 10 Define new grippers
Set the saved state
- Fully open: The option in the execution gripper definition is the"open" state.
- Completely off: The option in the execution gripper definition is "off" status. Debug control
- Open the gripper: Manual operation performs the option of the "Open" state in the gripper definition.
- Close the gripper: Manual operation performs the option of the "Close" state in the gripper definition.
4.1.3 Wait As shown in Figure 4-11, there are four modes for waiting for instructions.
- Waiting time: The delay time can be set in seconds.
- Waiting for the input signal: The state of the input signal is judged and waits until it meets the set input signal state condition.
- Waiting for the output signal: The state of the output signal is judged and waits until it meets the set output signal state condition.
- Waiting conditions: You can customize the wait condition and wait until the wait condition is met.
Figure 4- 11Wait
4.1.4 Set As shown in Figure 4-12, the setup command has four modes of selection.
- Set IO: Set the state of the output signal. In addition to selecting the set output signal to determine whether it is on or off, you can also set the time that the signal is held.
- Set conditions: Customize the content of the settings.
- Set TCP (i.e. tool center point).
- Set the load.
Figure 4- 12 Set
4.1.5Group As shown in Figure 4-13, the group instructions provide common combination templates, such as grabbing and placing combinations.
Figure 4- 13 Group
When users use group instruction, such as grabbing and placing combinations, they can modify parameters and teach Waypoints directly on the basis of template programs, or they can add or delete instructions freely according to their needs.
The user can simplify the process of finding instructions by using the group instruction. And it is more convenient and quicker to complete the programming of the corresponding project.
4.2 Logic function
4.2.1Loop Loop instructions can repeat all instructions within a loop for a certain number of times. As shown in Figure 4-14, the number of loops can be represented by a constant or a variable or an expression.
Figure 4- 14 Loop
Judging the set conditions allows the program to read the data, determine and determine what to do next.
If/Else can be used to determine the I/O signal and can also be used to determine other conditions.
If/Else consists of three parts: If, Else If, and Else. The relationship between these three parts is as follows:
Except that If is an integral part, the remaining two are optional parts;
If both If, Else If, and Else exist, the program will first read If, then read Else If, Else If ... Else. The relationship between the three is shown in Figure 4-15:
Figure 4- 15 Relationship between If, Else If, and Else
There can be more than one Else If, but there is only one If, and if you choose to add Else, you can only have one Else.
You can delete Else If or Else, but if you delete If, delete all Else If and Else.
Figure 4-16 shows the setting page of the conditional judgment command.
Figure 4- 16 If/Else
As shown in the figure above, if the condition following "If" is met, the robot will move to waypoint 1; if it meets the condition followed by "Else if", it will move to waypoint 2; if both conditions are not met, the "Else" corresponding block will be executed, that is, the robot will move to the waypoint 3.
4.2.3 Subprogram As shown in Figure 4-17, other subroutines can be called using this instruction. The main program can use multiple subroutines, but there are no subroutines in the subprogram.
Figure 4- 17 Subprogram
As shown in Figure 4-18, you can view and edit subroutines in the main program. If you edit the subroutine, please note that it will not take effect until it is saved. Figure 4- 18 Display subroutine
4.2.4Thread The thread runs along the main program. It is used to check signals such as emergency buttons or safety light curtains. As shown in Figure 4-19, you can set the running interval of threads.
Note that motion instructions are not allowed in threads. 4.2.5Halt The pause command is used to control the robot to pause, stop, and resume. Figure 4-20 shows the specific configuration page for the pause command.
- When setting the pause and stop status, you can also select “Show Popup” to customize the contents displayed by the popup.
- Set the restart state. When the program runs to this instruction, it will start running again from the first instruction at the beginning.
Figure 4- 20 Halt
4.2.6 Switch As shown in Figure 4-21, the conditional selection instruction is used to judge the value of a variable.
Figure 4- 21 Switch
Corresponding to different conditional values, how many conditional values need to be judged to add how many cases, you can open each case, increase the corresponding execution instructions. For example, to judge the integer variable A, set two cases, if A is 1, execute the first route instruction, if A is 2, execute the second route instruction.
If only a few variables are judged, and other cases are handled uniformly, we need to select "default" and add corresponding instructions to the switch.
4.3 Advanced function
4.3.1Pallet The pallet instruction allows the user to teach only a few points, through which the position of the other points can be calculated by the robotic system. Running this instruction can control the movement of the robot to these points. As shown in Figure 4-22, you can select a line, plane, cube, discrete point.
Figure 4- 22 Pallet type Selection
As shown in Figure 4-23, after you select line, select the number of points, and the line will be split evenly based on the number of points. These points are the split point. The user determines this line by teaching two points.
Figure 4- 23 Line
As shown in Figure 4-24, after selecting “Plane”, select the number of points of the two axes, and the plane is divided equally. These points are the dividing points. This plane is determined by teaching four points.
Figure 4- 24 Plane
As shown in Figure 4-25, after selecting "Cube", select the number of points of the three axes, and the cube is divided equally. These points are the dividing points. Determine this cube by teaching eight points.
Figure 4- 25 Cube
As shown in Figure 4-26, when “Discrete Point” is selected, the number of points is selected to teach different points. That is, a discrete point is a collection of multiple points.
Figure 4- 26 Discrete point
4.3.2Assign to var As shown in Figure 4-27, this command can assign values to integer variables and string variables. You can also use the "set variables" to directly set the value of the variable according to the instruction.
Figure 4- 27 Assign to var
4.3.3Script Script instructions can be used to edit complex instructions, providing a richer set of functional instructions. Figure 4-28 shows the specific configuration page of the script command. There are two types of setup scripts, one is a single-line expression and the other is a multi-line script.
Figure 4- 28 Script
4.3.4Popup The pop-up command allows the user to customize the pop-up window. In other words, when this command is executed, a pop-up window appears, and the pop-up content is user-defined content. As shown in Figure 4-29, there are three types of pop-up windows, information, warnings, and errors. The user selects one and customizes the pop-up content.
There are also three kinds of pop-up window control: continue the program (logging), that is, do not pop the window, just display the contents of the pop-up window to the log, and the program continues to run; When the window is popped, the program is paused, that is, the pop-up window appears, and the program is suspended; When the window is popped, the program stops, and the pop-up window appears, and the program stops running.
Figure 4- 29 Popup
If TCP/IP communication is to be performed, the robot system must set the IP and port number as a client or server to communicate with other devices.
The sender allows the user to set up a TCP/IP connection. Figure 4-30 shows the specific configuration page of the Sender instruction.
If the robot system acts as a client, the IP address filled in is the IP address of the external device of the server, and the port number corresponds to the port number assigned to the robot system by the server. When the server is in the state of monitoring, it can communicate with the server by clicking the "connection" button.
If the robot system serves as a server, the IP address filled in is the local IP address, and the port number corresponds to the port number assigned to the client device. Click on the "monitor" button, at which point the client device can connect to the robot system. In the client list, you can view the IP addresses and port numbers of all clients.
After establishing communication, data can be sent and received.
Figure 4- 30 Sender
5 Quickly create a new runnable project
5.1 Flow Description
5.1.1 Ready to work
- Complete robot system
- No problem Prepare content
- Plug the power cord into the board that provides the AC 220V.
- Turn on the power switch. Press the start button on the teach pendant.
5.1.2 Flow chart As shown in Figure 5-1, it is the program editing flowchart.
Figure 5- 1 Program editing flow chart
5.2 Specific steps
5.2.1 Login After the system is successfully started, it will enter the login interface of the OS3 operating system as shown in Figure 5-2.
Figure 5- 2 Login interface
Select the login user name "Admin" or other administrator user name (only administrator permissions are allowed to edit and debug the program), click on the password box will pop up as shown in Figure 5-3.
Figure 5- 3 Input keyboard
The login password corresponding to the default administrator user “Admin” is “aaa” (if the other administrator user name is selected, enter the corresponding login password), enter the password and click “OK”, and return to the interface of Figure 5-2. Then click "Login" to log in successfully. 5.2.2 Power on After the login is successful, the main menu interface shown in Figure 5-4 will be displayed.
Figure 5- 4 Main menu
In the main menu interface, select “Settings”, it will enter the interface as shown in Figure 5-5 (this time has not been powered).
To ensure that the emergency stop knob is not pressed, click on the “Start Robot” button as shown in Figure 5-5. The interface will change and the “Powering On” icon as shown in Figure 5-6 will appear. If the power is turned on successfully, the “I’m OK!” status shown in Figure 5-7 will appear. If it fails, check if you are missing any steps.
After completing the previous step, return to the main menu by pressing the motor “<Main Menu” button in the configuration center.
Figure 5- 5 Unpowered state
Figure 5- 6 Powering up
Figure 5- 7 Power on
5.2.3 New blank program As shown in Figure 5-8, click “Program Robot” and then select “Empty Program”.
Figure 5- 8 Select "Empty program"
After performing the previous step, enter the program editing interface as shown in Figure 5-9. Figure 5- 9 Enter the program editing interface
5.2.4 Add and edit instructions
As shown in Figure 5-10, add two waypoints: absolute point, and teach two points (that is, use the Quickmove to manually operate the robot, control the robot to move to a certain pose, return, click "Save Current Point" The teaching steps of the two points are the same. To verify the save point, press and hold the “Move to this point” button to manually control the robot to move to the teaching point.).
After editing is complete, please note that the program file is saved. Click “Save” in the file option bar as shown in Figure 5-10, and the window shown in Figure 5-11 will pop up. Click on "File Name" and the input keyboard shown in Figure 5-12 will appear. After entering the file name, click "OK". Then go back to the save interface, click "OK", the program file is saved successfully. After the save is successful, as shown in Figure 5-13, the program name in the upper left corner of the program editing interface will be changed.
Figure 5- 10 Program editing
Figure 5- 11
Figure 5- 12 Enter the program name
Figure 5- 13 File saved successfully
5.2.5 Program Debugging As shown in Figure 5-14, in addition to the "Next" and "Run" functions provided in the program run control bar, click "Advanced" to enter the more settings interface.
Among them, the "Next" function corresponds to step by step execution of the program, click to run only one step at a time, if you need to continue to run, continue to click "Next." The "Run" function corresponds to automatically running the program once.
In "Advanced ", you can set the number of cycles to run, or you can run in an infinite loop. You can also control whether the program runs in automatic or manual mode. In the automatic mode, you can use "Next", "Run" and cycle operation. In the interface shown in Figure 5-14, select "Manual Run Mode" and then select "Run" or "Infinite Loop" in the loop run. You can enter the running interface in manual operation mode as shown in Figure 5-15.
Figure 5- 14 Program debugging
Figure 5- 15 Manual mode to debug the program
If you use manual mode to debug the program, you need to keep pressing the "Press Down" button to continue running. If you release the button, the program pauses and presses again to continue.
5.2.6 Save and run the program
If debugging is complete, make sure you have saved the debugged program. After returning to the main menu, select "Run Program". The pop-up window shown in Figure 5-16 will appear. Select the program to complete the debugging and click “OK”.
Figure 5- 16 Selection procedure
After selecting the program, it will enter the running program interface as shown in Figure 5-17. In this interface, you can run the program to view the program running information.
If you are sure that the program will continue to run in the near future, you can also select it in the Settings - Default Program. In this way, as long as the system is started, it will automatically jump to the “Run Program” interface. After the power is turned on successfully, click “Run” to run the program.
Figure 5- 17 Running programs