You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

This is in DRAFT. Feedback or improvements are welcome using the comment feature in confluence.



Motivation for creating a new generation of OpenSCD:

  1. Make is more easy to build your own distribution
  2. Make is more easy to create custom plug-ins
  3. Less tangled code
  4. Reusable code
  5. Faster development speed (once it is ready)
  6. Plug-ins can be build in any code language and framework (as long as they adhere to the specifications)

OpenSCD-core plug-in

Practical example for CoMPAS. CoMPAS currently relies on fork of OpenSCD in order to add the needed functionality:

com-pas/compas-open-scd: A substation configuration description editor for projects using SCL IEC 61850-6 Edition 2 or greater (github.com)

The goal for CoMPAS would be to add the CoMPAS specific code as add-on to OpenSCD-next in form of plug-ins. The current "fork" will no longer be needed. CoMPAS will just make a distribution of OpenSCD including the CoMPAS plugins/extensions.




OpenSCD-core architecture overview


The OpenSCD next architecture consist of 5 major software components:

  • OpenSCD-core
  • Plug-ins
  • Components
  • SCL editing
  • add-ons



Overview of the global architecture


OpenSCD-Core

OpenSCD-core is main application of OpenSCD-next. OpenSCD-core will be loaded once people open the application. OpenSCD-core sets the requirements for the plug-ins.

OpenSCD Core consists of the open-scd  WebComponent, which is responsible for loading plugins and addons.

The open-scd  WebComponent is the outer shell of OpenSCD, containing limited functionality in order to make it flexible.

Editing of a (SCL) Document should be handled by OpenSCD Core. OpenSCD Core provides an API for Document editing by listening to CustomEvents. These CustomEvents can be dispatched b Plugins.


Functionalitiy of OpenSCD-core:

Loading addons/plug-ins

Display the selected plug-in

Handling SCL edits 


OpenSCDPlugins

OpenSCD plug-in is a extension of OpenSCD-core to add functionality. This could be generic 61850 functionality or vendor/utility specific functionalitiy. Examples: datatemplate editor, substationsection editor, GOOSE editing etc.

OpenSCD-core supports 2 types of plugins: menu plugins and editor plugins. These plugins have a different behavior. 

For more information see: OpenSCD-core plug-in



OpenSCD Components

OpenSCD Components are reusable WebComponents

SCL editing

OpenSCD add-ons








  • No labels