PDA

View Full Version : Weird Mach3 + CSMIO/IP-M Probe Problem



matt-b2
01-12-2017, 12:18 AM
Hi,

Has anyone had any luck getting Mach3 with a CSMIO/IP-M controller to work with a probe properly?

The probe I'm using works fine, G31 and CS Lab's M31 macro (http://en.cs-lab.eu/technical-support/download/addons-macros/m31-as-an-alternative-to-g31/) both work in that both cause my CNC router to move until either the probe triggers or the specified distance is reached.

What does not work is, variables 2000-2002 (which are supposed to contain the X, Y & Z coordinates of the probe event) do not update properly. For some reason, variable 2000 updates consistently with the Y coordinate (when it is supposed to contain the X coordinate), but variables 2001 and 2002 either contain zero or nonsensical values.

Mach3 and the CSMIO/IP-M firmware are both up-to-date (R3.043.066 and V2.91 respectively). I have the probe tip diameter set on Mach3's Settings screen.

Ideas/suggestions much appreciated.

Matt.

Neale
01-12-2017, 09:26 AM
I'm using a CSMIO-IP/M and Mach3 very successfully and probing works beautifully. However, I had a lot of problems when I first started. One secret (well, not so secret as it's described quite a lot but only if you know where to look!) is to upgrade Mach3 to an earlier version. I can't remember now if I'm using .028 or .043. There is s problem with the way that the CSMIO uses some undocumented features of Mach3 which were "fixed" in later versions and promptly broke CSMIO probing.

I have a set of three macros to do simple Z touch-off, touch-off portable plate plus touch-off fixed plate for first tool in multiple operations, and touch-off fixed plate for subsequent operations. Happy to pass these on, although there's nothing very original in them (all based on other people's work but tweaked to use CSMIO firmware probing). They work fine when used during m6 tool change operations, which is where I first started seeing issues myself.

Because of these problems, you have to be careful if you want to use add-on screensets which contain probing macros. I've modified the standard 1024 screenset to add buttons for my macros, but I haven't done anything for XY probing on a regular basis. However, I did use variations of my Z touch-off macro for both X and Y while I was setting up the machine and I know that probing is fine in those axes as well.

You might find this (http://www.calypsoventures.com/forums/viewtopic.php?f=9&t=75) interesting.

matt-b2
01-12-2017, 11:01 PM
Hi Neale,

Thanks for your post. I'll try downgrading to .028 - I think I was running .043 before I upgraded to the latest version. Failing that, yeah, I'm not particularly happy with my Mach3+CSMIO set up. This probe issue is just another one to add to the list. Maybe it is time to sort out a new control system - Kind of disruptive though.

Cheers,
Matt.

Neale
02-12-2017, 12:13 AM
I've been happy with my setup, I have to say - until the last few days. I've had some random "lost connection to CSMIO" events, although fortunately never while I have been cutting. It's a pain because I seem to have to stop and restart Mach3 to reset things, then need to reload gcode, rehome, recheck work zero, etc. I'm slowly drifting towards the UC300ETH plus decent BOB. At least that would mean software which is current and supported.

I've just checked - I believe that I am running .028, which probably means that I saw problems with .043. Might be worth trying, at least as a stop-gap until you find a plan B. I would have gone LinuxCNC, which I ran with my previous router, except that at the time I had to make a decision, LCNC did not support master+slave axes and the choice of motion control hardware seemed over-complex and only available from the US. I think that both these things have now changed.

Ger21
02-12-2017, 12:40 AM
When you use the M31 macro, is it displaying the touch coordinates in the status bar?If it is, then GetVar is working, as the M31 uses GetVar() get the touch point, then writes it to the status bar.

matt-b2
02-12-2017, 12:49 AM
Yes, values are being displayed, they're just not the right values with the exception that the Y coordinate is correct, but stored in Variable 2000 instead of 2001. I get the same problem whether using G31 or M31 and whether interrogating the variables using GetVar or the variable display window (can't remember its proper name).

Ger21
02-12-2017, 12:58 AM
Sorry, I should have went back and re-read your first post.

Chaz
03-12-2017, 12:08 PM
Ive personally invested in a few CS Labs products in the past and recommended them. I dont think however Ill continue down this route. Whilst it may be one of the best Mach3 setups, Mach3 inherently is not the route I want to follow for stable control of machines.

Too many issues depending on PC stability / OS etc. Its nice as a starting point but reaching end of life at this stage me thinks.

Davek0974
10-04-2018, 10:01 PM
Hi all, jumping in a bit late on this thread but just hit a similar issue.

Been trying probing on my mill running Mach3 and IP/A controller, first i tried the M31 option but built the M31 code into my own simple Y+ edge macro, it worked once but stopped working, I then tried a more complex pocket macro and that failed immediately with a scripter compile error despite the editor saying it was ok

Today i tried the G31 style and nothing will work now - a G31 call gives no motion at all and as soon as the code gets to the retract line following, it spits out an error and Mach goes into reset. The message box just says no edge was detected and the error message thought my machine was not referenced to home and soft limits was blocking the move.

IIRC i am on version 062 and really didn't want to downgrade because i heard rigid tapping was broken on earlier versions especially the 028 that CS labs favour??

Is this the end of Mach3 for me??

I want to try CS labs software but its still in beta.

Any ideas

Neale
11-04-2018, 09:50 AM
As I remember, I managed to get probing working with whatever the latest version of Mach3 was around when I installed everything - could well have been .062. You are using the CSMIO probing macros, I assume? The CSMIO firmware has built-in probing code so Mach3 itself doesn't control the actual operation.

What I found was that while probing itself worked, it all fell apart when you did things like tool height reset during an M6 tool change. That's when I went back to .028, as I didn't need any of the things in later versions. Although I only use Z probing at the moment, I did throw some temporary macros together for X and Y as well during setup and they all seemed to work fine. As it happens, I spent some time last night doing a proper job on my x/y macros as I want to use them with the Mach3 probing page for my next job on the router and I wasn't expecting any problems - I'm just using my z macro with z crossed out and x or y inserted (in crude terms!). That's with an IP/M.

It's frustrating to have to work around this kind of thing, though. If i have any IP/M problems, it will probably tip me over the edge to UC300/UB-1/UCCNC, which should be hardware-compatible with the IP/M (24V signalling, etc) plus dual-motor homing and supported software! At the moment, though, it's hanging together (with manual dual-homing...) Don't know what the IP/A replacement is, though, if you need analogue servo driving.

Davek0974
11-04-2018, 09:58 AM
Thanks

from the error message it appears the controller hijacks the G31 as well so not much difference in G31 & M31.

I will try again today but not holding out much hope, CSL support is so slow as to be annoying as well, beginning to regret the purchase a bit :(

Yes, analog servo drives 10-0-10v control.

breaky89
14-04-2018, 10:36 PM
Hi,

Has anyone had any luck getting Mach3 with a CSMIO/IP-M controller to work with a probe properly?

The probe I'm using works fine, G31 and CS Lab's M31 macro (http://en.cs-lab.eu/technical-support/download/addons-macros/m31-as-an-alternative-to-g31/) both work in that both cause my CNC router to move until either the probe triggers or the specified distance is reached.

What does not work is, variables 2000-2002 (which are supposed to contain the X, Y & Z coordinates of the probe event) do not update properly. For some reason, variable 2000 updates consistently with the Y coordinate (when it is supposed to contain the X coordinate), but variables 2001 and 2002 either contain zero or nonsensical values.

Mach3 and the CSMIO/IP-M firmware are both up-to-date (R3.043.066 and V2.91 respectively). I have the probe tip diameter set on Mach3's Settings screen.

Ideas/suggestions much appreciated.

Matt.

Dear Matt,

I use also the CNC controller CSMIO IP-M together with Mach 3 in the newest version and the last CSMIO firmware.
For tool probing I got always the Y value for var(2002). I contacted CS-Lab support for help but the answer was that I do not understand the macro.
I was shure to use the macro right and tried everything to find the fault. So I checked the connection of the motors and the channels.
That was the solution and I changed my wiring.
I connected the x-axis to Channel 0, the y-axis to channel 1 and the z-axis to channel 3. After that I tried the tool length measurement again and got the
right values.

I hope this information will help you.

Phil

Davek0974
14-04-2018, 10:51 PM
Yes XYZ is channel 0-1-2 and so on.

I have my probe working well now - the secret is to allow some time in the macro so pad it with "Sleep(100)" lines after a DRO update etc also it ONLY works with soft limits turned off - i just made the macro turn limits off then on when the move was made.

Its going well now.

Neale
15-04-2018, 12:07 AM
Yes, that's a bit of a gotcha - that "sleep" after a DRO update is absolutely vital, as is the "while moving" loop so you wait for the machine to reach target position before carrying out the next action. However, my version works fine with soft limits, so not sure what's going on there.

Davek0974
15-04-2018, 08:54 AM
Yes, its only a 0.1s wait and it needs going after every DRO update, i also padded it after every DRO read, plus the totally essential while-ismoving loop on ANY call that creates movement of an axis.

Doing this likely added 5s to the macro run time but thats no bother if its what it takes to make it work 100%

The soft limits thing i'm going to play with again - it seems very version dependant so now I have the timings sorted, ill try leaving it on and see what occurs. CSLABS said they had never heard of it BUT they always run v022 so that may be why.