Vai al contenuto
PLC Forum


Contatore


unlock

Messaggi consigliati

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 giorno

Come posso creare un contatore infinito, cioè che non vada MAI in overflow

Modificato: da unlock
Link al commento
Condividi su altri siti


Ciao

Per 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

Link al commento
Condividi su altri siti

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

ciao

paolo

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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: da unlock
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

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