el 12-21-2010 03:56 PM
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
el 12-22-2010 12:36 PM - fecha de última edición 02-19-2024 04:59 PM por migration-bot
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!
el 05-28-2014 05:04 PM
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...???
el 08-22-2016 09:38 AM
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
el 08-23-2016 09:23 AM
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.