Vai al contenuto
PLC Forum


Motion


Messaggi consigliati

Inserito:

Ciao a tutti.

Non ho mai usato le funzioni Motion (Power, Reset, Halt, MoveVelocity, MoveJog) e sto riscrivendo un vecchio codice (25 anni fa) con il controllo di 4 assi dell'anello di velocità fatto a manina.

Ora il tutto sarà sostituito da un s7-1500 e dei G120.

L'applicazione utilizza 4 motori, ognuno con la propria meccanica,  per realizzare un movimento coordinato di 4 trascinatori di alcuni metri.

 

Mi sono letto la documentazione delle varie funzioni, guardato dei tutorial, chesto a Gemini e per ora ho un paio di dubbi (forse le idee confuse) perchè ho letto:

 

- che dopo aver abilitato il MC_Power e MC_Reset e MC_Halt l'abilitazione con MC_MoveVelocity pare debba essere fatta entro un tempo limite pena un errore ritornato dalla MC_Power. 

Perchè? E se fosse vero, quindi il MC_Power è giusto abilitarlo solo quando si vuole fare realmente girare il motore? Oppure si può abilitare MC_Power, esagerando, al mattino e disabilitarlo alla sera, abilitando i MoveVelocity e MoveJog quando far girare i motori?

 

- di conseguenza per fermare i motori è abbastanza "disabilitare" i MoveVelocity e MoveJog oppure fare a ritroso la disabilitazione Power, Reset, Halt, MoveVelocity, MoveJog ?

 

Un grazie in anticipo a chi risponderà.


Inserita:

In teoria dovresti dare MC_Reset se hai un allarme o un warning da resettare, lo MC_Halt se vuoi fermare immediatamente un moto senza aspettare la sua fine naturale. Il MC_Power lo si dà quando si deve mettere in coppia l'asse, quindi renderlo pronto a recepire i comandi di moto, Lo si toglie in caso di allarme o altri problemi che ti costringono a disabilitare l'asse. Ma in teoria, una volta attivato, non ha necessità di essere tolto.

 

Inserita:

Sei stato chiarissimo, grazie.

Ora mi hai fatto venire un dubbio. Quando scrivi "lo MC_Halt se vuoi fermare immediatamente un moto senza aspettare la sua fine naturale"  significa che ogni movimento ha una lunghezza predeterminata ? Cioè nel mio caso avvio il movimento in anello di velocità, ma non so quando deve finire. Ragiono in termini di movimentare per minuti o ore, in continuazione, senza conoscere la "tratta percorsa", ma solo il fatto di girare a velocità costante.

 

Inserita:

Voglio dire questo: alcune funzioni MC (spesso dipende un po' dal PLC su come viene implementata) si comandano sul fronte di salita dello start, e hanno termine o alla posizione raggiunta, o vanno di continuo (MC_Velocity). In tal caso il moto si arresta da solo al termine, oppure un Halt lo fa terminare prima.

Altri sono attivi fino a che il comando rimane attivo (per esempi MC_JOG), e quindi il moto si arresta al cessare della condizione di start. Non è necessario l'Halt.

Nei manuali, ad ogni istruzione vedi descritto il comportamento.

 

Inserita: (modificato)

Quindi se ho capito, parlando di un 1500 in anello di velocità, la sequenza dovrebbe essere:

 

- accensione virtuale dei motori = abilita MC_Power + MC_Reset

 

DO

        IF richiesta start movimento = ON then

 

            DO

                 - MC_Velocity

                 - IF  feedback della mc_velocity =  errore  OR richiesta termine movimento THEN EXIT DO

           LOOP

 

           - stop movimento = MC_Halt

           - reset errori =MC_Reset

 

       END_IF

 

      IF spegnimento virtuale motori = on  THEN EXIT DO

 

LOOP

 

disabilita MC_Power 

 

*******************************************************************

 

A grandi linee e tralasciando il coordinamento tra i 4 assi.

 

Grazie ancora !

 

Modificato: da drn5
Inserita:

il consiglio è quello di creare un blocco che incapsula tutti i richiami dei blocchi di cui hai bisogno, quindi poi pilorare i singoli flag di input come desiderato.

se hai dimestichezza con SCL ti consiglio di cercare nei passato una discussione che contiene questo file "MC_All.scl".

Se invece sei più avvezzo al KOP ti fai una chiamata per ogni segmento dichiarando un oggetto di tipo asse nei parametri di ingresso.

 

NB tutti i blocchi MC devono sempre girare, tutti i bit di "execute" lavorano sul fronte RTANNE IL MC_POWER che deve stare sempre alto.

 

 

 

Inserita:

Ho finito il tutto proprio 10' fa. SCL e logica a contatti in un bel "minestrone" commentato e variabili autospieganti.

Alla fine si è rivelato semplice. 

La prova del fuoco tra qualche settimana con tutto montato per verificarne il funzionamento meccanico con inerzie di alcune decine di tonnellate. Più che altro stressanti alla partenza che allo stop.

 

3 ore fa, pigroplc ha scritto:

RTANNE IL MC_POWER che deve stare sempre alto

Lo avevo immaginato, infatti su quello niente trigger. 😁

 

Grazie a tutti del supporto.🤙

Inserita:

@drn5

se posso darti un consiglio: lascia i motori staccati dalla meccanica e fai un po' di palestra. Quando tutto gira rotondo fai calettare i motori e occhio alla dinamica!

Altro consiglio: per il Profinet isocrono non usare i cavi di Topo Gigio ma CAT6 schermati, se te lo dico ho i miei motivi....

 

 

 

Inserita:

I consigli, quelli buoni, sono sempre preziosi e questo dello staccare i motori dalla meccanica è d'oro. Ci avevo già pensato, perchè lo so che a rompere basta niente.

Comunque i quadri li vedo settimana prossima, ma di solito il quadrista non lesina su cavi e connettori.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...