el 05-10-2011 02:19 PM
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!
¡Resuelto! Ir a solución.
el 05-10-2011 06:09 PM
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
el 05-11-2011 11:11 AM
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,
el 05-11-2011 02:01 PM
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!
el 06-01-2011 09:26 AM
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!
el 06-06-2011 02:19 AM
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
el 06-06-2011 10:25 AM
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.