Skip to content

Start from scratch

Davood Sooran edited this page Mar 26, 2024 · 3 revisions

In this section, you will be guided through the process of creating one valid LNodeType. We will focus on the logical node class CSWI.

Before delving into the details, let's conduct a small experiment:

  1. Open OpenSCD.
  2. Create a new Edition 2.1 project.
  3. Navigate to the Template editor.
  4. Add a DataTypeTemplate.
  5. Click on Add LNodeType.
  6. Click on Value.
  7. Select an empty logical node class, for example, CSWI, as the lnClass.
  8. Click on Next....
  9. Click on Save.

grafik

The wizard does not allow you to save it because you have not defined the minimum required data objects, which are highlighted in red. When you try to add something here, you are disappointed again, as the list is empty. This is because OpenSCD tries to find a DOType that fits the definition of the DO but cannot find any because there are no DOTypes yet in the project.

In this case, for example, you need to have one DOType of the type ENS. Additionally, the data object Pos is required, which is of type DPC.

Let's start with Beh first. This is of the common data class (CDC) ENS. If you look into the IEC 61850 7-3 standard and find the ENS table, you will see that you need at least stVal, q, and t. So let's create the DOType first.

  1. Click on Add DOType.
  2. Leave value empty.
  3. Type BehENS into the id field.

OpenSCD adds this DOType, but the validator indicates that it is not valid, so don't stop here. Let's add the DAs q and t first.

  1. Click on BehENS.

  2. Click on Add Data Attribute.

  3. Type in q into the name field.

  4. Select Quality in the bType field.

  5. Type in ST in the fc field (functional constraint).

  6. Click Save.

  7. Click on BehENS again.

  8. Click on Add Data Attribute.

  9. Type in t into the name field.

  10. Select Timestamp in the bType field.

  11. Type in ST in the fc field (functional constraint).

  12. Click Save.

Where do I get this information? You might ask: You have to look into the IEC 61850 7-3 table for ENS.

The next attribute, stVal, is a bit more tricky. If you look into the same table, you will see that the bType attribute is Enum and is also defined in the IEC 61850 7-3 standard. This Enum is called BehaviorModeKind. Here, you can decide to either create it from scratch again. However, with Enums, we do not recommend it as all Enums are clearly defined and are part of the templates. So, let's take the one from the templates:

  1. Click on Add EnumType.
  2. Select BehaviorModeKind as the Value.
  3. Type in OpenSCD_BehaviorModeKind into the id field.
  4. Click Save.

Now we can proceed to add the data attribute stVal.

  1. Click on BehENS once again.
  2. Click on Add Data Attribute.
  3. Type in stVal into the name field.
  4. Select Enum in the bType field.
  5. The type field is enabled and shows all EnumTypes in the project.
  6. Select OpenSCD_BehaviorModeKind in the type field.
  7. Click Save.

Still, the validator will complain because the cdc attribute is empty but required within our DOType.

  1. Click on BehENS as before.
  2. Type in ENS into the cdc field.
  3. Click Save.

Now we're nearly done. We just need to define a DOType, which must be of a DPC common data class. To reduce complexity, you can create a status-only DPC type. For the full experience, you can create a sbo-with-enhanced-security DPC

Finally, we are at a stage to create the LNodeType with lnClass CSWI.

  1. Click on Add LNodeType.
  2. Select an empty logical node class, e.g., CSWI, as the lnClass.
  3. Don't forget the id field.
  4. Click on Next....
  5. For the required data objects Beh and Pos, the wizard suggests the two DOTypes you just created.

And there you have it! This procedure is basically always the same but with different kinds of common data classes that you need to create before being able to create an LNodeType.

NOTE: In the Select Data Objects wizard, OpenSCD suggests DOTypes based on their cdc definition. It does not check if the DOType has the correct structure.

1. About OpenSCD

4.2 XML editor - pro mode

6.1 Report

6.2 GOOSE

Clone this wiki locally