Vai al contenuto
PLC Forum


S7-300 - creare nuovi timer


Messaggi consigliati

alberghinilorenzo
Inserito:

Buongiorno

Io mi trovo su un cpu 315 2 dp non ho piu' disponibile nessun temporizzatore volevo sapere come si puo' crearne di nuovi

Grazie


Inserita:
non ho piu' disponibile nessun temporizzatore

Urca... ma che progetto hai fatto? :blink:

Comunque, un metodo potrebbe essere (se non hai bisogno di precisioni assolute) quello di utilizzare un merker incrementandolo ad ogni giro di logica, quindi utilizzare un bit a piacimento del suddetto merker come clock per incrementare altri merker che utilizzerai come contatori. Quando i contatori raggiungono il valore che desideri setti l'uscita ritardata.

Volendo strutturare meglio il programma io progetterei un FB parametrico, utilizzando variabili locali, da richiamare quando serve.ù

Ciao

Inserita:

I temporizzatori , sono dati della memria di sistema.

Quelli che ci sono , ci sono , non puoi ne aumentarne il numero ne ridurne , salvo usare una CPU di livello più alto , (S7-317) che ne metta a disposizione una quantità maggiore (512) a discapito dei contatori però.

L'unica scappatoia è usare i contatori nella 315 ne hai a disposizione 512.

Non è immediato come i timer ma funziona.

Tutto quello di cui hai bisogno è un trigger (o clock) ad una determinata frequenza che scandisca l'incremento o decremento del contatore, questo lo crei tu.

Il valore di preset del contatore rappresenterà il tempo totale es 100 * clock 100ms =10 sec.

In alternativa , crei un blocco su misura che faccia una funzione di decremento a clock con parametri di ingresso , start, stop , clock,uscita di fine conteggio e in/out con il valore di preset del conteggio su di una word.

nel blocco con poche righe di codice ti fai una funzione simile al contatore e lo richiami alla bisogna nel programma , sostituendo i parametri di ingresso.

Questo nel caso tu finisca anche i contatori! :lol:

Toglimi una curiosità , nella 315 , ci sono 256 timer, come hai fatto a finirli tutti?

Ivan

alberghinilorenzo
Inserita:

Il progetto su cui sto' apportando modifiche e' molto grande in piu' hanno aggiunto ancora altre macchine gesttite da questa cpu quindi sono a secco

Inserita:

Non ne dubitavo della grandezza del progetto, altresì non si sarebbero minimamente giustificati tanti timer.

Le mie sono perplessità personali , prendile per quello che sono , i timer al di là del nobile scopo che si prefiggono , non mi sono mai troppo piaciuti , ho sempre preferito i contatori.

E sempre parlando per mia esperienza personale , non ho mai visto usarne così tanti.

Tutto qui.

Ciao

Ivan

Inserita:
quello di utilizzare un merker incrementandolo ad ogni giro di logica

difficile avere uno scantime costante se lavori tutto in OB1

Tutto quello di cui hai bisogno è un trigger (o clock) ad una determinata frequenza che scandisca l'incremento o decremento del contatore, questo lo crei tu.

Il valore di preset del contatore rappresenterà il tempo totale es 100 * clock 100ms =10 sec.

ci pensa la cpu a fartelo , nella configurazione setti un byte di clock

E sempre parlando per mia esperienza personale , non ho mai visto usarne così tanti

personalmente Ho finito quelli di una 414 , quindi me li sono fatti con dei contatori che contano il merker di clock della CPU ( 100ms )

il fatto di usarne tanti , non e' comunque proporzionale alla complessita' dell'automazione .

se finisci anche quelli , fai degli ADD e dei COMPARE ( oppure sali con la cpu )

Ciao

Luca

Inserita:
difficile avere uno scantime costante se lavori tutto in OB1

Certo, difatti ho specificato "se non hai bisogno di precisioni assolute"

Ciao

Inserita:

Oppure vai QUI e ti scarichi "Esempio_Timer.zip" ;)

Inserita:

Prova a utilizzare sf4 e sfb5 Ton e Tof

sono ritardato all'eccitazione e alla diseccitazione

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