Vai al contenuto

Gestire un ciclo pausa/lavoro con timers

Home Forum Programmazione IEC 61131 (LogicLab) Gestire un ciclo pausa/lavoro con timers

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #35877
    Anonimo
    Inattivo

    Salve, potreste indicarmi come modificare il sorgente e creare un timer tipo eTP ma che alla dissattivazione dell’ingresso IN resetti l’uscita ed il tempo trascorso.

    Mi serve ciò per realizzare un timer pausa/lavoro che però resetti tutto alla disattivazione dell’ingresso IN, siccome volevo creare qualcosa di semplice ho provato a gestirlo tramite due eTP, con relativi merker in uscita e loro contatti negati che disattivano in alternanza pausa lavoro i timer, il tutto funziona bene ma date le caratteristiche del eTP anche disattivando l’ingresso IN l’uscita Q rimane attiva fino allo scadere del tempo.

    Ho provato anche inserendo EN/ENO ed abilitando/disabilitando ma niente.

    #39184
    Sergio Bertana
    Amministratore del forum

    Direi che più che il timer di tipo eTP si potrebbero utilizzare due timer di tipo eTON in cascata il primo esegue il computo del tempo di pausa ed il secondo det tempo di lavoro. Il contatto chiuso del secondo timer attiva il primo così che terminato il tempo di lavoro tutta la catena riparte.

    Ma perchè in alternativa non utilizzare il FB OnOffCycle_v1 (Estratto manuale) che già fà tutto questo addirittura con tempi random. Se non ti servono i tempi random puoi definire uguali i valori minimo e massimo di ogni temporizzazione.

    Comunque se per tua curiosità vuoi vedere come è fatto il timer eTP eccoti la stampa ed la libreria con il programma sorgente.

    #39187
    Anonimo
    Inattivo

    Grazie per le celeri risposte, sempre professionali e gentili.

    Devo dire che ho provato ad utilizzare il FB OnOffCycle ed è veramente un ottima soluzione, impostando i valori di Off uguali ad un tempo x e allo stesso modo i valori di On ad un tempo y si crea velocemente un timer Pausa/Lavoro.

    Altra domanda anche se so di essere un pò off-topic, creando delle variabili REAL (per lettura e set valori analogici) quindi dword, LogicLab mi da errore di sovrapposizione se le mappo con un offset di 4byte es. MD100.2048-MD100.2052, mentre tutto ok se l’offset è di 8byte ? Stessa cosa per i bit vuole offset di 2bit es. MX100.20-MX100.22…?

    #39188
    Sergio Bertana
    Amministratore del forum

    E’ corretta l’allocazione in memoria che hai fatto (Di 1 in 1 per i BOOL e dii 4 in 4 per le REAL) non capisco perchè ti dia errore LogicLab. Ecco lo screenshot della allocazione fatta per prova.

    #39189
    Anonimo
    Inattivo

    Non vorrei sembrare indiscreto, ma siccome non sono molto afferrato riguardo il linguaggio ST (anche se vorrei dedicarmi ben presto), mi potreste inviare un eTP opportunamente modificato o le modifiche da effettuare, in modo che si comporti come da stock ma che alla disattivazione di EN si resetti tutto alla condizione iniziale.

    Perchè con quello stock alla disattivazione di EN si ferma il tempo e l’uscita Q rimane TRUE.

    #39190
    Sergio Bertana
    Amministratore del forum

    Per fare un ciclo Pausa/Lavoro è meglio come già detto utilizzare il timer eTON (Ecco lo screenshot del programma), ho anche allegato un programma di esempio, è già fatto con la nuova versione di LogicLab che uscirà a giorni (Download progetto).

    Però per sfruttuare appieno le potenzialità del sistema occorre sicuramente passare al linguaggio ST, abbinando l’ST agli altri linguaggi si ottiene la massima flessibilità di azione.

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Devi essere connesso per rispondere a questo topic.