Questa volta non intendo fare degli indovinelli o proporre delle sfide di programmazione, vorrei proporre di presentare i vostri programmi più riusciti. Quelli da cui avete ricevuto più soddisfazione e con i quali siete riusciti, in qualche modo, a sfruttare velocità e precisione della vostra macchina utensile.
Io questa sera vi presento un programma, testato su un controllo Selca 1200, e che a molti potrà sembrare banale ma che ha una versatilità e una velocità unica.
Prima però vorrei fare una precisazione sul modo di programmare... Ognuno di noi ha un suo stile e alla fine arriviamo quasi sempre a soddisfare il pezzo che ci viene richiesto. A volte ricorriamo al Cad-Cam, oppure al linguaggio evoluto della macchina, o a degli spostamenti iso in coordinate semplici, casomai ci mettiamo più tempo del solito, ma alla fine, in un modo o in un altro ci saltiamo fuori.
Io personalmente dedico molto al perfezionamento dei programmi, in particolare quelli che uso più spesso, e questa ricerca mi ha portato a perfezionare una vasta serie di programmi.
Tornando al programma che vi voglio presentare, questo non è altro che una spianatura.
Delusi? Non giudicate così in fretta...
Di programmi di spianature ne sono stati fatti a migliaia e tutti hanno le loro caratteristiche. Quello che vi sto per presentare io ha una particolarità ... si muove a serpentina.
Perchè questo... io ho lavorato su varie macchine e con molteplici controlli. Le macchine più evolute e recenti hanno un sistema di spostamento di assi quasi perfetto ma le macchine vecchie, come quella su cui sto lavorando adesso ha un sistema di spostamento assi molto lento. Mi riferisco al cambio di assi e cioè quando si ferma l'asse X e parte l'asse Y o viceversa. Il tempo di pausa è esagerato, almeno su questa macchina. Mi sono detto, perchè non mettere un ciclo continuo con angoli raccordati in modo da non avere mai una pausa sugli assi?.
Le problematiche nel programmare questo tipo di spianatura sono state notevoli, una volta la fresa va verso destra e una volta va verso sinistra, un raccordo va in senso orario e un altro in senso antiorario... insomma, per trovare un algoristo che soddisfacesse tutti i movimenti, tutti i formati da spianare, tutte le profondità da raggiungere, mi ha fatto un po tribolare.
Basta con le chiacchere... il programma è abbastanza dettagliato, non vi sto a spiegare come ragiona perchè verrebbe veramente lunga. L'unica cosa che vi posso dire è quella di copiarlo e di metterlo sul vostro controllo Selca. Naturalmete Il richiamo del cambio UT, delle Origini, devono essere adattate alla versione del vostro Selca.
l'origine X Y si trova al centro pezzo e la Z sul piano di appoggio.
Nel mio caso il pezzo grezzo è di 35 e la misura che voglio raggiungere è di 30
Un'ultima cosa, in questo programma non si sono spostamenti in rapido se non quelli del primo posizionamento. Questo vuol dire che il programma seguirà in lavoro la traiettori da A-> B e da B-> A fino a quando non avrà raggiunto la quota finale P20. (vi allego un disegno)
%
N1 T1
N2 T818M6
N3 Z100R
N4 P0=35
N5 [ MISURA GREZZO
N6 P1=200
N7 [ MISURA X
N8 P2=150
N9 [ MISURA Y
N10 P3=20
N11 [ DIAMETRO FRESA
N12 P20=30
N13 [ MISURA FINITA IN Z
N14 P61=2200
N15 [ GIRI MANDRINO
N16 P62=2500
N17 [ AVANZAMENTO
N18 P27=5
N19 [ RAGGIO ANGOLO
N20 P31=0
N21 [ ORIENTAMENTO
N22 P32=2
N23 [ MAX PASSATA IN Z
N24 [==================
N25 G51JP31
N26 G49I0
N27 P28=0
N28 P29=180
N29 P30=90
N30 P51=180
N31 P52=1
N32 P12=P2-P3+4
N33 P10=P0+2
N34 P3=P3/2
N35 P5=P3*1.8
N36 P1=P1/2+P3+2
N37 P13=INT(P12/P5)+1
N38 P5=P12/P13
N39 P12=P12/2
N40 P23=P13
N41 XP1YP12R
N42 ZP10R
N43 SP61M13
N44 L=1
N45 ZP0FP62
N46 G41K1
N47 G13YP12JP51
N48 G21IP27
N49 L=2
N50 G13X-P1J-P30FP62
N51 G21IP27
N52 G13Y-P5IJP28
N53 P28=P28+P29
N54 P29=-P29
N55 G21I-P27
N56 P27=-P27
N57 P1=-P1
N58 P13=P13-1
N59 { P13 > 0 } L2
N60 [G13X-P1J-90
N61 G40X-P1Y0IK1
N62 P53=(P52/2)-INT(P52/2)
N63 { P53 = 0 } L5
N64 P51=P51+P29
N65 L=5
N66 P28=P28+P29
N67 P30=-P30
N68 P13=P23
N69 P5=-P5
N70 P12=-P12
N71 [P2=-P2
N72 P1=-P1
N73 { P0 = P20 } L3
N74 P0=P0-P32
N75 { P0 > P20 } L1
N76 P0=P20
N77 { P0 = P20 } L1
N78 L=3
N79 Z200RM5
N80 Y70R
N81 M30
%