Discusiones sobre Productos NI

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

problemas con System Exec VI

¡Resuelto!
Ir a solución

Lo ideal seria El CASO A: decir una accion cerrar el programa y realizar la accion en la interfaz de labview segun lo que se ha dicho. Para eso tendre que medir el tiempo ya que no veo lo que el sistema a reconocido hasta cerrar el cmd.

0 kudos
Mensaje 11 de 29
1.096 Vistas

A que te refiers con "medir el tiempo" ?

Sí, eso es lo que pasa, que no se ve lo que ha reconocido hasta cerrar el cmd. 

 

En tal caso entonces, sería usar System Exec VI en un bucle while que segun vaya reconociendo vaya a una estructura case. Tienes que hacer un subVI que realize la función de extraer la palabra reconocida por el HVite.exe que se encunetra entre SENT-START y SENT-END.

0 kudos
Mensaje 12 de 29
1.094 Vistas

He implementado un VI que hace lo que he mencionado en el post anterior.

0 kudos
Mensaje 13 de 29
1.085 Vistas

Con medir el tiempo me refiero a que como tendre que decir la accion a ciegas sin ver cuando me lo reconoce pues que tendre que calcularlo y ponerle un tiempo para que se cierre el cmd, porque sino puede ser que el sistema escuche algo mas y realize otro reconocimiento.

 

Muy bien me pondre a trabajar en el subVI, por cierto muchas gracias por el ejemplo de extraer el texto que me interesa, agradezco tu esfuerzo! Ademas se entiende muy bien lo que has hecho muy bien explicado.

 

0 kudos
Mensaje 14 de 29
1.081 Vistas

Hola! Ya casi he acabado el programa, gracias al subvi que me pasaste, me ha servido mucho.

Para acabarlo me falta una cosa, quiero que una vez haya reconocido una accion, el sistema cierre la linea de comandos, es decir, cuando entre en el case de esa accion, quiero poner algo para que una vez entre en el case se cierre automaticamente la linea de comandos. Es eso posible?

0 kudos
Mensaje 15 de 29
1.051 Vistas

Se suponia que si usas cmd /c "......." , al poner el /c se cierra al ejecutar el comando. Pero supongo que eso depende del tipo de ejecutable que usas. 

 

Espero que te ayude este documento.

Aqui parece indicar lo que tu necesitas.

Si no, la primera respuesta de este hilo del foro  parece ser lo que necesitas. 

0 kudos
Mensaje 16 de 29
1.036 Vistas

Si supongo que no se cierra poniendo cmd/c porque el ejecutable no es instantaneo, es decir, el ejecutable inicia el proceso y el sistema sigue escuchando hasta que cierro el cmd.

He leido los links que me recomendaste y insistire mas a ver si consigo que funcionen tanto  FindWindow() como  DestroyWindow().

Mirando los otros links se me ocurrio usar el comando exit, ya que este comando cierra el cmd. Lo probe en el system exec VI y se cierra, pero, el problema es el siguiente: el System Exec VI que yo quiero que se cierre tan pronto como detecte una accion ya tiene un comando como entrada en el command line, lo que yo he intentado ha sido poner un string con el comando exit dentro del case con las acciones a reconocer, para que una vez reconozca una accion este comando se ejecute. Pero LabView no me deja ponerle dos entradas al mismo System Exec VI el cable no se conecta. Intento conectar el string con el comando dentro del case con el command line del System Exec Vi prrincipal pero no se puede.

Es una forma muy simple de solucionar mi problema, pero yo no lo consigo conectar, tu crees que es posible lograrlo con el comando exit? 

0 kudos
Mensaje 17 de 29
1.021 Vistas
Pero LabView no me deja ponerle dos entradas al mismo System Exec VI el cable no se conecta. Intento conectar el string con el comando dentro del case con el command line del System Exec Vi prrincipal pero no se puede.

Es una forma muy simple de solucionar mi problema, pero yo no lo consigo conectar, tu crees que es posible lograrlo con el comando exit? 


No entiendo eso de poner 2 entradas al mismo System Exec VI. Puedes enseñarmelo con una captura ? Para ello no hace falta que la pongas en un Word como la otra vez. Simplemente una vez que tienes la captura, subela al foro.

 

Mientras tu programa Hvite.exe está funcionando, te deja escribir el comando "exit" en el cmd y se cierra ?

0 kudos
Mensaje 18 de 29
1.015 Vistas

No, mientras HVite.exe se esta ejecutando no puedo escribir nada en el cmd solo se cierra clicando en la X. 

 

He subido la captura; en ella puedes ver que hay distintos system exec Vi. El programa es lineal, es decir, Primero se ejecuta el primer System Exec Vi y entramos al primer case, ahi se ejecuta el siguiente system exec Vi y vamos al suguiente case... como puedes ver en el case de abajo a la izquierda hay un string con el comando exit, y yo lo que quiero es poder aplicarle este comando al primer system exec vi para que se cierre y asi dejar que el programa continue. Pero como se puede apreciar en la imagen, no me deja ponerle dos entradas al mismo system exec Vi, no se conectan los cables.

0 kudos
Mensaje 19 de 29
1.012 Vistas

No, mientras HVite.exe se esta ejecutando no puedo escribir nada en el cmd solo se cierra clicando en la X. 


Por eso lo pregunté. Porque si ya no puedes escribir nada, lo de escribir "exit" no es la solución. Me da que lo único que se puede hacer es usando las funciones de la API de windows en LabVIEW como se enseña en el 3º link unos post anteriores. (usando DestroyWindow() )

0 kudos
Mensaje 20 de 29
1.010 Vistas