DaBit schreef: ↑15 jun 2021 11:34
Maar RS274/G-code ansich mag best een upgrade; 1960 is al best lang geleden. Je kunt er nog steeds geen spiraal in programmeren, geen circelboogje in het XA vlak, geen curve beschijven, de manier waarop flowcontrol, variabelen en procedures werken is naar moderne maatstaven tenenkrommend en bij elke sturing anders, de machine heeft zelf totaal geen vrijheid om zaken naar beste kunnen af te handelen, enzovoorts.
Qua cirkelboogjes in XA, YA, ZA.. Ga er maar eens aan staan om dat te beschrijven, want je zit met een Cartesische en polaire coordinaat in één regel..
er zijn, voor zover ik heb begrepen inmiddels wel "G-Code Dialecten" die in gewoon XY, XZ of YZ Polaire coordinaten toestaan.
Dat geeft al meer mogelijkheden, want Gaatjes op een Cirkeltje, da's in standaard G-Code al niet handig..zodra ik polaire Coordinaten zou kunnen gebruiken, dan wordt het al een stuk makkelijker.. Neem daarbij dan ook de mogelijkheid mee om Incrementele waarden te kunnen gebruiken naast absolute in één regel, dan kom je al heel wat verder..
Spiralen programmeren wordt dan ook een stuk makkelijker.. Je progt: een cirkel, radius 6Hoek?.. laten we zeggen 5400 graden (15 rondjes, Z incrementeel -1, en met het juiste gereedschap heb je ineens M12 x 1 in je werk zitten..
in Heidenhain Klartekst: Lineair-Polair: je zet eerst een Cirkel-center (CC), en vanaf dat punt ga je positioneren:
CC IX0 IY0 (of gewoon CC), de I voor de X en Y geeft aan Incrementeel
LP PR 20 PA 30 R0 FMAX Positioneert je tool op een radius van 20 tenopzichte van je CC, onder 30 Graden. (dan staat ie 17.320508mm verder op de X, en 10 mm op de Y., wil je een aantal gaten maken?.. Sommige Heidenhain besturingen geven de mogelijkheid om het laatst ingevoerde blok te herhalen,
LP IPA 30 R0 FMAX
LP IPA 30 R0 FMAX
LP IPA 30 R0 FMAX
geeft 3 keer een verplaatsing van 30 graden.. makkelijk zat..
een Helix?.. in Klartekst:
CC voor het middelpunt
en dan LP PR6 PA0 RR FMAX (Radius comp rechts G42 als het ware)
Gevolgd door CP IPA 5400 IZ-15 RR F200 (cirkel incrementeel 5400 graden, incrementeel Z-15, RadiusComp rechts.
dan onderin het gat:
LP PR 0
Hoe je dit in G-Code implenteert?.. dan zou je dus echt in de Interpreters van onze machines moeten gaan zitten hacken. .ik heb daar de kennis niet voor... en ik beschik ook niet over de broncode van een NIST interpreter.. lijkt me wel een leuke klus om te doen..
Laten we eens zien.. we hebben G00 en G01 voor Lineaire bewegingen, G02 en G03 voor Cirkels naar Vaste Coordinaten (die in sommige gevallen, zoals bij EdingCNC ook met Incrementele coordinaten geprogd kunnen worden door : X[#5001+30] , Actuele positie +30.. dus 30 mm incrementeel.
dan hebben we G04.. Pauze.. laten we zeggen dat we dan G05 pakken als CC
Dus.. G05 X20 Y30 zet het cirkelmiddelpunt op X20 Y30 (deze moet dan modaal zijn.. zodat het center daar blijft tot we een andere programmeren..
G06 kan dan een Lineair Polaire G0/G1 zijn..(ISO Code zou dan FMAX moeten krijgen als Ijlgang)
laten we zeggen :
G06 A30 R20 FMAX, Lineare verplaatsing Hoek 30, Radius 20
't plaatsen van een I voor een asletter voor Incrementele maten zou in ISO ook wel handig zijn.. , dan kan een volgende positie geprogrammeerd worden met
G06 IA30 R20..
Cirkels dan?.. In Klartekst zijn er geen CW of CCW cirkels.. wel - of +
laten we daar dan G07 voor pakken..
daar waar we met G02/G03 in ISO ook wat opties hebben zoals G02 X0 Y20 I-20 J0, of.. voor't zelfde boogje G02 X0 Y20 R20..
zouden we dan kunnen krijgen:
G07 X0 Y20 I-20 J0 DR+ (linksom) of G07 X0 Y20 I-20 J0 DR- (Rechtsom)
Of
G07 X0 Y20 R20 DR+/-
of.. als we Polair gaan doen..
G05 X0Y0
G07 A90 DR+
't is maar een ideetje..