unlock Inserito: 11 luglio 2009 Segnala Inserito: 11 luglio 2009 (modificato) Ho questa eseginza di creare un contatore incrementale per una maccchina per vedere nella sua vita quanti pezzi produce, quindi il contatore deve essere una cosa grossa perchè la macchina potrebbe produrre per assurdo 5 anni dai 2000 ai 3000 pezzi al giornoCome posso creare un contatore infinito, cioè che non vada MAI in overflow Modificato: 11 luglio 2009 da unlock
GixRamones Inserita: 11 luglio 2009 Segnala Inserita: 11 luglio 2009 CiaoPer i dati che hai dato (INC_DW) da guida in linea"Le operazioni di incremento e decremento di doppie parole sono senza segno (16#7FFFFFFF>16#80000000)" al limite usa l'overload per incrementare (Inc_DW) un altra VD.bye
paopau Inserita: 11 luglio 2009 Segnala Inserita: 11 luglio 2009 non conosco Siemens,pero posso darti qualche indicazione generale.Metti che il tuo registro X abbia un limite di 9999,se tu incrimeresti ancora di un'unita andresti in overflow.Devi appoggiarti ad un secondo registro Y ,se X > 9999 allora incremento il resistro Y di 1 e muovo a 0 il registro X.Stessa cosa per il resistro Y,quando sara pieno,passerai ad un terzo registro Z....e via cosi.Non penso sia fattibile un registro infinito,pero ti puoi avvicinare ciaopaolo
batta Inserita: 12 luglio 2009 Segnala Inserita: 12 luglio 2009 Basta incrementare una variabile DINT (o DWORD, che è lo stesso), come consigliato da GixRamones.Il limite è da -2147483648 a +2147483647 se si usa il segno, oppure da 0 a 4294967295 se non si usa il segno.Anche valutando la prima ipotesi (limite massimo 2147483647), con una produzione di 3000 pezzi al giorno ne hai per circa 715828 giorni, ovvero circa 1960 anni di produzione 7 giorni su sette 12 mesi all'anno, senza mai un giorno di ferie.Io penso che l'eventuale overflow del contatore tra 1960 anni, sia un problema che puoi tranquillamente lasciare ai posteri.Inutile quindi implementare controlli di overflow, incrementi di altre variabili e simili.
unlock Inserita: 12 luglio 2009 Autore Segnala Inserita: 12 luglio 2009 grazie per le delucidazione , quindi usero' un Dword
unlock Inserita: 14 luglio 2009 Autore Segnala Inserita: 14 luglio 2009 (modificato) Ho un problemino , ho creato il contatore come Dint, ma sul mio TP177micro il numero decimale massimo che posso visualizzare è 99999 dopo di che visualizza tutti #, questo credo perchè il mio numero va oltre il valore massimo del TP, come posso risolvere trsformandolo in stringa? Modificato: 14 luglio 2009 da unlock
batta Inserita: 14 luglio 2009 Segnala Inserita: 14 luglio 2009 Sei sicuro di non aver semplicemente configurato male il campo I/O sul pannello operatore?Seleziona il campo, vai su "Generale" e controlla cosa c'è impostato come "Rappresentazione". Devi impostare 9999999999 (10 cifre).Assicurati anche che la dimensione sia graficamente sufficiente per visualizzare tutte le cifre.
unlock Inserita: 15 luglio 2009 Autore Segnala Inserita: 15 luglio 2009 Ho controllato ma una rappresentazione , come dici tu do 10 cifre non cè
unlock Inserita: 15 luglio 2009 Autore Segnala Inserita: 15 luglio 2009 Nessuno mi da un aiutino visto che nel campo I/O posso solo visualizzare massimo un numero a 6 cifre.......dopo di che la casella I/O mi fa il ruttino
batta Inserita: 15 luglio 2009 Segnala Inserita: 15 luglio 2009 Usi WinccFlex, giusto?Per impostare il formato, nella finestra "Rappresentazione" non sei costretto a scegliere solo tra i formati già presenti nella lista, ma puoi anche semplicemente digitare quello che serve a te.Scrivi 9999999999 e vedrai che funziona.
unlock Inserita: 15 luglio 2009 Autore Segnala Inserita: 15 luglio 2009 si uso propio winccflex......domani provo a digitare invece che a sciegliere dall'elenco a tendina........
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