Non sei registrato? Registrati subito cliccando QUI! E goditi tutte le funzionalita' del sito!


Vai al contenuto



Foto

Formato S5 Time


  • Per cortesia connettiti per rispondere
5 risposte a questa discussione

#1 saintstone

saintstone

    Professionista

  • Professionisti
  • Stelletta
  • 29 messaggi

Inviato 08 febbraio 2003 - 11:37

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

#2 dago_

dago_

    Utente con >800 post

  • Utenti PLC Forum +
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1171 messaggi

Inviato 08 febbraio 2003 - 13:28

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

#3 saintstone

saintstone

    Professionista

  • Professionisti
  • Stelletta
  • 29 messaggi

Inviato 08 febbraio 2003 - 17:33

[quote]dago_+Feb 8 2003, 12:28 PM-->
CITAZIONE(dago_ @ Feb 8 2003, 12:28 PM)
[quote]->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[/quote]
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

#4 JumpMan

JumpMan

    Utente con >1600 post

  • Utenti PLC Forum +
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 3003 messaggi

Inviato 09 febbraio 2003 - 17:01

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)

#5 saintstone

saintstone

    Professionista

  • Professionisti
  • Stelletta
  • 29 messaggi

Inviato 09 febbraio 2003 - 22:47

[quote]JumpMan+Feb 9 2003, 04:01 PM-->
CITAZIONE(JumpMan @ Feb 9 2003, 04:01 PM)
[quote]->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)[/quote]
Grazie JumpMan, sei stato molto chiaro.
Domani provo e poi farò sapere a te e a Dago.

Tanti saluti a tutti

#6 Gne

Gne

    Utente con >150 post

  • Utenti PLC Forum +
  • StellettaStellettaStellettaStelletta
  • 162 messaggi

Inviato 10 febbraio 2003 - 09:48

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.