Cesare Nicola Inserito: 28 febbraio 2018 Segnala Inserito: 28 febbraio 2018 Ho un problema con dei Sinamics S120 che proprio non capisco, sebbene non sia la prima volta che li uso. Premetto che comando gli S120 scrivendo e leggendo direttamente il telegramma coi blocchi DPWR e DPRD. Mi trovo a dover inviare due comandi consecutivi di start posizionamento in MDI, a quote ovviamente differenti, a distanza di un ciclo PLC. Il secondo comando non viene eseguito, sebbene quota e velocità vengano acquisite; è come se il primo movimento non fosse ancora del tutto concluso quando invio il secondo comando. Ho provato a testare diversi bit prima di inviare il secondo comando, per essere sicuro che l'asse sia fermo e pronto ad accettare il comando: "ZSW_1."Acknowledge travesing block", "POS_ZSW_1."MDI active", "POS_ZSW_2."Traversing command active", "POS_ZSW_2."Setpoint is stationary"; niente da fare. Avete qualche idea?
Cesare Nicola Inserita: 28 febbraio 2018 Autore Segnala Inserita: 28 febbraio 2018 Mi rendo conto di aver spiegato molto male, scusate. Il secondo comando di posizionamento che devo inviare, è a distanza di un ciclo PLC dalla conclusione del precedente, che è stato correttamente eseguito. Cioè: 1) Comando di start MDI alla quota X 2) Asse arriva alla quota X 3) Tolgo il comando di start MDI 4) passa un ciclo PLC 5) Nuovo comando MDI alla quota Y: questo comando non viene eseguito, sebbene la quota e la velocità vengono correttamente inviate al telegramma Spero sia più chiaro. Grazie
ken Inserita: 28 febbraio 2018 Segnala Inserita: 28 febbraio 2018 non utilizzi Sina_pos o i blocchi funzione messi a disposizione da siemens? non hai qualche warning attivo? come dai il comando? impulso oppure un fronte di salita (impulso di una scansione)?
bleny Inserita: 28 febbraio 2018 Segnala Inserita: 28 febbraio 2018 Ciao Cesare Nicola, un solo ciclo di PLC è troppo poco e il drive non fa a tempo a vedere lo "stacca/attacca" del comando di start. Io di solito faccio così: 1) Comando di start MDI alla quota X 2) Tolgo il comando di start appena l'asse comincia a muoversi (verifica del bit 15 di POS_ZSW2) 3) Nuovo comando MDI alla quota Y dopo che l'asse è arrivato alla quota X Ciao. Massimo
Cesare Nicola Inserita: 1 marzo 2018 Autore Segnala Inserita: 1 marzo 2018 9 ore fa, ken scrisse: non utilizzi Sina_pos o i blocchi funzione messi a disposizione da siemens? non hai qualche warning attivo? come dai il comando? impulso oppure un fronte di salita (impulso di una scansione)? No, non uso SIna_pos e non ho warning. Il comando di start lo dò mettendo a 1 i bit , contemporaneamente: ZSW_1.Operation_enabled, POS_STW_1."Activate MDI", STW_1.Do_not_reject_trav_task, STW_1."No intermediate stop", STW_1."Setpoint transfer MDI". Così facendo, finchè il mio comando è a 1, 'asse è in movimento, togliendo il comando l'asse si arresta (se non si è già arrestato perchè è arrivato in quota, ovviamente). 5 ore fa, bleny scrisse: Ciao Cesare Nicola, un solo ciclo di PLC è troppo poco e il drive non fa a tempo a vedere lo "stacca/attacca" del comando di start. Io di solito faccio così: 1) Comando di start MDI alla quota X 2) Tolgo il comando di start appena l'asse comincia a muoversi (verifica del bit 15 di POS_ZSW2) 3) Nuovo comando MDI alla quota Y dopo che l'asse è arrivato alla quota X Ciao. Massimo Con che bit dai il comando di start, per far sì che l'asse continui a muoversi pur togliendolo? E come dai lo stop durante il movimento? Coi bit che uso io, sopra descritti, ottengo che se tolgo lo start l'asse si ferma; quindi io lo start lo tolgo solo a movimento concluso (salvo non voglia interrompere volutamente il posizionamento).
pigroplc Inserita: 1 marzo 2018 Segnala Inserita: 1 marzo 2018 Ciao Cesare, prova a mettere un timer prima del secondo start. Se funziona vuol dire che potrebbe essere utile verificare la parola di stato che ti restituisce qualche bit importante che non hai controllato. Se non funziona è qualcos'altro
bleny Inserita: 1 marzo 2018 Segnala Inserita: 1 marzo 2018 11 ore fa, Cesare Nicola scrisse: Con che bit dai il comando di start, per far sì che l'asse continui a muoversi pur togliendolo? E come dai lo stop durante il movimento? Coi bit che uso io, sopra descritti, ottengo che se tolgo lo start l'asse si ferma; quindi io lo start lo tolgo solo a movimento concluso (salvo non voglia interrompere volutamente il posizionamento). Se devi dare uno stop intermedio la questione è leggermente diversa. Innanzitutto ti consiglierei di non settare da 0 a 1 (e viceversa) troppi bit insieme, ma di usare solo quelli che realmente ti servono. Per fare partire il posizionamento devi alzare il bit 6 di STW1; è un bit che lavora sul fronte, quindi anche se lo rimetti a zero il posizionamento deve continuare. Se vuoi fermare a metà strada l'asse hai due possibilità e devi lavorare sui bit 4 e 5, sempre di STW1; questi due bit devono stare sempre a 1, se li metti a 0 succede questo: - bit 4: rifiuto del job di movimento, si ferma tutto e il comando di posizionamento viene "dimenticato", quindi per ripartire devi rimettere il bit a 1 e ridare di nuovo lo start - bit 5: arresto intermedio, si ferma tutto ma se rimetti il bit a 1 l'asse riparte per raggiungere la sua destinazione. Comunque puoi utilizzare anche il suggerimento di pigroplc di utilizzare un timer: per la mia esperienza il drive vede un cambiamento dello stato del segnale tenendolo "fermo" già per 10 msec. Ciao. Massimo
Cesare Nicola Inserita: 1 marzo 2018 Autore Segnala Inserita: 1 marzo 2018 La soluzione del timer l'ho già provata perché è ciò che ho sempre fatto, anche con altri azionamenti non Siemens. Qui non funziona, non so perché, a meno di mettere tempi esageratamente lunghi. Probabilmente ha ragione bleny perché ho guardato un altro software non fatto da me e la gestione dei bit è più o meno quella che suggerisce: alcuni dei bit che io metto a 1 allo start, vengono tenuti fissi e lo start si dà con un bit solo. In quel software non era però previsto uno stop intermedio. Al momento ho risolto utilizzando il bit "continuos acceptance" del telegramma: lo metto a 1 insieme allo start (gestito "alla mia maniera") del primo dei movimenti che mi creano problemi e da quel momento in poi è sufficiente dare una quota MDI perché venga eseguita, finché quel bit è a 1. Non ho idea di cosa succeda se serve uno stop intermedio, non ho avuto modo di provare, la macchina è adesso in fase di smontaggio.
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