MARCO9777 Inserito: 7 aprile 2022 Segnala Inserito: 7 aprile 2022 Buongiorno sto creando un conta ore! in pratica devo solo contare le ore di funzionamento di due resistenze e due valvole! sto usando il merker di sistema 1hz per contare secondo per secondo e poi in modo da avere minuti e ore.. ho un problema dopo aver configurato la cpu e attivato i merker di sistema sui merker 4.1 ecc.. il merker non esegue nessun lampeggio e il mio contatore non può contare! volevo chiedervi qualcuno ha mai usato il contaore già presente sul tia? cosa mi consigliate ? GRAZIE A TUTTI
Simone.Salarsi Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 dopo aver attivato i clock di sistema hai scaricato la configurazione hardware nel PLC ? hai verificato che tu non stia sovrapponendo quei merker ad altre variabili ? magari stai già usando quelle aree con byte, word o dword per altre cose. Per quanto riguarda il contaore presente sul tia cosa intendi ?
MARCO9777 Inserita: 7 aprile 2022 Autore Segnala Inserita: 7 aprile 2022 esiste un blocco fb già creato da siemens chiamato conta ore di esercizio .. lo avete mai usato?
Simone.Salarsi Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 non conosco quel blocco, potresti linkarlo ?
acquaman Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 (modificato) 48 minuti fa, MARCO9777 ha scritto: conta ore di esercizio Sul TIA non lo trovo, è un blocco di qualche libreria? Modificato: 7 aprile 2022 da acquaman
STEU Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 Ma scusa per fare un contaore c'è bisogno di n fc dalla libreria?
luigi69 Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 rinnovo l'osservazione di Simone 7 ore fa, Simone.Salarsi ha scritto: dopo aver attivato i clock di sistema hai scaricato la configurazione hardware nel PLC ? capita, uno è convinto , e si dimentica , sai quante volte.... se Marco puoi rispondere a questa domanda conti con il fronte di salita e appoggi in una dint poi dividi per 3600 e ti escono le ore
batta Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 1 ora fa, STEU ha scritto: Ma scusa per fare un contaore c'è bisogno di n fc dalla libreria? Sono d'accordo. Per fare un contaore sfruttando il clock di un secondo ci sono, in linea di massima, due modi: 1) incrementare i secondi; arrivati a 60 secondi, si azzerano i secondi e si incrementano i minuti; arrivati a sessanta minuti, si azzerano i minuti e si incrementano le ore. 2) incrementare un contasecondi assoluto e poi, con semplici calcoli, suddividere il totale in ore:minuti:secondi. Personalmente preferisco il secondo sistema, sia perché richiede meno operazioni, sia perché il contatore assoluto dei secondi è di facile utilizzo se si devono fare comparazioni dei tempi di lavoro. Mettendo il contasecondi su una variabile UDInt, si arriva fino ad oltre 136 anni. Se non bastasse 🤪, usando una ULInt, si arriva ad oltre 584 miliardi di anni. Considerando che l'età dell'universo è di circa 14 miliardi di anni, anche contando il tempo a partire dal big bang, ci rimarrebbero ancora circa 570 miliardi di anni prima di arrivare all'overflow della variabile. Esempio di come potrebbe essere, con contasecondi totali e suddivisione in giorni, ore, minuti, secondi: IF #RisingEdgeClock_1s THEN #actCntSec += 1; END_IF; // Calcolo giorni (1 giorno = 86400 secondi) #giorni := UDINT_TO_UINT(#actCntSec / 86400); // Calcolo secondi di resto #tmpResto := #actCntSec MOD 86400; // Calcolo ore (divido i secondi di resto per 3600) #ore := UDINT_TO_USINT(#tmpResto / 3600); // Calcolo secondi di resto #tmpResto := #tmpResto MOD 3600; // Calcolo minuti (divido i secondi di resto per 60) #minuti := UDINT_TO_USINT(#tmpResto / 60); // Calcolo secondi #secondi := UDINT_TO_USINT(#tmpResto MOD 60); La variabile "actCntSec" deve essere dichiarata come IN/OUT, e deve essere una variabile statica e ritentiva.
acquaman Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 A me piace di più leggere l'ora e fare la differenza con un'ora memorizzata quando deve partire il conteggio.
batta Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 10 minuti fa, acquaman ha scritto: A me piace di più leggere l'ora e fare la differenza con un'ora memorizzata quando deve partire il conteggio. Dipende da cosa devi fare. Se è per avere le ore di funzionamento di un dispositivo, dovresti continuamente lavorare suoi fronti per memorizzare l'istante di avvio e di arresto, e tenere in memoria l'ultimo valore raggiunto al quale sommare la differenza tra l'ora attuale e l'ora dell'ultimo avviamento. Inoltre, se cambi l'ora del PLC (es. passaggio da ora solare a ora legale), ti falsa il risultato. Nel caso di incremento di un contatore, ti basta condizionare l'incremento allo stato di funzionamento del dispositivo.
max.bocca Inserita: 7 aprile 2022 Segnala Inserita: 7 aprile 2022 L'esempio di @batta usando i moduli mi sembra molto chiaro, lo utilizzavo nei programmi per PC quella modalità. A me è capito qualche volta che non funzionavano i MB di sistema dopo aver cambiato l'indirizzo nonostante il caricamento, per risolverlo dovevo resettare a condizione iniziale e poi caricare la configurazione.
STEU Inserita: 8 aprile 2022 Segnala Inserita: 8 aprile 2022 In un OB ad interrup di un minuto metti un segmento come questo
MARCO9777 Inserita: 8 aprile 2022 Autore Segnala Inserita: 8 aprile 2022 GRAZIE A TUTTI! HO RISOLTO IL TUTTO CON MERKER DI CLOCK! EFFETTIVAMENTE STAVO COMMETTENDO UN ERRORE SENZA ACCORGERMENE! IL BLOCCO DI CUI VI PARLAVO SI CHIAMA CONTA ORE DI ESERCIZIO, è un fb chiamato "RTM".
batta Inserita: 8 aprile 2022 Segnala Inserita: 8 aprile 2022 Istruzione che reputo inutile e più complicata da utilizzare dei contaore proposti negli esempi.
acquaman Inserita: 11 aprile 2022 Segnala Inserita: 11 aprile 2022 Il 7/4/2022 alle 18:46 , batta ha scritto: Se è per avere le ore di funzionamento di un dispositivo, dovresti continuamente lavorare suoi fronti per memorizzare l'istante di avvio e di arresto Non è cosi complesso, poi integrato dentro il blocco dei motori, fatto una volta fatto per tutti. Il 8/4/2022 alle 11:51 , MARCO9777 ha scritto: è un fb chiamato "RTM" Per curiosità vado a vederlo.
acquaman Inserita: 11 aprile 2022 Segnala Inserita: 11 aprile 2022 Lascia stare RTM, prima di tutto ne hai uno solo e poi per utilizzarlo per i tuoi scopi ti complichi la vita più che a fartelo.
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