Vai al contenuto
PLC Forum


Variabile Variant


Elt2

Messaggi consigliati

Buongiorno a tutti gli amici del forum e ringrazio in anticipo della pazienza che avranno. A scuola stiamo facendo un esercizio per imparare ad utilizzare le istruzioni MC Move Control in Tia portal. Si tratta di controllare il posizionamento di un asse mediante l'istruzione Move relative. Il punto è che l'asse si dovrà muovere avanti e indietro di una distanza calcolata da una funzione matematica inserita in precedenza il cui risultato Viene collocato in un data Block. Una possibile soluzione è quella di richiamare tante istruzioni Move relative con i relativi db quanti sono gli spostamenti richiesti, ma questo renderebbe il programma estremamente pesante e in più a priori non sappiamo quanti spostamenti saranno richiesti all'asse! Lo ammetto: A questo punto ci siamo incartati e stiamo cercando una via d'uscita! Forse una possibile soluzione consiste nel mettere in loop l'esecuzione della istruzione Move relative e richiamare il valore di Ogni spostamento richiesto all'asse dichiarandolo come variabile Variant nel blocco funzione move control? Abbiamo provato a cercare degli esempi relativi all'utilizzo di variabili Variant sul sito Siemens oppure sui manuali ma finora non abbiamo trovato nulla. Mi rendo conto che si tratta di un problema un po' specifico e rileggendo il testo che vi sottopongo forse non è nemmeno esposto molto efficacemente..... Forse però tra gli utenti del forum c'è qualcuno che ha già risolto un problema simile e può darci delle indicazioni di massima relative ad una possibile via da seguire per trovare una soluzione al nostro esercizio. Tanto per dare qualche elemento in più che spero sia utile alla comprensione del problema da risolvere, l'esercizio consiste nel compensare l'allungamento di un pezzo in laminazione che si allunga ad ogni passata di una gabbia di laminazione reversibile, e l'esecuzione del loop si arresta una volta eseguita l'ultima passata..... Ringrazio in anticipo per l'attenzione. Cordiali saluti da elt2

Link al commento
Condividi su altri siti


Buongiorno a tutti. Una breve risposta per condividere il fatto che siamo riusciti a risolvere il nostro problema semplicemente inserendo in un blocco funzione FC l'istruzione MC move relative e indicando la distanza da percorrere con indirizzamento indiretto ad un registro di un blocco dati. In questo modo abbiamo osservato che l'istruzione move Control non inserisce un suo proprio data Block ma funziona egregiamente semplicemente richiamando il dato contenuto nel registro, senza la necessità di richiamarla come istanza multipla. Funziona! Ringrazio comunque tutti e a presto da elt2.

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