IlFincoITA Inserito: 12 gennaio 2019 Segnala Share Inserito: 12 gennaio 2019 (modificato) Ciao! Sto usando un V90 con regolazione della posizione interna. Quindi la quota di posizionamento viene selezionata attraverso degli ingressi e poi viene lanciato il posizionamento con un trigger. Lo stato del posizionamento in corso, ed il suo esito, lo monitorizzo attraverso le uscite che sono i bits READY, ZSP (motore fermo), INP (posizionamento raggiunto). Quindi, con una sequenza a passi, seleziono il posizionamento, lancio il posizionamento, verifico che il motore sta girando e attendo il segnale di posizionamnto concluso. Mi succede che in alcuni casi osservo che la mia sequenza è stata eseguita completamente ma il posizionamento in realtà non è stato eseguito. In altre parole il motore non si è mosso. Come è possibile che io veda i vari bits nella giusta sequenza... Devo ipotizzare che l'azionamento ha abbassato e alzato i segnali. Eppure non dovrebbe essere così... l'unica cosa che ho pensato è che ci sia uno sfarfallio dei segnali. A questo punto ho provato ad inserire dei ritardi nell'osservazione dei segnali. Ad esempio l'INP non mi può arrivare prima di 5 s ma neanche così ho risolto in maniera definitiva... qualcuno ha un'idea per favore? Modificato: 12 gennaio 2019 da IlFincoITA Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 17 gennaio 2019 Segnala Share Inserita: 17 gennaio 2019 (modificato) Ciao Quote Quindi, con una sequenza a passi, seleziono il posizionamento, lancio il posizionamento, verifico che il motore sta girando e attendo il segnale di posizionamnto concluso. Hai provato anche ad usare solo il Busy(nel tuo caso ZSP negato) per effettuare la sequenza? Intendo dire, dopo che hai lanciato l'istruzione, di verificare che ZSP vada ad OFF e poi ritorni ad ON. Ho avuto anch'io brutte esperienze in merito con altri tipi di azionamenti(non Siemens) nel caso i posizionamenti fossero troppo brevi e la cpu per qualche motivo non riusciva a discriminare le transizioni correttamente. Ho pensato che il bit di PositionEnd andasse ad OFF per un tempo talmente breve che la cpu non lo rilevava(non usavo interrupt al tempo e nemmeno letture dirette) bloccando la sequenza. A volte(ma non so Siemens ) c'è la possibilità di impostare un valore entro il quale il bit di posizionamento terminato si alza, anche se effettivamente la quota non è stata raggiunta...ma non so se può esserti di aiuto. Rleggendo bene, può essere che ZSP vada ad ON prima di iniziare il posizionamento, o comunque prima che il posizionamento terminato si abbassi. In questo caso, si spiegherebbe il perchè la tua sequenza cicla ma il motore è fermo. Modificato: 17 gennaio 2019 da step-80 Link al commento Condividi su altri siti More sharing options...
Nicola Carlotto Inserita: 17 gennaio 2019 Segnala Share Inserita: 17 gennaio 2019 Stai dando lo start passo troppo presto , devi aspettare che l'azio digerisca il cambio della combinazione binaria dedicata alla posizione, lui ti riesegue la stessa quota di primadantoti la risposta . Visto che e' comunque il trigger che ti convalida la partenza al passo sucessivo , se devi fare unposizionamento dietro l'altro in modo veloce , ti conviene cambiare la combinazione binaria fin che sta facendo il passo . Ciao Link al commento Condividi su altri siti More sharing options...
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