MrC Inserito: 2 luglio 2003 Segnala Share Inserito: 2 luglio 2003 Devo convertire un numero da reale ad un formato che possa accettare un timer , s5 time .Qualcuno ha una funzione che faccia al caso mio ?GrazieP.S. CPU 313c Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 2 luglio 2003 Segnala Share Inserita: 2 luglio 2003 Questo e' un esempio preso pari pari da SiemensDOMANDACome si converte un valore integer oppure real nel formato S5TIME? RISPOSTAIl requisito è che il valore fornito contenga il tempo in ms. Poi la conversione può avvenire in due passi nel modo seguente. Per prima cosa si converte il valore fornito nel formato Double Integer e si scrive il risultato in una variabile del tipo Time.I valori integer vengono convertiti nel formato Double Integer con il comando "ITD" ed i valori Real con "RND". Con l'utilizzo dell'FC40 -> "Standard Library > IEC Function Blocks > FC40" (TIM_S5TI), il formato TIME viene convertito nel formato S5TIME. EsempioIn un sorgente AWL la programmazione per una conversione INT > S5 Time ha il seguente aspetto: VAR_INPUTwert_i : INT ; END_VARVAR_OUTPUTzeit_s5 : S5TIME ; END_VARVAR_TEMPtmp_time : TIME ; END_VAR BEGINNETWORKTITLE =L #wert_i; ITD ; T #tmp_time; NETWORKTITLE =CALL "TIM_S5TI" (IN := #tmp_time,RET_VAL := #zeit_s5);END_FUNCTION Link al commento Condividi su altri siti More sharing options...
314C Inserita: 3 luglio 2003 Segnala Share Inserita: 3 luglio 2003 Fai attenzione solo ad una cosa: il formato TIME e' un doppio intero (4 byte) che esprime il tempo in millisecondi.Se il tuo dato di partenza esprime la durata desiderata del timer in secondi, minuti oppure ore ricordati di fare le opportune moltiplicazioni. Link al commento Condividi su altri siti More sharing options...
Renzo R. Inserita: 3 luglio 2003 Segnala Share Inserita: 3 luglio 2003 Se hai una base tempi fissa e devi fare delle operazioni matematiche io ho fatto semplicemente cosi:Esempio di somma di 2 secondi ad un tempo impostato: L DB1.DBW 10 //Carica tempo attesa stacco pezzo in decimi sec. L W#16#FFF //Carica 1 nelle prime tre tetradi UW //And delle word per eliminare base tempi BTI //Trasforma in intero L 20 //Carica offset di 20 ds. +I //Somma ITB //Ritrasforma in BCD L W#16#1000 //Carica base dei tempi OW //Aggiungila alla word T LW 36 //Appoggia su temporanea....... U M 53.6 //Se sformatura in corso su banco L LW 36 //Carica base dei tempi SE T 7 //Setta timer attesa stacco pezzoE' un intero e non un reale, ma il ragionamento e' lo stesso.Ciao. Link al commento Condividi su altri siti More sharing options...
Rango Inserita: 4 luglio 2003 Segnala Share Inserita: 4 luglio 2003 se vuoi un suggerimento invece di diventare deficente con i timer normali prova ad unsare quelli softwareSFB4 tanto per capirci.Il tempo è in millisecondi lo manipoli come meglio credi.fai prima.io di solito faccio così poi vedi tu se vuoi diventare deficente con le conversione. Link al commento Condividi su altri siti More sharing options...
MrC Inserita: 5 luglio 2003 Autore Segnala Share Inserita: 5 luglio 2003 Grazie , non sapevo neanche esistessero !!!Lunedì li provo e ti faccio sapere , comunque sono riuscito a fare le conversioni ,grazie a tutti x l'aiuto !!! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora