Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Creazione Fb E Db Istanza - Counter come parametri IN o IN_OUT


Messaggi consigliati

Inserito:

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 anche

resettato all'interno dell'FB setsso. Ed ecco la domanda: è corretto resettare all'interno del blocco

il COUNTER passato come variabile di tipo "IN" oppure è doveroso passarlo come IN_OUT oppure

adottare ancora altre soluzioni?

Grazie a tutti


Inserita:

Mi risposndo da solo.

In realtà la teoria dice che se il COUNTER viene resettato all'interno dell'FB questo debba essere dichiarato

come parametro IN_OUT. Però se provo a dichiarare la mia variabile come IN_OUT, mi accorgo che NON ESISTE

la 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:

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 o

U [#timer1] // UN [#couter1] intesi come contatti

Il massimo della pulizia del codice sarebbe utilizzare un OUT booleano dell'FB in questione per resettare il counter esternamente all'FB

penso che a livello di codice creerebbe confusione, e a livello di cicli del PLC non nè avresti nessun giovamento.

Inserita:

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

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