software:qview:qview_6:qcl_library:dc10elgear

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.

DC10ElGear (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa,Errore)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
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

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
  • Ultima modifica: 2019/08/29 17:01