Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Puertos COM como parámetros de VI

¡Resuelto!
Ir a solución
Hola a todos en el foro !!
 
Tengo una aplicación que se comunica con un equipo vía serial... pero la tengo que hacer configurable para que pueda utilizar cualquier puerto serial existente en la PC donde se va a ejecutar la aplicación que se entregará como .EXE mediante el ApplicationBuilder.
 
Ya he visto cómo se escribe y lee de archivos de configuración mediante los VIs que aparecen en la paleta: File I/O >> Configuration File VIs
 
El "problema" es ¿cómo escribo a archivo en disco el nombre del puerto COM que selecciono en mi utilería de configuración de mi aplicación para que de ahí la aplicación principal pueda leer ese dato y abrir el puerto y comenzar la comunicación serial ?
 
En resúmen quiero poder iniciar comunicaciones con un equipo serial en un puerto COM cualquiera (de los que la PC tenga disponibles) el cual va a ser determinado por un archivo de configuración de la aplicación... o sea poder darle el puerto como un parámetro
 
No sé si me expliqué bien, si alguien puede opinar se agradecerán sus comentarios.
 
Ah, estoy utilizando LabView 7.1 en Windows XP SP2
 
Saludos nuevamente a todos en el foro.
0 kudos
Mensaje 1 de 6
4.947 Vistas

Hola  MKES:

 

Gracias por utilizar los foros de National Instruments.

 

Te anexo unos ejemplos que ya había puesto en un foro anterior con el cual puedes detectar cuales son los puertos com con los cuales puedes trabajar y cómo el valor te lo da en string entonces ya puedes meterlo al key del configuration file.

 

Saludos

 

 

Carlos Pazos

Senior Product Marketing Manager

National Instruments
Descargar todos
Mensaje 2 de 6
4.944 Vistas

Muchas gracias cpazos !!

Tengo que decirte que ya había visto ese mensaje donde ponías esos mismos ejemplos, de hecho lo busqué pero no lo encontré  Emoticono loco  ... ordinariamente "navego" en los foros, leo los mensajes que otros usuarios publican e incluso contesto algunos (cuando puedo aportar algo al foro  Emoticono muy feliz  ). Muchas veces veo las preguntas y las respuestas que otros usuarios sugieren, algunas hasta las pruebo yo mismo para aprender de las experiencias de otros... por eso digo que ese foro ya lo había visto pero no lo encontré nuevamente ahora que lo necesitaba  Emoticono sacando la lengua

El principal "problema" que tenía era la "conversión" de el nombre del puerto a seleccionar utilizando Type cast, no estoy muy familiarizado con esa función por eso no vino a mi mente cuando buscaba cómo hacer dicha conversión.

Nuevamente gracias por la respuesta... te comento que lo que quiero hacer es que la primera vez que se ejecute mi aplicación en la máquina destino, un VI de inicialización haga las preguntas sobre qué puerto de comunicación se quiere utilizar en base a los disponibles en la PC y cree un archivo de configuración. Si la aplicación se cierra (o se reinicia la PC por cualquier razón) y luego vuelve a ejecutarse, primero se verifique si existe el archivo de configuración creado la primera vez y en base a esa información se inicien las comunicaciones con el equipo serial en forma automática sin necesidad de preguntar nuevamente al usuario qué puerto de comunicación se quiere emplear. Todos esos otros puntos ya los tengo resueltos, sólo tenía el problema con la conversión del nombre del puerto al puerto de I/O mismo, pero con esta función se resuelve ese punto.  Emoticono feliz

Saludos a todos !!

Manuel

0 kudos
Mensaje 3 de 6
4.936 Vistas
Que pasó al final con este tema? porque a mi me interesa hacer lo de que cuando se apague el ordenador, al arrancar se ejecute el programa, eso por un parte y por otra que se cargue con los ultimos datos por donde iba o lo que es lo mismo el archivo de configuración.
www.elblogroboticodepedro.tk
0 kudos
Mensaje 4 de 6
4.457 Vistas

Hola weeberp

 

Para hacer esto debes crear un ejecutable y no solo anexarlo a la carpeta de startup, sino también agregarlo como servicio de Windows. Te anexo unas ligas que explican cómo hacer esto para distintos sistemas operativos.

 

http://zone.ni.com/reference/en-XX/help/371361E-01/lvhowto/building_a_stand_alone_app/

 

http://digital.ni.com/public.nsf/websearch/21BA0F671A63A60386256CB4004DF99B?OpenDocument

 

http://zone.ni.com/devzone/cda/tut/p/id/3185

 Saludos
Carlos Pazos

Senior Product Marketing Manager

National Instruments
0 kudos
Mensaje 5 de 6
4.452 Vistas
Solución
Aceptado por el autor del tema MKES

Regreso a este foro sólo para publicar un VI que es el que ahora uso para detectar los puertos seriales presentes en una PC donde esté corriendo nuestro VI.

 

Me parece que es una solución más "elegante" que la que se había mencionado antes... por aquello de que el número de puerto con el que aparece un puerto serie en administrador de dispositivos no es el mismo que el que daba la herramienta que estaba mencionada.

 

Este nuevo VI se toma un poco de tiempo en detectar los puertos serie disponibles en la PC pero como sólo necesita ejecutarse una vez, no creo que sea mucho problema los 10-20 segs que he visto que tarda en un par de máquinas para determinar los puertos disponibles. Pregunta por los probables 256 (0-255) puertos serie que pudieran existir teóricamente en una máquina y para aquellos que no devuelvan un error en la propiedad "Intf Inst name", detecta a partir del resultado de esta misma propiedad el número de puerto serie que corresponde.

 

Adjunto también la detección que se obtiene en mi máquina y los puertos serie que el administrador de dispositivos de Windows para que vean los resultados, el COM2 que no aparece bajo la lista del grupo "Puertos COM & LPT" es el módem como lo muestra la otra ventana que aparece en la imágen que adjunto.

 

Pongo este VI desarrollado en LV7.1 porque sé que a más de uno le va a servir dado el tema del foro donde yo mismo participé hace tiempo.

 

Saludos a todos y si a alguien le sirve... (se aceptan Kudos en pago... Guiño  )

 

Descargar todos
0 kudos
Mensaje 6 de 6
4.191 Vistas