Vai al contenuto
PLC Forum


Temporizzatori Nel Fb


marcocs

Messaggi consigliati

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.

Link al commento
Condividi su altri siti


Federico Milan

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
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

massimo.pompei45

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

Gianmario Pedrani

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

Link al commento
Condividi su altri siti

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?

Link al commento
Condividi su altri siti

Gianmario Pedrani

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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