Vai al contenuto
PLC Forum


Confronto Fra 2 Valori Date_and_time


alan_ford444

Messaggi consigliati

Ciao a tutti,

dovrei confrontare 2 valori in formato DATE_AND_TIME per controllare se uno dei due supera l'altro.

Assumendo che uno dei due viene caricato con la data e ora attuali e l'altro con un dato di riferimento, la scelta piu' breve è ricaduta sull'FC18 ("LE_DT") preso dalle librerie standard IEC dell'S7.

Il confronto funziona e viene settato il bit #RISULTATO se #DATA_ATTUALE è inferiore a #DATA_RIFERIMENTO (confronto <=).

      CALL  "LE_DT"
       DT1  :=#DATA_ATTUALE
       DT2  :=#DATA_RIFERIMENTO
       RET_VAL:=#RISULTATO

Ho riscontrato il seguente problema: se il valore #DATA_RIFERIMENTO è superiore di 5 minuti rispetto a #DATA_ATTUALE il confronto dà il risultato corretto (TRUE), mentre se è superiore di "soli" 4 minuti e 59 secondi il confronto è errato (FALSE).

Il bit #RISULTATO dovrebbe essere a TRUE anche se i valori sono uguali, mentre dovrebbe andare a FALSE se #DATA_ATTUALE supera #DATA_RIFERIMENTO.

Riassumendo:

#DATA_ATTUALE minore di oltre 5 minuti rispetto a #DATA_RIFERIMENTO, #RISULTATO= TRUE <----- corretto

#DATA_ATTUALE minore di meno di 5 minuti rispetto a #DATA_RIFERIMENTO, #RISULTATO= FALSE<----- ERRATO

#DATA_ATTUALE superiore rispetto a #DATA_RIFERIMENTO, #RISULTATO= FALSE <----- corretto

E' un baco del blocco IEC?

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