Vai al contenuto
PLC Forum


Fb Parametrici - FB parametrici e tempi di ciclo


BRUNO_regg

Messaggi consigliati

Buongiorno a tutti,

avrei bisogno di un parere;

Ho una CPU 315 2-DP e 21 nodi da connettere in Profibus-DP a 12MB non della Siemens.

Le unita' da connettere in rete svolgono la funzione di conteggio in un sistema di riempimento elettronico; Le stesse ricevono gli impulsi da misuratori magnetici e si occupano di comandare le valvole di riempimento.

Ogni nodo Profibus e' considerato intelligente, nel senso che e' gia' equipaggiato di processore interno per svolgere le funzioni menzionate precedentemente. Attualmente ho progettato un FC parametrico che interfacciato con un unico blocco dati contenente i vari comandi, set point, valori reali, allarmi, svolge egregiamente la funzione dei lettura e scrittura dati; chiaramente il blocco viene richiamato 21 volte e interfacciato con indirizzi DBW,PE,PA differenti.

Il blocco dati si occupa di trasferire i vari dati tra PLC, TP270-10 e nodi in rete Profibus.

dato che Il cliente ci ha chiesto di archiviare dei dati di processo, volevo trasformare il mio FC (con le dovute modifiche) in un FB con DB di istanza; Chiaramente avro' 21 FB+21 DB e la DB di interfaccia e fin qui nessun problema.

Il mio dubbio e' questo:

- Mi conviene avere sempre una DB unica di interfaccia tra PLC-Nodi e TP, oppure conviene leggere e scrivere i dati direttamente dalle DB di istanza?

- E' vero che il blocco FB e' piu' veloce del blocco FC?

- quale e' la soluzione migliore per avere dei tempi di ciclo piu' corti possibile?

Ciao e grazie

Link al commento
Condividi su altri siti


Matteo Montanari
Chiaramente avro' 21 FB+21 DB e la DB di interfaccia e fin qui nessun problema.

per quanto mi riguarda fare un unico FB e lo richiamerei 21 volte:

1 FB * 21 DB (di istanza)

- Mi conviene avere sempre una DB unica di interfaccia tra PLC-Nodi e TP, oppure conviene leggere e scrivere i dati direttamente dalle DB di istanza?

hai l'assoluta libertà di fare come vuoi. se hai tutti i dati in un unica DB puoi creare un Array di dati (una sola varibile richiamata ma composta da tante "sotto varibili") anche se con i pannelli Siemens il tempo di aggiornamento lascia un po' a desiderare...

E' vero che il blocco FB e' piu' veloce del blocco FC?

è semmai vero il contrario... in un FB parametrizzato il sistema si comporta in questo modo.

1) legge i dati di ingresso

2) trasferisce i dati letti nella db di istanza

3) elabora il codice

4) scrive i dati elaborati nella db di istanza

5 trasferisce i dati scritti nei dati di uscita

mentre con un FC parametrizzato non vengono elaborati i punti 2 e 4

[questo a grandi (molto grandi) linee è il funzionamento, puoi sempre vedere nei manuali per avere informazioni più precise]

occorre valutare se utilizzare un FB (provvisto di dati NON volatili) o un FC (dove i dati sono volatili e non sai se il loro valore è corretto per le elaborazioni del codice).

- quale e' la soluzione migliore per avere dei tempi di ciclo piu' corti possibile?

- ridurre all'osso tutti i codici di gesstione

- scrivere il più possibile (se le tue conoscenze te lo permettono) in linguaggio AWL

- elaborare il codice solo quando è necessario, ad esempio tutto quello che impegna maggiormente le risorse della CPU, elaborarlo (sempre se possibile) solamente in manuale

- scrivere il codice in modo tale da poter utilizzare le funzioni "estese" della cpu (puntatori diretti o indiretti, consenquenzialità dei dati da elaborare/visualizzare, altri piccoli accorgimenti)

- richiamare le parti "pesanti" del codice a "tempo" (sistema molto utilizzato con S5, con S7 non sempre indispensabile) [c'è un post sull'argomento]

- valutare se necessario il cambio della CPU (dopo aver fatto il possibile)

Link al commento
Condividi su altri siti

Ciao a tutti

Io invece di sprecare memoria nel PLC usando i FB (cucia che non mi piace), utilizzerebbe un DB creando un ARRAY con la quantità di dati richiesti, e dopo in un FC utilizzerebbe un programma che mi iscrivessi a memoria alle direzioni (tutto questo parametrizabile chiaro questo)... :unsure:

Se non si capisce posso collocare un piccolo é illustrativo esempio che spiegherebbe meglio il mio argomento :lol:

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