Vai al contenuto
PLC Forum


S210 Posizionamento consecutivo


Crystal1995

Messaggi consigliati

Buongiorno, vi descrivo un problema che è sorto durante un collaudo di una macchina.

Nella mia stazione è presente un asse S210 che esegue un orientamento montato su un cartesiano di altra marca.

Il mio tipo di programmazione è gestito a fasi quindi, in fase 1 do il via a un posizionamento assoluto, attendo il termine tramite il done e passo alla fase successiva.

Ho notato che, comandare due posizionamenti in due fasi successive l'S210 non riesce ad eseguire il posizionamento e mi da il Done del MC_MOVEABSOLUTE.

Aggiungendo un ritardo di 30MS il tutto è risolto. E' sicuramente un problema di tempi di comunicazione, come è possibile risolverlo?

Tempo OB MC_SERVO 5ms

Tempo ciclo CPU 11MS

 

Grazie

 

Link al commento
Condividi su altri siti


Se dai nuovamente l'execute con la nuova quota, dovrebbe andare alla nuova quota anche se non ha terminato il posizionamento precedente.
Importante che sia visto un fronte di salita di Execute. O, in altre parole, che per almeno un ciclo l'execute venga visto basso.
Probabilmente (mia supposizione) tu tieni alto l'execute per tutto il ciclo, e quei 30 ms di ritardo ti servono per rilevare il successivo fronte.
Ma, come detto, un nuovo fronte di execute lancia il nuovo posizionamento anche se quello precedente non era finito.
Inoltre, non è necessario che Execute rimanga alto, basta, appunto, il fronte per lanciare il posizionamento.

Link al commento
Condividi su altri siti

In realtà essendo in due fasi diverse cui terminano con un BEA e la gestione del MC AbSOLUTE è in un altro blocco dovrebbe eccome vedere il fronte

Link al commento
Condividi su altri siti

7 ore fa, Crystal1995 ha scritto:

In realtà essendo in due fasi diverse cui terminano con un BEA e la gestione del MC AbSOLUTE è in un altro blocco dovrebbe eccome vedere il fronte

Non so come sia fatto il programma, ma non basta questo per essere certi che execute venga visto basso per almeno un richiamo di MC_xxxx.
Ma fai presto per accertarlo: dove richiami MC_xxxx incrementi una variabile con il fronte di Execute.

Link al commento
Condividi su altri siti

Ciao Batta ho scoperto il problema,

C'era attiva la limitazione di coppia con l'errore di inseguimento disattivato quindi, l'asse non riuscendo a muoversi per la coppia bassa l'MC Move absolute rimaneva in Busy senza dare l'errore di inseguimento.

Nella DB dell'oggetto tecnologico vedevo l'errore di inseguimento aumentare.

 

Grazie

 

Link al commento
Condividi su altri siti

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...