G32 spindle sync with FRO

Moderators: TomKerekes, dynomotion

Post Reply
SJHardy
Posts: 42
Joined: Thu Oct 03, 2019 12:36 am

G32 spindle sync with FRO

Post by SJHardy » Mon Jul 20, 2020 10:52 pm

Single-point threading is working nicely for us, but there is one remaining problem: if feed rate override is used then it breaks things.

The way we implement FRO is a little different than the approach in KMotionCNC. Instead of using a script command from the PC, we set a persist var, then there is a supervisor loop in the kflop which transfers the requested value using SetFRO():

Code: Select all

        if (VAR_FRO != _last_fro) {
            SetFRO(VAR_FRO);
            _last_fro = VAR_FRO;
        }
In our app, we somehow need to be able to disable the FRO slider/button when G32 is in progress. It would also be acceptable to disable FRO on the kflop for the duration of spindle sync.

Is there a hook in the controller that allows us to handle entry and exit from spindle sync mode, so that we can temporarily force FRO to be 1.0?

Note that feed hold already acts properly (i.e. it does not FH until the G32 completes), so it's almost perfect!

Regards,
SJH

User avatar
TomKerekes
Posts: 2559
Joined: Mon Dec 04, 2017 1:49 am

Re: G32 spindle sync with FRO

Post by TomKerekes » Tue Jul 21, 2020 1:36 am

Hi SJH,

Hmmm. We just made a change so that FRO and Feedhold are supported while in feed/rev modes (G32 and G95). Previously they were mostly ignored. This User on cnczone convinced us it should be supported. That change is scheduled to go into the next Release but currently only exists as a patch. It seems he hasn't reported back if it works for him.

But anyway, there is a flag in the Spindle Structure that is set while motion is synchronized with the Spindle.

Spindle.ThreadingActive

Will that work for you?
Regards,

Tom Kerekes
Dynomotion, Inc.

SJHardy
Posts: 42
Joined: Thu Oct 03, 2019 12:36 am

Re: G32 spindle sync with FRO

Post by SJHardy » Tue Jul 21, 2020 7:06 am

I can understand the cnczone user wanting feed hold to stop for safety, but for our purposes it makes more sense to use the existing hardware emergency stop button. Hunting around for the f/h button with a mouse is asking for trouble. We have a spindle speed override which makes more sense than FRO when threading, since the spindle sync will automatically vary the feed appropriately, and also what we call "combined override" which varies SSO and FRO in proportion so as to keep a fixed chip load.

Anyway, I'll give the Spindle struct flag a go. That seems the most flexible way for us, since our supervisor thread is solely responsible for FRO control.

Regards,
SJH

Post Reply