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-433] - Automated process for Dataset and CB creation and Extref update - Dataset creation - Part 2/6 #84

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 second part among 6 of this service: the goal is to create Datasets from groups of lines previously done in US RSR-389.

 

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 has already been developed via US RSR-389. This second part is going to create Dataset for each group of lines realized in US RSR-389.

 

Prerequisites:

  • US RSR-398 has already been developed to list all ExtRef signals with their attributes and properties
  • US RSR-389 has already been developed because it is the first part of the service
  • 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:

  • The same context that US RSR-389 because it is the part 2 of 6 of this COMPAS service US

 

US process description:

Thus each group of lines previously done at the end of US RSR-389 has to be included into a new DataSet such as each line has to be included into a FCDA. A DataSet can contain 1 or several FCDA.

  • Construct FCDA of the DataSet such as:
    • <FCDA ldInst=ExtRef@ldInst prefix=ExtRef@prefix lnClass=ExtRef@lnClass lnInst=ExtRef@lnInst doName=ExtRef@doName daName=ExtRef@daName (if exist) fc=DA@fc> with one FCDA per line of the group. There is only FCDA with DA@fc="ST" OR "MX"
  • Call COMPAS service described in US RSR-20 to create or overwrite the DataSet with these properties:
    • Generate the associated DataSet name by concatenating:
      • ExtRef@ldInst (upper case)
      • '_'  (underscore)
      • 'DS'
      • ExtRef.pServT transcoded as following: 'GSE' for "GOOSE", 'SMV' for "SMV", 'RPT' for "Report"
      • if ExtRef.pServT="Report" then add:
        • 'DQC' when there is at least one DA.fc="ST" in the FCDA lines of the DataSet
        • OR 'CYC' when there is at least one DA.fc="MX" in the FCDA lines of the DataSet
        • There cannot be simultaneous DA.fc="ST" and DA.fc="MX" in the FCDA lines of the DataSet
      • '_'  (underscore)
      • 'I' if the signal is Bay Internal else 'E' if the signal is Bay External.
    • Create the DataSet at this place: /IED.name=ExtRef.iedName/LDevice.inst=ExtRef.ldInst/LN0/Inputs
    • For each DataSet of a SMV OR GOOSE Control Block, all FCDA are ordered alphabetically by FCDA@ldInst then FCDA@prefix then FCDA@lnClass then FCDA@lnInst then FCDA@doName and then FCDA@daName

  

 Output:

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

 

Error messages:

  • All error messages from called services are returned

  

 

Acceptance criteria:

  • Check that it is the same context that US RSR-389 because it is the part 2 of 6 of this COMPAS service US
  • Check that each group of lines is included into a new DataSet such as each line has to be included into a FCDA: a DataSet can contain 1 or several FCDA.
  • Check that each FCDA of a DataSet is constructed such as:
    • <FCDA ldInst=ExtRef@ldInst prefix=ExtRef@prefix lnClass=ExtRef@lnClass lnInst=ExtRef@lnInst doName=ExtRef@doName daName=ExtRef@daName (if exist) fc=DA@fc> with one FCDA per line of the group. There is only FCDA with DA@fc="ST" OR "MX"
  • Check that COMPAS service described in US RSR-20 is called to create or overwrite the DataSet with these properties:
    • the associated DataSet name is generated by concatenating:
      • ExtRef@ldInst (upper case)
      • '_'  (underscore)
      • 'DS'
      • ExtRef.pServT transcoded as following: 'GSE' for "GOOSE", 'SMV' for "SMV", 'RPT' for "Report"
      • if ExtRef.pServT="Report" then add:
        • 'DQC' when there is at least one DA.fc="ST" in the FCDA lines of the DataSet
        • OR 'CYC' when there is at least one DA.fc="MX" in the FCDA lines of the DataSet
        • There cannot be simultaneous DA.fc="ST" and DA.fc="MX" in the FCDA lines of the DataSet
      • '_'  (underscore)
      • 'I' if the signal is Bay Internal else 'E' if the signal is Bay External.
    • the DataSet is created at this place: /IED.name=ExtRef.iedName/LDevice.inst=ExtRef.ldInst/LN0/Inputs
  • Check that for each DataSet of a SMV OR GOOSE Control Block, all FCDA are ordered alphabetically by FCDA@ldInst then FCDA@prefix then FCDA@lnClass then FCDA@lnInst then FCDA@doName and then FCDA@daName
  • Check that if the required context that US RSR-389 is not provided 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-433] - Automated process for Dataset and CB creation and Extref update - Dataset creation - Part 2/4 [RSR-433] - Automated process for Dataset and CB creation and Extref update - Dataset creation - Part 2/7 Jan 5, 2023
@DamienPERNET DamienPERNET changed the title [RSR-433] - Automated process for Dataset and CB creation and Extref update - Dataset creation - Part 2/7 [RSR-433] - Automated process for Dataset and CB creation and Extref update - Dataset creation - Part 2/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