Vai al contenuto
PLC Forum


S7300 CPU 317


FAVOLA58

Messaggi consigliati

ho un problema con l' acquisizione di un segnale analogico per posizionare ho utilizzato diversi componenti ma il risultao e' sempre lo stesso sia con un posizionatore a filo 0 10 v sia con un posiziontore lase 4:20 ma descrivo il problema  spostando l' asse in manuale e fermondolo la misura e' precisa,scrivo un programmino per muovere l asse in automatico adestra e sinistra e le cose cambiano radicalmente a seconda della velocita che imposto perdo addirittura 5 cm rispetto alle quote impostate, inoltre l' asse va lentamente in deriva verso destra fino ad arrivare ad un certo punto a riprendere la posizione esatta,pensando ad un tempo di risposta troppo elevato dovuto alla catena di misura e risposta provavo con la velocita molto bassa con asse che quasi era fermo e sorpresa anche se in forma minore parliamo di 5 mm avevo lo stesso identico problema,faccio presente che lo spostamento dell' asse avviene con micromaster 420 comandato in profibs 1,5 mb ho esaurito tutte le mie conoscenze altri tecnici che ho contattato danno pareri defferenti,uno mi ha setto che ha avuto lo stesso mip problema ed ha rinunciato ,un altro che lui lo ha fatto edha funzionato ma nessuno dei due e' riuscito a darmi una spiegazione ed a convincermi ,di dove sto sbagliando 

Link al commento
Condividi su altri siti


Come leggi il trasduttore di posizione? a polling sul registo immagine, o ad interrupt con lettura diretta dell'ingresso analogico?

Che scheda A/D stai usando?

Link al commento
Condividi su altri siti

leggo con scheda siemens 331-7kf02-0ab0 i trasduttori da me utilizzati sono stati un trasduttore lineare 0 10 v e in seguito un laser 4-20 ma ripeto ho avuto lo stesso identico problema sia di deriva che di posizionamento,oggi per farmi un idea di dove possa essere il problema ho inserito una scheda ingressi veloci,e abbiamo montato un albero di diametro abbastanza grande ed un sensore bero per uil conteggio impulsi, stesso identico problema nonostante il numero degli impulsi fosse esatto per percorrerre 300 mm la macchina andava in deriva di un cm sempre verso un lato che chiamiamo destro,faccio presente che riuscivamo anche a contare manualmente il numero di impulsi che corrispondeva da quelli letti sulla cpu, e probabile secondo vioi che il problema sia sull' inverter,qualche parametro che sfugge,in fondo per testare il sistema uso un semplice set reset al raggiungimento delle quote l' inverter rallenta ed esegue l' inversione,per prova ho anche abbassato i tempi di decelerazione e accelerazione  portandoli prossimi allo 0 l' inverter inverte la marcia rapidamente ma il risultao non cambia,sono depresso non mi era mai capitato

Link al commento
Condividi su altri siti

SI alla quota raggiunta teorica l' inverter rallente e torna indietro ma non corrisponde alla quota reale dell' asse, posso dirti che con i trasduttori lineari io leggevo l' effettiva quota dove lui arrivava leggevo esattamento la distanza reale dove lui si fermava ,non riuscivo a capire se era lento il sistema di misura e relativa risposta,per questo oggi ho usato il sensore bero,per rendermi conto se il problema era la catena di acquisizione, leggo esattamente gli impulsi giusti per percorrere i 300 mm li conto anche visivamente ,abbiamo fatto in modo che questo fosse possibile ma ahime il problema resta a parita' di impulsi lui deriva sempre

Link al commento
Condividi su altri siti

26 minuti fa, MAGIC 58 ha scritto:

,oggi per farmi un idea di dove possa essere il problema ho inserito una scheda ingressi veloci,

 

Da quello che scrivi credo che ci sia un ritardo nella catena di posizionamento.

Quanti milliseconi è il periodo con cui effettui il controllo di posizione?

Link al commento
Condividi su altri siti

SI alla quota raggiunta teorica l' inverter rallente e torna indietro ma non corrisponde alla quota reale dell' asse, posso dirti che con i trasduttori lineari io leggevo l' effettiva quota dove lui arrivava leggevo esattamento la distanza reale dove lui si fermava ,non riuscivo a capire se era lento il sistema di misura e relativa risposta,per questo oggi ho usato il sensore bero,per rendermi conto se il problema era la catena di acquisizione, leggo esattamente gli impulsi giusti per percorrere i 300 mm li conto anche visivamente ,abbiamo fatto in modo che questo fosse possibile ma ahime il problema resta a parita' di impulsi lui deriva sempre

se leggo il tempo ciclo di acquisizione varia tra i 3 e 10 ms

Link al commento
Condividi su altri siti

la domanda che mi sono posto e' la seguente ammesso che ci sia un ritardo nelle letture perche' accade solo in un verso e non  al contrario,teoricamente se avessi un problema di ritardo lo avrei in entrambi i sensi e mi sarebbe piu facile gestirlo e' questo che non riesco a capire

Link al commento
Condividi su altri siti

10 minuti fa, FAVOLA58 ha scritto:

se leggo il tempo ciclo di acquisizione varia tra i 3 e 10 ms

 

Anche se il tempo sembra sufficientemente veloce è sbagliato lavorare ad anello chiuso a tempo di ciclo. 

Il modo canico è generare un interrupt e con questo attivare la funzione di pisizionamento. In questo modo si ha un tempo costante e si evitano fenomeni di jittering che son sempre dannosi.

 

Dovresti spiegare come effettuo la funzione di posizionamento, perchè da qullo che scrivi ci deve essere o un grande ritardo in qualche punto dell'anello, oppure hai un integrale che si carica troppo.

 

Potrebbe anche eeserci un ritardo nella comunicazione, visto che comandi lìinverter via bus di campo.

 

Link al commento
Condividi su altri siti

Livio mi scuso per il ritardo con cui rispondo ma ero sull' impianto e stamattina sono di nuovo li a vedere di risolvere il problema,faccio presente che non uso la funzione pid sull' inverter,quindi guadagni integrali e altri parametri non vengono interessati, per ovviare al problema dei ritardi ,al momento per cercare il problema il posizionamento lo effettuo con un sensore bero cablato su una scheda ad ingressi veloci,la movimentazione dell' asse per testarlo e un semplice set reset alle quote impostate , finalmente dopo una lunga battaglia ,siamo riusciti a capire tra virgolette dove era l' inghippo in teoria bisogna ritardare il comando di cambio direzione in base al rapporto ai dati di arresto inverter,in pratica si puo dare il comando solo quando l' inverter ha raggiunto la quota,non sono comunque convinto che non ci sia un modo per cui lo faccia l' inverter,ho spulciato tutti i dati ,ma forse qualcosa mi e' sfuggito,  al momento sembra che funzioni tutto come da logica,ti ringrazio per la tua disponibilita e professionalita

Link al commento
Condividi su altri siti

2 minuti fa, FAVOLA58 ha scritto:

faccio presente che non uso la funzione pid sull' inverter

 

Scusa ma come effettui il posizionamento?

Usi la funzione integrata del PLC?

Usi uan tua funzione?

 

Se non spieghi come fai il posizionamento non si può aiutarti a capire l'inconveniente.

Link al commento
Condividi su altri siti

non uso la funzione integrata del plc ma una semplice routine per testare l' asse ,un semplice set reset di bit al raggiungimento della quota e relativo cambio senso di marcia,ripeto adesso il problema inserendo un piccolo ritardo al cambio senso di marcia ,e' sparito,in pratica cambio il verso della marcia dell' asse dopo 300 ms del raggiungimento della quota l' asse si arresta nella corretta posizione sia in un verso che nell' altro,non sono riuscito a comprendere per quale motivo , l'inverter abbia bisogno di questo ritardo, poi a freddo mi sono ricordato che anni fa in un progetto avevo visto che usavano dei ritardi in ms sugli azionamenti .ma non convinto  ho visto che l' inverter nonostante venga da me comandato con telegrammi profibus,il senso di marcia avviene sempre con il comando meccanico del rele' che si trovano all' interno dell' inverter,credo che il ritardo serva compensare l' azione di ritardo meccanico del rele' ma e' solo una mia supposizione

Link al commento
Condividi su altri siti

I posizionamenti non si devono fare in quel modo.

Come minimo si usa un controllo proporzionale per generare il riferimento di velocità 

Link al commento
Condividi su altri siti

19 ore fa, FAVOLA58 ha scritto:

non uso la funzione integrata del plc ma una semplice routine per testare l' asse ,un semplice set reset di bit al raggiungimento della quota e relativo cambio senso di marcia

A parte la faccenda del ritardo per il cambio di marcia, mi pare comunque di capire che tu dai il comando di stop al raggiungimento della quota.
Se è così, è evidente che il motore supererà la quota, perché non si può arrestare all'istante. Grande importanza assume la rampa di decelerazione impostata.

Un posizionamento rudimentale prevede almeno un rallentamento ad una certa distanza dalla quota di destinazione, e un comando di stop, anche questo anticipato rispetto alla quota di destinazione.

 

Link al commento
Condividi su altri siti

io stavo solo testando l' asse ,non avevo esigenze al momento  di rispettare le quote con precisione miilimetrica,oviamente  sapevo che avrei delle differenze , ma in quel momento era solo un test,la cosa che mi meravigliava era che mi trovavo una deriva verso un solo verso che ad ogni cambio direzione aumentava di 5 mm incrementandoli dopo 10 inversioni mi trovavo 5 cm e in un solo verso,questo era il problema a cui non riuscivo dare spiegazione inserito il ritardo alla ripartenza rispetto alla quota impostata sforavo di qualche mm in entrambe le direzioni ma sempre nella stessa quota dopo un ora di test l' asse era pefettamente in linea con l' inizio test un mm a destra ed uno a sinistra rispetto alle quote impostate, la mia domanda era perche solo in un verso,e non paritariamente anche nell' altro,parliamo di cm e non mm capisci che non mi era mai successo abbiamo molti impianti dove utilizziamo posizionamenti,e' la prima che mi succedeva,e' anche vero che era la prima volta che utilizzavo un micromaster inverter di solito lavoriamo con i sinamics,forse mi sfugge qualcosa sulla configurazione di questo azionamento,ma utilizzo correttamente l' attivazione della rampa , l' inverter visivamente si vede che dando macroscopici valori di rampa rallenta con dolcezza e se invece diminuisci questi valori si arresta quasi all' istante,ripeto non so darmi nessuna spiegazione se non quella del ritardo per l' effetto meccanico dei rele' posti all' interno dell' azionamento ,pensavo che a qualcuno fosse gia successo e credo che in questi casi solo il campo a volte puo dare delle soluzioni comunque ringrazio tutti per la collaborazone,a volte la logica lascia spazio all' intuito e ad un po di fortuna

Link al commento
Condividi su altri siti

40 minuti fa, FAVOLA58 ha scritto:

a volte la logica lascia spazio all' intuito e ad un po di fortuna

 

Io, nella mia esperienza di oltre mezzo secolo, una cosa l'ho imparata: in tutti i lavori c'è almeno un modo corretto per eseguirlo, ed almeno un modo errato per eseguirlo.

Se si adotta un modo errato, per quanto si mettano pezze sarà sempre un lavoro raffazzonato senza alcuna garanzia di affidabilità.

 

Anche per eseguire un posizionamente ci sono alcuni modi corretti, non molti, ed altri errati. Purtroppo il tuo approccio appartiene all categoria dei modi errati.

Da quello che scrivi deduco che poco ti importa di capire quale sia l'approccio corretto al problema, quindi evito di dilungarmi su quello che si dovrebbe/potrebbe fare.

Nel caso la mia deduzione fosse errata, sarei più che disponibile a darti informazioni.

 

2 ore fa, batta ha scritto:

Un posizionamento rudimentale prevede almeno un rallentamento ad una certa distanza dalla quota di destinazione, e un comando di stop, anche questo anticipato rispetto alla quota di destinazione.

 

Questo è uno dei modi corretti di eseguire il più semplice dei posizionamenti, direi che è il minimo sindacale.

Link al commento
Condividi su altri siti

caro livio non mi dilungo in polemiche inutili probabilmente mezziùo secolo fa le tecniche erano diverse,concordo con batta a me serviva un semplice test ovviamente nel momento della messa inservizio vengono applicate le regole a cui tu fai riferimento e l' asse adesso funziona perfettamente sia nel caso test in modo rudimentale sia in servizio con tutti i parametri che richiede un corretto posizionamento,invece di soffermarti su come si possa fare un posizionamento dovresti concentrarti sul problema che avevo, era un errore macroscopico che non aveva niente a che fare su come un asse vada corrattamente posizionato,comunque ti ringrazio sempre per la tua cordialita esperienza e professionalita grazie anche ate batta siete figure  di alto livello0

Link al commento
Condividi su altri siti

Rimane il fatto che non è il modo corretto.

Una temporizzazione può funzionare ora, ma non ha alcuna certezza che funzioni ancora tra qualche tempo.

 

1 ora fa, FAVOLA58 ha scritto:

probabilmente mezziùo secolo fa le tecniche erano diverse

 

No, cambiano i mezzi ma i principi sono sempre gli stessi.

 

Comunque il problema è tuo, se sei contento tu ...

Link al commento
Condividi su altri siti

Livio io ti ringrazio per i tuoi suggerimenti, il mio era solo un modo di dire, sono pienamente d' accordo su quello che tu dici forse nel mio post mi sono espresso male e non sono riuscito a far capire esattamente il problema, iora il problema e'  risolto,a, poi approfondisco per capire esattamente il perche di alcune modifiche che sono state fatte,io volevo farti capire che se una persona e' in difficolta' ed espone un problema si aspetta una risposta relativa al problema non una lezione di come si posiziona un asse, usavamo una procedura rudimentale di posizionamento,nessuno cercava il centesimo,non ci aspettavamo il metro,tutto qui,mi aspettavo una risposta inerente al problema,ovvio che il problema era mio ripeto le critiche si accettano sempre,servono a crescere credo che in questo mestiere ci sia sempre da imparare ,cose fatte per anni ad un certo punto ti accorgi che non sono certezze hai sempre qualche variabile che complica il lavoro ,comunque sei una gran persona hai tutta la mia stima e rispetto ma ho qualche anno anche io e mi sentivo in dovere di darti il mio punto di vista

Link al commento
Condividi su altri siti

2 ore fa, FAVOLA58 ha scritto:

io volevo farti capire che se una persona e' in difficolta' ed espone un problema si aspetta una risposta relativa al problema non una lezione di come si posiziona un asse

Devi partire da un presupposto base: chi legge non conosce il tuo grado di preparazione.
Senza considerare poi che la tua esposizione non è stata chiarissima. Il fatto che si accumulasse l'errore ad ogni posizionamento, sicuramente dipende da come è stato sviluppato il programma ma, senza vedere il programma stesso, non possiamo certo sapere cosa c'è che non va.
Inoltre, molto spesso vengono poste domande che nascono da errato approccio al problema. Poi si approfondisce, e si scopre che la semplice risposta al quesito avrebbe portato a continuare sulla strada sbagliata.

 

Per quanto riguarda il ritardo necessario per l'inversione di marcia, da almeno 10 anni non metto mano su un Micromaster, ed ora non ho nessuna intenzione di andare a consultare manuali ma, se il comando avanti/indietro viene dato su due distinti ingressi, potrebbe essere che il drive voglia vedere entrambi i segnali OFF.
 

Link al commento
Condividi su altri siti

Oltre a quanto scritto da Batta, concetti che condivido totalmente, rimane quanto hai scritto tu.

Partiamo dal primo messaggio

Il 13/11/2020 alle 10:10 , FAVOLA58 ha scritto:

o un problema con l' acquisizione di un segnale analogico per posizionare ho utilizzato diversi componenti ma il risultao e' sempre lo stesso sia con un posizionatore a filo 0 10 v sia con un posiziontore lase 4:20 ma descrivo il problema ....

 

Anche se si tratta di un semplice programma di test il modo corretto per affrontare il problema, è quella di mettere 2 traguardi: il traguardo di rallentamento e quello di fine missione.

Raggiunto il traguardo di rallentamento si passa il riferimento di velocità lenta.

Raggiunto il traguardo di fine missione si da lo stop ed, eventualmente, si inverte il senso di marcia per effettuare il ritorno.

Con questo approccio è facile individuare tutte le problematiche che possono insorgere come, ad esempio, quota di rallentamento troppo vicina, velocità lenta troppo lenta o troppo elevata, lettura del trasduttore ad intervalli troppo ampi, etc.

L'averti chiesto come eseguivi il posizionamento non è una malsana curiosità, ma è una necessità per capire cosa stava succeddendo ed, eventualmente, poterti dare un consiglio utile.

 

Se chiedi aiuto non puoi pretendere che gli altri ragionino come te. Devi, invece, assecondare il modo di ragionare degli altri per poter arrivare a conclusioni certe.

 

Poi rimane la metodologia di lavoro.

Tu puoi pensarla come vuoi, però ti posso garantire che un approccio ordinato e sistemico fa risparmiare tempo e da risultati certi e confrontabili. Al contrario un approccio per tentativi può anche portare, casualmente, ad una rapida soluzione, ma mediamente allunga i tempi di risoluzione; inoltre non da certezza di risultati.

 

Quello che più mi ha irritato è stata la tua affermazione:

 

9 ore fa, FAVOLA58 ha scritto:

probabilmente mezziùo secolo fa le tecniche erano diverse

 

Io lo interpreto come arroganza di un giovane, amcora piuttosto ingnorante, che non si rende conto della realtà dei problemi.

Forse questa non era la tua intenzione ma , quando si scrive, le parole rimangono e non c'è contatto visivo per correggere un'errata impressione.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

chiudo questa  polemica in modo molto semplice ,batta se avessi letto  attentamente  la risposta al tuo messaggio dove mi chiedevi come effettuavo il posizionamento ,penso di essere stato chiaro era un semplice set reset  ossia un comando e al raggiungimento quota stop marcia, ripeto a me non interessava rallentare e fermarmi alla quota precisa sapevo che l' inverter allo stop comando si sarebbe fermato a qualche millimetro dalla quota come accade ora ,il problema lo trovavo facendo un loop di diversi cicli andata e ritorno, avevo anche scritto che non avevo mai lavorato con i micromaster, come te sono arrivato alla conclusione che devi prima permettere al micromaster di effettuare lo stop dell' asse e dopo qualche tempo parlo di millisecondi nel mio caso 300 ridare il comando ,con questo rudimentale posizionamento comunque mi fermavo nell' ordine di 2 mm ovvio che al momento della messa in sevizio uso le funzioni di rallentamento e stop ,per prova nonostante il rallentamento e stop,se non ritardo il comando vado fuori di qualche decina di millimetri ,tutto qui non credo che non si capiva bene il mio problema,se anche come ora avessi utilizzato le funzioni che voi avete sempre evidenziato il mio problema sarebbe comunque rimasto, livio comunque ho 62 anni e non  mi ritengo un  arrogante e come te da 40 anni mi occupo di impianti e non lo faccio da un piedistallo ho i miei limiti tutto qui

Link al commento
Condividi su altri siti

13 ore fa, FAVOLA58 ha scritto:

livio comunque ho 62 anni e non  mi ritengo un  arrogante e come te da 40 anni mi occupo di impianti e non lo faccio da un piedistallo ho i miei limiti tutto qui

 

Ripeto:

16 ore fa, Livio Orsini ha scritto:

Io lo interpreto come arroganza di un giovane, amcora piuttosto ingnorante, che non si rende conto della realtà dei problemi.

Forse questa non era la tua intenzione ma , quando si scrive, le parole rimangono e non c'è contatto visivo per correggere un'errata impressione.

 

Poi che tre persone su tre che hanno letto non abbiano capito il sistema dovrebbe darti una qualche indicazione.

 

Poi torno a scrivere: ilproblema è tuo, se la soluzione va bene a te ....

Modificato: da Livio Orsini
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...