Mijn vriend Zhou Weiquan, een senior ingenieur, houdt zich al meer dan 40 jaar bezig met CNC-toepassingen en heeft zich beziggehouden met de technologie en verwerking van duizenden onderdelen.
Hij ging ooit naar Japan om CNC-toepassingstechnologie te studeren en heeft twee monografieën gepubliceerd: "Development and Application of CNC Turning/Milling Macro Programs" en "CNC Turning and Milling of Threads" (uitgegeven door Machinery Press).
Hij heeft veel onderzoeksresultaten, die ik een voor een zal introduceren. Hier is een algemeen macroprogramma dat u kunt gebruiken.
Na het toekennen van waarden aan 13 variabelen kunnen deze direct gebruikt worden. Geïnteresseerde vrienden kunnen de commentaren lezen en de programmeerdiagrammen vergelijken om te begrijpen hoe deze zijn samengesteld. Dit is zijn derde zaak.
Het derde resultaat van het onderzoek van Zhou Weiquan
Algemeen macroprogramma voor het spiraalvormig frezen van cilindrische en conische gaten met behulp van verschillende frezen
O101; (Algemeen macroprogramma voor het spiraalfrezen van cilindrische gaten en taps toelopende gaten met verschillende frezen, de XY-oorsprong wordt ingesteld in het midden van het gat en de Z-asoorsprong wordt ingesteld op het bovenste kopvlak van het werkstuk)
N01 #100=_; (#100 is de diametercorrectiewaarde tijdens de verwerking. Als u de gatdiameter wilt vergroten, neem dan een positieve waarde, anders een negatieve waarde. Theoretisch is deze 0)
N02#1=a; (#1 vertegenwoordigt de halve kegelhoek van de kegel, die gelijk is aan 0 voor een cilindrisch gat)
N03#2=b; (#2 vertegenwoordigt de grootste diameter van de cilinder of kegel in het bovenste vlak)
N04#11=u; (#11 vertegenwoordigt de hoogte van de cilinder of kegel)
N05#3=c; (#3 vertegenwoordigt de verticale laagafstand tijdens het frezen)
N06#4=i; (#4 vertegenwoordigt de staphoek van stapsgewijs frezen, die naar wens kan worden geselecteerd)
N07#5=j; (#5 vertegenwoordigt de Z-waarde van het bewegende punt, de initiële waarde van deze toewijzing is de luchtraaklijnafstand boven het bovenoppervlak)
N08#7=d; (#7 vertegenwoordigt de grootste diameter van de frees D)
N09#18=r; (#18 vertegenwoordigt de bladradius)
N10#19=s; (#19 staat voor spiltoerental S)
N11#20=t; (#20 staat voor het gereedschapslengtecompensatienummer)
N12#21=u; (#21 is de code voor frezen met de klok mee/tegen de klok in, neem 3 voor frezen met de klok mee en neem 2 voor frezen tegen de klok in)
N13#22=v; (#22 staat voor de hoeveelheid gereedschapstoevoer per minuut)
N14#26=z; (#26 vertegenwoordigt de Z-coördinaatwaarde van de startpositie en eindpositie van de frees)
N21 #8=#18*[1-SIN[#1]];(#8 vertegenwoordigt de afstand in de Z-richting van het snijpunt tot het onderoppervlak van de frees)
N22 #9=0;(#9 vertegenwoordigt de bewegingshoek, wijs de beginwaarde 0 toe in deze sectie)
N23 #10=#2/2+[#5+#8]*TAN[#1]+#18*[1-COS[#1]]-#7 /2+#100/2;(#10 vertegenwoordigt de afstand tussen de hartlijn van de frees en het midden van de kegel)
N24 #12=#3*#4/360;(#12 vertegenwoordigt de afdalingsafstand in elke stap)
N25 #13=#3*TAN[#1]; (#13 vertegenwoordigt het verschil tussen de stralen van de twee cirkels)
N26 #14=#13*#4/360;(#14 vertegenwoordigt de waarde voor de straalreductie bij elke stap)
N27 G54 G94 G00 X0 Y0 Z#26; (Stel het werkstukcoördinatensysteem in, voeding per minuut, en de frees vertaalt zich naar het startpunt boven het midden van de kegel)
N28 S#19 M03; (Spindel begint te draaien)
N29 G43 H#20 Z#5; (Laat de frees de lengtecompensatiewaarde in de Z-richting toevoegen en vervolgens naar het snijstartvlak gaan)
N30 G#21X#10 R[#10/2] F#22; (De frees draait een halve slag in het horizontale vlak om de frees in te brengen)
N31 TERWIJL [#5 GT -[#11+#8]] DOEN 1; (Luskop: als aan de voorwaarden is voldaan, lusuitvoering tussen segmenten N32 en N38)
N32 #9=#9+[#21*2-5]*#4; (Bij neerwaarts frezen/opwaarts frezen wordt de bewegingshoek respectievelijk met één staphoek vergroot of verkleind ter voorbereiding op één stap van het snijden)
N33 #10=#10-#14; (Bereken de afstand tussen de middellijn van de frees en het middelpunt van de kegel opnieuw)
N34 #15=#10*COS[#9];(Herbereken de X-coördinaatwaarde van het bewegende punt)
N35 #16=#10*SIN[#9];(Herbereken de Y-coördinaatwaarde van het bewegende punt)
N36 G#21
N37 #5=#5-#12;(Herbereken de Z-coördinaatwaarde van het bewegende punt)
N38 EINDE 1; (einde lus: als aan de voorwaarden is voldaan, uitvoering van lus tussen segmenten N14 en N19)
N39 #9=#9+[#21*2-5]*#4; (Tijdens tegenlopend/oplopend frezen wordt de bewegingshoek respectievelijk met één staphoek vergroot of verkleind ter voorbereiding op een volledige cirkel van horizontaal frezen)
N40 #10=#2/2-#11*TAN[#1]+#18*[1-COS[#1]]-#7/2+#100 /2; (bereken de middellijn van de onderste frees en de tapse afstand tussen de harten)
N41 G#21
N42I[-#10*COS[#9]] J[-#10*SIN[#9]]; (frees een volledige cirkel horizontaal in het eindvlak)
N43G00 X0 Y0; (De frees vertaalt zich zodat deze samenvalt met de middellijn van de kegel)
N44G49 Z#26; (De frees annuleert de lengtecompensatie en stijgt naar #26 boven het kegelvlak)
N45M05; (Spindel vastgelopen)
N46M30;
Hieronder staan drie soorten freesdiagrammen voor het frezen van cilindrische gaten en tapse gaten.
afbeelding
Hieronder vindt u een schema voor het programmeren.
afbeelding
Voorbeeld:
Het volgende is een toepassingsvoorbeeld van dit algemene macroprogramma: een kogelfrees gebruiken om een taps toelopend bodemgat te frezen met een NPT0.5 binnendraad en een omgekeerde hoek van 120-graden.
afbeelding
Hieronder volgt de specifieke toewijzing van het taps toelopende onderste gat en de omgekeerde hoek van {{0}} graden voor het frezen van NPT0,5 interne schroefdraden.
%
O102; (Toewijzing van spiraalfrezen NPT0,5 conisch bodemgat met schroefdraad en φ10 kogelfrees, XY-oorsprong wordt ingesteld in het midden van het gat en Z-asoorsprong wordt ingesteld op het bovenste eindvlak van het werkstuk)
N01#100=_; (#100 is de diametercorrectiewaarde tijdens de verwerking. Als u de gatdiameter wilt vergroten, neem dan een positieve waarde, anders een negatieve waarde. Theoretisch is deze 0)
N02 #1=1.79; (#1 vertegenwoordigt de halve kegelhoek van de kegel, die gelijk is aan 0 voor een cilindrisch gat)
N03 #2=18.321;(#2 vertegenwoordigt de grootste diameter van de cilinder of kegel in het bovenste vlak)
N04#11=15; (#11 vertegenwoordigt de hoogte van de cilinder of kegel)
N05 #3=0.5; (#3 vertegenwoordigt de verticale laagafstand tijdens het frezen)
N06#4=30; (#4 vertegenwoordigt de staphoek van stapsgewijs frezen, die naar wens kan worden geselecteerd)
N07 #5=0.5; (#5 vertegenwoordigt de Z-waarde van het bewegende punt, de initiële waarde van deze toewijzing is de luchtraaklijnafstand boven het bovenoppervlak)
N08#7=10; (#7 vertegenwoordigt de grootste diameter van de frees D)
N09#18=5; (#18 vertegenwoordigt de bladradius)
N10#19=1500; (#19 staat voor spiltoerental S)
N11#20=1; (#20 staat voor het gereedschapslengtecompensatienummer)
N12#21=2; (#21 is de code voor frezen met de klok mee/tegen de klok in, neem 3 voor frezen met de klok mee en neem 2 voor frezen tegen de klok in)
N13#22=50; (#22 staat voor de hoeveelheid gereedschapstoevoer per minuut)
N14#26=100; (#26 vertegenwoordigt de Z-coördinaatwaarde van de startpositie en eindpositie van de frees)
…
%
%
O103; (Toewijzing van 120-gradenafschuining voor spiraalfrezen van NPT0,5-schroefdraad met φ10 kogelfrees, XY-oorsprong bevindt zich in het midden van het gat en de Z-asoorsprong wordt ingesteld op het bovenste eindvlak van het werkstuk)
N01#100=_; (#100 is de diametercorrectiewaarde tijdens de verwerking. Als u de gatdiameter wilt vergroten, neem dan een positieve waarde, anders een negatieve waarde. Theoretisch is deze 0)
N02 #1=60; (#1 vertegenwoordigt de halve kegelhoek van de kegel, die gelijk is aan 0 voor een cilindrisch gat)
N03 #2=22.321;(#2 vertegenwoordigt de grootste diameter van de cilinder of kegel in het bovenste vlak)
N04 #11=1.8; (#11 vertegenwoordigt de hoogte van de cilinder of kegel)
N05 #3=0.2; (#3 vertegenwoordigt de verticale laagafstand tijdens het frezen)
N06#4=30; (#4 vertegenwoordigt de staphoek van stapsgewijs frezen, die naar wens kan worden geselecteerd)
N07 #5=0.25; (#5 vertegenwoordigt de Z-waarde van het bewegende punt, de initiële waarde van deze toewijzing is de luchtraaklijnafstand boven het bovenoppervlak)
N08#7=10; (#7 vertegenwoordigt de grootste diameter van de frees D)
N09#18=5; (#18 vertegenwoordigt de bladradius)
N10#19=1500; (#19 staat voor spiltoerental S)
N11#20=1; (#20 staat voor het gereedschapslengtecompensatienummer)
N12#21=2; (#21 is de code voor frezen met de klok mee/tegen de klok in, neem 3 voor frezen met de klok mee en neem 2 voor frezen tegen de klok in)
N13#22=50; (#22 staat voor de hoeveelheid gereedschapstoevoer per minuut)
N14#26=100; (#26 vertegenwoordigt de Z-coördinaatwaarde van de startpositie en eindpositie van de frees)
…
%





