danyill / oscd-subscriber-later-binding

IEC 61850 Ed 2 subscription for GOOSE and SV in OpenSCD
Apache License 2.0
3 stars 4 forks source link

Skip all LNode and Basic Type Checks #52

Closed jarradraumati closed 5 months ago

jarradraumati commented 6 months ago

Is your feature request related to a problem or opportunity? Please describe.

In DIGSI 5 it is important to be able to map an enumeration onto an INT32. These can be different CDCs and different basic types.

There we need a new option to allow the behaviour (Beh.stVal) to be mapped from a GOOSE analogue onto an integer of an ExtRef.

Perhaps we need a "skip all checks" setting although it makes us sad 😞

Perhaps the basic types "Enum" and "INTxx" are always compatible? WDYT @JakobVogelsang?

image

Requirements

Would like to be able to map as required for the voltage regulator application from Siemens.

Suggestions for a specific user interface

How about yet another setting: "Skip All Checks"

Additional information

XAT_7UT85_AVR_ATCC_btype.zip

jarradraumati commented 6 months ago

It seems like maybe our checks should just allow this...

The FCDA here is an EnumVal which is an xs:int:

    <xs:complexType name="tEnumVal">
        <xs:simpleContent>
            <xs:extension base="tEnumStringValue">
                <xs:attribute name="ord" type="xs:int" use="required"/>
                <xs:attributeGroup ref="agDesc"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

An xs:int is a signed 32-bit integer, see https://www.w3.org/TR/xmlschema11-2/#int

In our case we are trying to map an an xs:int to an ExtRef which is a INT32.

An INT32 is a signed 32-bit integer according to IEC 61850-7-2 Ed 2.1 section 6.2.2.5

6.2.2.5 INT32 (P_INT32 basic)

Signed integer: [-2 147 483 648, 2 147 483 647].

jarradraumati commented 6 months ago

There is also this awful thing from IEC 61850-6 about how to fix up your previous mistakes:

image