drn5 Inserito: 10 ore fa Segnala Inserito: 10 ore fa 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à.
Ctec Inserita: 10 ore fa Segnala Inserita: 10 ore fa 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.
drn5 Inserita: 9 ore fa Autore Segnala Inserita: 9 ore fa 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.
Ctec Inserita: 9 ore fa Segnala Inserita: 9 ore fa 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.
drn5 Inserita: 9 ore fa Autore Segnala Inserita: 9 ore fa (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: 9 ore fa da drn5
pigroplc Inserita: 5 ore fa Segnala Inserita: 5 ore fa 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.
drn5 Inserita: 1 ora fa Autore Segnala Inserita: 1 ora fa 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.🤙
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora