jumpier Inserito: 28 febbraio 2005 Segnala Inserito: 28 febbraio 2005 Buongiorno a tutti!Sto effettuando il debug di un programma Siemens S7 300.Mi trovo un FB (con annesso DB di instanza) caratterizzato (tra i vari parametri richiesti)da un COUNTER definito come parametro "IN" di ingresso.Ora, aprendo il codice dell'FB, noto che il COUNTER in questione, oltre a essere letto, viene ancheresettato all'interno dell'FB setsso. Ed ecco la domanda: è corretto resettare all'interno del bloccoil COUNTER passato come variabile di tipo "IN" oppure è doveroso passarlo come IN_OUT oppureadottare ancora altre soluzioni?Grazie a tutti
jumpier Inserita: 28 febbraio 2005 Autore Segnala Inserita: 28 febbraio 2005 Mi risposndo da solo.In realtà la teoria dice che se il COUNTER viene resettato all'interno dell'FB questo debba essere dichiaratocome parametro IN_OUT. Però se provo a dichiarare la mia variabile come IN_OUT, mi accorgo che NON ESISTEla tipologia conter ! Quindi: va bene dichiarato come IN. Il massimo della pulizia del codice sarebbe utilizzare un OUT booleano dell'FB in questione per resettare il counter esternamente all'FB
Matteo Montanari Inserita: 28 febbraio 2005 Segnala Inserita: 28 febbraio 2005 se la variabile viene dichiarata come IN_OUT non puoi mettere il numero del contatore (o timer) in quanto il numero è "fisso" ma dichiarandolo come IN_OUT il sistema potrebbe scrivere un valore e "trovandolo" fisso non ti dà la possibilità di inserirlo segnalandoti l'errore.il numero che tu dichiari in IN è il numero del contatore (o timer) che il sistema punta:SE [#timer1] // ZV [#couter1] // R [#timer1] // S [#couter1] intese come bobine oU [#timer1] // UN [#couter1] intesi come contattiIl massimo della pulizia del codice sarebbe utilizzare un OUT booleano dell'FB in questione per resettare il counter esternamente all'FBpenso che a livello di codice creerebbe confusione, e a livello di cicli del PLC non nè avresti nessun giovamento.
jumpier Inserita: 28 febbraio 2005 Autore Segnala Inserita: 28 febbraio 2005 La mia battuta sulla "pulizia del codice" è stata scritta in seguito al fatto che anche l'hot line siemens afferma di non aver testato tutte le casistiche di reset varibaili (internamento all'FB) passate come parametri "IN" su tutte le cpu.Quindi, per non rimanere a piedi con cpu particolarmente nuove e simili ho fatto l'osservazione in oggetto.E' anche vero che se 1000 persone scrivono il codice per la stessa macchina lo scrivono in modo differente (in quanto soggettivo) e quindi .... se il reset del counter all'interno dell'FB non ti dà problemi, lascialo stare.Nel mio caso (non mi spiego il perchè) pertandolo al di fuori il programma si comporta differentemente.(per curiosità sto utilizzando un CPU 313C - 2DP e Step 7 v5.2 + sp1 Hf3)Ciao
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