Skip to content

Tutorial 2: Simple sorting

alt text


In this tutorial you will:

  • Learn how to control other components using the robot IOs.
  • Automatize a system using just a robot arm and a robot controller.

Start by loading the tutorial system into the workspace, and then navigate through the components in the tree and the scene to explore them.

System description

The system includes four assemblies:

  • main: With an electric box, 3-phase power supply, a 24V DC power supply, a motor contactor, a compressor, and a 3/2 way valve for the robot gripper.
  • conveyor: With a conveyor belt, a motor, and 3 sensors; one of them inductive.
  • robot: With an ABB robot controller, an ABB IRB6620 robot, and an ideal pneumatic vacuum gripper with a sensor, the last two attached with a fixed constraint.
  • fence: With just some fences around the robot and the conveyor.

The system has a product entry over the conveyor which can drop two kinds of pallets, regular ones made of wood, and metallic ones. The idea in this tutorial is to sort the pallets depending on the type. To do that, the conveyor is equipped with two sensors at the end, one photoelectric and the other inductive.

Let's download the diagrams and take a look at the configuration of the system.

alt text

The 'PS01' power supply is feeding the three sensors on the conveyor and the one on the gripper. The conveyor is commanded with the motor-contactor 'KM01' connected to the first digital output 'out_0' on the robot controller. The 'Y01' valve to activate the gripper is acted with the solenoid connected to the second digital output 'out_1'. And finally, each axis mechanical port on the robot controller is connected to the corresponding robot axis on the robot component.

Change robot arm or controller


Before you remove the original robot controller it is recommended to take note of its port connections, so you can connect the new controller to the other components later on.

If you wish to use another robot arm or controller rather than the ones included in the system, you can follow the instructions in the previous tutorial.

In addition to the basic port connections between the robot controller and robot arm components, make sure you also reconnect the IO ports in the controller to the specific components on the system.

Relocate gripper

In case you change the robot arm, you may need to adjust the position of the gripper. To do that, select the 'Move' mode on the toolbar and set the gripper in front of the last robot link.

alt text

When the gripper is in position, make sure you create the constraint between the robot's 6th link and the 'gripper.base', so the gripper gets attached to the end of the robot arm. Right-click on the 'robot' assembly and select 'Add Constraint', then provide a name to the constraint (i.e. 'ROBOTwGRIPPER') and set up it as in the picture below.

alt text

IO Mapping on the controller

As you have seen in the previous tutorial, by default, the robot controller components get the axes position from the third-party software. But in addition to that, they can also read input and output variables. In practice, this is done declaring the IO variables with the same name as in the component and mapping each port according to the model, following the IO List or the connections. Each Third-party software requires a specific preparation to do this.


Check out the Third-party connection section to learn how to set up different robotics third-party software or hardware to connect them with Simumatik OEP.

Time to play!

Now you are ready to make a program for your Robot, download it and then test it against the model. Remember, you need to sort the pallet depending on their type.