bleny Inserito: 15 marzo 2008 Segnala Inserito: 15 marzo 2008 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 PRESOFFIOIn 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.
rddiego Inserita: 15 marzo 2008 Segnala Inserita: 15 marzo 2008 scusa ma banalmente quando vuoi solo usare t10 imposta db12.dbw18 = 1t10 si avvierà con il ritardo minimo di un ciclo di scansionealtrimenti è come dici tu: t9 non si azzeraquindi 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 9UN M12.2 (se non ho capito male è questo il fronte di salita) L DBW 20 SI T 10 // TEMPO PRESOFFIO
bleny Inserita: 15 marzo 2008 Autore Segnala Inserita: 15 marzo 2008 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.
JumpMan Inserita: 15 marzo 2008 Segnala Inserita: 15 marzo 2008 i due merker iniziali servono uno come abilitazione della routine e l'altro (che è un impulsoParli di 3 merker, ma io ne vedo solo 2 Comunque mi sa che ha sbagliato la sintassi.Forse potrebbe essere una cosa del genere:U "ImpulsoStart"L DBW 18SS T 9 // RITARDO PRESOFFIOUN "Abilitazione"O "FineCiclo"R T9U T 9L DBW 20SI T 10 // TEMPO PRESOFFIO
bleny Inserita: 15 marzo 2008 Autore Segnala Inserita: 15 marzo 2008 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.
JumpMan Inserita: 16 marzo 2008 Segnala Inserita: 16 marzo 2008 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 impulsoComunque 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.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora