Configuring LinuxCNC with ethercat devices
- jc2ktr
- Offline
- Senior Member
- Posts: 77
- Thank you received: 8
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.
- tommylight
- Online
- Moderator
- Posts: 19419
- Thank you received: 6512
forum.linuxcnc.org/24-hal-components/22346-ethercat-hal-driver
Please Log in or Create an account to join the conversation.
- Sviper
- Offline
- Senior Member
- Posts: 76
- Thank you received: 9
HelloHi,
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>
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.
- Sviper
- Offline
- Senior Member
- Posts: 76
- Thank you received: 9
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>
Please Log in or Create an account to join the conversation.