The text of section 7.1 states that
"Sometimes, both dchg and dupd are specified as a possible trigger option for the DataAttribute. In that case, the concrete implementation shall select one of them, based on the purpose of the data object typed by that common data class. Trigger option dchg shall be used for DataAttribute where a change of the value is necessary to create an event, whereas trigger option dupd shall be used for DataAttribute where an update of the value (with or without change) is enough to create an event."
This is the case of cVal attribute of CMV class, for which two trigger options are defined in Table 30: dchg and dupd. But the Description column of Table 31 says that cVal is driven only by data change: "Complex value based on a deadband calculation from the instantaneous
value 'instCVal.mag'. The deadband calculation is done both on
'instCVal.mag' (based on 'db') and on 'instCVal.ang' (based on 'dbAng'), independently."
What shall be then the description of cVal for the alternative trigger option dupd?
a) Some implementation specific cycle of setting 'cVal.mag'='instCVal.mag' while 'db'=0 (and same for ang) ?
b) Or is the situation of data update with setting 'cVal.mag'='instCVal.mag' and 'cVal.ang'='instCVal.ang' predicted ONLY for cVal attributes in SDOs of WYE, DEL and SEQ classes, when in case of data change in one SDO, the attributes of other SDOs are updated to keep the same timestamp values as required in 7.4.6, 7.4.7, 7.4.8 ?
Please assure consistency and clarity in the description.
27 Oct 20
The explanation in Table 31 only tells us how that complex value is calculated. I do not see why that would prevent us from using dupd. But as explained in the previous comment, dupd would be mainly used for statistic calculations
24 Sep 20
dupd is typically used for measured values that are calculated vs dchg is typically used for measured values that are measured.
typical calculation are statistical and historical data.
7-3 edition 2.1 has clarified in the vector definition (clause 6.7):
"This type shall be used to represent a coherent complex value (phasor) with magnitude and angle acquired or determined simultaneously."
if cVal.mag.f has been actualized due to db, then cVal.ang.f as to be actualized as well to maintain the coherent complex value.
if cVal.ang.f has been actualized due to dbAng, then cVal.mag.f as to be actualized as well to maintain the coherent complex value.
The actualization of one of the component due to a dead band calculation results in the actualization of all other components and a restart of the dead band caulculation for all components.
The value db = 0 results that cVal.mag = instVal.mag - same for ang.
db = 0 shall be used carefully, for measured value that does not change rapidely, otherwise you get a lot of report / log.
db = 0, trgOps = dupt, is usefull in statistical environement an ClcMethod = Min, ClcPeriod = 3600s, were you want to be informed every hour of the min calculation output and not interested in additional db suppression.