EtherCAT master xml file for Yaskawa Sigma Servo motor?

More
19 Dec 2025 06:25 #340299 by tar_san
I'm trying to use Yaskawa sigma servo(EtherCAT) for LinuxCNC.

But my trial does not work.
I get Alarm A12 (EtherCAT Output Syncronization Error)

Does anyone know good example master settings ?

my trial 

ini
loadusr -W lcec_conf ethercat-conf.xml

ethercat-conf.xml

<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">

    <slave idx="0" type="generic" vid="00000539" pid="02200901" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>     

      <sdoConfig idx="2701" subIdx="02" ><sdoDataRaw data="00 00 00 04" /></sdoConfig> 


<< ERROR.
LCEC: slave 0.0: Failed to execute SDO download( 0x2701:0x02, size4, bite0=0, error -5, abort_code 00000000)

...


 

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
19 Dec 2025 09:36 #340300 by Hakan
I think you know this already, but you have the output of "sudo dmesg" with the last lines being relevant.

In this case, do the following commands work "ethercat -p 0 upload 0x2701 2" and "ethercat -p 0 download 0x2701 2 1"?
You are aware that bytes in sdoDataRaw are LSBF so your number "00 00 00 40" is 67108864?
 

Please Log in or Create an account to join the conversation.

More
20 Dec 2025 08:21 - 20 Dec 2025 08:21 #340332 by tar_san
Yes, 67108864 is Encoder count per round.
The problem is "Alarm A12 (EtherCAT Output Syncronization Error) "

A support person said,
"As long as A12 occurs, servo amp can't anser properly."
Last edit: 20 Dec 2025 08:21 by tar_san.

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
20 Dec 2025 09:18 #340333 by Hakan
And what does the last lines in "sudo dmesg" say?
It is the drive that is unhappy, but hopefully the ethercat master tells why it won't download data to an SDO.
Or give another clue.

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
20 Dec 2025 09:37 #340335 by Hakan
I was able to find the manual and some info´about the alarm. Even if there were very few clues in the post
 
Then you can try
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000" syncToRefClock="true">
or if you have an old lcec version and syncToRefClock isn't recognized: refClockSyncCycles="-1000"

Check the lcec.0.pll-reset-count variable that it stays on single digit. Read at least one full page here github.com/linuxcnc-ethercat/linuxcnc-et...istributed-clocks.md
Attachments:

Please Log in or Create an account to join the conversation.

More
22 Dec 2025 22:41 #340403 by tar_san
Thank you so much, Mr. Hakan. I really appreciate your kind reply.

I'm using LinuxCNC 2.9.5 and 3axis machine, and I want to replace servomotors to YASKAwA servo systems.  ( I think I can upgrade LinuxCNC to the newest if needed) 

Now, I deleted SDO description, but I still get A12 Error. Xml configuration for lcec is very simple. (attached ethercat.xml)

So, EtherCAT basic communication is wrong. ( I have to solve it before SDO error. )
This is sudo dmesg output(dmsg_alarm_a12_2). 

I can see a lot of WARNINGS and Errors, but How can I fix these problems for YASKAWA Servo?
 
Attachments:

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
23 Dec 2025 08:16 - 23 Dec 2025 08:17 #340413 by Hakan
Hello Mr tar_san,

the output of dmesg was very helpful. We need to fix all issues appearing,
the first one is your drive is a EoE-capable drive. Ethernet over Ethercat.
Unfortunately linuxcnc doesn't support that.
The best way is to disable eoe in the ethercat mastyer.
Remove the installed ethercat master.
Then download ethercat master from the official site
Configure using the --disable-eoe=true option
git clone https://gitlab.com/etherlab.org/ethercat
./bootstrap
./configure --sysconfdir=/etc --disable-eoe=true
make all modules
... and so on, continue to build and configure your system. Instructions are here.
gitlab.com/etherlab.org/ethercat/-/blob/stable-1.6/INSTALL.md

There is another possibility to disable EoE, but that disables EoE in the drive, and I would think
you need EoE for communication with some Yaskawa tuning software. Guessing, but not unlikely.

Test with the new ethercat master, the EoE messages should now be gone.
Let's see how many of the other messages are still there and then we act on them.

Referring to my previous post. Please add on the master line
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1" syncToRefClock="true">
If syncToRefClock gives an error because it is not supported (yet), use the following syntax:
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1">
Note the minus sign.

Let's see how far you come with those modifications. If there are still problems,
please show the output of dmesg again, and any errors from linuxcnc.
Last edit: 23 Dec 2025 08:17 by Hakan. Reason: bbcode

Please Log in or Create an account to join the conversation.

More
23 Dec 2025 23:13 - 23 Dec 2025 23:15 #340441 by tar_san
Please correct me if I'm wrong.

I installed LinuxCNC using official image 2.9.4
&
sudo apt install linuxcnc-ethercat

sudo systemctl stop ethercat
sudo systemctl disable ethercat

and I executed the procedures below in home/etherlab directory

git clone gitlab.com/etherlab.org/ethercat

cd ethercat
./bootstrap
./configure --sysconfdir=/etc --disable-eoe=true

I got error message >> error :invalid feature name "eoe=true"
so what I did is ..

./configure --sysconfdir=/etc --disable-eoe

make all modules

Then I followed ---- INSTALL.md (gitlab.com/etherlab.org/ethercat/-/blob/stable-1.6/INSTALL.md)

su make modules_install install

I got error message >> su: user ake does not exist or the user entry does not contain all the required fields.

what should I do ?
Last edit: 23 Dec 2025 23:15 by tar_san.

Please Log in or Create an account to join the conversation.

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
23 Dec 2025 23:18 #340442 by tommylight

su make modules_install install

try
sudo make modules_install install

Please Log in or Create an account to join the conversation.

More
24 Dec 2025 00:01 - 24 Dec 2025 00:55 #340445 by tar_san
thank you so much. but I still have a problem.


sudo make modules_install install
sudo depmod
sudo echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules

I got error>> bash: /etc/udev/rules.d/99-EtherCAT.rules no permission
So I fixed to 
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" | sudo tee /etc/udev/rules.d/99-EtherCAT.rules

sudo systemctl daemon-reload
sudo systemctl start ethercat

ethercat version
IgH EtherCAT master 1.6.8

ethercat slaves
0  0:0 PREOP + SGDXS-xxxxA0x EtherCAT(CoE) SERVOPACK Rev02.09

and then, I executed LinuxCNC with my simple config.

But nothing has improved. 
I attached dmesg. 

And then , what I did was.. 
syncToRefClock="true"
>> I got error, and LinuxCNC did not started.

refClockSyncCycles="-1"
>> I got LinuxCNC Terminal output "Failed to get reference clock time: Input/output error" (20 times )
What am I missing ?
 
Attachments:
Last edit: 24 Dec 2025 00:55 by tar_san.

Please Log in or Create an account to join the conversation.

Time to create page: 0.145 seconds
Powered by Kunena Forum