software:qview:qview_6:qcl_library:dc10velcam

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:dc10velcam [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== DC10VelCam ======
 +
 +**D = **//Device(CAMMING2, CAMMING3)//
 +
 +**C = **//Funzioni di Calcolo//
 +
 +Lo scopo della funzione DC10VelCam è quello di __calcolare gli spazi Master e Slave per poter costruire i settori di accelerazione, decelerazione e velocità costante per un device tipo camma elettronica__.\\
 +Questi settori vengono calcolati in modo che le pendenze delle rampe di accelerazione e decelerazione vengano rispettate in base ai parametri di tempo di accelerazione e decelerazione  impostati.\\
 +Il profilo di velocità della camma che si ottiene con questa funzione è il seguente:
 +
 +{{.:dc10velcam:dc10velcam_01.png?nolink550|}}
 +
 +===== IMPLEMENTAZIONE =====
 +
 +**DC10VelCam (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa, Errore)**
 +
 +Parametri:
 +
 +^IN/OUT^TIPO VARIABILE^NOME DI ESEMPIO^DIM^^
 +|  IN  |  ARRSYS  |  aslParam [1]  |  L  |Spazio Master da percorrere (UM)|
 +|  IN  |  ARRSYS  |  aslParam [2]  |  L  |Spazio Slave da percorrere (UM)|
 +|  IN  |  ARRSYS  |  aslParam [3]  |  L  |Velocità Master di riferimento (UM/sec)|
 +|  IN  |  ARRSYS  |  aslParam [4]  |  L  |Velocità massima Slave (UM/sec)|
 +|  IN  |  ARRSYS  |  aslParam [5]  |  L  |Tempo di accelerazione Slave per portarsi da zero a velocità max (s/100)|
 +|  IN  |  ARRSYS  |  aslParam [6]  |  L  |Tempo di decelerazione Slave per portarsi da velocità max a zero (s/100)|
 +|  IN  |  ARRSYS  |  aslParam [7]  |  L  |Velocità di partenza dello Slave (UM/sec) (opz.)|
 +|  IN  |  ARRSYS  |  aslParam [8]  |  L  |Parametro "measure" del device utilizzato|
 +|  IN  |  ARRSYS  |  aslParam [9]  |  L  |Parametro "pulse" del device utilizzato|
 +|  OUT  |  ARRSYS  |  CodeG  |  L  |Array contenente Code G calcolato (OUT)|
 +|  OUT  |  ARRSYS  |  CodeM  |  L  |Array contenente Code M calcolato (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQm  |  L  |Array contenente CodeQm calcolato (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQs  |  L  |Array contenente CodeQs calcolato (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQma  |  L  |Array contenente CodeQma (codice ausiliario) (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQsa  |  L  |Array contenente CodeQsa (codice ausiliario) (OUT)|
 +|  OUT  |  SYSTEM  |  Errore  |  B  |Var di errore nella scrittura camma (OUT)|
 +
 +==== Errore ====
 +
 +Una volta richiamata la funzione la variabile di errore assume determinati valori, il significato di tali valori è riassunto di seguito:\\
 +0: calcolo eseguito senza errori\\
 +1: velocità massima Slave minore o uguale a 0\\
 +2: Velocità Master minore o uguale a 0\\
 +3: Tempo di accelerazione minore o uguale a 0\\
 +4: Tempo di decelerazione minore o uguale a 0\\
 +5: Camma non realizzabile (spazi troppo piccoli)\\
 +6: Camma non realizzabile (somma del tempo delle rampe calcolate superiore al tempo massimo)\\
 +7: Velocità Slave calcolata superiore alla velocità Slave massima
 +
 +=== Esempio ===
 +
 +<code QCL>
 +MAIN:                  
 +     IF gfCalcVel
 +           gfCalcVel = 0
 +           
 +           aslParam[1] = 10000 ;Spazio Master
 +           aslParam[2] = 3000 ;Spazio Slave
 +           aslParam[3] = 1500 ;Velocità Master
 +           aslParam[4] = 4000 ;Velocità massima Slave
 +           aslParam[5] = 50 ;Tempo di accelerazione
 +           aslParam[6] = 50 ;Tempo di decelerazione
 +           aslParam[7] = 0 ;Velocità di partenza Slave
 +           aslParam[8] = 1000 ;Parametro "measure" del device
 +           aslParam[9] = 4000 ;Parametro "pulse" del device
 +
 +           DC10VelCam (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa, Errore)
 +           IF NOT Errore
 +              SettIniz = 1
 +              NumSet =  3
 +              DW20WrCam(cmCamma,CodeG,CodeM,CodeQm,CodeQs,CodeQma,CodeQsa,SettIniz,SettFine,NumSet,Errore)
 +           ENDIF
 +     ENDIF
 +</code>
 +
 +=== Note di funzionamento ===
 +
 +  *La velocità costante dello Slave è la velocità  che lo Slave possiede al momento di compiere lo spazio impostato. Questa velocità può essere impostata a zero o anche minore di zero.
 +  *Lo spazio Slave da impostare può essere anche negativo, in tal caso il calcolo verrà eseguito in modo da far tornare indietro lo Slave per lo spazio impostato
 +  *Il numero di settori utilizzati è sempre 3
 +  *Nel caso in cui lo spazio che deve compiere lo Slave sia minore di quello che lo Slave farebbe grazie alla velocità costante, il profilo di velocità che ne deriva è rappresentato nel grafico seguente (lo stesso vale per velocità negative).
 +
 +{{.:dc10velcam:dc10velcam_02.png?nolink550|}}
 +
 +N.B.: Nel grafico rappresentato la velocità potrebbe diventare negativa (e quindi far arretrare lo Slave) nel caso lo spazio Slave impostato sia minore dello spazio compiuto per le rampe di accelerazione e decelerazione.
 +
  
  • Ultima modifica: 2019/08/29 17:01