Vai al contenuto
PLC Forum


Temporizzatori Nel Fb


Messaggi consigliati

Inserito:

Buongiorno a tutti,

Sto realizzando un programma con step 7 per PLC S7300,in particolare si tratta di due nastri trasportatori (uno per i rifiuti e l'altro per la biomassa) che devono riempire ognuno una tramoggia che presenta 2 sensori che mi segnalano quando è piena o vuota (e in base a questo attivare o disattivare i nastri).Devo anche prevedere che se il nastro trasportatore funziona per un tempo maggiore a quello neccessario per riempire la tramoggia devo arrestarlo.Io ho pensato di creare un blocco funzionale che poi assegnerò al nastro rifiuti e al nastro biomassa.Il mio dubbio e:quando vado a richiamare il blocco per ogni nastro (visto che funzionano contemporaneamente) il temporizzatore al suo interno funzionerà indipendentemente dall'altro oppure se viene attivato (o resettato) nel blocco rifiuti viene anche attivato ( o resettato) nel blocco biomassa?.

grazie.


Federico Milan
Inserita: (modificato)

Se utilizzi i Temperizzatori (T), Es: SE T1 per tutte le FB o pèer tutte le istanze della stessa FB, il programmma non farà qello che vuoi!

A tale proprosito esistono dei blocchi funzionali che Siemens propone proprio per non utizzare i temporizzatori che sono limitati ed il numero è funzione del tipo di CPU usata.

Alternative sono:

Realizzare un puntamento dei temporizzatori ese:

SE T[MW0] oppure costruirsi nell FB un temporizzatore.

ciao

Modificato: da Federico Milan
Inserita:

Io di solito negli FB utilizzo come timer gli SFB4, dichiarandone tanti quanto me ne servono nelle variabili STAT del DB di istanza

Inserita:

Ciao gluca2,gazie per la risposta volevo chiederti se potevi dirmi come si inserisco gli sfb4 nel blocco FB

grazie

Inserita:

Nelle variabili di interfaccia, nella sezione delle STAT dichiari una variabile con un nome simbolico e di tipo SFB4

Poi all'interno del tuo FB la richiami normalmente

ad esempio Nome: PIPPO tipo di dati: SFB4

nel blocco scriverai:

CALL #Pippo

IN:=#Abilitazione

PT:=#TempodiPreset

Q :=#TempoScaduto

ET:=#TempoTrascorso

il tempo di preset ed il tempo trascorso sono due variabili di tipo TIME, mentre abilitazione e temposcaduto sono di tipo bool

Inserita:

Grazie per la spiegazione.Un ultima cosa il timer come si resetta?

grazie

Inserita:

Se metti a zero il bit di abiltazione si resetta, come i timer SE

massimo.pompei45
Inserita:

Ciao GLUCA2, credevo di essere IL solo..... in difficolta nei meandri dei DB, FC, FB Variabili di interfaccia, ecc. ecc. Ma non c'è una pia anima che puo postare degli esempi? penso che non sarei il solo ad essere grato a quella anima pia, io forse capisco ancora meno perche programmo solo in Ladder, ed i richiami mi sembra di vedere sono solo e sempre in AWL, anche se io vengo da DOS IL mi rimane difficile capire.

Grazie

Max

Inserita:

ciao gluca ho provato ad inserire il temporizzatore in kop ma dopo che ho inserito il nome del temporizzatore mi da errore e diventa rossoflj56t.jpg

Gianmario Pedrani
Inserita:

Se vuoi utilizzare sfb4 come temporizzatore, dentro alla tua fb nella parte statica metti il nome della funzione e poi nella parte tipo metti sfb4

poi richiami la tua funzione con il nome che hai dichiarato!!!

Inserita:

ciao,come hai detto tu sono andato nella fb che ho creato,in alto dove c'è segnato interfaccia ho cliccato su STAT sotto a Nome ho messo "t1" sotto a Tipo di dati ho cercato nell'elenco e ho trovato SFB <nr>, la seleziono e al posto di nr metto 4 dando invio me la cambia in TON.Vado poi nel menu a sinistra entro nella cartella SFB e seleziono il blocco e lo inserisco nel segmento,ma quando al posto delle ??? metto il nome che ho dato al temporizzatore "t1" mi da errore e diventa rosso.Dove sbaglio?

Gianmario Pedrani
Inserita:

una volta che hai fatto tutto apri la cartellina che multiistanza che trovi sulla tua sinistra ed trascina il tuo blocco!!! e vedi che funziona perche lo fatto in questo momento, non devi trascvinare il blocco sfb4, perche quello che fai tu è quello di richiamare il blocco sfb4 e lui ti chiede una db di appoggio.

vedrai che se gli scrivi db3 oppure db4 dove ti mette i punti interrogativi funziona, ma li non usi piu la multiistanza, mentre se fai come ti ho detto io catella a sinistra multiistanza e trascini il tuo blocco!!! vedi che va.

ciao!!!

Inserita:
Io ho pensato di creare un blocco funzionale che poi assegnerò al nastro rifiuti e al nastro biomassa.Il mio dubbio e:quando vado a richiamare il blocco per ogni nastro (visto che funzionano contemporaneamente) il temporizzatore al suo interno funzionerà indipendentemente dall'altro oppure se viene attivato (o resettato) nel blocco rifiuti viene anche attivato ( o resettato) nel blocco biomassa?.

Se il timer è chiamato direttamente all'interno della funzione il richiamo multiplo della funzione causa, ovviamente, dei conflitti.

Potresti passare il timer come parametro.

Quando richiami la funzione (FC o FB non importa) per il nastro rifiuti assegni, per esempio, T20; quando richiami la funzione per il nastro biomassa, assegni T21.

Le funzioni lavoreranno con timer diversi e non ci saranno conflitti.

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