Vai al contenuto
PLC Forum


Conversione variabile_TOD


lex_1984

Messaggi consigliati

Buonasera a tutti, ho iniziato a lavorare da poco presso un'Azienda che si occupa di automazione industriale e sono nuovo del forum, poiché sto lavorando allo sviluppo di un programma PLC su di una CPU SIemens S7 1200 con TIA portal V13 SP1 Update 5 con Step 7 Professiona V13 SP1 Update 5, ho un problema nella conversione di alcune variabili; in particolare dovrei convertire due variabili Word, una relativa a dei minuti e l'altra all'ora, in una variabile del tipo "Time of the Day";  chiedo gentilmente se potete aiutarmi, ringrazio anticipatamente.

Un saluto

Alessandro

Link al commento
Condividi su altri siti


Ciao, la soluzione è molto semplice, infatti il tipo di dato "Time_of_day" (abbreviato viene chiamato TOD) occupa 32 bit che rappresentano il numero di millisecondi a partire da mezzanotte (0:00 h) come un doubleInt senza segno.

Quindi se:

"time_of_d" è la tua variabile di tipo "Time_of_day",

"word_minuti" la variabile di tipo word che rappresenta i minuti,

"word_ore" la variabile di tipo word che rappresenta le ore

 

Essendo il numero di millisecondi relativo ai minuti pari a 60000*word_minuti, quello invece relativo alle ore è pari a  word_ore*3600000;

 

Non potendo fare direttamente le moltiplicazioni con le word allora devi fare cosi:

 

#time_of_d:=DINT_TO_DWORD(WORD_TO_DINT(#word_minuti)*60000+WORD_TO_DINT(#word_ore)*3600000);

 

Spero di esserti stato d'aiuto, ciao

 

 

Modificato: da android633
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...