Garzo Inserito: 22 maggio 2018 Segnala Share Inserito: 22 maggio 2018 Buongiorno a tutti, ho ripreso il mio progetto della cassettiera automatica dopo un bel po' di tempo (soprattutto dopo aver studiato nella giusta maniera)... per farla breve, mi sono "creato" il mio moto assoluto tramite il relativo, con varie istruzioni. Il macchinario è costituito da una cassettiera con 35 celle, a cui sul ciclo dell'automatico, ho impostato le proprie quote per ognuna, per X e per Y. E' comandata con degli oriental motors di tipo Stepper. Adesso, il problema è che io faccio fare la differenza della posizione attuale in cui si trovano i motori con la prossima a cui devono arrivare ESEMPIO: La prima cella ha per il motore X una quota di 10.000 Hz. alla seconda cella imposto una quota di 5.000 Hz, quindi ci si aspetta che il movimento sia di 5.000 impulsi indietro, per cui: 5.000 - 10.000 = -5.000 che sposto nella DINT che mi indica il Target_Pulses nel @PLS2. Venendo al punto: Quando la sottrazione ha un risultato sotto zero, la DINT della destinazione del risultato mi va al valore massimo (ergo 4 miliardi e passa) ... ma io non sto usando una UDINT che va da 0 a 4 miliardi bensì una DINT, che sempre secondo teoria, dovrebbe partire da -2 miliardi e qualcosa fino a 2 miliardi !!! Uso l'istruzione @-L visto che devo operare con delle doppie word. Uso un CP1E-NA. Ho implementato un metodo che sarà funzionante al 100% (simile a quello che uso per MicroLogix) e risolto questo posso concludere la macchina. Soluzioni? (In allegato lo screenshot) Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 22 maggio 2018 Segnala Share Inserita: 22 maggio 2018 La posizione assoluta memorizzata nel PLC dovrebbe essere a 32bit e quindi un numero sopra 4 miliardi ma non può essere negativo, perciò se vai sotto la posizione zero sei a 4miliardi e passa, non vai a una posizione negativa, considera la posizione assoluta sempre un valore senza segno. Inoltre invece di fare un posizionamento relativo perchè non fai fare posizionamenti assoluti visto che la posizione delle varie stazioni le conosci? Altra cosa mi immagino che l'Homing sia nella posizione minima che puoi assumere, giusto? Meglio se fai gestire tutto al PLC con posizionamenti assoluti, ci pensa il PLC a effettuare il posizionamento relativo alla posizione attuale con la rampa necessaria o che può eseguire Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 22 maggio 2018 Segnala Share Inserita: 22 maggio 2018 E' solo un "problema" di visualizzazione, devi avere impostato la visualizzazione dei numeri come UINT (come si evince dalla & davanti al numero). In questa mia risposta a un problema simile, trovi come poter impostare, o meglio non impostare, una visualizzazione di default Link al commento Condividi su altri siti More sharing options...
Garzo Inserita: 22 maggio 2018 Autore Segnala Share Inserita: 22 maggio 2018 1 ora fa, leleviola scrisse: La posizione assoluta memorizzata nel PLC dovrebbe essere a 32bit e quindi un numero sopra 4 miliardi ma non può essere negativo, perciò se vai sotto la posizione zero sei a 4miliardi e passa, non vai a una posizione negativa, considera la posizione assoluta sempre un valore senza segno. Inoltre invece di fare un posizionamento relativo perchè non fai fare posizionamenti assoluti visto che la posizione delle varie stazioni le conosci? Altra cosa mi immagino che l'Homing sia nella posizione minima che puoi assumere, giusto? Meglio se fai gestire tutto al PLC con posizionamenti assoluti, ci pensa il PLC a effettuare il posizionamento relativo alla posizione attuale con la rampa necessaria o che può eseguire Si lo so, basterebbe che nella seconda istruzione del PLS2 impostassi #0101 invece che #0100. Il problema è che non mi funziona ! E non ho tempo per mettermi a capire perchè non effettua il moto, pertanto me lo sono creato io tramite varie combinazioni di istruzioni. 1 ora fa, Ctec scrisse: E' solo un "problema" di visualizzazione, devi avere impostato la visualizzazione dei numeri come UINT (come si evince dalla & davanti al numero). In questa mia risposta a un problema simile, trovi come poter impostare, o meglio non impostare, una visualizzazione di default Non avevo notato, la discussione è anche molto recente! Grazie ragazzi, se ho altri problemi vi faccio sapere 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