Autor Tema: Variación tiempo de descontaje al recibir señal  (Leído 2154 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xenam

  • PIC10
  • *
  • Mensajes: 18
Variación tiempo de descontaje al recibir señal
« en: 02 de Diciembre de 2020, 04:30:24 »
Hola,

Siguiendo con el programa que tengo entre manos, tengo el siguiente programa.
El programa funciona activando una salida(un tiempo definido por el usuario) cada vez que recibe una señal exterior(PIN,ent_1_det_eslabon) que recibimos como entrada en el PIC dentro de un valor de tiempo ajustado por el usuario.
Una vez que expire ese tiempo entra en modo pausa durante otro tiempo ajustado, la señal exterior recibida en ese ciclo de pausa no repercute en el funcionamiento
Es decir, no se activa la salida cada vez que recibe esa señal tal y como lo hace en el ciclo de trabajo, una vez expirado este tiempo vuelve a iniciar el ciclo de trabajo y así en ciclo infinito.
En el lcd aparece el tiempo del ciclo correspondiente descontándose hasta que llegue a 00:00:00:00.

El problema es el siguiente, cuando esta el tiempo de trabajo descontándose y recibe una señal de entrada el tiempo del lcd descuenta mas rápido de lo normal, no pasa siempre pero si a menudo.
He probado establecer un tiempo de 30segundos y durante ese tiempo simulo el accionamiento de esa entrada varias veces y puedo ver como el tiempo de descontaje se agiliza justo en ese momento en el que recibe la señal y activa la salida.
Al fin de cuentas,el tiempo establecido y el que expira en el ciclo no es el mismo siempre y cuando haya alguna señal de entrada exterior.
Sin embargo, en el ciclo de pausa no tengo este problema. El tiempo transcurre con total normalidad aunque reciba señales de entrada, lo único que cambia es que no tiene que activar la salida cada vez que reciba la señal de entrada.
Sabéis cual puede ser la solución para ese problema?
Os adjunto la rutina de trabajo de ese ciclo de trabajo, si os hace falta algún detalle de alguna rutina o algo que no veáis claro, me lo preguntáis e intento explicároslo.

Muchas gracias
« Última modificación: 02 de Diciembre de 2020, 04:33:43 por xenam »

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #1 en: 02 de Diciembre de 2020, 06:51:12 »
Hola Xenam,

Para intentar ayudarte en el problema, sería conveniente que adjuntaras el fichero NPL del proyecto. Si no todo al menos si la parte de la que has adjuntado la figura dado que no tiene muy buena nitidez y no se aprecian bien el significados de los bloques.

F.
Todos los días se aprende algo nuevo.

Desconectado xenam

  • PIC10
  • *
  • Mensajes: 18
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #2 en: 03 de Diciembre de 2020, 04:23:50 »
Adjunto programa.

Gracias

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #3 en: 03 de Diciembre de 2020, 07:07:50 »
Voy a descargarlo y revisar.

F.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #4 en: 03 de Diciembre de 2020, 07:36:32 »
Voy a ordenar un poco la rutina para intentar seguir el programa. No hay quien lo siga con tanto cruce de lineas.

F.
Todos los días se aprende algo nuevo.

Desconectado xenam

  • PIC10
  • *
  • Mensajes: 18
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #5 en: 03 de Diciembre de 2020, 09:24:38 »
Voy a ordenar un poco la rutina para intentar seguir el programa. No hay quien lo siga con tanto cruce de lineas.

F.

No te falta razon,tiene el programa un poco lioso para seguirlo con tantas líneas.
A mi me costo lo suyo, entre que aprendia niple y seguia el funcionamiento del programa.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:Variación tiempo de descontaje al recibir señal
« Respuesta #6 en: 03 de Diciembre de 2020, 13:47:46 »
Hola,
 
Bueno después de colocar un poco los bloques de la rutina que se te ve afectada por el hecho que mencionas, tengo que decirte que no veo nada que pueda afectar a que el tiempo vaya más deprisa.

  Sin entrar a comprender todo el proyecto, ni saber que hace, ni como funciona, por lo que veo tienes creada una base de tiempos con el contador interno TMR0 y algún registro auxiliar.  De forma que con el TMR0 se incrementa cada 100msg, cuando alcanza el valor de 10 incrementadas un registro auxiliar (tiempo) y a la vez otro llamado (tiempo_t1). Esta ultima acción no entiendo por que se realiza sin haber comprobado que "tiempo" haya alcanzado un valor determinado. Pero en fin si te funciona me supongo que tiene su utilidad dentro del programa.

  La rutina de trabajo que has indicado que es la que te origina el efecto descrito, solamente tiene un bloque de comprobación del estado de la entrada "PIN,ent_1_det_eslabon". A partir de ahí si el valor es=1 ejecuta la rutina "p_imp_engrase" que dentro de ella activas un led, me supongo que durante un tiempo y a la vez lees los valores de la eeprom(??). Pero si la entrada es=0 pasas a comprobar otras rutinas, de forma que se realizan un a serie de opciones y al final se regresa al mismo punto (salto1). Esto lo he llamado yo así para la recolocación de los bloques de la rutina. Después, de regreso al salto,  la siguiente operación es comprobar si el registro tiempo es >=1 y si se cumple la condición automáticamente reseteas el "contador tiempo"

  Mi consejo es que revisases toda esa parte, incluso lo primero que haría seria aumentar el tiempo de la actuación del anti-rebote en la comprobación del estado de la entrada "PIN,ent_1_det_eslabon". Por defecto Niple te pone 20msg; prueba a aumentarle. Te adjunto en un grafico la parte a revisar y/o aumentar el tiempo.

 Por otra parte creo que deberías de mejorar las rutinas: ciclo_p_paueslb y ciclo_p_traeslb. Están igual de mal que la que yo te he corregido. Adjunto también el programa con esa corrección. Es muy difícil seguirlas.

F.
« Última modificación: 03 de Diciembre de 2020, 13:50:43 por Fer_TACA »
Todos los días se aprende algo nuevo.