Advanced Search

Search Results (Searched for: )

  • khawla
  • khawla
28 Apr 2025 10:34
Replied by khawla on topic joint 0 following error

joint 0 following error

Category: General LinuxCNC Questions

Hello everyone,

I have a strange problem with LinuxCNC on a machine that has been configured for a long time and was working perfectly.

Until a few days ago, everything was working fine. Then I modified my Python Touchy GUI file (adding dynamic multi-language translation using `set_label` on some buttons), and from that moment the problem appeared:

> "joint 0 following error" immediately after clicking "Start".

The problem still remains even if I completely delete all the translation modifications (`LABELS` and `on_combo_language_changed`);


Code I had added:

LABELS = {
    "en": {
        "title": "Industry 4.0 Monitoring",
        "total_time": "Total machine work time:",
        "current_job": "Current job time:",
        "next_greaser": "Next greaser in:",
        "time_monitoring": "<b>Time Monitoring</b>",
        "email_section": "<b>Email Notification Management</b>",
        "history_section": "<b>Job History</b>",
        "email": "Email:",
        "add": "Add",
        "remove": "Remove",
        "close_door": "Close Door",
        "open_door": "Open Door",
        "machine_on": "Machine On",
        "machine_off": "Machine Off",
        "home_all": "Home All",
        "pause": "Pause",
        "start": "Start",
        "feed_fast": "Fast",
        "feed_slow": "Slow",
        "feed_override": "Feed Override"
    },
    "it": {
        "title": "Monitoraggio Industria 4.0",
        "total_time": "Tempo totale macchina:",
        "current_job": "Tempo job corrente:",
        "next_greaser": "Prossima lubrificazione in:",
        "time_monitoring": "<b>Monitoraggio Tempo</b>",
        "email_section": "<b>Gestione Notifiche Email</b>",
        "history_section": "<b>Storico Lavorazioni</b>",
        "email": "Email:",
        "add": "Aggiungi",
        "remove": "Rimuovi",
        "close_door": "Chiudi Porta",
        "open_door": "Apri Porta",
        "machine_on": "Macchina On",
        "machine_off": "Macchina Off",
        "home_all": "Home Tutti",
        "pause": "Pausa",
        "start": "Avvio",
        "feed_fast": "Veloce",
        "feed_slow": "Lento",
        "feed_override": "Regolazione Avanzamento"
    }
}

def on_combo_language_changed(self, combo):
    lang = combo.get_active_id() or "en"
    texts = LABELS.get(lang, LABELS["en"])

    # Main Industry 4.0 labels
    self.builder.get_object("title_industria40").set_markup(f"<span size='xx-large' weight='bold'>{texts}</span>")
    self.builder.get_object("label_tempo_totale").set_text(texts["total_time"])
    self.builder.get_object("label_tempo_job_corrente").set_text(texts["current_job"])
    self.builder.get_object("label_tempo_prossimo_greaser").set_text(texts["next_greaser"])
    self.builder.get_object("frame_label_tempo").set_markup(texts["time_monitoring"])
    self.builder.get_object("frame_label_email").set_markup(texts["email_section"])
    self.builder.get_object("frame_label_lavorazioni").set_markup(texts["history_section"])
    self.builder.get_object("label_email").set_text(texts["email"])
    self.builder.get_object("button_add_email").set_label(texts["add"])
    self.builder.get_object("button_remove_email").set_label(texts["remove"])

    # Startup tab buttons
    self.builder.get_object("estop_reset").set_label(texts["close_door"])
    self.builder.get_object("estop").set_label(texts["open_door"])
    self.builder.get_object("machine_on").set_label(texts["machine_on"])
    self.builder.get_object("machine_off").set_label(texts["machine_off"])
    self.builder.get_object("home_all").set_label(texts["home_all"])
    self.builder.get_object("cycle_pausee").set_label(texts["pause"])
    self.builder.get_object("cycle_startt").set_label(texts["start"])
    self.builder.get_object("feed_override_plus").set_label(texts["feed_fast"])
    self.builder.get_object("feed_override_minus").set_label(texts["feed_slow"])

    # Feed Override label, keeping the percentage value
    current_text = self.builder.get_object("feed_override_label").get_text()
    percentage_part = current_text.split(":")[1] if ":" in current_text else " 100%"
    self.builder.get_object("feed_override_label").set_text(f"{texts}: {percentage_part}")

 
  • Murphy
  • Murphy
28 Apr 2025 10:32

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

@cakeslob , I had a look at your hal file again and copied your spindle stuff exactly just changed for my pins etc and it's still the same. So I think that rules out a hal file problem. I don't think it's the vfd because I can change the speed manually by pressing the + and - manually in the  Axis GUI and it responses quick with no dips when changing speeds. 
  • electrosteam
  • electrosteam
28 Apr 2025 07:50
Replied by electrosteam on topic Gmoccapy G54 Offsets

Gmoccapy G54 Offsets

Category: Gmoccapy

Went back to Axis.
linuxcnc.var has Parameter #5221 = -238.
Ignoring y and z for this description.
Launch Axis, Display is:
- x238,
- G54 x-238.
This shows G54 x correctly as negative, ( whereas Gmoccapy shows G54 x as positive ).

No amount of Touching-Off, G10 L2, G10 L20, etc, by me gets to the final correct values for a job:
- x0,
- G54 x-238.

It appears G10 L2 and G10 L20 assume machine is actually Homed physically, and no amount of data entry can change that.

For jobs, I turn steppers Off, operate the machine controller to the measured table position, then Touch-Off, energize the steppers, and run the job.

Can anyone provide an alternative procedure to set-up the mill ?

John.
  • Soccer Kid
  • Soccer Kid's Avatar
28 Apr 2025 07:35

Issue with OP Entry Delay and Failures in LinuxCNC + EtherCAT System

Category: EtherCAT

The test results of versions 2.9.3 and 1.6.4 are consistent
  • scotta
  • scotta's Avatar
28 Apr 2025 05:21

Remora - Rpi Software Stepping Using External Microcontroller via SPI

Category: Computers and Hardware

Thanks Cakeslob, which board is the H723 being used? This will be a good test to see if we can get PlatformIO working happy with multiple targets. The code will need #ifdef's and compiler defines for each board to select the code changes needed for each H7 variant.
  • rodw
  • rodw's Avatar
28 Apr 2025 01:55
Replied by rodw on topic Homemade, cheap, plasma CNC

Homemade, cheap, plasma CNC

Category: Show Your Stuff

I thought you upgraded your machine to a Hypertherm 45XP or similar.
If that is the case, please use the Arc OK output on your plasma cutter as it will save you issues in the future.
You can get the cable (and the interface) for your plasma cutter from QWS in Brisbane
  • PCW
  • PCW's Avatar
28 Apr 2025 01:13

Thought experiment: Let's design a modern THC (+ Closed loop discussions)

Category: Plasma & Laser

An important aspect to keeping as much smarts in LinuxCNC as possible is that
complex control systems (like plasma control) work on all supported hardware. As
long as  LinuxCNC has enough control bandwidth, its an advantage to have a single
portable extensible and flexible solution with a single control locus (that has access
to all motion variables)

Do you really want to re-invent and maintain a control system that LinuxCNC can
do internally just as well? Buffered systems like Mach require this type of external
hardware, real time systems Like LinuxCNC do not.

 
  • unknown
  • unknown
28 Apr 2025 00:09
Replied by unknown on topic comparing to Grbl, or FluidNC

comparing to Grbl, or FluidNC

Category: Milling Machines

but in theory, a Grbl component could completely replace the EMCMot+Stepgen components in LinuxCNC for stepper motors signal generation.


Hmmmm ok
  • tommylight
  • tommylight's Avatar
27 Apr 2025 23:50

Thought experiment: Let's design a modern THC (+ Closed loop discussions)

Category: Plasma & Laser

OK, this i did not need to read twice, but from it now it seems you are searching for a problem that already has a solution, well several solutions.
The reference to old dumb drives is a bit disrespectful to old drives, they built the industrial complex we call modern ages, and it worked perfectly well for over 50 years.
Still, with a bit of tinkering, you can get a decent stand alone THC, probably using an ESP32 as it has 12 bit AD inputs, it can control stepper motors so everything on the Z axis can be controlled by it, it can do very fast PID loops, and adding void detection is as simple as checking the voltage rise time with delta-V/T or time.
A 3D printer screen with encoder, a nice simple menu, and that's about it.
-
There was a discussion here about adding controls to old plasma sources to change current from LinuxCNC, but that is not important anymore. Some relays would do the trick easily and some HAL wizardry.
This just shows the flexibility of LinuxCNC to adapt it to whatever is required, hence keeping stuff in LinuxCNC seems much more useful.
And, yes, QtPlasmaC has the ability to control plasma sources through RS485.
-
All this is in no way, shape or form meant to discourage you from trying to make such a thing, and i would gladly help and test whenever possible. I have plenty of CNC machines and plasma sources and ESP32 and 3D printers and... :)
  • machinedude
  • machinedude's Avatar
27 Apr 2025 23:02
Replied by machinedude on topic Black Friday Deal got me :)

Black Friday Deal got me :)

Category: Plasma & Laser

update again :)
  • yngndrw
  • yngndrw
27 Apr 2025 22:49

Thought experiment: Let's design a modern THC (+ Closed loop discussions)

Category: Plasma & Laser

Okay, I don't think I've done a very good job of explaining what I was getting at and why. I also think in retrospect the suggestion of a modern THC may have been taken as an offensive dig at what's already in LinuxCNC - It's certainly not intended to be that way and my thoughts are not aimed at any one platform.

I'm in full agreement that an integrated system offers many tangible benefits over the completely separate systems that you can buy off the shelf today, both in terms of anti-dive and also in terms of co-location of configuration.

The point I was trying to make was that the standalone hardware that we have today is a frankly weird setup, which seems confused about responsibility. The Proma SD is the perfect example of this confusion, but even the non-SD version is still a bit confused.


To try and make my point clearer, consider motor drivers. The old way of closing the loop was to run everything back to the motion controller and have a dumb motor driver (or amplifier). The "modern" approach is to have two loops - A "smart" driver which closes the loop with the hardware, then a second closed loop between the motion controller and the motor driver. (Step/Direction out, fault in) The advantage of the new approach is that each unit is smaller and better defined, it allows you to change the motor/driver combination for any which follow the same contract. It also allows for a higher bandwidth control loop on the motor side of things.


My thoughts were the same for THC:
- The current standalone solutions are weird. (See above)
- The software solution is very similar to the old analogue motor driver solution, with one massive control loop over the top of everything.
- It therefore stands to reason that there's a version of the standalone solution that deals with target arc voltage rather than position, with two closed loops that are more akin to the modern drivers that we have. A solution which still supports the software THC benefits of anti-dive support. One which would be applicable to all motion controllers, just as motor drives are today. One that could even communicate with the motion controller over Ethercat.

In this scheme, the motion controller gets much simpler. It doesn't need to know or care about anti-dive, or how to pierce and dwell, or to know when to strip out Z motion or really know anything about plasma. It just needs to output coordinated target arc voltage as it does the positions for the other motors (Strip the units and Volts are the same as mm or inches to the motion planner), and it needs to output the current motion velocity so that the THC can deal with that complexity.


Is that a clearer and less offensive way of explaining it, or am I just spouting nonsense? I'm sorry if I am, it can be hard to explain something when it's stuck in your own head.
  • yngndrw
  • yngndrw
27 Apr 2025 22:24
Replied by yngndrw on topic Lathe - Virtual Compound Slide

Lathe - Virtual Compound Slide

Category: General LinuxCNC Questions

Thank you very much, that looks like just what I need! Now that I know the name of the component, I've been able to find other threads on it as well.
  • Hakan
  • Hakan
27 Apr 2025 21:56
Replied by Hakan on topic Magnetic scales on new gantry mill

Magnetic scales on new gantry mill

Category: General LinuxCNC Questions

What's the difference to linear scales with glass scales?
  • Tom369
  • Tom369
27 Apr 2025 21:56

Allgemeine Frage und Problem:hm2/hm2_7i96s_0: error finishing read! iter=1256216

Category: General LinuxCNC Questions

Ohh i write all text in german...

@tommylight
i have 5,14v on multimeter

@FPM 
not any from that thread...
i will show what i make and my outputs
maybe you can help me.

ip a:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4c:60:11:fa brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.141/24 brd 192.168.2.255 scope global dynamic noprefixroute enp2s0
       valid_lft 1812894sec preferred_lft 1812894sec
    inet6 2003:ec:1f26:3a98:71bc:b66f:d891:6360/64 scope global temporary dynamic
       valid_lft 603294sec preferred_lft 84777sec
    inet6 2003:ec:1f26:3a98:a6dc:ea3a:b100:4375/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 604774sec preferred_lft 86374sec
    inet6 fe80::1efb:fd8c:a4b8:cb86/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4c:60:11:fb brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:4cff:fe60:11fb/64 scope link
       valid_lft forever preferred_lft forever
4: wlp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 2a:3b:aa:2b:10:63 brd ff:ff:ff:ff:ff:ff permaddr e0:75:26:89:a6:77

sudo chrt 99 ping -i .001 -q 192.168.1.121
--- 192.168.1.121 ping statistics ---
21196 packets transmitted, 21196 received, 0% packet loss, time 21197ms
rtt min/avg/max/mdev = 0.049/0.066/1.884/0.019 ms


sudo nano /etc/network/interfaces

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp3s0
iface enp3s0 inet static
    address 192.168.1.1


Tomorrow i will try the rest from the thread
  • Muftijaja
  • Muftijaja
27 Apr 2025 21:45

motor-0-position error beim Abbremsen aus 4-7,5 m/min

Category: Deutsch

Hi rodw,
thank you, I have the DKMS r8168 driver installed weeks ago. I try this tomorrow:
Optional kernel settings (install using grub-customizer as per
isolcpus setting)
r8168.aspm=0 r8168.eee_enable=0 pcie_aspm=off loglevel=3
I did not test them individually to see which helped but I suspect that disabling the "Energy Efficient Ethernet" mode might be a good culprit.
Ethernet efficiency mode has to be switched off in BIOS, right? OR is it in the network settings in Linux/Debian Network manager?
Displaying 16141 - 16155 out of 17397 results.
Time to create page: 0.424 seconds
Powered by Kunena Forum