1808 Please clarify if ix first index is 0 or 1

Created
28 Jan 2022
Status
In Force (Editorial)Closed: the editorial correction is part of the standard. No further comments are taken. Show the workflow
Batch
57/2673/INFThis tissue went out with this batch, which was closed on 01 Apr 2024.
Part
Part 6 (2019; Edition 2.1)
Links
None
Page
93
Clause
9.3.6 Data object (DOI) definition
Paragraph
Table 19 and Table 20

Issue

In the example in the page 94 it seems that ix first valid index is "1", but this is not explicitly stated in the document. At least not in this section.

This may cause interoperability issues if the SCT uses index 1 as the first element in the array and the vendor ICT tool uses index 0 as the first one.

Proposal

Add a sentence in the ix definitions declaring that array first index is "1" (or "0" if that was the intention) to avoid the problem.

DiscussionCreated
In Force (Editorial) Batch '57/2673/INF' (2) closed 01 Apr 24
Editorial Approved 22 Nov 22
Approval (Editorial) Agreed, the updated example is given as attachement

One file is attached to this tissue. Sign in to open it.

15 Nov 22
Discussion (red) I think we agree that index starts with 0.

Can we agree to change the example and move Tissue to editorial?
13 Oct 22
Discussion (red) What is the probability to get issues with the first index always at 0? Probably none...
What is the probability to get issues with the first index sometime at 1? Probably many...
12 Oct 22
Not Applicable I would suggest changing the example to start with ix=0 as this can indeed be misleading

Consequence would be editorial TISSUE rather than N/A
11 Oct 22
Approval (N/A) I agree with Gunnar that the type array and index 0 is clearly defined in IEC 61850-7-2.
Additionally, IEC 61850-7-3 defines the arrays in different CDCs always specifying ARRAY 0..maxPts-1 .
01 Feb 22
Triage Array clearly starts from 0:

See IEC 61850-6 Ed2.1 Table 22 page 95 (IEC 61850-6:2009+AMD1:2018 CSV) clearly states:

ix = β€œAn index to select an array element in case that one of the data elements is an array.
The ix value shall be identical to the ArrayElementNumber value in the doName or
daName part. β€œ

See also IEC 61850-7-2:2010+AMD1:2020 CSV Table 6:

Arrays = ARRAY 0..m OF p, Example: ARRAY 0...maxPts-1 OF INT32

See also IEC 61850-7-2:2010+AMD1:2020 CSV Page 34:

Array types: types defined as ARRAY 0..m OF p and are a list of elements of type β€œp”
numbered from 0 to m.

See also IEC 61850-7-2:2010+AMD1:2020 CSV Page 76:

If the data attribute or sub data atttribute is an element of an array, then the FCDA shall be
accompanied by the NumArrayElement (value between 0 and m according to the instance of
the array). The syntax for a FCDA of an array element shall be FCDA(NumArrayElement).

See also IEC 61850-7-2:2010+AMD1:2020 CSV Page 79:

The indexOfArrayElement (value between 0 and m according to the instance of the array) shall
be the array element index in case a single array element is to be referenced. The
indexOfArrayElement of value 0 refers to the first element of the array.

IEC 61850-8-1 Ed2.1:
The IEC 61850-7-2 Array maps to an MMS array for each functional constrained Array.
Example: The datRef representing the ACSI reference LDevice/MHAI1.HA.phsAHar(7).cVal.mag.f will be
LDevice/MMHA1$MX$HA$phsAHar(7)$cVal$mag$f
31 Jan 22