Amitai,
Hopefully I can clear up some of these points for you... For those of you who wish to read along, this is in regards to the whitepaper Logging Data with National Instruments Citadel
Q. Can Ghost points resolve this issue ? How can I create Ghostpoints ?
-Ghost points are automatically made by the database. They are held in the file specified in the whitepaper "Citadel stores ghost points in a .tgpffile that updates once every ten
seconds. This file ensures that Citadel has an accurate record of the
value for every trace at the time of a system failure." Also, "When Citadel detects a value change on a given input, ghost points are converted to real points." This tells us that until there is a value change that is outside the deadband limits, Citadel is storing these points, but not plotting them until a large enough value change happens. If you do not want to see 'No Data', then you should go to your variable properties and set an initial value. This will automatically take the initial value, and when it read an actual value, will update your logged point.
Q. Can the issue be resolved in MAX without setting the deadband & resolution to zero ?
-No. Do not set deadband and resolution to zero if you are concerned about database size, especially with 1000 variables. I do not think there is much of an 'issue' here, it is just how the datalogger works. If your colleague looks at the citadel data viewer and sees a point not changing, he can expect the value to be within the last read point's deadband, which would appear to be a constant value. The 'no data' should not show up once you log a point, best way to do this is to have an initial value. Once that happens, you will have a constant line until it receives another value outside your deadband.
Q. Do you think that under the requirement of monitoring Variables (through Citadel) that do not change frequently,
planning
a Citadel healthy Database might not be so practical since it requires
small deadband values and that leads us to a large rate of storage?
-'Healthy Citadel Database' has different meanings depending on situations based on what your required deadband needs to be and your storage size. In an ideal world, we would be able to log every single point at every defined, finite value of time. This would obviously take up enormous space, that is why we have deadbands. Base your deadband on your situation As mentioned before, once you log a value your viewer will update, and stay at that value until another value is read outside of deadband limits. If it then takes hours to get outside of that deadband, it will just look as if it was updating but not changing values at all.
Q. I
understand that Citadel assigns a default time group to the trace that
updates at about five times a second (if no hardware is associated
with the variable), can I change this setting? (to each variable?)
-I don't recall how to change the property for time group for variables, but I wouldn't worry too much about this. If you are logging data of type 'Double' it will default to the analog time group, while Booleans will obviously be logged as discrete points. The graph updates the view about four times a second, but your data can be logged much faster. If you have a variable that changes quickly, like a random number generator in a while loop with no wait, your graph will show many more points than a 4Hz sample rate would suggest.
Q. How does Citadel treat logically to the Update deadband, deadband Resolution and Percentage deadband?
Q. Does Citadel log the data if the value change was in the intersection of all three?
or unification ? (does the Update deadband affects the logging conditions at all?)
Not sure what you mean by this. Update deadband will trump logging deadband, since the Update Deadband deals with how the Shared variable Engine actually sends the data to subscribers. You will never detect a 1% change in the variable to log it if your update deadband is at 2% and not allowing the SVE to update.
Hopefully this helps clear some things up for you. Feel free to ask if you need some more clarification, but it sounds like you are just having problems using Citadel as a real-time graph, which is not it's primary goal. Not sure why you are seeing 'No Data' but I would suggest adding an initial value in the variable properties, and that should go away.
Rob K
Measurements Mechanical Engineer (C-Series, USB X-Series)
National Instruments
CompactRIO Developers Guide
CompactRIO Out of the Box Video