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:
Nel caso che la massima velocità non sia raggiungibile perché lo spazio slave risulta essere insufficiente, il profilo di velocità diventa il seguente:
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
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
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).
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.