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