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




Uso Degli Fb


Messaggi consigliati

Inserito:

alla vostra cortese attenzione.

ho una applicazione con più motori che utilizzano la stessa logica.

vorrei creare un unico FB dove portare gli ingressi del plc e le uscite di comanto tra cui eventuali allarmi, nel blocco sono presenti anche delle temporizzazioni.

è possibile utilizzare un unico FB su cui inserire tutta la logica comprensiva dei temporizzatori, e richiamarlo successivamente nel OB1 assegnandogli DB di istanza differenti o devo creare nel OB1 più FB uguali con il proprio DB per ogni motore

il mio dubbio riguarda la gestione delle temporizzazioni.

grazie


Inserita:

Certo che si può, per i temporizzatori io di solito uso gli SFB4 con i dati appoggiati nella DB di istanza dell'FB, oppure puoi mettere come parametro in ingresso del FB il numero del temporizzatore usando il tipo di dato TIMER cosi quando lanci più volte l'FB gli assegni un temporizzatore diverso.

Inserita:

Se si dovessero fare più FB quasi uguali (con i soli timer diversi), cascherebbe quasi tutto il senso delle FB.

In un caso come il tuo l'FB dovrà essere una sola. Solo i DB di istanza saranno uno per motore.

Alle FB è possibile collegare come parametri qualsiasi cosa, anche timer e counter.

Il metodo più semplice per risolvere il tuo problema, consiste nel dichiarare come parametri di ingresso i timer che ti servono.

Ti basta dichiarare le variabili di ingresso come "TIMER". All'interno della FB userai i nomi di queste variabili.

Poi, al richiamo dell'FB dovrai, ovviamente, utilizzare i timer in modo univoco.

Un modo più elegante consiste nell'utilizzo, all'interno della FB, delle funzioni SFB4 "TON" e/o SFB5 "TOF", che dichiarerai nelle variabili STAT (multiistanza).

In questo modo, tutto quello che serve per la gestione dei timer andrà a finire nel DB di istanza.

Inserita:

grazie per la risposta effettivamente la gestione in questo modo è molto più semplice.

ora però mi si presenta un problema similare solo che il software per il plc è stato sviluppato con il TIA V11 e sembra che gli FB FC siano gestiti in modo differente.

grazie

Inserita:

Ti basta dichiarare le variabili come IEC_TIMER.

Nelle FC è possibile dichiarare il tipo IEC_TIMER solo nei parametri IN e IN_OUT ma, per un utilizzo come timer all'interno della funzione, devi dichiarare il timer nei parametri IN_OUT.

Una volta dichiarati i tuoi IEC_TIMER nei parametri IN_OUT, ti basta inserire nel codice un timer ed assegnargli il nome della dichiarazione.

Dovrai però creare (fuori dalla FC) anche le variabili da collegare alla FC. Per fare questo, va bene anche un DB che contiene il numero necessario di variabili IEC_TIMER.

Nelle FB puoi usare anche le variabili STAT, ed è proprio questo l'utilizzo più pratico, perché non richiede collegamenti esterni.

Ovviamente, scegliere di usare una FB piuttosto che una FC, ha senso solo se ci sono anche altri dati da appoggiare in un DB di istanza.

Se si deve fare un blocco di programma dove gli unici dati sono quelli riguardanti un paio di timer, meglio fare una FC.

Inserita:

ciao Batta.

non posso utilizzare le variabili come IEC_TIMER se utilizzo un cpu della serie 300, però posso configurare i timer come DB di multiistanza e ad associarli al DB del FB dove sono inseriti.

Inserita:

Consiglio, se a oggi usi TIA e S7300 io ti consiglio di farteli da te i timer. Sono due semplici FC.

Io, per il momento, con TIA faccio così.

Ciao

Inserita:

Scusa ma, essendo che io mi rifiuto categoricamente di usare il TIA Portal per programmare S7-300 (il vecchio Step7 è infinitamente migliore), quando si parla di TIA penso automaticamente a S7-1200.

Comunque, ti basta dichiarare le variabili come tipo TON, TOF, TP (per i timer), che sono l'equivalente di SFB4 "TON", SFB5 "TOF", SFB3 "TP" .

Inserita:

sfortunatamente mi è stato imposto.

grazie per le risposte.

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