Vai al contenuto
PLC Forum


Calcolo differenza tempi


skulls_91

Messaggi consigliati

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

 

Link al commento
Condividi su altri siti


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.

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