Jump to content
PLC Forum


Contaore


bit61
 Share

Recommended Posts

Ciao a tutti,

dovrei realizzare un contaore su PLC siemens S7 1200 CPU 1214C che immagazzina il tempo di funzionamento dell'uscita "Q0.0" (che comanda un pompa) nell'arco delle 24 ore e al cambio del giorno invia il tempo di funzionamento in un file sul pc e si resetta per il giorno successivo.

RingraziandoVi anticipatamente del vostro prezioso contributo vi auguro un buon lavoro

Link to comment
Share on other sites


Grazie Livio, vediamo se riesco a spiegarmi meglio

nell'impianto in questione mi chiedono di contare il tempo di funzionamento di una pompa e di visualizzare la variabile sul pc che fa da supervisione e creare un file storico giornaliero.

Link to comment
Share on other sites

nell'impianto in questione mi chiedono di contare il tempo di funzionamento di una pompa e di visualizzare la variabile sul pc che fa da supervisione e creare un file storico giornaliero.

Questo si era quasi capito anche dal primo post.

Quello che invece non si capisce è in cosa hai bisogno di aiuto: nel creare il contaore nel PLC, nell'inviare e resettare il dato al cambio del giorno o nello storicizzare il dato una volta che questo è nel PC?

E, se il problema è la storicizzazione del dato, dovresti almeno farci sapere che sistema stai usando, non credi?

Link to comment
Share on other sites

Hai ragione,

quello di cui ho bisogno è creare il contaore nel plc e nell'inviare il dato al cambio del giorno

Grazie 1000

Link to comment
Share on other sites

Livio Orsini

Cioè in pratica (quasi) tutto il lavoro. :)

per il contaore, proprio per gestione pompe, se fai una ricerca nelle sezioni S7-200 e S7-300 trovi molte soluzioni.

Quella più comune consiste nel leggere l'orologio di sistema all'avvio della pompa, memorizzandone il valore; allo spegnimento della stessa si rilegge l'orologio e per diferenza si calcola il tempo di funzionamento, tempo che andrà sommato alla variabile associata alla pompa.

Per l'invio al cambio del giorno, se si presume che l'impiato lavori 24/24, si deve decidere quale tolleranza sia ammessa ed usare questo valore per interrogare l'orologio di sistema.

Si può però fare le cose un poco più sofisticate e risparmiare molte interogazioni. Però qnche questo dipende dal tuo grado di confidenza con il PLC e dalle specifiche della macchian.

Link to comment
Share on other sites

Si può seguire anche un'altra strada.

Nella configurazione hardware imposti l'indirizzo del byte dei merker di clock.

Nel programma rilevi il fronte di salita del merker con frequenza 1 Hz (Mxxx.5).

Il risultato lo appoggi ad un merker che sarà alto per una scansione ogni secondo.

Utilizzi questo merker per incrementare un contatore su una DINT se l'uscita è alta.

Otterrai così, con pochissime e semplici istruzioni, un contasecondi di funzionamento.

Con una DINT puoi contare secondi per oltre 68 anni (il doppio se la consideri come UDINT).

Rimane poi il problema della registrazione e reinizializzazione del dato alla mezzanotte.

Questo lo puoi fare da PC (se è sempre acceso), o da PLC.

Per farlo da PLC dovrai, ovviamente, gestire l'orologio di sistema del PLC stesso.

Per prima cosa, dovrai assicurarti che l'orologio di sistema sia impostato correttamente, ed eventualmente correggerlo.

Per fare questo puoi utilizzare le istruzioni RD_SYS_T (oppure RD_LOC_T) per leggere data e ora di sistema, e WR_SYS_T per l'impostazione.

Il dato da utilizzare con queste funzioni è in formato DTL.

Se dichiari una variabile in formato DTL automaticamente viene creata la struttura di 12 byte contenente anno, mese, giorno, giorno della settimana, ora, minuto, secondo, nanosecondi.

Con un'interrogazione ciclica dell'orologio di sistema (potrebbe essere una volta al minuto), estrai dalla variabile il giorno (Var_DTL.DAY).

Lo confronti col giorno dell'ultima registrazione e, se è diverso, memorizzi il valore corrente del contaore in una variabile che il PC andrà a registrare su file, azzeri il contaore e aggiorni il giorno dell'ultima registrazione per il successivo controllo.

E' più complicato a dirsi che a farsi.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...