bit61 Inserito: 29 febbraio 2012 Segnala Inserito: 29 febbraio 2012 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
Lucky67 Inserita: 1 marzo 2012 Segnala Inserita: 1 marzo 2012 (modificato) Cos'è una richiesta di offerta? :devlish: Modificato: 1 marzo 2012 da Lucky67
Livio Orsini Inserita: 1 marzo 2012 Segnala Inserita: 1 marzo 2012 Esplicita meglio la tua richiesta di aiuto.
bit61 Inserita: 1 marzo 2012 Autore Segnala Inserita: 1 marzo 2012 Grazie Livio, vediamo se riesco a spiegarmi meglionell'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.
batta Inserita: 2 marzo 2012 Segnala Inserita: 2 marzo 2012 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?
bit61 Inserita: 2 marzo 2012 Autore Segnala Inserita: 2 marzo 2012 Hai ragione,quello di cui ho bisogno è creare il contaore nel plc e nell'inviare il dato al cambio del giornoGrazie 1000
Livio Orsini Inserita: 2 marzo 2012 Segnala Inserita: 2 marzo 2012 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.
batta Inserita: 2 marzo 2012 Segnala Inserita: 2 marzo 2012 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.
bit61 Inserita: 5 marzo 2012 Autore Segnala Inserita: 5 marzo 2012 Grazie Batta, la parte del contaore fatta e funzionante, ora devo solo far si che mi trasferisca il dato nel PC
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