Como acceder al puerto serie comm1 con apis

49 views
Skip to first unread message

alekiune

unread,
Jun 6, 2008, 11:45:11 PM6/6/08
to VisualBasic 6.0
Hola a todos, estoy haciendo un proyecto donde necesito acceder al
puerto comm lo mas rapido posible.
Ahora estoy accediendo con el mscom, el problema que tengo es que
tarda mucho tiempo en terminar de leer un dato de 5 cifras, por
ejemplo 1,123.
Tengo entendido que hay una api para hacer lo mismo, pero no la
encuentro, alguien sabe de esta api y como se usa?
Espero haber sido claro, desde ya muchas gracias por la ayuda.
Alejandro

Luis Steve Martínez

unread,
Jun 8, 2008, 11:47:58 PM6/8/08
to VisualB...@googlegroups.com
Hola:
Cuanto es mucho tiempo para ti.. considera 9600 bps es algo de 960 caracteres/seg o menos

yo he trabajado con el mscomm algunas veces; te puedo decir que trabaje sin ese problema que mencionas... tal vez sea por la velocidad de transferencia que has elegido o porque el dispositivo que envia los datos lo hace a una cadencia mas pausada.

Considera que ese dispositivo serial es antiguo y puede ser abierto con las operaciones de archivos open "com1:9600,..." y manipulado con input, operaciones soportadas por VB6



El día 6/06/08, alekiune <alejand...@gmail.com> escribió:



--


Luis Martínez Ulloa

alekiune

unread,
Jun 11, 2008, 9:53:32 PM6/11/08
to VisualBasic 6.0
Hola Luis, gracias por responder:
Te cuento mas o menos cual es la problematica de este proyecto.
Tengo que ver el estado en que se encuentran 120 maquinas inyectoras
de plastico, compre una plaqueta que me hace de interfaz entre las
maquinas y la PC, esta plaqueta se conecta a la pc por el puerto
serie, la velocidad de tranferencia es de 57600 baudios, el problema
es que tengo conectadas apenas 15 y estoy teniendo errores en la
lectura porque tardo mucho en leer el puerto com1, necesito un poco
mas de velocidad para, por lo menos el doble para poder leer
correctamente las maquinas.
Es evidente que no voy a poder leer todas las maquinas con el mismo
puerto, asi que habia pensado comprar plaquetas con el com aparte, asi
le aumento el numero de puertos y accedo a estos de forma
independiente.

Desde ya gracias por tu ayuda.
Alejandro

On 9 jun, 00:47, "Luis Steve Martínez" <lsmarti...@gmail.com> wrote:
> Hola:
> Cuanto es mucho tiempo para ti.. considera 9600 bps es algo de 960
> caracteres/seg o menos
>
> yo he trabajado con el mscomm algunas veces; te puedo decir que trabaje sin
> ese problema que mencionas... tal vez sea por la velocidad de transferencia
> que has elegido o porque el dispositivo que envia los datos lo hace a una
> cadencia mas pausada.
>
> Considera que ese dispositivo serial es antiguo y puede ser abierto con las
> operaciones de archivos open "com1:9600,..." y manipulado con input,
> operaciones soportadas por VB6
>
> El día 6/06/08, alekiune <alejandrom8...@gmail.com> escribió:

Luis Steve Martínez

unread,
Jun 12, 2008, 9:25:45 AM6/12/08
to VisualB...@googlegroups.com
Hola Alejandro:
tal vez te sonarán conocidas estas palabras: scada, profibus, modbus? te recomiendo leer sobre el tema.

El problema parece ser mas de diseño.
Creo que si conectas las maquinas en grupos a mas de una tarjeta, y luego conectas cada tarjeta a la pc (a puertos seriales fisicos o mediante usb) podrias acceder en paralelo a estos equipos y poder obtener mas de 56kbps que hablando en terminos de hoy en dia es realmente poco. De paso mencionar que el puerto serial ya es todo un veterano casi retirado del negocio (yo lo conozco algo de 20 años) y dedicado a tareas mas simples y ligeras.
Otra cosaa a tomar en cuenta es que de tantos equipos a controlar, me parece como que la latencia no es tan critica, esto es, no necesariamente ver en tiempo real lo que esta pasando, por lo que puede establecerse un periodo mayor entre lectura por cada equipo; la lectura en tiempo real por lo general es para mantener un control vivo sobre el equipo y cuando no, es para supervisar el estado.

Cambia tus exigencias sobre el tiempo de lectura y la velocidad con que esperas tus datos, yo creo que puede servir para lo que estas desarrollando. Suerte.
--


Luis Martínez Ulloa

Betto

unread,
Jun 13, 2008, 4:13:38 PM6/13/08
to VisualB...@googlegroups.com
Hola..!
Yo te recomiendo que crees un bus de datos I2C y cres un protocolo de comunicacion muy sencillo en VB para leer la informacion que te envian las maquinas y podras leer el puerto a gran velocidad.
 
En el siguiente link, podras encontrar informacion que te podria ayuadar a aclara el tema.
 
Yo hice un desarro para un control de acceso con tarjetas inteligentes y las leo a traves de este bus y me funciona muy bien.  La electronica pra este desarrollo es muy elemental.
 
Espero que te sirva de algo esta informacion..
 


 
El día 11 de junio de 2008 20:53, alekiune <alejand...@gmail.com> escribió:



--
Beto
benav...@gmail.com

alekiune

unread,
Jun 14, 2008, 12:01:01 PM6/14/08
to VisualBasic 6.0
Gracias Luis otra vez.
Sabia que el com es un puerto betusto, pero por desgracia compre un
adquisidor remoto que trae ese puerto y el 485, la idea es conectar el
adquisidor remoto a la pc y hacer funcionar todo el sistema como un
plc.
El trabajo consiste en tomar los tiempos que las maquinas hacen los
cortes de mangas y de ahi medir el tiempo de produccion y el de
reposo, tambien me aconsejaron usar el puerto paralelo para medir los
tiempos mas cortos y el serie para las maquinas mas lentas.
Otra opcion es usar un microcontrolador pic, para medir estos tiempo,
y usar el vb para las cuentas administrativas.
gracias por tus datos
Un saludo
Alejandro

On 12 jun, 10:25, "Luis Steve Martínez" <lsmarti...@gmail.com> wrote:
> Hola Alejandro:
> tal vez te sonarán conocidas estas palabras: scada, profibus, modbus? te
> recomiendo leer sobre el tema.
>
> El problema parece ser mas de diseño.
> Creo que si conectas las maquinas en grupos a mas de una tarjeta, y luego
> conectas cada tarjeta a la pc (a puertos seriales fisicos o mediante usb)
> podrias acceder en paralelo a estos equipos y poder obtener mas de 56kbps
> que hablando en terminos de hoy en dia es realmente poco. De paso mencionar
> que el puerto serial ya es todo un veterano casi retirado del negocio (yo lo
> conozco algo de 20 años) y dedicado a tareas mas simples y ligeras.
> Otra cosaa a tomar en cuenta es que de tantos equipos a controlar, me parece
> como que la latencia no es tan critica, esto es, no necesariamente ver en
> tiempo real lo que esta pasando, por lo que puede establecerse un periodo
> mayor entre lectura por cada equipo; la lectura en tiempo real por lo
> general es para mantener un control vivo sobre el equipo y cuando no, es
> para supervisar el estado.
>
> Cambia tus exigencias sobre el tiempo de lectura y la velocidad con que
> esperas tus datos, yo creo que puede servir para lo que estas desarrollando.
> Suerte.
>
> El día 11 de junio de 2008 20:53, alekiune <alejandrom8...@gmail.com>
> Luis Martínez Ulloa- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -
Reply all
Reply to author
Forward
0 new messages