Hi Jakub,

It's kind of hard to say without more info.  But here's a few things to check 
(from very simple onwards):

1) check that the drives are going to OP mode ("ethercat slaves" command).  If 
they are not in OP mode they won't be handling PDO frames.

2) do an "ethercat slaves -v" command and check that your app is using the 
correct vender ID and product code to connect to it.

3) do an "ethercat slaves -v" command and compare the two types of drives, in 
particular the "Flags: Enable notLRW" flag.  If one of them is true, then you 
need to split the read and write PDO's into two different domains for that 
drive.

4) from a fresh power up of your amps, and before you start your app, do the 
"ethercat cstruct" command on the two types of amps and compare them.  If they 
are not the same, make sure your code is accounting for the differences.

5) before starting your amp run the command "ethercat debug 1" to set the 
masters debug output level to 1.  Start the app.  Once started check the dmesg 
log and look for any configuration errors

Regards,
Graeme Foot.

From: etherlab-users <[email protected]> On Behalf Of 
[email protected]
Sent: Saturday, 30 November 2019 5:52 AM
To: [email protected]
Cc: [email protected]; [email protected]
Subject: [etherlab-users] Debugging inconsistent slave behaviour


Dear Etherlab Users,



For a few years now I've been enthusiastically using Etherlab master along with 
Gavin Lambert's patchset (up to kernel 4.4) to drive a handful of Technosoft 
Motion iPOS4808 BX-CAT slaves in various robotics projects. My framework 
involves  <ecrt.h> wrapped in custom C++ code. I thought that by now I have a 
reliable plug-and-play software stack. Unfortunately, I was proven wrong when I 
tried to use my code with another drive from the same family (iPOS3602 VX-CAT).



I managed to narrow down the problem to an issue with <ecrt.h> PDO exchange. 
When I run the cyclic process, I keep on receiving empty datagrams from the 
3602 slaves regardless of what I do. Running the same code on the same machine 
with iPOS4808 slaves connected through the same cable works just fine. I can 
also read all CoE fields in 3602 slaves via SDO ("sudo ethercat upload" in 
console) with no problem. The manufacturer (Technosoft) claims that their 
Ethercat functionality should be consistent across the entire iPOS ...-CAT 
family, but something is clearly not right.



Since I have never ran into similar issues, I miss the know-how that would 
allow me to dig deep enough to establish the source of the problem (even the 
simple fact whether it's a problem with the slaves or the master). Hence, I 
thought I may check here, whether a similar situation has happened to anyone 
before. If you had any tips on how I could investigate the problem further, I 
would be much obliged.



Thank you very much in advance for any help.



Yours sincerely,

Jakub Sikorski



Doctoral Candidate

Surgical Robotics Laboratory

University of Twente

7500 AE Enschede

The Netherlands
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to