Discusiones sobre Productos NI

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

Ejecutar automaticamente .vi en la fpga y el host de la tarjeta

¡Resuelto!
Ir a solución

Buenos días,

 

tengo un proyecto el cual esta formado por 3 .vi diferentes,

 

Uno esta alojado en el computer

Otro esta alojado en el host de mi sb-RIO

Y el último esta dentro de la FPGA de la targeta.

 

 

Tengo comunicados estos vi de la siguiente manera:

Entre el .vi de la fpga y el .vi de la targeta utilizo las herramientas de FPGA interface.

Entre el .vi del host de la tarjeta y el .vi del computer establezco una comunicacion TCP.

 

 

Mi pregunta es la siguiente:

 

¿Como es posible que ejecutando solamente el .vi del computer se pongan a funcionar automaticamente el del host y el de la fpga?

 

Hasta ahora hago lo siguiente: primero ejecuto el de la fpga, luego el del host y luego el del computer, pero mis ideas futuras es hacer un ejecutable del .vi del computer y para ello cuando este se pone en ejecucion tiene que poner interna y automaticamente en ejecucion los otros dos .vi

 

 

 

Espero sus respuestas.

 

Muchas gracias.

0 kudos
Mensaje 1 de 6
2.986 Vistas
Solución
Aceptado por el autor del tema cristina.lopez

Para entender como funciona todo el tema de los dispositivos RT, FPGA y demás te recomiendo buscar información y considerar tomar los diferentes cursos que NI ofrece, entre ellos los Cursos de RT, los cursos relacionados con FPGA y en especial el curso "Embedded control and monitoring (ECM)" que trata sobre estos temas.  Aun así voy a tratar de resumirte cual seria el procedimiento para que puedas hacer lo que tienes pensado, comenzando desde el nivel mas bajo:

 

1.  Cuando programas la FPGA tienes que tener en cuenta que esta programando Hardware entonces para que funciones de una manera adecuada, básicamente tienes que pensar en un ciclo infinito de trabajo (un hardware tiene que funcionar todo el tiempo, la única forma de parar su ejecución es cuando se apagan los equipos) teniendo en  cuenta esto tienes que programar un ciclo infinito como regla básica (ciclo while con la terminal de paso en False como constante, por ejemplo) , luego de compilar surgirá la pregunta de como hacer para arrancar la FPGA , alli es donde entra el HOST RT.

 

2. Cuando programas el host RT tienes que tener en cuenta que es el el RTOS quien controla la ejecución de la FPGA por lo tanto NO tienes que abrir la FPGA  y correr el VI,  para controlar la ejecución de la FPGA básicamente tienes que abrir una referencia hacia la FPGA (vi compilado) y luego arrancar la  FPGA mediante métodos (metodo RUN)

FPGA.png

de esta manera inicializaras la FPGA y como esta se encuentra en un ciclo Infinito aseguraras que siempre este funcionando.

Para controlar la ejecución del HOST RT, tampoco tienes que entrar al HOST RT y correr el programa; para que no tengas que hacer esto lo que tienes que  crear una "Real time Aplication " tal como se hace con las aplicaciones típicas de LabVIEW  sino que ahora sera una aplicación que se ejecutara dentro del RTOS, una vez creada la aplicación  tienes que seleccionar la opción " SET AS STARTUP" (click derecho sobre la aplicación)  de esta manera tu aplicación arrancara automáticamente cada vez que prendas el dispositivo y no tendrás que entrar y correr el programa.

 

3. Cuando programes el HOST en tu computador simplemente tienes que asegurar una comunicación con el HOST RT eso se realiza mediante "Shared Variables" por ejemplo , de esta manera tu aplicación sera controlada por el HOST en tu computador, el RTOS arrancara automáticamente y por consiguiente la FPGA también.

 



Ing. Jonathan E. Cruz Ortiz

ENERGÍA PROACTIVA S.A.S

Cel : (+57) 3173669343 - (+57) 3124451894

Mensaje 2 de 6
2.947 Vistas

Muchisimas gracias, me faltaba el invoke con el Run, la explicación es clara y se entiende muy bien.

Hice los cursos de Real Time y de FPGA de labview, pero a veces explican las cosas de manera muy complicada, agradezco mucho tu explicación, me ha servido de mucho.

 

En cuanto a la comunicación entre el Computer y el Host lo he hecho a través del protocolo TCP.

 

Gracias de nuevo. Un saludo.

 

 

Cristina. 

0 kudos
Mensaje 3 de 6
2.935 Vistas

                            

0 kudos
Mensaje 4 de 6
2.932 Vistas

Y una duda mas, como tienes el switch del stop del while para que te permita poner variable local del mismo?

Con el mechanical action por defecto a mi no me deja.

 

Gracias, un saludo.

0 kudos
Mensaje 5 de 6
2.931 Vistas

Primero hice la comunicaicon entre el Host y la FPGA, y comprobe que efectivamente, no era necesario correr el programa de la FPGA.

 

Sin embargo, despues de crear la RT application, no es posible correr solo el .vi del computer y que me inicialice automaticamente el RT host, estoy utilizando una comunicacion TCP y necesito correr el cliente y el servidor.

 

¿como puedo hacer que el cliente (en este caso el RT host) se inicialice solo sin tenerlo que hacer yo?

 

en la RT application, si haces click derecho te da la option de run startup, puede ser necesario con eso?

0 kudos
Mensaje 6 de 6
2.926 Vistas