Vai al contenuto
PLC Forum


CPU 1512SP F-1 PN Tempo Ciclo


walterword

Messaggi consigliati

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

Link al commento
Condividi su altri siti


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

Modificato: da walterword
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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 

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

 

Modificato: da walterword
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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 

 

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