7. PROFINET communication#

Mecademic robots are compatible with the PROFINET protocol, a common industry standard that can be used with many different PLC brands. The MCS500 is certified by PROFIBUS. Cyclic times up to 1 ms (though not as “hard-real-time” as EtherCAT) are possible. PROFINET—like EtherCAT or EtherNet/IP protocols—controls the robot using cyclic messaging (‘CR Input’ and ‘CR Output’ in PROFINET terms).

Mecademic robots, when controlled via PROFINET, use cyclic data exchanges to manage robot state and motion, as defined in Communicating over cyclic protocols.

Refer to our Support Center for specific PLC examples.

7.1. PROFINET conformance class#

The Mecademic robots PROFINET stack conforms to class-A, as described in the GSDML file.

7.1.1. PROFINET limitations on Mecademic robots#

Mecademic robots do not support the following PROFINET features:

  • Startup mode: legacy startup mode (only advanced startup mode is supported).

  • SNMP: part of PROFINET conformance class B (the robot supports class A only).

  • DHCP: the robot does not support selecting DHCP mode via the PROFINET protocol. Note that configuring the robot to use DHCP mode remains possible through the MecaPortal.

  • Fast startup.

7.2. Connection types#

When using PROFINET, you can connect several Mecademic robots, just like with TCP/IP. Either Ethernet port on the robot can be used. The robots can be either daisy-chained together or connected in a star pattern.

7.2.1. Limitations when daisy-chaining robots#

Please note that the two Ethernet ports on the robot act as an unmanaged Ethernet switch, not as a “PROFINET-aware” switch. In fact, this Ethernet switch will not respond to LLDP (Local Link Discovery Protocol) packets like a PROFINET-enabled switch would (instead, it forwards LLDP through the daisy chain). As a consequence, the LLDP protocol will not properly identify the network topology when the two Ethernet ports of the robots are connected (in a daisy-chain configuration, for example). Fortunately, this does not prevent the use of the PROFINET protocol, since daisy-chained robots will still be detected by the PROFINET controller.

If you need full network topology discovery using LLDP, we recommend connecting the robot to a PROFINET-enabled Ethernet switch rather than in a daisy chain.

7.2.2. PROFINET protocol over your Ethernet network#

The PROFINET protocol uses non-IP packets to communicate real-time data over the Ethernet network. Please ensure that your Ethernet network and switches are properly forwarding these packets between the PROFINET controller (PLC) and the Mecademic robots.

Ethernet packets of type LLDP (0x88CC) are used for the LLDP protocol. This protocol makes it possible to discover the network topology.

Ethernet packets of type PN-DCP (0x8892) are used for the DCP protocol (Discovery and Configuration Protocol). This protocol is used to discover PROFINET devices on the network. It is also used to set host names and IP addresses to detect PROFINET devices.

Ethernet packets of type PROFINET RT (0x8892) are used for PROFINET cyclic data exchanges between the Mecademic robots and the PROFINET controller (PLC).

7.3. Enabling PROFINET#

The PROFINET protocol can be enabled using the Network configuration panel in the MecaPortal configuration menu.

Alternatively, you can use the EnableProfinet() command, which can be entered in the MecaPortal code editor or sent to the robot via the TCP/IP API.

This is a persistent configuration and only needs to be set once.

Note that PROFINET can remain permanently enabled, as it does not interfere with the use of the TCP/IP protocol, unlike EtherCAT and the SwitchToEtherCAT command.

Also note that LLDP forwarding on the robot is enabled only when PROFINET is enabled on the robot (so it will not be possible to detect a robot using LLDP until PROFINET is enabled on it).

7.4. Exclusivity of AR#

Only one AR (Application Relationship) can be established with the robot. Only one PROFINET controller (PLC) can control a Mecademic robot.

Controlling the robot is also exclusive between TCP/IP, EtherNet/IP, and PROFINET protocols. The first connection to the robot on any of these cyclic protocols will prevent any other connections on any protocol.

If a PROFINET connection request is refused because the robot is already being controlled by another PROFINET controller (PLC), the refused connect request will be returned with standard error codes and the following values:

  • Error code “connect” (0xDB)

  • Error decode “PNIO” (0x81)

  • Error1 “CMRPC” (0x40)

  • Error2 “No AR resource” (0x04)

If a PROFINET connection request is refused because the robot is already being controlled by another protocol (TCP/IP or EtherNet/IP), the refused connect request will be returned with a vendor-specific error code and the following values:

  • Error code “connect” (0xDB)

  • Error decode “Manufacturer specific” (0x82)

  • Error1 “Mecademic Access denied” (0x11)

7.5. GSDML file#

Each PROFINET slave device is described by a GSDML (.xml) file that describes its identity, capabilities, cyclic payload, PROFINET Modules and SubModules that it supports. The PROFINET controllers (PLC) use this file to properly identify detected PROFINET slave devices, such as a Mecademic robot.

It can be found in the zip file that contains your robot’s firmware update package (GSDML-V2.42-Mecademic-mcs500-XXXXXXXX.xml).

Since the GSDML file contains necessary information to identify and list the robot capabilities, this manual provides only a quick summary of the GSDML file.

7.6. Robot modules and sub-modules#

The robot supports only one module and one sub-module, fixed in a predefined slot.

  • Module: “RobotControlModule”, ID=0x32, fixed in slot 1

  • Sub-module: ID=0x132, fixed in sub-slot 1

This module provides fixed cyclic data input and output, used to control and monitor the robot.

7.7. Cyclic data#

Using cyclic data to control and monitor Mecademic robots with PROFINET is explained in Section 4 of this manual.

The cyclic data format is the same for PROFINET, EtherNet/IP, and EtherCAT protocols. Therefore, it is easy to migrate a robot-controlling application on a controller/PLC between these different protocols.

Please refer to the robot’s GSDML file for the list of cyclic input/output fields. Refer to Section 4 for instructions on how to use these cyclic fields.

Note that 16- and 32-bit integer values in the cyclic data use big-endian byte order. Some PLCs may need to be configured accordingly.

7.8. Alarms#

Mecademic robots will not generate any PROFINET alarms. Any alarm or error condition will be reported by the robot through the corresponding cyclic data fields. This allows the robots to behave the same across various cyclic protocols (such as PROFINET, EtherNet/IP, or EtherCAT).

Refer to Section 4 for more information about robot status and error states reported in the cyclic input data.