software:qview:qview_6:qcl_library:dw10chlenght

no way to compare when less than two revisions

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.


software:qview:qview_6:qcl_library:dw10chlenght [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== 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** 
 +<code QCL>
 +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
 +</code>
 +
 +**2° Esempio** 
 +<code QCL>
 +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
 +</code>
 +
 +=== 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