ESTUN ED3M with Ethercat: HAL pins RW doesn't work

More
30 Dec 2020 14:56 #193550 by ioiotutu
Hi,
i'm working with ethercat and i have configured ESTUN PRONET following the instructions read on this forum ( forum.linuxcnc.org/27-driver-boards/3559...uxcnc-how-to-install ).
The driver work properly, and i tested velocity mode and position mode configurations with linuxcnc.
I have a problem with ESTUN EDM3 (dual motor drive). Reading the EDM3 manual, this drive seems to be equal to PRONET drive.
i have configured .xml file with the PDO for the second motor (these are shifted of 0x800) but using hal meter in linuxcnc i see al lcec pins to 0.
Ethercat configuration i think is ok, because with ethercat commands the drive work for example:

for motor 1
ethercat -p0 -t uint16 download 0x6040 0 0x0006 # EnableVoltage+QuickStop
ethercat -p0 -t uint16 download 0x6040 0 0x0007 # +SwitchOn
ethercat -p0 -t uint16 download 0x6040 0 0x000f # +EnableOperation

for motor 2
ethercat -p0 -t uint16 download 0x6840 0 0x0006 # EnableVoltage+QuickStop
ethercat -p0 -t uint16 download 0x6840 0 0x0007 # +SwitchOn
ethercat -p0 -t uint16 download 0x6840 0 0x000f # +EnableOperation

I can read the encoders and send command to move the motor. Etherlab module work fine.

The read/write operation with HAL lcec pins doesn't work.

I have connected two drives on ethercat, EDM3 slave 0 and PRONET slave 1, changing ethercat.xml file. The result is that reading HAL pins with HAL METER i see lcec pin of PRONET correctly but the pins of ED3M are fixed to 0.

Attached is the output of "ethercat slaves -v" command.
The slaves settings of the drive are little different. In particular there is a flags "Enable notLRW: yes" that is different from PRONET. I'm not expert of ethercat but probably read/write mode mybe different. Probably i must adjust the xml configuration for ED3M but i don't know how.

Suggestions are appreciated.
Thanks.

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

More
01 Jan 2021 11:43 #193718 by ioiotutu
hi,
reading other posts i think that the problem was "Enable notLRW: yes" . Drive required different domains for read/ write PIDs. Unfortunately i could not find examples or docs to activate multiple domains on the master to fix my problems.
Probably other drives (i.e. Lenze) may to have the same problem. Someone tried to set up multiple domains on the master?

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

More
11 Jan 2021 16:35 #194922 by sirop
I doubt that there is an XML configuration or tags for more than one domain
as github.com/sittner/linuxcnc-ethercat/blo...src/lcec_main.c#L353 shows that only one domain is created.

So if you need two domains, then you have to adjust lcec_main.c and lcec.h .
The following user(s) said Thank You: chimeno, CORBETT

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

More
11 Jan 2021 17:07 #194926 by CORBETT
Boris,

I wanted to send you a note and say thank you for all the help and work you have done on the EtherCAT driver. I see where you do a lot on GitHub and since you are one of the major players in helping I wanted to reach out and extend the thanks for all the work. There are 2 others here on the forum that help big time on EtherCAT and I always send thanks to them (Chimeno & Grotius), but I rarely see you here and wanted to send a quick note to you. I am always glad to see you guy's here helping us all.

Sincerely,
Robert
The following user(s) said Thank You: tommylight, sirop

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

More
11 Jan 2021 21:00 - 11 Jan 2021 21:25 #194955 by chimeno
Hello @ioiotutu
I don't really understand what you need, are you trying to record parameters in OP mode?

Edit:
sorry I think now I understand a little what you were looking for.

Greeting
Chimeno
Last edit: 11 Jan 2021 21:25 by chimeno. Reason: Edit

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

More
12 Jan 2021 15:17 #195064 by ioiotutu
hello,
I'm searcing to configure ESTUN EDM3 (dual motor drive) using ethercat. I succesfull configured PRONET, but this drive has enablenotLRW setted to yes and needs multiple domains to work.

With etherlab commands I can read/write drive's registers, PDOs, SDOs, enable the drive, but in linuxcnc I cannot read lcec_ variables defined on xml.

Here is my xml:
start xml
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" vid="0000060A" pid="00000001" name="shoulder" configPdos="true">
<sdoConfig idx="6060" subIdx="0"> <!-- mode. 8=CSP-->
<sdoDataRaw data="08"/>
</sdoConfig>
<syncManager idx="0" dir="out"/>
<syncManager idx="1" dir="in"/>
<syncManager idx="2" dir="out">
<pdo idx="1602">
<!--Entry idx="6040" subIdx="00" bitLen="16" halPin="control" halType="bit"/-->
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="control" halType="u32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="poscommand" halType="float" scale="1"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="velocitycmd" halType="float" scale="1"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A02">
<!--Entry idx="6041" subIdx="00" bitLen="16" halPin="status" halType="bit"/-->
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="status" halType="u32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="pos" halType="float" scale="1"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="velocity" halType="float" scale="1"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="250000"/>
<watchdog divider="2498" intervals="1000"/>
</slave>
</master>
</masters>
end xml

I think to have two ways to fix my problem:
1) set "enablenotLRW" to no with an etherlab command, but i don't know if it is possible.

2) Use LRD/LWR but for this i need to configure multiple domains adjusting lcec_main.c and lcec.h (sirop suggest this). in this case I don't know if I'm capable! Someone tried to configure LRD / LRW modifing lcec_main.c and lcec.h?

Thanks.

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

More
12 Jan 2021 22:04 #195132 by chimeno
Hello @ioiotutu

Thanks for the explanation, unfortunately I have not had to use those records, if I have a little time I will look at the section suggested by @Sirop in case I can help something

Greeting
Chimeno

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

Time to create page: 0.107 seconds
Powered by Kunena Forum