Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Riferimento Velocità


Messaggi consigliati

Inserito: (modificato)

Salva a tutti

ho un problema, devo gestire su Cpu Omron CJ1M il movimento lungo una guida rettilinea lo spostamento in avanti e indietro di un vincolo.

Il sistema e' composta da CPU contenente il software di gestione, un modulo MAD42 (Utilizzando 1In Analogico e 1Out Analogico) che cattura la quota analogica da raggiungere da un sistema esterno (anIN:0-10V) e restituisce un valore analogico (anOUT:0-10V) all'inverter CIMR e un encoder per conoscere la quota del vincolo istante per istante.

Dovendo gestire accellerazione e decellerazione del sistema lineare nel suo spostamento iniziale e finale , come posso realizzare il riferimento di velocità? Immaginando di dover realizzare un riferimento di tensione verso l'inverter a forma trapezoidale, ovviamente poi cambiera l'altezza se mi cambia la quota da raggiungere volta per volta.Premetto che posso sapere la quota max inizializzando il sistema all'avvio.

Grazie per la collaborazione

Fabio

Modificato: da frankMaster

Inserita:

Se vai a leggerti Questa discussione trovi la risposta. Il PLC è un S7-200, ma il metodo di controllo che descrivo è valido per qualsiasi Hw

Inserita: (modificato)

Innanzitutto grazie per la risposta, ho letto quanto linkato.

Ho un dubbio a questo punto. Avendo la possibilità di impostare la rampa acc./dec. nell'inverter come posso ragionare per l'azionamento?

Chiedo venia ma ho sempre lavorato su logica e mai su azionamento. Mi sto documentando ma lavorare su un offline non mi permette di capire alcune cose che si vedono direttamente sul campo.

Mi spiego meglio, comandando in tensione l'inveter (controllo V/f) se imposto per esempio:

Out PLC: 10V(tempo>durata rampa) -> Out Inveter: RampaAcc.(t=Trampa)/ValoreMax(t>Trampa)

Out PLC: 0V -> Out Inveter: RampaDec(t=Trampa)/ValoreZero(t>Trampa)

sarà cosi che lavora l'inverter?

Modificato: da frankMaster
Inserita:

Se generi un profilo di velocità da PLC devi escludere la rampa dell'inverter, altrimenti ti troveresti due rampe in cascata.

Escludendo la rampa dell'inverter il riferimento di velocità applicato agisce istantaneamente, semprechè l'azionamento sia in grado di seguirlo.

Un appunto. Se pensi di effettuare un posizionamento con un azionamento in AC, pilotato da inverter V/f, metti in conto grandi problemi alle basse velocità e precisioni non eccelse (si fa per dire). Dovresti ipotizzare almeno un controllo vettoriale.

Inserita:

Ora veramente mi viene il dubbio che serva realmente un riferimento di velocità, la precisione non deve essere molto elevata.

Ho pensato che volendo ridurre all'osso il sistema potrei valutare lo spostamento nell'acc./dec. (con taratura minima della rampa pari a 0.1s) in termini di impulsi/mm e nel caso stimare non tanto la velocità che immagino/spero seguirebbe la forma trapezoidale(?) del segnale analogico di ingresso all'inveter ma piuttosto lo spostamento in acc./vel.Costante/dec. e gestire cosi quando tagliare la marcia per non andare in oltrecorsa, in teoria verificare che Spostamento in acc.+Spostamento in dec.<quota da raggiungere-quota attuale(spazio da percorrere)----cosi come visto nel link

Ovvero forse potrei magari escludere il controllo in AC ma ragionare su l'ingresso Marcia Avanti/Indietro, tanto la rampa me la creo nell'inverter.

Ma non so bene se questo ragionamento in pratica possa funzionare.

Inserita:

Per gestire il posizionamento con comandi analogici in omron esiste una funzione molto performante che è APR (processo aritmetico)

APR è una funzione molto potente, a seconda della sua configurazione può calcolare seno coseno, oppure eseguire scalature , calcolare volumi in serbatoi irregolari, e non ultimo gestire posizionamenti di tipo trapezioidale o seguire un profilo.

C'è solo da studiarsela un pò

Ciao

Inserita: (modificato)
Ma non so bene se questo ragionamento in pratica possa funzionare.

Potrebbe anche funzionare, tutto dipende dalle caratteristiche del sistema, dalla precisione necessaria, etc.

Senza conoscere i dati non è possibile dare un giudizio

Modificato: da Livio Orsini
Inserita:

Ciao

grazie per la risposta

questo blocco non credo possa servirmi a molto almeno per la visione limitata che ho io della cosa, alla fine fa un confronto punto a punto su un scala di 256 punti che comunque dovrei assegnare io come riferimento.

Non vedo l'utilità o la semplicità applicata in un sistema ad inseguimento di posizione.

Chiedo comunque un aiuto sui punti esposti nel mio precedente post.

Inserita:

In sintesi:

La precisione non deve essere elevata.

Secondo voi e' possibile gestire il tutto con il solo ingresso di marcia(con rampe impostate nell'inverter) per creare un riferimento di tensione trapezoidale verso l'inverter?

E' possibile controllare tutto ragionando solo in termini di spazio(impulsi) per capire quando tagliare il comando?

Inserita: (modificato)

E' lecito un ragionamento del genere? solo sulla posizione

Lavorare direttamente solo sull'ingresso di marcia ON-OFF, si da Start(Stop) al motore

in questo modo la frequenza sarà gestita con il trimmer sul frontale dell'inverter, le rampe sono impostate nell'inverter e generare il riferimento trapezoidale in uscita.

Quota da raggiungere > Spazio Acc.+ Spazio Dec.

dove lo Spazio di Acc.=Spazio di Dec. spero memorizzabile misurando in un intervallo di 0.1s allo start del comando di marcia come numero di impulsi/mm, la Quota attuale e' vista come numero Impulso(lato encoder) a cui dare la stessa scala sull'AD che prende la quota da raggiungere.

da qui se verificato il > eseguiamo A) se <= segue B ):

A) Quota di Stop = Quota rimanente - SpazioDec

Qrimanente=Qda raggiungere - Qattuale

B ) Qpercorsa+1 >= Qrimanente (verificato questa condizione si da lo STOP)

quindi con la stessa scala se si riesce ad impostare la stessa scala sul modulo di conversione AD che prende la quota da raggiungere da un sistema esterno come valore di tensione 0-10V

Modificato: da frankMaster
Inserita:
La precisione non deve essere elevata.

Cosa significa? 10um, per esempio, possono essere un errore insignificante o enorme, dipende dall'applicazione.

Che tu generi i profilo di velocità tramite il PLC o sfrutti le rampe ed il riferimento dell'inverter, per il posizionamento cambia quasi nulla.

Se usi il PLC per generare il profilo di velocità hai maggior flessibilità e miglior controllo.

Se usi le rampe ed il riferimento esterno devi essere sicuro che non ci siano variazioni di riferimento di velocità durante tutto il lavoro. In pratica se lasci il potenziometro sul fronte dell'inverter devi considerare, per i conti relativi all'accelerazione ed alla decelerazione, che la velocità sia sempre la massima ammissibile.

Inoltre il tuo inverter deve permettere la commutazione su un secondo riferimento di velocità, che corrisponderà alla velocità lenta, quella che si usa per compiere l'ultimo tratto di posionamento.

Comunque effettuare tramite PLC, le sole verifiche per il punto di rallentamento, di velocità lenta e di stop comporta le medesime complicazioni che generare direttamente il riferimento di velocità, senza averne la flessibilità

...spero memorizzabile misurando in un intervallo di 0.1s ...

Due annotazioni.

Quando si progetta non si spera, si ragiona su dati precisi e si analizza per il caso pessimo. Almeno questa è la strategia corretta per qualsiasi tipo di progettazione. Le speranze si lasciano ai religiosi ed ai politici :(

Quantizzare su 100ms può essere un intervallo lunghissimo o brevissimo se lo si prende avulso dalsuo contesto di sistema.

Inserita: (modificato)

La corsa del carrello e' lunga 2400 mm e per l'encoder 1 mm di corsa carrello sono = 1024/20.42 = 50.146 impulsi encoder. Non ho specifiche sulla tolleranza del sistema ma ad occhio e croce io gli darei anche 10mm a spostamento, sono circa 500 impulsi (encoder incrementale) io da neofita valuto come un margine consistente. Lo spostamento minimo dovrebbe essere nell'ordine della decina di mm(purtroppo parlo al condizianale perche tante cose mi sono state solo descritte).

Un riferimento di velocità non l'ho mai realizzato e al momento non ho la possibiltà di fare prove,concordo che sia una soluzione maggiormente flessibile ma ora non ho esperienza a riguardo....il che un po mi frena nell'adottare questa soluzione, vorrei cautelarlmi magari realizzando qualcosa di piu immediato e se avessi tempo trovare un'altra soluzione.

Quindi ho fatto un ragionamento così, intuitivo ma non so se poi nella pratica possa andare bene.

Da specifiche di progetto non e' prevista la commutazione su una velocità di rallentemento. So che vorrebbero un riferimento di velocità realizzato con questo input trapezoidale dato in pasto all'inverter, ma a questo punto che senso ha comandare con un segnale analogico l'inverter se le due rampe sono impostate da loro nello stesso?

Per quanto riguarda i 0.1s(100ms) io mi riferivo alla durata della rampa, alla fine il sistema deve acquisire una quota, convertirla in un tempo che puo essere anche di secondi, asservire tale quota in un tempo sulla scala dei secondi volendo. La conversione D/A verso l'inverter e' dell'ordine dei ms (1ms) quindi siamo ampiamente sotto, per quanto riguarda il valore di quota attuale (impulsi encoder) non ho ora manuale alla mano, ma giurerei di ricordare che siamo anche qui nella decina di ms al max.

Modificato: da frankMaster
Inserita:

In tutto quello che scrivi c'è una sola cosa chiara: non ci sono specifiche precise e/o non sai bene come dovrebbe funzionare il sistema.

Punto 1 deve essere indicato l'errore massimo di posizionamento.

Punto 2 devono essere stabilite: massima velocità di lavoro, tempi di accelerazione e decelerazione. Da questi dati dipende, unitamente ai dati meccanici, il dimensionamento dell'azionamento della macchina

Punto 3 un posizionamento ha sempre un tratto percorso a bassa velocità

Punto 4 le rampe dell'inverter possono essere escluse.

A questo punto non ho più nulla da aggiungere.

Ci sono due modi di progettare: uno corretto ed uno sbagliato.

Il modo corretto prevede: dati di partenza chiari e completi, una scelta di strategia che vanti le migliori probabilità di successo ed un approccio conseguente.

Il modo sbagliato è fare le cose ad libitum, sperando che Dio la mandi buona (e magari anche giovane :) )

Inserita:

L'unica cosa certa e' che alla fine nella vita ognuno deve provvedere da se ai propri incarichi, e qui ennesima riconferma

chiudete pure il post

Inserita:
L'unica cosa certa e' che alla fine nella vita ognuno deve provvedere da se ai propri incarichi, e qui ennesima riconferma

quel che dici è vero in parte, una mano puoi sempre trovarla è ovvio che poi sta te a metterci il 99% di tuo, forse il modo in cui ti ha scritto Livio può sembrare un pò duro, però è il metodo corretto.

non scoraggiarti se hai altri dubbi posta pure.

Ciao

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