Hello Guest it is April 25, 2024, 08:14:43 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 - plasmastein

Pages: 1
1
Yes, I'll be going over to the new plugin shortly.  I just thought it was odd to have such a specific issue from the stable versions of mach and the plugin.  Wanted to make sure there isn't an underlying issue that is causing it considering its always just the Y axis.

2
Sorry for the delay, here is the ini.

Also a screenshot of how the homing tab should be set.  I was testing a few things and forget to revert the change before I left.  I get a GUI crash when I try to change it back without having the ESS hooked up at the moment.  (The Motor0Home most likely won't be saved in the ini file)

Thanks for taking the time Daz.

3
Hey all.  I thought I jumped the last hurdle with this machine after the external THC, but a very annoying and odd problem popped up that really has me going wtf.  Simply put, my y-axis home switch isn't backing off after its activated.  The annoying part is that the x-axis works fine, meaning it activates, and backs off till the switch releases like normal.

Things I've tried:
 - Removing the switch and operating it by hand.
 - Use shielded and unshielded wire / different gauges of wire
 - Removing the X-axis switch and only focusing on the Y
 - Re-mapping the Y-switch to the X-switch (works fine)
 - Using different ports on the G540
 - Trying different switches
 - Reversing home direction / changing home order
 - Adjusting backoff and approach velocity

Machine:
 - Mach 4 windows 10
 - Ethernet SmoothStepper
 - Gecko G540

I'm really at a loss as to why this is happening.  I have no issues with the motors changing direction during cutting and really not any other machine issues at all.  The last thing that I can think of is re-installing the motion plugin with the new beta version and re-mapping everything from the start.  I haven't seen any other threads of a machine only having an issue with 1 axis in particular, so I'm hoping that this is some kind of fluke issue.

Anyone have any ideas what would cause this?  I can post the ini settings and everything later tonight if anyone needs to see it.  Thanks

4
Update for anyone interested.

 - None of my coding attempts worked to code the actual input signal.  Either I am just that bad at code, it was in the wrong file / position, or it just plain didn't work.

 - Bob at pmdx's solution with the spindle works very well.  However, I had to enable reverse in the spindle setup screen in Mach, and I had to make sure Const. Surface was selected in the General tab, as opposed to Const. RPM.  I have no idea why, but doing those things actually made it work well.  Thanks very much Bob.  Huge weight lifted off my brain.

Just to elaborate further for future reference.  I have to set the torch to fire during the height sensing process due to a very slight delay from when the THC commands motion versus when the signal is sent for motion.  This I believe is a THC/plasma machine issue that I think I can solve.  If not, then I can add a half second dwell after M03 to fix it so I can save consumables a bit.

Also, very occasionally, Mach will get hung up on the M05 command.  Its inconsistent, so I think its just the demo version of Mach messing with functions.  Luckily, I can finally resolve that issue tomorrow.


Chaotic - I'll check out that information next to see what its all about, thanks for the info.  I did try using a signal script earlier, but it was either in the wrong place or my code is just bad.

5
Thanks rrc, that describes how I would want to do this in an ideal situation.  But do M-Codes have access to I/O signals by themselves?  Also, what would the syntax be for a looping process to monitor when the signal actually goes off.  I believe I know how to script an initial check, and I think I saw an example of a timer, but not a loop itself.  Sometimes the Lua syntax can be confusing for me still.

Anyway, finally have some time to be at the machine to test all of these ideas.  I'll keep progress posted here.  Thanks much.

6
Hi Bob:

Thanks a bunch for that walkthrough.  That's actually how I originally had this machine setup, but I didn't mess with the spindle configuration, so I will definitely try this today.  That might just work and eliminate the need for the extra code work.

I tried to sorta reverse engineer the idea of using a tool change macro through an M-Code yesterday, but I always seemed like I was missing a step.  For example, I can make one M-code that would activate a feed hold command, but how would I make another M-code that could monitor an input signal to re-enable machine motion.  I believe I'd need to make a register for that signal, but I'm just not sure yet.

I will try the spindle method though first today to see how it works along with some other ideas I came up with and will report back.

Thanks much for the ideas.

7
Thanks again Rob.  I'm hoping there are some lua guru's around that might have an answer.

8
Thanks for the input Rob.

Luckily, since the THC is a standalone unit (Hypertherm Sensor PHC) as far as the CNC is concerned its a very simple input/output.  Here is what the process of cutting will be from Mach 4's viewpoint using your example from above:

 - move to pierce point (g00 x% y%)
 - send signal to PHC to turn on operation (currently using coolant m-code m08/m09 that outputs this signal)
 - wait for motion signal from PHC into CNC
 - resume with cutting/reading from g-code
 - turn off PHC operation (m09)

I haven't tried it yet, but I added a few lines to the signal script in mach 4 that basically activates feed hold when the motion signal from the PHC (mapped to input0) is inactive.  Now, I know that that code will cause some undesired effects for machine operation, but I think its simple enough to test and see if it actually syncs up with the torch with the cnc.

I came up with quite a few different ways to accomplish this, but not sure of the best/safest way to go about it.  To be honest, I would like to get this done in some custom mapped M-Codes because it would seem the most logical way to do it to me, but I need to find somewhat of a clear all variables code that would let it work, but I just haven't seen that browsing around in the API.

Am I on the right track with this?  Thanks for the thoughts.

9
Sure, but shouldn't I just be able to write a signal script that tells mach 4 to engage feed hold whenever this signal isn't present considering the only time it isn't present is when the torch is doing its initial height sensing?

10
Hey all.  We have just about finished this build, but I'm stuck on one issue that I was hoping for some guidance on achieving.  First off, I'm running a CNC plasma setup using Mach 4 with an Ethernet smooth stepper which is hooked up to a Gecko G540 (Port 1 on ESS) for the x and y axis, along with a Hypertherm PHC unit (Port 2 on ESS) that controls the THC externally.  Currently all axis's work including the PHC unit.

The problem that we are having is I have to tell Mach 4 to hold motion of the x and y axis's until it receives a signal from the PHC unit that the torch is ready to start cutting which is currently not happening.  So essentially the machine starts moving before the pierce and height sensing process is complete.  For single pierce cuts I can add a dwell in to make it seem like its working, but it was just a theory test.

The signal being sent from the PHC into the CNC is coming in on Port 2 Pin 9 on the ESS, so I'm assuming I can just write code that halts x and y motion if that signal is off, and subsequently allows motion when the signal is on.

My question is basically how to do this properly.  I saw some examples in the included write-ups with Mach 4 that all seem to be beating around the bush of how to do this type of function, but I'm not experienced enough with Mach 4 or lua yet to really accomplish this.  Do I have to disable and enable the axis' individually?  Is there a global Hold function of some sort that is intended to do this?  Any examples of anyone currently doing something like this would be much appreciated, as well as any other help.

Thanks in advance.


Pages: 1