LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

¿es posible definir el tiempo de grabación de una variable en CITADEL?

Hola,

 

Alguien sabe como controlar el tiempo de grabación de variables en la base de datos CITADEL.

Mi idea es que por ejemplo todas las variables se guarden en la base de datos cada, pongamos, 1 minuto, con independencia de su variación o no.

 

Por más que he buscado no veo modo de poder controlar este intervalo de tiempo, parece ser que graba en función de como varía la variable.

Gracias

Miguel

0 Kudos
Message 1 of 5
(2,695 Views)

Hola Miguel,

 

        Hasta donde yo se la base de datos CITADEL esta optimizada para grabar datos, y una de las maneras es que grabe cuando la variable varia en un determinado %. Si quisieras asegurarte de grabar cada 1 seg tendrías que decir que grabe con un deadband de 0% y que seas tu mismo quien de alguna manera mande a escribir el nuevo valor cada 1 seg.

 

         Pero imaginando que esa solución no es la que buscas por complicarte el proceso de almacenaje de datos y perder parte de las optimizaciones de la base de datos, te pregunto: ¿Para que quieres grabar cada 1 seg?. En mi caso yo almaceno mi data y cuando la leo le aplico una interpolación de cada 1 seg para luego graficarla, eso no te sirve?

 

Saludos Cordiales,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 Kudos
Message 2 of 5
(2,694 Views)

Hola Luis,

Muchas gracias por la contestación.

 

Suelo aplicar este tipo de programas para la monitorización de variables de instalaciones fotovoltaicas. Me gustaría que todas las variables se registraran con similares (muy próximos) periodos de tiempo, no cada segundo, ya que daría un tamaño demasiado elevado de la base de datos, pero sí por ejemplo cada minuto.

 

De momento lo que esoty haciendo es lo que indicas, esto es, a la hora de extraer los datos de la base Citadel, indicarle el periodo de interpolación deseado.

 

En cualquier caso mi inquietud viene del hecho de no tener el control total sobre el modo de definir el tiempo de grabación, ya que obviamente un deadband del 0% no resulta viable y por otro lado no se puede preveer como varían las diferentes variables.

De hecho lo que me está sorprendiendo son los numerosos GAPS (faltas de datos en largos periodos (a veces varias horas)) que aleatoriamente se presentan en algunas variables. Bien es verdad que el sistema tiene más de 800 canales de medida provinientes de diversas fuentes: SCXI y OPCs de diferentes equipos. En tiempo real no se detecta ningún problema en ninguna variable.

 

En reumen, lo que me pregunto es si al igual que en otros Scadas, por ejemplo se puede simplemente decir "quiero que me guardes todas las variables cada dos minutos".

 

Otro tema interesante sería la posibilidad de decir "quiero que me midas todas las variables cada seguno y guardes los valores promedio cada minuto o cada 10 minutos". De este modo creo que se optimizaría notablemente el tamaño de la base de datos. Soy consciente que todo esto se puede programar, pero sería lógico que el sistema Citadel y "distributed system manager" lo permitiesen. De hecho lo que tengo es un sistema alternativo de creación de ficheros de datos diarios con este esquema de trabajo. Para nuestro tipo de aplicaciones sería de "sentido común".

 

Gracias

Miguel

0 Kudos
Message 3 of 5
(2,690 Views)

Hola Miguel,

 

       De la manera como yo lo entiendo la base de datos CITADEL lo que hace es que si escribes un valor se almacena, luego si varia un poco (mayor al deadband) solo guarda la variación, y sino varía nada (menor al deadband) no guarda nada, y de esta manera lograr hacer su trabajo de una manera optima, ahorrando espacio en disco.

 

       Entonces esos espacios sin data que llamas GAPS (no conozco exactamente que significa el termino), se pueden interpretar como que la variable no ha cambiado de valor o como que no se ha escrito en dicha variable, diferenciar una situación de la otra puede ser un poco confuso, pero se que existen otros tipos de elementos que se guardan en la base de datos que se llaman databreaks que indican algo como que se interrumpio la data en ese punto.

 

       A mi manera de verlo, haciendo la lectura de los puntos reales grabados en la base de datos (sin interpolación), con un deadband adecuado a las variaciones que quieres medir, vas a tener todos los puntos de interes que necesitas, si no encuentras data en un intervalo simplemente buscas el ultimo valor previo al intervalo que fue escrito y asumes que no ha variado, y si tienes varios puntos sobre ellos haces el promedio.

 

      Una prueba que se me ocurre: usando Measurement & Automation intenta ver la gráfica de una variable sobre un intervalo donde tengas uno de esos GAPS y dime si tienes o no curva.


Saludos Cordiales,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 Kudos
Message 4 of 5
(2,685 Views)

Hola Miguel,

 

Para las nuevas versiones de LabVIEW DSC (versiones posteriores a 8.0) no es posible establecer una frecuencia fija de escritura, sino que se basa en el deadband que se establece, para almacenar solo las variaciones relevantes de la variable. Esto evita almacenar múltiples valores consecutivos de igual valor y optimiza el espacio ocupado en Citadel.

 

Si a pesar de eso quieres almacenar un valor cada 1 minuto, tienes tres opciones:

 

1.- Si estas utilizando un Servidor OPC, una opción es establecer una updaterate en las variables de este servidor y un deadband de 0% en las variables de DSC. De esta manera controlarás la tasa de escritura a través del servidor OPC

 

2.- Otra opción es hacer la escritura programáticamente a través de VI “Write Trace” de la paleta DSC y controlar la frecuencia de escritura a través de un bucle software.

 

3.- La última opción es crearte un segundo grupo de variables que hagan la escritura a Citadel y marcar un deadband del 0%. Por otro lado, en un bucle software que itere al updaterate deseado, escribes de las variables originales (que no escriben a Citadel) a estas nuevas variables, copia de las primeras.

 

Un saludo.

0 Kudos
Message 5 of 5
(2,675 Views)