Discusiones sobre Productos NI

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

Detener simultanamente dos ciclos while

¡Resuelto!
Ir a solución

Hola foro! Estoy trabajando un VI que contiene dos ciclos while paralelos. He visto que mientras los ciclos trabajan no hay forma de que compartan, admitan o transmitan datos a lo que se encuentra fuera de cada uno. La cuestión es que debo detenerlos con un solo botón de paro, pero como no hay forma de compartir datos no he podido realizarlo. Intenté ingresar una variable global, pero vi que tampoco se pueden comunicar. ¿Ustedes que opinan? 

 

¡Saludos a todos!

0 kudos
Mensaje 1 de 7
7.038 Vistas

Hola D'art

 

La manera más sencilla de hacer esto es con una variable local, de hecho aquí hay un ejemplo: http://digital.ni.com/public.nsf/allkb/267704CDE91156D186256F6D00711AAE?OpenDocument . Si por alguna razón esto no te funciona puedes poner tu código.

 

Juan Gil

NI México

Mensaje 2 de 7
7.034 Vistas
Solución
Aceptado por EHuitR

Estimado  d´Artagnan,

 

      No se si sea la mejor forma, pero si estas usando dentro de tus ciclos un Event Structure, puedes crear un User Event, lo generas en el primer ciclo al presionar el Stop y al ejecutarse el evento en el segundo ciclo lo mandes a parar. Adicionalmente a través del User Event puedes mandar cualquier información que desees entre los dos ciclos.

 

Saludos Cordiales,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
Mensaje 3 de 7
7.026 Vistas

Hola Juan, Hola Luis!

 

Gracias por sus cometarios, no habia contemplado lo de las variables locales, almenos ya pude mandar booleanos y doubles al segundo ciclo; pero en el caso de los botones como 'ok' y 'stop', me indica que la función latch es incompatible con las variables locales. Necesisto afuerzas un latch, porque de otra forma tendría que cambiar mi booleano al reiniciar mi programa. Pero de todas formas, con el event structure ya quedó.

 

Muchas gracias a ambos!

 

 

0 kudos
Mensaje 4 de 7
7.017 Vistas

Buenas!

Yo hace tiempo tube problemas parecidos, y lo solucione también con variables locales, el stop es verdad que cuando haces una variable local de ese botón te salta ese error, pues para solucionarlo solo tienes que cambiar la accion mecanica y asi podras ponerlo como variable local.

SUERTE!

0 kudos
Mensaje 5 de 7
6.960 Vistas

buena noches

el problema que tengo es el siguiente tengo que hacer un control de posición de un proceso, hacer una base de datos en labview por serial hasta hay todo va bien , ahora necesito tomar esa base de datos y enviarla a otro pc por modbus pero no se como tomar esa base de datos para poderla enviarla si alguien pudiera enviarme alguna ayuda de verdad estaría muy agradecida.

que pasen buen día y gracias por su atención 

0 kudos
Mensaje 6 de 7
6.858 Vistas

Hola Isabel!

 

En LabVIEW existen dos formas de aplicar el protocolo modbus. La mas sencillas es mediante la descarga de la biblioteca modbus que podras encontrar en este vinculo:

 

http://zone.ni.com/devzone/cda/epd/p/id/4756

 

Se trata de un conjunto de VI`s que tu configuras para poder inicializar la transmisión, emitir y recibir, y cerrar las comunicaiones en un maestro y esclavos. La descargas de la página y la instalas segun las indicaiones de la misma. A su vez contiene los ejemplos, example master y example slave, con comunicaciòn serie o ethernet segùn lo que tu quieras emplear. Oficialmente no està garantizada por NI, pero a mi me ha funcionado muy bien. Segùn tu problema, te sugiero que verifiques particularmente el uso del VI Holding Register. 

 

La segunda forma es empleando Datalogging and Supervisory Control Module, que es un mòdulo especializado en comunicaiones, debido a un ploblema que tengo en mi PC no lo he podido implementar pero en es este vinculo http://forums.ni.com/t5/Discusiones-sobre-Productos-NI/Uso-del-protocolo-Modbus-con-DSC/td-p/1520450 se encuentra la ayuda que el Ing. Benjamin C me proporcionò, con ella seguramente podras emplearlo.

 

Finalmente te recomiendo que la publicaciòn de tu pregunta la realices en un nuevo mensaje o en alguno que ya lleve un estudio del tema, puesto que en este de Ciclos while que ya fue resuelto, es dificil que alguien lo encuentre.

 

Saludos y mucho exito en tu aplicaciòn.

 

Erick A. Huitrón.

 

0 kudos
Mensaje 7 de 7
6.852 Vistas