@enervance/insight-cim-model 0.0.277 → 0.0.279

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 (76) hide show
  1. package/dist/analysis/powerflow/powerflow.util.d.ts +213 -0
  2. package/dist/analysis/powerflow/powerflow.util.js +1466 -0
  3. package/dist/analysis/powerflow/powerflow.util.js.map +1 -0
  4. package/dist/constants/cim-class-names.d.ts +4 -0
  5. package/dist/constants/cim-class-names.js +4 -0
  6. package/dist/constants/cim-class-names.js.map +1 -1
  7. package/dist/converter/integral7/converter.integral7.d.ts +3 -3
  8. package/dist/converter/integral7/converter.integral7.js +114 -61
  9. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  10. package/dist/converter/integral7/dl-convert/executor.js +22 -55
  11. package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
  12. package/dist/converter/integral7/interface-i7/export-frame-i7.js +6 -1
  13. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  14. package/dist/converter/integral7/model/interfaces.d.ts +7 -1
  15. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  16. package/dist/converter/integral7/sql/integral.sql.d.ts +3 -0
  17. package/dist/converter/integral7/sql/integral.sql.js +8 -2
  18. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  19. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +1 -0
  20. package/dist/interfaces/model/core/ITerminal.d.ts +0 -1
  21. package/dist/model/core/ConnectivityNode.js +2 -0
  22. package/dist/model/core/ConnectivityNode.js.map +1 -1
  23. package/dist/model/core/Equipment.js +1 -0
  24. package/dist/model/core/Equipment.js.map +1 -1
  25. package/dist/model/core/IdentifiedObject.d.ts +3 -0
  26. package/dist/model/core/IdentifiedObject.js +7 -0
  27. package/dist/model/core/IdentifiedObject.js.map +1 -1
  28. package/dist/model/core/Terminal.d.ts +1 -0
  29. package/dist/model/core/Terminal.js +11 -8
  30. package/dist/model/core/Terminal.js.map +1 -1
  31. package/dist/model/dc/CsConverter.js.map +1 -1
  32. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.d.ts +3 -0
  33. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js +4 -1
  34. package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js.map +1 -1
  35. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +1 -0
  36. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +2 -1
  37. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  38. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +1 -0
  39. package/dist/model/extensions/amprion/core/AMPRIONLine.js +2 -0
  40. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  41. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +1 -0
  42. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  43. package/dist/model/extensions/amprion/wires/AMPRIONLinearShuntCompensator.d.ts +14 -0
  44. package/dist/model/extensions/amprion/wires/AMPRIONLinearShuntCompensator.js +50 -0
  45. package/dist/model/extensions/amprion/wires/AMPRIONLinearShuntCompensator.js.map +1 -0
  46. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.d.ts +1 -0
  47. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +4 -2
  48. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  49. package/dist/model/extensions/integral/dc/DCConverterUnit.d.ts +1 -0
  50. package/dist/model/extensions/integral/dc/DCConverterUnit.js +2 -0
  51. package/dist/model/extensions/integral/dc/DCConverterUnit.js.map +1 -1
  52. package/dist/model/extensions/integral/wires/INTEGRALEnergySource.d.ts +28 -0
  53. package/dist/model/extensions/integral/wires/INTEGRALEnergySource.js +177 -0
  54. package/dist/model/extensions/integral/wires/INTEGRALEnergySource.js.map +1 -0
  55. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +5 -0
  56. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +88 -0
  57. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  58. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  59. package/dist/model/generation/HydroGeneratingUnit.d.ts +6 -0
  60. package/dist/model/generation/HydroGeneratingUnit.js +62 -0
  61. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  62. package/dist/model/wires/EnergySource.js +14 -13
  63. package/dist/model/wires/EnergySource.js.map +1 -1
  64. package/dist/model/wires/LinearShuntCompensator.d.ts +5 -0
  65. package/dist/model/wires/LinearShuntCompensator.js +45 -25
  66. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  67. package/dist/model/wires/SeriesCompensator.js +1 -2
  68. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  69. package/dist/model/wires/ShuntCompensator.d.ts +1 -0
  70. package/dist/model/wires/ShuntCompensator.js +7 -0
  71. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  72. package/dist/model/wires/SynchronousMachine.js +4 -4
  73. package/dist/utils2/cim.model.utils.js +8 -0
  74. package/dist/utils2/cim.model.utils.js.map +1 -1
  75. package/dist/utils2/parser.utils.js.map +1 -1
  76. package/package.json +1 -1
@@ -148,6 +148,8 @@ const i7_graph_utils_1 = require("./model/i7-graph-utils.js");
148
148
  const TopologicalNode_1 = require("../../model/topology/TopologicalNode.js");
149
149
  const geodata_util_1 = require("../../util/geodata.util.js");
150
150
  const DCLineSegment_1 = require("../../model/extensions/integral/dc/DCLineSegment.js");
151
+ const AMPRIONLinearShuntCompensator_1 = require("../../model/extensions/amprion/wires/AMPRIONLinearShuntCompensator.js");
152
+ const INTEGRALEnergySource_1 = require("../../model/extensions/integral/wires/INTEGRALEnergySource.js");
151
153
  class ConverterIntegral7 {
152
154
  set configurableDLConvertOptions(arg) {
153
155
  tslib_1.__classPrivateFieldSet(this, _ConverterIntegral7_configurableDLConvertOptions, arg, "f");
@@ -231,6 +233,7 @@ class ConverterIntegral7 {
231
233
  continue;
232
234
  yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
233
235
  }
236
+ /** EQ, SSH, AMPI7 ... Profile */
234
237
  this.logger.debug('Convert MAS Profiles');
235
238
  console.log('Convert MAS Profiles');
236
239
  for (const entry of this.exportFrames.entries()) {
@@ -316,6 +319,7 @@ class ConverterIntegral7 {
316
319
  let startTime = perf_hooks.performance.now();
317
320
  //await this.convertRegelzone(cimModel, defaultValuesConfig);
318
321
  logExecutionTime(this.logger, startTime, `convertRegelzone(${cimModel.controlArea.size})`);
322
+ const marktGebiet = this.isTableAvailable(integral_sql_1.Integral7TableNames.MARKTGEBIET) ? yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.MARKTGEBIET, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MARKTGEBIET), [])) : new Array();
319
323
  startTime = perf_hooks.performance.now();
320
324
  /** Standort -> Substation */
321
325
  yield this.convertStandorte(cimModel, integral7Modell, subGeoRegionsI7IDs, defaultValuesConfig);
@@ -357,7 +361,7 @@ class ConverterIntegral7 {
357
361
  /** Abzweigpunkte KnotenSo -> ConnectivityNode */
358
362
  startTime = perf_hooks.performance.now();
359
363
  if (standortIDs.length)
360
- yield this.convertKnotenSo(frame, integral7Modell, standortIDs, defaultValuesConfig);
364
+ yield this.convertKnotenSo(frame, integral7Modell, standortIDs, defaultValuesConfig, marktGebiet);
361
365
  logExecutionTime(this.logger, startTime, `convertKnotenSO()`);
362
366
  const knotenSoIDs = [...integral7Modell.integralKnotenSo.keys()];
363
367
  /** KnotenSf */
@@ -386,7 +390,7 @@ class ConverterIntegral7 {
386
390
  /** Sammelschienenabschnitte -> BusbarSections */
387
391
  startTime = perf_hooks.performance.now();
388
392
  if (schaltanlagenAbschnittIDs.length > 0)
389
- yield this.convertSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs);
393
+ yield this.convertSammelschienenAbschnitte(cimModel, integral7Modell, schaltanlagenAbschnittIDs, marktGebiet);
390
394
  logExecutionTime(this.logger, startTime, `convertSammelschienenAbschnitte(${cimModel.busbarSections.size})`);
391
395
  /** starre Anschluesse als Junction.
392
396
  * Sammelschienen müssen zuertst konvertiert werden. */
@@ -558,6 +562,7 @@ class ConverterIntegral7 {
558
562
  startTime = perf_hooks.performance.now();
559
563
  yield this.createTopologicalNodes(cimModel);
560
564
  logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
565
+ /** SV Profile */
561
566
  /** TopologicalNodes From- und To-Attribute setzen*/
562
567
  /** Suche alle Terminals mit nicht ausgeprägten ConnectivityNode
563
568
  * Siche das ConnectivityNode in BoundaryFrames */
@@ -1038,8 +1043,8 @@ class ConverterIntegral7 {
1038
1043
  }
1039
1044
  });
1040
1045
  }
1041
- convertKnotenSo(frame, integral7, standortIDs, defaultValuesConfig) {
1042
- var _a, _b;
1046
+ convertKnotenSo(frame, integral7, standortIDs, defaultValuesConfig, marktGebiet) {
1047
+ var _a, _b, _c;
1043
1048
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1044
1049
  const cimModel = frame.cimModel;
1045
1050
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
@@ -1047,6 +1052,7 @@ class ConverterIntegral7 {
1047
1052
  const netzGruppe = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), []));
1048
1053
  for (const i7Data of result) {
1049
1054
  const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
1055
+ const marktgebiet = marktGebiet.filter(elem => elem.id === i7Data.marktgebiet);
1050
1056
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
1051
1057
  const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
1052
1058
  const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), i7Data.bezeichner, i7Data.kurzname);
@@ -1055,10 +1061,11 @@ class ConverterIntegral7 {
1055
1061
  vl.addConnectivityNode(connectivityNode);
1056
1062
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
1057
1063
  connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
1064
+ connectivityNode.marktGebiet = (_b = marktgebiet === null || marktgebiet === void 0 ? void 0 : marktgebiet.at(0)) === null || _b === void 0 ? void 0 : _b.bezeichner;
1058
1065
  if (frame.boundary) {
1059
1066
  connectivityNode.boundaryPoint = true;
1060
1067
  }
1061
- const key = integral_sql_1.I7Objects.KNOTEN_SO + ((_b = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _b !== void 0 ? _b : '');
1068
+ const key = integral_sql_1.I7Objects.KNOTEN_SO + ((_c = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _c !== void 0 ? _c : '');
1062
1069
  const junction = new Junction_1.Junction(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, key), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), connectivityNode.getUUID().substring(0, 8), "_J"]));
1063
1070
  this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
1064
1071
  const un = (0, utils_2.getU)(i7Data.un);
@@ -1117,8 +1124,8 @@ class ConverterIntegral7 {
1117
1124
  }
1118
1125
  });
1119
1126
  }
1120
- convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
1121
- var _a, _b, _c;
1127
+ convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs, marktGebiet) {
1128
+ var _a, _b, _c, _d;
1122
1129
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1123
1130
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
1124
1131
  const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
@@ -1126,6 +1133,7 @@ class ConverterIntegral7 {
1126
1133
  for (const i7Data of result) {
1127
1134
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
1128
1135
  const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
1136
+ const marktgebiet = marktGebiet.filter(elem => elem.id === i7Data.marktgebiet);
1129
1137
  let saab = undefined;
1130
1138
  if (integral7.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
1131
1139
  saab = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
@@ -1135,10 +1143,11 @@ class ConverterIntegral7 {
1135
1143
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
1136
1144
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
1137
1145
  connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
1146
+ connectivityNode.marktGebiet = (_b = marktgebiet === null || marktgebiet === void 0 ? void 0 : marktgebiet.at(0)) === null || _b === void 0 ? void 0 : _b.bezeichner;
1138
1147
  const keyBusbarSection = [
1139
1148
  integral_sql_1.I7Objects.SAMMELSCHIENE,
1140
- (_b = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getUUID()) !== null && _b !== void 0 ? _b : '',
1141
- (_c = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _c !== void 0 ? _c : ''
1149
+ (_c = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getUUID()) !== null && _c !== void 0 ? _c : '',
1150
+ (_d = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _d !== void 0 ? _d : ''
1142
1151
  ].join('');
1143
1152
  const uuidBusbarSection = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.BusbarSection, this.configUuid, keyBusbarSection);
1144
1153
  const busbarSection = new BusbarSection_1.BusbarSection(uuidBusbarSection, i7Data.bezeichner, i7Schaltanlagenabschnitt.kurzname);
@@ -1276,9 +1285,6 @@ class ConverterIntegral7 {
1276
1285
  const key = integral_sql_1.I7Objects.SCHLAUFE + String(i7Data.id);
1277
1286
  const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
1278
1287
  const terminal = new Terminal_1.Terminal(uuid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
1279
- if (terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
1280
- const stop = true;
1281
- }
1282
1288
  terminal.connected = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
1283
1289
  terminal.phases = PhaseCode_1.PhaseCode.ABC;
1284
1290
  terminal.key = integral_prefix_1.SCHLAUFE_PRAEFIX + i7Data.bezeichner;
@@ -1516,9 +1522,6 @@ class ConverterIntegral7 {
1516
1522
  for (const i7Data of result) {
1517
1523
  const genType = this.generatorTypen.get(i7Data.nametyp);
1518
1524
  const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
1519
- if (synchronousMachine.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F') {
1520
- let stop = true;
1521
- }
1522
1525
  const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
1523
1526
  const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : undefined;
1524
1527
  const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
@@ -1586,19 +1589,39 @@ class ConverterIntegral7 {
1586
1589
  }
1587
1590
  /** Ermittle die Blocktransformatoren*/ //TODO: das Mapping per Abfrage in den convertTrafoXW-Methoden durchführen.
1588
1591
  if ((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_1)) {
1589
- this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_1));
1592
+ this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_1)); //This is only needed in case powertransformer is converteed after generating units
1593
+ const pt = cimModel.getPowerTransformer(this.integralID2UUID.get((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_1)));
1594
+ if (pt != undefined) {
1595
+ pt.isPartOfGeneratorUnit = true;
1596
+ }
1590
1597
  }
1591
1598
  if ((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_2)) {
1592
- this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_2));
1599
+ this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_2)); //This is only needed in case powertransformer is converteed after generating units
1600
+ const pt = cimModel.getPowerTransformer(this.integralID2UUID.get((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_2)));
1601
+ if (pt != undefined) {
1602
+ pt.isPartOfGeneratorUnit = true;
1603
+ }
1593
1604
  }
1594
1605
  if ((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_3)) {
1595
- this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_3));
1606
+ this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_3)); //This is only needed in case powertransformer is converteed after generating units
1607
+ const pt = cimModel.getPowerTransformer(this.integralID2UUID.get((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_3)));
1608
+ if (pt != undefined) {
1609
+ pt.isPartOfGeneratorUnit = true;
1610
+ }
1596
1611
  }
1597
1612
  if ((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_4)) {
1598
- this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_4));
1613
+ this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_4)); //This is only needed in case powertransformer is converteed after generating units
1614
+ const pt = cimModel.getPowerTransformer(this.integralID2UUID.get((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_4)));
1615
+ if (pt != undefined) {
1616
+ pt.isPartOfGeneratorUnit = true;
1617
+ }
1599
1618
  }
1600
1619
  if ((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_5)) {
1601
- this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_5));
1620
+ this.blocktransformatoren.push((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_5)); //This is only needed in case powertransformer is converteed after generating units
1621
+ const pt = cimModel.getPowerTransformer(this.integralID2UUID.get((0, parser_utils_1.convertToNumberI7)(i7Data.blocktrafo_5)));
1622
+ if (pt != undefined) {
1623
+ pt.isPartOfGeneratorUnit = true;
1624
+ }
1602
1625
  }
1603
1626
  const prio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
1604
1627
  synchronousMachine.referencePriority = prio;
@@ -1634,6 +1657,7 @@ class ConverterIntegral7 {
1634
1657
  synchronousMachine.setReactivePower(q * -1); //convert to load sign system
1635
1658
  synchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined; //convert to load sign system
1636
1659
  synchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined; //convert to load sign system
1660
+ synchronousMachine.kr = i7Data.kr;
1637
1661
  /** TODO Berechnung überprüfen => DONE */
1638
1662
  /* const s = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));*/
1639
1663
  const sr = (0, parser_utils_1.isNumericI7)(i7Data.sr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sr) : ((0, parser_utils_1.isNumericI7)(genType === null || genType === void 0 ? void 0 : genType.sr) ? (0, parser_utils_1.convertToNumberI7)(genType.sr) : undefined);
@@ -2122,8 +2146,8 @@ class ConverterIntegral7 {
2122
2146
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2123
2147
  for (const i7Data of result) {
2124
2148
  const einspeisePrio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : 1;
2125
- const flag_lfl = (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_lfl);
2126
- const flag_ks = (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_ks);
2149
+ const flag_lfl = (0, parser_utils_1.isBooleanI7)(i7Data.flag_lfl) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_lfl) : false;
2150
+ const flag_ks = (0, parser_utils_1.isBooleanI7)(i7Data.flag_ks) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_ks) : false;
2127
2151
  const usoll = (0, parser_utils_1.isNumericI7)(i7Data.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7Data.usoll) : undefined;
2128
2152
  const r_ext = (0, parser_utils_1.isNumericI7)(i7Data.r_ext) ? (0, parser_utils_1.convertToNumberI7)(i7Data.r_ext) : undefined;
2129
2153
  const x_ext = (0, parser_utils_1.isNumericI7)(i7Data.x_ext) ? (0, parser_utils_1.convertToNumberI7)(i7Data.x_ext) : undefined;
@@ -2169,21 +2193,21 @@ class ConverterIntegral7 {
2169
2193
  equivalentInjection.regulationTarget = usoll;
2170
2194
  equivalentInjection.rExt = r_ext;
2171
2195
  equivalentInjection.xExt = x_ext;
2172
- equivalentInjection.r = r1;
2173
- equivalentInjection.r0 = r0;
2174
- equivalentInjection.r2 = r1;
2175
- equivalentInjection.x = x1;
2176
- equivalentInjection.x0 = x0;
2177
- equivalentInjection.x2 = x1;
2196
+ equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
2197
+ equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ? r0 : 1e9;
2198
+ equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
2199
+ equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
2200
+ equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ? x0 : 1e9;
2201
+ equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
2178
2202
  }
2179
2203
  else if (flag_lfl || flag_ks) {
2180
2204
  equivalentInjection.regulationCapability = false;
2181
- equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ? 1e9 : r1;
2182
- equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ? 1e9 : r0;
2183
- equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ? 1e9 : r1;
2184
- equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ? 1e9 : x1;
2185
- equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ? 1e9 : x0;
2186
- equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ? 1e9 : x1;
2205
+ equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
2206
+ equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ? r0 : 1e9;
2207
+ equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
2208
+ equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
2209
+ equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ? x0 : 1e9;
2210
+ equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
2187
2211
  }
2188
2212
  /** Export Extended Ward equivalent with no voltage regulation */
2189
2213
  else if (((r_ext !== undefined && r_ext !== 0) || (x_ext !== undefined && x_ext !== 0))) {
@@ -2554,14 +2578,16 @@ class ConverterIntegral7 {
2554
2578
  }
2555
2579
  }
2556
2580
  for (const i7Data of result) {
2557
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_LSC']), i7Data.kurzname);
2581
+ const shunt = new AMPRIONLinearShuntCompensator_1.AMPRIONLinearShuntCompensator((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_LSC']), i7Data.kurzname);
2558
2582
  // Get electrical properties
2559
2583
  const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : undefined;
2584
+ const isMscdn = (0, parser_utils_1.isBooleanI7)(i7Data.custom_IsMSCDN) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.custom_IsMSCDN) : undefined;
2560
2585
  const qr = (0, parser_utils_1.isNumericI7)(i7Data.qr) ? i7Data.qr : undefined;
2561
2586
  const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? i7Data.pr : undefined;
2562
2587
  shunt.nomU = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? i7Data.ur : undefined;
2563
2588
  // Set extension properties (AMPI7)
2564
2589
  shunt.normallyInService = inBetrieb;
2590
+ shunt.isMscdn = isMscdn;
2565
2591
  // Set electrical properties (EQ)
2566
2592
  if ((0, parser_utils_1.isNumericI7)(i7Data.aktstufe) && (0, parser_utils_1.isNumericI7)(i7Data.maxstufe)) {
2567
2593
  shunt.sections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
@@ -2846,11 +2872,16 @@ class ConverterIntegral7 {
2846
2872
  const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : -1 * vsConverter.baseS;
2847
2873
  const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
2848
2874
  const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
2875
+ /** qDroop in pu */
2876
+ const qdroop = (0, parser_utils_1.isNumericI7)(i7Data.kv) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kv) : 0;
2877
+ if (qdroop !== 0 && maxQ - minQ > 0) {
2878
+ dcConverterUnit.kv = qdroop / Math.abs(maxQ - minQ);
2879
+ }
2849
2880
  /** SSH export values */
2850
2881
  vsConverter.p = (0, parser_utils_1.isNumericI7)(i7Data.pges) ? i7Data.pges * -1 : 0;
2851
2882
  vsConverter.q = (0, parser_utils_1.isNumericI7)(i7Data.qges) ? i7Data.qges * -1 : 0;
2852
2883
  this.setTopologyEnergySourceConsumerObject(cimModel, vsConverter, i7Data, targetVoltages);
2853
- vsConverter.droop = 0; //pu
2884
+ vsConverter.droop = qdroop; //pu
2854
2885
  vsConverter.droopCompensation = 0; //Resistance
2855
2886
  vsConverter.qShare = 100; //PerCent
2856
2887
  /** Status */
@@ -2917,12 +2948,13 @@ class ConverterIntegral7 {
2917
2948
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2918
2949
  for (const i7Data of result) {
2919
2950
  try {
2920
- const prio = i7Data.einspprio;
2951
+ const kr = i7Data.kr;
2921
2952
  const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
2922
2953
  const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
2923
- const energySource = new EnergySource_1.EnergySource(rdfid, i7Data.bezeichner, i7Data.kurzname);
2954
+ const energySource = new INTEGRALEnergySource_1.INTEGRALEnergySource(rdfid, i7Data.bezeichner, i7Data.kurzname);
2924
2955
  energySource.nominalVoltage = (_c = (_b = (_a = energySource.equipmentContainer) === null || _a === void 0 ? void 0 : _a.baseVoltage) === null || _b === void 0 ? void 0 : _b.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value;
2925
2956
  energySource.normallyInService = inBetrieb;
2957
+ energySource.kr = kr;
2926
2958
  const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
2927
2959
  energySource.activePower = powerData[0];
2928
2960
  energySource.reactivePower = powerData[1];
@@ -3007,9 +3039,6 @@ class ConverterIntegral7 {
3007
3039
  externalNetworkInjection.multiplierFactorUUID = mf.getUUID();
3008
3040
  }
3009
3041
  /** Convert EQ-profile dataset. */
3010
- if (i7Data.guid === '_ab64e281-72d0-45fb-8cb3-da4ae99a4f8c') {
3011
- const stop = true;
3012
- }
3013
3042
  const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
3014
3043
  externalNetworkInjection.maxP = maxP;
3015
3044
  const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
@@ -3042,9 +3071,9 @@ class ConverterIntegral7 {
3042
3071
  const skMin = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_min) : skAkt;
3043
3072
  const skMax = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_max) : skAkt;
3044
3073
  const nomV = externalNetworkInjection.getTerminals().values().next().value.getConnectivityNode().getBaseVoltageAsNumber();
3045
- const minIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, utils_2.calculateShortCircuitCurrent)(skMin, nomV) : undefined;
3074
+ const minIkSecond = (0, parser_utils_1.isNumericI7)(skMin) ? (0, utils_2.calculateShortCircuitCurrent)(skMin, nomV) : undefined;
3046
3075
  externalNetworkInjection.minInitialSymShCCurrent = minIkSecond;
3047
- const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, utils_2.calculateShortCircuitCurrent)(skMax, nomV) : undefined;
3076
+ const maxIkSecond = (0, parser_utils_1.isNumericI7)(skMax) ? (0, utils_2.calculateShortCircuitCurrent)(skMax, nomV) : undefined;
3048
3077
  externalNetworkInjection.maxInitialSymShCCurrent = maxIkSecond;
3049
3078
  const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
3050
3079
  /** Convert SSH-profile dataset. */
@@ -3194,7 +3223,7 @@ class ConverterIntegral7 {
3194
3223
  }
3195
3224
  if (cterminal) {
3196
3225
  tCn = cterminal.getConnectivityNode();
3197
- if (tCn) {
3226
+ if (tCn && usoll === undefined) {
3198
3227
  tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
3199
3228
  tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
3200
3229
  usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
@@ -3224,7 +3253,7 @@ class ConverterIntegral7 {
3224
3253
  }
3225
3254
  if (cterminal) {
3226
3255
  tCn = cterminal.getConnectivityNode();
3227
- if (tCn) {
3256
+ if (tCn && usoll === undefined) {
3228
3257
  tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
3229
3258
  tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
3230
3259
  usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
@@ -3280,7 +3309,7 @@ class ConverterIntegral7 {
3280
3309
  let uref = (0, parser_utils_1.isNumericI7)(i7DataSVC.uref) ? (0, parser_utils_1.convertToNumberI7)(i7DataSVC.uref) : undefined;
3281
3310
  if (cterminal) {
3282
3311
  tCn = cterminal.getConnectivityNode();
3283
- if (tCn) {
3312
+ if (tCn && usoll === undefined) {
3284
3313
  tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
3285
3314
  tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
3286
3315
  usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
@@ -3389,7 +3418,7 @@ class ConverterIntegral7 {
3389
3418
  }
3390
3419
  if (cterminal) {
3391
3420
  tCn = cterminal.getConnectivityNode();
3392
- if (tCn) {
3421
+ if (tCn && usoll === undefined) {
3393
3422
  tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
3394
3423
  tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
3395
3424
  usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
@@ -3419,7 +3448,7 @@ class ConverterIntegral7 {
3419
3448
  }
3420
3449
  if (cterminal) {
3421
3450
  tCn = cterminal.getConnectivityNode();
3422
- if (tCn) {
3451
+ if (tCn && usoll === undefined) {
3423
3452
  tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
3424
3453
  tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
3425
3454
  usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
@@ -3481,6 +3510,10 @@ class ConverterIntegral7 {
3481
3510
  i7Schluessel = ((_v = (_u = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getSubstation()) === null || _u === void 0 ? void 0 : _u.key) !== null && _v !== void 0 ? _v : '') +
3482
3511
  integral_prefix_1.HGUEKOPFKLASSISCH_PRAEFIX + i7Data.bezeichner;
3483
3512
  }
3513
+ else if (condEquip instanceof LinearShuntCompensator_1.LinearShuntCompensator) {
3514
+ // TODO
3515
+ i7Schluessel = '';
3516
+ }
3484
3517
  condEquip.key = i7Schluessel;
3485
3518
  if (hasGeneratingUnit) {
3486
3519
  const substation = this.determineEquipmentContainer('Substation', cimModel, equipmentContainer);
@@ -3852,16 +3885,21 @@ class ConverterIntegral7 {
3852
3885
  const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ), stpSchienenID));
3853
3886
  for (const i7Data of result) {
3854
3887
  const kdType = this.kdrosseltypen.get(i7Data.nametyp);
3855
- const iakt = (0, parser_utils_1.isNumericI7)(i7Data.iakt) ? i7Data.iakt : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.iakt) ? kdType === null || kdType === void 0 ? void 0 : kdType.iakt : undefined);
3856
- const xne = (0, parser_utils_1.isNumericI7)(i7Data.xne) ? i7Data.xne : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
3857
- const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) : undefined);
3858
- const imax = (0, parser_utils_1.isNumericI7)(i7Data.imax) ? i7Data.imax : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? kdType === null || kdType === void 0 ? void 0 : kdType.imax : undefined);
3859
- const imin = (0, parser_utils_1.isNumericI7)(i7Data.imin) ? i7Data.imin : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? kdType === null || kdType === void 0 ? void 0 : kdType.imin : undefined);
3888
+ const iakt = (0, parser_utils_1.isNumericI7)(i7Data.iakt) ? (0, parser_utils_1.convertToNumberI7)(i7Data.iakt) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.iakt) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.iakt) : undefined);
3889
+ const xne = (0, parser_utils_1.isNumericI7)(i7Data.xne) ? (0, parser_utils_1.convertToNumberI7)(i7Data.xne) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) : undefined);
3890
+ const rne = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rne) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) : undefined);
3891
+ const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.ur) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.ur) : undefined);
3892
+ const imax = (0, parser_utils_1.isNumericI7)(i7Data.imax) ? (0, parser_utils_1.convertToNumberI7)(i7Data.imax) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) : undefined);
3893
+ const imin = (0, parser_utils_1.isNumericI7)(i7Data.imin) ? (0, parser_utils_1.convertToNumberI7)(i7Data.imin) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) : undefined);
3894
+ //const keyGroundDisconnector = ClassNames.GroundDisconnector + i7Data.aknoten + i7Data.eknoten;
3895
+ //const uuidGroundDisconnector = CommonUtils.generateUUIDv5(ClassNames.GroundDisconnector, this.configUuid, keyGroundDisconnector);
3860
3896
  const connectivityNode = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
3861
3897
  let conductingEquip = undefined;
3862
3898
  if (iakt !== undefined && xne !== undefined || xne !== undefined && ur !== undefined || iakt !== undefined && ur !== undefined) {
3863
3899
  /** PetersenCoil */
3864
3900
  const petersenCoil = new PetersenCoil_1.PetersenCoil((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
3901
+ //const keyGroundDisconnector = ClassNames.Petersen + i7Data.aknoten + i7Data.eknoten;
3902
+ //const uuidGroundDisconnector = CommonUtils.generateUUIDv5(ClassNames.GroundDisconnector, this.configUuid, /*keyGroundDisconnector*/);
3865
3903
  if (xne !== undefined && ur !== undefined) {
3866
3904
  petersenCoil.xGroundNominal = xne;
3867
3905
  petersenCoil.nominalU = ur;
@@ -3880,6 +3918,7 @@ class ConverterIntegral7 {
3880
3918
  petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
3881
3919
  petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
3882
3920
  }
3921
+ petersenCoil.r = rne;
3883
3922
  petersenCoil.mode = PetersenCoilModeKind_1.PetersenCoilModeKind.automaticPositioning;
3884
3923
  this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
3885
3924
  conductingEquip = petersenCoil;
@@ -3887,7 +3926,7 @@ class ConverterIntegral7 {
3887
3926
  else {
3888
3927
  /** GroundingImpedance */
3889
3928
  const groundingImpedance = new GroundingImpedance_1.GroundingImpedance((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_GI']), i7Data.kurzname);
3890
- groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rne) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) : undefined);
3929
+ groundingImpedance.r = rne;
3891
3930
  groundingImpedance.x = xne;
3892
3931
  integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
3893
3932
  //integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
@@ -4048,6 +4087,7 @@ class ConverterIntegral7 {
4048
4087
  const leitungIDs = result.map(elem => elem.id);
4049
4088
  const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
4050
4089
  const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
4090
+ let mf = undefined;
4051
4091
  let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
4052
4092
  let tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
4053
4093
  if (cableAvailable && overheadAvailable) {
@@ -4095,9 +4135,12 @@ class ConverterIntegral7 {
4095
4135
  /** Wenn kein Stromkreisobjekt vorhanden ist, dann erstelle ein neues Objekt. */
4096
4136
  const uuidString = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Line, this.configUuid, i7Schluessel);
4097
4137
  let lineName = createLineName(i7Data, uuidString, lineNames);
4098
- const line = new AMPRIONLine_1.AMPRIONLine(uuidString, lineName);
4138
+ // Line (CGMES/CIM) -> ElmBranch
4139
+ const line = new AMPRIONLine_1.AMPRIONLine(uuidString, lineName, i7Data.kurzname); //TODO 'Kurzname' von INTEGRAL übernehmen, 'Kurzname' in das AMPRIONLine.number Attribut schreiben, Stromkreisabschnitt als zusätzliches Attribut für AMPRIONLine definieren und befüllen
4099
4140
  line.ukz = i7Data.ukz;
4100
4141
  line.key = i7Schluessel;
4142
+ line.number = i7Data.kurzname !== undefined && (0, parser_utils_1.isNumericI7)(i7Data.kurzname) ? i7Data.kurzname : undefined;
4143
+ line.stkabname = i7Data.stkabname;
4101
4144
  let acLineSegments = [];
4102
4145
  /** ACLineSegments erstellen */
4103
4146
  for (const stk of stromkreisabschnitte) {
@@ -4108,7 +4151,11 @@ class ConverterIntegral7 {
4108
4151
  '-' +
4109
4152
  (0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
4110
4153
  const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
4111
- const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname, i7Data.kommentar);
4154
+ if (uuid === '7c3971a3-f320-4883-b26e-d4f4c2cfbc6d' || uuid === '4b803684-24dd-4294-8203-922b807a4dc0' || uuid === 'ed09bb3f60e5445fa98a0b7d68987636') {
4155
+ let stop = true;
4156
+ }
4157
+ // acLineSegment -> ElmLne
4158
+ const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, line.name + '_' + stk.bezeichner, i7Data.stkabname, i7Data.kommentar); //'name', 'shortname' für alle INTEGRALACLineSegment übernehmen
4112
4159
  const key = acLineSegment.getUUID();
4113
4160
  const uuidWireObject = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.EVWireObject, this.configUuid, key);
4114
4161
  acLineSegment.key = i7Schluessel;
@@ -4121,10 +4168,13 @@ class ConverterIntegral7 {
4121
4168
  if (stk.baujahr) {
4122
4169
  util_cim_model_1.UtilCimModel.setLifecycleDate(wire, stk.baujahr);
4123
4170
  }
4124
- let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
4171
+ mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
4125
4172
  if (mf) {
4173
+ mf.ir = mf.p;
4174
+ //mf.p = undefined;
4126
4175
  cimModel.addMultiplierFactor(mf);
4127
4176
  acLineSegment.multiplierFactorUUID = mf.getUUID();
4177
+ acLineSegment.ltgmonitoring = (0, parser_utils_1.isBooleanI7)(stk.ltgmonitoring) ? (0, parser_utils_1.convertToBooleanI7)(stk.ltgmonitoring) : false;
4128
4178
  }
4129
4179
  acLineSegment.equipmentContainer = line;
4130
4180
  line.addEquipment(acLineSegment);
@@ -4711,10 +4761,12 @@ class ConverterIntegral7 {
4711
4761
  }
4712
4762
  convertMultiplikationsfaktoren() {
4713
4763
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
4714
- // Trafo2WTypen
4715
4764
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR)) {
4716
4765
  const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR), []));
4717
4766
  for (const i7Data of result) {
4767
+ if ((0, utils_2.getName)(i7Data) === 'FLM_Zone3_Regional') {
4768
+ const stop = true;
4769
+ }
4718
4770
  const multFaktor = new INTEGRALMultiplierFactor_1.INTEGRALMultiplierFactor((0, parser_utils_1.getUUID)(undefined), (0, utils_2.getName)(i7Data), i7Data.kurzname, i7Data.kommentar);
4719
4771
  multFaktor.p = (0, parser_utils_1.isNumericI7)(i7Data.p) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p) : undefined;
4720
4772
  multFaktor.qInd = (0, parser_utils_1.isNumericI7)(i7Data.q_ind) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_ind) : undefined;
@@ -5562,7 +5614,7 @@ class ConverterIntegral7 {
5562
5614
  * @param equipmentKey Generierung einer persistenter UUID v5. Für PowerTransformer wird UUID des PowerTransformerEnds verwendet. Andernfalls die UUID des ConductingEquipments
5563
5615
  * */
5564
5616
  setConductingEquipmentOperationalLimit(cimModel, name, terminal, equipmentKey, limit, limitType, igrenz) {
5565
- if (!(limit !== undefined && limit > 0) || !(igrenz !== undefined && igrenz > 0))
5617
+ if (!(limit !== undefined && limit > 0) && !(igrenz !== undefined && igrenz > 0))
5566
5618
  return; //if 'limit' and 'igrenz' is not given leave
5567
5619
  /** OperationalLimitSet erstellen */
5568
5620
  const operationalLimitSetKey = terminal.getUUID() + equipmentKey;
@@ -5969,11 +6021,12 @@ class ConverterIntegral7 {
5969
6021
  for (const frame of boundaryFrames) {
5970
6022
  this.addDefaultObjectsLoadModel(frame.cimModel, defaultValuesConfig);
5971
6023
  this.addDefaultObjectsGeo(frame.cimModel, defaultValuesConfig);
5972
- frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_TP_BD, rdf_xml_1.RDF_XML.PROFILE_EQ_BD, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_DL], tempDirPath, this.configUuid);
5973
- // GL und DL als DependentModel
6024
+ frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_TP_BD, rdf_xml_1.RDF_XML.PROFILE_EQ_BD, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_DL, rdf_xml_1.RDF_XML.PROFILE_AMPI7], tempDirPath, this.configUuid);
6025
+ // GL als DependentModel
5974
6026
  frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_GL, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
5975
6027
  frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_DL, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
5976
6028
  frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_TP_BD, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
6029
+ frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_AMPI7, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
5977
6030
  // EQ als DependentModel muss zur Laufzeit gesetzt werden
5978
6031
  }
5979
6032
  this.exportFramesBoundary = this.associateGeoRegionsToExportFrames(boundaryFrames);