LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Change logging rate for Citadel Databse

Hi,
 
Is there a way to set the logging rate of the Citadel Database. It is my understanding that by default it logs a new data point every time the shared variable value changes, however I would like to log multiple points regardless of if the value changes or not, because:
 
I am trying to display the trace on an XY graph, but if the value of the trace has not changed in the time span I specify I get a blank plot, whereas I would like a constant line. If there is another way to achieve this other than writing the value to the databse multiple times for the same value it might be better (limit database size), although this isn't a huge issue, so whichever is the quickest/easiest fix.
 
Thanks,
 
Taylor
0 Kudos
Message 1 of 8
(3,873 Views)

Taylor,

The best way to force the Citadel database to log a point regardless of value change is to set the deadband for your shared variable to zero percent. The deadband determines how often the database is updated (if the shared variable value changes by at least the threshold percentage of the deadband it logs the data to the database, otherwise it does not). To set the deadband:

  1. Go into the properties dialog for your shard variable (right-click on the shared variable in your project explorer)
  2. Select the "Logging" Category in the properties dialog box
  3. Set the Value Deadband(%) to 0% (it defaults to 1% of the range, which the default range is 0-100)
  4. Now run your application again and all the data points should be recorded to the database

Let me know if this points you in the right direction, or if you have any further questions regarding this issue. Thanks!

Cheers,

Jonah
Applications Engineer
National Instruments  

Jonah Paul
Marketing Manager, NI Software
0 Kudos
Message 2 of 8
(3,861 Views)

Thanks Jonah,

I'll do that. The only issue is that I have selected "make properties match selection" in the bind to source window which makes the data type "single." I think with single data types there is no option for resolution or value deadband in the logging section which is why I couldn't find it before. As far as I know changing the data type to double won't cause any problems with the rest of the program so I'll go ahead and do that.

Thanks again for the help,

Taylor

0 Kudos
Message 3 of 8
(3,858 Views)
One more thing,
 
I have to do the same for some boolean variables, which do not have a deadband. Is there another way to deal with those data types specifically?
 
Thanks,
 
Taylor
0 Kudos
Message 4 of 8
(3,854 Views)

Taylor,

I was able to verify that for other datatypes (I verified for a boolean), that the citadel database does collect every point that is written without setting deadband values. For instance (see the attached VI), I tried writing a boolean value every second and then reading the size of the database contents. I observed that the database size did increase every second with the new value written, even if it is the same value.

I hope this answers your question!

Cheers,

Jonah
Applications Engineer
National Instruments

Jonah Paul
Marketing Manager, NI Software
0 Kudos
Message 5 of 8
(3,841 Views)

Hi Jonah,

Thats great, thanks for the help,

Taylor

0 Kudos
Message 6 of 8
(3,834 Views)

I have a similar problem than Taylor, but I adquire the data through "Bind to Source" option in "shared variable properties" window. I'm using LabVIEW DSC 8.5.1. I'm polling 400 data points every 3 seconds with KepServer. If I configure deadband of all shared variables, I will have 400 data every 3 seconds, that's right?. Is there a way to log every 1 hour or when a value change happens? I remember that in DSC 7.x I can configure this in Tag Editor.

 

0 Kudos
Message 7 of 8
(3,774 Views)
Hi Juliodiaz,

The default setting in the shared variable logging options for the Value Deadband is 1%. This means that values that change within 1% of the previous logged value will be logged. In other words, this is your value change setting. As far as logging every 1 hour, the only way to do that is to make your I/O server update every hour. The downside to that is that will not be able to even monitor any data except once an hour.
Eli S.
National Instruments
Applications Engineer
0 Kudos
Message 8 of 8
(3,760 Views)