Part 7-3: clause 6.2.8 states that:
"Validity and source have a prioritized relation. If source is in the “process” state, then validity shall determine the quality of the origin value. If source is in the “substitute” state, then validity shall be overruled by the definition of the substituted value."
It is not clear, if the statement is in server perspective or client perspective.
Please clarify, it is the responsibility of the server to clear the invalid quality when the substitution is applied locally? For example, a breaker position is substituted from local display and before the substitution the quality is Invalid.
What is GOOSE client behavior, when the received quality is q.substituted + q.invalid? GOOSE client shall treat it as Valid or Invalid?
Normal applications will just look onto q.validity, irregardless how q.source (process, substituted) is set. If a receiver handles q.substituted in a special way is then an application issue. In this case mostly the receiver application will also be responsible to perform substitution.
15 Feb 18
It is NOT the responsibility of the server to set the quality, but of the entity (operator?) making the substitution to also set the subQ attribute as wanted/needed. The serve, at substitution, just takes the subVal and subQ values instead of process supplied values... This should be clear from the definition of both attributes and 7.3 clause 8,description of attribute subEna.