From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
el 01-11-2007 06:36 AM
el 01-11-2007 05:38 PM
Hola Juanete para hacer el bucle de control la estructura que mas te conviene es el uso de una maquina de estados (viene un témplate en los témplates de LabVIEW y puedes encontrar mas info aquí http://zone.ni.com/devzone/cda/tut/p/id/3024) ya que es una arquitectura secuencial y escalable. En esta puedes agregar estados si después te es necesario.
Para escribir al puerto puedes usar la parte de VISA, nada mas es necesario que conozcas los comandos que vas a enviar y las respuestas que estas esperando. Para llamar al software propio de tu aparato necesitarías saber si tiene una interfase active X para poder trabajar con el o estarlo llamado desde líneas de comando para que trabaje. espero que esto te sirva de ayuda.
Saludos
el 01-11-2007 08:27 PM
el 01-16-2007 10:28 AM
Hola,
hay una libreria gratuita para Modbus serie o ethernet descargable del siguiente link:
http://zone.ni.com/devzone/cda/epd/p/id/4756
Para el uso de distintas ventanas o abrir subvis a traves de los eventos de un raton, puedes emplear como referencia el ejemplo que viene con LabVIEW en Find Examples llamado Dialog Box Demo.vi
Un saludo,
el 01-17-2007 10:30 AM
el 10-02-2008 06:56 PM
Hola he estado tratando de escribir en un puerto serie pero mi problema no es tan sencillo, lo que pasa es lo siguiente:
Primero que nada por medio de una comunicacion modbus adquiri los datos de un medidor de voltajes trifasicos y estos datos obtenidos los mostre en un VI de labview, hasta ahi todo iba a la perfeccion, pero ahora resulta que este dato debo enviarlo por el puerto serial de labview a otro puerto serie que se encuentra configurado dentro de otro programa, para esto tengo un cable db9-db9 female de ambos lados cruzado, lo que hago para mandar el dato es enviar el dato por el puerto COM3 y en mi otro programa configuro mi puerto COM1 pero sin embargo no logra llegar nada.
Anexo mi programa . AYUUUUUUUDAAAAAAAA ya estoy en el desespere.
el 10-03-2008 04:54 PM
Lo primero que se me ocurre es sacar al VISA Configure Serial Port del bucle y ponerlo antes de éste: de otra manera cada vez que se ejecuta el bucle se intenta abrir un puerto que ya està abierto; otra cosa muy importante es poner un Simple error handler al final del bucle para ser avisados si ha habido un error.
De paso te comento que no entiendo porqué pasar del cluster Modbus command a un arreglo de un elemento para después pasarlo a un for loop para estraer el elemento original...
el 10-03-2008 05:19 PM
el 10-07-2008 11:53 AM
Hola,
Lo primero que debes tener claro, es en que formato estas viendo la data. Las trasmisiones por el puerto serial se hacen byte a byte, y un byte no son mas que 8 bits. Si lo visualizas en formato decimal un byte es un numero entero que puede tener un valor de 0 a 255, si lo visualizas en formato hexadecimal ese mismo byte obtiene valores entre 0x00 y 0xFF (el 0x es para indicar que estoy hablando de un número hexadecimal), y de igual forma si lo visualizas como ascii obtienes el caracter ascii correspondiente http://www.asciitable.com/. De esta forma es igual enviar el caracter 'A' o el número hexadecimal '0x41' o el número decimal '65', ya que en cualquiera de esos casos se transmiten los mismos 8 bits '01000001' .
Desde LabVIEW dependiendo de tu aplicación puedes escribir un string (conjunto de caracteres ascii) y escribirlos al puerto, si seleccionas al string la opción de Hex Display entonces debes ingresar cadenas de caracteres correspondientes a numeros hexadecimales, o también puedes tomar un arreglo de bytes (U8) y usar el convertidor byte array to string.
Por otra parte debes conocer como interpreta tu programa receptor las cadenas de datos que le envias, ya que el numero 300 lo puedes representar como los 3 caracteres ascii '3' '0' y '0' (en hexadecimal es 0x333030), o pudieses verlo como una variable formada por dos bytes 0x012C (si utilizas la calculadora de windows en vista cientifica, e ingresas 300 en decimal, al cambiar a hexadecimal te muestra este numero, complete con un 0 a la izquierda porque un byte son dos digitos hexadecimales).
Espero que esto te ayude a poder buscar donde puede estar tu problema.
Saludos.