Jump to content
PLC Forum


Vishesh_shr

Conteggio tempo ciclo macchina in secondi

Recommended Posts

Vishesh_shr

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 

Edited by Vishesh_shr

Share this post


Link to post
Share on other sites

Livio Orsini

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.

Share this post


Link to post
Share on other sites
Vishesh_shr

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

Share this post


Link to post
Share on other sites
Luca_99

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

Share this post


Link to post
Share on other sites
acquaman

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. 

Share this post


Link to post
Share on other sites
Luca_99

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

Share this post


Link to post
Share on other sites
batta

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

Share this post


Link to post
Share on other sites
Fox
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...