Vai al contenuto
PLC Forum


Uso indiscriminato di FB


kekkoian

Messaggi consigliati

Salve,

 

ho appena cominciato a lavorare in un azienda dove usano principalmente PLC Siemens S7300.

Nei loro software preferisco usare gli FB perchè dicono che in questo modo evitano di usare tante merker e perchè ormai è una pratica che usano da molto tempo.

Quindi nei loro software che non sono piccoli, compaiono moltissimi blocchi FB ai quali sono associati un solo db d' istanza ognuno, senza variabili di imput ne output ma stracolmi di  variabili d' istanza che usano al posto delle merker.

Spesso scambiano variabili d' istanza tra un blocco d' istanza ed un altro appoggiado le variabili del db d' istanza alle varibili d' istanza del blocco di destinazione.

 

Ora io mi ero fatto l' idea che l' utilità degli FB era quella di poter associare ad uno stesso FB più DB d' istanza come nel classico esempio del motore Diesel o benzina proposto dalla Siemens.

Inoltre credevo che le varabili d' istanza fosse buona norma usarli solo nell' FB in cui vengono dichiarati.

 

Eppure vi assicuro che le loro macchine funzionano più che bene.

 

La loro tecnica di programmazione non comporta alcun problema? O pensate che dovrebbero rivederla?

 

Grazie mille

 

  

Link al commento
Condividi su altri siti


Ciao,

si mangiano un po' di memoria, per i blocchi di istanza in più, almeno credo, poi puo' esserci la palla che ad ogni modifica al blocco FB (più che al codice, alla sua intefaccia), puo' esserci la richiesta di aggiornare anche la chiamata al blocco, ma se si non modifica l'interfaccia (le variabili IN, OUT, INOUT, STATIC e TEMP), anche l'aggiornamento non è richiesto. Personalmente, più che un problema di funzionamento, puo' diventare un problema di leggibilità, ma, ripeto, è un punto di vista personale: è molto più facile commentare male le variabili dell'interfaccia che quelle globali; infine puo' esserci un guidizio per comportamento errato (a che pro utilizzare gli FB se sono richiamati una volta sola ?), ma non penso nulla di più: al momento non mi viene in mente altro ...

Link al commento
Condividi su altri siti

Io non parlerei di uso indiscriminato. Siemens da ai programmatori una ampia possibilità di sbizzarrirsi nel modo di fare programmi e automazioni. Questo da anche la possibiltà di proteggere il proprio il proprio: un programma realizzato in modo sofisticato diventa comprensibile a pochi della concorrenza.

Scusate: Il proprio lavoro

Link al commento
Condividi su altri siti

io ho sempre fatto tutte le cicliche in automatico con le FB e per ogni FB la mappatura delle aree era fissa, del tipo il flag 4.2 voleva dire stazione con la ciclica in corso.

Questo garantiva anche la leggibilità del codice a lungo termine, in quanto la mappatura era si fatta per la stazione più complicata, quindi sapevo come erano mappati tutti I flags dei passi, il timer di time out stazione, I dati di appoggio per il tracking dati ecc.

Quando hai una macchina da 1500 I/O e 60/70 fra servomotori e stepper avere le aree ben dichiarate e mappate a me aiutava parecchio.

....... I merker??? accoppiati alle uscite, cioè l'uscita 55.1 è accoppiata al flag M55.1

Alla fine della elaborazione della singola stazione tutti I flag venivano sparati sulle uscite a byte-word-Dword.

 

Dopo 10 anni vuoi vedere come e dove viene gestita una uscita es 10.0? Basta cercare il flag M10.0 che verrà settato e resettato secondo la logica nelle FB.

 

 

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