DC10ElGear
D = Device(CAMMING2, CAMMING3)
C = Funzioni di Calcolo
Lo scopo della funzione DC10ElGear è quello di calcolare i settori di una camma elettronica per la gestione di uno slave di un Albero Elettrico.
L'albero elettrico è un sistema che lega un asse Slave ad un asse Master tramite un rapporto di sincronismo impostabile.
Di seguito viene rappresentato un grafico che illustra l'andamento dello Slave rispetto al Master. Il punto zero del grafico rappresenta il momento in cui viene dato il comando di STARTCAM allo Slave. Il rapporto impostato nel grafico di esempio è di 1:2 (aslParam[1] = 500)
N.B.: Il tratto segnato come “tacc” può non esserci nel caso si imposti il tempo di accelerazione a zero. Con tempo di accelerazione a zero la partenza dello Slave è a “gradino”, cioè raggiunge in 'tempo zero' la velocità del Master.
IMPLEMENTAZIONE
DC10ElGear (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa,Errore)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRSYS | aslParam [1] | L | Rapporto di sincronismo Slave/Master (1000=1:1) (possibilità di variazione minima dell'1‰) |
IN | ARRSYS | aslParam [2] | L | Velocità massima Slave (UM/sec) [1÷999999] |
IN | ARRSYS | aslParam [3] | L | Tempo di accelerazione Slave per portarsi da zero a velocità max. Impostando 0 si ha la partenza a “gradino”. (s/100) [1÷999999] |
IN | ARRSYS | aslParam [4] | L | Velocità Master di riferimento, utilizzata per il calcolo delle accelerazioni (UM/sec) [1÷999999] |
IN | ARRSYS | aslParam [5] | L | Parametro “measure” del device utilizzato [1÷999999] |
IN | ARRSYS | aslParam [6] | L | Parametro “pulse” del device utilizzato [1÷999999] |
OUT | ARRSYS | CodeG | L | Array contenente Code G calcolato (40 elementi) (OUT) |
OUT | ARRSYS | CodeM | L | Array contenente Code M calcolato (40 elementi) (OUT) |
OUT | ARRSYS | CodeQm | L | Array contenente CodeQm calcolato (40 elementi) (OUT) |
OUT | ARRSYS | CodeQs | L | Array contenente CodeQs calcolato (40 elementi) (OUT) |
OUT | ARRSYS | CodeQma | L | Array contenente CodeQma (40 elementi) (OUT) |
OUT | ARRSYS | CodeQsa | L | Array contenente CodeQsa (40 elementi) (OUT) |
OUT | SYSTEM | Errore | B | Var di errore intervenuto (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: Rapporto di sincronismo uguale a 0
2: Velocità massima Slave minore o uguale a 0
3: Velocità Master minore o uguale a 0
4: Parametro “measure” minore o uguale a 0
5: Velocità Slave calcolata superiore alla velocità Slave massima
Esempio
Nell'esempio si vuole calcolare la camma per l'albero elettrico quando il flag gfCalcElGear va 1. La scrittura sulla camma avviene mediante la funzione DW20WrCam.
MAIN: IF gfCalcElGear gfCalcElGear = 0 aslParam[1] = 2000 ;Rapporto Slave/Master (2:1) aslParam[2] = 4000 ;Velocità massima Slave aslParam[3] = 0 ;Tempo di accelerazione Slave (0=disabilitata:partenza senza rampe) aslParam[4] = 1500 ;Velocità Master di riferimento aslParam[5] = 1000 ;Parametro "measure" del device aslParam[6] = 4000 ;Parametro "pulse" del device DC10ElGear (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa,Errore) IF NOT Errore SettIniz = 1 NumSet = 4 DW20WrCam(cmCamma,CodeG,CodeM,CodeQm,CodeQs,CodeQma,CodeQsa,SettIniz,SettFine,NumSet,Errore) ENDIF ENDIF
Note di funzionamento
-
Il rapporto di sincronismo (aslParam[1]) può essere impostato anche negativo, in tal caso lo Slave segue il rapporto di sincronismo impostato ma andando nella direzione di indietro
-
Il tempo di accelerazione impostato serve per decidere la rampa con cui lo Slave, al momento del comando di aggancio in camma (STARTCAM), deve agganciarsi in sincronismo con il Master. Se il tempo è impostato a zero lo Slave fa un gradino per raggiungere immediatamente la velocità del Master
-
Il numero di settori utilizzati è sempre 4
-
Nel caso si voglia cambiare “al volo” il rapporto di sincronismo, questo è possibile farlo solo utilizzando la funzione DC10ChGear