Configuring LinuxCNC with ethercat devices

More
20 Nov 2020 20:45 #189921 by jc2ktr
Hi,

i got my EtherCAT bus to run under LinuxCNC and i got a working ethercat_conf.xml
When i start LinuxCNC i can read out the I/O Signals from my Ethercat Slave.

But i am stuck at the point where i should link the Signals with the Axis like enable, the position command or the encoder feedback-

Can someone give me a hint how to do this?

Here´s a Example from my Config XML
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="00000A88" pid="0A880002" configPdos="true">
<syncManager idx="0" dir="out" />
<syncManager idx="1" dir="in" />
<syncManager idx="2" dir="out">
	<pdo idx="1601">
		<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="ProfileTargetPosition" halType="u32" />
		<pdoEntry idx="6040" subIdx="00" bitLen="16" halType="Complex">
		<complexEntry bitLen="1" halPin="Switch ON" halType="bit" />
		<complexEntry bitLen="1" halPin="Enable Voltage" halType="bit" />
		<complexEntry bitLen="1" halPin="Quick Stop" halType="bit" />
		<complexEntry bitLen="1" halPin="Enable Operation" halType="bit" />
		<complexEntry bitLen="1" halPin="Operating mode-related bit 1" halType="bit" />
		<complexEntry bitLen="1" halPin="Operating mode-related bit 2" halType="bit" />
		<complexEntry bitLen="1" halPin="Operating mode-related bit 3" halType="bit" />
		<complexEntry bitLen="1" halPin="Fault Reset" halType="bit" />
		<complexEntry bitLen="1" halPin="Time out" halType="bit" />
		<complexEntry bitLen="1" halPin="Operating mode-related bit 4" halType="bit" />
		<complexEntry bitLen="1" halPin="bit10" halType="bit" />
		<complexEntry bitLen="1" halPin="bit11" halType="bit" />
		<complexEntry bitLen="1" halPin="bit12" halType="bit" />
		<complexEntry bitLen="1" halPin="bit13" halType="bit" />
		<complexEntry bitLen="1" halPin="bit14" halType="bit" />
		<complexEntry bitLen="1" halPin="bit15" halType="bit" />
		</pdoEntry>
	</pdo>
</syncManager>
<syncManager idx="3" dir="in">
	<pdo idx="1A00">
		<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="Actual Position" halType="u32" />
		<pdoEntry idx="6041" subIdx="00" bitLen="16" halType="Complex">
		<complexEntry bitLen="1" halPin="Ready to Switch ON" halType="bit" />
		<complexEntry bitLen="1" halPin="Switched On" halType="bit" />
		<complexEntry bitLen="1" halPin="Operation Enabled" halType="bit" />
		<complexEntry bitLen="1" halPin="Fault" halType="bit" />
		<complexEntry bitLen="1" halPin="Voltage Enabled" halType="bit" />
		<complexEntry bitLen="1" halPin="Quickstop" halType="bit" />
		<complexEntry bitLen="1" halPin="Switch On Disabled" halType="bit" />
		<complexEntry bitLen="1" halPin="Warning" halType="bit" />
		<complexEntry bitLen="1" halPin="keep" halType="bit" />
		<complexEntry bitLen="1" halPin="Remote" halType="bit" />
		<complexEntry bitLen="1" halPin="Target Reach" halType="bit" />
		<complexEntry bitLen="1" halPin="bit11-keep" halType="bit" />
		<complexEntry bitLen="1" halPin="bit12-keep" halType="bit" />
		<complexEntry bitLen="1" halPin="bit13-keep" halType="bit" />
		<complexEntry bitLen="1" halPin="bit14-keep" halType="bit" />
		<complexEntry bitLen="1" halPin="bit15-keep" halType="bit" />
		</pdoEntry>
	</pdo>
</syncManager>
</slave>
</master>
</masters>

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

More
12 Dec 2020 17:15 #191742 by tommylight
Might be better to ask in this topic as there is everything regarding ethercat there:
forum.linuxcnc.org/24-hal-components/22346-ethercat-hal-driver

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

More
30 Oct 2021 03:24 #224698 by Sviper

Hi,

i got my EtherCAT bus to run under LinuxCNC and i got a working ethercat_conf.xml
When i start LinuxCNC i can read out the I/O Signals from my Ethercat Slave.

But i am stuck at the point where i should link the Signals with the Axis like enable, the position command or the encoder feedback-

Can someone give me a hint how to do this?

Here´s a Example from my Config XML

<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="00000A88" pid="0A880002" configPdos="true">
<syncManager idx="0" dir="out" />
<syncManager idx="1" dir="in" />
<syncManager idx="2" dir="out">
<pdo idx="1601">
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="ProfileTargetPosition" halType="u32" />
<pdoEntry idx="6040" subIdx="00" bitLen="16" halType="Complex">
<complexEntry bitLen="1" halPin="Switch ON" halType="bit" />
<complexEntry bitLen="1" halPin="Enable Voltage" halType="bit" />
<complexEntry bitLen="1" halPin="Quick Stop" halType="bit" />
<complexEntry bitLen="1" halPin="Enable Operation" halType="bit" />
<complexEntry bitLen="1" halPin="Operating mode-related bit 1" halType="bit" />
<complexEntry bitLen="1" halPin="Operating mode-related bit 2" halType="bit" />
<complexEntry bitLen="1" halPin="Operating mode-related bit 3" halType="bit" />
<complexEntry bitLen="1" halPin="Fault Reset" halType="bit" />
<complexEntry bitLen="1" halPin="Time out" halType="bit" />
<complexEntry bitLen="1" halPin="Operating mode-related bit 4" halType="bit" />
<complexEntry bitLen="1" halPin="bit10" halType="bit" />
<complexEntry bitLen="1" halPin="bit11" halType="bit" />
<complexEntry bitLen="1" halPin="bit12" halType="bit" />
<complexEntry bitLen="1" halPin="bit13" halType="bit" />
<complexEntry bitLen="1" halPin="bit14" halType="bit" />
<complexEntry bitLen="1" halPin="bit15" halType="bit" />
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="Actual Position" halType="u32" />
<pdoEntry idx="6041" subIdx="00" bitLen="16" halType="Complex">
<complexEntry bitLen="1" halPin="Ready to Switch ON" halType="bit" />
<complexEntry bitLen="1" halPin="Switched On" halType="bit" />
<complexEntry bitLen="1" halPin="Operation Enabled" halType="bit" />
<complexEntry bitLen="1" halPin="Fault" halType="bit" />
<complexEntry bitLen="1" halPin="Voltage Enabled" halType="bit" />
<complexEntry bitLen="1" halPin="Quickstop" halType="bit" />
<complexEntry bitLen="1" halPin="Switch On Disabled" halType="bit" />
<complexEntry bitLen="1" halPin="Warning" halType="bit" />
<complexEntry bitLen="1" halPin="keep" halType="bit" />
<complexEntry bitLen="1" halPin="Remote" halType="bit" />
<complexEntry bitLen="1" halPin="Target Reach" halType="bit" />
<complexEntry bitLen="1" halPin="bit11-keep" halType="bit" />
<complexEntry bitLen="1" halPin="bit12-keep" halType="bit" />
<complexEntry bitLen="1" halPin="bit13-keep" halType="bit" />
<complexEntry bitLen="1" halPin="bit14-keep" halType="bit" />
<complexEntry bitLen="1" halPin="bit15-keep" halType="bit" />
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>


 

Hello 

Can you attach your Last Twincat config for with the el6751 and your LinuxCNC XML for your drives? I‘m currently test JAT servodrives with LinuxCNC ethercat and canopen. This will help me a lot. At the Moment my el6751 go in error. With my twincat config it go in run Mode nur with LinuxCNC Not. 

thanks

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

More
03 Nov 2021 18:49 #225133 by Sviper
Hallo Leute,

so Fehler gefunden. LCNC startet jetzt mit der XML. Aber Klemme geht nicht auf OP.

<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
<slave idx="0" type="EK1100" name="EK1100"/>
<slave idx="1" type="generic" vid="00000002" pid="1a5f3052" configPdos="true">
<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="01" bitLen="64" halType="Complex">
<complexEntry bitLen="16" halPin="node1-control-word" halType="u32"/>
<complexEntry bitLen="32" halPin="node1-pos-demand-value" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-modes-of-op" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-dig-outputs" halType="u32"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6000" subIdx="01" bitLen="64" halType="Complex">
<complexEntry bitLen="16" halPin="node1-status-word" halType="u32"/>
<complexEntry bitLen="32" halPin="node1-pos-fb" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-mode-of-op-fb" halType="s32"/>
<complexEntry bitLen="8" halPin="node1-dig-inputs" halType="u32"/>
</pdoEntry>
</pdo>
</syncManager> 
</slave>
</master>
</masters>
 


 
Attachments:

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

Moderators: PCWjmelson
Time to create page: 0.177 seconds
Powered by Kunena Forum