This chapter will allow you to enable the communication between the Simuamtik Gateway and RobotStudio, including robot axis data and I/O signals.
The first step is to create a new project by opening RobotStudio and then choose Solution with Station and Virtual Controller inside the New tab of the side bar. In this example, the IRB 6620 robot model has been selected.
In this example the data that will be transfered is:
- 'inputs': A group input byte addressed to the Local IO device, bits 0..7.
- 'outputs': A group output byte addressed to the Local IO device, bits 0..7.
In the controller tab, the Name property must be the same as in Simumatik's robot_controller component, being "Robot" the default one
Robot axis data is automatically exchanged. The following steps are only needed for the I/O signals.
Next, let’s create the different I/O variables. To do so, a virtual device must be previously created, so the different bit signals can be mapped to bytes. In the Controller tab, double-click in the Configuration node located on the left navigation bar and then click on I/O System. Finally, right-click the EtherNet/IP Device option shown in the new screen to create a new one.
In the next screen, let’s pick at the top the template called ABB Local I/O Device, which will include some defaults. The values that must be changed are the Simulated option, set to True, and finally the Output Size and Input Size in bytes, which are the maximum number of bytes used. Then, click OK to create the device.
At this point, the proper I/O signals can now be created by right-clicking on the Signal option, below EtherNet/IP Device. In this screen, the individual bits and the group bytes will be created, including the mapping between them.
In order to create a signal, choose “Digital Input” (input bit) or “Digital Output” (output bit) as Type of the Signal and pick the previously created device in Assigned to Device. Finally, pick the desired bit number for the signal in the Device Mapping option. Also check that Access level is set to “All”.
This operation must be done for every individual bit of each I/O bytes
Finally, let’s declare the bytes signals by choosing “Group Input” (input byte) or “Group Output” (output byte) as the Type of the Signal, and picking the previously created device in Assigned to Device. Finally, in Device Mapping, add the individual bits range to cover and check that Access level is set to “All”.
The Name property must be the same as in Simumatik's robot_controller component, being "inputs" and "outputs" the default ones.
In order to refresh the I/O variables, it's important to restart the controller by right-clicking on Robot -> Restart -> Restart (Warmrestart), found in the left-side panel.
The I/O variables in the column Simulated should be set to No