Hello Guest it is January 21, 2022, 09:12:24 PM

Author Topic: Mach3 2010 Screenset - Now available  (Read 475800 times)

0 Members and 1 Guest are viewing this topic.

Re: Mach3 2010 Screenset - Now available
« Reply #610 on: May 09, 2021, 04:30:04 AM »
I have recently purchased and installed the 2010 screen set (which i love by the way) and have discovered I am indeed running one of the Chinese controllers that doesn't like the getvar function. The Chinese controller macros supplied by cncwoodworker work great but i don't think they work with multi offset Auto Zero...

Is there any way to get the Auto Zero G54 through G59 modified macros to work without using the get var function.

I wrote a code to probe and simple Zero in various offsets (i need 18 offsets for current project) which works and populates the zero position in all the offsets table but i have multiple tool changes in the code i want to run, and is painful to have to run the code every time i change tools.

What i was hoping was to use my digitizing touch probe to set the 'Z' offsets and reference point at the beginning of the program and then just zero the tools as i change them to my fixed plate position.

Is there a way to make this work with the controllers that don't use getvar?

Thanks for any input

Olly

Offline ger21

*
  • *
  •  6,292 6,292
    • View Profile
    • The CNC Woodworker
Re: Mach3 2010 Screenset - Now available
« Reply #611 on: May 09, 2021, 05:57:19 AM »
Try modifying those macros be replacing any instance of GetVar(2002) with GetOEMDro(802).
They should work after that.
They do use GetVar and SetVAr to write the other offsets, but I think that Getvar is only an issue with probing with those controllers.
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Mach3 2010 Screenset - Now available
« Reply #612 on: May 09, 2021, 02:37:51 PM »
Try modifying those macros be replacing any instance of GetVar(2002) with GetOEMDro(802).
They should work after that.
They do use GetVar and SetVAr to write the other offsets, but I think that Getvar is only an issue with probing with those controllers.

Thanks Gerry, i will try this tonight when i get back to the machine and see how it goes.

Olly
Re: Mach3 2010 Screenset - Now available
« Reply #613 on: May 10, 2021, 04:15:17 AM »
So i tried as suggested changing every instance of the getvar(2002) to getoemdro (802) for all 3 of the multi offset macros and tried it again tonight.

I'm not sure if this is what it is suppose to do but basically i manually populated the z readings for the various offsets g54-g59 so they had some variance.

I then ran the initial Zero function to zero what would be G54 position and then it probed my fixed plate, all worked well. So i went to check the offsets table to see if the variables had been updated but it appears to have set them all the same for every offset.

This is not how i was expecting it to work but may just not understand how this operation is suppose to work. I was expecting it to modify the offset table values for Z but in reference to the original offset value and the fixed plate. I was not expecting all the offset Z values to be set to the same.

Attached pics of the offsets before initial zero with z axis variance and after the initial zero where they are all set the same although the measurement seems to be working.

If this is not how it is meant to work i was wondering if this is another case of my controller not liking the getvar command related to the offset code at the end of the macro, and am wondering if there is another work around that may get this to work with these controllers.

Thank you for any input you may have.

Olly
« Last Edit: May 10, 2021, 04:30:00 AM by OllyMoto »
Re: Mach3 2010 Screenset - Now available
« Reply #614 on: May 10, 2021, 04:32:07 AM »
Attached are the modified macros, encase anyone can see any mistakes i may have made to cause the issue.

Offline ger21

*
  • *
  •  6,292 6,292
    • View Profile
    • The CNC Woodworker
Re: Mach3 2010 Screenset - Now available
« Reply #615 on: May 10, 2021, 05:09:28 PM »
That is how it is supposed to work, with all of them the same. So that if you change offsets, your Z zero stays the same.
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Mach3 2010 Screenset - Now available
« Reply #616 on: May 11, 2021, 12:04:56 AM »
Great, Thanks Gerry.

Ok so it looks like i may be trying to achieve something different.

what i am trying to do:

probe Z heights in offsets G54-G59...with my digitizing probe and save them to the table as most of my offsets need different z heights.

Then i would like to change from the probe to a tool and perform the initial tool zero (for say G54) which will work out the difference between the G54 work zero and the fixed plate.

Then apply that "difference" value to the existing values in the offset table for the other offsets, not overwrite them all as the same.

The code I'm running uses multiple offsets all with the same code, but every offset needs a different z height, and multiple tool changes.
I would like to set all the Z offsets at the beginning and then have then with each tool change modify the offset in relation to its original/previous value. This way I don't have to probe each offset position with every tool change even though they are all at different z heights.

Hope that makes sense, and thank you for any assistance you can provide.

Olly

Re: Mach3 2010 Screenset - Now available
« Reply #617 on: May 11, 2021, 03:34:40 AM »
Ok so after thinking about this for a while i decided to leave the original macros as they were because they work just fine, but to modify Gerrys M889 macro adding in a few extra variables and commands.

This was my rough working out:

ZORIGINAL= GETVAR(5223)    'GET CURRENT G54 Z VALUE

****'DO M889 PROBING ROUTINE****

ZCURRENT= GETVAR(5223)    'GET G54 Z VALUE AFTER SETTING NEW TOOL

ZDIFFERENCE= ZORIGINAL-ZCURRENT    ' CALCULATE THE DIFFERENCE BETWEEN THE PREVIOUS AND CURRENT TOOL



OFFSET2= (GETVAR(5243)-ZDIFFERENCE)
SETVAR(5243,OFFSET2)
SLEEP(200)

OFFSET3= (GETVAR(5263) -ZDIFFERENCE)
SETVAR(5263,OFFSET3)
SLEEP(200)

OFFSET4= (GETVAR(5283) -ZDIFFERENCE)
SETVAR(5283,OFFSET4)
SLEEP(200)

OFFSET5= (GETVAR(5303) -ZDIFFERENCE)
SETVAR(5303,OFFSET5)
SLEEP(200)

OFFSET6= (GETVAR(5323) -ZDIFFERENCE)
SETVAR(5323,OFFSET6)
SLEEP(200)

OFFSET7= (GETVAR(5343) -ZDIFFERENCE)
SETVAR(5343,OFFSET7)
SLEEP(200)

OFFSET8= (GETVAR(5363) -ZDIFFERENCE)
SETVAR(5363,OFFSET8)
SLEEP(200)

OFFSET9= (GETVAR(5383) -ZDIFFERENCE)
SETVAR(5383,OFFSET9)
SLEEP(200)

OFFSET10= (GETVAR(5403) -ZDIFFERENCE)
SETVAR(5403,OFFSET10)
SLEEP(200)

OFFSET11= (GETVAR(5423) -ZDIFFERENCE)
SETVAR(5423,OFFSET11)
SLEEP(200)

OFFSET12= (GETVAR(5443) -ZDIFFERENCE)
SETVAR(5443,OFFSET12)
SLEEP(200)

OFFSET13= (GETVAR(5463) -ZDIFFERENCE)
SETVAR(5463,OFFSET13)
SLEEP(200)

OFFSET14= (GETVAR(5483) -ZDIFFERENCE)
SETVAR(5483,OFFSET14)
SLEEP(200)

OFFSET15= (GETVAR(5503) -ZDIFFERENCE)
SETVAR(5503,OFFSET15)
SLEEP(200)

OFFSET16= (GETVAR(5523) -ZDIFFERENCE)
SETVAR(5523,OFFSET16)
SLEEP(200)

OFFSET17= (GETVAR(5543) -ZDIFFERENCE)
SETVAR(5543,OFFSET17)
SLEEP(200)

OFFSET18= (GETVAR(5563) -ZDIFFERENCE)
SETVAR(5563,OFFSET18)
SLEEP(200)


I added the variables into the original M889 macro and placed the relevant lines where i thought they should be,  and it seems to work well enough for my current needs...

I can probe all my offsets with my digitizing probe (using a Gcode program I wrote utilizing Gerrys original M899 code.), this initially populates the offset table for all my z positions with values relative to the probe length.

Then i can change the tool from my probe to my cutting tool and re-zero the G54 offset(using my modified Macro) with my movable touch plate.

As the macro is written i have to zero the tool or any subsequent tool in the G54 offset and then it adjusts the other offsets based on the difference found in G54 between the prior z offset and the newly set value.

I would love it if we could incorporate this functionality into the auto tool zero function but i think that is beyond my capabilities. To be honest I'm surprised i managed to get this to work.

I will attach the modified Macro which i have tested and appears to work on my Machine with the Chinese controller, however i offer it as for reference only and and you should check and test this out fully before implementing it for your purposes.

I renamed the modified macro to M950 so i can still utilize the original M889, and i just call it from the MDI screen when i need it.

Big thanks to Gerry for his continued support and help with the macros and his 2010 screen set.

Anyone who has any input on the macro is more than welcome to comment of contribute if they can.

(Gerry, If its not the done thing to post your macros on here, even if modified then please feel free to remove it or ask me to do so, if i can, and i apologize if this is the case) Sorry still new to the forum and the whole CNC thing to be honest.

Cheers
Olly