Vai al contenuto
PLC Forum


Creare Un Blocco Di Comandi


Dario Passeri

Messaggi consigliati

Dario Passeri

buonasera,

premetto che sono un novello nella programmazione del plc. vengo al punto: uso il TIA portal e sto programmando un s7-1200 e devo inserire più volte nel mio programma una serie di comandi (in questo caso è un avviatore stella-triangolo). Per adesso ho risolto con il copia e incolla ma so che è possibile creare un unico blocco e richiamarlo più volte all'interno del programma. come devo fare?

mi scuso se questa discussione è già presente nel forum ma non sono riuscito a trovarla.

Grazie e bona giornata

Dario

Link al commento
Condividi su altri siti


Ciao dovresti creare una funzione FC oppure un blocco funzionale FB, sai cosa sono? li hai mai utilizzate? oppure hai sempre scritto tutto in OB1?

Fammi sapere, che se ne sono capace, provo ad aiutarti, ciao.

Link al commento
Condividi su altri siti

Ciao Dario

Benvenuto nel forum , il mio consiglio e di crearti un blocoo fb al cui interno metti il tuo avviamento poi , nella sezione dichiarazioni inserisci magari come input START STOP EMRG come output STELLA e. TRIANGOLO

Il mio consiglio e' mettere come imput anche il tempo per il passaggio da stella a trangolo in modo che tu possa variare per comodita il tempo di passaggio da fuori a seconda della potenza del motore

Link al commento
Condividi su altri siti

Ciao,come diceva Pinokkio io ti consiglio di crearti un blocco funzione 'FB' che,a differenza del blocco FC è associato al proprio db di istanza.

Questo vuol dire che potrai creare un unico blocco che esegue la medesima funzione(nel tuo caso un avviamento stella-triangolo),ma poi potrai associargli diversi db di istanza che gestiranno(suppongo)diversi motori.

in tale blocco dovrai dichiarare delle variabili come Imput ed output,oltre ad altre variabili che solo tu sai...quando andrai a richiamare tale blocco ti verrà chiesto di associargli un db(es db1_stella_triangolo). A questo punto puoi richiamare il blocco quante volte vuoi,ed associargli diversi db(es db2_stella_triangolo,db3_stella_triangolo ecc ecc). Verranno creati diversi blocchi dati del medesimo tipo(cioè i dati che hai dichiarato come entrata/uscita/temp ecc) ma ognuno indipendente dall'altro.

Spero di essere stato chiaro

Matteo

Link al commento
Condividi su altri siti

Dario Passeri

tutto chiaro, ho solo un dubbio: creo il blocco FB1 in cui metto il mio avviatore (con i vari input, output, temporizzatori, ecc.) poi per richiamarlo utilizzo il "box vuoto" e li scrivo FB1?

ho fatto in questo modo e mi è comparso un blocco DB nel menù dei blocchi di programma e me ne compare uno ogni volta che richiamo il mio FB1. é giusto?


e cosa posso farci con quei DB? potrò osservarci gli stati degli input e output in online?

Link al commento
Condividi su altri siti

poi per richiamarlo utilizzo il "box vuoto" e li scrivo FB1?

Per richiamarlo, basta che lo trascini in OB1 a partire dall'albero che trovi sulla sinistra

ho fatto in questo modo e mi è comparso un blocco DB nel menù dei blocchi di programma e me ne compare uno ogni volta che richiamo il mio FB1. é giusto?

Ogni volta che richiami un FB in automatico si crea una istanza per un DB, dunque se richiami 5 volte l'FB dovrai avere 5 DB

e cosa posso farci con quei DB?

Il DB è il blocco dati associato ad un FB, in poche parole qui dentro ci vanno a finire i dati che utilizzi nell'FB, dunque ti fà da memoria

potrò osservarci gli stati degli input e output in online?

Proprio nel DB non penso, il controllo online puoi farlo nel tuo FB, oppure con una tabella di controllo.

PS: Penso di non aver detto cavolate, ma aspetta la conferma di qualche utente più esperto, in quanto io sn un principiante :)

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