JakobVogelsang / oscd-publisher

Apache License 2.0
1 stars 4 forks source link

When creating datasets show GOOSE and SV bytes and Used/Max FCDAs #8

Open danyill opened 1 year ago

danyill commented 1 year ago

It is typical in IED Configuration Tools to show the following when configuring DataSets:

  1. The maximum number of attributes allowed in a dataset and the number used (from ClientServices > ConfDataSet)
  2. The number of bytes used for GOOSE or SMV compared to the total available in the frame. a. For GOOSE the limit is based on a single ethernet packet and I presume the ASN.1 serialisation of the data. Presumably this can be taken for a DO/SDO by tracing through to the BDAs and looking at the encoding in IEC 61850-8-1 Ed 2.1, Table A.1 and Table A.2 for fixed-length encoded GOOSE messages. I'm not quite sure of the difference for encoding of DOs and DAs and where this is written. b. For SMV Table 15 of IEC 61850-9-1 Ed 2.1 and Annex A.

Basically when configuring a DataSet we should see a running total as items are added of:

  1. X of Y Bytes used
  2. A of B Attributes Used

This improves the chances of large datasets being made without risk of error.

(Incidentally @JakobVogelsang could you invite me to collaborate on this repo again?)

danyill commented 1 year ago

I'd also be happy to work on/contribute to this feature at some stage.

danyill commented 1 year ago

Also, see https://iec61850.tissue-db.com/tissue/719#comment2813

JakobVogelsang commented 1 year ago

This whole thing is confusing to me...

Am I seeing it wrong @danyill ?

danyill commented 1 year ago

I think you are seeing it wrong! :stuck_out_tongue_winking_eye:

Ed 2.1, section 8.2.3: "It is clarified that the meaning of the maxAttributes attribute of the ConfDataSet element denotes FCDAs and not basic attributes."

Ed 2.1, Table 11:

If ConfDataSet is not specified, then the default value of its max attribute is equal to the number of already configured data sets, and they may only be modified. If it is specified, it is possible to configure new data sets up to the defined max, or modify existing ones at configuration time via SCL. The attribute meaning is: max – the maximum number of data sets maxAttributes – the maximum number of FCDA elements (data set entries) allowed in a data set. If an ICD file contains data sets with more elements, the system configurator shall not modify it modify – TRUE means that configured data sets may be modified; default: true Note that the control block settings might also restrict data set modifications even if modify=TRUE.

I think it is clear. An FCDA could be a data object or a data attribute and in either case it would only add one to the total of the used count.

I don't think Ed 2.1 says:

Ed2.1 seems very clear by saying the maximum number of attributes allowed in a data set (an FCDA can contain several attributes)

Although Ed 2 does say that, so I think you have looked up the wrong edition of the standard? Ed 2 below:

If ConfDataSet is not specified, then the default value of its max attribute is equal to the number of preconfigured data sets, and they may only be modified. If it is specified, it is possible to configure new data sets up to the defined max, or modify existing ones at configuration time via SCL. The attribute meaning is: max – the maximum number of data sets maxAttributes – the maximum number of attributes allowed in a data set (an FCDA can contain several attributes) modify – TRUE means that preconfigured data sets may be modified; default: true

JakobVogelsang commented 1 year ago

That is very true. Thank you for the hint. To me, this first thing is now very clear.

JakobVogelsang commented 1 year ago

@danyill I have added the maxAttribute limits on scl-lib and are using them in oscd-publisher. The size limitation is a bit trickier. I think I might need your help on this one.

danyill commented 11 months ago

@danyill I have added the maxAttribute limits on scl-lib and are using them in oscd-publisher. The size limitation is a bit trickier. I think I might need your help on this one.

I'd like to put some work into this because it is relatively easy to max out a GOOSE message.

Perhaps a few examples "on the wire" of some messages and comparisons of SCL files would help us get started. I'll add this to my list - I think it would be fun although I fear I'll have to learn more about ASN.1 :cry: