Problems with Lichuan Ethercat servo drive

More
2 years 3 months ago #305117 by lmclaren
Thankyou, I have expanded out to 3x drives and all working well.

I am accessing my LCNC via RDP and noticed that response to the gui slowed considerably while LCNC is running.

My fix was to set coalesce on the interfaces, here is my /etc/networks/interfaces where enp2s0 is my user interface / general network access and the eno1 is my ethercat interface.

cnc@cnc02:/etc/network$ cat interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp2s0
iface enp2s0 inet static
        address 10.1.1.14
        hardware-irq-coalesce-rx-usecs 0

auto eno1
iface eno1 inet manual
    hardware-irq-coalesce-rx-usecs 0


 

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

More
2 years 3 months ago #305749 by lmclaren
I have extended the ethercat-conf.xml so I can read the digitial input pins, this is my first attempt so please let me know if there is a better way.

Code:
    <masters>   <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">     <slave idx="0" type="generic" vid="00000766" pid="00000402" configPdos="true">       <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>       <syncManager idx="0" dir="out">       </syncManager>       <syncManager idx="1" dir="in">       </syncManager>       <syncManager idx="2" dir="out">         <pdo idx="1600">           <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>           <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>           <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>           <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-speed" halType="s32"/>         </pdo>       </syncManager>       <syncManager idx="3" dir="in">         <pdo idx="1a00">           <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>           <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>           <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>           <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>           <pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>           <pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">             <complexEntry bitLen="1" halPin="di-state-01-reverse-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-02-forward-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-03-origin-switch" halType="bit"/>             <complexEntry bitLen="13"/>             <complexEntry bitLen="1" halPin="di-state-16-zsignal" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-17-probe1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-18-probe2" halType="bit"/>             <complexEntry bitLen="1"/>             <complexEntry bitLen="1" halPin="di-state-20-di0" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-21-di1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-22-di2" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-23-di3" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-24-di4" halType="bit"/>           </pdoEntry>                   </pdo>       </syncManager>     </slave>      <slave idx="1" type="generic" vid="00000766" pid="00000402" configPdos="true">       <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>       <syncManager idx="0" dir="out">       </syncManager>       <syncManager idx="1" dir="in">       </syncManager>       <syncManager idx="2" dir="out">         <pdo idx="1600">           <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>           <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>           <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>           <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-speed" halType="s32"/>         </pdo>       </syncManager>       <syncManager idx="3" dir="in">         <pdo idx="1a00">           <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>           <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>           <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>           <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>           <pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>           <pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">             <complexEntry bitLen="1" halPin="di-state-01-reverse-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-02-forward-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-03-origin-switch" halType="bit"/>             <complexEntry bitLen="13"/>             <complexEntry bitLen="1" halPin="di-state-16-zsignal" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-17-probe1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-18-probe2" halType="bit"/>             <complexEntry bitLen="1"/>             <complexEntry bitLen="1" halPin="di-state-20-di0" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-21-di1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-22-di2" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-23-di3" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-24-di4" halType="bit"/>           </pdoEntry>         </pdo>       </syncManager>     </slave>     <slave idx="2" type="generic" vid="00000766" pid="00000402" configPdos="true">       <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>       <syncManager idx="0" dir="out">       </syncManager>       <syncManager idx="1" dir="in">       </syncManager>       <syncManager idx="2" dir="out">         <pdo idx="1600">           <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>           <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>           <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>           <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-speed" halType="s32"/>         </pdo>       </syncManager>       <syncManager idx="3" dir="in">         <pdo idx="1a00">           <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>           <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>           <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>           <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>           <pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>           <pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">             <complexEntry bitLen="1" halPin="di-state-01-reverse-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-02-forward-overtravel" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-03-origin-switch" halType="bit"/>             <complexEntry bitLen="13"/>             <complexEntry bitLen="1" halPin="di-state-16-zsignal" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-17-probe1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-18-probe2" halType="bit"/>             <complexEntry bitLen="1"/>             <complexEntry bitLen="1" halPin="di-state-20-di0" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-21-di1" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-22-di2" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-23-di3" halType="bit"/>             <complexEntry bitLen="1" halPin="di-state-24-di4" halType="bit"/>           </pdoEntry>         </pdo>       </syncManager>     </slave>   </master> </masters>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
The following user(s) said Thank You: dacb, avive

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

More
2 years 3 months ago #305750 by lmclaren
examples of hal show

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

More
2 years 3 months ago #306454 by Freedo
Hi everyone. I tried downloading Robbbbbb's config but I didn't have any luck. I have tried following the 2 pinned guides as well as all the steps posted in this thread, but I can't seem to get anywhere. I just have a single lichuan servo and the EK1100.

One thing I noticed is that
Code:
ethercat state -p0 PREOP
changes the state of my Beckoff EK1100 instead of the servo drive. By changing p0 to p1, I can change the state of the servo drive to init (1ry) and preop(2ry) but nothing else. I tried changing some zeros to ones in Rob's config but it didn't work. 

I have also heard people staying they did stuff using twin cat, but I downloaded it and did some quick googling but I didn't get anywhere. 

Is there something else it could be? Could I have missed a step 

Thank you in advance

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

More
2 years 2 months ago #306935 by dacb
This is fantastic. Thank you and Robbb and trisa and a whole lot of others. I just got my setup working.

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

More
2 years 2 months ago #306941 by ihavenofish

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

Time to create page: 0.133 seconds
Powered by Kunena Forum