1 of 1 people found this helpful
It's tough to say what's an appropriate span and zero for a tag as it depends on the data that is being collected by that tag. In general your Span should be the difference between the maximum and minimum values (thus it's always positive) you expect to collect for the tag. The span value is used in a few places:
- Span is used when defining a Compression Deviation Percent and Exception Deviation Percent, in which the ExceptionDevPercent is multiplied by the Span to get the Exception Deviation Value (likewise with Compression)
- If you're using Float16 point types (which I strongly recommend against and recommend using Float32 or Float64), it helps to define the scaling used.
- It's used when defining the scale on trends in Processbook - although they can be changed independently of the span if need be.
So again, it's hard to say what an appropriate value is as a blanket statement in the sense of a single number, but rather the OSI's recommendation would be to set the Span value to be the difference between the max and min values expected for the tag. Hope this helps when setting these values for your tags.
Many Thanks for your explanation. Referring to your comment in bullet point 2 - why would you recommend Float32 or Float64 instead?
2 of 2 people found this helpful
For a few reasons, the first being precision. As defined by the IEEE 754 standard, Float32 is precise to ~7 digits and Float64 is precise to ~16 digits whereas Float16 is closer to ~3 digits of accuracy. So if you need accuracy on your tags of more then 3 digits (and most of our users do) this should be a big red flag to not use this data type.
Secondly, for the reason mentioned above it defines the scaling used on Float16 tags, which is incorrectly defined can lead to data loss which you can read more about in KB00472.
Third, at this point in technology, permanent storage (HDD and SDD) is so cheap that it doesn't make sense to risk data loss or to lose in precision in your data in order to reduce the space consumed by a tag by using a Float16 instead of Float32.