Ethercat drives not responding, mesa error finishing read

More
10 months 4 weeks ago #339658 by nanowhat
The next time I see that error, I will try those things.

Please Log in to join the conversation.

More
10 months 3 weeks ago #339737 by nanowhat
$lcecObject.pll-error-count is holding at 2. I haven't seen it increase yet.

I want to read some more data from the drives, and it won't work. See attached iX7NH.xml, line 23. I want to see the temperature values from the drive, but I can't read them. As shown, where pdoEntry idx="260B", the drive stays in PREOP (see dmesg output in dmesg260B.txt). If I change the index to "2606", the drive will go to OP (see dmesg output in dmesg2606.txt) and I can see the number through HAL (that I don't want). Registers 2606 and 260B are both 16 bit signed integers.
Any of 260B, 260C, or 260D (all temperature sensors in the servo system) have the same effect.


I can read the values manually with "ethercat upload -p0 -t int16 0x260B 0" and I get some number.
The drive manual says I can read up to 10 registers with one TxPDO: I have 6.
It also says that I am limited to 28 bytes in one TxPDO: I have 13.
How do I do this?

Please Log in to join the conversation.

More
10 months 3 weeks ago #339739 by Hakan
With pll-reset-count steady at to 2 it should be fine.

Try to locate temperature sensors in the pdo listing from "ethercat pdos".
I suspect you are addressing a sdo with 2605 and that won't work.
You'll find out from the ethercat pdos listing.

Please Log in to join the conversation.

More
10 months 3 weeks ago #339740 by nanowhat
Output from "ethercat pdos" in attached file.

0x2605 works just fine: that's the DC link voltage and I can read that from all 3 drives.
0x260B does not.

The drive manual doesn't discuss SDOs, or whether some data index is a PDO or SDO. I would hope a temperature sensor would be continuously readable, which would require it to be a PDO.

Please Log in to join the conversation.

More
10 months 3 weeks ago #339742 by nanowhat
I figured it out. The manual doesn't explicitly mention SDOs but it does say whether an index can be assigned to a PDO and I ignored that information the first time around.
260B, 260C, and 260D cannot be assigned to a PDO.

Is there another way of getting this information into HAL, or do I need to write a custom component?

Please Log in to join the conversation.

More
10 months 3 weeks ago #339746 by Hakan
There is no way to read an SDO value into hal as far as I know.
But as you say it wouldn't be too hard to write a user-space hal component in python
the runs the command "ethercat -p n upload 0x2608 0", parses the output and returns a value.
I mean, in principle.
 

Please Log in to join the conversation.

More
10 months 2 weeks ago #340155 by nanowhat
I've put together that userspace component to get the temperatures, and it works just fine.

Please Log in to join the conversation.

Time to create page: 0.287 seconds
Powered by Kunena Forum