Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

EtherCAT Slave PDOs not getting completely loaded from XML File

Solved!
Go to solution

Hello all,

 

I am trying to import a device profile XML file from Beckhoff for the EtherCAT slave EL 6695 in my LabVIEW project.

 

I have made changes to the Beckhoff provided XML file so that all the 'user defined PDOs' are also included when I connect this slave to my LabVIEW project.

 

Below screenshot will give you an idea about my LabVIEW project.

Aufnahme3.jpg

 

In the screenshot, you can see the PDO entries loaded for the ethercat slave EL 6695.

The main problem is here, this list of PDO input/ output entries is incomplete. I have 100+ inputs 'From RDDS' and likewise outputs.

 

Please let me know if anybody has any idea about it.

 

Thanks in advance!

 

Rahul.

Germany

0 Kudos
Message 1 of 14
(9,803 Views)

What exact changes did you make to your ESI file? Do they conform to EtherCAT ESI spec?

Can you post the ESI file you are using?

0 Kudos
Message 2 of 14
(9,799 Views)

Hello Miro_T,

 

As per this document -> http://digital.ni.com/public.nsf/allkb/D0496C451057975586257B9800740A07

I opened the beckhoff EL66xx.xml file in XML Notepad and added the TxPDO folder from the ENI file which contains our user defined PDO entries and dragged the 'SM Tag' in this folder so that this PDO folder becomes active.

 

Aufnahme4.jpg

 

The first few entries from this TxPDO folder is getting loaded in the LabVIEW project.

Where are the rest of the entries going? Is there any limit on the max number of bytes that is specified somewhere in the XML file?

 

I am attaching the Original XML file from Beckhoff as well as the modified version of the XML file with our user defined PDO entries.

I have also attached our EtherCAT project's ENI file that we have imported from the EC Engineer software.

 

Please let me know for futher inputs.

 

Many thanks.

 

Rahul.

 

 

 

0 Kudos
Message 3 of 14
(9,780 Views)

Hi Rahul,

 

Sorry for late response!

I myself also tried to add the entries and I also saw the same problem.

Actually I know a similar issue in this forum before about using Beckhoff bridge terminal-EL6692. For their setup apart from adding PDO entries in ESI, it seems they also have to modify the PDO configuration in TwinCAT side. Because EL6692 is supposed to working between NI master and another "slave" device. I am asking for their ESI for reference. Please have some patience. Thanks so much.

 

Wendy

 

0 Kudos
Message 4 of 14
(9,742 Views)

 

Hi Wendy,

 

Yes sure, the reference ESI would definitely help.

Thanks for providing some input.

 

Rahul.

 

0 Kudos
Message 5 of 14
(9,721 Views)

Hi,

 

@Raul2203: What is the sum of the process image in kByte in the XML File?

 

@wendy: What is the maximum process image size that the NI EtherCAT master can manage?

 

 

 6695.PNG

 

greeting, Jim

 

Germany

0 Kudos
Message 6 of 14
(9,688 Views)

Hi Jim,

 

Now the LabVIEW can only display less than 60 bytes per direction as you can see from the screen capture. As I know NI master is also able to manage 1000+ bytes (basically one whole EtherCAT frame) per direction at least. So I don't think this is because of the master limitation.

I am wondering what is your situation because as I know your setup also has 100+ IOs entries, right?

 

Wendy

0 Kudos
Message 7 of 14
(9,673 Views)

Hallo Jim,

 

The total bytes required are for all the user defined PDOs on this EtherCAT bridge EL 6695 are:

Inputs- 544 bytes Outputs: 238 bytes.

 

My ESI XML tree looks like this as shown below.

 

Aufnahme7.jpg

 

Is there anything that I should change somewhere in this tree so that all the inputs and outputs show up in the LabVIEW project?

 

Thanks

 

Rahul

Knorr-Bremse

Munich

 

0 Kudos
Message 8 of 14
(9,670 Views)

Hi Jim, Wendy,

 

I have one more clue here for you.

 

**The PDO entries after the 'Index' change are not getting loaded in LabVIEW**

 

In the below screenshot of the my XML tree.

 

Aufnahme8.jpg

For TxPDOs (From RDDS) only 7 entries having Index as '#x6000' showed up in LabVIEW. (Refer LabVIEW Project screenshot in the first post). 

All the PDO entries after this 'Index' change to '#x6001' ('Drehzahl Schienenrad' onwards) are missing. And I have PDO entries till Index= #x600E.

Moreover, this same thing is happening with RxPDOs as well. The PDO entries with 'Index' #x7000 and #x7001 showed up in LabVIEW but the entries with index #x7002 onwards are missing.

 

If you get any idea about this then please let me know.

 

Thanks

 

Rahul

 

 

 

0 Kudos
Message 9 of 14
(9,667 Views)
Solution
Accepted by topic author Raul2203

Hi Raul,

 

Sorry for late resonse! China was observing Holidays these days.

 

Finally I found the root cause of this issue! It is because of the extra "space" behind the Entry Name text!

Problematic space behind entry name text.png

 

So all the entries after this problematic entry will be ignored by LabVIEW. Currently LabVIEW has some limitation to detect this.I will feedback this problem to the right team to fix this in the future! Please see the attached XML I modified based on your version.

 

Sorry for causing you so much pain because of this!

 

Wendy

Message 10 of 14
(9,586 Views)