Discusiones sobre Productos NI

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

Almacenamiento de datos en cRIO estilo caja negra

Hola buenas tardes,

 

Tengo un sistema de control y monitoreo usando un controlador cRIO-9024 y las tarjetas  de adquisición NI 9205 (una) y NI-9215 (dos) con las cuales se obtiene una capacidad para monitorear hasta 40 señales cuyas frecuencias de muestreo varían desde 14.28 KHz cuando se monitorean las 10 señales mínimas necesarias, hasta  2.5 KHz cuando se monitorean las 40. Cuando es requerida la visualización de estas señales se publican en variables compartidas y se visualizan en una PC independiente utilizando una IHM.

 

Sin embargo ahora se requiere que los datos se queden registrados en el disco duro de 4 Gb del cRIO desde que se encienda el sistema y permanezca así, cuando el disco duro empieze a saturarse los datos más viejos serán reemplazados de manera de conservar lo ocurrido en los ultimos momentos todo el tiempo, como una especie de caja negra,  para tal objeto he intentado utilizar las funciones de "write datalog" y "write to binary file" dentro del ciclo que envía los datos a las variables compartidas pero me empieza a generar retardos en el sistema y la memoria FIFO, en donde recibo los datos del FPGA, termina por saturarse y perder la continuidad de los datos.

 

Me pueden ayudar indicándome el método más apropiado para almacenar los datos en disco duro de manera continua o si existe una manera de realizar el almacenamiento directamente desde el FPGA.

 

Los datos son de tipo fixed point con signo, de tamaño de 25 bits con 5 bits de la parte entera.

 

De antemano muchas gracias.

Alberto

0 kudos
Mensaje 1 de 5
3.842 Vistas

Hola Alberto!

 

Sobre lo que nos preguntas lo que estás buscando hacer es relativamente sencillo. Debes de hacer toda la transferencia utilizando FTP. En este KB esta explicado como manejar esto de manera sencilla.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P8ZoSAK&l=en-US

 

Tu debes de direccionar tus archivos al disco duro interno de tu cRIO, sin embargo es muy similar a hacerlo a un USB. En esta KB sale un ejemplo relacionado sobre el como guardar archivos en una memoria USB conectada a tu cRIO.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P8ITSA0&l=en-US

 

También es importante saber cuánta capacidad le queda a tu Disco Duro interno. Esto se encuentra en el siguiente KB.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YHdDCAW&l=en-US

 

Finalmente, si existe la necesidad de expandir la memoria de tu aplicación, existe un módulo (9802) que sirve para eso. Tiene muy buena velocidad y es bastante escalable.

 

https://www.ni.com/en-us/support/model.ni-9802.html

 

 

 

Tratando un poco más el tema de el almacenamiento y depuración de archivos, se me ocurren varias posibles soluciones, la primera que se me ocurrió es, al guardar la información en archivos, hacer archivos cada tiempo determinado y calculando cuantos archivos cabrán en tu cRIO hacer que programáticamente cuando llegue a esa cantidad o un poco antes, cada que se cree un archivo nuevo que borre uno viejo.

 

Aquí agrego algunos links relacionados.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019NdwSAE&l=en-US

 

https://forums.ni.com/t5/NI-DAQmx-Examples/Continuously-Log-Data-to-a-TDMS-File/td-p/3503064

 

Existe una función para dejar el tamaño de tu TDMS fijo y conforme se vaya llenando se depure, sin embargo, esto  no está soportado en sistemas operativos de tiempo real, estaré investigando alguna cosa similar a esta que tenga se pueda implementar en RTOS.

 

Finalmente, si no quieres almacenar tus datos en archivos, se puede tener un arreglo circular en el que tengas un tamaño fijo y almacenes una cantidad de datos fija que al almacenar uno extra se borre el más antiguo.

 

Aquí hay un ejemplo de un arreglo circular que hace lo que te acabo de comentar.

 

https://forums.ni.com/t5/Example-Code/Circular-Array/ta-p/3508166

 

Saludos,

 

Éxito en tu aplicación!

Luis Elias
NI VeriStand and HIL Product Manager
0 kudos
Mensaje 2 de 5
3.828 Vistas

Hola que tal tengo una duda... quiero adquirir datos de un sensor y guardar en la memoria de la tarjeta FPGA pero no utilizo una computadora como host me podrian explicar como podría hacer...???

0 kudos
Mensaje 3 de 5
3.416 Vistas

hola buen dia...

resulta que deceo guardar imagenes tomadas desde una interfaz de labview en una memoria usb conectada en un crio 9014. 

cuando abro el ni max measurement & automation explorer, para verificar que efectivamente puedo comunicarme con la memoria, este no la detecta y  no puedo accederla para guardar los archivos, no se si sea problema de algun controlado..

anexo imagen de NI MAX tengo conectada una memoria en el pc y una en el crio y ninguna las identifica

0 kudos
Mensaje 4 de 5
3.039 Vistas

Hola anjusa07

 

Este foro es de tiempo atras y tiene poca actividad. Te recomiendo crear un nuevo foro de discusión con tu pregunta de soporte. 

Saludos.

Omar R.
Technical Support Manager
CLA | CTD
0 kudos
Mensaje 5 de 5
3.030 Vistas