Vai al contenuto
PLC Forum


Calcolo differenza tempi


Messaggi consigliati

Inserito:

Buongiorno a tutti ,

ho la neceissità di implementare una funzione all'interno del programma che attualemente gira sul mio PLC S7-1200.

La funzione dovrebbe calcolare la differenza di tempo che intercorre tra i fronti di salita di un ingresso del PLC. Ho provato a utilizzare la funzione RD_SUY_T per leggere l'orario  utilizzano come attivazione l'uscita di un R_TRIG ( Fronte di salita) il problema e che funziona 2 volte su 3, mi spiego meglio..

All'avvio del primo trig leggo con RD_SYS_T la "Data1" ,poi l'ingresso del plc va da 1->0 , dopo x tempo l'ingresso va da 0->1 attivando nuovamente la lettura di un secondo blocco RD_SYS_T e calcolando "Data2". A valle di questo calcolo effettuo la differenza dei tempi con T_DIFF e tutto sembrerebbe funzionare.Il problema nasce sul terzo fronte di salita che in teroia dovrebbe acquisire "Data3" per poter poi calcolare la differenza ma in questo modo ovviamente dovrei avere infiniti time..vorrei capire come fare per salvare data2 in data1 dopo aver fatto il calcolo della differenza..

Chiedo scusa se sono stato confusionale ...in poche parole ho fatto vari test ma dovrei capire come fare per calcolare la differenza tra "Data-n"-"Data-n-1"

Grazie in anticipo saluti

Samuele

 


Inserita:

Tutte queste date, devono essere memorizzate o vuoi sapere le solo l'ultima differenza?

 

Inserita:

Se non devi memorizzare nulla, usa solo una lettura della data, ad ogni fronte leggi la data e la metti nella data 1, fai la differenza con la data 2 e sposti la data 1 nella data2.

Il gioco è fatto.

Inserita:

Ciao grazie mille per la dritta...ho riscritto il pezzo di programma incriminato e tutto funziona.

 

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