Vai al contenuto
PLC Forum


Sottoprogramma Fp0 - main e sottoprogramma


pagliardo

Messaggi consigliati

ciao a tutti,

vorrei utilizzare dei sottoprogrammi in un plc FP0R, li chiamano anche ricette, per effettuare delle lavorazioni di diverse misure.

praticamente all'accensione della macchina viene selezionato che programma utilizzare 1, 2, 3 ecc...

con siemens e altri ci sono i sottoprogrammi e vengono poi richiamati nel main, qui non so come si fa.

posso fare diverse POU, ma come le richiamo? e poi le esegue comunque tutte?

potrei fare molte POU e attivarle/disattivarle nell'editor con un bit, ma non mi sembra molto bello.

oppure potrei fare dei blocchi funzione ma come funziona, li esegue una volta sola?

praticamente ho bisogno di sottoprogrammi qualcuno sa come si fa?

ho fpwin pro 6

grazie

ciao

roberto

Link al commento
Condividi su altri siti


Roberto Gioachin

Ciao Roberto

Trattandosi di un linguaggio IEC, le funzioni sono quelle tipiche di questi linguaggi.

Io non ho ben capito se i sottoprogrammi che vuoi creare servono solamente per archiviare diverse serie di dati, oppure diversi tipi di lavorazioni con, per esempio, sequenze diverse.

Se si tratta di selezionare una serie di dati, tipico delle ricette, puoi utilizzare degli array oppure dei DUT, in base a quelle che sono le tue esigenze.

Gli array possono essere ad una, due o tre dimensioni.

I sottoprogrammi esistono in questi plc, ma vengono utilizzati dal compilatore quando crei dei POU tipo FB o FC.

Queste funzioni le puoi richiamare nel programma, sempre, oppure su condizione, ma non credo siano queste le tue esigenze.

Ciao

Roberto

Link al commento
Condividi su altri siti

ciao,

devo solo selezionare dei dati effettivamente, quindi avrei bisogno di usare delle DT ritentive, che però non riesco a trovare. ho un FP0R e non so quali sono gli indirizzi delle DT ritentive.

ho bisogno che quando l'operatore seleziona una taglia di prodotto questi dati che sono memorizzati vengano selezionati. i dati sono quote, tempi ecc, che cambiano per ogni tipo di prodotto ma il ciclo è sempre quello, quindi ho solo bisogno di selezionare dati che però devono essere in memoria sempre, anche quando spengo la macchina.

ho un FP0R.

grazie,

ciao

Roberto

Link al commento
Condividi su altri siti

non ho specificato il tipo scusate, FP0R C14.

ho trovato che dalla DT12000 alla DT12315 sono ritentive, mi confermate?

se compilo mi dice che queste variabili sono riservate al compilatore e mi da errore, allora sono andato in Altro>Opzioni>Range Indirizzi e ho modificato la barra delle DT riservandone di più per me utente e meno per il sistema. ora non mi dà più errore mi compila bene, quindi presumo che tutto sia ok

ciao

Roberto

Link al commento
Condividi su altri siti

Roberto Gioachin

Ciao

Hai eseguito l'operazione corretta, certo non sono molte le DT disponibili, ma devi considerare che questo plc non dispone di batteria tampone.

Se però hai bisogno di un numero maggiore di memorie DT, la soluzione è quella di utilizzare la memoria flash già presente nel plc.

Questo significa che tu puoi salvare tutte le 12316 aree ed usarle come se fossero ritentive, per fare questo devi utilizzare le istruzioni F12 e P13 "scrittura e lettura blocchi di memoria flash".

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