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

[RSR-389] - Automated process for Dataset and CB creation and ExtRef update - Filter to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset - Part 1/6 #83

Open
DamienPERNET opened this issue Apr 1, 2022 · 0 comments

Comments

@DamienPERNET
Copy link
Contributor

DamienPERNET commented Apr 1, 2022

As a COMPAS service user, this US purpose is to create a COMPAS service that bind all ExtRef signals given by a list. This US deals with the first part among 6 of this service: the goal is to filter the list provided as input to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset.

 

As service user, I would like to mass create Datasets and then associated source Control Blocks to complete at the end, the binding of each ExtRef signal. The first part of this service is going to filter the list provided as input to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset.

 

Prerequisites:

  • US RSR-398 and RSR-473 have already been developed to list all ExtRef signals with their attributes and properties
  • US RSR-81 has already been developed to extract all attributes of an ExtRef signal
  • US RSR-20 has already been developed to create a new DataSet with all its FCDA
  • US RSR-245 has already been developed to create a GOOSE Control Block
  • US RSR-253 has already been developed to create a SMV Control Block
  • US RSR-255 has already been developed to create a Report Control Block
  • US RSR-93 has already been developed to create ExtRef.srcXXX attributes

 

The inputs of this service are:

  • A list of ExtRef signals from US RSR-398 and RSR-473 service where for each ExtRef signal found into whole SCD file or a given IED.name or a given IED.name/LDevice.inst, the following attributes are output:
    • IED/LDevice/LN0/Inputs/ExtRef @iedName @ldInst @lnClass @Prefix @lnInst @Doname @daname @intAddr @ServiceType @PLN @pdo @pda @pServT @srcLDInst @srcPrefix @srcLNClass @srcLNInst @srcCBName @desc
    • The /IED/LDevice/LN0/Inputs/Private/compas:Flow @FlowStatus (INACTICE, ACTIVE or UNTESTED) attributes
    • All functional constraints DA @fc
    • The physical range of the source IED i.e whether the signal source is physically "Bay Internal" or "Bay External"
    • The IED@name and LDevice@inst where the ExtRef resides

 

US process description:

With this list:

  • Keep only ExtRef signals which are:
    • Active or Untested i.e /IED/LDevice/LN0/Inputs/Private/compas:Flow @LDeviceStatus="ACTIVE" OR "UNTESTED"
    • AND external to their IED i.e IED/LDevice/LN0/Inputs/ExtRef@iedName is different from /IED@name where the ExtRef resides
    • AND ExtRef@iedName @ldInst @lnClass @Doname attributes are existing and populated
  • Remove duplicate ExtRef@pServT, @iedName, @ldInst @lnClass @Prefix @lnInst @Doname @daname (if exists) DA@fc
  • Keep only the lines of the list having DA@fc = "ST" OR DA@fc = "MX"
  • For the lines of the list having ExtRef@pServT = "GOOSE" OR "SMV", group the lines of the list by ExtRef@pServT then @iedName then @ldInst then the physical range of the source IED ("Bay Internal" or "Bay External")
  • For the lines of the list having ExtRef@pServT = "Report", group the lines of the list by ExtRef@pServT then @iedName then @ldInst then the physical range of the source IED ("Bay Internal" or "Bay External") then DA@fc

  

 Output:

  • None: It is only the first part among 6 of the service.

 

Error messages:

  •  If a required input parameter is not provided then processing is aborted and an error message is returned: "The list of ExtRef signals is requied"
  • All error messages from called services are returned

 

Acceptance criteria:

  • Check that service input is a list of ExtRef signals from US RSR-398 and RSR-473 service where for each ExtRef signal found into whole SCD file or a given IED.name or a given IED.name/LDevice.inst, the following attributes are output:
    • IED/LDevice/LN0/Inputs/ExtRef @iedName @ldInst @lnClass @Prefix @lnInst @Doname @daname @intAddr @ServiceType @PLN @pdo @pda @pServT @srcLDInst @srcPrefix @srcLNClass @srcLNInst @srcCBName @desc
    • its Private /IED/LDevice/LN0/Inputs/Private/compas:Flow @FlowStatus
    • The XPath where the ExtRef signal resides i.e /IED@name/LDevice@inst/LN0
    • The physical range of the source IED i.e whether the signal source is "Bay Internal" or "Bay External"
  • With this list, check that the following processes are done:
    • Keep only ExtRef signals which are:
      • Active or Untested i.e /IED/LDevice/LN0/Inputs/Private/compas:Flow @LDeviceStatus="ACTIVE" OR "UNTESTED"
      • AND external to their IED i.e IED/LDevice/LN0/Inputs/ExtRef@iedName is different from /IED@name where the ExtRef resides
      • AND ExtRef@iedName @ldInst @lnClass @Doname attributes are existing and populated
    • Remove duplicate ExtRef@pServT, @iedName, @ldInst @lnClass @Prefix @lnInst @Doname @daname (if exists) DA@fc
    • Keep only the lines of the list having DA@fc = "ST" OR DA@fc = "MX"
    • For the lines of the list having ExtRef@pServT = "GOOSE" OR "SMV", group the lines of the list by ExtRef@pServT then @iedName then @ldInst then the physical range of the source IED ("Bay Internal" or "Bay External")
    • For the lines of the list having ExtRef@pServT = "Report", group the lines of the list by ExtRef@pServT then @iedName then @ldInst then the physical range of the source IED ("Bay Internal" or "Bay External") then  DA@fc
  • Check that if the required list is not provided as input then processing is aborted and an error message is returned
  • Check that all error messages from called services are returned

 

@DamienPERNET DamienPERNET changed the title [RSR-389] - Automated process for Dataset and CB creation and ExtRef update - Filter to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset - Part 1/4 [RSR-389] - Automated process for Dataset and CB creation and ExtRef update - Filter to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset - Part 1/7 Jan 5, 2023
@DamienPERNET DamienPERNET changed the title [RSR-389] - Automated process for Dataset and CB creation and ExtRef update - Filter to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset - Part 1/7 [RSR-389] - Automated process for Dataset and CB creation and ExtRef update - Filter to keep only Active or Untested Bay Internal or External ExtRef signals and group them to do Dataset - Part 1/6 Jan 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant