Colonial54 Inserito: 30 settembre 2018 Segnala Inserito: 30 settembre 2018 Salve a tutti Mi trovo su di un impianto in Giappone, con Tiaportal V15 ed una cpu 1513; il mio Tiaportal non ha al momento la simulazione funzionante ed il cliente non permette assolutamente di effettuare prove sul plc, che comunque e' in produzione; sono letteralmente guardato a vista, per questo motivo chiedo consiglio. Ho dei gruppi di dati che vengono raccolti in una struttura, si tratta di Int, Dint e Real, DataTime e forse alcuni Bool, insomma un po' tutto l'armamentario Siemens. Dovrei memorizzare questi dati in uno shift register, vale a dire scrivo la nuova struttura nella locazione zero di una DB, poi vorrei spostare tutto il blocco di strutture nella locazione successiva, si tratta di 360 strutture di 22 byte cad. In due parole, scrivo il dati nella struttura in locazione zero, poi dovrei spostare tutto il blocco a partire dalla locazione successiva, cioe' dalla 22. La domanda e', a parte il metodo tradizionale di spostare le strutture una ad una, se esiste un istruzione che permetta di spostare l'intero blocco di strutture (meno la struttura piu' vecchia) nella nuova locazione; Un grazie anticipato
ken Inserita: 30 settembre 2018 Segnala Inserita: 30 settembre 2018 devi fare un fifo praticamente. non l'ho mai usato ma nelle librerie gratuite lo trovi. https://support.industry.siemens.com/cs/document/109479728/library-of-general-functions-(lgf)-for-step-7-(tia-portal)-and-s7-1200-s7-1500?dti=0&lc=en-US per me fai comunque prima a scriverti una piccola funzione in scl
batta Inserita: 1 ottobre 2018 Segnala Inserita: 1 ottobre 2018 Io, in passato, ho analizzato la funzione FIFO contenuta nella libreria indicata da Ken, e devo dire che mi sembrava proprio ben fatta. Sfrutta dati di tipo Variant, quindi la puoi usare con array composti da qualsiasi tipo di variabili o di strutture. Rispetto a come si intende un classico registro, che prevede lo scorrimento di tutti gli elementi dell'array (lavoro che potrebbe essere pesante in caso di array lunghi e/o complessi), vengono gestiti degli indici che permettono di puntare alla prima e all'ultima variabile inserite nel registro, rendendo molto più leggero il lavoro di inserimento o estrazione di un dato. Vero, come dice Ken, che non ci vuole poi molto per farsi una funzione in SCL, ma è vero anche che la funzione di libreria è fatta molto bene.
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