LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Ethercat 3rd Party Device Profile XML File not complete

Hi all,

 

I'm trying to use a Schneider LXM32 servo drive coupled to a NI cRIO 9074 Ethercat master.

The problem is that my LabVIEW project is not showing me the full device profile.

There are 4 available PDO for this device :

1) Cyclic Synchronous Position
2) Cyclic Synchronous Velocity
3) Cyclic Synchronous Torque
4) Free switching beetween 1) 2) or 3)

 

BUT, I only see the firts PDO parameters after importing the xml file. If I open the xml file manually, I see that all the PDO are available.

The xml file is available in this post.

Of course, I need to operate in the 4) mode, not the 1)

 

Ethercat Schneider.png

 

Help me, please....

 

Sébastien MICHAUD

CLD

0 Kudos
Message 1 of 29
(7,163 Views)

Hi Sébastien,

 

Here is a KnowledgeBase which should help you :

 

How Can I Modify My EtherCAT XML Device Description to Include Different I/O?

 

It contains useful information as well as this related link : How do I change PDO mappings for 3rd Party EtherCAT XML file?

 

Moreover, I found that similar cases which have been solved by deleting the XML file(s) in the following directory : C:\Program Files (x86)\National Instruments\Shared\IndComECAT\DD and then adding them again using the import tool.

 

Regards

Jérémy C.
NI France

0 Kudos
Message 2 of 29
(7,122 Views)

Hi,

Thank you for your answer.

I successfully modified the XML file of my Schneider drive :

EthercatSchneider.png

 

Now I have a lot of others problems (I have made a request on NI France, I supposed you are the one who phoned me today).

1) The XML file of my LTi DRiVE (another drive of the test bench) is done like this (see attachment):LTi DRiVE.png

1) I can't move the Sm tag because it's already everywhere

2) I don't understand why 4 devices are exposed.

Additionnaly, see below the LabVIEW project with this device :

EthercatLti.png

 


3) The I/O exposed for the 2 Devices (Schneider and Lti) are shared variables. But I want to poll these I/Os every 125µs. The scan engine can run at 1 ms. So, if a put a "percentage of each scan period" to 1% (the default value is 40%), will I be able to poll every 10 µs ?

In this example :

https://decibel.ni.com/content/docs/DOC-11191

The scan period is 4 ms at the best, so with 40% of each scan period, it represents 1.6 ms.... am I correct ?

 

4) Is it necessay to use NI SoftMotion (https://decibel.ni.com/content/docs/DOC-11191) to get/set data to a motor drive ? Is it much more easy with NI SoftMotion ?

 

Thanks,

 

Sébastien MICHAUD

0 Kudos
Message 3 of 29
(7,113 Views)

1) You are looking at different devices, not different PDO mapping for the same device. That xml file contains the description for several different physical products. Expand the Name and Type folders to see what physical device the description is for. 

 

2) See above. 

 

3) No, you must set the scan engine to 125us. The scan percentage is the ratio of time allocated to transfering data within the scan period. 125us is quite fast-you may need a performance PXI depending on how much data you are reading. Also, only drag the variables that you need to read to the block diagram. 

 

4) It is much easier for supported Softmotion drives. However, Softmotion simply ties into the ethercat driver and is not necessary. 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 4 of 29
(7,098 Views)

Thank you Jesse for all these answers.

 

1) and 2) Can you help me about the PDO mapping ?

Basically, I want (for the 2 drives) :

 

CompactRIO --> Ethercat --> Drive

Set position

Set speed

Set accelration

Set decelaration

Set stop move

Set start move

Set torque

 

Drive --> Ethercat --> CompactRIO

Get position

Get torque

 

Sans titre.png

 

3) If I set my scan engine on my compactRIO 9074 less than 1 ms, I get a warning. So I guess it's not a good idea, as you said, to put it to 125us. What about CANopen ...  ?

 

4) By "supported Softmotion drives", I guess you mentionne AKD drives that NI sell. It would be great if more drives will be supported in the future.

 

Thanks,

 

Sébastien MICHAUD

CLD, LabVIEW instructor

0 Kudos
Message 5 of 29
(7,094 Views)

Hi Sébastien, 

 

1) Try the attached. 

 

3) It will run faster than 1 ms. However the 9074 isn't a powerful target and may not meet your requirements. 

 

4)  I thought we supported a lot more than that. You may want to check the help for softmotion. Canopen will be slower than ethercat. 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 6 of 29
(7,087 Views)

Thank you, I try your files

0 Kudos
Message 7 of 29
(7,075 Views)

I tried the moded file "LUST_22_SO.XML".

I still don't understand :

-why 4 devices are exposed (I have only one motor)

-how access more variables.

As an example, I have to set the value of a variable (of an obejct) :

- called "Modes of operation" which allows to switch beetween position mode and torque mode

- no "0x6060"

- object code "VAR"

- Type "Integer8"

How I'm supposed editing this file ?

Is there a tool for that ?

Attachment : ServoOne

Thanks,

0 Kudos
Message 8 of 29
(7,071 Views)

Hi Sébastien, 

 

1) The manufacturer often stores the information for multiple devices in a single file. 

2) I am not sure exactly what PDO you need, however the XML file only stores the PDO mappings that each drive supports by default. 

 

We would like to integrate this functionality into the ethercat driver and have it on our feature list. However, right now the PDOs have to be switched with a text editor. There are some xml editors that make it easier, like notepad++

 

3) The torque mode is explained in the manual but I don't see the PDO mapping in the XML file. I would expect that PDO to be in the XML already, but, if not, it can be added. How are you writing to that particular object? I assume you have found the SDO examples? 

 

 

 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 9 of 29
(7,045 Views)

Hi Jesse,

Thank you for your time.

1) So, I guess I have to choose the good device by deleting the "sm" tags in the three devices I don't have... ?

2) I'm using notepad++ or xml notepad.

3) Can you explain me how to add a PDO in the XML file ?

I don't understand what you mean by "How are you writing to that particular object?"

In my project, I have to drive a motor by ways :

-position (angle)

-torque

By I know I will have to interract with others parameters like :

Set position

Set speed

Set accelration

Set decelaration

Set stop move

Set start move

Set torque

 

The fact is :

-I don't undestand the structure of PDO and SDO, because it's the really first time I developp a project with an Ethercat interface.

-I know classical motion, but not trough motor drives, just with motion controllers (Newport as an example).

 

Thanks,

 

0 Kudos
Message 10 of 29
(7,035 Views)