Vai al contenuto
PLC Forum


Data, Mese, Giorno, Anno? Su S7 Cpu312 - Modifica ora su Eapad04


Spand

Messaggi consigliati

Buon girono,

In un'applicazione che stò sviluppando ho esigenza di catturare data e ora della CPU, sono riuscito sia ad impostarli che a leggerli, ora pensavo che il più fosse fatto, mi accorgo che il pannellino con il quale mi interfaccio non riconosce i formati TIME OF DAY e DATE, come faccio a fare impostare all'operatore i parametri e come posso visualizzarli, esistono delle funzioni che mi estrapolano, giorno, mese, anno, ora, minuti in variabili distinte?

Oppure qualcuno di voi ha esperienza di Uniop Epad04 (ex EK12) e ha suggerimenti da darmi per visualizzare la date e l'ora senza altri sconvolgimenti?

Grazie

Link al commento
Condividi su altri siti


Se guardi nelle librerie standard di Step 7 (IEC Function Blocks) trovi le seguenti funzioni:

DT_DATE: estrae data (in giorni dal 01-01-1990) dal formato DATE_AND_TIME

DT_DAY: estrae giorno della settimana da DATE_AND_TIME

DT_TOD: estrae ora del giorno (in ms dalla mezzanotte) da DATE_AND_TIME

D_TOD_DT: converte DATE e TOD in DATE_AND_TIME

Con SFC0 (SET_CLK) puoi scrivere data e ora nel PLC.

Se cerchi in PLC & didattica trovi anche un mio lavoro con alcune di queste funzioni create da me. Fanno la stessa cosa di quelle originali, ma sono un pò più leggere e non sono protette.

Dimenticavo: la CPU 312 ha un orologio software, non hardware come hanno invece i modelli superiori.

Questo significa che se la cpu non è in run l'orologio si ferma. In altre parole: ogni volta che spegni la cpu, l'ora va a quel paese.

Modificato: da batta
Link al commento
Condividi su altri siti

Grazie per il consiglio prezioso, non sapevo che la 312 non manteneva l'orologio; comunque ho usato le funzioni da te descritte, il mio problema e che il pannello non supporta i dati in formato "data" e "tempo" dovrei quindi spezzarli in variabili intere se voglio settarlo e visualizzarlo

Link al commento
Condividi su altri siti

Se cerchi nell'. in linea di Step7 trovi che la variabile DATE_AND_TIME è così formata:

Byte 0: anno (2 cifre)

Byte 1: mese

Byte 2: giorno del mese

Byte 3: ora

Byte 4: minuti

Byte 5: secondi

Byte 6: 2 cifre più significative di millisecondi

Byte 7: cifra meno significativa di millisecondi (4MSB) + giorno della settimana (4LSB)

Tutti i valori sono in BCD.

La variabile DATE_AND_TIME contenente data e ora del plc la puoi leggere negli OB (esempio: in OB1 trovi OB1_DATE_AND_TIME)

Un semplice sistema per estrarre da DATE_AND_TIME anno, mese, giorno, ora, minuti, secondi, può essere il seguente:

L P#OB1_DATE_TIME

LAR1

L LB[AR1 , P#0.0]

T Anno

L LB[AR1 , P#1.0]

T Mese

L LB[AR1 , P#2.0]

T Giorno

L LB[AR1 , P#3.0]

T Ora

L LB[AR1 , P#4.0]

T Minuti

L LB[AR1 , P#5.0]

T Secondi

Dove Anno, Mese, Giorno, Ora, Minuti, Secondi sono le tue variabili (ricorda, sono valori in BCD), e possono essere visualizzate sul pannello operatore.

Link al commento
Condividi su altri siti

  • 2 years later...

Ciao a tutti

volevo chiedere se conoscete software liberi per compilare la nuova dichiarazione di conformità 37/08

ho provato quello della gewis ma non mi soddisfa il modo di impaginare

conoscete qualcosa d'altro?

Grazie mille

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