Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-01-2011
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 17
alquimista Va por buen camino
Leer varios sensores a la vez controlando fallos de lectura

Muy buenas.

Estoy leyendo varios sensores de temperatura conectados a un Bus I2c, pero que van a traves de un convertidor I2C a puerto serie...

Estoy usando el componente asyncpro...
He conseguido leer los sensores individualmente, pero me interesa leer en unos intervalos tiempo todos a la vez...
El problema que veo es como controlar el proceso.
Hasta ahora configuro un sensor y le pido leer y espero al evento OntriggerAvail del Asyn pro... y lo leo correctamente.
Mi pregunta es como puedo controlar la lectura de otros sensores en caso que falle alguna lectura?

por ejemplo:

Configuro una lectura de sensores cada 5 segundos..(se supone que en estos 5 segundos deberia de poder leer unos 4 sensores). y repetir esta lectura cada 5 segundos un número de veces ELEVADO.

configuro sensor 1--> Se supone que el evento me devuelve la temp edl primero. Pero si falla la lectura, o el sensor esta roto o apagado, que hago???

configuro el 2--> se supone que devuelve datos, ¿pero si no los devuelve???

¿Pongo algun temporizador?
Responder Con Cita
  #2  
Antiguo 23-01-2011
Avatar de fenixariel
fenixariel fenixariel is offline
Miembro
 
Registrado: mar 2007
Posts: 77
Poder: 18
fenixariel Va por buen camino
Una pregunta, se esta usando algun micro o el envio de datos es directo hacia el PC.
Responder Con Cita
  #3  
Antiguo 23-01-2011
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 17
alquimista Va por buen camino
estan conectados al pc a traves de un conector I2C a USB (serial port virtual)
en realidad se le envian comandos por puerto serie.
Responder Con Cita
  #4  
Antiguo 23-01-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 21
rretamar Va camino a la famarretamar Va camino a la fama
Se podrían usar temporizadores de control de "falta de disponibilidad" por "exceso de tiempo".
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #5  
Antiguo 23-01-2011
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 17
alquimista Va por buen camino
El componente que uso Async pro tiene algo parecido o hay que implementarlo?
Te refieres a que en el momento de lanzar la lectura(avail:=false), pongo en marcha un temporizador y si por ejemplo el evento triggeravail(avail:=true) no se dispara y pasa 1 segundo por ejemplo sin que avail pase a true, puedo deducir que el sensor no ha funcionado o esta apagado????????

Podria valer eso????

gracias por responder...
Responder Con Cita
  #6  
Antiguo 25-01-2011
Avatar de fenixariel
fenixariel fenixariel is offline
Miembro
 
Registrado: mar 2007
Posts: 77
Poder: 18
fenixariel Va por buen camino
Cita:
Empezado por alquimista Ver Mensaje
Muy buenas.

Estoy leyendo varios sensores de temperatura conectados a un Bus I2c, pero que van a traves de un convertidor I2C a puerto serie...

Estoy usando el componente asyncpro...
He conseguido leer los sensores individualmente, pero me interesa leer en unos intervalos tiempo todos a la vez...
El problema que veo es como controlar el proceso.
Hasta ahora configuro un sensor y le pido leer y espero al evento OntriggerAvail del Asyn pro... y lo leo correctamente.
Mi pregunta es como puedo controlar la lectura de otros sensores en caso que falle alguna lectura?

por ejemplo:

Configuro una lectura de sensores cada 5 segundos..(se supone que en estos 5 segundos deberia de poder leer unos 4 sensores). y repetir esta lectura cada 5 segundos un número de veces ELEVADO.

configuro sensor 1--> Se supone que el evento me devuelve la temp edl primero. Pero si falla la lectura, o el sensor esta roto o apagado, que hago???

configuro el 2--> se supone que devuelve datos, ¿pero si no los devuelve???

¿Pongo algun temporizador?

No entiendo muy bien lo que estas haciendo pero me parece que cuando te refieres a que configuras un sensor cada cierto intervalo te refieres a que estableces comunicacion I2C estandar con el sensor, es decir le envias su ID, le solicitas lectura, etc; y este sensor te responde hasta ahi estoy bien?

Esta es la forma usual de trabajar con dispositivos que aceptan comunicacion I2C, pero no siempre hay la seguridad de que esten funcionando, o funcionando correctamente; no creo que debas hacer un bucle esperando respuesta; si el dispositivo esta funcionado correctamente la respuesta debe ser inmediata y del orden de los milisegundos, este deberia ser el unico intervalo admicible, en caso contrario el dispositivo seguramente no esta funcionando correctamente.

Bueno tambien en los proximos 5 segundos se le estaria haciedo la consulta nuevamente a ese sensor.....

No se si en algo he podido aportar....o no entendi muy bien.......

Saludos.

Última edición por fenixariel fecha: 25-01-2011 a las 04:20:23.
Responder Con Cita
  #7  
Antiguo 25-01-2011
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 17
alquimista Va por buen camino
Lo que dices es cierto...
El problema es saber cuando falla el sensor.
Estoy continuamente leyendo la temperatura... (Timer)
Por ejemplo a intervalos de 5 o mas segundos durante 1 dia.

La idea es leer siempre continuamente todos los sensores y cuando se cumpla el intervalo de 5 seg mostrar valores..

Leo sensor 1 con su ID etc...
recibo lectura..

Leo sensor 2 cambio ID, etc...

recibo lectura

Asi varios mas...

<Compruebo el tiempo > la idea es usar el temporizador interno del sistema GetTickcount (o como sea)
Si =intervalo entonces visualizo..

Mi problema es que si no compruebo nada de fallos...
Si pido leer sensor 1 y por lo que sea es sistema esta sobrecargado, y la lectura no se devuelve en poco tiempo y luego leo sensor 2 como se que el valor devuelto no era el del sensor 1...

No se si me explico bien... O a lo mejor es mas facil que eso...
Responder Con Cita
  #8  
Antiguo 25-01-2011
Avatar de fenixariel
fenixariel fenixariel is offline
Miembro
 
Registrado: mar 2007
Posts: 77
Poder: 18
fenixariel Va por buen camino
Al no utilizar el protocolo I2C, pues dices estas usando un conversor a RS232, se pierden esos detalles ya previstos en dicho sistema de comunicacion...

Si usases un micro mira como efectuarias lecturas:

I2C1_Start();
I2C1_Wr(0xD0);
I2C1_Wr(0);
I2C1_Repeated_Start();
I2C1_Wr(0xD1);
Sec_I2C = I2C1_Rd(1);
Min_I2C = I2C1_Rd(1);
Hour_I2C = I2C1_Rd(1);
Day_I2C = I2C1_Rd(1);
Date_I2C = I2C1_Rd(1);
Month_I2C = I2C1_Rd(1);
Year_I2C = I2C1_Rd(0);


Como ves la lectura es inmediata, no es comun que estos sensores fallen, si fallan es por responsabilidad del diseñador.

Si fallase una lectura podrias poner un cero o nose 'falla de lectura', lo que indicaria que hay que revisar el circuito.

Si el circuito luego de todas ls pruebas queda, es muy improbable que falle; puedes tenerlo meses de meses tomando muestras y no encontrar algun error.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como Visualizar varios sensores elxsoon Varios 3 19-10-2010 19:17:17
TTimer controlando Comport JoseFco Varios 10 29-10-2008 20:09:17
Forzar a los jóvenes a leer clásicos es un error para promover la lectura marcoszorrilla La Taberna 12 14-05-2008 03:58:13
Manejo de menu en treeview, controlando que las formas al abrir no se sobrepongan Ale Alvarez OOP 2 12-09-2007 14:25:09
como leer un word de solo lectura fdocortesl OOP 2 30-05-2007 17:44:20


La franja horaria es GMT +2. Ahora son las 02:05:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi