Advanced Search

Search Results (Searched for: )

  • Hakan
  • Hakan
03 Nov 2025 20:23

Help with Inovance IS620N Servo Drive - Stays in PREOP

Category: EtherCAT

Good, the UNMATCHED datagrams are gone. One more step done.

Nobody needs that xml file, maybe some geek is looking at it. Linuxcnc doesn't use it,
it can read all necessary info from the drive.

So what I look at are the lines
[ 1652.582304] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[ 1652.583304] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
Invalid input configuration. It can be several things, but it has to do with the Syncmanagers and the PDOs.
You said you got the files from another post here, do you have a link to it?

When I look in that esi/xml file you attached I see that you use a PDO index of a fixed PDO, and it looks like you don't have the correct pdoentries in there. There are two things you can do.
1. Use a configurable PDO and put in the existing pdoentries in there.
Simply change
<pdo idx="1b01">
to
<pdo idx="1a00">

and switch
<pdo idx="1701">
to
<pdo idx="1600">

2. Put that right pdoentries in the 1b01 and 1701 pdos. Let's try 1. first.

 
  • conman
  • conman
03 Nov 2025 19:35

Help with Inovance IS620N Servo Drive - Stays in PREOP

Category: EtherCAT

I installed the r8125-dkms as my adapter was RTL8125
 Still no luck but the output for dmesg has changed slightly

cnc@debian:~$ sudo dmesg | tail -n20
[sudo] password for cnc: 
[ 1652.489972] EtherCAT: Requesting master 0...
[ 1652.489974] EtherCAT: Successfully requested master 0.
[ 1652.490017] EtherCAT 0: Domain0: Logical address 0x00000000, 26 byte, expected working counter 3.
[ 1652.490018] EtherCAT 0:   Datagram domain0-0-main: Logical offset 0x00000000, 26 byte, type LRW.
[ 1652.490026] EtherCAT 0: Master thread exited.
[ 1652.490027] EtherCAT 0: Starting EtherCAT-OP thread.
[ 1652.582304] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[ 1652.583304] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
[ 1652.585313] EtherCAT 0-0: Acknowledged state PREOP.
[ 1688.768322] EtherCAT 0: Master thread exited.
[ 1688.768327] EtherCAT 0: Starting EtherCAT-IDLE thread.
[ 1688.768363] EtherCAT 0: Releasing master...
[ 1688.768365] EtherCAT 0: Released.
[ 1780.862489] lcec_conf[99761]: segfault at 2000000004 ip 00007f60bddcf07e sp 00007fff57a4c8b8 error 4 in libc.so.6[7f60bdc8e000+156000] likely on CPU 8 (core 10, socket 0)
[ 1780.862496] Code: 1f 84 00 00 00 00 00 0f 1f 44 00 00 89 f8 09 f0 c1 e0 14 3d 00 00 00 f8 0f 87 2e 03 00 00 62 e1 fe 28 6f 0f 62 b2 75 20 26 d1 <62> f3 75 22 3f 0e 00 c5 fb 93 c9 ff c1 74 53 0f 1f 00 f3 0f bc c9
[ 2094.078796] logitech-hidpp-device 0003:046D:4023.0006: hidpp20_batterylevel_get_battery_capacity: received protocol error 0x08
[ 4407.075631] EtherCAT 0: Master thread exited.
[ 4407.075653] EtherCAT 0: Releasing main device 34:5A:60:CB:87:79.
[ 4407.112827] ec_generic: Unloading.
[ 4407.182494] EtherCAT: Master module cleaned up.

What else can I try now?
Also, I got this device description file for my drive from the manufacturer. What do I do with this?

 

File Attachment:

File Name: IS620N-Eca....6.8.xml
File Size:441 KB
  • Sandro
  • Sandro
03 Nov 2025 19:20
Replied by Sandro on topic MonoKrom - QtPyVCP GUI for PlasmaC and Mill

MonoKrom - QtPyVCP GUI for PlasmaC and Mill

Category: QtPyVCP

Thank you Joco!

This works and I'm able to control my plasmacutter. I really like the interface.

I'm now only facing an issue loading g-code. I'm using the plasmac post processor for Sheetcam which outputs .tap files. When I load a file, I get the message “unknown word where unary operation could be”. I just assume, it has something to do with the filte section in my INI-File.
[FILTER]
PROGRAM_EXTENSION       = .ngc,.nc,.tap GCode File (*.ngc, *.nc, *.tap)
ngc                     = plasma_gcode_preprocessor
nc                      = plasma_gcode_preprocessor
tap                     = plasma_gcode_preprocessor

Is it possible, that the preprocessor cannot interpret my .tap. file?
  • skunkworks
  • skunkworks
03 Nov 2025 19:03
  • snowgoer540
  • snowgoer540's Avatar
03 Nov 2025 18:41
Replied by snowgoer540 on topic Pathpilot Reset Functionality

Pathpilot Reset Functionality

Category: PathPilot

What version of PathPilot are you running?  

You said you added logging, what did you do exactly?  Where was it crashing?  I assume you running PathPilot in a way that allows you to see the terminal, so you could wrap the offending areas in a try/except and print the exception to the screen when it fails.  

I would not mess with refactoring Tormach's code, that otherwise works.
  • MusicCityMfg
  • MusicCityMfg's Avatar
03 Nov 2025 18:04 - 03 Nov 2025 18:05
Replied by MusicCityMfg on topic Lathe project needs a turret

Lathe project needs a turret

Category: Turning

@CaliusOptimus, check out the ALTAROS Automatic Turret Head:
www.altaros.cz/content/53-automatic-turret-head

CNC4XR7 on YouTube installed one and has a few videos on it.

  • kwanlokto
  • kwanlokto
03 Nov 2025 17:59
Replied by kwanlokto on topic Pathpilot Reset Functionality

Pathpilot Reset Functionality

Category: PathPilot

Thanks for the reply!

Yes, it's inside the mill(TormachUIBase) class. The indentation got messed up when I copied it over, but I can assure you it's correct in the actual code because the function does work 'sometimes'.

The suggestion to keep the code concise is a good idea, but I'm hesitant to trim it down too much as this mirrors the PathPilot reset code. The last thing I'd want is to initialize one of the HAL pins correctly and that would cause even more issues. I'm really not experienced in the CNCs and have been only tinkering on and on off for about 3 years.
  • bentiggin
  • bentiggin
03 Nov 2025 17:52
Replied by bentiggin on topic Hypertherm hsd130 interface

Hypertherm hsd130 interface

Category: Plasma & Laser

I tried a few cuts at 20 amps and got arc ok, but couldn't get any at 10 amps, which is fine, can't imagine needing 10 amps.
I did a fair bit of cutting at 45 amps and I did lose the arc ok signal in the middle of a cut. It was artsy text so I assume the feed was lowered automatically like it does for small holes. It only happened once, so it may be a fluke.

I have plasmac.arc-lost-delay set to .1. Should I try increasing that or is there a better solution?

I sure hope this hypertherms amp setting is more accurate than your china one, since I have no way of measuring actual amps.
  • MusicCityMfg
  • MusicCityMfg's Avatar
03 Nov 2025 17:17 - 03 Nov 2025 17:18

Mesa 7i96S Daughter Card Question ... Can I use the 7i76U?

Category: Driver Boards

Thanks for your responses! I ordered the 7i96S and the 7i84U.

Probably overkill in terms of the amount of I/O, but now I can go hog wild with panel buttons (just kidding).

Now onto picking components for the CNC lathe conversion!
  • MaHa
  • MaHa
03 Nov 2025 17:01
Replied by MaHa on topic FlexGui - View setting error

FlexGui - View setting error

Category: Flex GUI

The view setting is not really necessary, as somehow machine zero is centered at startup. So i removed the ini entry. After loading gcode, the desired view can be selected, and then its centered in the preview. So i solved this by finding my workflow

 
  • 2tinker
  • 2tinker
03 Nov 2025 16:04
Replied by 2tinker on topic MESA 7i76eu – I/O - Spannungsversorgung

MESA 7i76eu – I/O - Spannungsversorgung

Category: Deutsch

So werde ich es machen.
Vielen lieben Dank!
  • kwanlokto
  • kwanlokto
03 Nov 2025 16:01
Replied by kwanlokto on topic Pathpilot Reset Functionality

Pathpilot Reset Functionality

Category: PathPilot

I wish it did print something out. I added a bunch of error logging to print to the system logs and It seems to be crash at different lines (which I find to be odd).

I have the two computers on the same network and I'm hitting those endpoints via HTTP.

If it helps here's the code that I've added to the tormach_mill_ui.py:

def ss_reset_route(self):
"""
/reset
Reset the machine after an emergency stop was pressed.
Note: This function is the same as on_reset_button_clicked()
"""
self.hal["pp-estop-fault"] = 0 # clear any existing pp software estops
self.halt_world_flag = False # note issues with halt world. Do we lock it out during reset
# and then check or reset this at end of on_reset_button_clicked
self.clear_message_line_text()
self.hide_m01_image()
self.unlock_enclosure_door()

# turn off air blast off rack tool changer
if self.machineconfig.rack_tool_changer_supported() and self.rack_tool_changer:
self.rack_tool_changer.stop_air_blast()

if self.hal["mesa-watchdog-has-bit"]:
# since resetting the mesa card io_error parameter is more involved now with ethernet,
# only do this if we really did see a watchdog bite.

# clear Mesa IO errors (if any). this must be done PRIOR to setting the mesa-watchdog-has-bit pin low.
clear_hostmot2_board_io_error(self.inifile)

# clear Mesa card watchdog
self.hal["mesa-watchdog-has-bit"] = 0
self.mesa_watchdog_has_bit_seen = False

# give it a second to re-establish IO link before jamming commands at it.
time.sleep(1.0)
self.poll()

# did the watchdog re-bite already? If so, re-establishing the IO link didn't work.
# leave us in e-stop.
if self.hal["mesa-watchdog-has-bit"]:
self.mesa_watchdog_has_bit_seen = True
self.error_handler.write(
"Machine interface error. Check cabling and power to machine and then press RESET.",
ALARM_LEVEL_MEDIUM,
)
self.call_ui_hook("reset_button")
return Server_Response_Factory.create_server_response(400, "Failed IO Link")

# Configure the A axis hardware
# This happens in the reset handler because __init__ is too early, and the change to traj.max_angular_ vel is ignored
a_axis = self.machineconfig.a_axis.selected()
if a_axis:
self.configure_a_axis(a_axis)

# order of these is important. Answer queries first, then check for random stop/reset presses
if self.set_response_cancel():
return Server_Response_Factory.create_server_response(
400, "Outstanding Prompts"
) # check for outstanding prompts and cancel,True is message answered

if self.atc.worker_thread_busy.is_set():
self.atc.stop_reset.set() # only if atc thread in progress
self.atc.feed_hold_clear.set() # signal that any feed holds are cleared

# RACK_QUESTION what about router pdb on and rack disabled?
if self.rack_tool_changer:
if self.rack_tool_changer.worker_thread_busy.is_set():
self.rack_tool_changer.stop_reset.set() # only if rack atc thread in progress
self.rack_tool_changer.feed_hold_clear.set() # signal that any feed holds are cleared
self.set_image("feedhold_image", "Feedhold-Black.jpg")

# clear feedhold
self.clear_feedhold()

# reset e-stop
if self.status.task_state != linuxcnc.STATE_ESTOP_RESET:
# this actually ends up doing a linuxcnc command abort internally
# and that will run any on_abort ngc code.
self.command.state(linuxcnc.STATE_ESTOP_RESET)
self.command.wait_complete()
self.poll()
if self.status.task_state not in [linuxcnc.STATE_ESTOP_RESET, linuxcnc.STATE_ON]:
self.error_handler.write(
"Failed to bring machine out of E-stop. Please check machine power, limit switches, and communication cable from the controller to the machine."
)
self.call_ui_hook("reset_button")
return Server_Response_Factory.create_server_response(
400, "Failed to bring machine out of E-stop"
)

# clear alarm
self.estop_alarm = False
self.display_estop_msg = True

# Prevent coming out of Reset if a limit switch is active.
if self.status.limit[0] != 0:
error_msg = "X limit switch active."
self.error_handler.write(error_msg, ALARM_LEVEL_MEDIUM)
if self.status.limit[1] != 0:
error_msg = "Y limit switch active."
self.error_handler.write(error_msg, ALARM_LEVEL_MEDIUM)
if self.status.limit[2] != 0:
error_msg = "Z limit switch active."
self.error_handler.write(error_msg, ALARM_LEVEL_MEDIUM)
if (self.status.limit[0] != 0) or (self.status.limit[1] != 0) or (self.status.limit[2] != 0):
error_msg = "Disable limit switches in Settings, then push Reset, then carefully jog off limit switch, then re-enable limit switches in Settings."
self.error_handler.write(error_msg, ALARM_LEVEL_MEDIUM)
self.call_ui_hook("reset_button")
return Server_Response_Factory.create_server_response(400, "Disable limit switches in Settings")

time.sleep(0.25) # TODO: Added time.sleep()
# must be turned on again after being reset from estop
if self.status.task_state != linuxcnc.STATE_ON:
# this actually ends up doing a linuxcnc command abort internally
# and that will run any on_abort ngc code.
self.command.state(linuxcnc.STATE_ON)
self.command.wait_complete()
self.poll()
if self.status.task_state != linuxcnc.STATE_ON:
err_msg = "Failed to bring machine out of E-stop. Please check machine power, limit switches, and communication cable from the controller to the machine."
self.error_handler.write(err_msg)
return Server_Response_Factory.create_server_response(400, err_msg)

# saw a rare case where the ATC stuff above times out after taking 5 long seconds and during that
# time, the operator presses the e-stop button. So just check again to be sure before we start
# running commands. If it is e-stopped, the periodics will take appropriate action.
if self.hal["machine-ok"] == False:
return Server_Response_Factory.create_server_response(400, "Failed to bring machine out of E-stop")

# stop motion
self.command.abort()
self.command.wait_complete()

# reset/rewind program
if (self.status.limit[0] == 0) and (self.status.limit[1] == 0) and (self.status.limit[2] == 0):
# HACK manually decrement the part counters by one since M30 increments them
# if this ever becomes optional, then make sure not to do this if M30 incrementing is disabled
self.issue_mdi("#5650 = [#5650 - 1] #5651 = [#5651 - 1]")
self.command.wait_complete()
self.issue_mdi("M30")
self.command.wait_complete()

# clear SB status
self.single_block_active = False
self.single_block_button.set_led_state(self.single_block_active)

# clear live plotter
self.gremlin.clear_live_plotter()

# refresh work offsets
self.refresh_work_offset_liststore()

# rewind program listing and set starting line
if self.is_gcode_program_loaded:
self.set_start_settings_and_mark(1)

# some folks got confused because their program ended, the M30 reset current line to 0 and
# the 50ms periodic auto-scrolled back up to the start line. But then they managed to scroll
# around in the view and then press the Reset button and they expect it to auto-scroll to the
# top again. The 50ms periodic doesn't do anything because the current line hasn't 'changed'
# from 0 so we need this here to always smack the display back to the start line.
self.scroll_sourceview_to_mark("start")

self.call_ui_hook("reset_button")

self.do_first_run_setup()

self.axis_motor_command(0, MOTOR_CMD_NORMAL)
self.axis_motor_command(1, MOTOR_CMD_NORMAL)
self.axis_motor_command(2, MOTOR_CMD_NORMAL)

# Make sure the override sliders are enabled. The ATC code disables them and tries to restore them, but
# in certain aborted situations, they can get stuck off.
self.command.set_feed_override(True)
self.command.set_spindle_override(True)

# g21 and machineconfig need to be accurate before setting scaled jog increment
# self.update_gui_for_units(self.g21) # TODO: this seems to breaking some things, need to figure why

# self.start_loop_recording() # TODO: this seems to breaking some things, need to figure why

return Server_Response_Factory.create_server_response(200, "Mill has been reset")
  • vmihalca
  • vmihalca
03 Nov 2025 15:51

How do I program an 8 figure oil groove?

Category: General LinuxCNC Questions

Hi guys,
I need to cut some internal oil grooves in the 8 shape figure. It would also help for external grooves but not at this point.
The spindle encoder is hooked up and working correctly. 
If anyone has achieved this, please give me some hints.
Thx!
  • PCW
  • PCW's Avatar
03 Nov 2025 15:43

MESA 7i76eu – I/O - Spannungsversorgung

Category: Deutsch

I would probably add a series resistor so so if you accidentally ground the ALM- output you do not damage the optocoupler

so:

+12V --> 1K resistor --> ALM+
ALM- --> 7I76EU input
  • PCW
  • PCW's Avatar
03 Nov 2025 15:06

Mesa 7i96S Daughter Card Question ... Can I use the 7i76U?

Category: Driver Boards

Yes, you can use a 7I76U with  a 7I96S  by using 7i96s_7i76d.bin firmware
and connecting the 7I76U to the 7I96S's P1 expansion connector.
 
Displaying 2716 - 2730 out of 20692 results.
Time to create page: 0.223 seconds
Powered by Kunena Forum