Får ej macro M6 att fungera i UCCNC.
- Mickecarlsson
- EF Sponsor
- Inlägg: 4905
- Blev medlem: 15 april 2017, 18:06:15
- Ort: Malmö
- Kontakt:
Re: Får ej macro M6 att fungera i UCCNC.
Hur mäter du nollpunkten för Z? Är det med bladmått eller papper?
För att mäta din längd på verktyget MÅSTE du ha nollat Z mot arbetsstycket för att ställa Z=0 för Work Coordinates.
Du ska sedan skicka din spindel till tool-settern för att sakta gå ner mot den. När du triggat tool-settern ska du retrakta 2 mm och ännu saktare proba igen. Detta värde sparas i UCCNC.
UCCNC ”vet” nu dina Work Coordinates för Z, och vilken diff verktyget har mot detta (0 i detta fallet då det är samma verktyg).
När du ska byta verktyg med G-koden T2M06 (eller vad du har för nummer på ditt verktyg) skickas spindeln till positionen för verktygsbyte, du byter verktyg, klickar OK på dialogrutan och spindeln går då till tool-settern där den mäter diffen mellan föregående mätning och räknar ut vad den ”nya” Z=0 är med diffen för vad du probade denna gång. Det kan vara + eller - mot tidigare mätning.
Detta finns inte som standard i UCCNC, man måste mecka ihop ett eget M06-macro, och det är inte helt trivialt, vilket du upptäckt.
Det finns en hel del makro på UCCNC’s forum, och en del på Internet. Inga av dessa fungerar rakt av.
Jag meckade med detta för ett par år sedan då jag körde MACH3 men gav upp när jag hittade Screenset för MACH3 där ett macro ingick som fixade detta.
När jag bytte till UCCNC köpte jag Screenset för den. Och det fungerade direkt med ett undantag. Man kan inte ha T1 på alla verktyg, man måste ha olka nummer på verktygen annars säger bara makrot att det är samma verktyg.
Du kan fixa en isolerad touch-off platta, den behöver inte vara stor, min är en bit mässing som är 1 mm tjock. Du kan fräsa till en bit plast och limma på en kopparbit på den, mät den med en mikrometer och mata in tjockleken i makrot.
Jag postar ett inlägg till med min andra dator där jag har UCCNC installerat med Screenset 2022 för att visa hur jag kör det.
För att mäta din längd på verktyget MÅSTE du ha nollat Z mot arbetsstycket för att ställa Z=0 för Work Coordinates.
Du ska sedan skicka din spindel till tool-settern för att sakta gå ner mot den. När du triggat tool-settern ska du retrakta 2 mm och ännu saktare proba igen. Detta värde sparas i UCCNC.
UCCNC ”vet” nu dina Work Coordinates för Z, och vilken diff verktyget har mot detta (0 i detta fallet då det är samma verktyg).
När du ska byta verktyg med G-koden T2M06 (eller vad du har för nummer på ditt verktyg) skickas spindeln till positionen för verktygsbyte, du byter verktyg, klickar OK på dialogrutan och spindeln går då till tool-settern där den mäter diffen mellan föregående mätning och räknar ut vad den ”nya” Z=0 är med diffen för vad du probade denna gång. Det kan vara + eller - mot tidigare mätning.
Detta finns inte som standard i UCCNC, man måste mecka ihop ett eget M06-macro, och det är inte helt trivialt, vilket du upptäckt.
Det finns en hel del makro på UCCNC’s forum, och en del på Internet. Inga av dessa fungerar rakt av.
Jag meckade med detta för ett par år sedan då jag körde MACH3 men gav upp när jag hittade Screenset för MACH3 där ett macro ingick som fixade detta.
När jag bytte till UCCNC köpte jag Screenset för den. Och det fungerade direkt med ett undantag. Man kan inte ha T1 på alla verktyg, man måste ha olka nummer på verktygen annars säger bara makrot att det är samma verktyg.
Du kan fixa en isolerad touch-off platta, den behöver inte vara stor, min är en bit mässing som är 1 mm tjock. Du kan fräsa till en bit plast och limma på en kopparbit på den, mät den med en mikrometer och mata in tjockleken i makrot.
Jag postar ett inlägg till med min andra dator där jag har UCCNC installerat med Screenset 2022 för att visa hur jag kör det.
Re: Får ej macro M6 att fungera i UCCNC.
Medan vi väntar på det: http://www.thecncwoodworker.com/2022.html
M6-skriptet är för att byta verktyg - bara det. Skriptet som finns är avsett för ett antal verktyg som sitter på rad. När M6 T2 körs så går den till position 2 och växlar in det verktyget. t ex
M31-skriptet mäter längden på verktyget. Den går till tool-settern med hög Z och går ner tills den träffar, sedan gör den om det med långsam fart. Och upp (tror jag).
De här gör rätt i princip. Men de kräver att man finjusterar de med avstånd, positioner och hastigheter.
Ser det som ett måste att gå in i koden, förstå vad koden gör och modifiera det som behövs.
M6-skriptet är för att byta verktyg - bara det. Skriptet som finns är avsett för ett antal verktyg som sitter på rad. När M6 T2 körs så går den till position 2 och växlar in det verktyget. t ex
M31-skriptet mäter längden på verktyget. Den går till tool-settern med hög Z och går ner tills den träffar, sedan gör den om det med långsam fart. Och upp (tror jag).
De här gör rätt i princip. Men de kräver att man finjusterar de med avstånd, positioner och hastigheter.
Ser det som ett måste att gå in i koden, förstå vad koden gör och modifiera det som behövs.
- Mickecarlsson
- EF Sponsor
- Inlägg: 4905
- Blev medlem: 15 april 2017, 18:06:15
- Ort: Malmö
- Kontakt:
Re: Får ej macro M6 att fungera i UCCNC.
Screenset 2022 är det jag rekommenderar, och kör själv.
M6-makrot i Screenset 2022 är för manuellt byte av verktyg:
Jag har ringat in var min tool-setter är (work coordinates) Här är min inställning för verktygsbyte: Jag ser nu att Gerry fixat till om man har samma verktygsnummer så går den bara vidare.
Och lagt till ReZero i GUI't. Klickar man i Re-Zero Current tool on M6 mäter den om verlktyget.
Saxat ur makrot:
M6-makrot i Screenset 2022 är för manuellt byte av verktyg:
För enkel nollning:Z Axis Auto Zero Operation
The 2022 Screenset includes both a “simple” Auto Zero, and a method of automatically measuring tools
after a manual toolchange.
Both methods require a movable touch plate or “tool setter”, wired to trigger the Probe input in UCCNC
when activated.
To Auto Zero during a tool change, a second, fixed plate (or tool setter) is required. This should be
permanently mounted in an area accessible by the tool, with it's X and Y location specified in the “Z
Axis Auto Zero Settings”. This plate is also wired to the Probe Input.
Och gräddet på mosen:Z Auto Zero
For times when no tool changes are required, the “simple” auto zero is a quick option for zeroing the
tool to the work.
To use the simple auto zero, jog the tool over the touch plate, and press the “Z Auto Zero” button. The
tool will begin moving downward at the “First Probe Feedrate” until it reaches the plate. It will then
retract the “Retract Distance” and probe again at the “Second Probe Feedrate” to get a more accurate
reading.
Z zero is then set to the top of the work piece.
The tool will then retract to the “Clearance Plane Z Value”, which is in Work Coordinates.
Note: Prior to running any Auto Zero macro, it's highly recommended that the user verify that the Probe
Input is functioning properly by touching the plate to the tool, and confirm that the Probe LED is
activating
Föklaringen hur det fungerar:Calibrate Tool Setter
Auto Zeroing during a tool change first requires running the “Calibrate Tool Setter” routine.
The calibration routine starts similarly to the Simple Auto Zero.
Jog the tool over the touch plate, and click the “Calibrate Tool Setter” button (NOT the “Auto Zero”
button). This will set Z zero the same way as the Simple Auto Zero described above. After the tool
retracts to the Clearance Plane, it will then travel to the tool setter/ fixed plate, and begin probing for the
fixed plate Z position. After the double probe to find the plate position, the tool will again retract to the
Clearance Plane.
The macro will then activate an LED adjacent to the Calibrate Tool Setter button, LED, #700. This LED
tells the M6 macro that it's OK to change tools. If you don't run the Calibrate Tool Setter, the M6 macro
will exit with an error.
To the right of the LED is a read-only DRO, where the fixed plate position is stored.
Above the “Calibrate Tool Setter” button, is a “Save Tool Setter Location” checkbox. When checked, the
tool setter/fixed plate position will be saved and restored across multiple session of UCCNC. This option
is useful if the machine uses a consistent Z zero position, usually the spoilboard or table surface. Zeroing
the Z axis, or running the Z Auto Zero routine will remove the tool setter calibration.
Här är min setup:Tool Changes
Automatic tool measurement is done with the M6 macro. In order for UCCNC to run the macro, the user
must configure UCCNC for “Automatic Tool Changer” on the “Function Settings” Screen.
When UCCNC encounters an M6 in a g-code program, it will then run the M6 macro.
The M6 macro does the following:
1) Moves the spindle to the Tool Change Position, as specified on the Settings > Page 1 page. If Use
Safe Z2 is enabled, it will first go to the Safe Z 2 position before moving to the tool change
position.
2) The macro will then pause to allow the user to change tools. A Message Box will be displayed,
prompting the user to change tools. When finished changing tools, press the OK button to
continue.
3) The spindle will then move to the fixed plate location, and probe to find the plate position. The
tool Z position will then be set to the value stored in Field #20327, effectively “zeroing” the tool
to match the zero position of the tool used during the “Calibrate Tool Setter” routine.
4) The tool will then retract to the Clearance Plane
5) If “Prompt User to Start Spindle” is enabled, a Message Box will prompt the user to click OK to
continue.
6) The macro will exit, and the g-code will resume
Jag har ringat in var min tool-setter är (work coordinates) Här är min inställning för verktygsbyte: Jag ser nu att Gerry fixat till om man har samma verktygsnummer så går den bara vidare.
Och lagt till ReZero i GUI't. Klickar man i Re-Zero Current tool on M6 mäter den om verlktyget.
Saxat ur makrot:
Kod: Markera allt
if (Newtool == Currenttool) // Same tool was selected, so do nothing, stop here...
{
if(ReZeroYN)
{
exec.AddStatusmessage("New Tool = Current Tool - Re-Zeroing Current Tool");
}
else
{
exec.AddStatusmessage("Tool Change Ignored - New tool = current tool");
return;
}
}
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
-
- Inlägg: 608
- Blev medlem: 30 december 2006, 22:53:06
- Ort: Bollnäs
Re: Får ej macro M6 att fungera i UCCNC.
Hej.
Just nu så sätter jag Z00 mot en tunn "fjäderstålremsa" Efter start av UCCNC "Home All" Joggar ner mot denna stålbit, nollställer Z. Markerar "Mobile Probe" i UCCNC, trycker "Reference curren as workpiece" i UCCNC. Då går fräsen till position för "Mobile probe" stannar upp 5-10 mm ovanför tool settern, sedan går fräshuvdet ner mot toll settern, träffar kolven och går upp några mm sedan går huvudet ner sakta och träffar kolven. Då går huvudet upp några mm stannar upp går sedan vidare till position för stålbiten och sänker huvudet ner till stålbiten på hundradelen av en mm (mätt med vippindikator)
skriver jag in M6 T1 eller T1M6 i MDI fälet så går huvudet upp till övre gränsläget och detta löser ut. Oavsett om jag satt
"double SafeZ = -50;" eller "double SafeZ = 50;"
Skriver jag SAfeZ 10 i MDI så går huvudet upp 10 mm från satta Z=0 till Z=10. Detta tycker jag tyder att "SafeZ" är relaterat till "Work Coordinate", men jag kan naturligtvis ha fel. Om det är så att SafeZ relaterar till work coordinate så borde väl koden i M6 och Även M31 macrot ha SafeZ relaterat till work coordinates.
Varför skall det vara så omöjligt att få detta att fungera. Tycker att CNC drive borde skriva om koden för dessa macron så att de går att använda. Samt att det skulle finnas video på deras hemsida hur man configurerar UCNCNC. Saknar även en möjlighet att kompensera för slitage i ledarskru/kulskruv.
Mvh John Eriksson i Bollnäs.
Just nu så sätter jag Z00 mot en tunn "fjäderstålremsa" Efter start av UCCNC "Home All" Joggar ner mot denna stålbit, nollställer Z. Markerar "Mobile Probe" i UCCNC, trycker "Reference curren as workpiece" i UCCNC. Då går fräsen till position för "Mobile probe" stannar upp 5-10 mm ovanför tool settern, sedan går fräshuvdet ner mot toll settern, träffar kolven och går upp några mm sedan går huvudet ner sakta och träffar kolven. Då går huvudet upp några mm stannar upp går sedan vidare till position för stålbiten och sänker huvudet ner till stålbiten på hundradelen av en mm (mätt med vippindikator)
skriver jag in M6 T1 eller T1M6 i MDI fälet så går huvudet upp till övre gränsläget och detta löser ut. Oavsett om jag satt
"double SafeZ = -50;" eller "double SafeZ = 50;"
Skriver jag SAfeZ 10 i MDI så går huvudet upp 10 mm från satta Z=0 till Z=10. Detta tycker jag tyder att "SafeZ" är relaterat till "Work Coordinate", men jag kan naturligtvis ha fel. Om det är så att SafeZ relaterar till work coordinate så borde väl koden i M6 och Även M31 macrot ha SafeZ relaterat till work coordinates.
Varför skall det vara så omöjligt att få detta att fungera. Tycker att CNC drive borde skriva om koden för dessa macron så att de går att använda. Samt att det skulle finnas video på deras hemsida hur man configurerar UCNCNC. Saknar även en möjlighet att kompensera för slitage i ledarskru/kulskruv.
Mvh John Eriksson i Bollnäs.
- Mickecarlsson
- EF Sponsor
- Inlägg: 4905
- Blev medlem: 15 april 2017, 18:06:15
- Ort: Malmö
- Kontakt:
Re: Får ej macro M6 att fungera i UCCNC.
Du har SafeZ satt till 100 i ditt M6 och M31 makro, det är 100 mm ovanför din nolla.
Om det är Machine Coordinates ska det vara -2, dvs, 2 mm under din Machine Coordinate Z0
Om det är Machine Coordinates ska det vara -2, dvs, 2 mm under din Machine Coordinate Z0
Re: Får ej macro M6 att fungera i UCCNC.
John har du tittat i koden för M6.txt och försökt förstå vad som händer och vad du ska ändra för att få det att fungera?
-
- Inlägg: 608
- Blev medlem: 30 december 2006, 22:53:06
- Ort: Bollnäs
Re: Får ej macro M6 att fungera i UCCNC.
Hej.
Jag har ändrat double SafeZ = 100; till både olika negativa och positiva heltal. Utan att det blir någon skillnad. Om det är så att något mer måste ändras i den koden så förstår jag det inte, då jag inte kan skriva dessa koder. Vet inte vilket språk som koden är skriven i basic, visual basic, Turbo Pascal eller C. Men när jag läser igenom koden så gissar jag att just denna kod är för automatiskt verktygsbyte av 10 olika verktyg. Då kanske det skall finnas åtminståne 1 verktyg i verktygsregistret i UCCNC.
Mvh John Eriksson i Bollnäs.
Jag har ändrat double SafeZ = 100; till både olika negativa och positiva heltal. Utan att det blir någon skillnad. Om det är så att något mer måste ändras i den koden så förstår jag det inte, då jag inte kan skriva dessa koder. Vet inte vilket språk som koden är skriven i basic, visual basic, Turbo Pascal eller C. Men när jag läser igenom koden så gissar jag att just denna kod är för automatiskt verktygsbyte av 10 olika verktyg. Då kanske det skall finnas åtminståne 1 verktyg i verktygsregistret i UCCNC.
Mvh John Eriksson i Bollnäs.
Re: Får ej macro M6 att fungera i UCCNC.
Ändrar du i rätt fil, ligger den på rätt ställe och är sparad senaste versionen?
Skaffa screenset, Micke verkar ju pigg på att guida och är nöjd med den.
Skaffa screenset, Micke verkar ju pigg på att guida och är nöjd med den.
-
- Inlägg: 608
- Blev medlem: 30 december 2006, 22:53:06
- Ort: Bollnäs
Re: Får ej macro M6 att fungera i UCCNC.
Hej Hawkan.
Jätte tack för ditt sista inlägg. Det fanns två kataloger med "Default Macros" med M6 och M31 macro i. Jag editerade de macron som låg i C:\UCCNC\Contents\Macro_Default när jag skulle editera filer i C:\UCCNC\Profiles\Macro_Default. Närjag ändrade till
"double SafeZ = -50;" och skrev in M6 t1 i MDI så gick fräshuvdet upp till Z-50 i maskin koordinater. Stannade och gick sedan till en annan position i X och Y axlarna. Sedan gick huvudet upp till övre gränsläge som löste ut.
Det blev bättre men inte helt bra. Men ändå en framgång tycker jag.
Mvh John Eriksson i Bollnäs.
Jätte tack för ditt sista inlägg. Det fanns två kataloger med "Default Macros" med M6 och M31 macro i. Jag editerade de macron som låg i C:\UCCNC\Contents\Macro_Default när jag skulle editera filer i C:\UCCNC\Profiles\Macro_Default. Närjag ändrade till
"double SafeZ = -50;" och skrev in M6 t1 i MDI så gick fräshuvdet upp till Z-50 i maskin koordinater. Stannade och gick sedan till en annan position i X och Y axlarna. Sedan gick huvudet upp till övre gränsläge som löste ut.
Det blev bättre men inte helt bra. Men ändå en framgång tycker jag.
Mvh John Eriksson i Bollnäs.
Re: Får ej macro M6 att fungera i UCCNC.
Nu får du gå in i koden och följa det som händer. Rörelserna är med G00 G53 plus positioner så det måste ju gå.
Antagligen används flera olika variablers värde för de olika rörelserna. Du får identifiera de variablerna och ge de lämpliga värden.
Antagligen används flera olika variablers värde för de olika rörelserna. Du får identifiera de variablerna och ge de lämpliga värden.
Re: Får ej macro M6 att fungera i UCCNC.
Borde det inte vara ett M00 efter detta också?Rörelserna är med G00 G53 plus positioner så det måste ju gå.
Det handlar ju om manuell verktygsväxling.
Re: Får ej macro M6 att fungera i UCCNC.
Om jag ska gissa för jag vet inte exakt hur uccnc fungerar utan det är bara vad jag snappat upp under vägen här
så är M6-skriptet inte ett g-kods program utan skriptet ger ett antal MDI-kommandon som positionerar.
Så allt stannar efter varje sådant mdi-kommando t ex G00 G53 Z-50
så är M6-skriptet inte ett g-kods program utan skriptet ger ett antal MDI-kommandon som positionerar.
Så allt stannar efter varje sådant mdi-kommando t ex G00 G53 Z-50
-
- Inlägg: 608
- Blev medlem: 30 december 2006, 22:53:06
- Ort: Bollnäs
Re: Får ej macro M6 att fungera i UCCNC.
Hej.
Hakan rådde mig att gå in i koden och följa det som händer. Jag provade kopiera in detta M6 macro till en text fil och laddade in den filen i UCCNC för att kunna köra en programrad i taget och se vad fräsen gör för varje rad som körs. Detta för att hitta den rad eller kommando där Z bär iväg uppåt tills att gränsläget löser ut. Men det gick inte att göra så, fräsen stod helt still när jag försökte köra en rad i taget. Så det torde stämma att dessa macron är uppbyggda på en rad MDI kommandon. Då borde det var möjligt att ta kopiera dessa kommandon till MDI och köra dom därifrån för att se vad som händer. Och på sånt sätt hitta de kommandon som styr Z upp till gränsläget.
Mvh John Eriksson i Bollnäs.
Hakan rådde mig att gå in i koden och följa det som händer. Jag provade kopiera in detta M6 macro till en text fil och laddade in den filen i UCCNC för att kunna köra en programrad i taget och se vad fräsen gör för varje rad som körs. Detta för att hitta den rad eller kommando där Z bär iväg uppåt tills att gränsläget löser ut. Men det gick inte att göra så, fräsen stod helt still när jag försökte köra en rad i taget. Så det torde stämma att dessa macron är uppbyggda på en rad MDI kommandon. Då borde det var möjligt att ta kopiera dessa kommandon till MDI och köra dom därifrån för att se vad som händer. Och på sånt sätt hitta de kommandon som styr Z upp till gränsläget.
Mvh John Eriksson i Bollnäs.
Re: Får ej macro M6 att fungera i UCCNC.
Kod: Markera allt
double SafeZ = 100;
double Ztoolrelease = 30;
double Ztoolpickup = 28;
Med det sagt så är, som påtalats tidigare, makrot gjort för verktygsväxlare med verktyg monterade i ett rack och detta behöver du plocka bort - bland annat.
- Mickecarlsson
- EF Sponsor
- Inlägg: 4905
- Blev medlem: 15 april 2017, 18:06:15
- Ort: Malmö
- Kontakt:
Re: Får ej macro M6 att fungera i UCCNC.
Nej, du kan inte ta kommando från en makro-fil utan att förstå hur ett makro fungerar.
Ett macro innehåller variabler, beräkningar, referenser till knappar, indikatorer och funktioner i UCCNC.
Dessa funktioner sätts ihop i makrot och skapar ”MDI” kommando som skickas till UCCNC.
Beroende på hur makrot kör kommer du få olika resultat.
Om du går till mappen där du har UCCNC ska du ha en mapp som heter Profiles.
I denna mapp ska du ha en eller flera .pro filer, dessa .pro är profiler till UCCNC. Varje profil har en egen makro-mapp.
I mitt fall har jag en file som heter Micke.pro vilket är min profil. Jag har sedan en map som heter Makro_Micke, här ligger mina makro.
Du kan se vilken profil du använder när du startat UCCNC, det kan vara Default.pro och Makro_Default, men bör helst vara en egen profil som när den skapas kopierar allt från Default. På så sätt kan man alltid skapa en ny profil om den man använder blir trasig. Har du ändrat i Default är det svårt att ta reda på vad som ändrades om något blir fel.
Jag gjorde precis som du i början när jag körde MACH3, letade makro på Internet och la dagar på att för det att fungera, när jag hittade Screenset köpte jag det och har aldrig ångrat det. Men jag kör bara trä på en CNC 6040, kör inget metall alls.
Ett macro innehåller variabler, beräkningar, referenser till knappar, indikatorer och funktioner i UCCNC.
Dessa funktioner sätts ihop i makrot och skapar ”MDI” kommando som skickas till UCCNC.
Beroende på hur makrot kör kommer du få olika resultat.
Om du går till mappen där du har UCCNC ska du ha en mapp som heter Profiles.
I denna mapp ska du ha en eller flera .pro filer, dessa .pro är profiler till UCCNC. Varje profil har en egen makro-mapp.
I mitt fall har jag en file som heter Micke.pro vilket är min profil. Jag har sedan en map som heter Makro_Micke, här ligger mina makro.
Du kan se vilken profil du använder när du startat UCCNC, det kan vara Default.pro och Makro_Default, men bör helst vara en egen profil som när den skapas kopierar allt från Default. På så sätt kan man alltid skapa en ny profil om den man använder blir trasig. Har du ändrat i Default är det svårt att ta reda på vad som ändrades om något blir fel.
Jag gjorde precis som du i början när jag körde MACH3, letade makro på Internet och la dagar på att för det att fungera, när jag hittade Screenset köpte jag det och har aldrig ångrat det. Men jag kör bara trä på en CNC 6040, kör inget metall alls.