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:
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
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
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.