Vai al contenuto
PLC Forum


Gestione Sorgenti


pescediavolo

Messaggi consigliati

alla vostra cortese attenzione.

quando programmo un blocco poniamo come esempio un FC20, ne posso generare il sorgente.

Mi è sembrato di capire che da questo sorgente posso generare un blocco del tipo FB.

quindi:

FC20--> sorgente--> FB20.

corrisponde al vero e quale è la procedura esatta ?

grazie

Link al commento
Condividi su altri siti


Stento a capire... forse sono io o magari la domanda è un po' confusa...

Immagino si parli di Step7... (ma non c'è una sezione apposita del forum?)

Io programmo solo in awl... e di solito comunque i blocchi di programma sono o FC o FB (nel senso aut/aut ovvero 'o' esclusivo).

Quindi nel momento che si comincia a programmare si sceglie (in step7) se creare una FC od una FB.

Poi utilizzando invece scl, credo che nel sorgente, si deve dare le istruzioni (nelle prime righe) per far capire al compilatore (che poi non è un vero compilatore in quanto genera codice awl, che poi solo dopo è effettivamente compilato in MC7...)... insomma dicevo... nelle prime righe di un sorgente scl si definisce se il compilatore scl deve creare un 'sorgente' awl di tipo FC o FB.

Non credo poi che i sorgenti scl possano essere sempre identicamente compilati come FC o FB a seconda dell'umore del programmatore, immagino esistano delle restrizioni, almeno di solito le FC non possono mai essere chiamate con un DB di istanza a loro dedicato, cosa che invece le FB fanno di solito.

Quindi: se mi serve un DB di istanza uso una FB, altrimenti uso una FC. Ecco in soldoni io faccio così...

Link al commento
Condividi su altri siti

FC20--> sorgente--> FB20.

Ma da cosa ti nasce questa esigenza?

Comunque, si può fare

Ti basta, una volta generato il sorgente, sostituire la prima riga "FUNCTION FC xx : VOID" con "FUNCTION_BLOCK FBxx" e l'ultima riga "END_FUNCTION" con "END_FUNCTION_BLOCK", e ricompilare.

Attenzione, che se esiste già una FB col numero che hai assegnato nel sorgente, questa FB viene sovrascritta senza richiesta di conferma.

Però, se hai bisogno di trasformare una FC in FB, forse ti conviene creare semplicemente una nuova FB e riportare, con copia/incolla, quello che c'è nella FC. Si fa in un attimo.

Link al commento
Condividi su altri siti

Ciao,

Se hai necessità di trasportare il codice di un FC in un FB, la via più breve è quella che ti ha suggerito Batta: CTRL+C - CTRL-V

Se la domanda invece è: generare un sorgente FC produce sempre un FB? La risposta è:

non necessariamente, si può generare il sorgente del medesimo FC...però trasformando un FC in FB il relativo bocco dati di istanza, il DB, verrebbe generato vuoto e non avrebbe senso perchè non potresti nemmeno modificarlo. Al limite conterrebbe IN, OUT, TEMP.

LudB

Quindi: se mi serve un DB di istanza uso una FB, altrimenti uso una FC. Ecco in soldoni io faccio così...

Bye

Link al commento
Condividi su altri siti

per Batta.

Ma da cosa ti nasce questa esigenza?

semplicemente conoscenza, avevo letto che era possibile modificando come hai detto tu delle parti di testo, e lo volevo applicare.

grazie per le vostre risposte.

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