Advanced Search

Search Results (Searched for: )

  • Aciera
  • Aciera's Avatar
Today 05:53
Replied by Aciera on topic Reading and writing to Parameter Variables?

Reading and writing to Parameter Variables?

Category: GladeVCP

The example code can be used inside a python remap and the handler could read the file with the parameter values but the remap itself would have to be called from inside the gcode program which is currently executing.
So if you wanted your parameter page to reflect changes coming from the gcode program you would need to insert the remap after every parameter assignment in the gcode.
  • stoobydale
  • stoobydale
Today 05:51
Replied by stoobydale on topic New builder hardware suggestions

New builder hardware suggestions

Category: General LinuxCNC Questions

Thanks for the reply, it's all a bit overwhelming the information on the site when you have no Linux experience at all.
  • tommylight
  • tommylight's Avatar
Yesterday 03:12
  • stoobydale
  • stoobydale
Yesterday 02:15
New builder hardware suggestions was created by stoobydale

New builder hardware suggestions

Category: General LinuxCNC Questions

Hi,
New to the forum and new to cnc. I am building a CNC plasma cutting table based on plans from Homemade Madness however, I would like to use LinuxCNC instead of Mach3 as in the plan. I have not bought any of the motors or controllers yet so was hoping to get some advice before purchasing anything. I plan to use an old laptop for the install of Linux and LinuxCNC so am also looking for suggestions for the best version of Linux to use. Thanks in advance for any suggestions, help.
  • Todd Zuercher
  • Todd Zuercher's Avatar
Yesterday 21:04
Replied by Todd Zuercher on topic Reading and writing to Parameter Variables?

Reading and writing to Parameter Variables?

Category: GladeVCP

Would there be a way for the python handler for the vcp, to call or reference to python remap script that can access the interpreter variables?  With as little python programming skill as i have this seems like it could be possible, I wouldn't know if that is completely impossible, or not any better than writing to an intermediary file.
  • SoloRev
  • SoloRev
Yesterday 20:24

Ethercat installation from repositories - how to step by step

Category: EtherCAT

The issue seems to be DKMS failing with the latest debian kernel. I couldn’t figure out how to uninstall the kernel but I was able to stop it from being installed on a new system. Before you do a 
sudo apt upgrade
. stop any kernel update with 
sudo apt-mark hold *6.12*
basically wildcard the 6.12 string on both sides to prevent anything related to the kernel from being updated. 
  • Todd Zuercher
  • Todd Zuercher's Avatar
Yesterday 18:03
Replied by Todd Zuercher on topic Reading and writing to Parameter Variables?

Reading and writing to Parameter Variables?

Category: GladeVCP

I'm a little disappointed that there is no way to read/monitor them directly, but I was coming to that conclusion. Now to figure out the best work aroud. I'll probably end up trying to do what you suggest. Thanks for your help.
  • Aciera
  • Aciera's Avatar
Yesterday 14:14 - Yesterday 17:14
Replied by Aciera on topic Reading and writing to Parameter Variables?

Reading and writing to Parameter Variables?

Category: GladeVCP

This example code will read parameters 5200..5299 and write the values to a file 'log.txt', in a next step you would read the file and extract the values to initialize the spin boxes:

import linuxcnc

c = linuxcnc.command()
c.mode(linuxcnc.MODE_MDI)
c.wait_complete()
# write parameter values to log.txt
# file will be in the same dir as the ini
c.mdi('(LOGOPEN,log.txt)')
c.wait_complete()
for p in range(5200,5300):
    cmd = f"(LOG,{p},#{p})"
    c.mdi(cmd)
c.mdi('(LOGCLOSE)')
  • fer662
  • fer662
Yesterday 13:43 - Yesterday 14:37

Setting up the Stepperonline A6 battery encoder cable

Category: EtherCAT

I don't think any of that is necessary (mapping homing pins to the regular inputs). I'm like 95% there now getting cia402 homing working with the absolute mode disabled. I'm able to home all axis x and y (z spins around looking for the z pulse and doesn't find it), but sometimes a joint will throw an amplifier fault JUST after completing homing (I can see the logging from cia402_homecomp indicating that the process had finished for that axis). I'm not sure why this is and it seems to be random...It'd be nice to figure it out but I guess that all i need is for homing to succeed once and then switch to absolute encoder mode? I'm still not sure how the combined Y+Y2 is supposed to work without homing... Like suppose you move one of the motors when the machine is off, will linuxCNC or something try to correct this deviation when the machine is turned on? If anyone knows what is the aim regarding this topic, please let me know. Below are my steps to getting to this stage:

- This repo is the best one I found for both homecomp implementation and linuxCNC config for these servos github.com/nickstewartroc/linuxcnc-a6-servo , and it is a fork from the one mentioned by @andrax (though the files he posted are not from there or are modified at least). Only one thing from there didn't work for me which is the binding of the di pins to see their state, they didn't reflect the way they are setup there. This is how each servo looks and what worked for seeing the home switches change state ( see;). Also, I initially had issues halcompiling this homecomp with the additional includes, it was giving me an error on some types, make sure the cloned linuxCNC repo is on the same tag as your installation and not on main.

<slave idx="3" type="generic" vid="0x00400000" pid="0x00000715" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="300000"/>
<watchdog divider="2498" intervals="1000" />
<sdoConfig idx="2004" subIdx="0a"><sdoDataRaw data="01 00"/></sdoConfig>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="control-word" halType="u32" />
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="control-mode" halType="s32" />
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32" />
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
<pdoEntry idx="607C" subIdx="00" bitLen="32" halPin="home-offset" halType="s32"/>
<pdoEntry idx="6098" subIdx="00" bitLen="8" halPin="homing-method" halType="s32" />
<pdoEntry idx="6099" subIdx="01" bitLen="32" halPin="homing-high-velocity" halType="u32"/>
<pdoEntry idx="6099" subIdx="02" bitLen="32" halPin="homing-low-velocity" halType="u32"/>
<pdoEntry idx="609A" subIdx="00" bitLen="32" halPin="homing-acceleration" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="status-word" halType="u32" />
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="mode-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" halPin="digital-inputs" halType="u32"/>
<pdoEntry idx="2040" subIdx="05" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="di-1" halType="bit"/>
<complexEntry bitLen="1" halPin="di-2" halType="bit"/>
<complexEntry bitLen="1" halPin="di-3" halType="bit"/>
<complexEntry bitLen="1" halPin="di-4" halType="bit"/>
<complexEntry bitLen="1" halPin="di-5" halType="bit"/>
<complexEntry bitLen="11"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>

- Wire the home switch per page 26 of the manual. You need to tie either COM- or COM+ to your external PSU's negative output depending on the sensor type (NPN or PNP). I had tied COM- instead of COM+ for PNP and that wasn't working. Make sure DI3 flips when the sensor toggles before proceeding any further.
- Depending on whether your sensor is NC or NO, you need to change your home switch between active low and active high, documentation for this is in page 209. (<sdoConfig idx="2004" subIdx="0a"><sdoDataRaw data="01 00"/></sdoConfig> in my config for NC switch). Also on page 209 is the function selection for DI3. It's set correctly by default, but one of my drives had it wrong and i presume this was the result of debugging changes made via dcConf entries that got removed. Check that all yours drives have it on the correct setting which is 5. You could technically use any of the DI pins that have function selection as the home switch changing stuff around this PDO. By this time the sensor pin should light up in halshow when triggered no matter whether the sensor is NO or NC.
- At this point it should be possible (though i haven't tested, i did have it working with the pins wired to the beckoff inputs though) to configure regular homing using the drive pins as input if you wished to test it out for sanity checking.
- Assuming that works or you skip it, copy the relevant bits of the hal in the referenced repo. I didn't have to change anything there since i dumped my XML (which was already very close but had slightly different property names) so i could just copypaste as it was.
- I used homing mode 4 like @Andrax but that might not be right for you. On Page 74 there's ample documentation for how each home mode works.
- When trying things out you might use low speeds for the 2 speeds involved in homing. Beware homing has a timeout that defaults to 60 seconds on the servo config. Homecomp doesn't catch this timeout and gets stuck forever, leading you to have to close linuxCNC and power cycle the drives (Page 215).
- Presumably once you're happy you'd comment the homing stuff and add HOME_ABSOLUTE_ENCODER to the joints like the initial post suggests.

I hope this helps someone, and please let me know if your know what the amplifier faults i'm getting after homing might be. This is my first time using linuxCNC. My config is attached for whoever finds it useful or can help me with the little bit i think i have left to fix.
  • Aciera
  • Aciera's Avatar
Yesterday 12:41 - Yesterday 13:22
Replied by Aciera on topic Reading and writing to Parameter Variables?

Reading and writing to Parameter Variables?

Category: GladeVCP

1. Are you sure you are actually loading 'variables.py' along with the 'variables.glade' in the ini file entry?

2. This method of reading the initial parameter values is nonsense as there is no access to the parameter values from the status channel:

# Set initial value from LinuxCNC parameters
self.s.poll()
spin.set_value(self.s.settings)

see linuxcnc.org/docs/html/config/python-interface.html for information on the 'settings' attribute.

Some thoughts on this:
a. The parameter range you are trying to read is volatile so they will all be Zero on start up. See linuxcnc.org/docs/stable/html/gcode/over...:overview-parameters
b. The only way to get the current value of any parameter is to read the value through an MDI command and grab the response.
c. Because of (b) there is no way I know of to actually query the state of a parameter while a gcode program is executing. Which implies that you would need to have something like a 'Refresh' button to read the current values of those parameters if they were changed by the execution of a gcode program.
  • rodw
  • rodw's Avatar
Yesterday 10:18

Ethercat installation from repositories - how to step by step

Category: EtherCAT

I will update the first post so wish me luck!

There was some talk of publishing a new 2.9.x version to fix some bugs. If that is the case, I will send in a PR to update the repos in the installer based on the link above.
  • Todd Zuercher
  • Todd Zuercher's Avatar
Yesterday 09:44
Reading and writing to Parameter Variables? was created by Todd Zuercher

Reading and writing to Parameter Variables?

Category: GladeVCP

I would like to set up a GladeVCP tab (in Axis) that displays and can set the values for a range G-code numbered parameter variables, similar to how most industrial control interfaces have.  I tried to use AI to write the handler file, but that is failing for me.  I used Glade to make the tab screen and that looks good and opens in the tab, it just doesn't do anything yet.  When running Linuxcnc from the terminal I'm not seeing any messages that are helping me see what is wrong.  Here are the glade and py files I have so far.

 

File Attachment:

File Name: variables.py
File Size:1 KB

 

File Attachment:

File Name: variables.glade
File Size:32 KB
  • tommylight
  • tommylight's Avatar
18 Jun 2026 01:18

[QtDragon] Auto Tool Measurement approach and UI wishes/issues

Category: Qtvcp

@buzzcut,
Start a new topic with more info about your machine setup.
Do not hijack topics, and no double posting, as you just did.
  • Buzzcut
  • Buzzcut
18 Jun 2026 00:03
Replied by Buzzcut on topic manual tool change with tool length probe

manual tool change with tool length probe

Category: G&M Codes

I would like to implement or some version of you tool change on 2.9.8. Would it be possible to post your python file you mentioned in this post. Any help would be greatly appropriated. Thanks in advance.
  • Buzzcut
  • Buzzcut
17 Jun 2026 23:58

[QtDragon] Auto Tool Measurement approach and UI wishes/issues

Category: Qtvcp

I am trying to implement this on Ver. 2.9.8 and am having no luck. Touch off for Z height works correctly and first tool run is correct. On second tool z height is high above the work piece. Any help would be appropriated.
Displaying 1 - 15 out of 15021 results.
Time to create page: 0.282 seconds
Powered by Kunena Forum