Re: Weird Mach3 + CSMIO/IP-M Probe Problem
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.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Quote:
Originally Posted by
matt-b2
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-suppor...native-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
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
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.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
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.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
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.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Hello everybody !
My DIY router is 99% finished but setting the Z probe proves to be a pain in the … .
After 3 weeks of reading, testing and so on, I manage to write a script based on M31 example from CSMIO site.
All seems to work fine except the fact that I could not reset the z value to zero in Mach3 screen. I give a try to G92 (it’s working) but there are too many warnings of how I should use this g code.
Any suggestion to solve this problem will be much appreciated.
This is part of my code:
If(GetUserDRO(1510) = 1) Then
Message("M31 Probe hit.")
Call SetDro (2, ZOffset)
Code "(Z zeroed)"
Sleep(1000)
Code "G0 Z20 F50"
Code "G4 P10"
Code "G0 Z-10 F50" (Touch plate has 10mm)
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Quote:
Originally Posted by
gixi
Hello everybody !
My DIY router is 99% finished but setting the Z probe proves to be a pain in the … .
After 3 weeks of reading, testing and so on, I manage to write a script based on M31 example from CSMIO site.
All seems to work fine except the fact that I could not reset the z value to zero in Mach3 screen. I give a try to G92 (it’s working) but there are too many warnings of how I should use this g code.
Any suggestion to solve this problem will be much appreciated.
This is part of my code:
If(GetUserDRO(1510) = 1) Then
Message("M31 Probe hit.")
Call SetDro (2, ZOffset)
Code "(Z zeroed)"
Sleep(1000)
Code "G0 Z20 F50"
Code "G4 P10"
Code "G0 Z-10 F50" (Touch plate has 10mm)
Get Ger's Screenset 2010 and just his probe routines.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Quote:
Originally Posted by
gixi
Hello everybody !
My DIY router is 99% finished but setting the Z probe proves to be a pain in the … .
After 3 weeks of reading, testing and so on, I manage to write a script based on M31 example from CSMIO site.
All seems to work fine except the fact that I could not reset the z value to zero in Mach3 screen. I give a try to G92 (it’s working) but there are too many warnings of how I should use this g code.
Any suggestion to solve this problem will be much appreciated.
This is part of my code:
If(GetUserDRO(1510) = 1) Then
Message("M31 Probe hit.")
Call SetDro (2, ZOffset)
Code "(Z zeroed)"
Sleep(1000)
Code "G0 Z20 F50"
Code "G4 P10"
Code "G0 Z-10 F50" (Touch plate has 10mm)
Her is one of my probe macros, there might be something in there to help, I tend to annotate a lot ;) Its for CSMIO IP/A under Mach3
Sub Main()
'***X- Probing Macro
'***Written by and for DD Metal Products Ltd 2018
'***Metric units only in use
'***Using CSLABS Controller M31 macro code
'***Axis scaling not expected or handled
'***Probe offset must be calibrated at "Slow Feedrate" value and set in "Probe Tip Dia" DRO first
'***Probe Z axis position is set by user first to correct height
'***Probe Y position must be within the value set in "Max Distance" DRO
Dim FeedFast, FeedSlow
Dim ProbeOffset
Dim MaxDistance
Dim ZClearance
Dim StepBack
Dim X_SENSE
Dim Y_SENSE
Dim Z_SENSE
'***Load Variables From Screen DROs
FeedFast = GetUserDRO(1821)
Sleep (100)
FeedSlow = GetUserDRO(1822)
Sleep (100)
MaxDistance = GetUserDRO(1823)
Sleep (100)
ProbeOffset = GetUserDRO(1829)
Sleep (100)
ZClearance = GetUserDRO(1830)
Sleep (100)
StepBack = GetUserDRO(1824)
Sleep (100)
'***Error checks
If GetOemLed(16)<>0 Then '***Check for machine coordinates setting
Message "Please Change To Working Coordinates"
Exit Sub
End If
If GetOemLed(825)<>0 Then '***Probe is not connected or cable broken
Message "Probe Connection Error"
Exit Sub
End If
If StepBack=0 Then '***Stepback not set
Message "Please enter a step-back value"
Exit Sub
End If
If ABS(GetOEMDRO(85))<ZClearance Then '***Z axis too high for retract
Message "Spindle too high for clearance move"
Exit Sub
End If
'***Start Probing
Message "Probing In X- Direction"
Sleep (100)
Code "F" & Feedfast
Sleep (100)
SetUserDRO(1511, 0-MaxDistance) '***X Axis
Sleep (100)
SetUserDRO(1512, 0) '***Y Axis
Sleep (100)
SetUserDRO(1513, 0) '***Z Axis
Sleep (100)
Call ProbeSurface()
X_SENSE = GetVar(2000)
Sleep (100)
'***Step back
Code "G91 G0 X" & StepBack
While IsMoving()
Sleep(50)
Wend
Code "F" & FeedSlow
Sleep (100)
SetUserDRO(1511, 0-(StepBack+2)) '***X Axis
Sleep (100)
SetUserDRO(1512, 0) '***Y Axis
Sleep (100)
SetUserDRO(1513, 0) '***Z Axis
Sleep (100)
Call ProbeSurface()
X_SENSE = GetVar(2000)
Sleep (100)
'***Step back
Code "G91 G0 X" & StepBack
While IsMoving()
Sleep(50)
Wend
'***Raise the spindle to clear part
Code "G91 G0 Z" & ZClearance
While IsMoving()
Sleep(50)
Wend
'***Move Y axis to edge and zero the DRO
Code "G90 G0 X" & X_SENSE - ProbeOffset
While IsMoving()
Sleep(50)
Wend
SetOemDRO(800,0)
Sleep(100)
'***Retract the spindle fully
'Code "G53 G0 Z0"
'While IsMoving()
' Sleep(50)
'Wend
'***Make sure we are in G90 again
Code "G90"
Message "X- Probing Complete"
End Sub
Sub ProbeSurface()
NotifyPlugins(10103)
SetUserDRO(1510, 0)
While(GetUserDRO(1510) = 0)
Sleep(50)
NotifyPlugins(10104)
Wend
If(GetUserDRO(1510) = 2) Then '***Probing error - no detection in distance = abort
Message "Probing Error - No Surface Found"
End
End If
End Sub
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Quote:
Originally Posted by
Chaz
Get Ger's Screenset 2010 and just his probe routines.
I've had several users that had issues with CS Labs controllers and the 2010 Screenset.
Re: Weird Mach3 + CSMIO/IP-M Probe Problem
Quote:
Originally Posted by
Ger21
I've had several users that had issues with CS Labs controllers and the 2010 Screenset.
Mine works OK. Ive not use my machine for a while now but had no issues with it.