@enervance/insight-cim-model 0.0.32 → 0.0.34

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 (47) hide show
  1. package/dist/config/config.utils.js +2 -1
  2. package/dist/config/config.utils.js.map +1 -1
  3. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +1 -1
  4. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  5. package/dist/config/westnetz-neplan/callbacks/cb-psr.d.ts +2 -1
  6. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +22 -2
  7. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  8. package/dist/config/westnetz-neplan/neplan-load.config.js +1 -0
  9. package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
  10. package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +6 -0
  11. package/dist/config/westnetz-neplan/property-handler-westenergy.config.js +7 -1
  12. package/dist/config/westnetz-neplan/property-handler-westenergy.config.js.map +1 -1
  13. package/dist/converter/integral7/converter-i7.d.ts +3 -2
  14. package/dist/converter/integral7/converter-i7.js +208 -243
  15. package/dist/converter/integral7/converter-i7.js.map +1 -1
  16. package/dist/converter/integral7/interface-i7/export-frame-i7.js +11 -4
  17. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  18. package/dist/converter/integral7/utils-cgmes-export.js +6 -0
  19. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  20. package/dist/converter/integral7/utils.js +9 -1
  21. package/dist/converter/integral7/utils.js.map +1 -1
  22. package/dist/etl/etl-neplan/etl-neplan-csv.js +6 -8
  23. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  24. package/dist/etl/etl-neplan/etl-neplan-geo.js +0 -1
  25. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  26. package/dist/etl/etl-neplan/etl-neplan.js +11 -1
  27. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  28. package/dist/model/assets/Asset.d.ts +4 -0
  29. package/dist/model/assets/Asset.js +12 -0
  30. package/dist/model/assets/Asset.js.map +1 -1
  31. package/dist/model/assets/AssetDeployment.d.ts +7 -1
  32. package/dist/model/assets/AssetDeployment.js +37 -2
  33. package/dist/model/assets/AssetDeployment.js.map +1 -1
  34. package/dist/model/assets/DeploymentDate.d.ts +4 -0
  35. package/dist/model/assets/DeploymentDate.js +16 -1
  36. package/dist/model/assets/DeploymentDate.js.map +1 -1
  37. package/dist/model/core/PowerSystemResource.d.ts +1 -0
  38. package/dist/model/core/PowerSystemResource.js +5 -0
  39. package/dist/model/core/PowerSystemResource.js.map +1 -1
  40. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  41. package/dist/model/wires/PowerTransformer.js +27 -27
  42. package/dist/model/wires/PowerTransformer.js.map +1 -1
  43. package/dist/model/wires/RegulatingCondEq.js +1 -1
  44. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  45. package/dist/util/util-create.js +14 -18
  46. package/dist/util/util-create.js.map +1 -1
  47. package/package.json +1 -1
@@ -135,7 +135,6 @@ class ConverterI7 {
135
135
  convert(objectMappingConfig, defaultValuesConfig, energyTypesConfig, exportConfig, tempDirPath) {
136
136
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
137
137
  return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
138
- var _a, _b;
139
138
  try {
140
139
  yield this.createColumnIndex();
141
140
  yield this.configExportFrames(exportConfig, defaultValuesConfig, tempDirPath);
@@ -148,6 +147,7 @@ class ConverterI7 {
148
147
  yield this.queryLDroselAnschlussIDs();
149
148
  yield this.queryErsatzLaengsAnschlussIDs();
150
149
  yield this.queryLkondensatorAnschlussIDs();
150
+ console.log('Convert BD Profiles');
151
151
  for (const entry of this.exportFramesBoundary.entries()) {
152
152
  const geoRegionUUID = entry[0];
153
153
  const frame = entry[1];
@@ -156,33 +156,38 @@ class ConverterI7 {
156
156
  continue;
157
157
  yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
158
158
  }
159
+ console.log('Convert MAS Profiles');
159
160
  for (const entry of this.exportFrames.entries()) {
160
161
  const geoRegionUUID = entry[0];
161
162
  const frame = entry[1];
162
163
  const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
163
164
  if (!geoRegion)
164
165
  continue;
165
- frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_EQ_BD, (_a = this.exportFramesBoundary.entries().next()) === null || _a === void 0 ? void 0 : _a.value[1].getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
166
+ console.log(`Convert MAS profile: ${frame.mas}`);
166
167
  yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig);
167
168
  frame.validateCIMModel();
168
169
  const startTime = perf_hooks_1.performance.now();
169
170
  frame.openXMLModel();
171
+ console.log(`Serialize MAS profile: ${frame.mas}`);
170
172
  frame.serializeModel(defaultValuesConfig);
171
173
  yield frame.closeXMLModel();
172
174
  let endTime = perf_hooks_1.performance.now();
173
175
  frame.cimModel.purgeData();
174
176
  console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
175
177
  }
178
+ console.log('Serialize BD Profiles');
176
179
  for (const entry of this.exportFramesBoundary.entries()) {
177
180
  const geoRegionUUID = entry[0];
178
181
  const frame = entry[1];
179
182
  const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
180
183
  if (!geoRegion)
181
184
  continue;
182
- yield this.transformBoundaryModel(frame, (_b = this.exportFrames.entries().next()) === null || _b === void 0 ? void 0 : _b.value[1]);
185
+ console.log('Transform MAS Profiles');
186
+ yield this.transformBoundaryModel(frame, [...this.exportFrames.values()]);
183
187
  frame.validateCIMModel();
184
188
  const startTime = perf_hooks_1.performance.now();
185
189
  frame.openXMLModel();
190
+ console.log(`Serialize BD profile: ${frame.mas}`);
186
191
  frame.serializeModel(defaultValuesConfig);
187
192
  yield frame.closeXMLModel();
188
193
  let endTime = perf_hooks_1.performance.now();
@@ -386,7 +391,7 @@ class ConverterI7 {
386
391
  yield this.convertLeitungen(frame, integral7Modell, defaultValuesConfig);
387
392
  logExecutionTime(this.logger, startTime, `convertLeitungen`);
388
393
  startTime = perf_hooks_1.performance.now();
389
- yield this.convertErsatzLaengszweige(cimModel, integral7Modell, defaultValuesConfig);
394
+ yield this.convertErsatzLaengszweige(frame, integral7Modell, defaultValuesConfig);
390
395
  logExecutionTime(this.logger, startTime, `convertErsatzlaengszweige`);
391
396
  }
392
397
  startTime = perf_hooks_1.performance.now();
@@ -409,7 +414,7 @@ class ConverterI7 {
409
414
  .then((result) => {
410
415
  for (const i7Data of result) {
411
416
  const i7Schluesel = integral_prefix_1.GEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
412
- const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
417
+ const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_GR", `_${regions.length}`.toString()]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
413
418
  this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
414
419
  regions.push(region);
415
420
  }
@@ -433,8 +438,8 @@ class ConverterI7 {
433
438
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGELZONE)) {
434
439
  const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
435
440
  for (const i7Data of result) {
436
- const i7Schluesel = integral_prefix_1.REGELZONE_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
437
- const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), 'RZ_' + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
441
+ const i7Schluessel = integral_prefix_1.REGELZONE_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
442
+ const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_RZ", `_${cimModel.controlArea.size}`.toString()]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
438
443
  cimModel.addControlArea(ctrlarea);
439
444
  this.addIdMapping(i7Data.id, ctrlarea.mrid, integral_sql_1.Integral7TableNames.REGELZONE);
440
445
  }
@@ -453,11 +458,11 @@ class ConverterI7 {
453
458
  .then((result) => {
454
459
  for (const i7Data of result) {
455
460
  const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
456
- const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
461
+ const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), "_SGR", `_${subRegions.length}`.toString()]), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
457
462
  const regionUUID = this.integralID2UUID.get(i7Data.georegion);
458
463
  let region = regions.find(elem => elem.mrid === regionUUID);
459
464
  if (!region) {
460
- region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, defaultValuesConfig.GeographicalRegion.name);
465
+ region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, util_create_1.createNotation([defaultValuesConfig.GeographicalRegion.name, "_GR", `_${regions.length}`.toString()]));
461
466
  this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
462
467
  }
463
468
  subregion.region = region;
@@ -489,7 +494,7 @@ class ConverterI7 {
489
494
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
490
495
  integral_prefix_1.MITTIGER_PUNKT +
491
496
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
492
- const i7name = util_create_1.createNotation([utils_2.getName(i7Data), utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
497
+ const i7name = util_create_1.createNotation([utils_2.getName(i7Data), "_", utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
493
498
  const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.id + '', i7Schluessel, i7Data.stationsnummer, i7Data.ukz);
494
499
  let subregion = cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
495
500
  if (!subregion) {
@@ -541,7 +546,7 @@ class ConverterI7 {
541
546
  i7Data.un +
542
547
  integral_prefix_1.MITTIGER_PUNKT +
543
548
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
544
- const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Schluessel);
549
+ const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_VL", `_${cimModel.voltageLevels.size}`.toString()]), i7Data.kurzname, i7Schluessel);
545
550
  const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
546
551
  const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, un, this.exportFramesBoundary);
547
552
  vl.baseVoltage = baseVoltage;
@@ -593,7 +598,7 @@ class ConverterI7 {
593
598
  const i7Schluessel = voltageLevel.description +
594
599
  integral_prefix_1.SCHALTFELD_PRAEFIX +
595
600
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
596
- const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Schluessel);
601
+ const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_B", `_${cimModel.bays.size}`.toString()]), i7Data.kurzname, i7Schluessel);
597
602
  bay.number = i7Data.feldnummer + '';
598
603
  bay.locationID = i7Data.ips_folder_id;
599
604
  bay.voltageLevel = voltageLevel;
@@ -620,8 +625,8 @@ class ConverterI7 {
620
625
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, standortIDs));
621
626
  for (const i7Data of result) {
622
627
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
623
- const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), substation.name + "/" + utils_2.getName(i7Data), i7Data.kurzname);
624
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(utils_1.getUUID(i7Data.guid), 'Abzweig', String(i7Data.id));
628
+ const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_VL", `_${cimModel.voltageLevels.size}`.toString()]), i7Data.kurzname);
629
+ const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), String(i7Data.id));
625
630
  connectivityNode.setConnectivityNodeContainer(vl);
626
631
  vl.addConnectivityNode(connectivityNode);
627
632
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
@@ -668,10 +673,10 @@ class ConverterI7 {
668
673
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, schaltanlagenAbschnittIDs));
669
674
  for (const i7Data of result) {
670
675
  const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
671
- const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), utils_2.getName(i7Schaltanlagenabschnitt), i7Schaltanlagenabschnitt.kurzname);
676
+ const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), "_BBS", `_${cimModel.busbarSections.size}`.toString()]), i7Schaltanlagenabschnitt.kurzname);
672
677
  busbarSection.ipMax = i7Data.limit_ip;
673
678
  busbarSection.aggregate = false;
674
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
679
+ const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), i7Data.id.toString());
675
680
  const terminal = this.createConnection(cimModel, busbarSection, connectivityNode, PhaseCode_1.PhaseCode.ABC, true, 1);
676
681
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
677
682
  connectivityNode.nodeNumber = i7Data.id_psse_cape;
@@ -711,7 +716,7 @@ class ConverterI7 {
711
716
  const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
712
717
  for (const i7Data of result) {
713
718
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
714
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), 'knotensf cn', 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
719
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
715
720
  if (bay) {
716
721
  connectivityNode.connectivityNodeContainer = bay;
717
722
  bay.addConnectivityNode(connectivityNode);
@@ -735,7 +740,7 @@ class ConverterI7 {
735
740
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
736
741
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, querkupplungIDs));
737
742
  for (const i7Data of result) {
738
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), 'knotenkf cn', 'knotenkf');
743
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), 'knotenkf');
739
744
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
740
745
  if (bay) {
741
746
  connectivityNode.connectivityNodeContainer = bay;
@@ -758,7 +763,7 @@ class ConverterI7 {
758
763
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
759
764
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, laengskupplungIDs));
760
765
  for (const i7Data of result) {
761
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), utils_2.getName(i7Data), 'KnotenLk');
766
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), 'KnotenLk');
762
767
  const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
763
768
  if (bay) {
764
769
  connectivityNode.connectivityNodeContainer = bay;
@@ -781,7 +786,7 @@ class ConverterI7 {
781
786
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHLAUFE)) {
782
787
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SCHLAUFE, knotenSoIDs));
783
788
  for (const i7Data of result) {
784
- const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), 'T_Schlaufe', String(i7Data.id));
789
+ const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "-Schlaufe_T", `_${cimModel.terminals.size}`.toString()]), String(i7Data.id));
785
790
  terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
786
791
  terminal.phases = PhaseCode_1.PhaseCode.ABC;
787
792
  this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
@@ -809,7 +814,7 @@ class ConverterI7 {
809
814
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
810
815
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, knotenSfIDs));
811
816
  for (const i7Data of result) {
812
- const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new ConformLoad_1.ConformLoad(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data)) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data));
817
+ const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new ConformLoad_1.ConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CL", `_${cimModel.energyConsumers.size}`.toString()])) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_EC", `_${cimModel.energyConsumers.size}`.toString()]));
813
818
  this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
814
819
  const powerData = utils_2.getActiveReactivePower(i7Data);
815
820
  load.p = powerData[0];
@@ -855,7 +860,7 @@ class ConverterI7 {
855
860
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
856
861
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, knotenSfIDs));
857
862
  for (const i7Data of result) {
858
- const synchronousMachine = new SynchronousMachine_1.SynchronousMachine(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
863
+ const synchronousMachine = new SynchronousMachine_1.SynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SM", `_${cimModel.synchronousMachine.size}`.toString()]), i7Data.kurzname, i7Data.nameprimaertyp);
859
864
  synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
860
865
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
861
866
  if (utils_2.convertToNumberI7(i7Data.blocktrafo_1)) {
@@ -900,7 +905,7 @@ class ConverterI7 {
900
905
  synchronousMachine.aggregate = true;
901
906
  synchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : undefined;
902
907
  synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : undefined;
903
- const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), 'CurveData');
908
+ const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), util_create_1.createNotation(['CurveData', "_RCC", `_${cimModel.reactiveCapabilityCurve.size}`.toString()]));
904
909
  reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
905
910
  reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
906
911
  reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
@@ -920,43 +925,41 @@ class ConverterI7 {
920
925
  cimModel.addReactiveCapabilityCurve(reactiveCapabilityCurve);
921
926
  synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
922
927
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
923
- const regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_Gen_${i7Data.id}`);
924
- regulatingControl.enabled = inBetrieb;
925
- regulatingControl.targetValue = usoll;
928
+ let regulatingControl = undefined;
926
929
  switch (i7Data.spannungsgeregelt) {
927
930
  case 1: {
931
+ regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_Gen_${i7Data.id}`);
932
+ regulatingControl.targetValue = usoll;
928
933
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
929
934
  regulatingControl.discrete = false;
930
935
  regulatingControl.enabled = inBetrieb;
931
936
  synchronousMachine.controlEnabled = inBetrieb;
937
+ regulatingControl.addRegulatingCondEq(synchronousMachine);
938
+ synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
939
+ cimModel.addRegulatingControl(regulatingControl);
932
940
  break;
933
941
  }
934
942
  default: {
935
- regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
936
- regulatingControl.discrete = false;
937
- regulatingControl.enabled = inBetrieb;
938
- synchronousMachine.controlEnabled = inBetrieb;
943
+ synchronousMachine.controlEnabled = false;
939
944
  }
940
945
  }
941
- regulatingControl.addRegulatingCondEq(synchronousMachine);
942
- synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
943
946
  const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
944
947
  let generatingUnit;
945
948
  if (generatingUnitConfig) {
946
949
  switch (generatingUnitConfig.class) {
947
950
  case 'ThermalGeneratingUnit': {
948
- generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
951
+ generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_TGU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname, i7Data.nameprimaertyp);
949
952
  if (generatingUnitConfig.fuelType) {
950
953
  utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, cimModel);
951
954
  }
952
955
  break;
953
956
  }
954
957
  case 'SolarGeneratingUnit': {
955
- generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
958
+ generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_SGU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname, i7Data.nameprimaertyp);
956
959
  break;
957
960
  }
958
961
  case 'WindGeneratingUnit': {
959
- generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
962
+ generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_WGU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname, i7Data.nameprimaertyp);
960
963
  switch (generatingUnitConfig.fuelType) {
961
964
  case 'onshore': {
962
965
  generatingUnit.windGenUnitType = WindGenUnitKind_1.WindGenUnitKind.onshore;
@@ -974,18 +977,18 @@ class ConverterI7 {
974
977
  break;
975
978
  }
976
979
  case 'NuclearGeneratingUnit': {
977
- generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
980
+ generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_NGU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname);
978
981
  break;
979
982
  }
980
983
  case 'HydroGeneratingUnit': {
981
- generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
984
+ generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_HGU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname);
982
985
  generatingUnit.energyConversionCapability = HydroEnergyConversionKind_1.HydroEnergyConversionKind.pumpAndGenerator;
983
986
  break;
984
987
  }
985
988
  }
986
989
  }
987
990
  if (!generatingUnit) {
988
- generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
991
+ generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, "_GU", `_${cimModel.generatingUnit.size}`.toString()]), i7Data.kurzname);
989
992
  }
990
993
  generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
991
994
  generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
@@ -1012,7 +1015,6 @@ class ConverterI7 {
1012
1015
  smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? utils_2.convertToNumberI7(i7Data.xqu2s) : undefined;
1013
1016
  smtcr.synchronousMachine = synchronousMachine;
1014
1017
  synchronousMachine.synchronousMachineDynamics = smtcr;
1015
- cimModel.addRegulatingControl(regulatingControl);
1016
1018
  cimModel.addGeneratingUnit(generatingUnit);
1017
1019
  cimModel.addSynchronousMachine(synchronousMachine);
1018
1020
  cimModel.addSynchronousMachineTimeConstantReactance(smtcr);
@@ -1026,7 +1028,7 @@ class ConverterI7 {
1026
1028
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR)) {
1027
1029
  const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ASYNCHRONMOTOR, 0, 0, knotenSfIDs));
1028
1030
  for (const i7Data of result) {
1029
- const asynchronousMachine = new AsynchronousMachine_1.AsynchronousMachine(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
1031
+ const asynchronousMachine = new AsynchronousMachine_1.AsynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_AM", `_${cimModel.asynchronousMachine.size}`.toString()]), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
1030
1032
  asynchronousMachine.efficiency = i7Data.wirkungsgrad * 100;
1031
1033
  asynchronousMachine.iaIrRatio = i7Data.ilr_ir;
1032
1034
  asynchronousMachine.polePairNumber = i7Data.polpaarz;
@@ -1067,7 +1069,7 @@ class ConverterI7 {
1067
1069
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
1068
1070
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, knotenSfIDs));
1069
1071
  for (const i7Data of result) {
1070
- const synchronousMachine = new SynchronousMachine_1.SynchronousMachine(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1072
+ const synchronousMachine = new SynchronousMachine_1.SynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SM", `_${cimModel.synchronousMachine.size}`.toString()]), i7Data.kurzname);
1071
1073
  synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
1072
1074
  synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1073
1075
  synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
@@ -1159,7 +1161,7 @@ class ConverterI7 {
1159
1161
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
1160
1162
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZQUERZWEIG, knotenSfIDs));
1161
1163
  for (const i7Data of result) {
1162
- const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1164
+ const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_ENI", `_${cimModel.externalNetworkInjections.size}`.toString()]), i7Data.kurzname);
1163
1165
  const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1164
1166
  const kr = 0;
1165
1167
  externalNetworkInjection.governorSCD = kr;
@@ -1202,7 +1204,7 @@ class ConverterI7 {
1202
1204
  }
1203
1205
  convertBoundaryInjections2EquivalentInjection(cimModel, result) {
1204
1206
  for (const i7Data of result) {
1205
- const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1207
+ const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), 'BD_EI', `_${cimModel.equivalentInjections.size}`]), i7Data.kurzname);
1206
1208
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1207
1209
  const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
1208
1210
  equivalentInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
@@ -1236,10 +1238,11 @@ class ConverterI7 {
1236
1238
  this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.BOUNDARYINJECTION);
1237
1239
  }
1238
1240
  }
1239
- convertErsatzLaengszweige(cimModel, knotenSfIDs, defaultValuesConfig) {
1241
+ convertErsatzLaengszweige(frame, knotenSfIDs, defaultValuesConfig) {
1240
1242
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1243
+ const cimModel = frame.cimModel;
1241
1244
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG)) {
1242
- const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, 0, 0, []));
1245
+ const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, knotenSfIDs));
1243
1246
  for (const i7Data of result) {
1244
1247
  const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
1245
1248
  utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
@@ -1249,7 +1252,7 @@ class ConverterI7 {
1249
1252
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
1250
1253
  integral_prefix_1.MITTIGER_PUNKT +
1251
1254
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
1252
- const equivalentBranch = new EquivalentBranch_1.EquivalentBranch(utils_1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
1255
+ const equivalentBranch = new EquivalentBranch_1.EquivalentBranch(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([i7Data.bezeichner, '_EB', `_${cimModel.equivalentBranches.size}`]), i7Data.kurzname, i7Schluessel);
1253
1256
  const ur1 = utils_2.getU(i7Data.ur1, defaultValuesConfig.DefaultVoltage);
1254
1257
  const ur2 = utils_2.getU(i7Data.ur2, defaultValuesConfig.DefaultVoltage);
1255
1258
  const baseVoltageUr1 = util_create_1.createBaseVoltageIfNotExists(cimModel, ur1, this.exportFramesBoundary);
@@ -1260,20 +1263,8 @@ class ConverterI7 {
1260
1263
  else if (baseVoltageUr2) {
1261
1264
  equivalentBranch.baseVoltage = baseVoltageUr2;
1262
1265
  }
1263
- const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
1264
- if (start) {
1265
- util_create_1.createConnection(cimModel, equivalentBranch, start, PhaseCode_1.PhaseCode.ABC, 1);
1266
- }
1267
- else {
1268
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
1269
- }
1270
- const target = cimModel.objects.get(this.integralID2UUID.get(i7Data.eknoten));
1271
- if (target) {
1272
- util_create_1.createConnection(cimModel, equivalentBranch, target, PhaseCode_1.PhaseCode.ABC, 2);
1273
- }
1274
- else {
1275
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
1276
- }
1266
+ this.createBoundaryConnection(frame, equivalentBranch, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC, 1);
1267
+ this.createBoundaryConnection(frame, equivalentBranch, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC, 2);
1277
1268
  cimModel.addEquivalentBranch(equivalentBranch);
1278
1269
  this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
1279
1270
  }
@@ -1288,7 +1279,7 @@ class ConverterI7 {
1288
1279
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
1289
1280
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, knotenSfIDs));
1290
1281
  for (const i7Data of result) {
1291
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1282
+ const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_LSC", `_${cimModel.linearShuntCompensators.size}`.toString()]), i7Data.kurzname);
1292
1283
  shunt.normalSections = i7Data.aktstufe;
1293
1284
  shunt.maximumSections = i7Data.maxstufe;
1294
1285
  shunt.nomU = i7Data.ur;
@@ -1298,7 +1289,7 @@ class ConverterI7 {
1298
1289
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
1299
1290
  let regulatingControl;
1300
1291
  if (spannungsregelungLokal || spannungsregelungRemote) {
1301
- regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_Kompdrossel ${i7Data.id}`);
1292
+ regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_Kompdrossel_${i7Data.id}`);
1302
1293
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
1303
1294
  regulatingControl.discrete = true;
1304
1295
  regulatingControl.targetDeadband = i7Data.uband;
@@ -1322,7 +1313,7 @@ class ConverterI7 {
1322
1313
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
1323
1314
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, knotenSfIDs));
1324
1315
  for (const i7Data of result) {
1325
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1316
+ const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_LSC", `_${cimModel.linearShuntCompensators.size}`.toString()]), i7Data.kurzname);
1326
1317
  shunt.normalSections = i7Data.aktstufe;
1327
1318
  shunt.maximumSections = i7Data.maxstufe;
1328
1319
  shunt.nomU = i7Data.ur;
@@ -1332,7 +1323,7 @@ class ConverterI7 {
1332
1323
  const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
1333
1324
  let regulatingControl;
1334
1325
  if (spannungsregelungLokal || spannungsregelungRemote) {
1335
- regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_${i7Data.bezeichner}`);
1326
+ regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_KompKondensator_${i7Data.id}`);
1336
1327
  regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
1337
1328
  regulatingControl.discrete = true;
1338
1329
  regulatingControl.enabled = inBetrieb;
@@ -1356,9 +1347,9 @@ class ConverterI7 {
1356
1347
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
1357
1348
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, knotenSfIDs));
1358
1349
  for (const i7Data of result) {
1359
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1350
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SVC", `_${cimModel.staticVarCompensator.size}`.toString()]), i7Data.kurzname);
1360
1351
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1361
- const regulatingControl = utils_2.createRegulatingControl(`RC_Statcom ${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
1352
+ const regulatingControl = utils_2.createRegulatingControl(`RC_Statcom_${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
1362
1353
  this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
1363
1354
  const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1364
1355
  regulatingControl.targetValue = uref;
@@ -1396,7 +1387,7 @@ class ConverterI7 {
1396
1387
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
1397
1388
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, knotenSfIDs));
1398
1389
  for (const i7Data of result) {
1399
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1390
+ const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SVC", `_${cimModel.staticVarCompensator.size}`.toString()]), i7Data.kurzname);
1400
1391
  const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1401
1392
  const regulatingControl = utils_2.createRegulatingControl(`RC_SVC ${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
1402
1393
  this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
@@ -1436,12 +1427,11 @@ class ConverterI7 {
1436
1427
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
1437
1428
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, knotenSfIDs));
1438
1429
  for (const i7Data of result) {
1439
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), 'DCConverterUnit');
1430
+ const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCCU", `_${cimModel.dcConverterUnit.size}`.toString()]));
1440
1431
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1441
1432
  if (acConnectivityNode) {
1442
1433
  const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
1443
1434
  if (equipmentContainer) {
1444
- dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
1445
1435
  dcConverterUnit.setSubstation(equipmentContainer);
1446
1436
  }
1447
1437
  else {
@@ -1451,7 +1441,7 @@ class ConverterI7 {
1451
1441
  else {
1452
1442
  this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
1453
1443
  }
1454
- const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1444
+ const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_CSC", `_${cimModel.csConverter.size}`.toString()]), i7Data.kurzname);
1455
1445
  csConverter.equipmentContainer = dcConverterUnit;
1456
1446
  csConverter.baseS = i7Data.pr;
1457
1447
  csConverter.ratedUdc = i7Data.ur;
@@ -1480,10 +1470,10 @@ class ConverterI7 {
1480
1470
  else {
1481
1471
  this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
1482
1472
  }
1483
- const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), 'DCNode');
1473
+ const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCN", `_${cimModel.dcNodes.size}`.toString()]));
1484
1474
  dcNode.dcEquipmentContainer = dcConverterUnit;
1485
1475
  dcConverterUnit.dCNodes.set(dcNode.getUUID(), dcNode);
1486
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), 'ACDCConvTerminal');
1476
+ const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_ACDCC-DCT", `_${cimModel.acDCConverterDCTerminals.size}`.toString()]));
1487
1477
  acDCConverterDCTerminal.sequenceNumber = 1;
1488
1478
  acDCConverterDCTerminal.dCConductingEquipment = csConverter;
1489
1479
  csConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
@@ -1504,12 +1494,11 @@ class ConverterI7 {
1504
1494
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
1505
1495
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, knotenSfIDs));
1506
1496
  for (const i7Data of result) {
1507
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), 'DCConverterUnit');
1497
+ const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCCU", `_${cimModel.dcConverterUnit.size}`.toString()]));
1508
1498
  const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1509
1499
  if (acConnectivityNode) {
1510
1500
  const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
1511
1501
  if (equipmentContainer) {
1512
- dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
1513
1502
  dcConverterUnit.setSubstation(equipmentContainer);
1514
1503
  }
1515
1504
  else {
@@ -1519,7 +1508,7 @@ class ConverterI7 {
1519
1508
  else {
1520
1509
  this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
1521
1510
  }
1522
- const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1511
+ const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_VSC", `_${cimModel.vsConverter.size}`.toString()]), i7Data.kurzname);
1523
1512
  vsConverter.equipmentContainer = dcConverterUnit;
1524
1513
  vsConverter.baseS = i7Data.pr;
1525
1514
  utils_2.isNumericI7(i7Data.udc) ? vsConverter.ratedUdc = i7Data.udc : vsConverter.ratedUdc = i7Data.ur;
@@ -1532,8 +1521,8 @@ class ConverterI7 {
1532
1521
  const regelungP = utils_2.convertToBooleanI7(i7Data.p_geregelt);
1533
1522
  const regelungW = utils_2.convertToBooleanI7(i7Data.grad_geregelt);
1534
1523
  if (regelungU) {
1535
- vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
1536
- vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
1524
+ vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.udc;
1525
+ vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
1537
1526
  }
1538
1527
  else if (regelungP) {
1539
1528
  vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
@@ -1551,9 +1540,9 @@ class ConverterI7 {
1551
1540
  else {
1552
1541
  this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
1553
1542
  }
1554
- const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), 'DCNode');
1543
+ const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCN", `_${cimModel.dcNodes.size}`.toString()]));
1555
1544
  dcNode.dcEquipmentContainer = dcConverterUnit;
1556
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), 'ACDCConvTerminal');
1545
+ const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_ACDCC-DCT", `_${cimModel.acDCConverterDCTerminals.size}`.toString()]));
1557
1546
  acDCConverterDCTerminal.sequenceNumber = 1;
1558
1547
  acDCConverterDCTerminal.dCConductingEquipmentUUID = vsConverter.mrid;
1559
1548
  acDCConverterDCTerminal.dcNode = dcNode;
@@ -1574,7 +1563,7 @@ class ConverterI7 {
1574
1563
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1575
1564
  for (const i7Data of result) {
1576
1565
  try {
1577
- const energySource = new EnergySource_1.EnergySource(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1566
+ const energySource = new EnergySource_1.EnergySource(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_ES", `_${cimModel.energySources.size}`.toString()]), i7Data.kurzname);
1578
1567
  this.setTopologyEnergySourceConsumerObject(cimModel, energySource, i7Data);
1579
1568
  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;
1580
1569
  const prio = i7Data.einspprio;
@@ -1596,7 +1585,7 @@ class ConverterI7 {
1596
1585
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1597
1586
  for (const i7Data of result) {
1598
1587
  try {
1599
- const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1588
+ const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EI', `_${cimModel.equivalentInjections.size}`]), i7Data.kurzname);
1600
1589
  const prio = i7Data.einspprio;
1601
1590
  const usoll = i7Data.usoll;
1602
1591
  const powerData = utils_2.getActiveReactivePower(i7Data);
@@ -1616,15 +1605,33 @@ class ConverterI7 {
1616
1605
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1617
1606
  for (const i7Data of result) {
1618
1607
  try {
1619
- const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1608
+ const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_ENI", `_${cimModel.externalNetworkInjections.size}`.toString()]), i7Data.kurzname);
1620
1609
  const prio = i7Data.einspprio;
1621
1610
  externalNetworkInjection.referencePriority = prio;
1622
1611
  const usoll = i7Data.usoll;
1623
1612
  const powerData = utils_2.getActiveReactivePower(i7Data);
1624
1613
  externalNetworkInjection.p = powerData[0];
1625
1614
  externalNetworkInjection.q = powerData[1];
1626
- externalNetworkInjection.controlEnabled = false;
1627
- this.setTopologyEnergySourceConsumerObject(cimModel, externalNetworkInjection, i7Data);
1615
+ const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1616
+ let regulatingControl = undefined;
1617
+ switch (i7Data.spannungsgeregelt) {
1618
+ case 1: {
1619
+ regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), `RC_ENI_${i7Data.id}`);
1620
+ regulatingControl.targetValue = usoll;
1621
+ regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
1622
+ regulatingControl.discrete = false;
1623
+ regulatingControl.enabled = inBetrieb;
1624
+ externalNetworkInjection.controlEnabled = inBetrieb;
1625
+ regulatingControl.addRegulatingCondEq(externalNetworkInjection);
1626
+ externalNetworkInjection.regulatingControlUUID = regulatingControl.mrid;
1627
+ cimModel.addRegulatingControl(regulatingControl);
1628
+ break;
1629
+ }
1630
+ default: {
1631
+ externalNetworkInjection.controlEnabled = false;
1632
+ }
1633
+ }
1634
+ this.setTopologyEnergySourceConsumerObject(cimModel, externalNetworkInjection, i7Data, regulatingControl);
1628
1635
  cimModel.addExternalNetworkInjection(externalNetworkInjection);
1629
1636
  this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
1630
1637
  }
@@ -1668,7 +1675,7 @@ class ConverterI7 {
1668
1675
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.QUERKUPPLUNG)) {
1669
1676
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, schaltanlagenAbschnittIDs));
1670
1677
  for (const i7Data of result) {
1671
- const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), 'Querkupplung');
1678
+ const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_B", `_${cimModel.bays.size}`.toString()]), 'Querkupplung');
1672
1679
  bay.number = i7Data.feldnummer + '';
1673
1680
  bay.locationID = i7Data.ips_folder_id;
1674
1681
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
@@ -1698,7 +1705,7 @@ class ConverterI7 {
1698
1705
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
1699
1706
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
1700
1707
  for (const i7Data of result) {
1701
- const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, 'Laengskupplung');
1708
+ const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_B", `_${cimModel.bays.size}`.toString()]), i7Data.kurzname, 'Laengskupplung');
1702
1709
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1703
1710
  bay.number = i7Data.feldnummer + '';
1704
1711
  bay.locationID = i7Data.ips_folder_id;
@@ -1728,42 +1735,10 @@ class ConverterI7 {
1728
1735
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
1729
1736
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, containerIDs));
1730
1737
  for (const i7Data of result) {
1731
- const junction = new Junction_1.Junction(utils_1.getUUID(i7Data.guid), `${i7Data.bezeichner}`, 'JNCT', 'starre Verbindung');
1732
- const schaltzustand = utils_2.convertToBooleanI7(i7Data.schaltzustand);
1733
- const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)));
1734
- if (equipmentContainer) {
1735
- equipmentContainer.addEquipment(junction);
1736
- junction.equipmentContainer = equipmentContainer;
1737
- }
1738
- else {
1739
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
1740
- }
1741
- const cnStart = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
1742
- const cnZiel = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
1743
- if (cnStart) {
1744
- const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode_1.PhaseCode.ABC, true, 1);
1745
- if (schaltzustand === false) {
1746
- terminal.connected = schaltzustand;
1747
- }
1748
- }
1749
- else {
1750
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
1751
- }
1752
- if (cnZiel) {
1753
- const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode_1.PhaseCode.ABC, true, 2);
1754
- if (schaltzustand === false) {
1755
- terminal.connected = schaltzustand;
1756
- }
1757
- }
1758
- else {
1759
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
1760
- }
1761
- const baseVoltage = utils_2.getTerminalUn(cimModel, junction);
1762
- if (baseVoltage) {
1763
- junction.baseVoltage = baseVoltage;
1764
- }
1765
- this.addIdMapping(i7Data.id, junction.mrid, integral_sql_1.Integral7TableNames.KNOTEN_STARR);
1766
- cimModel.addJunction(junction);
1738
+ const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_BR", `_${cimModel.breakers.size}`.toString()]), 'Breaker', 'starre Verbindung');
1739
+ yield this.convertSwitch(breaker, cimModel, i7Data);
1740
+ cimModel.addBreaker(breaker);
1741
+ this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
1767
1742
  }
1768
1743
  }
1769
1744
  else {
@@ -1776,7 +1751,7 @@ class ConverterI7 {
1776
1751
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
1777
1752
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, containerIDs));
1778
1753
  for (const i7Data of result) {
1779
- const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), i7Data.bezeichner);
1754
+ const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_D", `_${cimModel.disconnectors.size}`.toString()]));
1780
1755
  yield this.convertSwitch(disconnector, cimModel, i7Data);
1781
1756
  cimModel.addDisconnector(disconnector);
1782
1757
  this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
@@ -1792,7 +1767,7 @@ class ConverterI7 {
1792
1767
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
1793
1768
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, containerIDs));
1794
1769
  for (const i7Data of result) {
1795
- const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), i7Data.bezeichner);
1770
+ const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_D", `_${cimModel.disconnectors.size}`.toString()]));
1796
1771
  yield this.convertSwitch(disconnector, cimModel, i7Data);
1797
1772
  cimModel.addDisconnector(disconnector);
1798
1773
  this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
@@ -1808,7 +1783,7 @@ class ConverterI7 {
1808
1783
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
1809
1784
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, containerIDs));
1810
1785
  for (const i7Data of result) {
1811
- const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), i7Data.bezeichner);
1786
+ const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_BR", `_${cimModel.breakers.size}`.toString()]));
1812
1787
  yield this.convertSwitch(breaker, cimModel, i7Data);
1813
1788
  cimModel.addBreaker(breaker);
1814
1789
  this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
@@ -1861,7 +1836,7 @@ class ConverterI7 {
1861
1836
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {
1862
1837
  const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSDROSSEL, 0, 0, []));
1863
1838
  for (const i7Data of result) {
1864
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', 'LD-' + i7Data.bezeichner);
1839
+ const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SC", `_${cimModel.seriesCompensators.size}`.toString()]), i7Data.id + '', 'LD-' + i7Data.bezeichner);
1865
1840
  const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
1866
1841
  let startTerminal;
1867
1842
  if (start) {
@@ -1936,8 +1911,8 @@ class ConverterI7 {
1936
1911
  for (const i7DataSchiene of stpSchiene) {
1937
1912
  try {
1938
1913
  stpSchieneIDs.push(i7DataSchiene.id);
1939
- const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), utils_2.getName(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
1940
- const junction = new Junction_1.Junction(utils_1.generateUUID(), `StpSchiene/${i7DataSchiene.id}`, `${i7DataSchiene.bezeichner}`);
1914
+ const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), "_CN", `_${cimModel.connectivityNodes.size}`.toString()]), `StpSchiene_${i7DataSchiene.id}`);
1915
+ const junction = new Junction_1.Junction(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), "_J", `_${cimModel.junctions.size}`.toString()]), `StpSchiene/${i7DataSchiene.id}`);
1941
1916
  const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7DataSchiene.id)));
1942
1917
  if (equipmentContainer) {
1943
1918
  equipmentContainer.addEquipment(junction);
@@ -1980,14 +1955,14 @@ class ConverterI7 {
1980
1955
  const junctionUUID = integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get((i7Data.anschluss));
1981
1956
  let conductingEquip;
1982
1957
  if (imax && imin) {
1983
- const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
1958
+ const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_PC", `_${cimModel.petersenCoils.size}`.toString()]), i7Data.id + '');
1984
1959
  integral7.sternPunktImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
1985
1960
  integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
1986
1961
  this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
1987
1962
  conductingEquip = petersenCoil;
1988
1963
  }
1989
1964
  else {
1990
- const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
1965
+ const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_GI", `_${cimModel.groundingImpedances.size}`.toString()]), i7Data.id + '');
1991
1966
  groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
1992
1967
  groundingImpedance.x = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
1993
1968
  integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
@@ -2055,7 +2030,7 @@ class ConverterI7 {
2055
2030
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
2056
2031
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
2057
2032
  for (const i7Data of result) {
2058
- const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, 'Laengskupplung');
2033
+ const bay = new AMPRIONBay_1.AMPRIONBay(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_B", `_${cimModel.bays.size}`.toString()]), i7Data.kurzname, 'Laengskupplung');
2059
2034
  const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
2060
2035
  bay.number = i7Data.feldnummer + '';
2061
2036
  bay.locationID = i7Data.ips_folder_id;
@@ -2152,13 +2127,12 @@ class ConverterI7 {
2152
2127
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2153
2128
  integral_prefix_1.MITTIGER_PUNKT +
2154
2129
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2155
- let name = integral_prefix_1.LEITUNG_PRAEFIX +
2156
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2130
+ let name = utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2157
2131
  '-' +
2158
2132
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2159
2133
  '-' +
2160
2134
  utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2161
- const line = new AMPRIONLine_1.AMPRIONLine(utils_1.getUUID(i7Data.guid), name, i7Data.stkabname, i7Schluessel);
2135
+ const line = new AMPRIONLine_1.AMPRIONLine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([name, "_L", `_${cimModel.lines.size}`.toString()]), i7Data.stkabname, i7Schluessel);
2162
2136
  line.ukz = i7Data.ukz;
2163
2137
  let acLineSegments = [];
2164
2138
  for (const stk of stromkreisabschnitte) {
@@ -2168,7 +2142,7 @@ class ConverterI7 {
2168
2142
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2169
2143
  '-' +
2170
2144
  utils_2.ueberpruefeZeichenkette(stk.bezeichner);
2171
- const acLineSegment = new ACLineSegment_1.ACLineSegment(utils_1.generateUUID(), name, i7Data.stkabname, i7Schluessel);
2145
+ const acLineSegment = new ACLineSegment_1.ACLineSegment(utils_1.generateUUID(), util_create_1.createNotation([name, "_ACLS", `_${cimModel.acLineSegments.size}`.toString(), `_${acLineSegments.length}`.toString()]), i7Data.stkabname, i7Schluessel);
2172
2146
  acLineSegment.equipmentContainer = line;
2173
2147
  line.addEquipment(acLineSegment);
2174
2148
  acLineSegments.push(acLineSegment);
@@ -2179,7 +2153,6 @@ class ConverterI7 {
2179
2153
  const startTerminal = this.createBoundaryConnection(frame, acLineSegmentStart, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC, tmp_sequence_number);
2180
2154
  let equivalentInjection = undefined;
2181
2155
  if (startTerminal) {
2182
- this.setACLineSegmentCurrentLimt(cimModel, acLineSegmentStart, acLineSegmentStart.description, startTerminal);
2183
2156
  tmp_sequence_number++;
2184
2157
  let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
2185
2158
  let tmp_cn = bdf === null || bdf === void 0 ? void 0 : bdf.cimModel.getConnectivityNode(startTerminal.getConnectivityNodeUUID());
@@ -2198,13 +2171,13 @@ class ConverterI7 {
2198
2171
  this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2199
2172
  }
2200
2173
  cimModel.addACLineSegment(acLineSegmentStart);
2174
+ this.setACLineSegmentProperties(cimModel, acLineSegments[0], stromkreisabschnitte[0], defaultValuesConfig);
2201
2175
  const anzahl = acLineSegments.length;
2202
2176
  let tmp_terminal = undefined;
2203
2177
  for (let i = 0; i < anzahl - 1; i++) {
2204
- const cn = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), 'CN_Lt');
2178
+ const cn = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([name, "_CN", `_${cimModel.connectivityNodes.size}`.toString()]));
2205
2179
  const acLineSegment1 = acLineSegments[i];
2206
2180
  tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true, tmp_sequence_number);
2207
- this.setACLineSegmentCurrentLimt(cimModel, acLineSegment1, acLineSegment1.description, tmp_terminal);
2208
2181
  cimModel.addACLineSegment(acLineSegment1);
2209
2182
  if (tmp_terminal) {
2210
2183
  tmp_sequence_number++;
@@ -2213,7 +2186,6 @@ class ConverterI7 {
2213
2186
  this.setACLineSegmentProperties(cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
2214
2187
  const acLineSegment2 = acLineSegments[i + 1];
2215
2188
  tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true, tmp_sequence_number);
2216
- this.setACLineSegmentCurrentLimt(cimModel, acLineSegment2, acLineSegment2.description, tmp_terminal);
2217
2189
  cimModel.addACLineSegment(acLineSegment1);
2218
2190
  if (tmp_terminal) {
2219
2191
  tmp_sequence_number++;
@@ -2225,7 +2197,6 @@ class ConverterI7 {
2225
2197
  const acLineSegmentZiel = acLineSegments[anzahl - 1];
2226
2198
  const targetTerminal = this.createBoundaryConnection(frame, acLineSegmentZiel, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC, tmp_sequence_number);
2227
2199
  if (targetTerminal) {
2228
- this.setACLineSegmentCurrentLimt(cimModel, acLineSegmentZiel, acLineSegmentZiel.description, targetTerminal);
2229
2200
  let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.eknoten));
2230
2201
  let tmp_cn = bdf === null || bdf === void 0 ? void 0 : bdf.cimModel.getConnectivityNode(targetTerminal.getConnectivityNodeUUID());
2231
2202
  if (tmp_cn && 'boundaryPoint' in tmp_cn && tmp_cn.boundaryPoint) {
@@ -2294,7 +2265,7 @@ class ConverterI7 {
2294
2265
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs) {
2295
2266
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
2296
2267
  for (const i7Data of result) {
2297
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2268
+ const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SC", `_${cimModel.seriesCompensators.size}`.toString()]), i7Data.id + '', i7Data.bezeichner);
2298
2269
  const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
2299
2270
  let startTerminal;
2300
2271
  if (start) {
@@ -2357,10 +2328,10 @@ class ConverterI7 {
2357
2328
  if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length) {
2358
2329
  const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_LEITUNG, integral7.hgueAnschlussKnotenIDs));
2359
2330
  for (const i7Data of result) {
2360
- const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data['guid_dcline']), i7Data.bezeichner);
2331
+ const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data['guid_dcline']), util_create_1.createNotation([utils_2.getName(i7Data), "_DCL", `_${cimModel.dcLines.size}`.toString()]));
2361
2332
  const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
2362
2333
  utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
2363
- const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.generateUUID(), i7Data.bezeichner, i7Data.id.toString(), i7Schluessel);
2334
+ const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCLS", `_${cimModel.dcLineSegment.size}`.toString()]), i7Data.id.toString(), i7Schluessel);
2364
2335
  dcLineSegment.resistance = i7Data.rdc;
2365
2336
  dcLineSegment.equipmentContainer = dcLine;
2366
2337
  const bipol = utils_2.convertToBooleanI7(i7Data.bipol);
@@ -2386,7 +2357,7 @@ class ConverterI7 {
2386
2357
  }
2387
2358
  const startDCNode = getDCNodeFromConverter(acDCConverterStart);
2388
2359
  if (startDCNode) {
2389
- const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
2360
+ const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCT", `_${cimModel.dcTerminals.size}`.toString()]));
2390
2361
  dcTerminal.connected = true;
2391
2362
  dcTerminal.sequenceNumber = 1;
2392
2363
  dcTerminal.dCConductingEquipment = dcLineSegment;
@@ -2399,7 +2370,7 @@ class ConverterI7 {
2399
2370
  }
2400
2371
  const targetDCNode = getDCNodeFromConverter(acDCConverterTarget);
2401
2372
  if (targetDCNode) {
2402
- const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
2373
+ const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), "_DCT", `_${cimModel.dcTerminals.size}`.toString()]));
2403
2374
  dcTerminal.connected = true;
2404
2375
  dcTerminal.sequenceNumber = 2;
2405
2376
  dcTerminal.dCConductingEquipment = dcLineSegment;
@@ -2504,7 +2475,7 @@ class ConverterI7 {
2504
2475
  }
2505
2476
  }
2506
2477
  for (const i7Data of result) {
2507
- const powerTransformer = new PowerTransformer_1.PowerTransformer(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2478
+ const powerTransformer = new PowerTransformer_1.PowerTransformer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_PT", `_${cimModel.powerTransformer.size}`.toString()]), i7Data.id + '', i7Data.bezeichner);
2508
2479
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
2509
2480
  if (substation) {
2510
2481
  powerTransformer.equipmentContainer = substation;
@@ -2575,7 +2546,7 @@ class ConverterI7 {
2575
2546
  powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2576
2547
  powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
2577
2548
  powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2578
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
2549
+ this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
2579
2550
  const powerTransformerEnds = [powerTransformerEnd1, powerTransformerEnd2];
2580
2551
  const terminals = [startTerminal, zielTerminal];
2581
2552
  const spRegKnoten = yield this.getSpannungsbandTrafo2W(i7Data);
@@ -2604,9 +2575,6 @@ class ConverterI7 {
2604
2575
  }
2605
2576
  }
2606
2577
  }
2607
- for (let i = 1; i <= powerTransformer.powerTransformerEnds.length; i++) {
2608
- powerTransformer.powerTransformerEnds[i - 1].endNumber = i;
2609
- }
2610
2578
  cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2611
2579
  cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2612
2580
  cimModel.addPowerTransformer(powerTransformer);
@@ -2648,7 +2616,7 @@ class ConverterI7 {
2648
2616
  }
2649
2617
  }
2650
2618
  for (const i7Data of result) {
2651
- const powerTransformer = new PowerTransformer_1.PowerTransformer(utils_1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2619
+ const powerTransformer = new PowerTransformer_1.PowerTransformer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_PT", `_${cimModel.powerTransformer.size}`.toString()]), i7Data.id + '', i7Data.bezeichner);
2652
2620
  const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
2653
2621
  if (substation) {
2654
2622
  powerTransformer.equipmentContainer = substation;
@@ -2722,7 +2690,7 @@ class ConverterI7 {
2722
2690
  powerTransformerEnd2.ratedS = sr2;
2723
2691
  powerTransformerEnd2.ratedU = ur2;
2724
2692
  powerTransformerEnd2.powerTransformer = powerTransformer;
2725
- this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, terminal2, sternpunktKnotenMap, integral7, ir1, i7Data, defaultValuesConfig);
2693
+ this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, terminal2, sternpunktKnotenMap, integral7, ir2, i7Data, defaultValuesConfig);
2726
2694
  equivalentInjection = undefined;
2727
2695
  if (terminal2) {
2728
2696
  let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(wicklung2.aknoten));
@@ -2748,7 +2716,7 @@ class ConverterI7 {
2748
2716
  powerTransformerEnd3.ratedS = sr3;
2749
2717
  powerTransformerEnd3.ratedU = ur3;
2750
2718
  powerTransformerEnd3.powerTransformer = powerTransformer;
2751
- this.setPowerTransformerEndProperties(frame, powerTransformerEnd3, powerTransformer, terminal3, sternpunktKnotenMap, integral7, ir1, i7Data, defaultValuesConfig);
2719
+ this.setPowerTransformerEndProperties(frame, powerTransformerEnd3, powerTransformer, terminal3, sternpunktKnotenMap, integral7, ir3, i7Data, defaultValuesConfig);
2752
2720
  equivalentInjection = undefined;
2753
2721
  if (terminal3) {
2754
2722
  let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(wicklung3.aknoten));
@@ -2761,38 +2729,7 @@ class ConverterI7 {
2761
2729
  }
2762
2730
  powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber, powerTransformerEnd3.grounded);
2763
2731
  powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
2764
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
2765
- const terminals = [terminal1, terminal2, terminal3];
2766
- const powerTransformerEnds = [powerTransformerEnd1, powerTransformerEnd2, powerTransformerEnd3];
2767
- const spRegKnoten = yield this.getSpannungsbandTrafo2W(i7Data);
2768
- const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
2769
- const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
2770
- const connectivityNode = cimModel.getObject(cnUUID);
2771
- for (const powerTransformerEnd of powerTransformerEnds) {
2772
- const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${powerTransformerEnd.endNumber}`]);
2773
- switch (i7Data.trafo_spezial) {
2774
- case (1): {
2775
- this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
2776
- break;
2777
- }
2778
- case (2): {
2779
- this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
2780
- break;
2781
- }
2782
- default: {
2783
- if (winkel !== 0) {
2784
- this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
2785
- }
2786
- else {
2787
- this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
2788
- }
2789
- break;
2790
- }
2791
- }
2792
- }
2793
- for (let i = 1; i <= powerTransformer.powerTransformerEnds.length; i++) {
2794
- powerTransformer.powerTransformerEnds[i - 1].endNumber = i;
2795
- }
2732
+ this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
2796
2733
  cimModel.addPowerTransformer(powerTransformer);
2797
2734
  cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2798
2735
  cimModel.addPowerTransformerEnd(powerTransformerEnd2);
@@ -2823,12 +2760,18 @@ class ConverterI7 {
2823
2760
  wicklung.uMax = data[umax];
2824
2761
  wicklung.uMin = data[umin];
2825
2762
  }
2826
- transformBoundaryModel(frame, masFrame) {
2763
+ transformBoundaryModel(frame, masFrames) {
2827
2764
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2765
+ const bdModelUUID = frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD);
2766
+ const relevantMasFrames = masFrames.filter(elem => {
2767
+ const modelUUIDs = elem.dependentModels.get(rdf_xml_1.RDF_XML.PROFILE_EQ_BD);
2768
+ if ((modelUUIDs === null || modelUUIDs === void 0 ? void 0 : modelUUIDs.indexOf(bdModelUUID)) > -1)
2769
+ return elem;
2770
+ });
2828
2771
  const cimModel = frame.cimModel;
2829
2772
  const substations = Array.from(cimModel.substations.values());
2830
2773
  for (const substation of substations) {
2831
- const line = new Line_1.Line(substation.mrid, substation.name, substation.shortName, substation.description);
2774
+ const line = new Line_1.Line(substation.mrid, substation.name + "_BD-L", substation.shortName, substation.description);
2832
2775
  const subregion = substation.subGeographicalRegion;
2833
2776
  line.subGeographicalRegion = subregion;
2834
2777
  subregion.addLine(line);
@@ -2867,65 +2810,80 @@ class ConverterI7 {
2867
2810
  equipment.equipmentContainer = undefined;
2868
2811
  cimModel.removeObject(equipment);
2869
2812
  }
2813
+ const location = substation.location;
2870
2814
  let cnt = 1;
2871
2815
  for (const connectivityNode of connectivityNodes) {
2872
2816
  connectivityNode.connectivityNodeContainer = line;
2873
2817
  line.addConnectivityNode(connectivityNode);
2874
- const junction = new Junction_1.Junction(utils_1.generateUUID(), `${line.name} BD_Junc`, `Junction`, 'Junction for Geo');
2818
+ const junction = new Junction_1.Junction(utils_1.generateUUID(), `${line.name}_BD-J`, `Junction`, 'Junction for Geo');
2875
2819
  junction.equipmentContainer = line;
2876
- const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), 'boundary_junction_label', 'bd_jct_lab', 'terminal to connect junction to associated boundary ConnectivityNode', 1);
2877
- terminal.conductingEquipment = junction;
2878
- terminal.connectivityNode = connectivityNode;
2820
+ const terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([`${line.name}_BD-T`, `_${cimModel.terminals.size}`.toString()]), 'bd_jct_lab', 'terminal to connect junction to associated boundary ConnectivityNode', 1);
2879
2821
  junction.terminals.set(terminal.getUUID(), terminal);
2822
+ terminal.conductingEquipment = junction;
2880
2823
  line.addEquipment(junction);
2881
- const location = substation.location;
2882
- if (location) {
2883
- const clonedLocation = new Location_1.Location(utils_1.generateUUID(), `Location ${cnt}`);
2884
- clonedLocation.addPowerSystemResource(junction);
2885
- clonedLocation.coordinateSystem = location.coordinateSystem;
2886
- const clonedPositionPoint = new PositionPoint_1.PositionPoint(utils_1.generateUUID(), `PositionPoint ${cnt}`);
2887
- clonedPositionPoint.xPosition = location.positionPoints[0].xPosition;
2888
- clonedPositionPoint.yPosition = location.positionPoints[0].yPosition;
2889
- clonedPositionPoint.location = clonedLocation;
2890
- clonedLocation.addPositionPoint(clonedPositionPoint);
2891
- masFrame.cimModel.addLocation(clonedLocation);
2892
- }
2893
- if (location && location.powerSystemResources.size && location.powerSystemResources.get(substation.mrid) !== undefined) {
2894
- location.addPowerSystemResource(junction);
2895
- junction.location = location;
2896
- masFrame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_EQ_BD, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
2897
- location.powerSystemResources.delete(substation.mrid);
2898
- substation.location = undefined;
2899
- cimModel.locations.delete(location.mrid);
2900
- cimModel.removeObject(location);
2901
- for (const positionPoint of location.positionPoints) {
2902
- const idx = frame.cimModel.positionPoints.indexOf(positionPoint);
2903
- if (idx > -1) {
2904
- frame.cimModel.positionPoints.splice(idx, 1);
2905
- }
2824
+ if (location && location.positionPoints.length > 0) {
2825
+ for (const masFrame of relevantMasFrames) {
2826
+ const clonedLocation = new Location_1.Location(utils_1.generateUUID(), `Location ${cnt}`);
2827
+ clonedLocation.addPowerSystemResource(junction);
2828
+ clonedLocation.coordinateSystem = location.coordinateSystem;
2829
+ const clonedPositionPoint = new PositionPoint_1.PositionPoint(utils_1.generateUUID(), `PositionPoint ${cnt}`);
2830
+ clonedPositionPoint.xPosition = location.positionPoints[0].xPosition;
2831
+ clonedPositionPoint.yPosition = location.positionPoints[0].yPosition;
2832
+ clonedPositionPoint.location = clonedLocation;
2833
+ clonedLocation.addPositionPoint(clonedPositionPoint);
2834
+ masFrame.cimModel.addLocation(clonedLocation);
2835
+ masFrame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_GL, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
2906
2836
  }
2907
- masFrame.cimModel.addLocation(location);
2908
- }
2909
- else if (location) {
2910
- const additionalLocation = new Location_1.Location(utils_1.generateUUID(), `Location ${cnt}`);
2911
- additionalLocation.addPowerSystemResource(junction);
2912
- additionalLocation.coordinateSystem = location.coordinateSystem;
2913
- const additionalPositionPoint = new PositionPoint_1.PositionPoint(utils_1.generateUUID(), `PositionPoint ${cnt}`);
2914
- additionalPositionPoint.xPosition = location.positionPoints[0].xPosition;
2915
- additionalPositionPoint.yPosition = location.positionPoints[0].yPosition;
2916
- additionalPositionPoint.location = additionalLocation;
2917
- additionalLocation.addPositionPoint(additionalPositionPoint);
2918
- masFrame.cimModel.addLocation(additionalLocation);
2919
2837
  }
2838
+ cimModel.addTerminal(terminal);
2920
2839
  cimModel.addJunction(junction);
2921
2840
  cnt++;
2922
2841
  }
2842
+ if (location && location.powerSystemResources.size && location.powerSystemResources.get(substation.mrid) !== undefined) {
2843
+ location.powerSystemResources.delete(substation.mrid);
2844
+ substation.location = undefined;
2845
+ cimModel.locations.delete(location.mrid);
2846
+ cimModel.removeObject(location);
2847
+ for (const positionPoint of location.positionPoints) {
2848
+ const idx = frame.cimModel.positionPoints.indexOf(positionPoint);
2849
+ if (idx > -1) {
2850
+ frame.cimModel.positionPoints.splice(idx, 1);
2851
+ }
2852
+ }
2853
+ }
2923
2854
  cimModel.substations.delete(substation.mrid);
2924
2855
  cimModel.removeObject(substation);
2925
2856
  cimModel.addLine(line);
2926
2857
  }
2927
2858
  });
2928
2859
  }
2860
+ sortTransformerEnd(powerTransformer, sortProperty, order) {
2861
+ let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
2862
+ let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
2863
+ for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2864
+ winding_guids[i] = powerTransformer.powerTransformerEnds[i].getUUID();
2865
+ winding_guids_fixed[i] = powerTransformer.powerTransformerEnds[i].getUUID();
2866
+ }
2867
+ powerTransformer.powerTransformerEnds.sort(function (w1, w2) {
2868
+ if (order === 'asc')
2869
+ return w1[sortProperty] - w2[sortProperty];
2870
+ if (order === 'desc')
2871
+ return w2[sortProperty] - w1[sortProperty];
2872
+ });
2873
+ const winding1_guid = winding_guids[0];
2874
+ const winding2 = powerTransformer.powerTransformerEnds[0];
2875
+ if (!(winding1_guid === winding2.getUUID())) {
2876
+ const winding1 = powerTransformer.powerTransformerEnds.find(e => e.mrid === winding1_guid[0]);
2877
+ if (winding1) {
2878
+ let val = winding2.phaseAngleClock;
2879
+ winding2.phaseAngleClock = 0;
2880
+ winding1.phaseAngleClock = 12 - val;
2881
+ }
2882
+ else {
2883
+ const isNull = true;
2884
+ }
2885
+ }
2886
+ }
2929
2887
  setACLineSegmentProperties(cimModel, acLineSegment, data, defaultValuesConfig) {
2930
2888
  if (utils_2.isNumericI7(data.laenge) && data.laenge <= 0) {
2931
2889
  data.flag_impedanzlos = 1;
@@ -3000,12 +2958,12 @@ class ConverterI7 {
3000
2958
  else {
3001
2959
  acLineSegment.bch = 0;
3002
2960
  }
3003
- for (const terminalUUID of acLineSegment.terminalsUUIDs) {
2961
+ for (const terminal of acLineSegment.terminals.values()) {
3004
2962
  if (utils_2.isNumericI7(data.ir) && data.ir > 0) {
3005
- this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, cimModel.terminals.get(terminalUUID), data.ir);
2963
+ this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, terminal, data.ir);
3006
2964
  }
3007
2965
  else if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3008
- this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, cimModel.terminals.get(terminalUUID), assetType.ratedCurrent);
2966
+ this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, terminal, assetType.ratedCurrent);
3009
2967
  }
3010
2968
  const psrType = utils_1.createIfNotExitsPSRType(cimModel, data.typ);
3011
2969
  acLineSegment.psrTypeUUID = psrType.mrid;
@@ -3057,7 +3015,7 @@ class ConverterI7 {
3057
3015
  let terminal;
3058
3016
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
3059
3017
  const cn = object;
3060
- terminal = new Terminal_1.Terminal(utils_1.generateUUID(), 'T');
3018
+ terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation(['Terminal_T', `_${cimModel.terminals.size}`.toString()]));
3061
3019
  terminal.setConnectivityNode(cn);
3062
3020
  cn.addTerminal(terminal);
3063
3021
  cimModel.addTerminal(terminal);
@@ -3085,11 +3043,12 @@ class ConverterI7 {
3085
3043
  const frameBD = this.getConnectedBoundaryModel(anschlussUUID);
3086
3044
  if (frameBD) {
3087
3045
  const cimModelBD = frameBD.cimModel;
3046
+ frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_EQ, frameBD.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
3088
3047
  const object = cimModelBD.getObject(anschlussUUID);
3089
3048
  let cn;
3090
3049
  if (object instanceof ConnectivityNode_1.ConnectivityNode) {
3091
3050
  cn = object;
3092
- terminal = new Terminal_1.Terminal(utils_1.generateUUID(), 'T');
3051
+ terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation(['Terminal_T', `_${cimModel.terminals.size}`.toString()]));
3093
3052
  terminal.connectivityNodeUUID = cn.mrid;
3094
3053
  terminal.phases = phase;
3095
3054
  terminal.connected = true;
@@ -3098,10 +3057,15 @@ class ConverterI7 {
3098
3057
  }
3099
3058
  else if (object instanceof Terminal_1.Terminal) {
3100
3059
  terminal = object;
3101
- cn = terminal.connectivityNode;
3102
- cn === null || cn === void 0 ? void 0 : cn.terminals.delete(terminal.mrid);
3103
- terminal.setConnectivityNode(undefined);
3104
- terminal.setConnectivityNodeUUID(cn.getUUID());
3060
+ cn = terminal.getConnectivityNode();
3061
+ if (cn === undefined) {
3062
+ frameBD.cimModel.getConnectivityNode(terminal.getConnectivityNodeUUID());
3063
+ }
3064
+ if (cn !== undefined) {
3065
+ cn.terminals.delete(terminal.mrid);
3066
+ terminal.setConnectivityNodeUUID(cn.getUUID());
3067
+ terminal.setConnectivityNode(undefined);
3068
+ }
3105
3069
  cimModelBD.terminals.delete(terminal.mrid);
3106
3070
  cimModel.addTerminal(terminal);
3107
3071
  }
@@ -3135,17 +3099,17 @@ class ConverterI7 {
3135
3099
  let equivalentInjection = undefined;
3136
3100
  frame.cimModel.equivalentInjections.forEach((equivinj, uuid) => {
3137
3101
  var _a;
3138
- if (equivinj.name.match(frame.tsoName).length > 0 && ((_a = equivinj.terminals.values()) === null || _a === void 0 ? void 0 : _a.next().value.getConnectivityNodeUUID()) === cn.getUUID()) {
3102
+ if (equivinj.name.match(frame.tsoName) && equivinj.name.match(frame.tsoName).length > 0 && ((_a = equivinj.terminals.values()) === null || _a === void 0 ? void 0 : _a.next().value.getConnectivityNodeUUID()) === cn.getUUID()) {
3139
3103
  equivinj_exists = true;
3140
3104
  }
3141
3105
  });
3142
3106
  if (!equivinj_exists) {
3143
- let tmp_terminal = new Terminal_1.Terminal(utils_1.generateUUID(), 'T');
3107
+ let tmp_terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation(['Terminal_BD-T', `_${frame.cimModel.equivalentInjections.size}`.toString()]));
3144
3108
  tmp_terminal.setConnectivityNodeUUID(cn.mrid);
3145
3109
  tmp_terminal.phases = PhaseCode_1.PhaseCode.ABC;
3146
3110
  tmp_terminal.connected = true;
3147
3111
  tmp_terminal.sequenceNumber = 1;
3148
- equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.generateUUID(), `BDInj_${frame.tsoName}`);
3112
+ equivalentInjection = new EquivalentInjection_1.EquivalentInjection(utils_1.generateUUID(), util_create_1.createNotation([cn.name, '', '_BD-EI', `_${frame.cimModel.equivalentInjections.size}`.toString()]));
3149
3113
  equivalentInjection.p = 0;
3150
3114
  equivalentInjection.q = 0;
3151
3115
  equivalentInjection.regulationStatus = false;
@@ -3306,13 +3270,14 @@ class ConverterI7 {
3306
3270
  this.addDefaultObjectsLoadModel(frame.cimModel, defaultValuesConfig);
3307
3271
  this.addDefaultObjectsGeo(frame.cimModel, defaultValuesConfig);
3308
3272
  frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_EQ_BD], tempDirPath);
3273
+ frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_GL, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
3309
3274
  }
3310
3275
  this.exportFramesBoundary = this.associateGeoRegionsToExportFrames(boundaryFrames);
3311
3276
  const gridFrames = this.initExportFrames(gridExports, geoRegions, allSubGeoRegions);
3312
3277
  for (const frame of gridFrames) {
3313
3278
  this.addDefaultObjectsLoadModel(frame.cimModel, defaultValuesConfig);
3314
3279
  this.addDefaultObjectsGeo(frame.cimModel, defaultValuesConfig);
3315
- frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_EQ, rdf_xml_1.RDF_XML.PROFILE_SSH, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_AMPI7, rdf_xml_1.RDF_XML.PROFILE_DY], tempDirPath);
3280
+ frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_EQ, rdf_xml_1.RDF_XML.PROFILE_SSH, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_AMPI7, rdf_xml_1.RDF_XML.PROFILE_DY, rdf_xml_1.RDF_XML.PROFILE_SV], tempDirPath);
3316
3281
  }
3317
3282
  this.exportFrames = this.associateGeoRegionsToExportFrames(gridFrames);
3318
3283
  });
@@ -3327,7 +3292,7 @@ class ConverterI7 {
3327
3292
  for (const exportObject of exportEntry.objects) {
3328
3293
  switch (exportEntry.objectType) {
3329
3294
  case data_structures_i7_1.ExportObjectType.georegion: {
3330
- const geoRegion = geoRegions.find(elem => elem.name === exportObject.name);
3295
+ const geoRegion = geoRegions.find(elem => elem.name.match(exportObject.name));
3331
3296
  if (!geoRegion) {
3332
3297
  this.logger.error(`Kein ${exportEntry.objectType} mit dem Namen ${exportObject.name} gefunden.`);
3333
3298
  continue;
@@ -3339,7 +3304,7 @@ class ConverterI7 {
3339
3304
  break;
3340
3305
  }
3341
3306
  case data_structures_i7_1.ExportObjectType.subgeoregion: {
3342
- const subGeoRegion = subGeoRegions.find(elem => elem.name === exportObject.name);
3307
+ const subGeoRegion = subGeoRegions.find(elem => elem.name.match(exportObject.name));
3343
3308
  if (!subGeoRegion) {
3344
3309
  this.logger.error(`Kein ${exportEntry.objectType} mit dem Namen ${exportObject.name} gefunden.`);
3345
3310
  continue;