Autor Tema: tmr0  (Leído 3466 veces)

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

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
tmr0
« en: 30 de Octubre de 2011, 22:35:37 »
hola a todos, perdonen la molestia hice un programa para el automatismo de una maquina, consta de dos señales de unos micro contactos los dos a la ves habilitan el segundo paso, pero el tiempo entre uno y otro no debe exceder sierto limite  entre 1 a 5 segundos, no entiendo como hacerlo funcionar por tmr0 ,ahh cualquiera de las ordenes pueden ser la  primera ejemplo se m1 empieza el tmr0 a contar m2 desabilita el tmr0 y el programa no sufre alteraciones si m2 es el primero en habilitar m1 anula la cuenta de tmr0. uyy habran entendido lo que quiero perdonen si di muchas vueltas..
lei los tutoriales que andan por el foro pero no me ayudaron mucho, o yo nos los interprete.
Saludos enrique...

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: tmr0
« Respuesta #1 en: 31 de Octubre de 2011, 07:21:36 »
A simple vista, se me ocurre que lo ms facil seria el que te creases una variable y le asignas el valor "0" de forma que cuando se active cualquiea de los 2 contactos primero a la vez que se habilita el contador, pases esa varaible a "1".
Cuando pases esos 1-5 sg realizas lo que necesitas y puedes o no, pasarla otra vez a = para una nueva cuneta.
Asi cuando despues de activar el primer pulsador, compruebas el valor de la variable al accionar el 2º pulsador, si es 1 reserteas y si es 0 empiezas una nueva cuenta al ser de ese modo el primer contacto en actuar.

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

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: tmr0
« Respuesta #2 en: 31 de Octubre de 2011, 20:20:27 »
A simple vista, se me ocurre que lo ms facil seria el que te creases una variable y le asignas el valor "0" de forma que cuando se active cualquiea de los 2 contactos primero a la vez que se habilita el contador, pases esa varaible a "1".
Cuando pases esos 1-5 sg realizas lo que necesitas y puedes o no, pasarla otra vez a = para una nueva cuneta.
Asi cuando despues de activar el primer pulsador, compruebas el valor de la variable al accionar el 2º pulsador, si es 1 reserteas y si es 0 empiezas una nueva cuenta al ser de ese modo el primer contacto en actuar.

F.

       hola Fer supongamos que en mi programa en la parte que consulta si algunos de los micros esta accionado en caso positivo disparo con una bandera el contador tmr0, hasta este paso todo bien pero yo quiero que cuando se presione el micro faltante se
vuelva el tmr0 a cero o en caso que el tmr0 termino su cuenta y no se acciono el segundo micro contacto una bandera me redireccione el programa a donde yo quiera.Esa seria mas o menos la idea.

Desconectado manolomaravillas

  • PIC12
  • **
  • Mensajes: 77
Re: tmr0
« Respuesta #3 en: 01 de Noviembre de 2011, 11:02:41 »
hola yo hice algo parecido. active un timer que contara  los segundos.....   en la funcion que queria hacer le preguntaba al timer  llegaste a 5 ..... si avia llegado  desconectaba un rele , sino llego seguia incrementando  y pasando una i otra vez por la pregunta de si llego.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: tmr0
« Respuesta #4 en: 01 de Noviembre de 2011, 17:00:34 »
A simple vista, se me ocurre que lo ms facil seria el que te creases una variable y le asignas el valor "0" de forma que cuando se active cualquiea de los 2 contactos primero a la vez que se habilita el contador, pases esa varaible a "1".

cambias la bandera y activas el contador y si llega a 1-5sg. lo reseteas, lo apagas o lo que quieras.
Todos los días se aprende algo nuevo.

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: tmr0
« Respuesta #5 en: 01 de Noviembre de 2011, 20:26:00 »
Bueno, el entorno es asi: empieza mirando las dos entradas (m1,m2), cualquier una dispara el contador (de zero) volvimos a mirar las dos entradas (una ya esta ligada) buscando ver si liga la faltante, si ocurre, vamos mirar el conteo y ver si es superior al numero programado, si ocurre, hace lo que hace y si no, desarma el contador y volvimos a empezar.

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: tmr0
« Respuesta #6 en: 01 de Noviembre de 2011, 21:16:12 »
Bueno, el entorno es asi: empieza mirando las dos entradas (m1,m2), cualquier una dispara el contador (de zero) volvimos a mirar las dos entradas (una ya esta ligada) buscando ver si liga la faltante, si ocurre, vamos mirar el conteo y ver si es superior al numero programado, si ocurre, hace lo que hace y si no, desarma el contador y volvimos a empezar.
Si gracias a todos los que aportaron, lo voy a volcar en niple (ahhhhhh ya encargue la versión 5,6) no les prometo una respuesta rápida pero cundo tenga tiempo lo programo y subo la parte del programa en cuestión, Muchísimas gracias a todos , me encanta este foro.