TomCastagna Inserito: 20 novembre 2015 Segnala Inserito: 20 novembre 2015 Buongiorno a tutti,sono alle prese con un problema un po' particolare che fino ad ora non mi era mai capitato. Sto realizzando un programma un po' più lungo rispetto a quelli che sono abituato a fare, ma comunque non particolarmente complesso; intendo dire parecchi bit, ma poche word (non ne ho più di una trentina), una buona quantità di temporizzatori TON e una decina di richiami di FB parametrici.Da un mesetto circa ci sto lavorando senza problemi, quando mi accorgo che aggiungendo un temporizzatore in un FC ed attivandolo, il conteggio non si avvia.Tutti gli altri temporizzatori del programma precedentemente programmato funzionano perfettamente. Ho controllato il buffer di diagnostica e mi sono accorto di avere un tempo di ciclo un po' troppo lungo (arriva anche a 700ms), ma anche cancellando i vari richiami nell'OB1 o cancellando qualche temporizzatore, il risultato non cambia....Qualcuno ha qualche idea? Grazie anticipatamente e buon lavoro a tutti
dott.cicala Inserita: 20 novembre 2015 Segnala Inserita: 20 novembre 2015 arriva anche a 700ms quando il tempo ciclo supera i 15ms con le cpu attuali....secondo me è da rifare
FabioS.PLC Inserita: 20 novembre 2015 Segnala Inserita: 20 novembre 2015 Ciao, potresti fare l'upload del progetto? Te lo chiedo perchè per me sarebbe un ottimo esercizio andare a cercare la soluzione di un problema. Grazie.
Lucky67 Inserita: 20 novembre 2015 Segnala Inserita: 20 novembre 2015 arriva anche a 700ms) ma sei sicuro???? E' un tempo ciclo "elettromeccanico"!!!!!!!
TomCastagna Inserita: 20 novembre 2015 Autore Segnala Inserita: 20 novembre 2015 ma sei sicuro???? E' un tempo ciclo "elettromeccanico"!!!!!!!infatti mi ha preoccupato alquanto!!!! lo leggevo sul simulatore, ma ora non mi ricordo se era così anche nella CPU (perché ho lavorato sia da casa che in loco con la cpu).Adesso ho ricaricato il programma nella cpu e sto controllando il tempo di ciclo della CPU che non supera i 5ms! Ho fatto girare tutto il programma in lungo e in largo per cercare di farlo cadere di nuovo in errore, ma niente da fare...resta basso (per fortuna o per sfortuna)Resta purtroppo il problema dei temporizzatori che aggiungo.... Non vanno e non so il perché e non penso di aver oltrepassato qualche limite invalicabile per l'utilizzo dei temporizzatori! Ciao, potresti fare l'upload del progetto?temo di no, perché non so se me lo permettono per questioni interne
batta Inserita: 21 novembre 2015 Segnala Inserita: 21 novembre 2015 Resta purtroppo il problema dei temporizzatori che aggiungo.... Non vanno e non so il perchéSono, forse, richiamati all'interno di qualche salto, o di blocchi non sempre elaborati?
TomCastagna Inserita: 26 novembre 2015 Autore Segnala Inserita: 26 novembre 2015 Sono, forse, richiamati all'interno di qualche salto, o di blocchi non sempre elaborati?li ho programmato un DB dove ho inserito una trentina di temporizzatori IEC. Nei vari FC o FB richiamo il temporizzatore contenuto nel DB (lo richiamo in un solo punto del programma) e lo inserisco come temporizzatore S7, di modo tale da non creare per ogni temporizzatore un suo DB come nel caso dei temporizzatori IEC. Tutti e 30 vanno perfettamente, il 31° non va (ho provato anche a svuotare la CPU interamente dal suo programma).Per il momento ho aggirato il problema facendo funzionare dei temporizzatori IEC, ma sinceramente non riesco a capire il mio errore
drugo66 Inserita: 26 novembre 2015 Segnala Inserita: 26 novembre 2015 Ciao,oltre a quello che sostiene giustamente Batta, verifica anche di non aver chiamato due volte lo stesso timer; uso spesso il "copia e incolla" e, dimenticandomi di cambiare il nome del timer, ogni tanto capita anche a me di vedere il temporizzatore abilitato che non conta ...
batta Inserita: 26 novembre 2015 Segnala Inserita: 26 novembre 2015 Non hai risposto alla mia domanda: il timer che non funziona, è forse richiamato in un blocco che non viene sempre elaborato?Per avviare un timer S7 non basta lo stato alto sull'ingresso, ma serve un fronte di salita. Se il timer è richiamato all'interno di un salto, potrebbe non vedere mai lo stato basso e, quindi, non vedere il fronte di salita. Controlla, inoltre, come suggerito da Drugo, di non aver usato due timer con lo stesso numero.
ascattolin Inserita: 16 giugno 2017 Segnala Inserita: 16 giugno 2017 Buongiorno anche a me sta capitando lo stesso problema: anch'io ho creato una DB con istanze TON (un array con un centinaio di elementi) di cui solo alcuni utilizzati. Molti funzionano correttamente, altri non ne vogliono sapere. Ho provato anche a creare una DB con un'istanza singola e richiamata in OB1, ma il risultato è simile a quello che potete vedere in questo video di un altro utente che evidentemente ha avuto anche lui questa rogna... https://www.youtube.com/watch?v=c1IAm5o7vM4 Qualcuno di voi è riuscito a capire l'origine del baco e a risolverlo o ad aggirarlo? Grazie.
Livio Orsini Inserita: 16 giugno 2017 Segnala Inserita: 16 giugno 2017 Accodarsi ad altre discussioni, anche per il medsimo problema, non è consntito dal regolamento. Inoltre l'ultimo messaggio risal a novenmre 2015. Se vuoi riapri una nuova discussione sull'argomento.
Messaggi consigliati