If the behavior is anything like the Z inhibit button on all the Fanuc machines I've worked with it is a horribly dangerous device. On the Fanuc machines (modern newer ones with absolute encoders included) it is the equivalent of disconnecting the outputs of the stepgen and nothing else. When the button is released if the commanded Z position isn't the same as when it was pressed, the Z absolute position is shifted by the difference and can't be corrected without cycling the control power (rehoming doesn't even fix it). And since most of our Fanuc machines use tool change routines that include Z axis moves, tool changes can't be done with the Z inhibit active, pretty much making it completely useless.
Todd Zuercher P. Graham Dunn Inc. 630 Henry Street Dalton, Ohio 44618 Phone: (330)828-2105ext. 2031 -----Original Message----- From: Brent Loschen <[email protected]> Sent: Wednesday, August 08, 2018 11:11 AM To: [email protected] Subject: Re: [Emc-users] Success story and a question Thanks for those pin names Andy, and great point about a premature toggle of the "No Z" button. I'm not sure what the original BP did if you attempted to disable the No Z button while a program was running. Given the safety features of that old BP control, I tend to think that the button was probably disabled/ignored during program execution, but I never tested it. Whenever I used the "No Z" feature, I ran as much of the program as I needed for my XY sanity check, then stopped the program and turned off No Z before rerunning the program with Z motion. In order to get that behavior in LCNC, I would need a signal that indicates whether or not a program is running. I did a few searches and it looks like halui.program.is-running AND'd with halui.mode.is-auto is potentially one solution (IOW, a program is running, and it's not an MDI or MPG command). Sound right? Is there a better way? Now I'm off to learn a little about AXIS and how to add a button! Thanks, Brent On 8/8/2018 3:18 AM, andy pugh wrote: > On 8 August 2018 at 03:17, Brent Loschen <[email protected]> wrote: > >> And now for my question. The old Bridgeport had a button on the >> front panel titled "No Z" that turned off all z motion and let me >> "air mill" a part as a sanity check of my X & Y boundaries/fixtures. >> I can't find the equivalent functionality in LCNC and was wondering >> if anyone here has done this, or knows the best way to implement it. > I suspect this would start off looking easy and turn out to be > surprisingly difficult. > > Turning off the Z is pretty easy, you would disable the Z stepgen and > (at the same time) connect joint.2.motor-pos-fb to > joint,2,motor-pos-cmd rather than to hm2_5i25.0.stepgen.2.position-fb. > > Now the machine thinks that Z is moving, so it is happy, and the > stepgen is disabled, so no steps are sent. That just needs a mux2 > component in the HAL. > > But what happens when you release the button? Suddenly the machine > will realise that the Z axis is not where you told it it was, and you > will get an immediate following error. Also, the Z will attempt to > move to the "real" position at a speed only limited by the stepgen > accel and velocity limits. > > So you probably need some Hal-trickery to gently move the Z back in to > commanded position, while at the same time lying about the position to > prevent following error being triggered. > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
