Vai al contenuto
PLC Forum


FC o FB?


salernozz

Messaggi consigliati

Buona giornata a tutti, è tutto ok?

Oggi avrei un dubbio riguardante l'utilizzo vero e proprio degli FB e FC che credo sia sorto per coloro che sono ancora inesperti nel mondo del plc, come me.

 

 Perché dovrei utilizzare un FC? Quando in realtà, a fine elaborazione di quel FC, elimina i dati che inizialmente aveva messo nella memoria locale (temp)? Io so che si usano per fare funzioni matematiche complesse e i comandi individuali tramite operazioni di combinazione logica di bit. So anche che per poter salvare quei dati, senza perderli, basta creare un DB globale o indirizzarli in una memoria M globale: quindi perché li hanno inventati? Tengono meno memoria all' interno del mio plc e quindi, in qualche modo, mi fa ''risparmiare spazio''? Non so, è una mia supposizione. Perché non usare sempre FB?

 

Intanto grazie infinite per le risposte, a presto!

Link al commento
Condividi su altri siti


Fondamentalmente gli FC sono blocchi organizzativi e servono a suddividere il programma a sottosezioni in modo da rendere più leggibile il programma in modo da non mettere tutto nell'OB1 ma richiamare dall'OB1 le varie sottosezioni o subroutine del programma

Link al commento
Condividi su altri siti

2 ore fa, salernozz scrisse:

Perché dovrei utilizzare un FC?

 

Lo FC è l'equivalente di quello che in altri linguaggi come, ad esempio, il "C" è detta "funzione" o in altri linguaggi "sub routune".

In genere sono moduli di programma specialistici che possono essere richiamati una volta o "n" volte, dal main program (nel caso di S7 "OB1).

In genere svolgono funzioni specialistiche o ricorsive.

Possono essere parametrizzabili o meno, possono rendere nessun valore,oppure uno o più valori.

 

L'uso di queste funzioni o sottoprogrammi, rende il programma più facilmente manutenibile, più facilmente portabile e riutilizzabile, lo rende più flessibile

Inoltre l'uso di questa tecnica è paraticamente indispensabile per avere una facile comprensibilità del programma, ed un'efficiente messa a punto.

Link al commento
Condividi su altri siti

va benissimo signori, grazie mille per le informazioni.

 

Ho appena finito di vedere i 3 video di Pedrani e ora diciamo che mi è poco più chiaro.

 

Mi sapreste dire @leleviola e @Livio Orsini, in base alle vostre esperienze, come fate a scegliere quando usare un FB o FC, magari con esempi della vostra vita lavorativa?

perché ok saperli usare, ma per cosa? Cioé se faccio un calcolo userei un FC, ma se dovessi avviare un motore o altro? This is the problem

 

Grazie mille per il supporto e per le risposte!

 

Modificato: da salernozz
Link al commento
Condividi su altri siti

tramite ob richiami fc o fb

 

ma gli fc o fb possono richiamarsi l' un l' altro

 

 

comunque si, l' obbiettivo è mettere tutti i tuoi blocchi fc o fb nei tuoi ob che ti occorrono (occhio al nome degli ob) in modo tale da avere più organizzato.

 

Poi certo che se vuoi fare tutto in un OB di ciclo puoi tranquillamente farlo, spera solo che chi andrà a mettere mano al tuo programma non assoldi sicari :ninja:

Modificato: da salernozz
Link al commento
Condividi su altri siti

gli OB a seconda di che numero hanno stabiliscono la priorità di esecuzione, quindi bisogna capire se ti serve tutto ciò, in genere ciò non è necessario e comunque questa metodologia è un po' più impegnativa per l'esecuzione da parte della CPU, se si ha la necessità di organizzare in sotto programmi il nostro software è bene utilizzare le FC, comunque per chiarire meglio tutto ciò c'è il manuale di sistema del 1200 che chiarisce tutto ciò molto chiaramente, basta scaricarne una copia in pdf e dargli un'occhiata, è molto più chiaro che dilungarsi qua su ripetitive spiegazioni

Link al commento
Condividi su altri siti

1 ora fa, leleviola scrisse:

basta scaricarne una copia in pdf e dargli un'occhiata,

 

Anzi, quando non si conosce un dispositivo la prima cosa da farsi e leggere e studiare il manuale.

 

All'inizio della mia carriera lavarotiva mi occupaio di manutenzione di strumenti di misura. Ricordo sempre la vignetta della prima pagina del manuale di manutenzione dei Tecktronix; mostrava un tavolo operatorio con la squadra chirurgica intenta a leggere i manuali e sotto la didascalia.

"Before operate read your istruction manual!"

Link al commento
Condividi su altri siti

I manuali siemens non brillano per comprensibilità. Specie per chi non ha già delle buone conoscenze possono risultare molto impegnativi. Una spiegazione a parole povere, di persona o sul forum, è molto più digeribile.

Link al commento
Condividi su altri siti

@Livio Orsini e @leleviola sono del parere di @Adr1. Come viene spiegato sul manuale sembrerebbe che la materia debba esser già conosciuta, loro riportano le funzionalità, ma di spiegazione ce n'è ben poco.

 

Io l' argomento dei blocchi fc e fb diciamo che l' ho appreso, poi appena mi arriva il software farò vere e proprie prove; ho chiesto il vostro parere perché non riesco a capire quando usarne uno o l' altro. So bene delle differenze che vi sono tra i due ma il problema è quando utilizzare uno o l' altro, nel senso: Avvio un motore? Uso FB o FC? Io userei FB, ho la possibilità di avere un suo DB apposito. Il problema è che potrei utilizzare anche un FC e crearmi un DB globale, quindi sarebbe la stessa cosa. Poi anche con i calcoli so che è meglio usare un FC, l' utilizzo di un FB sarebbe troppo per dei calcoli, i valori li salverei in DB globali nel momento in cui richiamo il blocco FC, per questo non utilizzerei un FB. Creare un DB di istanza non è necessario. Poi so che dipende sempre dai casi, che non conosco

Per questo mi richiamo alla mia risposta di prima: voi che siete a parere mio dei master ormai, cosa scegliereste per avviamenti ed esempi vari?

2 ore fa, salernozz scrisse:

in base alle vostre esperienze, come fate a scegliere quando usare un FB o FC, magari con esempi della vostra vita lavorativa?

 

 

Grazie @Livio Orsini e @leleviola

Modificato: da salernozz
Link al commento
Condividi su altri siti

Non c'è una regola, è una scelta personale dettata dalla situazione, la gestione di un motore si può fare con un FC, ma se devi gestire 20 motori crei un FB con una DB di istanza per ogni motore, se utilizzi il linguaggio graph crei per forza una FB, dipende.

 

Di base, visto che stai per cominciare, ti direi di usare gli FC, in modo da imparare a muoverti negli edito e nei vari linguaggi, per poi passare a blocchi più complessi ed agli FB.

Link al commento
Condividi su altri siti

10 minuti fa, acquaman scrisse:

la gestione di un motore si può fare con un FC, ma se devi gestire 20 motori crei un FB con una DB di istanza per ogni motore

 

Puoi benissimo usare un FC parametrizzato, che richiami tutte le volte che ricorrano le condizioni per variare lo stato di un motore.

Quando lavoravo con i PLC avevo fatto la mia funzione di libreria, che richiamavo ogni volta che in un programma avevo la necessità di gestire uno o più motori.

In questo modo hai una sola funzione, molto affidabile perchè è stata provata in motissime applicazioni, non scrivi nuovo codice e minimizzi l'occupazione di memoria.

Link al commento
Condividi su altri siti

26 minuti fa, Livio Orsini scrisse:

 

Puoi benissimo usare un FC parametrizzato, che richiami tutte le volte che ricorrano le condizioni per variare lo stato di un motore.

 

Livio forse intendevi un FB con un DB di istanza che cambi tutte le volte appena cambi motore come diceva l'esempio calzante di acquaman?

Link al commento
Condividi su altri siti

13 ore fa, leleviola scrisse:

Livio forse intendevi un FB con un DB di istanza

 

Assolutamente no.

Son quasi 20 anni che, fortunatamente, non devo più occuparmi professionalmente di PLC (Specie Siemens), ma ho ancora i CD con le mie librerire.

In quella Siemens ci sono ancora tutti i miei FC standard: PID, servo diametro, controllo avvolgitura con ballerino e con cella di carico, sincro master slave, etc., etc.; tra questi ci sono anche partenza motore e avviamento "Y"/"D".

Questi blocchi si caricavano esattamente come i blicchi di libreria siemens.

Link al commento
Condividi su altri siti

Va bene signori, ora dovrò provarli appena mi arriva sto software :worthy: 

 

(è disperso)

 

Sta di fatto che la scelta tra FB o FC ora come ora, a parer mio, è molto tosta; sbatterò la testa più e più volte su questo argomento, nella speranza che man mano scopra le diverse possibilità che ho in uno rispetto all' altro. Ok che ho la teoria ma dovrò usarli in pratica quindi sarà una bella sfida :wallbash:

Vi ringrazio per aver riportato i vostri pensieri ed esperienze @Yiogo@Livio Orsini@leleviola@acquaman

Modificato: da salernozz
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...