Vai al contenuto
PLC Forum


Conteggio tempo ciclo macchina in secondi


Vishesh_shr

Messaggi consigliati

Salve a tutti, 

scrivo qui che sto avendo dei problemi con un vecchio macchinario al quale è stato installato un PLC Siemens 1200.

Utilizzo Tia Portal v14.

 

Avrei bisogno di contare in secondi il tempo ciclo della macchina utilizzando un solo bit (la tappa di inizio) per iniziare il conteggio e alla fine quando lo steso bit va a 1 resettare e ripartire con il conteggio.

Infine avrei bisogno di salvare il tempo dell'ultimo ciclo della macchina.

 

Grazie a chi mi risponde 

Modificato: da Vishesh_shr
Link al commento
Condividi su altri siti


Puoi leggere il tempo dell'orologio di sistema che è espresso in ore, minuti e secondi.

Memorizzi la prima lettura quando il bit va alto, rileggi quando il bit va bassa, fai la differenza e memorizzi il valore risultante.

Link al commento
Condividi su altri siti

Ho risolto utilizzando un temporizzatore ad impulsi che parte alla prima tappa e poi viene spostato il valore in un altra variabile per infine resettarlo.

 

Ora la mia domanda è un un'altra, ovvero avrei la necessità di trasformare la mia variabile di tipo Time in un valore esclusivamente in secondi (es. "1m e 17s" in "77") messo in un intero che posso mostrare a pannello.

 

Grazie ancora per la risposta

Link al commento
Condividi su altri siti

Semplicemente sposti la variabile di tipo Time in una di tipo INT, successivamente dividi per 1000.

Questo perchè tu vedi il temporizzatore contare in ore, minuti, secondi e così via; ma in realtà lui conta conta sempre in millisecondi, di conseguenza basta spostare la variabile.

 

Ciao Luca

Link al commento
Condividi su altri siti

La variabile TIME è un doppia word se la sposti in una INT in caso di valori di tempo alti rischi di avere tempi a caso, devi spostare il tuo tempo in una DINT prima di dividere per 1000. 

Link al commento
Condividi su altri siti

Hai ragione, ho detto in una INT, per questo:

2 ore fa, Vishesh_shr scrisse:

messo in un intero

Siccome un Intero ti conterà fino ad un massimo di nemmeno 33 secondi.

Grazie per avermi corretto

Link al commento
Condividi su altri siti

Si può anche leggere direttamente in formato Time dal pannello operatore, e fare la scalatura nel pannello operatore.

Link al commento
Condividi su altri siti

il 13/6/2019 at 15:36 , Vishesh_shr scrisse:

Ho risolto utilizzando un temporizzatore ad impulsi che parte alla prima tappa e poi viene spostato il valore in un altra variabile per infine resettarlo.

 

Ora la mia domanda è un un'altra, ovvero avrei la necessità di trasformare la mia variabile di tipo Time in un valore esclusivamente in secondi (es. "1m e 17s" in "77") messo in un intero che posso mostrare a pannello.

 

Grazie ancora per la risposta

Comunque anch'io avevo usato il tuo metodo ma mi dava problemi e non ero sicuro della precisione. Poi ho Optato per il metodo suggerito da Batta in questa discussione: 

Semplice e preciso.

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