04-14-2014 07:34 AM - edited 04-14-2014 07:37 AM
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)
Help me, please....
Sébastien MICHAUD
CLD
04-15-2014 04:53 AM
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
04-15-2014 09:34 AM - edited 04-15-2014 09:38 AM
Hi,
Thank you for your answer.
I successfully modified the XML file of my Schneider drive :
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):
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 :
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
04-15-2014 11:48 AM
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.
04-15-2014 12:24 PM
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
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
04-15-2014 01:13 PM
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.
04-16-2014 02:37 AM
Thank you, I try your files
04-16-2014 03:19 AM
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,
04-16-2014 02:44 PM
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?
04-17-2014 02:31 AM
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,