Hello Guest it is April 19, 2019, 01:02:37 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - smurph

Mach4 General Discussion / Re: Lua Fails Me
« on: January 20, 2018, 06:05:48 PM »
I glad you got it solved.  Now it is onward and upward!

I use a file manager called Servant Salamander.  It is a Norton Commander clone for Windows and it has a recursive search for strings in files.  A really nice tool. 


Mach4 General Discussion / Re: Lua Fails Me
« on: January 20, 2018, 05:30:01 PM »
Ok, try this...  save all of the files in the macro directory to another directory for safe keeping.  Then put that slimmed down version of m6691.mcs in there.  It should be the only file in the macros directory.  No mcLua.mcc or anything else.  Then launch Mach and do a do nothing command, such as G91 X0, and press cycle start.  At this point, you should have three files in the profile's macro directory; m6691.mcs, m6691.mcc, and mcLua.mcc.  Then MDI the m6691 and see what you get. 


Mach4 General Discussion / Re: Lua Fails Me
« on: January 20, 2018, 01:43:55 PM »
There is a file in that directory with m6691() defined, trust me.  :)

You can open the mcLua.mcc file with an editor and search on m6691 and it will be in there.  How did it get there?  Some source file had it in there! 

If you delete all of the mcc files, this should rebuild mcLua.mcc from scratch (from the source files) the first time Cycle Start is pressed.  Then search the mcLua.mcc and see if m6691 is in there.  If it is, then some source file is causing it to appear, guaranteed.  Nothing else will insert that function into the mcLua.mcc.  That directory is the whole playground and nothing else is cached anywhere.

You can verify this by creating a new profile.  Not a copy of this profile, but a new one.  Then check its' mcLua.mcc and there will be no reference to m6691 at all in it. 


Mach4 General Discussion / Re: Lua Fails Me
« on: January 20, 2018, 01:05:09 PM »
ALL of the files in the marcos directory get compiled.  Get rid of any file in that directory with a m6691() function.  Move then into a "save" child directory or something. 


Mach4 General Discussion / Re: homing to index pulse
« on: January 20, 2018, 02:11:52 AM »
It all depends on the motion controller and drive/motors used.  Most controllers that support analog servo drives will home to an index pulse.  FWIW, homing is a motion controller only function.  All Mach does is tell the motion plugin to home and provides no trajectory for the movement of the motors during the homing operation.


Mach4 General Discussion / Re: Homing and Tool offsets on Lathe
« on: January 19, 2018, 09:42:52 PM »
Ron Ginger did a nice video on this very subject.  But I can't find it.  :(  But Rob Gaudette also did one.  https://www.youtube.com/watch?v=SDuZWZHVU0s 


Mach4 General Discussion / Re: Mach 4 Feature Request
« on: January 19, 2018, 07:01:23 PM »
I would like to see an existing motion behavior removed or at least be disabled optionally in settings. Whenever an M or S code is encountered in the GCode or MDI the machine decelerates to 0, executes the command, and resumes. There is not necessarily any need for it to stop in the following example.

g00 x0 s1000       motion starts and spindle at 1000
g01 x10 s5500     motion stops, spindle changes to 5500, motion continues
g01 x20 s5500     motion stops, spindle still at 5500, motion continues (no change was made but the fact there was an S code in the line means the motion stops to address it)

If the spindle speed commands weren't in there, the machine would travel from x0 to x20 without interruption but with the extra commands in there (I tested and saw the same behavior with turning coolant on and off during motion) travel slows to 0 and without any delay executes the command and accelerates back to it's previous rate.

I have my Spindle Accel/Decel time at 0 and 'Wait on spindle to stabilize' disabled

The reason I want the travel rate uninterrupted is because I'm using spindle control PWM signals to control the power output of a laser to do raster engraving.

Assume each 'pixel' i want to engrave is 1mm and I'm drawing a 5mm striped pattern I'd code as:

g00 x0y0      starting point
x50           lead in for acceleration
x55 s255   laser power max 5mm
x60 s0      laser off 5mm
x65 s128   laser half power 5mm
x70 s0      laser off
x120        lead out for deceleration
y1           next line

The laser PWM control and positional results of this code work perfectly but that forced motion stop before executing S kills the end result of the piece.
Fixing this would make raster laser engraving incredibly easy in Mach4 with the use Inkscape plugin 'Raster 2 Laser GCode' which produces great results with simpler GCode senders. It would achieve the equivalent of Art's Impact / Laser plugin for Mach3.

There is a parameter option that changes the behavior of the look ahead. Normally, you WANT to wait on the motion to complete before the M, S, or T codes are processed by the look ahead. 

Set #3003 = 2.  That will disable MST waits.  But you must consider the look ahead!  If it is set to say 100, then up to 100 lines are read (and processed!) at one time.  In effect, the S command would be the last S command.  The only thing you can do to combat that is set the look ahead to 2 lines.  That way CV will be maintained across the G code moves and not come to a complete stop.  Setting the look ahead to 1 line would be the equivalent of running in exact stop mode, BTW. 

You would be wise to set #3003 back to 0 before any stop M code is issued (M01 M02, M30, etc...)

I really don't recommend the above at all.  Instead, Have a look at M62 and M63 (The motion controller must support these).  They control outputs synchronized to the movement of the G code.  M62 and M63 are special M codes that do not break the CV chain.  So you can leave the look ahead alone.  You could easily implement 0%, 25%, 50%, 75%, and %100 with a few outputs. 

We are still working on a dedicated laser interpreter.  It will have options specifically for lasers that should accommodate this type of thing. 


Mach4 General Discussion / Re: Screen Editor - Hide bar
« on: January 19, 2018, 04:57:49 PM »
If you close it in full screen, it will open in full screen. 


Machines with tool changers and induction motors on the spindle use a spindle key lock.  The spindle is rotated slowly at low torque and the key lock is engaged.  When the key lock drops into the notch on the spindle shaft, the VFD is turned off.  So it is a pure mechanical orientation. 


Mach4 General Discussion / Re: Mach4 won't shut down
« on: January 18, 2018, 10:22:02 PM »
The problem is most likely a LUA script that is not terminating or a plugin hanging it up.  You can test if it is a plugin by disabling them one at a time and seeing if you can close Mach.  I have never seen Sim hang Mach up, so don't worry about disabling that one. 

There was a post where the modbus plugin was preventing a shutdown.  TOTALLYRC had that one.  It turned out that the polling frequency was too fast for his machine.  He turned the frequency down and all was well.