Új hozzászólás Aktív témák

  • nchelp

    tag

    válasz Angyal Zoli #1828 üzenetére

    Üdv, leendő kolléga!

    A próbálkozás dicséretes, és ahhoz, hogy első, meg még működik is, nem is rossz :D Ez nem gúny akar lenni, nyugi. Komolyan mondom.

    X év makrózgatás, számos gép feltöltése után tenném számodra a következő javaslatokat:

    1-33-ig ne használj paraméterszámokat részeredmények kitárolására. Azokat célszerűbb meghagyni adatbevitelnek, bármikor kedved támadhat tovább bővíteni a makrót, és akkor már kilőtted az argumentum felhasználhatóságát. Olyankor kissé bosszús az ember. Ja, és makróba jobb nem tenni fix G90-et, csak ha előbb lementetted a megfelelő regiszterét.

    Az alapelgondolásod jó, (még a végén kiderül, hogy marós agyad van :D ) amire technikai szempontból érdemes lenne figyelni, hogy ha kiváltani akarsz egy gépi ciklust, akkor a hasonló értelmű címekhez hasonló argumentumot használj. Az is feltűnt, hogy nem használsz biztonsági távot a pozícionáláshoz. Veszélyes lehet. Ez a Fanucnál is agyrém... Megpróbálom kicsit itt most átdolgozni kapásból, szóval semmi nem garantálja, hogy elsőre jó lesz. (Járulékos előnyként viszont láthatod, hogy is csinál az ember saját hibajelzéseket, elkerülendő a hibás adatbevitelt, elírást)

    Először is szedjük össze, miket akarunk programozni!

    Nyers átmérő, legyen I
    Kész átmérő X
    Fogásvétel (U) (figyelem, eddig mind a három X tengelyre utal... Ráadásul G77 alatti sorokban U-val is tudsz fogást venni, tehát ez ilyen szempontból közös is)
    (R) kezdő biztonsági táv (mindkét tengelyen)
    Z mélység
    (V) ráhagyás átmérőn
    (W) megmunkálási sík
    (K) mint Z irányú ráhagyás.
    (B) kiemelés, azaz befejező bizt. táv a teljes megmunkálás végén (mindkét tengely)
    (F) előtolás
    (E) visszahúzás értéke a fogásvétel után, a mélységi ponton, felhúzás.

    %O9015
    IF[#4EQ#0] THEN #3000=4 (NYERSMERET?)
    IF[#24 EQ #0] THEN #3000=24 (KESZATMERO?)
    IF[#24 GE #4]THEN #3000=144 (ATMEROARANYOK HIBASAK)
    #104=#4 kitároljuk I értéket
    #124=#24+#22 ugyanezt X-re is
    IF[#23 EQ #0] THEN #23=0 W-nek fix értéket adunk, ne legyen üres
    IF[#6LE#0+0] THEN #3000=6 (RAHAGYAS HIBA!)
    IF[#26GT#0] THEN #3000=26 (MELYSEG HIBA/HIANYZIK]
    #126=#23-#26+#6 esztergálási hossz számítása
    IF[#18EQ#0] THEN #18=2
    #18=ABS[#18]
    #128=#104+#18
    #118=#23+#18 kezdő biztonsági táv rögzítése
    IF[#2EQ]0] THEN #2=20
    #2=ABS[#2]
    #102=#23+#2
    #112=#4+#2 kiemelési érték rögzítése
    #114=#104-#21 Első fogás meghatározása
    IF[#21 EQ #0] THEN #114=#124 ha nem adunk fogást, azonnal teljes mélységre megy!
    IF[#9 EQ#0] THEN #9=#4109 mentjük az utolsó előtolást
    IF [#8 EQ #0] THEN #8=2
    G0 X#112 Z#102 F#9 gyorsjárati közelítés R távokra
    WHILE[#114 GT #124] DO1 hurok meghatározása
    G1 X#114 F#9/2 fogásvétel
    G1 Z#126 F#9 a lényegi megmunkálás
    G1 U#8 visszahúzás X-en, "felhúzás" E-vel
    G0 Z#118 visszaugrás Z tengelyen R értékre
    #114=#114-#21 fogásvétel számoltatása
    END 1 Hurok lezár
    G1 X#124 F#9/2 kész átmérőre fogást vesz
    G1 Z#126 F#9 mint hat sorral feljebb...
    G1 U#8 mint egy sorral feljebb...
    G1 W[#8/2] átmérő tövétől elemel
    G0 X#124 Z#102 visszamenekül biztonsági távokra
    M99 vissza főprogramba
    %

    Nos, ez csak ránézésre ijesztő, amíg nem lesz egy kis rutinod. Utána már szinte kiabál a szemedbe, hogy mit is lehet programozni, mit nem. Természetesen nekem eleinte szintén nem volt egyszerű, viszont igaz az is, hogy én már a kezdet kezdetén így akartam összehozni anno a makróimat, hogy ne lehessen bennük elírást továbbvinni, tehát a nyilvánvaló baromságokat ne engedjék meg. Ez később sok kellemetlenségtől mentett meg úgy engem, mint a kollégákat, akikkel egy gépen dolgoztunk.

    Az elején megadott címek közül csak azok a kötelezően megadandóak, amelyek nincsenek zárójelben.

    tehát, hogy is nézne ki a mondatod?

    G777 I70 X32 (K) Z-80 (W) (R) (B) (F) (E) (V) (U2)
    Mindenképp kéri a két átmérőt, hosszot, és ennyi. A többi opcionális, annak függvényében, hogy mit szeretnél. Értelemszerűen a ráhagyások, biztonsági távok, felhúzás, megmunkálás Z kezdőpontja W cím alatt kapnak egy alapértéket, és nagyon fontos segítség gyakran, hogy a W-ben gyakorlatilag meghatározod, honnan számoljon Z-re mindent. Ha a nullpontod a darab tövén van, a teljes hosszod 142.77, és ennek az elején kell 34,28 hosszra esztergálnod, akkor a mondatodban a W142.77, és Z-34.28 állnak. Nem kell számolni, mint mazsola, erre van a vezérlő. Ha pedig elhagyod a fogást, akkor azonnal kész átmérőre esztergál, ami akkor jöhet jól, ha csak valamit egyszerre fel kell átmérőzni, vagy simítani.

    Ha kérdésed van, csak bátran, és ha nem ijesztettelek el nagyon, hozhatod majd nyugodtan a többit is.

    nchelp

Új hozzászólás Aktív témák