Hello Guest it is February 19, 2020, 06:04:56 AM

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: LOVING the PMC!! Thanks Steve!!!
« on: August 04, 2016, 04:35:32 PM »
We did start with LDMicro.  However, it was purely for the GUI as a starting point.  To keep from having to re-invent that wheel.  However, the GUI was cleaned up a bit (looks nicer without all of the dashed lines) and I added some nice features to make paralleling circuits easier, among other things.  The back end guts were completely re-written for generating LUA code. 

Some things that were in LDMicro just are not applicable to the Mach/LUA environment.  Persistence can be done with Mach registers in the Regfile plugin.  Then just use the PMC to operate on those registers that you define as persistent. 

Just in case anyone is wondering, we did license the LDMicro code, so the GPL stuff does not apply.  We paid the author handsomely.  :)  We will have to sell a LOT of Mach licenses to get a return on the investment.  However, we consider it a win/win as we got the PMC a lot quicker that we would have otherwise and we like supporting guys that make cool software. 


Mach4 General Discussion / Re: Mach4 Install on XP
« on: August 04, 2016, 04:13:56 PM »
We do not use .net at all.  Mach 4 is all native C++.  Some 3rd party plugins may require .net.  But we don't. 

The 2013 runtime redistribution package may be required to be installed (and you will need to be Administrator to do it).  We supply the runtime files in the Mach 4 directory but some XP systems are incapable of using the runtime in a side by side (SxS) configuration.  I believe some KB update needs to be installed in order for SxS to work in XP, although I do not know which one it is.


Mach4 General Discussion / Re: LOVING the PMC!! Thanks Steve!!!
« on: August 04, 2016, 02:58:44 PM »
Programmable Machine Controller.  It is a Fanuc term.  Basically, it is a ladder logic editor that spits out LUA code behind the scenes.  VERY fast.  It can be used instead of the regular Mach mapping of I/O or in conjunction with it.

The pros of the Mach I/O mapping is that it is event driven.  The PMC runs at a defined timer interval, thus is not event driven.  However, I did try to improve on that a bit at least for the Mach output signals.  When any of them fire, I force a PMC cycle.  So the PMC is basically event driven for the Mach output signals only.  Otherwise, it runs on a cycle just like any other PLC type of thing.  But...  you can have insane timer intervals (depending on the PC hardware).  I run my PMC object at 20ms intervals which is about the finest resolution my Atom board will do with a timer.  They complete their cycles in less that 1ms.  My real PC can handle 10ms intervals.  The OS seems to be a limitation on timers as well because 10 ms is about the finest resolution I can get.  But still!  10ms!!  That is smoking.



Mach4 General Discussion / Re: LOVING the PMC!! Thanks Steve!!!
« on: August 04, 2016, 04:58:02 AM »
I'm glad you guys like it!  :)

Mach4 General Discussion / Re: Mach 4 Feature Request
« on: July 26, 2016, 07:17:12 PM »
What build?  That should all be there.

Mach4 General Discussion / Re: Mach 4 Feature Request
« on: July 26, 2016, 04:33:53 PM »
G65/G66/G66.1 and conditional G code work in lathe and mill but requires the Industrial version.  Meaning they are not in Hobby.


Mach4 General Discussion / Re: M Codes in MDI
« on: May 27, 2016, 11:01:43 PM »
Correct.  There is a LUA instance in the screen and a separate instance for the M code macros.  The only thing available to both is the mc.* API.  scr.* is only available in the screen scripts.

Mach4 General Discussion / Re: Setting Spindle Speed Range
« on: May 27, 2016, 06:50:43 PM »
This is usually done with M41 and above.  But it is REALLY machine specific (manual, automatic, number of ranges, etc..)  so we don't provide any scripts for it.  For example, a Haas only has low high gears on the spindle, thus, they only use M41 and M42.

You will have to create M41-46 macro scripts on your system that does the right thing.

Called in G code like this:

M41 (select spindle range #1)

If the spindle ranges are set manually, you will want the machine to prompt you to change ranges.  Also, a bit of code to check if it is already in the correct range might be nice to keep unnecessary prompting from happening.  


Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: May 26, 2016, 10:20:25 PM »
Unfortunately, it is difficult, not tested, and not documented.  :(  So it is not ready.  And I don't know when we will get to it.  We have to prioritize.  :(

If there is no tool path, the regen never completes and leaves the core in a mode where M codes are not processed.  The reason for this is we obviously don't want to run M codes while generating the tool path.  We are expecting a tool path to be there.  After the initial run of the loaded G code, the initial tool path update is what clears this state.  A workaround for this would be to simply drop a tool path on the screen somewhere and set its properties to hide it. 

Regen on a tool path is not the same thing as resetting the control.  Reset will put the control in the default state.  As Allen stated, regen is only used after an origin change.  It does nothing else and it is up to the user to do this.  It will not reset the rapid speed.  If you are using a rapid override, then you are also the one that needs to reset it.  Now, this can be done in a script on the regen button (or the reset button for that matte) if that is how you want your machine to operate. 

If the M6 is locking up, then there is a problem in the M6 macro or the motion controller plugin getting stuck in a bad state.  :(