Vai al contenuto
PLC Forum


Fb O Fun


saisas

Messaggi consigliati

Salve.

Volevo sapere se qualcuno potrebbe spiegarmi la differenza che c'è tra una Funzione e un Blocco funzione in FPWinPro,e quando secondo voi e consigliabile utilizzare l'una o l'altra.

Grazie Anticipatamente.

Link al commento
Condividi su altri siti


Roberto Gioachin

In genere una funzione è una assimilabile alle istruzioni, in pratica si tratta di una estensione del set di istruzioni, creata da te.

Un blocco funzione (FB) è gia una parte di programma costruita specificatamente per la tua applicazione.

Su FPWin pro, se crei un blocco funzione, questo verra utilizzato come una subroutine.

Per dire poi quale sia conveniente usare, dipende molto dal programma, dalle caratteristiche che devi ottenere, come velocità di esecuzione, oppure dimensione del programma o altro ancora.

Ciao

Roberto

Link al commento
Condividi su altri siti

Roberto grazie della risposta,

quindi se ho capito una funzione e un programma racchiuso nel suo interno,e ogni volta che si esegue una copia della stessa non si fa altro che copiare il programma.

La differenza di un blocco funzione è che e legato ad un sottoprogramma,e ogni volta che si richiama un blocco funzione inserendo l'istanza non si fa una copia del programma ma si fa riferimento sempre allo stesso.

Da quello che deduco,se in un programma copio piu funzioni in fase di compilazione avrò molti piu passi rispetto ad un blocco funzione perche all'inteno del mio programma andro a creare tanti piccoli programmi quante sono le copie fatte delle funzioni,con il rischio che mi si abbassi il tempo di clok "Scansione" della cpu perche mettera molto piu tempo nell'eseguire tutto il programma.

Se invece eseguo delle copie di un blocco funzione in fase di compilazione avrò sempre lo stesso numero di passi anche con molti blocchi funzione, con la differenza che quando il plc si trova a scandire il programma lui ogni volta che si trova dentro un blocco funzione andra a richiamare un sottoprogramma che sara lo stesso per tutti.

Una cosa non mi è chira, se all'interno del mio programma inserisco piu blocchi funzione richiamati tutti nel medesimo momento,in fase di scansione cosa succede nel programma,come fa il plc a eseguire tutti i blocchi funzione allo stesso momento.Non vengono eseguiti uno alla volta?

Grazie

Link al commento
Condividi su altri siti

Roberto Gioachin

Hai interpretato perfettamente.

Il plc esegue sempre una istruzione alla volta, quindi non esiste

richiamati tutti nel medesimo momento

Una volta compilato il programma, il codice sarà formato sempre da una serie di istruzioni eseguite una dopo l'altra, questo vuol dire che i blocchi verranno eseguiti uno alla volta in sucessione.

A volte ambienti comme FPWin pro, possono lasciare dei dubbi su quale istruzione viene eseguita per prima, ma nel manuale è spiegato molto bene.

Di certo se guardi il codice in lista di istruzioni dopo la compilazione i dubbi spariscono.

Ciao

Roberto

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