DW10ChLength
D = Device(CAM01)
W = Funzioni di Scrittura
La funzione DW10ChLength è intimamente legata con la funzione DC20FlyCut o DC30FlyCut 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 DC20FlyCut o DC30FlyCut 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
DW10ChLength (CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRSYS | CodeG | W | Array contenente Code G calcolato |
IN | ARRSYS | CodeM | W | 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 | Var di errore nella scrittura camma |
Errore
Una volta richiamata la funzione se ci sono degli errori la variabile di errore assume i seguenti valori:
0 - Nessun errore
1 - Errore durante la scrittura nei settori della camma
Esempi
1° Esempio
MAIN: IF gfCambioLun gfCambioLun = 0 DC20FlyCut (LunPez, VriferM, VmaxS, TaccS, TdecS, TmAttHome, TmAttFTag, TmTaglio, TmAssest, TmExtraSp, ExtraSpaz, CodeG, CodeM, CodeQm, CodeQs, Error, NumSett, LunMin, SpazioRitM, SpazioRitS) IF NOT Error DW20ChLength (cmCamma, CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore) ENDIF ENDIF
2° Esempio
MAIN: IF gfCambioLun gfCambioLun = 0 DC30FlyCut (LunPez, VriferM, VmaxS, TaccS, TdecS, TmAttHome, TmAttFTag, TmTaglio, TmAssest, TmExtraSp, ExtraSpaz, CodeG, CodeM, CodeQm, CodeQs, Error, NumSett, LunMin, SpazioRitM, SpazioRitS) IF NOT Error DW20ChLength (cmCamma, CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore) ENDIF ENDIF
Note
-
Il flag 'ChExecut' è definito a toggle in quanto ogni volta che la funzione viene richiamata e porta a buon fine la sua missione, esso cambia di stato (da 0 passa a 1 o viceversa).
-
La funzione contiene istruzioni di wait che bloccano l'esecuzione del task in cui è ospitata, per cui è consigliabile creare un task apposito che la contenga oppure inserire la funzione in un task che può essere interrotto.