openscd / open-scd Goto Github PK
View Code? Open in Web Editor NEWA substation configuration description editor for projects using SCL IEC 61850-6 Edition 2 or greater
Home Page: https://openscd.github.io
License: Apache License 2.0
A substation configuration description editor for projects using SCL IEC 61850-6 Edition 2 or greater
Home Page: https://openscd.github.io
License: Apache License 2.0
OpenSCD works on a scd file only. With the landing page the user can either create a new project (scd file) or load an existing project (scd file). The landing page shall be active as long as not project is loaded.
In the mwc-textfield
doc it says that:
If this message is not the empty string, then the element is suffering from a custom validity error and does not validate.
When not reset to an empty string the outcome of super.checkValidity()
is always false.
Possible solution would be to reset custom validity message before checking super.checkValidity()
.
Compile xmllint
as an async WASM
function yielding LogEntry
messages.
When a LNode
is of the type Client logical node
(child element of AccessPoint
instead of Ldevice
), the lnodewizard
does not select the ClientLN
on the second wizard page. This seems to be a bug
Add an editor panel for editing the substation section.
Add a <wizard-textfield nullable .maybeValue=${null} helper="test">
to some lit-html
template.
Expected result
textfield.helper == "No default value.";
textfield.helperPersistent == true;
await textfield.nullSwitch.click();
textfield.helperPersistent == false;
textfield.helper == "test";
Actual result
textfield.helper == "No default value.";
textfield.helperPersistent == true;
await textfield.nullSwitch.click();
textfield.helperPersistent == true;
textfield.helper == "";
On small devices and with long strings from the schema validator the information cut off. This is unfortune especially for schema validation.
When a SCL file is loaded that does not contain any IEDs, the lnodewizard
does not have any massage. Especially for those how never used the lnodewizard
before might be confused.
Suggestion: Add a hint on the first page of the wizard: There
Integrate panzoom in the substation editor user interface
Some of the icons buttons do not clearly tell what the functionality of the button is. To help the user a bit tooltips would be very helpful.
Suggestion: Add tooltips for all icon buttons
Add a Travis CI build to automatically deploy the app to GitHub Pages
Add a wizard dialog user interface element to OpenScdBase
Add a button loading some empty predefined skeleton SCD
file into the editor.
Blocked by #2
Improve README.md
and add a CONTRIBUTING document.
For someone not familiar with the standard it might be misleading that a textfield is disabled. Especially when creating new elements the predefined attributes should never be null
.
Suggestion: predefined value for desc
textfield should be empty string instead of null.
Add a container that displays and manipulates the bay
element in the substation section of the SCL file.
The following user interaction shall be included
The LNode connection container shall manipulate LNode elements to all substation section elements.
Allow following user interaction in the editor:
Note
: Visualize LNode in subequipment as well but not allow to add/delete LNodes to subequipment
Brough in with #79 . Unfortunately there is a bug in the library we are using. We are waiting for the bug fix here and are confident that the bug will be resolved in near future.
Add a container that displays and manipulates the voltage level
element in the substation section of the SCL file.
The following user interaction shall be included
<open-scd>
is currently only listening to #file-input
's change
event, meaning a file is not loaded if it's the same file as before.
We could either implement a "reload file" button parsing the same File
object again or listen to something like #file-input
's click
event, checking whether the selected file has changed, and asking whether to reload if not.
Add a top app bar containing a menu as well as regular and contextual action buttons.
Element created with OpenSCD miss line break and tab. This is important as many users still look at the CML in simple editors to check. Add pretty-print function before saving
In case a bay has only one conducting equipment the name is way to far away from the icon.
The disable property of the icons undo and redo are incorrect.
Add a log displaying error and warning messages along with their "viewed" status.
Write extensive integration tests for the SubstationEditor
plugin
Substation elements as Bay
and VoltageLevel
do not vary a lot in their structure in a substation. This is especially true for the Bay
element.
Copying a Bay
element structure and pasting to the same or other parent elements would be a speed booster.
Restrictions:
-Make sure that then name
attribute is unique
-Make sure that all LNode
elements stay unique
Write extensive unit tests for editors/substation/foundation.ts
Undoing deletion of VoltageLevel
does not lead to identical XML file. The reference
in delete editor action is missing.
At first glance, the following terms need correction:
(- old version > new, corrected version)
German:
English:
And a few capitalization errors :)
(we only capitalize all words in a term if it's a window/section header)
Expected:
<wizard-textfield preSelectedMultiplier="k"></wizard-textfield>
has propertymultiplier === "k"
Actual result:
<wizard-textfield preSelectedMultiplier="k"></wizard-textfield>
has propertymultiplier === "G"
Updates in voltage level and below components are not visible right away.
Add a button to open a local SCD
file for editing.
Select control within menus does not display all the possible choices. This is very obvious when creating new conducting equipments.
Hey,
I am not sure If there is a purpose to keep the System behavior in the Log section as well.
But since I save the project, or change the language in the left toolbar, It didn't appear in the logs.
Additionally
It would be better to have white text on the toolbar when you turn on the dark theme. Its nearly not visible
Add an <mwc-textfield>
WebComponent that allows for setting value=null
through an <mwc-icon-button-toggle>
.
Add a button saving the serialized XML
string of the currently edited XMLDocument
as a *.scd
file.
Blocked by #2
Edition 1 of IEC 61850-6 has an element IEDName
that allows to see the subscribing IED of GSEControl
and SampledValueControl
. This element is not set by every vendor as is optional. Create an update function that updates the SCL file by setting this element.
As this is not a feature for a system configuration tool per-se, it shall be encapsulated in a plug-in. For the time being the plug-in shall be delivered together with OpenSCD
as long as the tool is used to manipulate SCL
files rather then create them.
When no or an empty substation section is present OpenSCD shall guess the substation structure and its connection to the IED elements. Two algorithms shall be installed:
CSWI
assumptionCSWI
being a bay controller and therefore every IED that has at least one such logical node shall be interpreted as a bay controller.CSWI
logical node) a bay shall be created.XCRB
orXSWI
a ConductingEquipment
shall be created with the specific type
attribute CBR
, DIS
, respectively. Joint means that the logical device CSWI
resides in as well as the prefix
attribute and the inst
attribute of CSWI
and XCBR
, XSWI
, respectively, match.CSWI
in their data model shall be sorted to the Bay
elements based on the number of GOOSE and SMV connections. In case there are two Bay
elements with the same amount of connection compared to another Bay
the alphabetically first shall be chosen.Bay
element shall be Qxx
(e.g Q01)Bay
elements the IED
elements shall be sorted alphabeticallyname
attribute of the IED
elementname
attribute of IED
is constructed from the location of the IED
within the substation structure. A typical example might be AA1E1Q01
standing for substation AA1
voltage level E1
and bay Q01
. However the identifier a bay (in the example 'Q') the voltage level ( in the example 'E') might differ from region to region.Bay
elements alphabeticallyBay
element as ConductingEquipment
independent of the ctrModel
might lead to a lot unnecessary ConductingEquipment
. Reason is that logical nodes CSWI
, XCBR
and XSWI
are not only uses for switch gear in the bay but for other automation functions. That is why ctlModel
shall be used to differentiate between the switch gear and other controlled objects in the bay.ctlModel
of the switch gearRestrictions:
name
attribute of the VoltageLevel
element shall be unique within the Substation
elementname
attribute of the Bay
element shall be unique within the VoltageLevel
elementname
attribute of the ConductingEuipment
element shall be unique within the Bay
elementLNode
element shall be unique with the substation meaning the combinations of its attributes shall be uniqueThe icons are misleading. I would suggest to delete them.
Add an internationalization framework along the lines of Format.JS
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.