pub struct DetailQual {
pub bad_reference: bool,
pub failure: bool,
pub inaccurate: bool,
pub inconsistent: bool,
pub old_data: bool,
pub oscillatory: bool,
pub out_of_range: bool,
pub overflow: bool,
}
Expand description
Describes some reasons in case ‘validity’ is not ‘good’.
Fields§
§bad_reference: bool
(default=false) If true, the value may not be a correct value due to a reference being out of calibration. The server shall decide if validity shall be set to invalid or questionable (used for measurand information and binary counter information only).
failure: bool
(default=false) If true, a supervision function has detected an internal or external failure.
inaccurate: bool
(default=false) If true, the value does not meet the stated accuracy of the source. EXAMPLE The measured value of power factor may be noisy (inaccurate) when the current is very small.
inconsistent: bool
(default=false) If true, an evaluation function has detected an inconsistency.
old_data: bool
(default=false) If true, an update is not made during a specific time interval. The value may be an old value that may have changed in the meantime. This specific time interval may be defined by an allowed-age attribute. NOTE “Fail silent” errors, where the equipment stops sending data, will cause setting this flag to true. In this case, the last received information was correct.
oscillatory: bool
(default=false) To prevent overloading of event driven communication channels, it is desirable to detect and suppress oscillating (fast changing) binary inputs. If a signal changes in a defined time (tosc) twice in the same direction (from 0 to 1 or from 1 to 0), then it shall be defined as an oscillation and this attribute shall be set to true. If a configured number of transient changes is detected, they shall be suppressed. In this time, the ‘Quality.validity’ shall be set to ‘questionable’. If the signal is still in the oscillating state after the defined number of changes, the value shall be left in the state it was in when this flag was set. In this case, the ‘Quality validity’ shall be changed from ‘questionable’ to ‘invalid’ and kept so as long as the signal is oscillating. If the configuration is such that all transient changes should be suppressed, the ‘Quality.validity’ shall be set immediately to ‘invalid’ and this flag to true (used for status information only).
out_of_range: bool
(default=false) If true, the attribute to which the quality has been associated is beyond a predefined range of values. The server shall decide if validity shall be set to invalid or questionable (used for measurand information only). EXAMPLE A measured value may exceed a predefined range, however the selected data type can still represent the value, for example the data type is a 16-bit unsigned integer, the predefined range is 0 to 40 000, if the value is between 40 001 and 65 535 it is considered to be out of range.
overflow: bool
(default=false) If true, the value of the attribute to which the quality has been associated is beyond the capability of being represented properly (used for measurand information only). EXAMPLE A measured value may exceed the range that may be represented by the selected data type, for example the data type is a 16-bit unsigned integer and the value exceeds 65 535.
Trait Implementations§
Source§impl Clone for DetailQual
impl Clone for DetailQual
Source§fn clone(&self) -> DetailQual
fn clone(&self) -> DetailQual
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DetailQual
impl Debug for DetailQual
Source§impl Default for DetailQual
impl Default for DetailQual
Source§fn default() -> DetailQual
fn default() -> DetailQual
Source§impl Message for DetailQual
impl Message for DetailQual
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.