Discusiones sobre Productos NI

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

experto en vi server

¡Resuelto!
Ir a solución

Hola.

 

Estoy teniendo problemas con el vi server para controlar un ejecutable en un PC remoto.

 

Una vez solventado el asunto de los puertos, obtengo el error 1032 y el exported vis in memory sale vacio.

 

A ver si hay algun experto que pueda postear un ejemplo en el que incluya el fichero ini e instrucciones concretas para que funcione, ya que en los foros esta todo muy diseminado y en ocasiones la informacion es contradictoria o corresponde a versiones de Labview anticuadas.

 

Muchas gracias.

 

Saludos.

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 1 de 6
3.665 Vistas

Hola,

 

a mi no me ha aparecido ese error, así que no te puedo comentar mucho sobre él. Pero te cuento cómo yo he comunicado dos VIs remotos a través de VI Server.

  1. En la máquina 192.168.1.37 he creado un VI llamado prueba.vi con una aplicación de ejemplo. Lo he guardado en el escritorio.
  2. He abierto el puerto 3363 en el router. No tengo firewall activados.
  3. En la máquina 192.168.1.37, en LabVIEW, en Tools > Options > VI Server > Machine access he permitido el acceso a las máquinas de "192.168.1.*".
  4. En la máquina 192.168.1.37 he dejado el LabVIEW abierto, el VI prueba.vi no es necesario.
  5. En la máquina 192.168.1.40 he creado cliente.vi. Este programa muestra una captura de pantalla de prueba.vi que está en la otra máquina. He especificado la dirección IP y la ruta absoluta de prueba.vi.

Con esto he podido recibir una imagen del panel frontal del programa en el otro ordenador. Lo he probado con LV 2010 y me ha funcionado. Revisa el punto 3 a ver si por un despiste se te ha olvidado. Espero que esto pueda ayudarte.

 

Saludos.

Descargar todos
Mensaje 2 de 6
3.659 Vistas

Muchas gracias.

 

Probare a ver como va. Lo que me genera dudas es que yo lo hare con ejecutables y labview runtime en maquinas sin el entorno de desarrollo.

 

Pero en teoria, debe fucnionar sin problemas.

Posteare con los resultados.

 

Saludos

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 3 de 6
3.655 Vistas
Solución
Aceptado por el autor del tema alipio

Hola otra vez. Para los ejecutables cambia un poco la cosa. Como no tienes VI Server ejecutándose hay que configurarlo en el fichero ini.

 

A partir de los ejemplos de este hilo http://forums.ni.com/t5/LabVIEW/VI-server-in-executable/td-p/701334 he creado un ejecutable de prueba.vi y en el fichero ini he añadido esto:

 

server.tcp.enabled=True
server.tcp.access="+*"
server.tcp.port=3364
server.tcp.acl="290000000A000000010000001D00000003000000010000002A10000000030000000000010000000000"
server.vi.access="+*"
server.vi.callsEnabled=True
server.vi.propertiesEnabled=True

 

Después de modificar el ini he reiniciado el programa. Quizás la clave esté en server.vi.access, que es para dar acceso a todos los vis, si no hay acceso me devuelve el error 1032.

 

En cliente.vi he cambiado el puerto al 3364 y en la ruta he puesto "C:\Documents and Settings\rafa\Escritorio\Application.exe\prueba.vi".

Mensaje 4 de 6
3.649 Vistas

Muchas gracias.

 

El lunes lo probare.

Esto del fichero ini es algo que no tenia claro, pero parece que ahora funcionara.

Ya te dire lo que obtengo.

 

Saludos

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 5 de 6
3.641 Vistas

Hola.
 
Una vez lograda la comunicacion siguiendo las instrucciones de jrafa  , para los interesados en el uso del Vi Server recomiendo el excelente ejemplo de   aqui
 
 
 
 
Contenido para el fichero ini de la aplicacion remota
 
 
server.tcp.enabled=True
server.tcp.access="+*"
server.tcp.port=3364      

 

server.tcp.acl="290000000A000000010000001D00000003000000010000002A10000000030000000000010000000000"
server.vi.access="+*"
server.vi.callsEnabled=True
server.vi.propertiesEnabled=True
server.tcp.serviceName="pepe"
 
# se puede usar el nombre del servicio en lugar del puerto en el open application reference.
# En ese caso, se usara el servicio con el tcp.port especificado. Se puede poner 0 en tcp.port para que el SO asigne un  puerto dinamico.
 
# Esto se puede configurar desde el proyecto, con click derecho sobre My computer, seleccionado vi server y configurandolo.

# Al compilar la aplicación, se genera el .ini adecuado.

 

 

Saludos.

Alipio

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 6 de 6
3.620 Vistas