mazzucconi Inserito: 21 giugno 2006 Segnala Inserito: 21 giugno 2006 Ciao a tutti,in un progetto S7 (cpu 315 2dp) carico il valore di tempo del temporizzatore T1 da una db. Nella db è dichiarato come tipo s5time.Collegato al plc ho un pannello op siemens TP270 tramite il quale posso impostare il valore del temporizzatore.Nel progetto OP la variabile è impostata con rappresentazione decimale con una cifra oltre la virgolaIl problema è che per impostare 10 secondi devo scrivere sul pannello 100,0.Ho provato a modificare i decimali, cambiare la dichiarazione nella db (word o intero) ma il risultato è lo stesso.Qual'è il mio errore ? Perchè sicuramente di errore si tratta.Ciao e grazie
RickyM Inserita: 21 giugno 2006 Segnala Inserita: 21 giugno 2006 Nessun errore, come per altre cose porbabilmente si sono trovati comodi così i programmatori siemens.Per scalarlo correttamente puoi usare la conversione lineare della tua variabile nel TP p.e. tp 0-100 0-10000.Ciao
mazzucconi Inserita: 21 giugno 2006 Autore Segnala Inserita: 21 giugno 2006 Scusa la mia ignoranza, come posso fare per scalare la variabile del TP ?Ivan
Simone70 Inserita: 21 giugno 2006 Segnala Inserita: 21 giugno 2006 Io di solito metto 3 cifre decimali ed il valore del campo decimale e funziona perfettamente.
RickyM Inserita: 21 giugno 2006 Segnala Inserita: 21 giugno 2006 Per scalare una variabile la selezioni dalla lista, tasto destro, proprietà, la prima cartella è generale, l'ultima èconversione, la apri, selezioni conversione lineare, nel campo a sinistra da 0 a 100, in quello a destra da 0 a 10000.ciao
Cesare Nicola Inserita: 23 giugno 2006 Segnala Inserita: 23 giugno 2006 Non so se ho ben capito, comunque io faccio così:************************************************************//Converte in BCD il valore in arrivo dal pannello//ed imposta la base dei tempi 100ms (bit 12=1, bit 13=0) L DB10.DBW 1 ITB T MW 1 SET R M 1.5 S M 1.4 U E 0.0 L MW 1 SE T 1************************************************************In pratica, dal pannello scrivo in DB10.DBW1 un numero in formato decimale. Il valore viene convertito in BCD e traferito in una MW: poi imposto i due bit della MW che determinano la base dei tempi desiderata (vedi . in linea dell'AWL). Il valore della MW, a questo punto, è il valore di caricamento del timer. Se la base dei tempi è, per esempio, 100ms ed ho scritto 5 da pannello, il valore del timer sarà di 5x100ms=500msec.E' chiaro che così non posso, da pannello, variare la base dei tempi.Ciao
Matteo Montanari Inserita: 23 giugno 2006 Segnala Inserita: 23 giugno 2006 (modificato) per fare la conversione nel pannello operatore, TP270 dovresti utilizzare la varibile (abbinata al timer) impostandola come "timer". nella pagina utilizzi la rappresentazione decimale con 6 cifre e 3 cifre dopo la virgola. a quel punto i valori che inserisci nel campo sono espressi in secondi.(p.s. valido sia se utilizzi ProTool sia WinCC Flexible)-------------------------------------------------------------------------------------------------questo ti permette di fare la conversione all'interno del programma.// Come impostare un valore 0..999 su di un timer //; // Il valore, come detto, deve essere compreso tra // 0 e 999, in base alla base dei tempi si determina // la durata del tempo //; // Il valore deve essere espresso in BCD. //; // Nel caso in cui il valore sia in decimale // occorre fare una conversione: //; L #Valore_DEC ITB T #Valore_BCD //; // La base dei tempi può assumere 4 diversi valori // = 0 calcolo della durata in 0.01 sec // = 1 calcolo della durata in 0.1 sec // = 2 calcolo della durata in 1.0 sec // = 3 calcolo della durata in 10.0 sec //; // = 0 calcolo della durata in 0.01 sec //; L W#16#0 T #BaseTempo //; // = 1 calcolo della durata in 0.1 sec //; L W#16#1000 T #BaseTempo //; // = 2 calcolo della durata in 1.0 sec //; L W#16#2000 T #BaseTempo //; // = 3 calcolo della durata in 10.0 sec //; L W#16#3000 T #BaseTempo //; // Unione tra Base tempo e valore di tempo //; L #Valore_BCD L #BaseTempo OW T #SpTimer //; Modificato: 23 giugno 2006 da keosmm
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