Power Builder - Comunicación con el puerto serial

   
Vista:

Comunicación con el puerto serial

Publicado por Ita (1 intervención) el 23/02/2010 15:22:07
Buenas a todos.

Soy nueva usando Power Builder y me gustaría contar con su ayuda. Me encargaron
una aplicación para obtener los datos de un lector de código de barras de puerto
serial. Investigué y la única forma que encontré de comunicar con el puerto fue
a través del mscomm32.ocx. Ya lo descargué y lo registré, e incluso bajé una
aplicación de ejemplo; sin embargo, en esta última, cuando trato de usar el
puerto, me sale el siguiente mensaje de error:

http://i279.photobucket.com/albums/kk157/akane_kinomoto/Mensaje1.jpg

Que hace referencia a esta línea de código:

if ole_com.object.PortOpen then ole_com.object.PortOpen = false

Probé borrar el objeto que traía e insertar uno nuevo, pero al hacerlo, me sale
este otro mensaje:

http://i279.photobucket.com/albums/kk157/akane_kinomoto/Mensaje2.jpg

Ya he preguntado y probado varias cosas (inclusive registrar una nueva clave en
el regedit), pero me sigue saliendo lo mismo. Y me gustaría que me orientaran
sobre si existe algún otro modo de conectar con el puerto o qué podría hacer
para corregir esto, por favor.

Estoy trabajando en Power Builder 9 en Windows XP, por si sirve de algo, y el
ejemplo que descargué fue este:

http://powerbuilder.iespana.es/ejemplospb/EJ_puerto_serie.zip

De antemano, muchas gracias a todos por su atención y por su tiempo.

Correo: akane_blog@yahoo.com.mx
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antonio

RE:Comunicación con el puerto serial

Publicado por Antonio (1114 intervenciones) el 12/03/2010 06:16:04
Hola ita:

ya registraste el ocx por el msdos con el comando REGSVR32?

1.- LO DEBES HACER MANUALMENTE
2.- EN CASO CONTRARIO DEBES REGISTRARLO POR CODIGO CON PB

Saludos desde México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicación con el puerto serial

Publicado por Ita (7 intervenciones) el 12/03/2010 15:16:21
Hola Antonio

Muchas gracias por responderme. Y en cuanto a lo que me sugieres, intenté las dos cosas, pero ninguna funcionó.

De todos modos, sólo quiero aclarar que ya me ayudaron en otro foro (pregunté en varios sitios), dándome una solución aparte del objeto mscomm32.

Gracias por tu atención.

Ita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicación con el puerto serial

Publicado por Osmary Adrienne (1 intervención) el 26/05/2011 15:28:30
Buenas, tengo el mismo problema, por favor podrias linkearme al foro en donde te ayudaron con el tema?

Gracias-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicación con el puerto serial

Publicado por carlos (1 intervención) el 22/09/2012 00:26:17
me puedes dar la solución que encontraste...?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicación con el puerto serial

Publicado por caelos (3 intervenciones) el 11/03/2016 10:02:56
Me puedes pasar la solución que encontraste para leer el puerto seria con PB
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo

Comunicación con el puerto serial

Publicado por Adolfo (70 intervenciones) el 12/03/2016 16:27:03
Adjunto un proyecto con el componente MsComm32.ocx y como registrarlo para ambiente de desarrollo(si solo utilizas RegSrv lo estas registrar para uso solamente).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Comunicación con el puerto serial

Publicado por carlos (3 intervenciones) el 18/04/2016 02:35:56
Muchas gracias Adolfo, ya lo agregue al proyecto en PB y lo implemente me funciono muy bien, solo cambios a nivel de parámetros. Pero me funciono muy bien, Muchas gracias nuevamente.

Saludos...!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comunicación con el puerto serial

Publicado por jhon jhon_junior17@hotmail.com (3 intervenciones) el 20/07/2016 02:56:49
hola Carlos, cuando le doy conectar me aparece el mensaje 'Conectar' en st_status_com, pero no me muestra el valor obtenido por el puerto serial
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comunicación con el puerto serial

Publicado por carlos (3 intervenciones) el 20/07/2016 16:42:07
1.- Debes validar que el dispositivo que este instalado al puerto COM, este transmitiendo ben los datos. Para esto debes trabajar con el Hiperterminal y que efectivamente se vean los datos como indica el procedimiento RS-232.


2.- Posteriormente debes registrar bien el archivo mscomm32, pendiente con el Windows con el que estas trabajando.

3.- Validar que En PB, validar que estas creando bien el control OLE.

4.- En la aplicación, en el evento clicked del botón cd_conectar, depurar que el objecto ole_com se le asignan bien los valores:

1
2
3
4
5
6
7
8
ole_com.object.CommPort	= ddlb_puertos.puerto()
ole_com.object.Settings		= sle_settings.text
ole_com.object.Handshaking   = li_control_flujo
ole_com.object.NullDiscard 	= True
ole_com.object.RThreshold 	= gs_RThreshold
ole_com.object.InputLen 	        = ole_com.object.RThreshold
ole_com.object.RTSEnable 	= True
ole_com.object.PortOpen 	        = True

NOTA:
.- Cuando se asigna el valos a RThreshold, se levanta OnComm, esta es la longitud total de la cadena de datos incluyendo CF + LF
.- Con esta longitud de caracteres se puede jugar, es decir, dependiendo del dispositivo que conectado, la longitud varia, por lo que yo me fijo en el valor que se muestra en el hyperterminal y voy ajustándolo hasta que obtengo el valor deseado.
.- como puedes ver yo parametrice los valores de: Handshaking y gs_RThreshold


5.- Por ultimo hacer seguimiento al valor leído y chequear que se esta colocando en el objecto donde se quiere mostrar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comunicación con el puerto serial

Publicado por JHON jhon_junior17@hotmail.com (3 intervenciones) el 20/07/2016 06:52:13
hola Adolfo, cuando le doy conectar me aparece el mensaje 'Conectar' en st_status_com, pero no me muestra el valor obtenido por el puerto serial en el control en el listbox . Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo

Comunicación con el puerto serial

Publicado por Adolfo (70 intervenciones) el 21/07/2016 15:22:20
Hola Jhon:
Primero que nada debes de estar absolutamente seguro de que tu dispositivo este transmitiendo datos y segundo debes conocer los parametros de comunicación, el proyecto que subí esta a: 9600 paridad ninguna, 8 bits de datos y 1 bit de parada. No todos los dispositivos trasmiten a 9600,n,8,1 ni tampoco lo estan haciendo siempre hay algunos que les debes de mandar un comando para que transmita: como las basculas de escritorio. El proyecto que subí esta ajustado para que el evento onComm del objecto ole_com se dispare cada que se reciba 1 byte, OJO yo se que mi dispositivo envía un CR+LF cada que envía un registo de datos por eso entonces proceso el dato cada vez que recibo el caracter numero 10 que corresponde al LF.

Como ves lo mas importante es que te documentes sobre el dispositivo que deseas leer de otra forma será imposible que tengas lectura.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar