DC30FlyCut
D = Device(cam01,camming,camming2, camming3, camming4)
C = Funzioni di Calcolo
La funzione DC30FlyCut esegue i calcoli necessari per poter eseguire un taglio al volo lineare tenendo costante lo spazio percorso dallo Slave. Passando i parametri di lunghezza pezzo, spazio fisso Slave, velocità massima Slave, accelerazione/decelerazione Slave ed i vari tempi necessari al taglio, la funzione calcola i settori della camma e li scrive sugli array appositi. Successivamente sarà un'altra funzione (WrCam) ad occuparsi di scrivere i dati nel device desiderato. Nel caso ci siano dei problemi nei calcoli, per cui fisicamente non sia possibile eseguirlo, il tipo di errore occorso viene riportato nella variabile “Error”.
IMPLEMENTAZIONE
DC30FlyCut (LunPez, slSpazioS, VmaxS, TaccS, TdecS, TmAttHome, TmAttFTag, TmTaglio, TmAssest, TmExtraSp, ExtraSpaz, CodeG, CodeM, CodeQm, CodeQs, VmaxCalM, Error, NumSett, LunMin, SpazioRitM, SpazioRitS)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | SYSTEM | LunPez | L | lunghezza pezzo da tagliare (UM) |
IN | SYSTEM | slSpazioS | L | spazio Slave nel quale eseguire il taglio (UM) |
IN | SYSTEM | VmaxS | L | velocità max Slave (UM/s) |
IN | SYSTEM | TaccS | L | tempo accelerazione Slave (s/100) |
IN | SYSTEM | TdecS | L | tempo decelerazione Slave (s/100) |
IN | SYSTEM | TmAttHome | L | tempo di attesa Carro in Home prima della partenza (opzionale) (s/100) |
IN | SYSTEM | TmAttFTag | L | tempo attesa Carro alla fine del taglio (opzionale) (s/100) |
IN | SYSTEM | TmTaglio | L | tempo di durata del Taglio (s/100) |
IN | SYSTEM | TmAssest | L | tempo di assestamento prima del taglio (opzionale) (s/100) |
IN | SYSTEM | TmExtraSp | L | tempo nel quale eseguire un spazio extra dopo il taglio per staccare il pezzo(s/100) |
IN | SYSTEM | ExtraSpaz | L | spazio di distacco dello slave dal punto di taglio dopo il taglio (da compiersi nel tempo TmExtraSp) |
OUT | ARRSYS | CodeG | W | Array contenente Code G calcolato |
OUT | ARRSYS | CodeM | W | Array contenente Code M calcolato |
OUT | ARRSYS | CodeQm | L | Array contenente Spazio Master calcolato |
OUT | ARRSYS | CodeQs | L | Array contenente Spazio slave calcolato |
OUT | SYSTEM | VmaxCalM | L | Velocità Massima del Master calcolata in funzione dei parametri introdotti |
OUT | SYSTEM | Errore | B | Var di errore camma |
OUT | SYSTEM | NumSett | L | numero Settori della camma calcolata (variabile di uscita) |
OUT | SYSTEM | LunMin | L | lunghezza minima della camma (variabile di uscita) |
OUT | SYSTEM | SpazioRitM | L | Spazio Master in ritorno (variabile di uscita) |
OUT | SYSTEM | SpazioRitS | L | Spazio Slave in ritorno (variabile di uscita) |
Errore
Una volta richiamata la funzione la variabile di errore può assumere determinati valori, il significato di tali valori è riassunto di seguito:
0: calcolo eseguito senza errori
1: velocità Massima Slave o Spazio Slave per eseguire il taglio, uguali a 0
2: velocità slave calcolata superiore alla massima nello spazio extra-taglio
3: lunghezza pezzo insufficiente
4: spazio di ritorno negativo (lunghezza pezzo insufficiente)
5: velocità di ritorno slave superiore alla massima
6: tempo insufficiente per il ritorno
Note
-
Questa funzione calcola sempre la camma suddividendola in 12 settori
-
Il settore di taglio è il settore 3 (rowex = 3). In questo settore il codeM = 1000 per consentire la gestione dell'uscita di taglio dal device (parametro 'funout' del device Camming)
-
I tempi impostati nei parametri di ingresso alla funzione servono solamente per mantenere la proporzione tra i vari settori ma non possono venire rispettati (la durata del settore dipende dalla velocità del Master)