Vai al contenuto
PLC Forum


Formato S5 Time


saintstone

Messaggi consigliati

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=??????

Link al commento
Condividi su altri siti


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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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)

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

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