Sign in to follow this  
Followers 0

Formato S5 Time

6 posts in this topic

Posted

Saluti a tutti gli utenti del PLCForum.

Sto usanto Step 7 v5.1 SP2 su una CPU 3152DP.

Ho necessità variare continuamente, in base a calcoli esegutiti nella routine, il tempo di lavoro di un temporizzatore.

Non so come fare a trasformare il risultato del calcolo effettuato in formato idoneo alla parametrizzazione del timer.

es: tempo di lavoro 153msec ---> S5Time=??????

Share this post


Link to post
Share on other sites

Posted

Puoi caricare il valore nel seguente formato:

W#16#wxyz

w = base di tempo

10 ms 00

100 ms 01

1 s 10

10 s 11

xyz = valore in formato BCD

p.s. "il millisecondo" in realtà non esiste, risoluzione minima 10ms e anche qui dipende da altri fattori.

Qui trovi un'immagine del formato: http://web.tiscali.it/maravea

Share this post


Link to post
Share on other sites

Posted

dago_+Feb 8 2003, 12:28 PM-->
CITAZIONE(dago_ @ Feb 8 2003, 12:28 PM)

Ti spiace anche descrivermi i vari passaggi per la trasformazione?,

tieni conto che il valore da convertire il ce l' ho sulla MD71.

Grazie anticipato

Share this post


Link to post
Share on other sites

Posted

Credo si faccia così (poi chiederemo conferma a Dago):

// Per valori da 0.01 sec. a 9.99 sec.

L W#16#0000 // imposta base tempi in centesimi di sec.

L MW10 // valore di temporizzazione

ITB // converte intero in BCD

OW // Or parola

T MW12 // Valore S5T per il timer

// Per valori da 0.1 sec. a 99.9 sec.

L W#16#1000 // imposta base tempi in decimi di sec.

L MW10 // valore di temporizzazione

ITB // converte intero in BCD

OW // Or parola

T MW12 // Valore S5T per il timer

// Per valori da 1 sec. a 999 sec.

L W#16#2000 // imposta base tempi in sec.

L MW10 // valore di temporizzazione

ITB // converte intero in BCD

OW // Or parola

T MW12 // Valore S5T per il timer

// Per valori da 10 sec. a 9990 sec.

L W#16#3000 // imposta base tempi in decine di sec.

L MW10 // valore di temporizzazione

ITB // converte intero in BCD

OW // Or parola

T MW12 // Valore S5T per il timer

Il fatto che tu abbia citato una MD mi fa supporre che essa possa contenere

valori > 999 per impostare il tempo in millisecondi. In questo caso

devi fare dei calcoli per convertire tale valore in centesimi o decimi o ...

(Purtroppo perderai in risoluzione)

Share this post


Link to post
Share on other sites

Posted

JumpMan+Feb 9 2003, 04:01 PM-->
CITAZIONE(JumpMan @ Feb 9 2003, 04:01 PM)

Grazie JumpMan, sei stato molto chiaro.

Domani provo e poi farò sapere a te e a Dago.

Tanti saluti a tutti

Share this post


Link to post
Share on other sites

Posted

Esiste una FC40 (TIM_S5TI) nelle librerie "Standard-library->IEC function block" che converte da formato TIME a S5TIME.

Tieni conto che il formato TIME, in pratica, e' un DINT che contiene il tempo espresso in millisecondi.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0