aiutino su programma parametrico xilog plus

ISO Fanuc, ISO Mitsubishi, Mori Seiki, Fanuc Manual Guide, etc.

Moderatore: Fiveaxis

Rispondi
vipa16
Newbie
Newbie
Messaggi: 3
Iscritto il: martedì 10 ottobre 2017, 16:06

aiutino su programma parametrico xilog plus

Messaggio da vipa16 » martedì 10 ottobre 2017, 19:35

Ciao,ho fatto un programma parametrizzato il problema mi sorge subito ho inserito parametro largh che determina la larghezza del pannello in base al quale a seconda delle dimesioni esegue tot fori in DY ,se minore di 400 esegue 3 fori, da 400 fino 600 esegue 4 fori ,da 600 fino ai 1000 esegue 5 fori, da 1500 fino a 2000 esegue 6 fori, se maggore di 2000 esegue 8 fori, io lo fatto cosi ma probabilmente mi sono perso qualcosa o non lo pensato giusto,perche se metto larghezza 650 fa sia i 4 che i 5 fori ( provato a mettere anche degli else tra gli if). Spero qualcuno possa aiutarmi grazie. P.s. come vedete ci sono altri parametri qunidi il programma e solo all' inizio. La versione del mio xilog e la 1.12.007.

H DX=3000 DY=2000 DZ=18 -A C=0 T=0 R=100 *MM/"DEF"
PAR ALT = 1200 "ALTEZZA X"
PAR LARGH =650 "LARGHEZZA DY"
PAR SPESS = 18 "SPESSORE DZ"
PAR ORGBY = 420 "ORIGINE BY"
PAR SPESSBASE = 18 "SPESSORE BASE"
PAR SPESSCAPP = 18 "SPESSORE CAPPELLO"
PAR SPESSFIANCO = 18 "SPESSORE FIANCO"
PAR SPESSTRAM = 18 "SPESSORE TRAMEZZO"
PAR SPESSCHIENA = 18 "SPESSORE SCHIENA"
PAR BASEL =1 "SE =1 BASE IN LUCE"
PAR CAPPL =0 "SE =1 CAPPELLO IN LUCE"
PAR FIANCOL =0 "SE=1 FIANCO IN LUCE"
PAR ALTZOCC = 100 "ALTEZZA ZOCCOLO"
PAR REGG =0 "SE= 1 CON REGGIPIANI"
PAR NREGG = 10 "NUMERO DI REGGIPIANI"
PAR PREGG = 32 "PASSO REGGIPIANI"
PAR GCASS = 0 "GUDE CASSETTI 1=SEA 2=QUADRO"
PAR GQUADRO = 1 "GUIDA QUADRO 1 =250/320 2=350/450 3=480/520 4=550 5=600"
PAR BASET = 0 "BASETTE"
PAR SFBASET = -1.5 "SFIORO BASETTTE"
REF DX=ALT DY=LARGH DZ=SPESS
;LAV BASE
IF BASEL THEN
IF LARGH <=400 THEN ;3FORI
XBO X=DZ/2 Y=30 Z=17 F3 C0 K0 P0 R=3# x=0 y=(DY-60)/2 D=8 N="P"
XBO X=DZ - (DZ/2) Y=30 Z=17 R=3 x=0 y=(DY-60)/2 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >400 AND IF <=600 THEN ;4FORI
XBO X=DZ/2 Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >600 AND IF <=1000 THEN ;5FORI
XBO X=DZ/2 Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >1000 AND IF >=1500 THEN ;6FORI
XBO X=DZ/2 Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >2000 THEN ;8FORI
XBO X=DZ/2 Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=2 C=0 K=0 P=0
FI
FI

pela73
Senior
Senior
Messaggi: 1522
Iscritto il: domenica 7 ottobre 2007, 23:25
Località: MB monza e brianza

Re: aiutino su programma parametrico xilog plus

Messaggio da pela73 » martedì 10 ottobre 2017, 23:53

Probabilmente perché si trova (che so) il 600 in 2 variabili diverse.
Prova a fare fino a 600 e oltre 601.
ciao Mirko

Alphacam 2016 R1 Ultimate ,Routech Chronos 37-22 ( 5 assi ) SCM Record 120 ( 3 assi )
Morbidelli Author 502 ( 3 assi )

vipa16
Newbie
Newbie
Messaggi: 3
Iscritto il: martedì 10 ottobre 2017, 16:06

Re: aiutino su programma parametrico xilog plus

Messaggio da vipa16 » venerdì 13 ottobre 2017, 14:59

ho gia provato a mettere >= 401 and if >=600 e >=601 and if >= 1000 non ce verso se metto piu di 601 prende anche come se fosse minore di 1000 cioe da 0 a 1000 non riesco a racchiedere i 2 valori da esempio 601 fino a 1000 almeno con questa versione lo avevo fatto circa 5 anni fa col xilog 3 ora non lo ricordo esattamente ma funzionava. Possibile che non ci sia un modo per racchiudere i 2 valori?.

billielliot
Senior
Senior
Messaggi: 1574
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: aiutino su programma parametrico xilog plus

Messaggio da billielliot » venerdì 13 ottobre 2017, 15:48

Ciao vipa16,

non conosco il linguaggio di programmazione ma provo a dire la mia:

nel tuo listato sia la condizione "IF <=600 " che la condizione "<=1000 " sono soddisfatte nel caso tu scriva 650. Di solito gli IF vengono letti tutti in sequenza ed eseguiti di conseguenza.

Se il linguaggio di programmazione lo prevede, prova a usare le parentesi per accorpare le condizioni.

Sempre se il linguaggio di programmazione lo prevede, puoi provare ad usare un ciclo SELECT (alcuni lo chiamano SWITCH)

Di seguito il tuo codice leggermente corretto con le parentesi e alcune condizioni degli IF riviste, sia perche' I simboli non erano tutti corretti (tuo caso >=1500) sia perche' non seguono quanto hai descritto nel testo introduttivo.

Rimane un "buco" tra la quota 1000 e 1500. Se inserisci quota 1200, non verra' fatto nessun foro.

Ciao :-)

Mauro

Codice: Seleziona tutto

IF LARGH <=400 THEN ;3FORI
XBO X=DZ/2 Y=30 Z=17 F3 C0 K0 P0 R=3# x=0 y=(DY-60)/2 D=8 N="P"
XBO X=DZ - (DZ/2) Y=30 Z=17 R=3 x=0 y=(DY-60)/2 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >400 AND IF <=600) THEN ;4FORI
XBO X=DZ/2 Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >600 AND IF <=1000) THEN ;5FORI
XBO X=DZ/2 Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >1500 AND IF <=2000) THEN ;6FORI
XBO X=DZ/2 Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >2000 THEN ;8FORI
XBO X=DZ/2 Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=2 C=0 K=0 P=0
Amat victoria curam

pela73
Senior
Senior
Messaggi: 1522
Iscritto il: domenica 7 ottobre 2007, 23:25
Località: MB monza e brianza

Re: aiutino su programma parametrico xilog plus

Messaggio da pela73 » venerdì 13 ottobre 2017, 15:56

Anche a me come a Mauro è venuto il dubbio che vada messo qualcosa tra parentesi.
ciao Mirko

Alphacam 2016 R1 Ultimate ,Routech Chronos 37-22 ( 5 assi ) SCM Record 120 ( 3 assi )
Morbidelli Author 502 ( 3 assi )

billielliot
Senior
Senior
Messaggi: 1574
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: aiutino su programma parametrico xilog plus

Messaggio da billielliot » martedì 17 ottobre 2017, 21:06

@pela73

funzionera' la soluzione proposta?

Mi sa' che rimarremo con la curiosita' fino a quando non passera' qualcuno con la stesso problema :lol:

Ciao :-)

Mauro
Amat victoria curam

pela73
Senior
Senior
Messaggi: 1522
Iscritto il: domenica 7 ottobre 2007, 23:25
Località: MB monza e brianza

Re: aiutino su programma parametrico xilog plus

Messaggio da pela73 » martedì 17 ottobre 2017, 22:51

Se mi viene voglia lo copio in routolink e vedo cosa fa :wink:
ciao Mirko

Alphacam 2016 R1 Ultimate ,Routech Chronos 37-22 ( 5 assi ) SCM Record 120 ( 3 assi )
Morbidelli Author 502 ( 3 assi )

safe60
Member
Member
Messaggi: 395
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: aiutino su programma parametrico xilog plus

Messaggio da safe60 » martedì 17 ottobre 2017, 23:00

... da 1500 fino a 2000 esegue 6 fori,...
Secondo me questa riga e' sbagliata :
IF LARGH >1000 AND IF >=1500 THEN ;6FORI con LARGH maggiore di 1000 e maggiore uguale di 1500 ???

ma se deve forare 6 volte con larghezza fra 1500 e 2000 metterei :
IF LARGH >1500 AND IF <=2000 THEN ;6FORI

resterebbe il buco compreso fra 1001 e 1500 dove NON sono eseguiti fori.

A parte questo, Il problema e' un altro. E corretto che faccia 5 fori perche' 650 e' evidentemente compreso fra 600 e 1000. L'errore e' che lavori i 4 fori. A questo proposito sembra che l'inteprete del programma valuti solo la prima condizione e non anche quella dopo l' AND.
Spiego meglio:

IF LARGH >400 AND IF <=600 THEN ;4FORI

il programma valuta la condizione LARGH > 400. Questo test risulta vero perche' LARGH e' 650. Poiche pero' c'e' un AND, anche la condizione dopo deve essere vera per attivare i 4 fori. Ma questa seconda verifica non viene valutata (altrimenti NON forerebbe). In pratica si comporta come se fosse un OR logico dove una qualsiasi condizione che sia vera attiva l'esecuzione del codice che fora 4 volte.

Quando arriva al test successivo (quello dei 5 fori..) stessa cosa. Viene da pensare che i 5 fori siano eseguiti non perche' la larghezza e' compresa fra 600 e 1000 ma solo perche' e' piu grande di 600. Se e' cosi', anche con 1001 dovrebbe forare 5 volte.

quella dei 4 fori verrebbe da riscriverla cosi' :
IF LARGH <= 600 AND IF > 400 THEN ;4FORI

qui il primo test fallisce e non dovrebbe lavorare i 4 fori.
certo che.. dal punto di vista sintattico questo linguaggio e' veramente particolare. (avevo pensato a un altro aggettivo a dire la verita').
Meglio sarebbe :
IF LARGH > 400 AND LARGH <= 600 THEN....

billielliot
Senior
Senior
Messaggi: 1574
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: aiutino su programma parametrico xilog plus

Messaggio da billielliot » giovedì 19 ottobre 2017, 11:42

Ciao safe60,

il suggerimento di usare le parentesi andava proprio in quella direzione.

Il programma non accorpa le due condizioni ma esegue solo la prima (se e' corretta).

Inoltre: gli IF vengono letti e eseguiti tutti (se la condizione risulta vera).

Non consocendo il linguaggio di programmazione, si puo' solo ipotizzare.

Un modo diverso di scrivere questi IF potrebbe essere:

Codice: Seleziona tutto

IF LARGH <=400 THEN ;3FORI
XBO X=DZ/2 Y=30 Z=17 F3 C0 K0 P0 R=3# x=0 y=(DY-60)/2 D=8 N="P"
XBO X=DZ - (DZ/2) Y=30 Z=17 R=3 x=0 y=(DY-60)/2 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF 400 < LARGH <= 600 THEN ;4FORI
XBO X=DZ/2 Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF  600 < LARGH <=1000 THEN ;5FORI
XBO X=DZ/2 Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF 1000 < LARGH <= 1500 THEN ;6FORI
XBO X=DZ/2 Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF LARGH >2000 THEN ;8FORI
XBO X=DZ/2 Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=2 C=0 K=0 P=0
FI
Inteso come: "IF 400 < LARGH <= 600 THEN...." se LARGH e' compreso tra un minimo di 401 (compreso 401) e un massimo di 600 (compreso 600) allora...


rimane sempre il buco tra 1501 e 2000.

Ciao :-)

Mauro
Amat victoria curam

safe60
Member
Member
Messaggi: 395
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: aiutino su programma parametrico xilog plus

Messaggio da safe60 » giovedì 19 ottobre 2017, 22:14

Peccato che Vipa16 non si sia piu fatto sentire. Era interessante capire se aveva fatto altre prove.

kalap
Newbie
Newbie
Messaggi: 8
Iscritto il: martedì 6 marzo 2018, 23:29

Re: aiutino su programma parametrico xilog plus

Messaggio da kalap » mercoledì 7 marzo 2018, 2:24

this is correct working. (it has to be IF (X>VALUE) AND (X<VALUE2) THEN .......DO ..... FI)

H DX=3000 DY=2000 DZ=18 -A C=0 T=0 R=100 *MM/"DEF"
PAR LARGH = 1500 "LARGHEZZA DY"
PAR SPESS = 18 "SPESSORE DZ"
PAR ORGBY = 420 "ORIGINE BY"
PAR SPESSBASE = 18 "SPESSORE BASE"
PAR SPESSCAPP = 18 "SPESSORE CAPPELLO"
PAR SPESSFIANCO = 18 "SPESSORE FIANCO"
PAR SPESSTRAM = 18 "SPESSORE TRAMEZZO"
PAR SPESSCHIENA = 18 "SPESSORE SCHIENA"
PAR BASEL = 1 "SE =1 BASE IN LUCE"
PAR CAPPL = 0 "SE =1 CAPPELLO IN LUCE"
PAR FIANCOL = 0 "SE=1 FIANCO IN LUCE"
PAR ALTZOCC = 100 "ALTEZZA ZOCCOLO"
PAR REGG = 0 "SE= 1 CON REGGIPIANI"
PAR NREGG = 10 "NUMERO DI REGGIPIANI"
PAR PREGG = 32 "PASSO REGGIPIANI"
PAR GCASS = 0 "GUDE CASSETTI 1=SEA 2=QUADRO"
PAR GQUADRO = 1 "GUIDA QUADRO 1 =250/320 2=350/450 3=480/520 4=550 5=600"
PAR BASET = 0 "BASETTE"
PAR SFBASET = -1.5 "SFIORO BASETTTE"
REF DX=ALT DY=LARGH DZ=SPESS
;LAV BASE
IF BASEL THEN
IF LARGH < 400 THEN ;3FORI
XBO X=DZ/2 Y=30 Z=17 F3 C0 K0 P0 R=3# x=0 y=(DY-60)/2 D=8 N="P"
XBO X=DZ - (DZ/2) Y=30 Z=17 R=3 x=0 y=(DY-60)/2 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >= 400) AND (LARGH < 600) THEN
XBO X=DZ/2 Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=4# x=0 y=(DY-60)/3 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >= 600) AND (LARGH < 1000) THEN
XBO X=DZ/2 Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=30 Z=17 R=5# x=0 y=(DY-60)/4 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >= 1000) AND (LARGH <1500) THEN
XBO X=DZ/2 Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=6# x=0 y=(DY-100)/5 D=8 N="P" F=2 C=0 K=0 P=0
FI
IF (LARGH >=1500) THEN
XBO X=DZ/2 Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=3 C=0 K=0 P=0
XBO X=DZ - (DZ/2) Y=50 Z=17 R=8# x=0 y=(DY-100)/7 D=8 N="P" F=2 C=0 K=0 P=0
FI
FI

billielliot
Senior
Senior
Messaggi: 1574
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: aiutino su programma parametrico xilog plus

Messaggio da billielliot » mercoledì 7 marzo 2018, 14:51

Grazie kalap! Thanks kalap!

Ciao :-)

Mauro
Amat victoria curam

Rispondi

Torna a “Programmazione CNC”