Vai al contenuto
PLC Forum


Dubbi sulle FB


pwp71

Messaggi consigliati

Ciao a tutti,

mi chiamo Stefano. Premetto che sono nuovo per la programmazione dei plc. Non so se e' la sezione giusta, sto scrivendo qui solo perche' sto usando un s7 1200.

Mi e' venuto un dubbio guardando le video lezioni che avete postato (utilissime). Sto parlando delle function block.

 

Faccio un esempio:

 

creo una FB1 che conterra' altre due FB (FB2 e FB3) ognuna delle FB se non ho capito male oguna avra' un suo DB block associato.


FB1---+----FB2

           |

          +----FB3

 

FB1 associato al DB1

FB2 associato al DB2

FB3 associato al DB3

 

 

Uso due istanze nell'OB1 associando due DB diversi per la FB1(a) e FB(b)

 

OB1

|

+--FC1(a)---+----FC2

|                   |

|                  +----FC3

|

|

+--FC1(b)---+----FC2

|                   |

|                  +----FC3

|

                                                                                                                                                                                                                                                                                                                           

FB1(a) associato al DB 1a

FB1(b) associato al DB 1b

 

Il mio dubbio e' questo: visto che posso usare la FB1 n volte,  il sistema si creera' in automatico dei DB diversi tra di loro per FB2 e FB3? O devo creare io DB diversi?

(per manuale intendo che li i db li creero' io e per automato che li crea il sistema)

 

Es:

FB1(a) associato al DB 1a (manuale) usera' la FB2 associata a DB2a (automatico) e FB3 associata' a DB3a (automatico)

FB1(b) associato al DB 1b (manuale) usera' la FB2 associata a DB2b (automatico) e FB3 associata' a DB3b (automatico)

 

oppure per i FB2 e FB3  sotto

 

FB1(a) associato al DB 1a usera' la FB2 associata a DB2 e FB3 associata' a DB3

FB1(b) associato al DB 1b usera' la FB2 associata a DB2 e FB3 associata' a DB3

 

I DB2 e DB3 sono quelli che ho creato la prima volta., quindi in pratica una solo istanza, creando cosi problemi per l'utilizzo tra FB2 e FB3 delle due FB1.

 

 

Scusate se sono stato un po' prolisso o mi sono spiegato male.

 

Grazie mille.

 

Buona giornata.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Link al commento
Condividi su altri siti


Se, all'interno di FB1 richiami FB2 e FB3 con i relativi DB di istanza, FB2 e FB3 useranno sempre gli stessi DB di istanza.
Il fatto che associ a FB1 un diverso DB di istanza ha effetto solo sui dati di FB1.

Esempio:

Richiami FB1 con DB10 come DB di istanza

All'interno di FB1 richiami FB2 con associato DB20 e DB3 con DB30.

Poi richiami nuovamente FB1 questa volta con DB11 come DB di istanza.

Ma, all'interno di FB1, i richiami di FB2 e FB3 saranno sempre associati ai DB di istanza DB20 e DB30.

Quindi, non va bene.

Puoi risolvere in due modi:

1) crei le istanze di FB2 e FB3 all'interno di FB1 (vedi multiistanza). In questo modo il DB di istanza di FB1 conterrà anche le istanze di FB2 e FB3. Quando richiami FB1 con diversi DB di istanza, anche le istanze di FB2 e FB3 saranno indipendenti per ogni richiamo di FB1.

2) Crei diversi DB di istanza per FB2 e FB3 (e, ovviamente, per FB1) e, al richiamo di FB1, passi questi DB come parametri.

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