Discusiones sobre Productos NI

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

Enviar datos a Base de Datos Online

Hola a Todos!!

 

Estoy trabajando con una aplicación LVRT que incluye monitoreo de varias señales (mínimo 32) que tienen que ser enviadas a una base de datos Oracle con un  SQL server.

 

La base de datos va a estar ubicada en un hosting  y la cRIO en campo abierto, ésta tendrá conexión a internet para enviar los datos hacia la DB.

 

Actualmente he estado desarrollando la aplicación en un host computer (que no debería estar en la aplicación final) y ya tengo la parte de conexión a base de datos,los queries para la creación de tablas,llenar las tablas, busqueda y selección de datos de manera remota.

 

El problema es que al pasar el VI del host Computer en el proyecto hacia la parte del cRIO, los VIs del DataBase CT me marcan error.

He estado leyendo un poco al respecto y por lo que he investigado marcan este error debido a los complementos ActiveX (windows). La aplicación originalmente debería ir embebida dentro del cRIO, es decir la cRIO estaría adquiriendo los datos y enviandolos directamente hacia el hosting por internet.

 

Agradecería mucho su ayuda para saber si es posible realizar esto, de ser posible quisiera saber que toolkit me recomiendan usar o de que forma puedo manejar la base de datos internamente dentro del cRIO.

 

btw: He estado usando el toolkit SQLite pero actualmente no se como referenciar los VIs de este toolkit para hacer la conexión remota a mi hosting.

 

Saludos 

 

Karla

 

0 kudos
Mensaje 1 de 8
4.269 Vistas

Hola,

 

Correcto, la razon por la cual estos VIs no funcionan en su cRIO es por que el sistema operativo de tiempo real de este dispositivo no soporta componentes de Activex.

Mi recomendacion es enviar estos datos directo a un host computer y manejar la conexion a la base de datos desde ahi, asi puedes guardar los datos en el disco duro de la cRIO y enviarlos periodicamente para 

mantener el determinismo en tu aplicacion.

 

Saludos,


Miguel Fonseca

Ingeniero de aplicaciones

National Instruments

0 kudos
Mensaje 2 de 8
4.247 Vistas

Hola Miguel 

 

Gracias por tu respuesta, pero para nuestra aplicación necesitamos que la cRIO esté sola a campo abierto es decir, no podríamos colocar una computadora ahí.

 

Como te comenté en el mensaje anterior la parte de enviar los datos al hosting en internet ya la tenemos desarrollada por el host computer pero la cRIO va a estar en un ambiente donde habrá polvo, altas temperaturas, humedad, etc... Por esta misma razón ya tenemos el gabinete donde irá conectada la cRIO y será alimentada por baterias, entonces no puede haber una computadora ahi.

 

Yo opino que si la cRIO tiene varias utilizades y es un sistema que puede correr en RT y manejar FPGAs debería poder hacer una conexión a una base de datos, te comento que no necesito almacenar ni procesar la información de la base de datos, simplemente requiero enviar los datos tal cual los estoy adquiriendo hacia mi servidor.

 

 

Saludos

 

Karla

 

0 kudos
Mensaje 3 de 8
4.238 Vistas

Hola Karla,

Creo que Miguel se esta refiriendo a usar Network/Share variables entre el cRio y tu host PC.

Tendrias que desarrollar una pequenha aplicacion que lea las variable del cRio y actualize la base de datos.

 

Suerte,

 

Cristian

0 kudos
Mensaje 4 de 8
4.233 Vistas

Hola Karla,

 

Gracias por la explicacion. Si este es el caso entonces tines 2 opciones. Si ocupas enviar los datos de manera rápida y constante entonces puedes usar network streams.

Si solo ocupas enviar los datos una vez cada hora entonces puedes guardar los datos en el disco duro de la cRIO y puedes utilizar los VIs de FTP para mover estos datos al servidor.

 

Saludos

 

Miguel

0 kudos
Mensaje 5 de 8
4.232 Vistas

Hola Miguel

 

Para las opciones que me comentas tengo que tener instalado LabVIEW en la computadora host?  

De ser así no podré usar esas alternativas ya que rentaremos un servicio de hosteo de DB es decir nuestro servidor estará ubicado en otra ciudad y solo será para almacenar datos en una Base de Datos de Oracle. No tendrá ningun otro software instalado ya que así disponemos del servicio por nuestro proveedor.

 

Karla

0 kudos
Mensaje 6 de 8
4.213 Vistas

Hola Karla,

 

En este caso lo que puedes hacer es guardar tus datos en la cRIO en formato ".txt" o ".csv" y luego subirlos al servidor. De esta manera no necesitas una instancia de LabVIEW corriendo en el servidor.

Solo ten cuidado de borrar el el archivo de la cRIO ya que despues de unos dias te puedes quedar sin memoria para guardar mas datos.

 

Saludos

0 kudos
Mensaje 7 de 8
4.197 Vistas

Hola, tengo un problema similar  a tu respuesta,  no se como almacenar datos  en un disco duro conectado a la cRIO.

 

Tendrás algún VI de ejemplo?

 

Hice un proyecto que se ejecuta en el cRIO pero lo controlo con mi PC, este mide el torque  con un sensor y el modulo NI-9237 utilice la programacion en Real Time (DAQmx)  y obtengo la señal pero cuando quiero guardar los datos de la señal (agregandole al progrma el  "Write to measurement file")   a mi PC  no logro hacerlo y se cierra la aplicacion.

alguna sugerencia?

0 kudos
Mensaje 8 de 8
2.607 Vistas