Help Configuring UR20-FBC-EC Weidmueller Interface on EtherCAT Network

I’m trying to configure a UR20-FBC-EC Weidmueller Interface on my EtherCAT network under the RMP Motion Controller (RSI). I followed the instructions from this page, and here is the snippet I added to my CustomNodeInfo.xml:

<Vendor Id="0x230">
    <VendorName>Weidmueller Interface</VendorName>
    <Product Code="0x4F911C30">
        <ProductName>UR20-FBC-EC / 1334910000</ProductName>
        <ShortName>UR20-FBC-EC</ShortName>
        <ItemSubType>Node</ItemSubType>
    </Product>
</Vendor>

I also downloaded the ESI file for the UR20-FBC-EC from the manufacturer’s website.

However, when I start the network, using RapidSetup, I get these errors (log snippet):

INFO, 05:07:09.529 , EtherCAT.cpp, 898, , EtherCAT, , [03:26:29.822] AKD Drive count: 0
INFO, 05:07:09.529 , EcDcSlave.cpp, 68, , EtherCAT, , [03:26:29.855] ***** Node 0 (UR20-FBC-EC) DC support *****
INFO, 05:07:09.550 , EcDcSlave.cpp, 73, , EtherCAT, , [03:26:29.855] ***** Node 0 (UR20-FBC-EC) DC support 64-bit *****
INFO, 05:07:09.551 , EcDcSlave.cpp, 68, , EtherCAT, , [03:26:29.855] ***** Drive 1 (Mitsubishi MR-J5-TM) DC support *****
INFO, 05:07:09.610 , EcDcSlave.cpp, 73, , EtherCAT, , [03:26:29.855] ***** Drive 1 (Mitsubishi MR-J5-TM) DC support 64-bit *****
INFO, 05:07:09.614 , EcDcSlave.cpp, 68, , EtherCAT, , [03:26:29.855] ***** Drive 2 (Mitsubishi MR-J5-TM) DC support *****
INFO, 05:07:09.711 , EcDcSlave.cpp, 73, , EtherCAT, , [03:26:29.855] ***** Drive 2 (Mitsubishi MR-J5-TM) DC support 64-bit *****
INFO, 05:07:09.712 , EcDcMaster.cpp, 666, , EtherCAT, , [03:26:29.960] Reference Clock: 1002
INFO, 05:07:09.818 , EcDcMaster.cpp, 1065, , EtherCAT, , [03:26:34.034] Master is Synchronized with DC
INFO, 05:07:09.819 , EcSlave.cpp, 370, , EtherCAT, , [03:26:34.115] startTime64(5391470981450), systemTimeAtLatchA(5388064486250), m_pMaster->m_SystemTime(1206524970), delta (80500000)
INFO, 05:07:09.956 , EcSlave.cpp, 370, , EtherCAT, , [03:26:34.116] startTime64(5391471977890), systemTimeAtLatchA(5388064486250), m_pMaster->m_SystemTime(1207521410), delta (80500000)
ERROR, 05:07:09.960 , EcSlave.cpp, 665, , EtherCAT, , [03:26:43.064] 'Node 0 (UR20-FBC-EC)' (1001): 'PREOP to SAFEOP' failed! Error: 'check device state for SAFEOP'.
ERROR, 05:07:10.144 , EcSlave.cpp, 669, , EtherCAT, , [03:26:43.064] Slave Node 0 (UR20-FBC-EC) did not start correctly
ERROR, 05:07:10.146 , EtherCAT.cpp, 940, , EtherCAT, , [03:26:43.572] Error signaled by master while starting driver
WARN, 05:07:10.146 , EtherCAT.cpp, 769, , EtherCAT, , [03:26:44.822] State changed from Starting to StoppingOnError
WARN, 05:07:10.147 , EtherCAT.cpp, 769, , EtherCAT, , [03:26:46.385] State changed from StoppingOnError to Error
ERROR, 05:07:10.147 , , , , Network, , The was an internal error with the RMP. 
SUGGESTION, 05:07:10.147 , , , , Network, , Please restart INtime and the RMP.

So the network can’t transition from PREOP to SAFEOP for the UR20-FBC-EC. I’m not sure if I need additional configuration for the Weidmueller node (e.g., PDO mapping) or if I’m missing a step in the CustomNodeInfo.xml or ESI file.
How should I properly configure the device (especially if it’s modular and needs MDP or a custom PDO assignment)?
Are there any special steps needed for the UR20-FBC-EC to reach SAFEOP/OP state?
Any guidance would be greatly appreciated. Thank you!

Hi @euromar,

The ItemSubType should be Box or Term.

<!-- Required - ItemSubType: Can be Drive, Box, or Term. -->
        <ItemSubType>Drive</ItemSubType>

This may be the only change that is required, but here is some more detail.

Node 0 (UR20-FBC-EC)’ (1001): ‘PREOP to SAFEOP’ failed! Error: ‘check device state for SAFEOP’.

This indicates the issue was in the PreOp to SafeOp phase. It didn’t report any errors, but did fail to transition in a timely manner. You could take a look at the manual to see if it has anything special it needs to start up.

For MDP, everything you should need can be found here.