Vai al contenuto
PLC Forum


FC o FB?


Messaggi consigliati

Inserito:

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!


Inserita:

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

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

Inserita: (modificato)

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

per la semplice organizzazione non si potrebbero usare degli OB?

Non ricordo se con gli OB si può decidere se richiamarli o meno però.

Inserita: (modificato)

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

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

Inserita:
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!"

Inserita:

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.

Inserita: (modificato)

@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
Inserita:

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.

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

Inserita:
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?

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

Inserita: (modificato)

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

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