DC10ChVelRat
D = Device(camming3, camming4)
C = Funzioni di Calcolo
La funzione DC10ChVelRat esegue i calcoli necessari per poter impostare e/o cambiare il rapporto di velocità RV (RV = Velocità Slave/Velocità Master) di un albero elettrico tra un asse Slave e un asse Master.
Si devono passare i valori di velocità di riferimento del Master, del nuovo rapporto di velocità, della risoluzione con cui è espresso il RV, del tempo di campionamento del device CAMMING (o 4), del tipo di addolcimento durante i cambi di velocità. La funzione scrive direttamente sul device CAMMING3 (o 4) i settori per eseguire l'albero elettrico con il nuovo rapporto di velocità. La funzione inoltre restituisce dei valori sulla variabile “Error”, sulla variabile “Texec” e sul flag “WrExec”.
Se la funzione viene eseguita con la camma non in esecuzione, viene programmata la camma con il RV impostato. Al successivo STARTCAM l'asse elettrico si aggancia al master con quel RV.
Se la funzione viene eseguita con la camma in esecuzione viene eseguita una riscrittura “al volo” della camma con il nuovo RV che entro il tempo “Texec” viene messo in esecuzione.
IMPLEMENTAZIONE
DC10ChVelRat (Cam, Vmaster, Rapp_SM, Risol, Tcamp, TipoAdd, Texec, WrExec, Error)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | CAMMING3 CAMMING4 | Cam | Tipo di device a cui si può applicare la funzione | |
IN | SYSTEM | Vmaster | L | Velocità di riferimento del master con la quale si eseguono i calcoli degli spazi da eseguire dal master e dallo slave (UM/sec, UM/min). E' consigliato inserire la velocità con cui si sta muovendo il master (vedi note). |
IN | SYSTEM | Rapp_SM | L | Rapporto di Velocità Slave/Velocità Master espresso in unità, decimi, centesimi o millesimi a seconda del parametro Risol. |
IN | SYSTEM | Risol | W | Risoluzione del RV: grandezza con cui si può esprimere il RV (0: decine, 1: decimi, 2: centesimi, 3: millesimi) |
IN | SYSTEM | Tcamp | W | Tempo di campionamento del device CAMMING3 (o 4) espresso in S/1000. |
IN | SYSTEM | TipoAdd | B | Tipo di addolcimento durante i cambi di velocità dello slave (0, 1, 2, 3, 4, 5). |
OUT | SYSTEM | WrExec | F | Flag per indicare che la scrittura della camma è stata eseguita. |
OUT | SYSTEM | Texec | L | Tempo in s/1000 per eseguire il cambio di rapporto di velocità. |
OUT | SYSTEM | Error | B | Errore dalla funzione |
Errore
Una volta richiamata la funzione la variabile di errore può assumere determinati valori, il significato di tali valori è riassunto di seguito:
0: calcolo eseguito senza errori
1: Tempo di campionamento nullo
2: Rapporto di vel. nullo
3: Vel. Master nullo
4: Errore camma
Note
-
Nel caso in cui il Texec sia troppo elevato per l'applicazione in cui si utilizza la funzione, si consiglia di controllare che la risoluzione del master e dello slave del device CAMMING3 (o 4) sia la più alta possibile e cioè che il rapporto measurem / pulsem e measure / pulse sia più vicina possibile a 1.
-
Naturalmente più alta è la risoluzione “Risol” più lungo sarà il tempo necessario per passare al nuovo RV, se si vuole abbassare questo tempo si consiglia di ridurre “Risol” a scapito della precisione nel valore del RV.
-
Se la velocità del Master passata alla funzione è simile alla velocità reale di movimento del Master stesso (entro l'80%) allora è possibile eseguire la funzione ad intervalli pari al valore contenuto in Texec. Se la velocità del Master passata alla funzione è molto inferiore (più dell'80%) da quella reale si deve aumentare il tempo tra una chiamata e l'altra della funzione (> di Texec) altrimenti il device va in errore e l'asse si blocca in emergenza.
-
Se la velocità reale del master e superiore a 3 volte quella dichiarata alla funzione è possibile che il device vada in errore e l'asse si blocchi in emergenza.
Esempio di utilizzo
Un esempio di utilizzo della funzione con una velocità del master pari a quella reale è:
.... Rapp_SM = 1500 Risol = 3 Vmaster = 2750 ;Velocità attuale del master Tcamp = 2 TipoAdd = 1 DC10ChVelRat (Cam, Vmaster, Rapp_SM, Risol, Tcamp, TipoAdd, Texec, WrExec, Error) WAIT WrExec ;attesa scrittura eseguita WrExec = 0 tmTim = Texec ;attesa cambio rapporto di velocità eseguito WAIT tmTim OR Error ....