Error finishing read! Iter and joint following error in Stepper machine

More
03 Jul 2024 21:55 #304342 by sin-do-re
Hello guys
i am getting some errors related to stopping the movement of the axis suddenly with a Error Finishing read and joint following error although I have a 2000000 servo period.

is there anyway can I improve my ini file to get over this?
would it be ok to increase servo period further?

thank you
.# Generated by PNCconf at Sat Dec 23 11:16:08 2023
# Using LinuxCNC version:  Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

[EMC]
MACHINE = cbv
DEBUG = 0
VERSION = 1.1

[DISPLAY]
DISPLAY = qtvcp qtplasmac
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/tru/linuxcnc/nc_files
INCREMENTS = 10mm 1mm .1mm .01mm .001mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 133.333333
MAX_LINEAR_VELOCITY = 166.666667
MIN_LINEAR_VELOCITY = 0.500000
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
GEOMETRY = xyz
CYCLE_TIME = 100

[FILTER]
PROGRAM_EXTENSION = .ngc,.nc,.tap GCode File (*.ngc, *.nc, *.tap)
ngc = qtplasmac_gcode
nc  = qtplasmac_gcode
tap = qtplasmac_gcode

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
RS274NGC_STARTUP_CODE = G21 G40 G49 G80 G90 G92.1 G94 G97 M52P1
SUBROUTINE_PATH = ./:../../nc_files
USER_M_PATH = ./:../../nc_files


[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 2000000

[HMOT]
CARD0=hm2_7i96s.0

[HAL]
HALUI = halui
HALFILE = cbv.hal
HALFILE = qtplasmac_comp.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
SHUTDOWN = shutdown.hal

[HALUI]

[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ

[TRAJ]
SPINDLES = 3
COORDINATES =  XYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 10.00
MAX_LINEAR_VELOCITY = 100.00
POSITION_FILE = position.txt
NO_FORCE_HOMING = 1

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

#******************************************
[AXIS_X]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.01
MAX_LIMIT = 2000.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 375.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 62.50
STEPGEN_MAXACCEL = 468.75
P = 1250.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 88.0
MIN_LIMIT = -0.01
MAX_LIMIT = 2000.0
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -33.333333
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
#******************************************

#******************************************
[AXIS_Y]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 1500.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.01
MAX_LIMIT = 3000.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125.00
STEPGEN_MAXACCEL = 937.50
P = 1250.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = -88.0
MIN_LIMIT = -0.01
MAX_LIMIT = 3000.0
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -33.333333
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2
#******************************************

#******************************************
[AXIS_Z]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 1300.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.0
MAX_LIMIT = 100.01

[JOINT_2]
TYPE = LINEAR
HOME = 100.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 650.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125.00
STEPGEN_MAXACCEL = 812.50
P = 1250.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 290.0
MIN_LIMIT = -0.0
MAX_LIMIT = 100.01
HOME_OFFSET = 104.000000
HOME_SEARCH_VEL = 10.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
#******************************************

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

More
03 Jul 2024 22:09 #304343 by tommylight
Trying to fix hardware issues with software is never a good idea, so ini file settings can not help much as you already have the servo period set to 2 million, but why oh why did you set the P value for all axis/joints at 1250???
Set those at 500, they are servo period dependent and must be 1/servo period, in your case 1/2000000ns=500 or 1/0.002sec=500

What PC? did you disable power saving options in BIOS? did you disable hyperthreading, TMP, C states, etc?
Also, open a terminal and type
sensors
see what the CPU temperature is while running LinuxCNC, anything above 60 degree should be checked and mitigated by repasting the cooler or better cooling.

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

More
04 Jul 2024 01:09 #304349 by PCW
Other things to check:

1. Do you have an Intel or Realtek Ethernet chip?
( there are chip specific things you can do to improve latency)

lshw -class network

Will list your Ethernet (and wireless) network hardware if you are not sure

2. Have you run a simple ping test like:

ping -i .2 -c 4 10.10.10.10
sudo chrt 99 ping -i .001 -q 10.10.10.10

The first command populates the ARP cache so the ARP lookup doesn't add time to the first ping
The second command should be run for a few minutes (and then stopped with a control C)
and the results posted here.
 
The following user(s) said Thank You: Lcvette

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

More
05 Jul 2024 10:08 #304448 by sin-do-re
Hello.
to update:
this error happens specifically when torch is about to fire, it even fires for a millisecond before error occurs.

im using output2 on 7i96s to drive a relay. The relay closes circuit of torch on terminals on the generator.

attached is the output of those commands
Attachments:

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

More
05 Jul 2024 15:13 - 05 Jul 2024 15:27 #304473 by PCW
The ping times are pretty bad.

If you have an intel Ethernet chip have you disabled IRQ coalescing?
This is described in the hm2_eth manual page:

man hm2_eth

gnipsel.com/linuxcnc/debian-12-eth.html

If you get the error right when the torch starts, that suggest a EMI 
or grounding issue . Do you have a flyback diode across the relay coil?
Last edit: 05 Jul 2024 15:27 by PCW.

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

More
09 Jul 2024 11:06 #304742 by sin-do-re
i have made the changes to the static IP and now i have a much smaller latency (about 0.100, 0.150)

i can "torch pulse" how many times i want and it will never have problems with the plasma ON.
i even have done "torch pulse" piercing the material, moving left, piercing again with torch pulse, etc.
i can run the G-Code how many times i want, without any problems, with "torch OFF".
i can run the G-Code how many times i want, without any problems, with "IGNORE OK", and "TORCH ON", and the plasma source itslef OFF, so the relay fires but there's no arc.

if i have "torch ON", and the plasma source ON, when i run a g-code, it will pierce the first time, and at the second time to pierce, it will give me a joint following error and "Error finishing read! Iter (...) "

my next attempt is to replace the mesa board and the relay..
 

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

More
09 Jul 2024 12:45 #304750 by tommylight
Not a Mesa issue.
Wiring/shielding/grounding issue.

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

More
09 Jul 2024 13:05 #304751 by PCW
Is there a flyback diode across the relay coil?

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

More
18 Aug 2024 16:49 #308089 by Lcvette

Other things to check:

1. Do you have an Intel or Realtek Ethernet chip?
( there are chip specific things you can do to improve latency)

lshw -class network

Will list your Ethernet (and wireless) network hardware if you are not sure

2. Have you run a simple ping test like:

ping -i .2 -c 4 10.10.10.10
sudo chrt 99 ping -i .001 -q 10.10.10.10

The first command populates the ARP cache so the ARP lookup doesn't add time to the first ping
The second command should be run for a few minutes (and then stopped with a control C)
and the results posted here.

 

ran this test, how does this look?
xk7130@xk7130:~$ sudo lshw -class netork
[sudo] password for xk7130: 
xk7130@xk7130:~$ lshw -class network
WARNING: you should run this program as super-user.
  *-network                 
       description: Ethernet interface
       product: Ethernet Connection (2) I218-V
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: enp0s25
       version: 00
       serial: d0:50:99:5c:61:57
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=6.1.0-13-rt-amd64 duplex=full firmware=0.1-4 ip=10.10.10.11 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:26 memory:efc00000-efc1ffff memory:efc34000-efc34fff ioport:f080(size=32)
  *-network
       description: Wireless interface
       physical id: 11
       bus info: usb@2:11
       logical name: wlx5ca6e641710d
       serial: 5c:a6:e6:41:71:0d
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=r8188eu driverversion=6.1.0-13-rt-amd64 ip=192.168.1.197 multicast=yes wireless=IEEE 802.11bgn
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
xk7130@xk7130:~$ ping -i .2 -c 4 10.10.10.10
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data.
64 bytes from 10.10.10.10: icmp_seq=1 ttl=64 time=0.226 ms
64 bytes from 10.10.10.10: icmp_seq=2 ttl=64 time=0.150 ms
64 bytes from 10.10.10.10: icmp_seq=3 ttl=64 time=0.149 ms
64 bytes from 10.10.10.10: icmp_seq=4 ttl=64 time=0.150 ms

--- 10.10.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 609ms
rtt min/avg/max/mdev = 0.149/0.168/0.226/0.033 ms
xk7130@xk7130:~$ sudo chrt 99 ping -i .001 -q 10.10.10.10
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data.
^C
--- 10.10.10.10 ping statistics ---
355710 packets transmitted, 355710 received, 0% packet loss, time 355709ms
rtt min/avg/max/mdev = 0.077/0.122/0.330/0.009 ms
xk7130@xk7130:~$ 

 

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

More
18 Aug 2024 17:46 #308096 by PCW
Looks decent (no huge ping times)

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

Time to create page: 0.078 seconds
Powered by Kunena Forum