DW22ChLength
D = Device(CAMMING, CAMMING2, CAMMING3)
W = Funzioni di Scrittura
La funzione DW22ChLength è intimamente legata con la funzione DC2xFlyCut o DC3xFlyCut (dove x>0)e viene utilizzata nelle applicazioni di taglio al volo. Essa serve per eseguire al volo il cambio di lunghezza del pezzo da tagliare.
Per fare questo occorre passare, come argomenti della funzione, gli array calcolati dalla funzione DC2xFlyCut o DC3xFlyCut che deve essere richiamata prima di questa perché esegua il calcolo con la nuova lunghezza.
La funzione contiene delle istruzioni di Wait al suo interno che bloccano l'esecuzione del task in cui è inserita. E' pertanto consigliabile inserire la funzione in un task che non ha la necessità di essere eseguito interamente ad ogni scansione di programma.
IMPLEMENTAZIONE
DW22ChLength (cmCamma, CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | CAMMING / CAMMING2 / CAMMING3 | cmCamma | - | Tipo di device a cui si può applicare la funzione |
IN | ARRSYS | CodeG | W/L | Array contenente Code G calcolato |
IN | ARRSYS | CodeM | W/L | Array contenente Code M calcolato |
IN | ARRSYS | CodeQm | L | Array contenente Spazio Master calcolato |
IN | ARRSYS | CodeQs | L | Array contenente Spazio slave calcolato |
OUT | GLOBAL | ChExecut | F | Flag (a toggle) di avvenuto cambio camma |
OUT | SYSTEM | Errore | B/L | Var di errore nella scrittura camma |
Errore
Una volta richiamata la funzione se ci sono degli errori la variabile di errore assume determinati valori, il significato di tali valori corrisponde alla variabile errcode del device.
Esempi
1° Esempio
MAIN: IF gfCambioLun gfCambioLun = 0 DC21FlyCut (TipoStart, LunPez, VriferM, VmaxS, TaccS, TdecS, TmAttHome, TmAttFTag, TmTaglio, TmAssest, TmExtraSp, ExtraSpaz, CodeG, CodeM, CodeQm, CodeQs, Error, NumSett, LunMin, SpazioRitM, SpazioRitS) IF NOT Error DW22ChLength (cmCamma, CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore) ENDIF ENDIF
2° Esempio
MAIN: IF gfCambioLun gfCambioLun = 0 DC31FlyCut (LunPez, VriferM, VmaxS, TaccS, TdecS, TmAttHome, TmAttFTag, TmTaglio, TmAssest, TmExtraSp, ExtraSpaz, CodeG, CodeM, CodeQm, CodeQs, Error, NumSett, LunMin, SpazioRitM, SpazioRitS) IF NOT Error DW22ChLength (cmCamma, CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore) ENDIF ENDIF
Note
-
Questa funzione calcola sempre la camma suddividendola in 12 settori.
-
Come settore di taglio viene mantenuto il numero 3.