software:qview:qview_6:qcl_library:dw10chlenght

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.

DW10ChLength (CodeG, CodeM, CodeQm, CodeQs, ChExecut, Errore)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
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

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.
  • Ultima modifica: 2019/08/29 17:01