Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Step 7 - Conversione Real To Time


Messaggi consigliati

Inserito:

Buongiorno a tutti! Dato che non riesco a trovarla da nessuna parte, volevo sapere se sapevate se in Step7 (AWL/KOP/FUP) esiste una funzione che trasforma una variabile di tipo REAL in una di tipo TIME.

Per ora sono riuscito a trovarne solo una che trasforma INT in S5TIME (e da li poi lo trasformerei in TIME senza problemi), ma quella è adatta solo per tempi "non cosi accurati", dell'ordine dei secondi insomma. Il problema sorge quando ho ad esempio 4,5 secondi...

Info su PLC: CPU414-4H

Thanks a lot!!!

Dave


Matteo Montanari
Inserita: (modificato)

Nel manuale di sistema viene riportato quanto segue:

Il tipo di dati TIME viene memorizzato quale numero intero con segno in millisecondi col formato di complemento a due.

di conseguenza dovresti convertire il tuo valore in virgola mobile (real) in doppio intero ed eseguire le operazioni necessarie per portare il valore (reale) in millisecondi.

per il PLC quel valore è un doppio intero, solamente se utilizzi diversi tipi di visualizzazione (necessari a Noi per capire di cosa si tratta) lo stesso valore numerico assume significati diversi.

il codice più semplice per fare quello richiesto è il seguente:

      L     MD     0
      L     1.000000e+003
      *R    
      TRUNC 
      T     MD     4

dove MD0 è il valore in virgola mobile espresso in secondi esempio 4.5s

il risultato MD4 è il valore "TIME" (o "TEMPO" ed equivale a 4500 -> quindi 4s500ms.

Modificato: da Matteo Montanari

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