Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Timer (ss): Problema Strano...


Messaggi consigliati

Inserito:

Ciao a tutti.

Mi capita un problema un po' strano e non riesco a capire se c'è qualcosa che mi sfugge.

All'interno di un programma ho questa microscopica routine

 AUF   DB    12
      U     M     19.0
      U     M     12.2
      R     T      9
      L     DBW   18
      SS    T      9                    // RITARDO PRESOFFIO
      U     T      9
      L     DBW   20
      SI    T     10                    // TEMPO PRESOFFIO

In sostanza i due merker iniziali servono uno come abilitazione della routine e l'altro (che è un impulso e quindi fa solo un "giro" di programma) come start.

Il reset di T9 lo uso sia per la ripartenza ordinaria sia nel caso l'operatore imposti un tempo troppo lungo rispetto al ciclo della macchina (la routine a un certo punto deve comunque ricominciare da capo).

T10, invece, comanda direttamente l'uscita di un'elettrovalvola.

Il problema è questo: se imposto in T9 un tempo qualsiasi tutto funziona perfettamente ma se lascio T9 a zero (ovvero voglio utilizzare T10 senza nessun ritardo iniziale) si blocca tutto.

Controllando on line sembra che il problema sia dato dal fatto che T9 non si resetta più e, di conseguenza, nè lui nè T10 ripartono.

Sbaglio qualcosa?

Ciao e grazie.


Inserita:

scusa ma banalmente quando vuoi solo usare t10 imposta db12.dbw18 = 1

t10 si avvierà con il ritardo minimo di un ciclo di scansione

altrimenti è come dici tu: t9 non si azzera

quindi devi fare in modo che la condizione che fa partire t10 per un momento cada......

questo mi fa pensare al bit che dicevi di start

AUF DB 12

U M 19.0

U M 12.2

R T 9

L DBW 18

SS T 9 // RITARDO PRESOFFIO

U T 9

UN M12.2 (se non ho capito male è questo il fronte di salita)

L DBW 20

SI T 10 // TEMPO PRESOFFIO

Inserita:

Vediamo.... premetto che quando comincio a "litigare" col PLC diventa una questione di principio ;)

Probabilmente in questi ultimi giorni ho lavorato troppo per finire questa macchina e mi sono un po' rimbambito....

Non sono d'accordo al 100% sulla "diagnosi" ma credo che la tua cura sia giusta.

In pratica il problema non è che T9 non si resetta ma che T10 non se ne accorge; ovvero, se T9 è zero, all'inizio si resetta come da istruzione ma 2 righe dopo è già su un'altra volta: di conseguenza T10 non vede il fronte perchè tutto succede in tre righe e non in un "giro" completo (questo è anche il motivo per cui on line vedo sempre tutto a 1: succede tutto troppo velocemente).

Di conseguenza con la tua modifica dovrebbe funzionare tutto anche tenendo T9 a zero.

Tra l'altro preferisco questa soluzione perchè se metto 1 in db12.dbw18 in realtà non gli do un ritardo di 1 ciclo ma di un centesimo di secondo e questo in alcuni casi limite potrebbe essere un piccolo problema ai fini del processo.

Grazie e ciao.

Inserita:
i due merker iniziali servono uno come abilitazione della routine e l'altro (che è un impulso

Parli di 3 merker, ma io ne vedo solo 2 :blink:

Comunque mi sa che ha sbagliato la sintassi.

Forse potrebbe essere una cosa del genere:

U "ImpulsoStart"

L DBW 18

SS T 9 // RITARDO PRESOFFIO

UN "Abilitazione"

O "FineCiclo"

R T9

U T 9

L DBW 20

SI T 10 // TEMPO PRESOFFIO

Inserita:

Ciao Jumpman, in effetti il terzo merker non lo vedo neanch'io, anche perchè nella mia citazione che hai incollato c'è scritto "i due merker iniziali" :)

Comunque non posso fare come dici tu perchè "Abilitazione" serve anche per far partire T9 e "Fine ciclo" non può esistere; l'andamento, cioè, è circolare e "Impulso start" non è solo l'inizio del ciclo ma obbligatoriamente anche la fine del ciclo precedente.

Comunque sono praticamente sicuro (devo solo provare) che il problema è quello che ho descritto nel messaggio precedente grazie al suggerimento di rddiego; il malfunzionamento, infatti si presenta solo con T9=0, altrimenti tutto funziona a meraviglia.

Ciao e grazie.

Inserita:
Ciao Jumpman, in effetti il terzo merker non lo vedo neanch'io, anche perchè nella mia citazione che hai incollato c'è scritto "i due merker iniziali"

Hai scritto anche:

e l'altro (che è un impulso

Comunque non posso fare come dici tu perchè "Abilitazione" serve anche per far partire T9 e "Fine ciclo" non può esistere; l'andamento, cioè, è circolare e "Impulso start" non è solo l'inizio del ciclo ma obbligatoriamente anche la fine del ciclo precedente.

Il mio era solo un esempio, non posso sapere come funziona il tuo programma.

Quello che a occhio mi risulta un po' strano è che usi la stessa combinazione sia per il set che per il reset del timer T9.

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