ghismo1974 Inserito: 23 marzo 2020 Segnala Inserito: 23 marzo 2020 ciao. su un plc s7_300 dovrei creare un registro fifo per archiviare data ed ora nel momento in cui un bit si imposta. nello screen allegato, l'ultima parola in lista e il valore date_time reale ; all'attivazione del mio bit specifico, data_ora devo passare nella prima parola, quello che era presente nella prima parola va nella seconda, quello che era presente nella seconda parola va nella terza etc.. sino ad arrivare in questo caso alla parola 24 ; quello che era nella parola 24 va perso. Ho scritto un codice che sposta le parole una ad una, vorrei però perfezionare il tutto e scrivere il codice con i puntatori (di cui però non sono pratico). Chiede gentilemnte se qualcuno può aiutarmi con un'esempio. grazie mille a tutti. mandi.
batta Inserita: 23 marzo 2020 Segnala Inserita: 23 marzo 2020 Più che con AWL e puntatori, ti consiglierei di farlo in testo strutturato, e dichiarando un array di variabili. A parte questo, c'è un modo più efficiente per gestire un registro FIFO. Col tuo metodo, ogni volta devi spostare tutti gli elementi. Nel tuo caso sono solo 24, ma pensa se dovessero essere molti di più: il lavoro diventerebbe piuttosto pesante. Molto meglio quindi gestire il registro tramite indici. Se parti con registro vuoto, l'indice vale 1 (o zero, a seconda di come dichiari l'array) ed andrai a scrivere il dato nel primo elemento dell'array. Ogni volta che devi scrivere un dato, incrementi l'indice e scrivi nell'elemento corrispondente. Quando arrivi all'ultimo elemento, riparti dal primo. Cosa analoga per i dati che andrai ad estrarre dal registro. In questo modo, non importa se il tuo registro è composto da 10 o da 1000 elementi: il lavoro da fare, sarà sempre il minimo indispensabile.
ghismo1974 Inserita: 23 marzo 2020 Autore Segnala Inserita: 23 marzo 2020 ho capito, grazie. saresti così gentile da scrivere l'esempio ? grazie
ghismo1974 Inserita: 24 marzo 2020 Autore Segnala Inserita: 24 marzo 2020 il testo strutturato, in simatic manager, è il linguaggio SCL ?
batta Inserita: 24 marzo 2020 Segnala Inserita: 24 marzo 2020 Sì, SCL è come Siemens chiama il testo strutturato, come chiamano KOP il ladder, e FUP l'FBD. Cosa vuoi mai, sono tedeschi... ;-)
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