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




Creazione Storico Con Db


Messaggi consigliati

Inserito:

Ciao a tutti.

Premetto che ho provato a fare una ricerca sul forum, ma non sono riuscito a trovare o almeno a capire quanto è già stato scritto in passato di simile.

Ho spesso programmato S7-200 con Microwin, e molto poco in S7.

Veniamo al dunque:

CPU 315-2DP con 2 stazioni ET200S

Pannello ESA IT105B

Questo impianto gestisce un impianto di irrigazione in un vivaio.

Sono stati inseriti 4 sensori che contano i litri d'acqua erogati da 4 pozzi diversi ed incrementavano 4 contatori in una DB le cui dword venivano semplicemente visualizzate sul pannello in una apposita pagina.

Ora il cliente mi chiede di creare uno storico settimanale dei singoli contatori per poterli poi esportare su chiavetta tramite la USB del pannello ESA. I dati dovrebbero avere questa stuttura di esempio:

n. settimana | Litri 1 | Litri 2 | Litri 3 | Litri 4 |

Ora il mio problema (dal momento che non ho mai usato le DB in questo modo, diciamo variabile ed incrementale a livello di veriabili da memorizzare) è come memorizzare questi totali settimanali (i totali settimanali non sono il problema) nelle DB: dovrei usare un array? come leggere e scrivere questi dati? Oppure posso farlo fare al pannello lo storico e non al plc?

Chi mi da due dritte, o ancora meglio mi scrive qualche riga di codice di esempio?

Grazie in anticipo.


Inserita:

Nessuno riesce a darmi una dritta?? Su, su... un piccolo sforzo.. :):)

Sia chiaro: nessuna pretesa. ;)

Luca Bettinelli
Inserita:

Premessa:

PLC Forum non ha fini di lucro, e va considerato come l'equivalente di un bar sport virtuale, dove si parla di automazione e di problemi tecnici invece che di calcio e ciclismo (© by Livio Orsini).

Se hai un problema, un dubbio, una necessita' o solo una semplice curiosita' e invii un messaggio con una richiesta,

non devi pretendere di avere una risposta!

In PLC Forum risponde chi e quando vuole. Qui nessuno e' pagato per rispondere a qualsiasi domanda e non devi lamentarti se nessuno ti risponde. I motivi del perche' nessuno ha risposto, possono essere diversi.

Per esempio:

- nessuno conosce l'argomento

- chi conosce l'argomento non ha letto la tua domanda

- chi conosce l'argomento non ha avuto tempo di rispondere (ti ricordo che nessuno posta in PLC Forum per lavoro...)

- chi conosce l'argomento non ha voglia di scrivere (ebbene si, ogni tanto capitano giornate storte a chiunque...)

- ...[mille altri motivi]

FAQ PLCForum+-->
CITAZIONE(FAQ PLCForum)

Inserita:

Ciao,

il mio consiglio è di creare una nuova DB che possa contenere un numero di dati tale da contenere il numero di settimane che intendi mantenere.

è chiaro che devi decidere a priori il numero di settimane che vuoi mantenere memorizzate, dopo di che col database pieno, devi eliminare i dati più vecchi per fare spazio ai dati più recenti.

Per gestire questi dati esistono delle funzioni dette funzioni tabellari presenti nelle librerie di Siemens che ti possono aiutare.

Ciao

Inserita:

Mille grazie per la risposta.

Avevo pensato anchio in teoria ad una simile soluzione, ma mi manca la parte software. Ora dò uno sguardo a queste funzioni tabellari.

Inserita:

Ciao...

si è come dice MarcoB70.... e io lo fare bel plc....io ehh...Le funzioni (fc) per aggiungere e shiftare i dati le trovi nei manulai, on line(ne sito della siemens), e nelle libreria di step 7. Il db dovrebbe essere di tipo circolare, ti devi prefissare un numero di registarzuione, raggiunto il max ricominci a scrivere dall'alto, e non perdi niente, occhio ad ventuali calcoli postumi: medie (mi viene in mente così a titolo d'informazione) e ai formati con cui crei la tabella: per visulaizzare sul pannello operatore

Se ti vuoi divertire potresti creare un codice che

controlla l'esistenza della db

se no la crea

punta alla prima dw libera o successiva a quella attuale

controlla di aver raggiunto il massimo n di registarzione

sovrascrive il dato.

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