@enervance/insight-cim-model 0.0.15 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/constants/init-data/PSR_TYPES.js +8 -0
  2. package/dist/constants/init-data/PSR_TYPES.js.map +1 -1
  3. package/dist/converter/integral7/ConverterIntegral7.d.ts +4 -1
  4. package/dist/converter/integral7/ConverterIntegral7.js +90 -1
  5. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  6. package/dist/converter/integral7/model/interfaces.d.ts +14 -0
  7. package/dist/converter/integral7/sql/integral.sql.d.ts +2 -0
  8. package/dist/converter/integral7/sql/integral.sql.js +5 -0
  9. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  10. package/dist/converter/integral7/utils.d.ts +3 -1
  11. package/dist/converter/integral7/utils.js +12 -1
  12. package/dist/converter/integral7/utils.js.map +1 -1
  13. package/dist/{graph/nodes/node.d.ts → data-structures/graph/GraphObject.d.ts} +1 -6
  14. package/dist/{graph/nodes/node.js → data-structures/graph/GraphObject.js} +2 -12
  15. package/dist/data-structures/graph/GraphObject.js.map +1 -0
  16. package/dist/data-structures/graph/Types.js.map +1 -0
  17. package/dist/data-structures/graph/connections/connection.d.ts +11 -0
  18. package/dist/data-structures/graph/connections/connection.js.map +1 -0
  19. package/dist/{graph/edges/edge.d.ts → data-structures/graph/edges/GraphEdge.d.ts} +2 -2
  20. package/dist/{graph/edges/edge.js → data-structures/graph/edges/GraphEdge.js} +5 -5
  21. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -0
  22. package/dist/data-structures/graph/graph-interfaces.d.ts +17 -0
  23. package/dist/data-structures/graph/graph-interfaces.js.map +1 -0
  24. package/dist/{graph → data-structures/graph}/graph-util.d.ts +7 -7
  25. package/dist/{graph → data-structures/graph}/graph-util.js +4 -4
  26. package/dist/data-structures/graph/graph-util.js.map +1 -0
  27. package/dist/data-structures/graph/graph.d.ts +23 -0
  28. package/dist/data-structures/graph/graph.js +175 -0
  29. package/dist/data-structures/graph/graph.js.map +1 -0
  30. package/dist/data-structures/graph/nodes/GraphNode.d.ts +6 -0
  31. package/dist/data-structures/graph/nodes/GraphNode.js +15 -0
  32. package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -0
  33. package/dist/data-structures/tree/Tree.d.ts +20 -0
  34. package/dist/data-structures/tree/Tree.js +49 -0
  35. package/dist/data-structures/tree/Tree.js.map +1 -0
  36. package/dist/data-structures/tree/TreeEdge.d.ts +22 -0
  37. package/dist/data-structures/tree/TreeEdge.js +56 -0
  38. package/dist/data-structures/tree/TreeEdge.js.map +1 -0
  39. package/dist/data-structures/tree/TreeNode.d.ts +20 -0
  40. package/dist/data-structures/tree/TreeNode.js +66 -0
  41. package/dist/data-structures/tree/TreeNode.js.map +1 -0
  42. package/dist/data-structures/tree/TreeObject.d.ts +5 -0
  43. package/dist/data-structures/tree/TreeObject.js +11 -0
  44. package/dist/data-structures/tree/TreeObject.js.map +1 -0
  45. package/dist/data-structures/tree/tree-interfaces.d.ts +9 -0
  46. package/dist/data-structures/tree/tree-interfaces.js +3 -0
  47. package/dist/data-structures/tree/tree-interfaces.js.map +1 -0
  48. package/dist/etl-neplan/etl-neplan-contingency-analysis.js +1 -1
  49. package/dist/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  50. package/dist/etl-neplan/etl-neplan-csv.js +18 -4
  51. package/dist/etl-neplan/etl-neplan-csv.js.map +1 -1
  52. package/dist/etl-neplan/etl-neplan-feederline.js +0 -1
  53. package/dist/etl-neplan/etl-neplan-feederline.js.map +1 -1
  54. package/dist/etl-neplan/etl-neplan-geo.d.ts +12 -4
  55. package/dist/etl-neplan/etl-neplan-geo.js +35 -4
  56. package/dist/etl-neplan/etl-neplan-geo.js.map +1 -1
  57. package/dist/etl-neplan/neplan-contingency-analysis.d.ts +3 -3
  58. package/dist/etl-neplan/neplan-contingency-analysis.js +28 -12
  59. package/dist/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  60. package/dist/index.d.ts +9 -1
  61. package/dist/index.js +12 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/interfaces/default-values-config.d.ts +8 -0
  64. package/dist/interfaces/model/common/ILocation.d.ts +1 -0
  65. package/dist/model/common/Location.d.ts +1 -0
  66. package/dist/model/common/Location.js +12 -0
  67. package/dist/model/common/Location.js.map +1 -1
  68. package/dist/model/core/ConductingEquipment.js +0 -7
  69. package/dist/model/core/ConductingEquipment.js.map +1 -1
  70. package/dist/model/core/IdentifiedObject.js +1 -1
  71. package/dist/model/core/IdentifiedObject.js.map +1 -1
  72. package/dist/model/core/Terminal.js +1 -1
  73. package/dist/model/core/Terminal.js.map +1 -1
  74. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +4 -2
  75. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +19 -10
  76. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  77. package/dist/model/model/Model.d.ts +4 -0
  78. package/dist/model/model/Model.js +23 -1
  79. package/dist/model/model/Model.js.map +1 -1
  80. package/dist/model/wires/AsynchronousMachine.js +5 -0
  81. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  82. package/dist/model/wires/SVCControlMode.d.ts +4 -0
  83. package/dist/model/wires/SVCControlMode.js +9 -0
  84. package/dist/model/wires/SVCControlMode.js.map +1 -0
  85. package/dist/model/wires/ShuntCompensator.js +1 -1
  86. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  87. package/dist/model/wires/StaticVarCompensator.d.ts +16 -0
  88. package/dist/model/wires/StaticVarCompensator.js +69 -0
  89. package/dist/model/wires/StaticVarCompensator.js.map +1 -0
  90. package/dist/model/wires/TransformerEnd.d.ts +1 -0
  91. package/dist/model/wires/TransformerEnd.js +3 -0
  92. package/dist/model/wires/TransformerEnd.js.map +1 -1
  93. package/dist/util/utils.d.ts +1 -0
  94. package/dist/util/utils.js +13 -2
  95. package/dist/util/utils.js.map +1 -1
  96. package/package.json +2 -2
  97. package/dist/graph/Types.js.map +0 -1
  98. package/dist/graph/connections/connection.d.ts +0 -11
  99. package/dist/graph/connections/connection.js.map +0 -1
  100. package/dist/graph/edges/edge.js.map +0 -1
  101. package/dist/graph/graph-interfaces.d.ts +0 -15
  102. package/dist/graph/graph-interfaces.js.map +0 -1
  103. package/dist/graph/graph-util.js.map +0 -1
  104. package/dist/graph/graph.d.ts +0 -15
  105. package/dist/graph/graph.js +0 -75
  106. package/dist/graph/graph.js.map +0 -1
  107. package/dist/graph/nodes/node.js.map +0 -1
  108. /package/dist/{graph → data-structures/graph}/Types.d.ts +0 -0
  109. /package/dist/{graph → data-structures/graph}/Types.js +0 -0
  110. /package/dist/{graph → data-structures/graph}/connections/connection.js +0 -0
  111. /package/dist/{graph → data-structures/graph}/graph-interfaces.js +0 -0
@@ -69,6 +69,14 @@ exports.PSR_TYPES = '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax
69
69
  '\t<cim:IdentifiedObject.name>Erneuerbare Energien</cim:IdentifiedObject.name>\n' +
70
70
  '\t<entsoe:IdentifiedObject.shortName>EE</entsoe:IdentifiedObject.shortName>\n' +
71
71
  '</cim:PSRType>\n' +
72
+ '<cim:PSRType rdf:ID="_0ce0604f-a353-4b69-af8f-9b4e4eaf6547">\n' +
73
+ '\t<cim:IdentifiedObject.name>Wi</cim:IdentifiedObject.name>\n' +
74
+ '\t<entsoe:IdentifiedObject.shortName>Wi</entsoe:IdentifiedObject.shortName>\n' +
75
+ '</cim:PSRType>\n' +
76
+ '<cim:PSRType rdf:ID="_0d1a35e2-0cf7-449d-bc0d-3dc62a453742">\n' +
77
+ '\t<cim:IdentifiedObject.name>Wa</cim:IdentifiedObject.name>\n' +
78
+ '\t<entsoe:IdentifiedObject.shortName>Wa</entsoe:IdentifiedObject.shortName>\n' +
79
+ '</cim:PSRType>\n' +
72
80
  '<cim:PSRType rdf:ID="_1cb2c6da-4b1c-465e-a4be-4cf681a124c0">\n' +
73
81
  '\t<cim:IdentifiedObject.name>Freileitung</cim:IdentifiedObject.name>\n' +
74
82
  '</cim:PSRType>\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"PSR_TYPES.js","sourceRoot":"","sources":["../../../src/constants/init-data/PSR_TYPES.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,gPAAgP;IACrQ,IAAI;IACJ,gEAAgE;IAChE,4GAA4G;IAC5G,kBAAkB;IAClB,gEAAgE;IAChE,sGAAsG;IACtG,kBAAkB;IAClB,gEAAgE;IAChE,gHAAgH;IAChH,kBAAkB;IAClB,gEAAgE;IAChE,yEAAyE;IACzE,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,4EAA4E;IAC5E,kFAAkF;IAClF,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,4EAA4E;IAC5E,kFAAkF;IAClF,kBAAkB;IAClB,IAAI;IACJ,IAAI;IACJ,gEAAgE;IAChE,oFAAoF;IACpF,kBAAkB;IAClB,gEAAgE;IAChE,oEAAoE;IACpE,kBAAkB;IAClB,gEAAgE;IAChE,4FAA4F;IAC5F,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,8EAA8E;IAC9E,kBAAkB;IAClB,gEAAgE;IAChE,wEAAwE;IACxE,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,gEAAgE;IAChE,kBAAkB;IAClB,gEAAgE;IAChE,uEAAuE;IACvE,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,oEAAoE;IACpE,kBAAkB;IAClB,gEAAgE;IAChE,+EAA+E;IAC/E,iFAAiF;IACjF,kBAAkB;IAClB,gEAAgE;IAChE,iFAAiF;IACjF,+EAA+E;IAC/E,kBAAkB;IAClB,gEAAgE;IAChE,wEAAwE;IACxE,kBAAkB;IAClB,gEAAgE;IAChE,kEAAkE;IAClE,kBAAkB;IAClB,gEAAgE;IAChE,4EAA4E;IAC5E,gFAAgF;IAChF,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,8EAA8E;IAC9E,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,2EAA2E;IAC3E,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,IAAI;IACJ,YAAY,CAAC"}
1
+ {"version":3,"file":"PSR_TYPES.js","sourceRoot":"","sources":["../../../src/constants/init-data/PSR_TYPES.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,gPAAgP;IACrQ,IAAI;IACJ,gEAAgE;IAChE,4GAA4G;IAC5G,kBAAkB;IAClB,gEAAgE;IAChE,sGAAsG;IACtG,kBAAkB;IAClB,gEAAgE;IAChE,gHAAgH;IAChH,kBAAkB;IAClB,gEAAgE;IAChE,yEAAyE;IACzE,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,4EAA4E;IAC5E,kFAAkF;IAClF,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,4EAA4E;IAC5E,kFAAkF;IAClF,kBAAkB;IAClB,IAAI;IACJ,IAAI;IACJ,gEAAgE;IAChE,oFAAoF;IACpF,kBAAkB;IAClB,gEAAgE;IAChE,oEAAoE;IACpE,kBAAkB;IAClB,gEAAgE;IAChE,4FAA4F;IAC5F,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,8EAA8E;IAC9E,kBAAkB;IAClB,gEAAgE;IAChE,wEAAwE;IACxE,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,gEAAgE;IAChE,kBAAkB;IAClB,gEAAgE;IAChE,uEAAuE;IACvE,kBAAkB;IAClB,gEAAgE;IAChE,sEAAsE;IACtE,kBAAkB;IAClB,gEAAgE;IAChE,oEAAoE;IACpE,kBAAkB;IAClB,gEAAgE;IAChE,+EAA+E;IAC/E,iFAAiF;IACjF,kBAAkB;IAClB,gEAAgE;IAChE,iFAAiF;IACjF,+EAA+E;IAC/E,kBAAkB;IAClB,gEAAgE;IAChE,+DAA+D;IAC/D,+EAA+E;IAC/E,kBAAkB;IAClB,gEAAgE;IAChE,+DAA+D;IAC/D,+EAA+E;IAC/E,kBAAkB;IAClB,gEAAgE;IAChE,wEAAwE;IACxE,kBAAkB;IAClB,gEAAgE;IAChE,kEAAkE;IAClE,kBAAkB;IAClB,gEAAgE;IAChE,4EAA4E;IAC5E,gFAAgF;IAChF,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,8EAA8E;IAC9E,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,gEAAgE;IAChE,2EAA2E;IAC3E,+EAA+E;IAC/E,kBAAkB;IAClB,IAAI;IACJ,IAAI;IACJ,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BaseVoltage, Bay, Diagram, IdentifiedObject, Model } from '../..';
1
+ import { BaseVoltage, Bay, Diagram, IdentifiedObject, Model, PowerTransformer } from '../..';
2
2
  import * as mysql from 'mysql';
3
3
  import { ConverterStatus, MySQL } from './config/db-config';
4
4
  import { StandortImpl } from './model/integral/Standort';
@@ -20,6 +20,7 @@ export declare class ConverterIntegral7 {
20
20
  availableTableNames: string[];
21
21
  private readonly integralID2UUID;
22
22
  private readonly UUID2IntegralID;
23
+ private readonly statcomRegulatingControls;
23
24
  standortAnzahl: number;
24
25
  leitungsAnzahl: number;
25
26
  hgueLeitungsAnzahl: number;
@@ -74,6 +75,8 @@ export declare class ConverterIntegral7 {
74
75
  convertGeneratoren(knotenSfIDs: number[], energyTypesConfig: any): Promise<void>;
75
76
  convertKraftwerksbloeke(knotenSfIDs: number[], energyTypesConfig: any): Promise<void>;
76
77
  convertErsatzQuerweige(anschlussIDs: number[]): Promise<void>;
78
+ convertStatcom(knotenSfIDs: number[]): Promise<void>;
79
+ addTerminal2StatcomRegulatingControl(i7TrafoID: number, powerTransformer: PowerTransformer): Promise<void>;
77
80
  convertKnotenSf(schaltfeldIDs: number[]): Promise<void>;
78
81
  convertKnotenKf(querkupplungIDs: number[]): Promise<void>;
79
82
  convertKnotenLk(laengskupplungIDs: number[]): Promise<void>;
@@ -48,11 +48,13 @@ const ConformLoadGroup_1 = require("../../model/loadmodel/ConformLoadGroup");
48
48
  const ConformLoad_1 = require("../../model/loadmodel/ConformLoad");
49
49
  const LinearShuntCompensator_1 = require("../../model/wires/LinearShuntCompensator");
50
50
  const SynchronousMachineOperatingMode_1 = require("../../model/wires/SynchronousMachineOperatingMode");
51
+ const StaticVarCompensator_1 = require("../../model/wires/StaticVarCompensator");
51
52
  class ConverterIntegral7 {
52
53
  constructor() {
53
54
  this.limit = 100;
54
55
  this.integralID2UUID = new Map();
55
56
  this.UUID2IntegralID = new Map();
57
+ this.statcomRegulatingControls = new Map();
56
58
  this.schaltfeldIDs = [];
57
59
  this.querkupplungIDs = [];
58
60
  this.laengskupplungIDs = [];
@@ -210,6 +212,9 @@ class ConverterIntegral7 {
210
212
  if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
211
213
  yield this.convertKompensationskondensatoren([...knotenSoIDs, ...this.knotenSfIDs]);
212
214
  }
215
+ if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
216
+ yield this.convertStatcom([...knotenSoIDs, ...this.knotenSfIDs]);
217
+ }
213
218
  const containerStarreVerbindungen = [...this.schaltfeldIDs, ...this.querkupplungIDs, ...this.laengskupplungIDs];
214
219
  if (containerStarreVerbindungen.length > 0) {
215
220
  yield this.convertStarreVerbindungen(containerStarreVerbindungen);
@@ -263,6 +268,7 @@ class ConverterIntegral7 {
263
268
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.windGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
264
269
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.solarGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
265
270
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.linearShuntCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
271
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
266
272
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
267
273
  this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.fossilFuel, __1.RDF_XML.PROFILE_EQ);
268
274
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.reactiveCapabilityCurve, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -278,6 +284,8 @@ class ConverterIntegral7 {
278
284
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
279
285
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
280
286
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
287
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
288
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
281
289
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svStatus, __1.RDF_XML.PROFILE_SV);
282
290
  this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
283
291
  this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
@@ -301,6 +309,7 @@ class ConverterIntegral7 {
301
309
  this.cimModel.windGeneratingUnit.clear();
302
310
  this.cimModel.solarGeneratingUnit.clear();
303
311
  this.cimModel.linearShuntCompensators.clear();
312
+ this.cimModel.staticVarCompensator.clear();
304
313
  this.cimModel.regulatingControl.clear();
305
314
  this.cimModel.reactiveCapabilityCurve.clear();
306
315
  this.cimModel.junctions.clear();
@@ -412,7 +421,6 @@ class ConverterIntegral7 {
412
421
  const offset = i * this.limit;
413
422
  const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
414
423
  yield this.convertLaengskondensatoren(currentLimit, offset, defaultValuesConfig);
415
- console.log('Export Längskondensatoren ' + this.cimModel.seriesCompensators.size);
416
424
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
417
425
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
418
426
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
@@ -439,13 +447,16 @@ class ConverterIntegral7 {
439
447
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
440
448
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
441
449
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
450
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
442
451
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
443
452
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
444
453
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
454
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
445
455
  this.cimModel.powerTransformer.clear();
446
456
  this.cimModel.powerTransformerEnds.clear();
447
457
  this.cimModel.currentLimits.clear();
448
458
  this.cimModel.operationalLimitSets.clear();
459
+ this.cimModel.regulatingControl.clear();
449
460
  this.cimModel.tapChangerControls.clear();
450
461
  this.cimModel.ratioTapChangers.clear();
451
462
  for (const table of this.cimModel.ratioTapChangerTables.values()) {
@@ -478,6 +489,9 @@ class ConverterIntegral7 {
478
489
  this.cimModel.ratioTapChangers.clear();
479
490
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
480
491
  this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
492
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
493
+ this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
494
+ this.cimModel.regulatingControl.clear();
481
495
  this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.terminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
482
496
  this.cimModel.operationalLimitSets.clear();
483
497
  for (const table of this.cimModel.ratioTapChangerTables.values()) {
@@ -1322,6 +1336,79 @@ class ConverterIntegral7 {
1322
1336
  }
1323
1337
  });
1324
1338
  }
1339
+ convertStatcom(knotenSfIDs) {
1340
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1341
+ if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
1342
+ const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STATCOM, 0, 0, knotenSfIDs));
1343
+ for (const i7Data of result) {
1344
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1345
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1346
+ __1.createSvStatus(this.cimModel, inBetrieb, statVarCom);
1347
+ const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1348
+ let terminal;
1349
+ if (connectivityNode) {
1350
+ terminal = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1351
+ const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1352
+ if (equipmentContainer) {
1353
+ statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1354
+ }
1355
+ else {
1356
+ console.log(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1357
+ }
1358
+ }
1359
+ else {
1360
+ console.log(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1361
+ }
1362
+ const regulatingControl = utils_2.createRegulatingControl(`RC_${statVarCom.name}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1363
+ const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1364
+ regulatingControl.targetValue = uref;
1365
+ statVarCom.voltageSetPoint = uref;
1366
+ const flagOS = utils_2.convertToBooleanI7(i7Data.flag_os);
1367
+ if (flagOS && i7Data.trafo) {
1368
+ this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1369
+ this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1370
+ }
1371
+ else if (terminal) {
1372
+ regulatingControl.terminalUUID = terminal.mrid;
1373
+ }
1374
+ else {
1375
+ console.log(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1376
+ }
1377
+ this.cimModel.addStaticVarCompensator(statVarCom);
1378
+ this.integralID2UUID.set(i7Data.id, statVarCom.mrid);
1379
+ }
1380
+ }
1381
+ else {
1382
+ console.log(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1383
+ }
1384
+ });
1385
+ }
1386
+ addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
1387
+ var _a;
1388
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
1389
+ if (this.statcomRegulatingControls.has(i7TrafoID)) {
1390
+ if (powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds.length) {
1391
+ let voltage = 0;
1392
+ let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
1393
+ for (const pEnd of powerTransformer.powerTransformerEnds) {
1394
+ const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
1395
+ if (!baseVoltage)
1396
+ continue;
1397
+ const v = (_a = baseVoltage.nominalVoltage) === null || _a === void 0 ? void 0 : _a.value;
1398
+ if (v > voltage) {
1399
+ voltage = v;
1400
+ powertransfomerEnd = pEnd;
1401
+ }
1402
+ }
1403
+ const terminalUUID = powertransfomerEnd.terminalUUID;
1404
+ const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
1405
+ regulatingControl.terminalUUID = terminalUUID;
1406
+ this.statcomRegulatingControls.delete(i7TrafoID);
1407
+ this.cimModel.addRegulatingControl(regulatingControl);
1408
+ }
1409
+ }
1410
+ });
1411
+ }
1325
1412
  convertKnotenSf(schaltfeldIDs) {
1326
1413
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1327
1414
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SF)) {
@@ -2075,6 +2162,7 @@ class ConverterIntegral7 {
2075
2162
  }
2076
2163
  this.cimModel.addPowerTransformer(powerTransformer);
2077
2164
  this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2165
+ this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2078
2166
  }
2079
2167
  }
2080
2168
  else {
@@ -2263,6 +2351,7 @@ class ConverterIntegral7 {
2263
2351
  }
2264
2352
  this.cimModel.addPowerTransformer(powerTransformer);
2265
2353
  this.integralID2UUID.set(i7Data.id, powerTransformer.mrid);
2354
+ this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2266
2355
  }
2267
2356
  }
2268
2357
  else {