LNodeInputRef.sourceRef references only the "input" attribute of the SourceRef. However when several SourceRef element share the same "input" but have different pDA values, it is not possible to differenciate the SourceRefs.
The definition of the attribute sourceRef in LNodeInputRef, in XSD 61850-6-100 is:
"Identification of the SourceRef belonging to the current role (reference the input attribute of the SourceRef)"
But in some cases, there are several SourceRef with the same "Input" and different pDA.
In such situations, LNodeInputRef cannot distinguish between these SourceRefs, resulting in 2 identical LNodeInputRef entries in the SignalRole
Example :
<e61850-6-100:SignalRole name="Role">
<e61850-6-100:LNodeInputRef sourceRef="RREC1.Position"/>
<e61850-6-100:LNodeInputRef sourceRef="RREC1.Position"/>
Proposal
to avoid this, LNodeInputRef.sourceRef could follow the same principle as InputVar.inputName defined in IEC TR 61850-90-30 (p 92):
"If the SourceRef input is not unique, because it is associated to pDA or it is instantiated multiple time, the inputName will differentiate the correct SourceRef, by adding inputInst and pDA as following: input(inputInst).pDA"
Example :
<e61850-6-100:SignalRole name="Role">
<e61850-6-100:LNodeInputRef sourceRef="RREC1.Position(1).q"/>
<e61850-6-100:LNodeInputRef sourceRef="RREC1.Position(1).stVal"/>
Discussion
Created
Status
Similarly for ControlRef, the "outputInst" should be added in the LNodeOutputRef when the ControlRef is instanciated