border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 03-05-2005, 20:47:20
Un Nuevo Amigo
 
Registrado: may 2005
Posts: 2
KasiSKS Valoración +2
Predeterminado ¿Cómo se hacen este tipo de aplicaciones?

Hola a todos.

Este es mi primer mensaje en este foro, que al parecer tiene muy buena pinta. El caso es que llevo un año y medio y claro uno da lo que da...

Quiero realizar una aplicación para controlar una piscifactoria. Tiene 100 piscinas y hay que medir cuatro valores: pH, oxigeno disuelto, temperatura y nivel del agua. Si cualquiera de los valores no está dentro de otros valores establecidos saltarán las alarmas. Quiero monitorizar las 100 piscinas. Lo quiero hacer por comunicación serial midiante el MSCOMM, con el cual ya he desarroyado el programa que me genera las tramas (protocolo HostLinK) para comunicar con un autómata OMRON. ¿Tengo que crear un componente, llamemosle Piscina, con sus propiedades, metodos y eventos e insertarlo 100 veces?¿Cuál es la técnica para solo hacer una piscina y reutilizarla 100 veces?. No se, espero que ustedes me entiendan y sepan dar cauce a mis dudas.

Sin más, muchas gracias anticipadas y estaré ansioso en leer las futuras respuestas.
__________________
Vive de joven y muere de viejo.
Kasi.
Responder Con Cita
  #2 (permalink)  
Antiguo 03-05-2005, 22:09:21
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Me imagino que los autómatas OMROM deben de ser un hardware específico capaz de medir el Ph del agua así como la temperatura y probablemente minerales y gases (Hablas de oxigeno).

Me imagino que la interface de comunicación con otros sistemas se realiza por puertos asíncronos de datos (O por IP también).

En mi opinión solamente debes hacer un único componente que controle secuencial o aleatoriamente todos los autómatas que se conecten. El principal problema es que en tu equipo dispones de COM1...2...3 y COM4 como mucho así que, o pones en medio un INTELIPORT que rastree los 100 o 200 o 300 emisores o mala solución tiene.

Supongo que el propio fabricante (OMROM en este caso) dispone de la tecnología que soluciones este problema.

Un INTELIPORT no es más que un hub para puertos seriales que rastrea secuencialmente todos los equipos conectados y a su vez envía a la unidad central los datos que le llegan por un único cable.

Así la aplicación deberá mantener abierto un puerto COMn, crear una table que identifique los diferentes equipos conectados y adquirir los datos que le remitan.

Comparando éstos con los valores mínimos aceptados, odrás hacer saltar la alarma que identifique una determinada balsa o piscina con la incidencia.


No sé si voy bien encaminado pero me parece que por ahí van los tiros.


Sería bueno que te informes si, además de RS232, disponen de comunicación IP pues es mucho más rápida, barata y fácil de controlar.


En cualquier caso, componentes sólo uno, que controle todos los equipos.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 04-05-2005, 15:37:10
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 440
MiguelS Valoración +2
Predeterminado

Hay varias formas de hacerlo.
La mas facil , pero no muy apta para 100 instancias es crear un Form que representa a una piscina y crear un array de 100 elementos del tipo form.

Código:
Public instPiscina(99) As frmPiscina
Sub Main()
Dim i As Integer
For i = 0 To 99
    Set instPiscina(i) = New frmPiscina
    With instPiscina(i)
        .instNum = i
        .Caption = "Piscina " &  i
        .Show
    End With
Next i
End Sub
Otra forma es crear un Modulo de Clase llamado piscina con sus propiedades y metodos.
Luego declaras

Código:
Public Ps(99) As Piscina

Private Sub Form_Load()
Dim i As Integer
For i = 0 To 99
   Set Ps(i) = New Piscina
Next i
End Sub
Con respecto Omron , yo en su momento hice el lado contrario , o sea , un programa que se hace pasar por PLC para comunicarse con una aplicacion hecha con Citect.
Con respecto a la decision de hacer lo que quieres con VB y no con algun programa SCADA , creo que es una buena decision.
Responder Con Cita
  #4 (permalink)  
Antiguo 04-05-2005, 20:16:53
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Al parecer MiguelS controla estos temas y aunque sólo sea por curiosidad, me gustaría conocer de que forma un único PC puede controlar 100 emisores diferentes por un único puerto serie.

Yo hace años, trabaje con un sistema Xenix cuyo equipo central controlaba las diferentes terminales mediante un IntelliPort (De ahí la mención que yo hago en el post). Si no recuerdo mal se trataba de un hardware que 'escaneaba' las terminales y enviaba el tráfico al ordenador central; éste a su vez lo recibía por un único puerto.

Supongo que todo esto habrá evolucionado y se podrán conectar 100 o 200 equipos a un único PC y que este controle todo ?

Repito, sólo me mueve la curiosidad pero me gustaría conocer algún detalle más sobre este tema.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 05-05-2005, 06:16:48
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 440
MiguelS Valoración +2
Predeterminado

El post original no dice que cada piscina tiene su propio automata.
Si fuese asi , una posibilidad es conectarlos en red en grupos de hasta 32 unidades (segun tengo entendido , ese es el limite de esta red) y bastrian 4 puertos serie para hacerlo.
Responder Con Cita
  #6 (permalink)  
Antiguo 05-05-2005, 07:10:29
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Gracias por la respuesta MiguelS.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #7 (permalink)  
Antiguo 05-05-2005, 22:24:34
Un Nuevo Amigo
 
Registrado: may 2005
Posts: 2
KasiSKS Valoración +2
Predeterminado

Bueno, primeramente daros las gracias por las contestaciones. El caso es que como estoy aprendiendo Visual y tengo un colega que se dedica a la programacion de autómatas, asi que tengo la posibilidad de "meterles mano", he quedado con el para ver si somos capaces de hacer algo al respecto. Lo último que he hablado con él es que en vez de utilizar autómatas quiere usar tarjetas analógico-digitales controladas mediante PIC y que se pueden programar internamente mediante vb y con puerto RS232. Imágino que habrá que idear un protocolo sencillito para que responda el nodo correspondiente de cada tarjeta a las peticiones lanzadas desde el PC. Pero bueno eso será otra historia. De momento tengo "creada" (a saber como estará) una clase llamada cPiscina pero lo que no se es como monitorizar todas las piscinas. Estoy pensando en crear la aplicación con un timer que cada 5 o 10 minutos lance las tramas a todas las tarjetas y recoger una por una el dato de todas las respuestas. Estos datos uno por uno pasarselos a la propiedad corresondiente (ph, O2,Temp., Nivel) de cPiscina y que la clase compare y genere los eventos correspondientes. Esa es la idea lo que no se es como llevarla a cabo :-)))...de momento. Estoy dandole vueltas si crear un OCX que sean cuatro Label o Shapes intermitentes para cada tipo de alarma y generar la pantalla de monitorización con 100 componentes ¿como ven ustedes esta idea?

De nuevo gracias por sus contestaciones.
__________________
Vive de joven y muere de viejo.
Kasi.
Responder Con Cita
  #8 (permalink)  
Antiguo 06-05-2005, 05:40:44
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Si yo estuviera en tu caso trataría de diseñar una pantalla en modo gráfico con la situación de cada piscina, representando esta mediante un icono o un círculo relleno (pequeño) que puede cambiar en una gama de colores establecidos. Estos puntos bien podrían ser una matriz del OCX que construyas y que deben permitir entre sus propiedades ponerles las coordenadas posicionales dentro de las instalaciones.

Si lo haces sensible al ratón puedes generar los eventos necesarios para que, cuando pulses sobre uno determinado, te muestre en un formulario o panel aparte los valores referentes a los parámetros que estás controlando en cada momento.

Me parece que ésta es la forma más intuitiva de monitorizar el estado de todas las unidades que se están controlando y obener información detallada de cada una de ellas.

Lógicamente debes recurrir a un timer o cualquier otro mecanismo equivalente para que cada cierto tiempo lance las órdenes de lectura correspondientes y haga cambiar de color el nodo si existe alguna incidencia.

Al desconocer si los autómatas se pueden conectar todos a un único PC (Entiendo que cada piscina tendrá su hardware de control) me asalta la duda si el componente de control debe ser único y puede detectar la conexión-encendido de un nuevo nodo, ponerlo en una tabla y controlar cíclicamente todas las conexiones, o como he dicho en un principio, cada autómata equivale a un componente en tu aplicación.

Em cualquier caso me parece que depende en buena medida de como se comporte el hardware, las conexiones y los mnemotécnicos que éstos acepten y entiendan para que a la vez puedas controlarlos y obtener la información que de ellos necesites.

Espero haberme explicado más o menos.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #9 (permalink)  
Antiguo 06-05-2005, 06:33:54
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 440
MiguelS Valoración +2
Predeterminado

Si todavia no tienes decidido que automata usar , pueder considerar el suguinte : http://www.unitronics.com/index.htm
Responder Con Cita
Respuesta


Herramientas
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
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Codigo de Activacion para Aplicaciones VB tipo shareware roddney40 Visual Basic 6.00 2 20-06-2007 23:03:22
Como cambiar el foco entre aplicaciones Sigilo Visual Basic 6.00 1 10-01-2006 11:10:06
Puedo hacer este tipo de consulta? josegol sql 2000 2 09-09-2005 03:32:06
¿Como funciona un empaquetador de aplicaciones? Edgar T Empaquetador Default de Visual Basic 1 03-05-2005 19:16:26
¿Por qué se hacen cada vez más grandes las bases de Access? Alella Visual Basic 6.00 5 03-03-2005 11:14:14


La franja horaria es GMT. Ahora son las 08:21:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right