Questa funzione serve per verificare se è possibile eseguire la mva_follow2_m() con i dati specificati. La funzione se ha avuto esito negativo rende un codice di errore; altrimenti, se ok, può rendere anche il tempo di durata massimo del sincronismo.
|
i32 check_mva_follow2 (stru_follow2_sm stru, real masterSpe, real syncTime)
|
|
Struttura di tipo stru_follow2_sm contenente i parametri relativi alla movimentazione.
|
|
Velocità del master a regime.
|
|
Variabile in cui verrà scritto la durata massima del sincronismo.
|
|
Rende:
|
|
-5
|
Numero asse non valido.
|
-1
|
masterSpe <= 0.
|
0
|
Operazione eseguita con successo. È possibile eseguire la mva_follow2_m(), in syncTime è possibile leggere la durata massima del sincronismo.
|
1
|
Accelerazione massima dello slave <= 0.
|
2
|
Lo spazio di partenza (sync position / park position) oppure lo spazio di frenata sono <= 0.
|
3
|
'kSlaveMaster' <= 0.
|
4
|
Slave rotativo -> spazio master di partenza + spazio di frenata insufficienti.
|
5
|
Slave rotativo -> lo spazio master disponibile allo slave per raggiungere il prossimo sincronismo è insufficiente.
|
Slave lineare -> lo spazio master disponibile allo slave per tornare indietro è insufficiente.
|
6
|
'masterCycle' <= 0.
|
21
|
Lo slave supera la velocità massima mentre si sposta dalla posizione di parcheggio alla posizione di sincronismo.
|
22
|
Lo slave supera l'accelerazione massima mentre si sposta dalla posizione di parcheggio alla posizione di sincronismo.
|
31
|
Slave lineare -> lo slave supera la velocità massima durante la frenata dopo il sincronismo.
|
32
|
Slave lineare -> lo slave supera l'accelerazione massima durante la frenata dopo il sincronismo.
|
41
|
Slave lineare -> lo slave supera la velocità massima mentre torna alla posizione iniziale.
|
42
|
Slave lineare -> lo slave supera l'accelerazione massima mentre torna alla posizione iniziale.
|
51
|
Slave rotativo -> lo slave supera la velocità massima mentre si sposta alla posizione di parcheggio dopo il sincronismo.
|
52
|
Slave rotativo -> lo slave supera l'accelerazione massima mentre si sposta alla posizione di parcheggio dopo il sincronismo.
|
61
|
Slave rotativo -> lo slave supera la velocità massima mentre si sposta dalla posizione di sincronismo attuale alla successiva, lo slave si ferma per aspettare lo spazio master necessario.
|
62
|
Slave rotativo -> lo slave supera l'accelerazione massima mentre si sposta dalla posizione di sincronismo attuale alla successiva, lo slave si ferma per aspettare lo spazio master necessario.
|
71
|
Slave rotativo -> lo slave supera la velocità massima mentre si sposta dalla posizione di sincronismo attuale alla successiva.
|
72
|
Slave rotativo -> lo slave supera l'accelerazione massima mentre si sposta dalla posizione di sincronismo attuale alla successiva.
|
|
|
Rule, Task.
|
|
|