software:qview:qview_6:qcl_library:dc11spacecam

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:dc11spacecam [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== DC11SpaceCam ======
 +
 +**D = **//Device(CAMMING2, CAMMING3)//
 +
 +**C = **//Funzioni di Calcolo//
 +
 +*** = **//Sostituisce la funzione ////**DC10SpaceCam**//
 +
 +Lo scopo della funzione DC10SpaceCam è quello di __calcolare il minimo spazio Master possibile per eseguire uno spazio slave__ con un device tipo camma elettronica. Oltre a fare il calcolo dello spazio e a fornirlo su una variabile di uscita, la funzione calcola i codici e gli spazi per poter programmare una camma con un settore di accelerazione, uno di velocità costante (alla massima velocità Slave), e uno di decelerazione. La pendenza delle rampe di accelerazione e decelerazione dipende dai parametri di accelerazione e decelerazione che si impostano.\\
 +Il grafico seguente illustra come viene suddiviso lo spazio Slave da percorrere:
 +
 +{{.:dc11spacecam:dc11spacecam_01.png?nolink550|}}
 +
 +Nel caso che la massima velocità non sia raggiungibile perché lo spazio slave risulta essere insufficiente, il profilo di velocità diventa  il seguente: 
 +
 +{{.:dc11spacecam:dc11spacecam_02.png?nolink350|}}
 +
 +===== IMPLEMENTAZIONE =====
 +
 +**DC10SpaceCam (aslParam,codeG,codeM,codeQm,codeQs,codeQma,codeQsa,SpaceM,sbError)**
 +
 +Parametri:
 +
 +^IN/OUT^TIPO VARIABILE^NOME DI ESEMPIO^DIM^^
 +|  IN  |  ARRSYS  |  aslParam [1]  |  L  |Spazio Slave da percorrere (UM)|
 +|  IN  |  ARRSYS  |  aslParam [2]  |  L  |Velocità del Master di riferimento (UM/sec)|
 +|  IN  |  ARRSYS  |  aslParam [3]  |  L  |Velocità massima dello Slave (UM/sec)|
 +|  IN  |  ARRSYS  |  aslParam [4]  |  L  |Tempo di accelerazione Slave per portarsi da zero a velocità max (s/100)|
 +|  IN  |  ARRSYS  |  aslParam [5]  |  L  |Tempo di decelerazione Slave per portarsi da zero a velocità max (s/100)|
 +|  IN  |  ARRSYS  |  aslParam [6]  |  L  |Velocità di partenza dello Slave (UM/sec) (opz.)|
 +|  IN  |  ARRSYS  |  aslParam [7]  |  L  |Parametro "measure" del device utilizzato|
 +|  IN  |  ARRSYS  |  aslParam [8]  |  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  |  SpaceM  |  L  |Var contenente lo spazio Master calcolato(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: Spazio Slave uguale a 0
 +
 +=== Esempio ===
 +
 +<code QCL>
 +MAIN:                  
 +     IF gfCalcSpazio
 +             gfCalcSpazio = 0
 +             aslParam[1] = 3000 ;Spazio Slave
 +             aslParam[2] = 1500 ;Velocità Master
 +             aslParam[3] = 4000 ;Velocità massima Slave
 +             aslParam[4] = 50 ;Tempo di accelerazione
 +             aslParam[5] = 50 ;Tempo di decelerazione
 +             aslParam[6] = 0 ;Velocità di partenza Slave
 +             aslParam[7] = 1000 ;Parametro "measure" del device
 +             aslParam[8] = 4000 ;Parametro "pulse" del device
 +            
 +             DC10SpaceCam (aslParam,codeG,codeM,codeQm,codeQs,codeQma,codeQsa,SpaceM,sbError)
 +             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).
 +
 +{{.:dc11spacecam:dc11spacecam_03.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