Jump to content
PLC Forum


walterword

CPU 1512SP F-1 PN Tempo Ciclo

Recommended Posts

walterword

Ciao a tutti 

Utilizzo da un po queste cpu che fanno parte della serie ET200 SP

Sono Offline tramite TIA Portal V15 e nel OB1 non vedo le variabili locali nella tendina, tipo #PREV_SCAN ed altre 

Strano perchè non ho avuto questo problema 

Le ho inserite a mano copiandole da un altro progetto con lo stesso plc che non ha questo problema

Ma c'e' qualcosa da impostare da qualche parte, io non trovo nulla.

Ora sto provando con il plc simulator ma è chiaro che queste variabili non le avro mai

Però non vorrei ritrovarmi in cantiere con questo problema

Il tempo ciclo lo uso per fare molte cose 

Ne sapete qualcosa ?

ciao e grazie

Share this post


Link to post
Share on other sites

walterword

ho trovato la funziona RUNTIME nel catalogo delle istruzioni

Come cambiano le cose .....

E' un LReal non più un INT pero vedo che funziona anche con il simulatore ....devo rifare tutte le librerie dove uso il tempo ciclo ....

Edited by walterword

Share this post


Link to post
Share on other sites
vitali mario

Imposta OB1 senza accesso ottimizzato al blocco. Nelle temporanee hai quello che cerchi

Share this post


Link to post
Share on other sites
batta

Se vuoi avere ancora le vecchie variabili, devi impostare il blocco come non ottimizzato.

Share this post


Link to post
Share on other sites
batta
20 minuti fa, walterword ha scritto:

devo rifare tutte le librerie dove uso il tempo ciclo

No, ti basta convertire il tempo in millisecondi. Devi solo fare attenzione a non perderti frazioni di millisecondo.

Share this post


Link to post
Share on other sites
walterword

Si si lo avevo fatto di togliere blocco ottimizzato ma le temp non me le dava cosi le ho copiate da un altro progetto.

Cosa dite se è più precisa la funzione runtime ...be moltiplico per 1000.0 ed ottengo i millisecondi 

Non mi serve precisione acuta, sono accumulatori a memoria per dare informazioni su quante ore sta funzionando un motore, un asse, quanti metri o km ha percorso lo stesso etc.

Li butto fuori su opc ua per industria 4.0 

Share this post


Link to post
Share on other sites
batta
39 minuti fa, walterword ha scritto:

be moltiplico per 1000.0 ed ottengo i millisecondi

Non è così semplice. C'è da fare qualche passaggio in più.

Immagina di avere una cpu così scarica che gira in meno di 0.5 millisecondi, ovvero meno di 0.0005 secondi. Moltiplicando per 1000 e trasformandolo in intero, otterresti sempre 0.

Oppure, un tempo di 0.0054 secondi verrebbe trasformato in 5 ms.

Io mi sono creato una funzione per non perdere le frazioni di millisecondo.

Share this post


Link to post
Share on other sites
walterword

e si la sto guardando questa cosa.

Va be posso moltiplicare per 10.000 o 1M e poi alla fine sul conteggio finale delle ore dividere 

Cosa dici?

Comunque se io modifico la mia funzione ed utilizzo LReal ottimizzo al massimo. Poi ottengo le ore in LReal che posso sempre Truncare o trasformare in DINT

 

Edited by walterword

Share this post


Link to post
Share on other sites
Cesare Nicola
Il 12/11/2019 alle 13:48 , walterword ha scritto:

Non mi serve precisione acuta, sono accumulatori a memoria per dare informazioni su quante ore sta funzionando un motore, un asse, quanti metri o km ha percorso lo stesso etc.

Io ho sempre usato i clock di sistema per cose del genere (del tutto consapevole che si portano dietro errori dovuti al tempo ciclo) e non ricordo di aver mai avuto necessità di conteggi più accurati. Mi sono sempre chiesto se l'utilizzo del tempo di ciclo assolva davvero a reali necessità o sia solo per il gusto di farlo (una sorta di "sega mentale", perdonatemi il francesismo). So anche di chi non usa i timer Siemens nemmeno sotto minaccia armata perché se li è auto-costruiti partendo dal tempo di ciclo. Attenzione, non voglio assolutamente sminuire il lavoro di nessuno né polemizzare, che di seghe mentali ne ho anch'io e non poche. 🙂 E' una domanda assolutamente a scopo costruttivo.

Share this post


Link to post
Share on other sites
acquaman
1 ora fa, Cesare Nicola ha scritto:

Io ho sempre usato i clock di sistema per cose del genere

Anche io, fino a quando ho dovuto fare un test con una cpu 300 con un programma con un tempo ciclo tra lo 0 e 1ms, li il mio temporizzatore è veramente impazzito, da allora uso l'orologio di sistema, mi memorizzo l'ora e la confronto con l'ora attuale.

Share this post


Link to post
Share on other sites
acquaman

Scusa ho letto male io usavo il tempo della scansione del plc.

Share this post


Link to post
Share on other sites
walterword

con la funzione Runtime il tempo di scansione è espresso in long real.

Lo sto testando da qualche giorno con un timer digitale e devo dire che è molto preciso.

Si anche io utilizzo i clock per incrementare variabili. Ma un conto è gestire un timer o un accumulatore che viene utilizzato a livello di processo e un altro è gestire un tempo a lungo termine.

Posso anche non leggere dal client ogni ora ma ogni giorno oppure una volta alla settimana. Con il clock di sistema e relativi asincronismi dovuti al tempo ciclo avrei errori troppo alti 

 

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