Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

COMPAS - EVOLUTION of RSR-630 - Automated process for Dataset and CB creation and Extref update - Creation of MAC Address and other network properties for SV and GOOSE Control Blocks - Part 6/6 - Adding IED Instance Number #259

Closed
massifben opened this issue Mar 16, 2023 · 0 comments · Fixed by #260
Labels
enhancement New feature or request

Comments

@massifben
Copy link
Contributor

The whole evolution is highlighted in red letters

Context:

In a SCD file, all GOOSE and SampledValue Control Blocks must have Network settings.

Thus, the service described in US RSR-630 has been created for this task but without taking into account the IED instance.

US purpose:

The US purpose is to add into this processing, the IED instance

Prerequisites:

US RSR-630 has already been developed

The inputs of this service are:

The same context than US RSR-630 

Description:

For each GOOSE and SV Control Block in current SCD file:

Define the:
CB name
IED@name
AccessPoint@name
LDevice@inst
where the CB resides into the SCD file
With the Privates of the IED where the CB resides, define:
System Version to which it belongs
IED type
IED redundancy
IED instance
if the CB signal is Internal or External to the bay
With the help of the settings file in attachement, with the sextuplet (Control Block Type, the System Version X.Y.Z.W, IED type, IED Redundancy, IED instance, if the CB signal is Bay Internal or External), define the network properties of the CB such as:
VLAN-ID which is translated in hexadecimal format from decimal format
VLAN-PRIORITY
MinTime
MaxTime
The APPID range to which the APPID of the CB has to belong 
The MAC Address range to which the MAC Address of the GOOSE CB has to belong 
Note: In the settings file, "(empty)" means that we don't create the XML section into the SCL/Communication
If no line matches into the settings file then an error message ERR.04 is returned
If for the current sextuplet, the settings file returns a VLAN-ID set to "None" then a fonctionnal error ERR.07 is returned
Generate one unique APPID in hexadecimal format for the CB according to the range specified. Each CB shall have a unique APPID within the whole SCD file 
Generate one unique MAC Address for the CB according to the range specified. Each CB has a unique MAC address within the whole SCD file.
If it is impossible to give a valid MAC address for a GOOSE CB i.e there are more than 512 GOOSE CBs in the SCD then an error message ERR.05 is returned
Find the SCL/Communication/SubNetwork/ConnectedAP where SubNetwork/ConnectedAP@iedName = IED name where CB resides AND SubNetwork/ConnectedAP@apName = IED/AccessPoint@name where CB resides
If there is NO matching SCL/Communication/SubNetwork/ConnectedAP for the CB then an error message ERR.06 is returned
Then at this place, create:
in the case of GOOSE CB, the SCL/Communication/SubNetwork/ConnectedAP/GSE XML section with all the settings values defined in the previous stages. The template of this XML section is given in Details chapter
in the case of SV CB, the SCL/Communication/SubNetwork/ConnectedAP/SMV XML section with all the settings values defined in the previous stages. The template of this XML section is given in Details chapter
The service lists all the errors if any and stops at the end when at least one error is encountered

Details:

A GOOSE CB is characterized by the XML tag GSEControl in this kind of XPath SCL/IED@name/AccessPoint@name/LDevice@Inst/LN(0)/GSEControl@name
The GOOSE CB name is given by GSEControl@name
A SV CB is characterized by the XML tag SampledValueControl in this kind of XPath SCL/IED@name/AccessPoint@name/LDevice@Inst/LN(0)/SampledValueControl@name
The SV CB name is given by SampledValueControl@name
The IED System Version is given by the IED/Private@type="COMPAS-SystemVersion"/compas:SystemVersion @MainSystemVersion (i.e X.Y) @MinorSystemVersion (i.e Z.W.V).
Note: To get the X.Y.Z.W system version, remove the V value
If the Private compas:SystemVersion is not found
OR if MainSystemVersion OR MinorSystemVersion attributes are not found
OR if MainSystemVersion OR MinorSystemVersion attributes are not populated
then an error message ERR.01 is returned
The IED type is given by the IED/Private@type="COMPAS-ICDHeader"/compas:ICDHeader @IEDType
The IED redundancy is given by the IED/Private@type="COMPAS-ICDHeader"/compas:ICDHeader @IEDredundancy
The IED instance is given by the IED/Private@type="COMPAS-ICDHeader"/compas:ICDHeader @IEDSystemVersioninstance
If the Private compas:ICDHeader is not found
OR if IEDType OR IEDredundancy OR IEDSystemVersioninstance attributes are not found
OR if IEDType OR IEDredundancy OR IEDSystemVersioninstance attributes are not populated
then an error message ERR.02 is returned
The fact that a CB signal is Bay internal or external is given by the last character of the CB@name:
if the last character is "I" then the CB signal is Bay Internal
if the last character is "E" then the CB signal is Bay External
If the last character of the CB name is not an "E" OR "I" then an error message is returned ERR.03
The SCL/Communication/SubNetwork/ConnectedAP/GSE XML section template is:

       


               

value_from_settings_file


               

generated_value


               

generated_value


               

hexadecimal_value


       
       value_from_settings_file
       value_from_settings_file
The SCL/Communication/SubNetwork/ConnectedAP/SMV XML section template is:

       
               

value_from_settings_file


               

generated_value


               

generated_value


               

hexadecimal_value


       
 
For a given SCL/Communication/SubNetwork/ConnectedAP, the GSE XML sections are placed before SMV XML sections

Output:

For each GOOSE CB, one SCL/Communication/SubNetwork/ConnectedAP/GSE XML section is created with all the properties and settings values defined in the previous stages:
GSE@ldInst
GSE@cbName
GSE/Address/P@type="VLAN-PRIORITY" Value
GSE/Address/P@type="APPID" Value
GSE/Address/P@type="MAC-Address" Value
GSE/Address/P@type="VLAN-ID" Value
GSE/MinTime@unit="s" @multiplier="m" Value
GSE/MaxTime@unit="s" @multiplier="m" Value
For each SV CB, one SCL/Communication/SubNetwork/ConnectedAP/SMV XML section is created with all the properties and settings values defined in the previous stages:
SMV@ldInst
SMV@cbName
SMV/Address/P@type="VLAN-PRIORITY" Value
SMV/Address/P@type="APPID" Value
SMV/Address/P@type="MAC-Address" Value
SMV/Address/P@type="VLAN-ID" Value

Error messages:

ERR.01: "The COMPAS-SystemVersion Private is not defined for the CB SCL/IED=IED@name/AccessPoint=AccessPoint@name/LDevice=LDevice@inst/LN=LN@prefix @lnClass @inst/CB=CB@name"

ERR.02: "The COMPAS-ICDHeader Private is not defined for the CB SCL/IED=IED@name/AccessPoint=AccessPoint@name/LDevice=LDevice@inst/LN=LN@prefix @lnClass @inst/CB=CB@name"

ERR.03: "Unable to determine if the signal is Bay Internal or External for the CB SCL/IED=IED@name/AccessPoint=AccessPoint@name/LDevice=LDevice@inst/LN=LN@prefix @lnClass @inst/CB=CB@name because its last character name is not a "E" or "I""

ERR.04: "The sextuplet (CBType=Control Block Type, X.Y.Z.W=the System Version X.Y.Z.W, IEDType=IED type, IEDRedundancy=IED Redundancy, IEDSystemVersioninstance=IED instance, if the CB signal is Bay Internal or External ) doesn't match with one and only one line of the settings file"

ERR.05: "There are too much GOOSE CB in current SCD file to give a unique MAC Address which stays in the range allowed"

ERR.06: "There is no matching SCL/Communication/SubNetwork/ConnectedAP with the right @iedName and @apname for the CB SCL/IED=IED@name/AccessPoint=AccessPoint@name/LDevice=LDevice@inst/LN=LN@prefix @lnClass @inst/CB=CB@name"

ERR.07: "There is an inconsistency between the CB SCL/IED=IED@name/AccessPoint=AccessPoint@name/LDevice=LDevice@inst/LN=LN@prefix @lnClass @inst/CB=CB@name and the settings file for the sextuplet (CBType=Control Block Type, X.Y.Z.W=the System Version X.Y.Z.W, IEDType=IED type, IEDRedundancy=IED Redundancy, IEDSystemVersioninstance=IED instance, if the CB signal is Bay Internal or External )"

@massifben massifben added the enhancement New feature or request label Mar 16, 2023
massifben added a commit that referenced this issue Mar 16, 2023
…orkSettingsCsvHelper

Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
massifben added a commit that referenced this issue Mar 16, 2023
…orkSettingsCsvHelper

Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
massifben added a commit that referenced this issue Mar 16, 2023
…orkSettingsCsvHelper

Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
massifben added a commit that referenced this issue Mar 21, 2023
…orkSettingsCsvHelper

Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
massifben added a commit that referenced this issue Mar 21, 2023
…orkSettingsCsvHelper

Signed-off-by: massifben <105049157+massifben@users.noreply.github.com>
massifben added a commit that referenced this issue Mar 21, 2023
…dSystemVersionInstance_in_ControlBlockNetworkSettingsCsvHelper

feat(#259): RSR-680 add criteria iedSystemVersionInstance in ControlBlockNetworkSettingsCsvHelper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant