Mach3 en subroutines werkt niet - OPGELOST

Alle vragen die betrekking hebben over Mach cnc controllers

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Rocnc
Berichten: 315
Lid geworden op: 02 dec 2008 20:39

Mach3 en subroutines werkt niet - OPGELOST

Bericht door Rocnc »

Mannen,
ik ben al een tijdje aan het stoeien met G-code in Mach3. Gewoon van punt A naar punt B lukt wel. Maar ik wil graag gebruik maken van variabelen, berekeningen, IF/THEN, subroutines enzo.

Ik was enthousiast begonnen aan een programmaatje waarmee mijn machine steeds weer een vierkantje zou frezen, iedere keer wat dieper. De Z-hoogte wilde ik dan steeds her-berekenen met #1001 = [#1001 - 0.5]. Maar ik krijg alleen foutmeldingen te zien.

Uiteindelijk een beetje ontmoedigd besloot ik een programma-tje uit de Mach handleiding bijna over te typen. Maar ook dat werkt niet zoals ik verwachtte. Mijn frees gaat netjes één keer van x0 naar x20 en terug, maar dan stopt hij. En dat terwijl de handleiding beschrijft dat het ding 5x heen en weer zou gaan.

Dit is mijn code:

Code: Selecteer alles

G21 G17 G90
F1000
M98 P1234 L5
M30
O1234
G1 x20
G1 x0
M99
Wat doe ik verkeerd? En: weten jullie waar ik voorbeeldcode en/of tutorials kan vinden? Ik heb inmiddels wat ervaring met VBA en daar struikel je werkelijk over handige voorbeelden. Met G-code en al zijn dialecten vind ik dat een stuk lastiger.... De voorbeelden in de handleiding van TurboCNC lijken in ieder geval niet bruikbaar voor Mach3...
Laatst gewijzigd door Rocnc op 11 feb 2016 08:00, 1 keer totaal gewijzigd.
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. - Robert Heinlein
skillalot
Donateur
Berichten: 3253
Lid geworden op: 19 apr 2007 19:04
Locatie: Nijmegen
Contacteer:

Re: Mach3 en subroutines werkt niet?

Bericht door skillalot »

Heb gelezen dat subroutines niet altijd even lekker werkt.
Kun je anders niet naar een file wegschrijven, en gewoon je hele code in een keer genereren.
Hessel Oosten
Berichten: 462
Lid geworden op: 17 mei 2011 16:33
Locatie: Molenhoek, bij Nijmegen
Contacteer:

Re: Mach3 en subroutines werkt niet?

Bericht door Hessel Oosten »

Hoi RoCNC (?),

Raar, raar, want je code is gewoon goed m.i. en moet.. het gewoon doen (en deed het hier ook toen ik het voor de eerste keer probeerde)
Hieronder een voorbeeld van een programmaatje op dezelfde manier wat ik maakte voor het frezen van tandwieltjes met een slag- of moduulfreesje.
't Gebruikt in feite dezelfde code alleen heb ik bij de "L" geen getal staan maar een variabele.
Het zou raar zijn als dat het verschil uit maakt, maar ik noem het maar.

Hessel

Code: Selecteer alles

(Programma voor moduulfrees in combinatie)
(met 4e as)
(Neem als X0, Y0 de positie van de moduulfrees)
(pal midden achter, tegen het te frezen tandwiel)
(Plaats frees rechts achter ;dus Y+, X+ richting)
(het te frezen  tandwiel; hoeveel is naar eigen keuze)
()
#2 = 8        (aantal tanden)
#3 = 0.1      (hoe dicht tandwiel te naderen)
#4 = 0.1      (hoe diep in het tandwiel per stapje)
(#5 = 23      (subroutine herhalingen)
#6 = 30      (voedingssnelheid in mm/min)
#8 = 200     (dwell/blijf-tijd in milliseconden, in dit voorbeeld 1 seconde, check vinkje aan in MACH3 Gen. Config)
#9 = 3           (halve X as verplaasing bij het frezen; het programma maakt er het dubbele van om de nul-waarde heen)

#1 =  [360/#2]
#7 =  [360/#2]

M98 P1 L[#2]

(#1 = [360/#2])
G0 Y3

M30

O1

G0 Y [#3]
(M1)
G1 Y [#4*-1]F[#6]
G1 X [#9*-1]F[#6]
(G4 P[#8])
G0 Y [#3]
G0 X [#9]
(G4 P[#8])
G0 A [#1]
(G4 P[#8])
#1= [#1+#7]
M99

(pi = 3,1415)
Gebruikersavatar
Rocnc
Berichten: 315
Lid geworden op: 02 dec 2008 20:39

Re: Mach3 en subroutines werkt niet?

Bericht door Rocnc »

Inderdaad raar. En meteen de lastigste reactie die ik kan krijgen, helaas. Begrijp ik goed dat precies mijn code bij jou wel werkt? Dan lijkt er iets met mijn hardware mis. Of ik druk op de verkeerde knoppen (is het dan niet gewoon cycle start)? Of is er ergens een setting of knop die herhaald aanroepen van subroutines tegenhoudt?
Ik heb alle originele Mach3 schermen nog.
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. - Robert Heinlein
arrian
Berichten: 10
Lid geworden op: 24 jan 2008 20:39
Locatie: Harderwijk
Contacteer:

Re: Mach3 en subroutines werkt niet?

Bericht door arrian »

Hallo

Zoiets heb ik ook eens gehad in het verleden

Zie dat je na het hoofd programma gelijk je onderprogramma hebt staan

Doe daar eens een paar regels tussen Door enter te doen .

En na het onderprogramma ook .
Dat werkte bij mij toen wel

Klinkt raar maar dat was het bij mij .

Gr Arrian
Hessel Oosten
Berichten: 462
Lid geworden op: 17 mei 2011 16:33
Locatie: Molenhoek, bij Nijmegen
Contacteer:

Re: Mach3 en subroutines werkt niet?

Bericht door Hessel Oosten »

Begrijp ik goed dat precies mijn code bij jou wel werkt?
Ik heb het nu niet (weer) geprobeerd, maar toen ik begon met uitproberen van dit soort dingetjes precies hetzelfde "programmaatje" ingetypt.
Valkuil is het verwisselen van de o (nul) en de O, maar dat is hier goed gedaan.
Wat voor foutmeldingen geeft MACH3 ? Daar moet de oplossing uit komen (denk ik).

Hessel
cncjohn
Berichten: 164
Lid geworden op: 25 sep 2014 19:51
Locatie: schijf
Contacteer:

Re: Mach3 en subroutines werkt niet?

Bericht door cncjohn »

Wat in de tutorial nog wordt gezegd
Geen lijn nummers voor het o woord maar dat heb je niet
M99 afsluiten met een enter
Wat mij verder opvalt is dat bij de voorbeeld progjes er overal lege regels zijn tussen gevoegd
Misschien is het zo dat de besturing de regels al vooruit leest en dus niet doet wat jij wil
Was vroeger bij oude Siemens besturingen ook wel eens een probleem
-
Gebruikersavatar
Rocnc
Berichten: 315
Lid geworden op: 02 dec 2008 20:39

Re: Mach3 en subroutines werkt niet?

Bericht door Rocnc »

Witte rook!
Het werkt! De lege regels en/of de return na de M99 lost het probleem op! Vanavond weer verder spelen :-)
Hartelijk dank allemaal!
Ro
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. - Robert Heinlein
Plaats reactie