Help with Delta E3 Ethercat drives - hal and ethercat-conf.xml

More
24 Oct 2025 13:22 - 24 Oct 2025 13:24 #337050 by Hakan
Error messages says pyvcp_panel.hal, line 8.
Only thing I can think of is the line PYVCP=pyvcp_panel.xml in the ini file
that leads to the line it doesn't like.
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
PYVCP = pyvcp_panel.xml

[KINS]
JOINTS = 1
KINEMATICS = trivkins coordinates=X
I suggest you comment out that line. It is for customization if I understand right. You can always come back later and look at that.
Last edit: 24 Oct 2025 13:24 by Hakan.

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

  • SPH
  • SPH's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
24 Oct 2025 22:22 - 24 Oct 2025 22:34 #337097 by SPH
That sorted it. Just #'d out the two PYVCP lines. Looking back over the build thread it was using probe basic so that's probably the issue.
I now have axis running with one encoder that's reading! Fantastic. Don't have any motor control though. I can move the motor shaft and get count and motion on the simulator display but with the machine enabled I can't jog. The sim shows movement but no shaft rotation.

I'm also getting a Linuxcnc notification "LCEC: Invalid appTimePeriod of 0 for master 0 (should be 1000000)."

A quick search on the forum suggests that relates to:
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
HOMEMOD=always_homed

in the ini file but it's set to 1000000 already.
Last edit: 24 Oct 2025 22:34 by SPH.

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

More
25 Oct 2025 08:20 - 25 Oct 2025 08:26 #337116 by Hakan
That's what makes it so challenging with ethercat. Settings in several places and cross-dependencies.
Anyways, the second line in ethercat-conf.xml has the appTimePeriod setting.
There also :)


There are two more settings you can do now when things start to work.
Add this line right under the "<slave" line
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>

and go back up to the second line in the file and add a minus-sign to the refClockSyncCycles value
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1000"
Last edit: 25 Oct 2025 08:26 by Hakan.

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

  • SPH
  • SPH's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
25 Oct 2025 11:09 - 25 Oct 2025 11:28 #337121 by SPH
Righto I've added those lines in. No change on the x axis motor movement though.

In the interim I've connected up my second servo drive in order to start getting a full setup. I've essentially just copied and pasted the working x drive info but I'm getting
[code][code]./EL8_machine.hal:69: Pin 'joint.1.motor-pos-fb' does not exist
I've attached the files. No doubt it's some stupid simple thing.

*Is it easier if I just put the files straight into the post as code rather than attaching them? I want to make sure it's as easy as possible for everyone.[/code][/code]
Attachments:
Last edit: 25 Oct 2025 11:28 by SPH.

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

More
25 Oct 2025 11:25 #337123 by Hakan
Ok, it's the second line in the hal file,  num_joints=2

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

  • SPH
  • SPH's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
25 Oct 2025 12:10 - 25 Oct 2025 12:13 #337124 by SPH
Ah, yep, stupid simple. I'd been going back and forward for about an hour trying to figure that out.

One step forward, two steps back. Now throwing the error:
[code][code]Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.9.4
Machine configuration directory is '/home/cnc/linuxcnc/configs/linuxcnc_leadshine_EL8'
Machine configuration file is 'EL8_machine.ini'
INIFILE=/home/cnc/linuxcnc/configs/linuxcnc_leadshine_EL8/EL8_machine.ini
VERSION=1.1

check_config:
INCONSISTENT coordinates specifications:
trivkins coordinates=X
[TRAJ]COORDINATES=XZ

PARAMETER_FILE=linuxcnc.var
TPMOD=
HOMEMOD=always_homed
TASK=milltask
HALUI=halui
DISPLAY=axis
COORDINATES=XZ
KINEMATICS=trivkins coordinates=X
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
emc/iotask/ioControl.cc 786: can't load tool table.
Starting HAL User Interface program: halui
linuxcnc TPMOD=tpmod HOMEMOD=always_homed EMCMOT=motmod
Found file(REL): ./EL8_machine.hal
Starting TASK program: milltask
Starting DISPLAY program: axis
Shutting down and cleaning up LinuxCNC...
task: 103 cycles, min=0.000008, max=0.010081, avg=0.008640, 0 latency excursions (> 10x expected cycle time of 0.010000s)
@@@always_homed.comp:extra_setup: home_parms=no_home_parms

!!!always_homed.comp: Skeleton Homing Module

Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
note: MAXV max: 50.000 units/sec 3000.000 units/min
note: LJOG max: 50.000 units/sec 3000.000 units/min
note: LJOG default: 2.500 units/sec 150.000 units/min
Traceback (most recent call last):
File "/usr/bin/axis", line 3655, in <module>
ja_id = aletter_for_jnum(jnum)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/axis", line 3642, in aletter_for_jnum
return trivkinscoords.upper()[jnum]
~~~~~~~~~~~~~~~~~~~~~~^^^^^^
IndexError: string index out of range
6055
6087
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime

Files attached. [/code][/code]
Attachments:
Last edit: 25 Oct 2025 12:13 by SPH.

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

More
25 Oct 2025 12:13 #337125 by Hakan
This one
check_config:
INCONSISTENT coordinates specifications:
trivkins coordinates=X
[TRAJ]COORDINATES=XZ

That is a line in the ini file
KINEMATICS = trivkins coordinates=X
should be XZ

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

  • SPH
  • SPH's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
25 Oct 2025 12:22 #337127 by SPH
Ah, so simple. I've been committing the cardinal sin of making multiple changes at once.
Up and running again and OH YEAH! Got motor motion! Although I must admit I'm a bit unsure what's changed to make it start working...

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

  • SPH
  • SPH's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
25 Oct 2025 12:27 #337129 by SPH
Hakan, thanks so much for taking the time to help get this working. I can switch off for the night on a high now. Lots more to do but being able to jog a drive feels like a big step forward.

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

More
25 Oct 2025 12:53 #337131 by Hakan
I guess you should use Probe Basic or QtDragon or some other cute hmi.
Now the ethercat part is sorted, just normal linuxcnc config left.

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

Time to create page: 0.088 seconds
Powered by Kunena Forum