CS-Lab Support Forum for CNC Community
Help to run this brand-new forum and stay with us.
Ask your questions, we are here to help!
Drilling countersunk holes
Quote from wirehead on 18 October 2023, 08:17Hi,
we are rebuilding a machine to mainly drill countersunkholes in sheet metal. The maschine has allreddy a CSMIO controller and uses Mach3.
Problem:
The depht of the conutersunks is closely tollerated and the sheetmetal is often sligtly warpt or doesnt lay 100% flat. Therefor we drill this holes with a spacial tool in the spindel that pushes and holds the sheetmetal down while drilling. The target depht is archived with a sensor on this tool an a modified M31 macro in mach3. This has serval disadvantages while m31 is running like no feedhold, no override, external stopbutton doesnt work via oemtrigger, erratic behavior after estop, uncontroled downfeed if "run from here" is used.
We are now considering to change the software to simCNC. Does someone has an idea how to realize this functionality?
What i basicaly need is the behavior of a G81 cycle with an additional termination condition for downfeed with a digital input.
The tollerances we are trying to archive are 0,2mm with 250mm/min Z feed.
Is this possible in simCNC?
And can i use an existing CSMIO S controler to test and later downgrade the firmware to use mach3 again?
Best regards
Torsten
Hi,
we are rebuilding a machine to mainly drill countersunkholes in sheet metal. The maschine has allreddy a CSMIO controller and uses Mach3.
Problem:
The depht of the conutersunks is closely tollerated and the sheetmetal is often sligtly warpt or doesnt lay 100% flat. Therefor we drill this holes with a spacial tool in the spindel that pushes and holds the sheetmetal down while drilling. The target depht is archived with a sensor on this tool an a modified M31 macro in mach3. This has serval disadvantages while m31 is running like no feedhold, no override, external stopbutton doesnt work via oemtrigger, erratic behavior after estop, uncontroled downfeed if "run from here" is used.
We are now considering to change the software to simCNC. Does someone has an idea how to realize this functionality?
What i basicaly need is the behavior of a G81 cycle with an additional termination condition for downfeed with a digital input.
The tollerances we are trying to archive are 0,2mm with 250mm/min Z feed.
Is this possible in simCNC?
And can i use an existing CSMIO S controler to test and later downgrade the firmware to use mach3 again?
Best regards
Torsten
Quote from CS-Lab Support on 18 October 2023, 15:22>>> We are now considering to change the software to simCNC. Does someone has an idea how to realize this functionality
You haven’t given me enough details to give you a precise answer.
Please, send me:
- the video showing the measurement and drilling process,
- gcode,
- macros you use in gcode.>>> What i basicaly need is the behavior of a G81 cycle with an additional termination condition for downfeed with a digital input.
Do you mean that the function described above would replace the current solution you use in Mach3?
>>> And can i use an existing CSMIO S controler to test and later downgrade the firmware to use mach3 again?
If your controller is manufactured after 2015, then yes (the serial number starts with the year and week number).
>>> We are now considering to change the software to simCNC. Does someone has an idea how to realize this functionality
You haven’t given me enough details to give you a precise answer.
Please, send me:
- the video showing the measurement and drilling process,
- gcode,
- macros you use in gcode.
>>> What i basicaly need is the behavior of a G81 cycle with an additional termination condition for downfeed with a digital input.
Do you mean that the function described above would replace the current solution you use in Mach3?
>>> And can i use an existing CSMIO S controler to test and later downgrade the firmware to use mach3 again?
If your controller is manufactured after 2015, then yes (the serial number starts with the year and week number).
Quote from wirehead on 18 October 2023, 16:45Hi,
I can make a video tomorrow.
The gcode is basicly 200 positions like this and is generated with ecad with sligtly modified postprocessor:G0 X1393.1 Y1916.5
M810 P0 Q-16. R250
G0 X1368.1 Y1891.5
M810 P0 Q-16. R250
G0 X1397.1 Y1968.2
M810 P0 Q-16. R250
G0 X1397.1 Y2048.2
M810 P0 Q-16. R250I've attached the M810 macro to this post.
Drilling is performt with the measuring function, because it stops the downfeed precisly enough when the deepth gauge triggers the probe input.
>>Do you mean that the function described above would replace the current solution you use in Mach3?
Yes that was the intention.
The machine is hard to use with Mach3 because the behavior after Estop was eratic and "run from here" was not posslible with the macro.
Best regards
Torsten
Dim Parg 'Define
Dim Qarg
Dim Rarg
Sub Main
Parg = Param1() 'Bohrposition in Z
Qarg = Param2() 'Bohrtiefe incrementell
Rarg = Param3() 'Bohrvorschub
P10 = Parg + 5 'Startposition bis zu der mit G0 gefahren wird
P11 = Qarg + -5 'Maximalweg berechnen die der Bohrer mit G1 Geschwindigkeit bohrt vor dem Rückziehen oder Stoppen durch Signal
P12 = Parg + 50 'Sicherer Rückzugabstand
SetUserDRO(1513, P11) ' Weg der Verfahren wird um Bohrteife zu erreichen wenn kein Abschaltsignal kommt
code "F" &Rarg
code "G90"
code "M3" 'Spindel ein rechts
code "M8" 'Kühlung ein
code "G0Z" &P10 'fährt im Eilgang bis Bohrposition + Sicherheitsabstand
'Kühlung ein
While IsMoving() 'warten bis Bewegung vollständig
Wend
NotifyPlugins(10103) 'startet messzyklus im CS Lab Controller
SetUserDRO(1510, 0)
While(GetUserDRO(1510) = 0) ' wartet bis Lichtschranke unterbrochen wird oder in UserDRO1513 gespeicherte Distanz gefahren wurde
Sleep(50)
NotifyPlugins(10104)
Wend
code "M9" 'Kühlung aus
code "G0Z" &P12 ' Eilgang auf sichere Rückzugposition (Bohrposition + 50mm)
While IsMoving() 'warten bis Bewegung vollständig
Wend
End Sub
Hi,
I can make a video tomorrow.
The gcode is basicly 200 positions like this and is generated with ecad with sligtly modified postprocessor:
G0 X1393.1 Y1916.5
M810 P0 Q-16. R250
G0 X1368.1 Y1891.5
M810 P0 Q-16. R250
G0 X1397.1 Y1968.2
M810 P0 Q-16. R250
G0 X1397.1 Y2048.2
M810 P0 Q-16. R250
I've attached the M810 macro to this post.
Drilling is performt with the measuring function, because it stops the downfeed precisly enough when the deepth gauge triggers the probe input.
>>Do you mean that the function described above would replace the current solution you use in Mach3?
Yes that was the intention.
The machine is hard to use with Mach3 because the behavior after Estop was eratic and "run from here" was not posslible with the macro.
Best regards
Torsten
Dim Parg 'Define
Dim Qarg
Dim Rarg
Sub Main
Parg = Param1() 'Bohrposition in Z
Qarg = Param2() 'Bohrtiefe incrementell
Rarg = Param3() 'Bohrvorschub
P10 = Parg + 5 'Startposition bis zu der mit G0 gefahren wird
P11 = Qarg + -5 'Maximalweg berechnen die der Bohrer mit G1 Geschwindigkeit bohrt vor dem Rückziehen oder Stoppen durch Signal
P12 = Parg + 50 'Sicherer Rückzugabstand
SetUserDRO(1513, P11) ' Weg der Verfahren wird um Bohrteife zu erreichen wenn kein Abschaltsignal kommt
code "F" &Rarg
code "G90"
code "M3" 'Spindel ein rechts
code "M8" 'Kühlung ein
code "G0Z" &P10 'fährt im Eilgang bis Bohrposition + Sicherheitsabstand
'Kühlung ein
While IsMoving() 'warten bis Bewegung vollständig
Wend
NotifyPlugins(10103) 'startet messzyklus im CS Lab Controller
SetUserDRO(1510, 0)
While(GetUserDRO(1510) = 0) ' wartet bis Lichtschranke unterbrochen wird oder in UserDRO1513 gespeicherte Distanz gefahren wurde
Sleep(50)
NotifyPlugins(10104)
Wend
code "M9" 'Kühlung aus
code "G0Z" &P12 ' Eilgang auf sichere Rückzugposition (Bohrposition + 50mm)
While IsMoving() 'warten bis Bewegung vollständig
Wend
End Sub