From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

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

Actualizar datos de un sub vi en el vi principal

Buenas tardes, estoy haciendo un programa que modela el comportamiento de un cilindro hidraulico de doble efecto y necesito reducirlo mediante sub VI's. Mi problema es que soy un poco novato en esto y no se como hacerlo, ya que tengo un while con shift registers dentro de un Case structure en el programa y cuando lo reduzco a sub VI no se me actualizan los datos en el VI principal.
He leido por ahi que se consigue mediante el uso de referencias y property nodes pero yo no he conseguido hacerlo y no se bien como se hace.
Seria alguien tan amable de echarme una mano? Muchas gracias

0 kudos
Mensaje 1 de 7
5.166 Vistas

Hola

 

Hechale una mirada a este tutorial http://www.ni.com/white-paper/7593/en/

 

Ponle especial atención a la parte del conector pane, que yo creo que es tu actual problema. 

 

Saludos

Felipe RC
Field Applications Engineer
National Instruments para Chile, Argentina, Perú, Bolivia, Paraguay y Uruguay




(Si mi respuesta te ayudo dale click a la estrella para el Kudos)
Mensaje 2 de 7
5.136 Vistas

A lo que se refiere nino_an es a  la posibilidad de modificar comoponentes del VI principal desde subVI's, esto se logra tal como decia el con "referencias y nodos de  propiedad".

 

Algunos Ejemplos ------> http://digital.ni.com/public.nsf/allkb/0F4EA104660C0AF38625726F0069B27E

                                        http://www.ni.com/example/28769/en/

 

 

El "conector Pane" solo nos muestra donde podemos configurar las  entradas y salidas de un SubVI  por lo que en esta parte no se solucionaria el problema. 



Ing. Jonathan E. Cruz Ortiz

ENERGÍA PROACTIVA S.A.S

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

Mensaje 3 de 7
5.107 Vistas

Jokelnice

 

Las buenas practicas de programación, indican que siempre hay que priorizar un cable antes que todo. Ya que el cable es más rapido en el traspaso de datos, lo cual optimiza tu codigo y por ejemplo los property node puede generar condiciones de carrera. Por lo que si puedes agregarle al subvi todas las entradas y salidas cableandolas directamente desde el conector pane, eso es lo mejor.  

 

Ante cualquier duda puedes comprobarlo tu mismo con el vi que adjunta JesusG en el enlace. 

 

http://forums.ni.com/t5/Discusiones-sobre-Productos-NI/Cuando-Usar-Property-node-value/m-p/1080899#M...

 

Saludos

Felipe RC
Field Applications Engineer
National Instruments para Chile, Argentina, Perú, Bolivia, Paraguay y Uruguay




(Si mi respuesta te ayudo dale click a la estrella para el Kudos)
Mensaje 4 de 7
5.089 Vistas

Hola Jokelnice y FelipeRC_Chile,

 

       Justamente hoy queria resolver un problema similar, queria llamar Sub VI's de configuración desde mi VI Principal, pero que el VI Principal no se dejara de ejecutar y que esa configuracion retornara valoes a mi lazo principal.

 

       La primera repuesta era llamarlo por referencia, pero me parecio poco elegante tener que llevar el codigo fuente (.vi) con los .exe, asi que se me ocurrio usar un lazo alterno para llamar los Sub VI de manera que el lazo principal no se detuviera y luego de su ejecución a través de un user event devolver el valor al lazo principal.

 

       ¿Les parece aceptable la idea o sugieren algo mejor?


Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 5 de 7
5.077 Vistas
Que tal Felipe varias cosas 

FelipeRC_Chile escribió:

Jokelnice

 

Las buenas practicas de programación, indican que siempre hay que priorizar un cable antes que todo. Ya que el cable es más rapido en el traspaso de datos, lo cual optimiza tu codigo


Esto es cierto....  pero en este caso no aplica porque lo que se quiere hacer es pasar datos desde un SUbVI a un VI principal, entonces la unica forma de hacerlo es con referencias y nodos de propiedad .

 


FelipeRC_Chile escribió:

 y por ejemplo los property node puede generar condiciones de carrera. 


Tecnicamente las propiedades que yo conozca que pueden causar condicion de carrera es la propiedad "Value" y la propiedad "Value (Signaling)"  que son las que transfieren datos .... y solo si se  utiliizan de una manera inapropiada ( en  Multitarea por ejemplo)  
 


FelipeRC_Chile escribió:

 

Por lo que si puedes agregarle al subvi todas las entradas y salidas cableandolas directamente desde el conector pane, eso es lo mejor.  


No aplica para este caso por lo que mencione anteriormente.


FelipeRC_Chile escribió:

 

Ante cualquier duda puedes comprobarlo tu mismo con el vi que adjunta JesusG en el enlace. 

 

http://forums.ni.com/t5/Discusiones-sobre-Productos-NI/Cuando-Usar-Property-node-value/m-p/1080899#M...

 


 Este es un muy buen ejemplo para todos los que quieran comenzar a trabajar con el tema de optimizacion de codigo.. (Recomendado)  

 

 Saludos y esperemos que esta comunidad continue creciendo para el beneficio de todos.



Ing. Jonathan E. Cruz Ortiz

ENERGÍA PROACTIVA S.A.S

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

0 kudos
Mensaje 6 de 7
5.070 Vistas

Luis_AM3C escribió:

 

 

       ¿Les parece aceptable la idea o sugieren algo mejor?


QUe tal LUIS

 

Crear Loops indipendientes que se comniquen entre si  mediante Queves, notifiers etc ..... y que hagan tareas especificas.. es una muy buena practica asi que yo lo haria de esa manera, 



Ing. Jonathan E. Cruz Ortiz

ENERGÍA PROACTIVA S.A.S

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

Mensaje 7 de 7
5.068 Vistas