APIs, concepts, guides, and more

Configure EtherCAT devices with different sub-modules using an MDP.xml file to specify topology, locations, lookup tables, and default behaviors for proper network setup and operation.

Some EtherCAT devices are different based on which sub-modules are attached. We cannot treat all such devices the same. You have to go through extra steps to configure them for any given setup.

🔹 Setup

We are going to start by showing a final product which you can refer to as we explain each part. Here is the xml which can be looked at while reading details below:

Sample XML file you will use as your seed:

<Mdp xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Topology />
<Scan deviceType="0x1389" start="0xF050" delta="0x0" depth="8" primary="0x10" />
<Scan deviceType="0x184C1389" start="0x9000" delta="0x10" depth="8" primary="4" secondary="5" />
<Item key="80000081" moduleIdent="0x80000081">8 Digital Inputs</Item>
<Default moduleIdent="0x80000081">Default Entry</Default>

In order to use MDP you need to have an Mdp.xml in our RapidCode folder. Without this file, MDP nodes are treated like traditional nodes and will not pick up details about what is actually connected to the MDP node. This file contains different sections that will do several things for us:

  • The <Topology> section specifies MDP sub-network details (such as an IO block attached to a WAGO node). When starting the network in RapidSetup, we will scan the MDP devices.
  • The <Location> <Scan> section specifies information about where to read MDP details. This should largely be ignored. It lets RapidSetup know where to collect information about MDP devices. Don't edit this without getting us involved.
  • The <LookupTable> section will translate information provided by the network into a form usable by EtherCAT. See below for details on the process by which you add entries.
  • The <Default> section sets a default behavior. When you have a device on the MDP network that isn't in the <LookupTable> section, the moduleIdent and name you place here will be used until you update the LookupTable and re-scan.

Adding to the <LookupTable>

Fundamentally the goal here is to translate information returned by the network into moduleIdents that exist in the ESI files which can be used by the EtherCAT network. This is the most manual part of the process but only needs to be done once per new device you put on the MDP network.

If you are using a WAGO node with 3 different types of submodules, then you will have to add 1 entry for each of the 3. \ Here is a sample entry: \ <Item key="80000081" moduleIdent="0x80000081">8 Digital Inputs</Item>

When using WAGO, every key matches the moduleIdent. You should be able to repeat the value with a leading "0x" and select whatever name you want.

If it doesn't work, please contact us. There is an involved process that lets you select a different moduleIdent, but I don't think it is needed.

Network will not start

Some MDP devices such as WAGO will not start without a proper configuration. Because the network start will fail. You will need to enter 'expert mode' via the menu and then click on the 'initialize to pre-operational' button (see image below). While in PreOp, you can collect the MDP information you need to build a valid MDP file.

Using RapidSetup with MDP

Most things should happen under the hood. When you start the network with an MDP device we will scan node details. It will then compare the active network configuration with the saved Mdp.xml <Topology> configuration. If they are the same, everything is happy and you will get no notification or prompt for any action. If they are different, a dialog will open up and you will then need to decide if you want to use the active network configuration or the saved configuration.

The dialog option Yes will replace the saved topology with the active network one. It will also generate a new ENI file to reflect what you have on your network.

Suppose you disconnect a non-critical device for maintenance. This is an example when you would ignore the change and keep your saved mdp topology. This allows you to keep going with the existing system without the need to generate a new ENI file.
Suppose you have a new device added to the network or you are doing first-time setup. Here, you want to generate a new topology file. RapidSetup will notify you in the error window for every device found on the network that is not contained in the LookupTable. It will give you a seed string from which you will follow the above process to select the right moduleIdent and pick whatever name you think is appropriate. It uses the default entry until it exists in the LookupTable.
RapidSetup only shows Mdp details if you are in expert mode. Most customers don't need to see it.

If you left click Mdp File label, it will open the file for editing.

If you right click Mdp File label, you will see the option to rescan your network. The Tools menu lets you do this too. You could also just click the "shutdown network" button and start again as we do this every time we start the network.

User task list

  • Copy the seed xml from the start of this guide. Save it as Mdp.xml in your RapidCode folder.
  • RapidSetup will notify you when a change in MDP network is detected on network start.
  • RapidSetup will let you know when you need to add a <LookupTable> entry to the Mdp.xml file.
  • Restart the network once.