Vai al contenuto
PLC Forum


S5time - Da DINT a S5Time


Messaggi consigliati

Inserito:

Ciao a tutti..

Ho il seguente problema:

Devo creare da una variabile DINT che mi rappresenta un tempo in minuti una variabile S5TIME che rappressenti appunto tale tempo..

Qualcuno ha già affrontato il problema..?

Grazie.


Inserita:

Il formato è così composto:

byte n:

bit 0-1-2-3 = 3° cifra del valore di tempo in bcd

bit 5-4 = scala dei tempi 0-0 = 0,01s / 0-1 = 0,1s / 1-0 = 1s / 1-1 = 10s

bit 6-7 = non usato

byte n+1:

bit 0-1-2-3 = 1° cifra del valore di tempo in bcd

bit 4-5-6-7 = 2° cifra del valore di tempo in bcd

Prova comunque su step 7 (nell'editor dei blocchi) a richiamare l'. e cercare "Tipo di Dati"

Inserita:

Si, così sono riuscito a creare una variabile S5time dinamicamente.. l'unico problema è la "risoluzione" infatti al max con la base dei tempi impostata su 10s arrivo ad un tempo max di 2h e qualcosa..

Quindi alla fine ho creato un mio contatore utilizzando i bit di clock della CPU, così conto tutto il tempo che voglio..

Grazie.. Ciao!

Inserita:

il formato s5time e' un formato bcd

Per trasformare un numero INTERO che rappresenta secondi e decimi

di un tempo bisogna fare cosi

L DB14.DBW 332 //dichiarato come INT

ITB

L W#16#1000

OW

T DB3.DBW 24 //dichaiarto come S5time e passato al preset del timer

seno c'e' il metodo di creare timer su fronte di salita desiderato

Se c'e' la condizione si incrementa l'accumulatore del timer e quando e' >=

del preset si alza il done

Il tutto , se trattato e strutturato in un abella struttura di array permette

di creare diversi timer ed anche poter gestire allarmi , allorquando questi siano tanti e tutti da temporizzare , senza usare i timer sistema

ciao

walter

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