Vai al contenuto
PLC Forum


Contaore Anche A Plc Spento


chiateo

Messaggi consigliati


E come puoi pensare di fare una cosa simile?

Se il plc è spento, come fa a contare?

L'unica possibilità è nel caso ci fosse certezza che, mentre il plc è spento, l'utenza oggetto del conteggio ore non cambi di stato.

Solo in questo caso potresti memorizzare data/ora quando rilevi un cambiamento di stato e ottenere il tempo di funzionamento per differenza.

Il calcolo, ovviamente, lo puoi fare solo a plc acceso.

Link al commento
Condividi su altri siti

..avrei bisogno di creare un contaore che funzioni anche a plc spento , qualcuno mi sa aiutare?

Spegati un po' meglio. Il PLC ha un orologio che funziona, per un certo tempo, anche in assenza di alimentazione; però come ha scritto Batta, se il PLC è spento non può eseguire operazione alcuna.

Link al commento
Condividi su altri siti

L'oggetto in questione è acqua, nel mio caso, è sogetta ad un deterioramento dovuto alla aria..... devo generare un allarme per la sostituzione , chiaro che il sistema può farlo solo a plc acceso , ma necessito di contare il tempo passato anche dopo un riavvio del sistema?

Link al commento
Condividi su altri siti

con la SFC64 recuperi l'ora dal PLC. Devi gestirti gli eventi: memorizzi un orario di inizio, rilevi l'orario atuale e, per differenza, determini il tempo trascorso. Forse nelle librerie ci sono già funzioni per il calcolo di differenze tra date, altrimenti, te la scrivi.

Modificato: da mubeta
Link al commento
Condividi su altri siti

Perché non spieghi quello che devi fare in 10 righe invece che in una e mezza?

Forse si riuscirebbe a capire qualcosa.

Link al commento
Condividi su altri siti

Buongiorno, Inanzitutto grazie a tutti e scusatemi se non sono molto chiaro!

Il mio scopo è di generare un allarme per obbligare l'utente a fare la manutenzione sulla macchina.

La manutenzione deve essere eseguita al trascorrere di un determinato tempo anche se la macchina resta spenta( è chiaro che l'allarme verrà visualizzato solo se la macchina è accesa), l'oggetto della manutenzione è un liquido che si deteriora con il passare del tempo anche se inutilizzato.

Mi sembra corretto che l'unica strada da seguire è quello di realizzare un contattore sfruttando l'orologio della cpu,e sono riuscito a leggelo e programmarlo usando gli sfc0 sfc1 (tenete conto che stò usando una cpu vipa).

Poi però mi sono perso non basta confontare la data attuale con quella di inizio conteggio.....

Grazie a tutti per la collaborazione

Link al commento
Condividi su altri siti

se riesci a leggere l'orologio ti salvi l'ora in una word, cosi' quando si spegne hai l'ultima ora salvata.

Poi quando si accende nel primo ciclo fai un confronto tra l'ora presente e la word che ti eri salvato in precedenza (è ovvio che nel primo ciclo non devi sovrascrivere l'ora).

Poi se ti serve una variabile di tipo "quanto tempo è passato da" devi convertire i 2 valori in secondi, o minuti, per confrontarli.

Modificato: da mesta
Link al commento
Condividi su altri siti

l'oggetto della manutenzione è un liquido che si deteriora con il passare del tempo anche se inutilizzato.

Quindi devi registrare data/ora quando viene sostituito il liquido con SFC1 "READ_CLK".

Dalla variabile in formato DATE_AND_TIME restituita da SFC1 puoi estrarre la data in formato DATE (giorni dal 01/01/1990) con la funzione di libreria FC6 "DT_DATE" e l'ora in formato TIME_OF_DAY (in millisecondi dalla mezzanotte) con la funzione di libreria FC8 "DT_TOD".

Facendo poi la differenza tra data e ora attuali con data e ora dell'ultima sostituzione del liquido, risulta semplice generare un allarme.

Se il periodo di sostituzione è lungo e ti basta considerare solo i giorni trascorsi, diventa ancora più semplice.

Link al commento
Condividi su altri siti

Ci sono riuscito, grazie alla vostra collaborazione e una funzione che non conoscevo FC34 sb_dt_dt iec.

Con L'SFC1 ho letto la data e ora, con SFC20 l'ho memorizzata e con FC34 sb_dt_dt iec ho fatto il confronto.

Ora che ci sono riuscito mi sembra facile.

Grazie a tutti.

Link al commento
Condividi su altri siti

Ci sono riuscito, grazie alla vostra collaborazione e una funzione che non conoscevo FC34 sb_dt_dt iec.

Bene :)

La soluzione con FC34 "SB_DT_DT" è ottima, ma è applicabile solo se sei sicuro che il tempo non supererà mai i 24 giorni.

Questo perché il risultato di "SB_DT_DT" è in formato TIME, ovvero una variabile DINT con il tempo in millisecondi.

Il massimo tempo gestibile è quindi di 2147483647 millisecondi, ovvero circa 24,85 giorni.

Link al commento
Condividi su altri siti

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