@enervance/insight-cim-model 0.0.212 → 0.0.214-next
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.
- package/dist/converter/integral7/config/integral-prefix.d.ts +5 -0
- package/dist/converter/integral7/config/integral-prefix.js +6 -1
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter.integral7.d.ts +3 -2
- package/dist/converter/integral7/converter.integral7.js +612 -351
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.d.ts +1 -4
- package/dist/converter/integral7/dl-convert/data-manager.js +3 -7
- package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +9 -4
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +68 -58
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.d.ts +0 -10
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js +1 -43
- package/dist/converter/integral7/dl-convert/dl-graphs/cim-model-graph.js.map +1 -1
- package/dist/converter/integral7/dl-convert/executor.d.ts +15 -2
- package/dist/converter/integral7/dl-convert/executor.js +58 -28
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +17 -11
- package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/default-values-config.interface.d.ts +3 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +10 -8
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +17 -10
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +26 -0
- package/dist/converter/integral7/model/interfaces.js.map +1 -1
- package/dist/converter/integral7/sql/integral.sql.d.ts +3 -0
- package/dist/converter/integral7/sql/integral.sql.js +18 -4
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils-cgmes-export.js +2 -0
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +17 -3
- package/dist/converter/integral7/utils.js +110 -14
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-csv.js +21 -0
- package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
- package/dist/interfaces/model/core/ITerminal.d.ts +1 -1
- package/dist/model/core/ConductingEquipment.js +1 -1
- package/dist/model/core/ConductingEquipment.js.map +1 -1
- package/dist/model/dc/ACDCConverter.js +0 -2
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/DCLineSegment.d.ts +2 -0
- package/dist/model/dc/DCLineSegment.js +16 -0
- package/dist/model/dc/DCLineSegment.js.map +1 -1
- package/dist/model/dc/DCTerminal.js +1 -1
- package/dist/model/dc/DCTerminal.js.map +1 -1
- package/dist/model/dc/VsCapabilityCurve.js.map +1 -1
- package/dist/model/dc/VsConverter.d.ts +1 -0
- package/dist/model/dc/VsConverter.js +13 -0
- package/dist/model/dc/VsConverter.js.map +1 -1
- package/dist/model/diagram/Diagram.js +2 -2
- package/dist/model/diagram/Diagram.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.d.ts +1 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.d.ts +3 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js +14 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformerInfo.js.map +1 -1
- package/dist/model/extensions/integral/dc/DCLineSegment.d.ts +10 -0
- package/dist/model/extensions/integral/dc/DCLineSegment.js +31 -0
- package/dist/model/extensions/integral/dc/DCLineSegment.js.map +1 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.d.ts +2 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +8 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
- package/dist/model/operationallimits/ApparentPowerLimit.js +2 -2
- package/dist/model/operationallimits/ApparentPowerLimit.js.map +1 -1
- package/dist/model/wires/GroundDisconnector.d.ts +4 -1
- package/dist/model/wires/GroundDisconnector.js +15 -1
- package/dist/model/wires/GroundDisconnector.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +1 -1
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/model/wires/SeriesCompensator.js +6 -4
- package/dist/model/wires/SeriesCompensator.js.map +1 -1
- package/dist/model/wires/Switch.js +1 -1
- package/dist/model/wires/Switch.js.map +1 -1
- package/dist/model-container/model/ModelContainer.d.ts +5 -1
- package/dist/model-container/model/ModelContainer.js +14 -1
- package/dist/model-container/model/ModelContainer.js.map +1 -1
- package/dist/util/util-create.js +9 -1
- package/dist/util/util-create.js.map +1 -1
- package/dist/util/utils.js +0 -1
- package/dist/util/utils.js.map +1 -1
- package/dist/utils2/common.utils.js +3 -0
- package/dist/utils2/common.utils.js.map +1 -1
- package/dist/utils2/fuseki.utils.js +0 -1
- package/dist/utils2/fuseki.utils.js.map +1 -1
- package/dist/utils2/parser.utils.js +2 -2
- package/dist/utils2/parser.utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -27,7 +27,6 @@ const CsConverter_1 = require("../../model/dc/CsConverter.js");
|
|
|
27
27
|
const CsOperatingModeKind_1 = require("../../model/dc/CsOperatingModeKind.js");
|
|
28
28
|
const DCConverterOperatingModeKind_1 = require("../../model/dc/DCConverterOperatingModeKind.js");
|
|
29
29
|
const DCLine_1 = require("../../model/dc/DCLine.js");
|
|
30
|
-
const DCLineSegment_1 = require("../../model/dc/DCLineSegment.js");
|
|
31
30
|
const DCNode_1 = require("../../model/dc/DCNode.js");
|
|
32
31
|
const DCTerminal_1 = require("../../model/dc/DCTerminal.js");
|
|
33
32
|
const VsConverter_1 = require("../../model/dc/VsConverter.js");
|
|
@@ -142,6 +141,9 @@ const INTEGRALPowerTransformer2WInfo_1 = require("../../model/extensions/integra
|
|
|
142
141
|
const impedance_utils_1 = require("./impedance.utils.js");
|
|
143
142
|
const util_cim_model_1 = require("./util-cim.model.js");
|
|
144
143
|
const EVAssetOriginKind_1 = require("../../model/extensions/enervance/assets/EVAssetOriginKind.js");
|
|
144
|
+
const PetersenCoilModeKind_1 = require("../../model/wires/PetersenCoilModeKind.js");
|
|
145
|
+
const GroundDisconnector_1 = require("../../model/wires/GroundDisconnector.js");
|
|
146
|
+
const DCLineSegment_1 = require("../../model/extensions/integral/dc/DCLineSegment.js");
|
|
145
147
|
class ConverterIntegral7 {
|
|
146
148
|
constructor() {
|
|
147
149
|
/** Exportnetze gemäß Konfiguration */
|
|
@@ -206,6 +208,7 @@ class ConverterIntegral7 {
|
|
|
206
208
|
yield this.queryErsatzLaengsAnschlussIDs();
|
|
207
209
|
yield this.queryLkondensatorAnschlussIDs();
|
|
208
210
|
/** BD Profile */
|
|
211
|
+
this.logger.debug('Convert BD Profiles');
|
|
209
212
|
console.log('Convert BD Profiles');
|
|
210
213
|
let boundaryEqUUId = undefined;
|
|
211
214
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
@@ -217,6 +220,7 @@ class ConverterIntegral7 {
|
|
|
217
220
|
continue;
|
|
218
221
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
219
222
|
}
|
|
223
|
+
this.logger.debug('Convert MAS Profiles');
|
|
220
224
|
console.log('Convert MAS Profiles');
|
|
221
225
|
for (const entry of this.exportFrames.entries()) {
|
|
222
226
|
const geoRegionUUID = entry[0];
|
|
@@ -225,6 +229,7 @@ class ConverterIntegral7 {
|
|
|
225
229
|
if (!geoRegion)
|
|
226
230
|
continue;
|
|
227
231
|
// frame.addDependentModel(RDF_XML.PROFILE_EQ_BD, this.exportFramesBoundary.entries().next()?.value[1].getModelUUID(RDF_XML.PROFILE_EQ_BD));
|
|
232
|
+
this.logger.debug(`Convert MAS profile: ${frame.mas}`);
|
|
228
233
|
console.log(`Convert MAS profile: ${frame.mas}`);
|
|
229
234
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
230
235
|
if (boundaryEqUUId) {
|
|
@@ -234,6 +239,7 @@ class ConverterIntegral7 {
|
|
|
234
239
|
frame.purgeData();
|
|
235
240
|
const startTime = perf_hooks.performance.now();
|
|
236
241
|
frame.openXMLModel();
|
|
242
|
+
this.logger.debug(`Serialize MAS profile: ${frame.mas}`);
|
|
237
243
|
console.log(`Serialize MAS profile: ${frame.mas}`);
|
|
238
244
|
frame.serializeModel(defaultValuesConfig);
|
|
239
245
|
yield frame.closeXMLModel();
|
|
@@ -241,7 +247,7 @@ class ConverterIntegral7 {
|
|
|
241
247
|
frame.cimModel.purgeData();
|
|
242
248
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
243
249
|
}
|
|
244
|
-
|
|
250
|
+
this.logger.debug('Serialize BD Profiles');
|
|
245
251
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
246
252
|
const geoRegionUUID = entry[0];
|
|
247
253
|
const frame = entry[1];
|
|
@@ -260,7 +266,7 @@ class ConverterIntegral7 {
|
|
|
260
266
|
let endTime = perf_hooks.performance.now();
|
|
261
267
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
262
268
|
}
|
|
263
|
-
|
|
269
|
+
this.logger.debug('Serialize Default Profile');
|
|
264
270
|
this.exportFrameDefault.openXMLModel();
|
|
265
271
|
this.exportFrameDefault.serializeModel(defaultValuesConfig);
|
|
266
272
|
yield this.exportFrameDefault.closeXMLModel();
|
|
@@ -398,6 +404,22 @@ class ConverterIntegral7 {
|
|
|
398
404
|
yield this.convertLeistungsschalter(cimModel, eqiupmentContainerIDs);
|
|
399
405
|
logExecutionTime(this.logger, startTime, `convertLeistungsschalter(${cimModel.breakers.size})`);
|
|
400
406
|
}
|
|
407
|
+
/** Sternpunktimp Modell
|
|
408
|
+
* 1) netz_knoten1pso
|
|
409
|
+
* 2) netz_schaltelement1pelem -> Junction/Terminal
|
|
410
|
+
* 3) netz_kdrossel */
|
|
411
|
+
/** Sternpunktschienen -> ConnectivityNodes */
|
|
412
|
+
if (standortIDs.length > 0) {
|
|
413
|
+
startTime = perf_hooks.performance.now();
|
|
414
|
+
const stpSchieneID = yield this.convertSternpunktSchienen(cimModel, integral7Modell, standortIDs);
|
|
415
|
+
/** KDrossel -> GroundingImpedance/PetersenCoil */
|
|
416
|
+
yield this.convertKdrossel(cimModel, integral7Modell, stpSchieneID, defaultValuesConfig);
|
|
417
|
+
/** Schaltzustand der Schaltelemente */
|
|
418
|
+
yield this.convertStpSchaltelemente(cimModel, integral7Modell, stpSchieneID);
|
|
419
|
+
/** Sternpunktschienenkupplung*/ // ToDo: Wie kann so etwas in CGMES abgebildet werden?
|
|
420
|
+
//await this.convertStpSchienenKupplung(cimModel, integral7Modell, stpSchieneID);
|
|
421
|
+
logExecutionTime(this.logger, startTime, `convertSternpunkte`);
|
|
422
|
+
}
|
|
401
423
|
/** Trafo2W */
|
|
402
424
|
if (standortIDs.length > 0) {
|
|
403
425
|
startTime = perf_hooks.performance.now();
|
|
@@ -476,20 +498,6 @@ class ConverterIntegral7 {
|
|
|
476
498
|
yield this.convertKompensationskondensatoren(cimModel, integral7Modell.targetVoltages, soSfKnoten);
|
|
477
499
|
logExecutionTime(this.logger, startTime, `convertKompensationskondensatoren`);
|
|
478
500
|
}
|
|
479
|
-
/** Sternpunktimp Modell
|
|
480
|
-
* 1) netz_knoten1pso
|
|
481
|
-
* 2) netz_schaltelement1pelem -> Junction/Terminal
|
|
482
|
-
* 3) netz_kdrossel */
|
|
483
|
-
/** Sternpunktschienen -> ConnectivityNodes */
|
|
484
|
-
if (standortIDs.length > 0) {
|
|
485
|
-
startTime = perf_hooks.performance.now();
|
|
486
|
-
const stpSchieneID = yield this.convertSternpunktSchienen(cimModel, integral7Modell, standortIDs);
|
|
487
|
-
/** KDrossel -> GroundingImpedance/PetersenCoil */
|
|
488
|
-
yield this.convertKdrossel(cimModel, integral7Modell, stpSchieneID);
|
|
489
|
-
/** Schaltzustand der Schaltelemente */
|
|
490
|
-
yield this.convertStpSchaltelemente(integral7Modell, stpSchieneID);
|
|
491
|
-
logExecutionTime(this.logger, startTime, `convertSternpunkte`);
|
|
492
|
-
}
|
|
493
501
|
/** Statcom -> StaticVarCompensator */
|
|
494
502
|
/** Sonderfall mit Trafo
|
|
495
503
|
* Trafos müssen zuertst konvertiert werden. */
|
|
@@ -538,9 +546,7 @@ class ConverterIntegral7 {
|
|
|
538
546
|
yield this.assignTerminalSequenceNumber(cimModel);
|
|
539
547
|
logExecutionTime(this.logger, startTime, `assignment of sequence number`);
|
|
540
548
|
/** DC Model */
|
|
541
|
-
/**
|
|
542
|
-
* DL Profile
|
|
543
|
-
**/
|
|
549
|
+
/** DL Profile */
|
|
544
550
|
if (!frame.boundary) {
|
|
545
551
|
this.executor = new executor_1.Executor(this.mysqlController, this.configUuid);
|
|
546
552
|
yield this.executor.mergeDataFromIntegralID2UUID(this.integralID2UUID);
|
|
@@ -552,6 +558,7 @@ class ConverterIntegral7 {
|
|
|
552
558
|
const netz_standortIds = standortIDs.map(standortId => {
|
|
553
559
|
return { id: standortId };
|
|
554
560
|
});
|
|
561
|
+
const boundary_standortIds = [];
|
|
555
562
|
const netz_knotensoIds = knotenSoIDs.map(knotenSoId => {
|
|
556
563
|
return { id: knotenSoId };
|
|
557
564
|
});
|
|
@@ -561,6 +568,7 @@ class ConverterIntegral7 {
|
|
|
561
568
|
});
|
|
562
569
|
entry[1].integral7Modell.integralKnotenSo.forEach((_, key) => {
|
|
563
570
|
netz_knotensoIds.push({ id: key });
|
|
571
|
+
boundary_standortIds.push({ id: key });
|
|
564
572
|
});
|
|
565
573
|
}
|
|
566
574
|
const netzLeitungIds = [...integral7Modell.integralLeitungen.keys()];
|
|
@@ -569,6 +577,9 @@ class ConverterIntegral7 {
|
|
|
569
577
|
const netzStreckenlastIds = [...integral7Modell.integralLeitungen.values()].map(leitung => leitung.streckenlastId).filter(id => id !== undefined && id !== null);
|
|
570
578
|
const allLeitungIds = [...new Set([...netzLeitungIds, ...netzHgueLeitungIds, ...netzErsatzlaengszweigIds, ...netzStreckenlastIds]).values()];
|
|
571
579
|
const convertOptions = {
|
|
580
|
+
visible_only: true,
|
|
581
|
+
boundary_standortIds,
|
|
582
|
+
nsg_standort_treshold_percentage: 25,
|
|
572
583
|
only: {
|
|
573
584
|
netz_standortIds,
|
|
574
585
|
netz_knotensoIds,
|
|
@@ -586,6 +597,7 @@ class ConverterIntegral7 {
|
|
|
586
597
|
})
|
|
587
598
|
}
|
|
588
599
|
};
|
|
600
|
+
frame.cimModel.addDiagramStyle(this.executor.dlConverter.diagramStyles[cim_constants_1.DiagramLayoutTypes.NODE_BREAKER]);
|
|
589
601
|
const resultingObjects = yield this.executor.convert(convertOptions);
|
|
590
602
|
for (const resultingObject of resultingObjects) {
|
|
591
603
|
if (resultingObject instanceof Diagram_1.Diagram) {
|
|
@@ -619,7 +631,6 @@ class ConverterIntegral7 {
|
|
|
619
631
|
}
|
|
620
632
|
}
|
|
621
633
|
this.executor.dataManager.cimModelGraph.purgeAll();
|
|
622
|
-
this.executor.dataManager.dbObjectKeyCimModelUuidGraph.purgeAll();
|
|
623
634
|
}
|
|
624
635
|
});
|
|
625
636
|
}
|
|
@@ -697,7 +708,7 @@ class ConverterIntegral7 {
|
|
|
697
708
|
.then((result) => {
|
|
698
709
|
for (const i7Data of result) {
|
|
699
710
|
const i7Schluessel = integral_prefix_1.GEOREGION_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
700
|
-
const region = new GeographicalRegion_1.GeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
711
|
+
const region = new GeographicalRegion_1.GeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)]), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluessel);
|
|
701
712
|
//region.i7key = i7Schluessel;
|
|
702
713
|
this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
|
|
703
714
|
regions.push(region);
|
|
@@ -745,11 +756,12 @@ class ConverterIntegral7 {
|
|
|
745
756
|
.then((result) => {
|
|
746
757
|
for (const i7Data of result) {
|
|
747
758
|
const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
748
|
-
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
759
|
+
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
760
|
+
]), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluesel);
|
|
749
761
|
const regionUUID = this.integralID2UUID.get(i7Data.georegion);
|
|
750
762
|
let region = regions.find(elem => elem.mrid === regionUUID);
|
|
751
763
|
if (!region) {
|
|
752
|
-
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name
|
|
764
|
+
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name]), this.configUuid);
|
|
753
765
|
this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
|
|
754
766
|
}
|
|
755
767
|
subregion.region = region;
|
|
@@ -840,7 +852,7 @@ class ConverterIntegral7 {
|
|
|
840
852
|
i7Data.un +
|
|
841
853
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
842
854
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
843
|
-
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname
|
|
855
|
+
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
844
856
|
vl.key = i7Schluessel;
|
|
845
857
|
const facility = util_cim_model_1.UtilCimModel.createFacilityInstanceForPsr(cimModel, vl, cim_constants_1.CimAssetAliasNames.VoltageLevel, this.configUuid);
|
|
846
858
|
if (i7Data.baujahr) {
|
|
@@ -929,23 +941,31 @@ class ConverterIntegral7 {
|
|
|
929
941
|
});
|
|
930
942
|
}
|
|
931
943
|
convertKnotenSo(frame, integral7, standortIDs, defaultValuesConfig) {
|
|
944
|
+
var _a, _b;
|
|
932
945
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
933
946
|
const cimModel = frame.cimModel;
|
|
934
947
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
|
|
935
948
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_SO), standortIDs));
|
|
949
|
+
const netzGruppe = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), []));
|
|
936
950
|
for (const i7Data of result) {
|
|
951
|
+
const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
|
|
937
952
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
938
953
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
939
|
-
// const vl = new VoltageLevel(getUUID(i7Data.guid_v, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
940
954
|
const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), i7Data.bezeichner, i7Data.kurzname);
|
|
941
|
-
//const rdfid = getUUID(i7Data.guid); /**This is the mrid for TopologicalNode */
|
|
942
955
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
|
|
956
|
+
if (connectivityNode.getUUID() === '98d0e9eb-bfb0-4da4-9700-660626da1c56' || connectivityNode.getName() === 'XDU_SL12') {
|
|
957
|
+
let stop = true;
|
|
958
|
+
}
|
|
943
959
|
connectivityNode.setConnectivityNodeContainer(vl);
|
|
944
960
|
vl.addConnectivityNode(connectivityNode);
|
|
945
961
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
962
|
+
connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
|
|
946
963
|
if (frame.boundary) {
|
|
947
964
|
connectivityNode.boundaryPoint = true;
|
|
948
965
|
}
|
|
966
|
+
const key = integral_sql_1.I7Objects.KNOTEN_SO + ((_b = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _b !== void 0 ? _b : '');
|
|
967
|
+
const junction = new Junction_1.Junction(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, key), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), connectivityNode.getUUID().substring(0, 8), "_J"]));
|
|
968
|
+
this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
949
969
|
const un = (0, utils_2.getU)(i7Data.un);
|
|
950
970
|
const baseVoltage = (0, util_create_1.createBaseVoltageIfNotExists)(cimModel, un, this.configUuid, this.exportFramesBoundary);
|
|
951
971
|
/** Spannungsband */
|
|
@@ -961,7 +981,7 @@ class ConverterIntegral7 {
|
|
|
961
981
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
962
982
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
963
983
|
vl.key = i7Schluessel;
|
|
964
|
-
connectivityNode.
|
|
984
|
+
connectivityNode.key = i7Schluessel;
|
|
965
985
|
}
|
|
966
986
|
else {
|
|
967
987
|
this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
|
|
@@ -1003,18 +1023,28 @@ class ConverterIntegral7 {
|
|
|
1003
1023
|
});
|
|
1004
1024
|
}
|
|
1005
1025
|
convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
|
|
1006
|
-
var _a;
|
|
1026
|
+
var _a, _b, _c;
|
|
1007
1027
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1008
1028
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
|
|
1009
1029
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
|
|
1030
|
+
const netzGruppe = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), []));
|
|
1010
1031
|
for (const i7Data of result) {
|
|
1011
1032
|
const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1012
|
-
|
|
1033
|
+
const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
|
|
1034
|
+
let saab = undefined;
|
|
1035
|
+
if (integral7.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
|
|
1036
|
+
saab = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1037
|
+
}
|
|
1013
1038
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
1014
1039
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, i7Data.bezeichner, i7Data.kurzname);
|
|
1015
1040
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
|
|
1016
1041
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1017
|
-
|
|
1042
|
+
connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
|
|
1043
|
+
const keyBusbarSection = [
|
|
1044
|
+
integral_sql_1.I7Objects.SAMMELSCHIENE,
|
|
1045
|
+
(_b = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getUUID()) !== null && _b !== void 0 ? _b : '',
|
|
1046
|
+
(_c = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _c !== void 0 ? _c : ''
|
|
1047
|
+
].join('');
|
|
1018
1048
|
const uuidBusbarSection = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.BusbarSection, this.configUuid, keyBusbarSection);
|
|
1019
1049
|
const busbarSection = new BusbarSection_1.BusbarSection(uuidBusbarSection, i7Data.bezeichner, i7Schaltanlagenabschnitt.kurzname);
|
|
1020
1050
|
busbarSection.ipMax = i7Data.limit_ip;
|
|
@@ -1029,11 +1059,15 @@ class ConverterIntegral7 {
|
|
|
1029
1059
|
voltageLevel.highVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umax) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umax) : voltageLevel.highVoltageLimit;
|
|
1030
1060
|
// umin
|
|
1031
1061
|
voltageLevel.lowVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umin) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umin) : voltageLevel.lowVoltageLimit;
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1062
|
+
//define INTEGRAL Schluessel for ConnectivityNode
|
|
1063
|
+
if (saab !== undefined) {
|
|
1064
|
+
const i7Schluessel = voltageLevel.key +
|
|
1065
|
+
integral_prefix_1.SCHALTANLAGENABSCHNITT_PRAEFIX +
|
|
1066
|
+
(0, utils_2.ueberpruefeZeichenkette)(saab.bezeichner) +
|
|
1067
|
+
integral_prefix_1.SAMMELSCHIENENABSCHNITT_PRAEFIX +
|
|
1068
|
+
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
1069
|
+
connectivityNode.key = i7Schluessel;
|
|
1070
|
+
}
|
|
1037
1071
|
/** Spannungsband */
|
|
1038
1072
|
integral7.targetVoltages.set(i7Data.id, { usoll: i7Data.usoll, umin: i7Data.umin, umax: i7Data.umax });
|
|
1039
1073
|
// TODO VoltageLimits?
|
|
@@ -1046,7 +1080,7 @@ class ConverterIntegral7 {
|
|
|
1046
1080
|
cimModel.addConnectivityNode(connectivityNode);
|
|
1047
1081
|
cimModel.addBusbarSection(busbarSection);
|
|
1048
1082
|
/** Integral 7 Modell erstellen zur Berechnung der Netzschema */
|
|
1049
|
-
if (
|
|
1083
|
+
if (saab !== undefined) {
|
|
1050
1084
|
integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt).ssab.push(i7Data);
|
|
1051
1085
|
}
|
|
1052
1086
|
}
|
|
@@ -1063,10 +1097,11 @@ class ConverterIntegral7 {
|
|
|
1063
1097
|
const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
|
|
1064
1098
|
for (const i7Data of result) {
|
|
1065
1099
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
|
|
1066
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, '
|
|
1067
|
-
if (bay) {
|
|
1100
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false));
|
|
1101
|
+
if (bay !== undefined) {
|
|
1068
1102
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1069
1103
|
bay.addConnectivityNode(connectivityNode);
|
|
1104
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_SF_PRAEFIX + i7Data.bezeichner;
|
|
1070
1105
|
}
|
|
1071
1106
|
else {
|
|
1072
1107
|
this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1091,11 +1126,11 @@ class ConverterIntegral7 {
|
|
|
1091
1126
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
|
|
1092
1127
|
const key = integral_sql_1.I7Objects.KNOTEN_KF + ((_a = bay === null || bay === void 0 ? void 0 : bay.getUUID()) !== null && _a !== void 0 ? _a : '') + String(i7Data.id) + String(i7Data.kpfeld);
|
|
1093
1128
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1094
|
-
|
|
1095
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, i7Data.bezeichner, 'knotenkf');
|
|
1129
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false));
|
|
1096
1130
|
if (bay) {
|
|
1097
1131
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1098
1132
|
bay.addConnectivityNode(connectivityNode);
|
|
1133
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_KF_PRAEFIX + i7Data.bezeichner;
|
|
1099
1134
|
}
|
|
1100
1135
|
else {
|
|
1101
1136
|
this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1118,11 +1153,12 @@ class ConverterIntegral7 {
|
|
|
1118
1153
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
|
|
1119
1154
|
const key = integral_sql_1.I7Objects.KNOTEN_LK + ((_a = bay === null || bay === void 0 ? void 0 : bay.getUUID()) !== null && _a !== void 0 ? _a : '') + String(i7Data.id) + String(i7Data.lkupplung);
|
|
1120
1155
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1121
|
-
const
|
|
1122
|
-
|
|
1156
|
+
const name = (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false);
|
|
1157
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, name, name);
|
|
1123
1158
|
if (bay) {
|
|
1124
1159
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1125
1160
|
bay.addConnectivityNode(connectivityNode);
|
|
1161
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_LK_PRAEFIX + i7Data.bezeichner;
|
|
1126
1162
|
}
|
|
1127
1163
|
else {
|
|
1128
1164
|
this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1145,8 +1181,12 @@ class ConverterIntegral7 {
|
|
|
1145
1181
|
const key = integral_sql_1.I7Objects.SCHLAUFE + String(i7Data.id);
|
|
1146
1182
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
|
|
1147
1183
|
const terminal = new Terminal_1.Terminal(uuid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
|
|
1184
|
+
if (terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
1185
|
+
const stop = true;
|
|
1186
|
+
}
|
|
1148
1187
|
terminal.connected = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
|
|
1149
1188
|
terminal.phases = PhaseCode_1.PhaseCode.ABC;
|
|
1189
|
+
terminal.key = integral_prefix_1.SCHLAUFE_PRAEFIX + i7Data.bezeichner;
|
|
1150
1190
|
this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1151
1191
|
this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1152
1192
|
integral7.kontenZwIDs.push(i7Data.knotenzw);
|
|
@@ -1252,6 +1292,101 @@ class ConverterIntegral7 {
|
|
|
1252
1292
|
}
|
|
1253
1293
|
});
|
|
1254
1294
|
}
|
|
1295
|
+
convertVollUmrichterEinspeisung(cimModel, targetVoltages, knotenSfIDs, objectMappingConfig, energySourceTypeMappingConfig) {
|
|
1296
|
+
var _a;
|
|
1297
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1298
|
+
const targetClass = objectMappingConfig.Einspeisung.class;
|
|
1299
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG)) {
|
|
1300
|
+
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.VOLLUMRICHTEREINSPEISUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG), knotenSfIDs));
|
|
1301
|
+
for (const i7Data of result) {
|
|
1302
|
+
try {
|
|
1303
|
+
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
1304
|
+
const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(uuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', uuid.substring(0, 8), '_ENI'], 32, true), i7Data.kurzname);
|
|
1305
|
+
externalNetworkInjection.nameprimaertyp = 'Wind Onshore';
|
|
1306
|
+
let mf = undefined;
|
|
1307
|
+
mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1308
|
+
if (mf) {
|
|
1309
|
+
cimModel.addMultiplierFactor(mf);
|
|
1310
|
+
externalNetworkInjection.multiplierFactorUUID = mf.getUUID();
|
|
1311
|
+
}
|
|
1312
|
+
/** Convert EQ-profile dataset. */
|
|
1313
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
1314
|
+
externalNetworkInjection.maxP = maxP;
|
|
1315
|
+
const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
1316
|
+
externalNetworkInjection.governorSCD = governorscd;
|
|
1317
|
+
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
1318
|
+
externalNetworkInjection.maxQ = maxQ;
|
|
1319
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : undefined;
|
|
1320
|
+
externalNetworkInjection.minP = minP;
|
|
1321
|
+
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
1322
|
+
externalNetworkInjection.minQ = minQ;
|
|
1323
|
+
this.setTopologyEnergySourceConsumerObject(cimModel, externalNetworkInjection, i7Data, targetVoltages);
|
|
1324
|
+
/**Convert short circuit constants */
|
|
1325
|
+
const r0X0 = undefined;
|
|
1326
|
+
const r1X1 = undefined;
|
|
1327
|
+
const z0Z1 = undefined;
|
|
1328
|
+
const maxR0X0Ratio = r0X0;
|
|
1329
|
+
externalNetworkInjection.maxR0ToX0Ratio = maxR0X0Ratio;
|
|
1330
|
+
const maxR1X1Ratio = r1X1;
|
|
1331
|
+
externalNetworkInjection.maxR1ToX1Ratio = maxR1X1Ratio;
|
|
1332
|
+
const maxZ0Z1Ratio = z0Z1;
|
|
1333
|
+
externalNetworkInjection.maxZ0ToZ1Ratio = maxZ0Z1Ratio;
|
|
1334
|
+
const minR0X0Ratio = r0X0;
|
|
1335
|
+
externalNetworkInjection.minR0ToX0Ratio = minR0X0Ratio;
|
|
1336
|
+
const minR1X1Ratio = r1X1;
|
|
1337
|
+
externalNetworkInjection.minR1ToX1Ratio = minR1X1Ratio;
|
|
1338
|
+
const minZ0Z1Ratio = z0Z1;
|
|
1339
|
+
externalNetworkInjection.minZ0ToZ1Ratio = minZ0Z1Ratio;
|
|
1340
|
+
const i2sk1 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk1) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk1) : undefined;
|
|
1341
|
+
const i2sk2 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk2) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk2) : undefined;
|
|
1342
|
+
const i2sk2e = (0, parser_utils_1.isNumericI7)(i7Data.i2sk2e) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk2e) : undefined;
|
|
1343
|
+
const i2sk3 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk3) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk3) : undefined;
|
|
1344
|
+
const ikMin = (0, utils_2.transformShortCircuitCurrent)(Math.min(i2sk1, i2sk2, i2sk2e, i2sk3));
|
|
1345
|
+
const ikMax = (0, utils_2.transformShortCircuitCurrent)(Math.max(i2sk1, i2sk2, i2sk2e, i2sk3));
|
|
1346
|
+
externalNetworkInjection.minInitialSymShCCurrent = ikMin;
|
|
1347
|
+
externalNetworkInjection.maxInitialSymShCCurrent = ikMax;
|
|
1348
|
+
const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
|
|
1349
|
+
/** Convert SSH-profile dataset. */
|
|
1350
|
+
/**
|
|
1351
|
+
* @description Set einspprio as referencePriority. PowerFactory sets external network injections with referencePriority == 1, to slack control mode. In regular case referencePriority for externalnetworkextensions is set to value '0'.
|
|
1352
|
+
* einspprio having no effect in loadflow calculation if voltage control does not exists.
|
|
1353
|
+
* */
|
|
1354
|
+
let prio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
|
|
1355
|
+
if (((_a = externalNetworkInjection.regulatingControl) === null || _a === void 0 ? void 0 : _a.mode) === RegulatingControlModeKind_1.RegulatingControlModeKind.voltage) {
|
|
1356
|
+
if (prio !== undefined && prio > 0) {
|
|
1357
|
+
externalNetworkInjection.referencePriority = prio + 1; //TODO: SLACK is a injection with maximum prio in the network section and active voltage control.
|
|
1358
|
+
}
|
|
1359
|
+
else if (prio !== undefined && prio === 0) {
|
|
1360
|
+
externalNetworkInjection.referencePriority = prio;
|
|
1361
|
+
}
|
|
1362
|
+
else {
|
|
1363
|
+
externalNetworkInjection.referencePriority = undefined;
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
const powerData = (0, utils_2.getActiveReactivePower)(i7Data, mf);
|
|
1367
|
+
const p = powerData[0];
|
|
1368
|
+
const q = powerData[1];
|
|
1369
|
+
externalNetworkInjection.setActivePower(p * -1); //convert to load sign system
|
|
1370
|
+
externalNetworkInjection.setReactivePower(q * -1); //convert to load sign system
|
|
1371
|
+
// AMPI7 profile
|
|
1372
|
+
const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? ((0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) !== 0 ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : 1) : undefined;
|
|
1373
|
+
externalNetworkInjection.cos_phi = cosPhi;
|
|
1374
|
+
externalNetworkInjection.p_mf = (mf && powerData[2]) ? powerData[2] * -1 : undefined;
|
|
1375
|
+
externalNetworkInjection.q_mf = (mf && powerData[3]) ? powerData[3] * -1 : undefined;
|
|
1376
|
+
externalNetworkInjection.normallyInService = inBetrieb;
|
|
1377
|
+
cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
1378
|
+
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
|
|
1379
|
+
}
|
|
1380
|
+
catch (err) {
|
|
1381
|
+
this.logger.error(`error --- convertVollumrichtereinspeisung ${i7Data.id} ${err}`);
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
else {
|
|
1386
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG} ist nicht vorhanden.`);
|
|
1387
|
+
}
|
|
1388
|
+
});
|
|
1389
|
+
}
|
|
1255
1390
|
convertErsatzQuerZweige(cimModel, targetVoltages, knotenSfIDs, targetClass) {
|
|
1256
1391
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1257
1392
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
|
|
@@ -1284,6 +1419,9 @@ class ConverterIntegral7 {
|
|
|
1284
1419
|
for (const i7Data of result) {
|
|
1285
1420
|
const genType = this.generatorTypen.get(i7Data.nametyp);
|
|
1286
1421
|
const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1422
|
+
if (synchronousMachine.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F') {
|
|
1423
|
+
let stop = true;
|
|
1424
|
+
}
|
|
1287
1425
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
1288
1426
|
const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : undefined;
|
|
1289
1427
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
@@ -1385,7 +1523,7 @@ class ConverterIntegral7 {
|
|
|
1385
1523
|
const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
|
|
1386
1524
|
// AMP I7 Profil
|
|
1387
1525
|
synchronousMachine.cos_phi = i7Data.cos_phi;
|
|
1388
|
-
if (synchronousMachine.getUUID() === '
|
|
1526
|
+
if (synchronousMachine.getUUID() === '69718d2d-5988-49a9-b5c8-d53d0cf0e89a') {
|
|
1389
1527
|
let stop = true;
|
|
1390
1528
|
}
|
|
1391
1529
|
if (synchronousMachine.getUUID() === 'f6d81d19-dca0-48e9-a43e-4ab1f6bf697d') {
|
|
@@ -1419,10 +1557,12 @@ class ConverterIntegral7 {
|
|
|
1419
1557
|
synchronousMachine.ratedPowerFactor = cosphir ? cosphir : undefined;
|
|
1420
1558
|
/** EQ-SC */
|
|
1421
1559
|
synchronousMachine.earthing = ((_a = i7Data.erdung) === null || _a === void 0 ? void 0 : _a.length) > 0 && i7Data.erdung != 'isoliert' ? true : false;
|
|
1422
|
-
synchronousMachine.r = (0, parser_utils_1.isNumericI7)(i7Data.rg) ? (0,
|
|
1560
|
+
synchronousMachine.r = (0, parser_utils_1.isNumericI7)(i7Data.rg) ? (0, utils_2.calculatePU2OHM)((0, parser_utils_1.convertToNumberI7)(i7Data.rg), synchronousMachine.ratedU, synchronousMachine.ratedS) :
|
|
1561
|
+
((0, parser_utils_1.isNumericI7)(genType === null || genType === void 0 ? void 0 : genType.rg) ? (0, utils_2.calculatePU2OHM)((0, parser_utils_1.convertToNumberI7)(i7Data.rg), synchronousMachine.ratedU, synchronousMachine.ratedS) : undefined);
|
|
1423
1562
|
synchronousMachine.r0 = 0;
|
|
1424
1563
|
synchronousMachine.r2 = 0;
|
|
1425
|
-
synchronousMachine.x0 = (0, parser_utils_1.isNumericI7)(i7Data.x0g) ? (0, parser_utils_1.convertToNumberI7)(i7Data.x0g) :
|
|
1564
|
+
synchronousMachine.x0 = (0, parser_utils_1.isNumericI7)(i7Data.x0g) ? (0, utils_2.calculatePU2OHM)((0, parser_utils_1.convertToNumberI7)(i7Data.x0g), synchronousMachine.ratedU, synchronousMachine.ratedS) :
|
|
1565
|
+
((0, parser_utils_1.isNumericI7)(genType === null || genType === void 0 ? void 0 : genType.x0g) ? (0, utils_2.calculatePU2OHM)((0, parser_utils_1.convertToNumberI7)(i7Data.x0g), synchronousMachine.ratedU, synchronousMachine.ratedS) : undefined);
|
|
1426
1566
|
synchronousMachine.x2 = 0;
|
|
1427
1567
|
synchronousMachine.satDirectSubtransX = (0, parser_utils_1.isNumericI7)(i7Data.xd2s) ? (0, parser_utils_1.convertToNumberI7)(i7Data.xd2s) : ((0, parser_utils_1.isNumericI7)(genType === null || genType === void 0 ? void 0 : genType.xd2s) ? (0, parser_utils_1.convertToNumberI7)(genType.xd2s) : undefined);
|
|
1428
1568
|
// synchronousMachine.earthingStarPointR
|
|
@@ -1435,7 +1575,7 @@ class ConverterIntegral7 {
|
|
|
1435
1575
|
// synchronousMachine.voltageRegulationRange: number;
|
|
1436
1576
|
/** Create ReactiveCapabilityCurves */
|
|
1437
1577
|
if (minP !== undefined && maxP !== undefined && minQvonPmin !== undefined && maxQvonPmax !== undefined) {
|
|
1438
|
-
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData', synchronousMachine.
|
|
1578
|
+
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData', '_', synchronousMachine.getUUID().substring(0, 8), '_RCC']));
|
|
1439
1579
|
reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
1440
1580
|
reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
1441
1581
|
reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -1518,6 +1658,9 @@ class ConverterIntegral7 {
|
|
|
1518
1658
|
// TODO: genControlSource is not required.
|
|
1519
1659
|
//generatingUnit.genControlSource = GeneratorControlSource.onAGC;
|
|
1520
1660
|
/**Complete GeneratingUnit data */
|
|
1661
|
+
if (generatingUnit.getUUID() === '70810e1e74aa4359b387bef9158f4767' || synchronousMachine.getUUID() === '70810e1e74aa4359b387bef9158f4767') {
|
|
1662
|
+
const stop = true;
|
|
1663
|
+
}
|
|
1521
1664
|
generatingUnit.initialP = (0, parser_utils_1.isNumericI7)(i7Data.p0) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p0) : undefined;
|
|
1522
1665
|
// generatingUnit.longPF
|
|
1523
1666
|
// generatingUnit.maximumAllowableSpinningReserve
|
|
@@ -1669,7 +1812,7 @@ class ConverterIntegral7 {
|
|
|
1669
1812
|
//EQ core profile content
|
|
1670
1813
|
const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1671
1814
|
if (connectivityNode) {
|
|
1672
|
-
|
|
1815
|
+
this.createConnection(cimModel, asynchronousMachine, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
1673
1816
|
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1674
1817
|
if (equipmentContainer) {
|
|
1675
1818
|
equipmentContainer.addEquipment(asynchronousMachine);
|
|
@@ -1881,6 +2024,9 @@ class ConverterIntegral7 {
|
|
|
1881
2024
|
convertErsatzQuerZweige2EquivalentInjection(cimModel, targetVoltages, result) {
|
|
1882
2025
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1883
2026
|
for (const i7Data of result) {
|
|
2027
|
+
if (i7Data.guid === '_8addc711-52fd-4ff6-b5ff-50aadc1a32ec') {
|
|
2028
|
+
const stop = true;
|
|
2029
|
+
}
|
|
1884
2030
|
const einspeisePrio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : 1;
|
|
1885
2031
|
const flag_lfl = (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_lfl);
|
|
1886
2032
|
const flag_ks = (0, parser_utils_1.convertToBooleanI7)(i7Data.flag_ks);
|
|
@@ -1929,12 +2075,12 @@ class ConverterIntegral7 {
|
|
|
1929
2075
|
}
|
|
1930
2076
|
else if (flag_lfl || flag_ks) {
|
|
1931
2077
|
equivalentInjection.regulationCapability = false;
|
|
1932
|
-
equivalentInjection.r = r1;
|
|
1933
|
-
equivalentInjection.r0 = r0;
|
|
1934
|
-
equivalentInjection.r2 = r1;
|
|
1935
|
-
equivalentInjection.x = x1;
|
|
1936
|
-
equivalentInjection.x0 = x0;
|
|
1937
|
-
equivalentInjection.x2 = x1;
|
|
2078
|
+
equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
|
|
2079
|
+
equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ? r0 : 1e9;
|
|
2080
|
+
equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ? r1 : 1e9;
|
|
2081
|
+
equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
|
|
2082
|
+
equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ? x0 : 1e9;
|
|
2083
|
+
equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ? x1 : 1e9;
|
|
1938
2084
|
}
|
|
1939
2085
|
/** Export Extended Ward equivalent with no voltage regulation */
|
|
1940
2086
|
else if (((r_ext !== undefined && r_ext !== 0) || (x_ext !== undefined && x_ext !== 0))) {
|
|
@@ -2230,6 +2376,9 @@ class ConverterIntegral7 {
|
|
|
2230
2376
|
const qr = (0, parser_utils_1.isNumericI7)(i7Data.qr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qr) : undefined;
|
|
2231
2377
|
const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2232
2378
|
shunt.nomU = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
2379
|
+
if (shunt.getUUID() === '547B9591-C41B-4496-9954-2215B8945124') {
|
|
2380
|
+
let stop = true;
|
|
2381
|
+
}
|
|
2233
2382
|
// Set electrical properties (EQ core)
|
|
2234
2383
|
if ((0, parser_utils_1.isNumericI7)(i7Data.aktstufe) && (0, parser_utils_1.isNumericI7)(i7Data.maxstufe)) {
|
|
2235
2384
|
shunt.sections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
|
|
@@ -2369,7 +2518,7 @@ class ConverterIntegral7 {
|
|
|
2369
2518
|
/** EQ */
|
|
2370
2519
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2371
2520
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2372
|
-
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2521
|
+
statVarCom.slope = (0, parser_utils_1.isNumericI7)(mrez) && mrez !== 0 ? 1 / (0, parser_utils_1.convertToNumberI7)(mrez) : 0;
|
|
2373
2522
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2374
2523
|
statVarCom.aggregate = false;
|
|
2375
2524
|
/** EQ-SC */
|
|
@@ -2378,7 +2527,6 @@ class ConverterIntegral7 {
|
|
|
2378
2527
|
/** SV */
|
|
2379
2528
|
//statVarCom.svpowerflow
|
|
2380
2529
|
/** Regelung */
|
|
2381
|
-
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid_rc);
|
|
2382
2530
|
const regulatingControl = this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, targetVoltages, undefined, true);
|
|
2383
2531
|
/** EQ */
|
|
2384
2532
|
if (regulatingControl) {
|
|
@@ -2406,7 +2554,7 @@ class ConverterIntegral7 {
|
|
|
2406
2554
|
/** EQ */
|
|
2407
2555
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2408
2556
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2409
|
-
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2557
|
+
statVarCom.slope = (0, parser_utils_1.isNumericI7)(mrez) && mrez !== 0 ? 1 / (0, parser_utils_1.convertToNumberI7)(mrez) : 0;
|
|
2410
2558
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2411
2559
|
statVarCom.aggregate = false;
|
|
2412
2560
|
/** EQ-SC */
|
|
@@ -2418,11 +2566,11 @@ class ConverterIntegral7 {
|
|
|
2418
2566
|
/** EQ */
|
|
2419
2567
|
statVarCom.voltageSetPoint = regulatingControl.targetValue ? regulatingControl.targetValue : ur;
|
|
2420
2568
|
cimModel.addStaticVarCompensator(statVarCom);
|
|
2421
|
-
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.
|
|
2569
|
+
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
|
|
2422
2570
|
}
|
|
2423
2571
|
}
|
|
2424
2572
|
else {
|
|
2425
|
-
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.
|
|
2573
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SVC} ist nicht vorhanden.`);
|
|
2426
2574
|
}
|
|
2427
2575
|
});
|
|
2428
2576
|
}
|
|
@@ -2475,9 +2623,10 @@ class ConverterIntegral7 {
|
|
|
2475
2623
|
csConverter.ratedIdc = (0, utils_2.calculateRatedIdc)(csConverter.ratedUdc, pr);
|
|
2476
2624
|
/** spannungsabhängige Wirk-Verluste in kW bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2477
2625
|
csConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2478
|
-
csConverter.maxUdc = csConverter.ratedUdc * 1.
|
|
2479
|
-
csConverter.minUdc = csConverter.ratedUdc * 0.
|
|
2480
|
-
|
|
2626
|
+
csConverter.maxUdc = csConverter.ratedUdc * 1.08; // +5% * ratedUdc
|
|
2627
|
+
csConverter.minUdc = csConverter.ratedUdc * 0.98; // -5% * ratedUdc
|
|
2628
|
+
//R=U^2/P
|
|
2629
|
+
csConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? Math.pow(csConverter.ratedUdc, 2) / ((0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, 3)) : undefined;
|
|
2481
2630
|
csConverter.switchingLoss = 0;
|
|
2482
2631
|
/* csConverter.numberOfValves
|
|
2483
2632
|
csConverter.valveU0*/
|
|
@@ -2571,21 +2720,21 @@ class ConverterIntegral7 {
|
|
|
2571
2720
|
/** Bemessungsleistung (Gleichstromseite) in MW
|
|
2572
2721
|
* im CS-Fall S = P?
|
|
2573
2722
|
* Abhängig vom */
|
|
2574
|
-
vsConverter.baseS = i7Data.pr;
|
|
2723
|
+
vsConverter.baseS = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2575
2724
|
/** Bemessungsspannung (Gleichstromseite) in kV*/
|
|
2576
2725
|
//If udc is set in Integral data model set converter.ratedUdc as i7Data.udc else take the data value for i7Data.ur (Bemessungsspannung)
|
|
2577
2726
|
vsConverter.ratedUdc = (0, parser_utils_1.isNumericI7)(i7Data.udc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.udc) : ((0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined);
|
|
2578
|
-
/** spannungsabhängige Wirk-Verluste bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2727
|
+
/** spannungsabhängige Wirk-Verluste in MW bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2579
2728
|
vsConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2580
|
-
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +
|
|
2581
|
-
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -
|
|
2582
|
-
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10,
|
|
2729
|
+
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +8% * ratedUdc
|
|
2730
|
+
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -2% * ratedUdc
|
|
2731
|
+
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? Math.pow(vsConverter.ratedUdc, 2) / ((0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, 3)) : undefined;
|
|
2583
2732
|
vsConverter.switchingLoss = undefined;
|
|
2584
2733
|
/* csConverter.maxModulationIndex = ;
|
|
2585
2734
|
csConverter.maxValveCurrent = */
|
|
2586
2735
|
/** CapabilityCurveData */
|
|
2587
|
-
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) :
|
|
2588
|
-
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) :
|
|
2736
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : vsConverter.baseS;
|
|
2737
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : -1 * vsConverter.baseS;
|
|
2589
2738
|
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
2590
2739
|
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
2591
2740
|
/** SSH export values */
|
|
@@ -2608,11 +2757,11 @@ class ConverterIntegral7 {
|
|
|
2608
2757
|
vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2609
2758
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
2610
2759
|
dcNode.dcTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2611
|
-
/** Create
|
|
2760
|
+
/** Create VsCapabilityCurves */
|
|
2612
2761
|
if (minP !== undefined && maxP !== undefined && minQ != undefined && maxQ !== undefined) {
|
|
2613
2762
|
let keyVsCapabilityCurve = cim_class_names_1.ClassNames.VsCapabilityCurve + i7Data.id + vsConverter.getUUID();
|
|
2614
2763
|
let uuidVsCapabilityCurve = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VsCapabilityCurve, this.configUuid, keyVsCapabilityCurve);
|
|
2615
|
-
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2764
|
+
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', '_', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2616
2765
|
vsCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
2617
2766
|
vsCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
2618
2767
|
vsCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -2623,7 +2772,7 @@ class ConverterIntegral7 {
|
|
|
2623
2772
|
const curveData1 = new CurveData_1.CurveData(uuidCurveData);
|
|
2624
2773
|
curveData1.curve = vsCapabilityCurve;
|
|
2625
2774
|
curveData1.xvalue = minP; //pMin
|
|
2626
|
-
curveData1.y1value = minQ; //qMin
|
|
2775
|
+
curveData1.y1value = minQ; //qMin pMax
|
|
2627
2776
|
curveData1.y2value = maxQ; //qMax pMin
|
|
2628
2777
|
cimModel.addCurveData(curveData1);
|
|
2629
2778
|
//reactive capability curve data for pmax
|
|
@@ -2633,7 +2782,7 @@ class ConverterIntegral7 {
|
|
|
2633
2782
|
curveData2.curve = vsCapabilityCurve;
|
|
2634
2783
|
curveData2.xvalue = maxP; //pMax
|
|
2635
2784
|
curveData2.y1value = minQ; //qMin pMax
|
|
2636
|
-
curveData2.y2value = maxQ; //
|
|
2785
|
+
curveData2.y2value = maxQ; //qMax pMax
|
|
2637
2786
|
cimModel.addCurveData(curveData2);
|
|
2638
2787
|
cimModel.addVsCapabilityCurve(vsCapabilityCurve);
|
|
2639
2788
|
vsConverter.capabilityCurve = vsCapabilityCurve;
|
|
@@ -2753,7 +2902,9 @@ class ConverterIntegral7 {
|
|
|
2753
2902
|
externalNetworkInjection.multiplierFactorUUID = mf.getUUID();
|
|
2754
2903
|
}
|
|
2755
2904
|
/** Convert EQ-profile dataset. */
|
|
2756
|
-
|
|
2905
|
+
if (i7Data.guid === '_ab64e281-72d0-45fb-8cb3-da4ae99a4f8c') {
|
|
2906
|
+
const stop = true;
|
|
2907
|
+
}
|
|
2757
2908
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
2758
2909
|
externalNetworkInjection.maxP = maxP;
|
|
2759
2910
|
const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
@@ -2785,9 +2936,10 @@ class ConverterIntegral7 {
|
|
|
2785
2936
|
const skAkt = (0, parser_utils_1.isNumericI7)(i7Data.sk_akt) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_akt) : undefined;
|
|
2786
2937
|
const skMin = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_min) : skAkt;
|
|
2787
2938
|
const skMax = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_max) : skAkt;
|
|
2788
|
-
const
|
|
2939
|
+
const nomV = externalNetworkInjection.getTerminals().values().next().value.getConnectivityNode().getBaseVoltageAsNumber();
|
|
2940
|
+
const minIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, utils_2.calculateShortCircuitCurrent)(skMin, nomV) : undefined;
|
|
2789
2941
|
externalNetworkInjection.minInitialSymShCCurrent = minIkSecond;
|
|
2790
|
-
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0,
|
|
2942
|
+
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, utils_2.calculateShortCircuitCurrent)(skMax, nomV) : undefined;
|
|
2791
2943
|
externalNetworkInjection.maxInitialSymShCCurrent = maxIkSecond;
|
|
2792
2944
|
const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
|
|
2793
2945
|
/** Convert SSH-profile dataset. */
|
|
@@ -2850,6 +3002,9 @@ class ConverterIntegral7 {
|
|
|
2850
3002
|
if (condEquip instanceof RotatingMachine_1.RotatingMachine || condEquip instanceof ExternalNetworkInjection_1.ExternalNetworkInjection || condEquip instanceof EquivalentInjection_1.EquivalentInjection) {
|
|
2851
3003
|
i7DataEinsp = i7Data;
|
|
2852
3004
|
i7DataRQ = i7Data;
|
|
3005
|
+
if (condEquip.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F' || condEquip.getUUID() === '0c67bf21-a557-46ea-af63-2a3ac116bd2e') {
|
|
3006
|
+
const stop = true;
|
|
3007
|
+
}
|
|
2853
3008
|
}
|
|
2854
3009
|
if (condEquip instanceof SynchronousMachine_1.SynchronousMachine) {
|
|
2855
3010
|
suffix = '_SM';
|
|
@@ -2870,16 +3025,26 @@ class ConverterIntegral7 {
|
|
|
2870
3025
|
suffix = '_EI';
|
|
2871
3026
|
}
|
|
2872
3027
|
else if (condEquip instanceof StaticVarCompensator_1.StaticVarCompensator) {
|
|
3028
|
+
if (condEquip.getUUID() === '18e12018-03dd-4d6e-a626-ea404017050f' || condEquip.getUUID() === '4352ad9f-c841-4dcb-9a42-3ccabcb56487'
|
|
3029
|
+
|| condEquip.getUUID() === '3d060069-9253-4e68-bb75-74d92982bb1a' || condEquip.getUUID() === '03c53185-aaa7-4040-8b43-76f79fac82b9' || condEquip.getUUID() === '02ba5072-a387-47c6-b9ce-b9d3def21964') {
|
|
3030
|
+
let stop = true;
|
|
3031
|
+
}
|
|
2873
3032
|
i7DataSVC = i7Data;
|
|
2874
3033
|
i7DataRQ = i7Data;
|
|
2875
3034
|
suffix = '_SVC';
|
|
2876
3035
|
}
|
|
2877
3036
|
else if (condEquip instanceof LinearShuntCompensator_1.LinearShuntCompensator) {
|
|
3037
|
+
if (condEquip.getUUID() === '547B9591-C41B-4496-9954-2215B8945124') {
|
|
3038
|
+
let stop = true;
|
|
3039
|
+
}
|
|
2878
3040
|
i7DataKomp = i7Data;
|
|
2879
3041
|
i7DataRQ = i7Data;
|
|
2880
3042
|
suffix = '_LSC';
|
|
2881
3043
|
}
|
|
2882
3044
|
else if (condEquip instanceof ACDCConverter_1.ACDCConverter) {
|
|
3045
|
+
if (condEquip.getUUID() === '71331a6b-000d-4049-89cc-9319a69367f6') {
|
|
3046
|
+
let stop = true;
|
|
3047
|
+
}
|
|
2883
3048
|
i7DataHgue = i7Data;
|
|
2884
3049
|
suffix = '_ACDCC';
|
|
2885
3050
|
}
|
|
@@ -2916,62 +3081,61 @@ class ConverterIntegral7 {
|
|
|
2916
3081
|
let tVMax = undefined; //maximum target voltage
|
|
2917
3082
|
let tVMin = undefined; //minimum target voltage
|
|
2918
3083
|
const regCondEquip = condEquip;
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
2932
|
-
}
|
|
2933
|
-
else {
|
|
2934
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2935
|
-
}
|
|
3084
|
+
//get rated voltage of controlled node.
|
|
3085
|
+
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3086
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3087
|
+
if (cterminal === undefined) {
|
|
3088
|
+
let stop = true;
|
|
3089
|
+
}
|
|
3090
|
+
if (cterminal) {
|
|
3091
|
+
tCn = cterminal.getConnectivityNode();
|
|
3092
|
+
if (tCn) {
|
|
3093
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3094
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3095
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
2936
3096
|
}
|
|
2937
3097
|
else {
|
|
2938
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id}
|
|
3098
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2939
3099
|
}
|
|
2940
3100
|
}
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
break;
|
|
3101
|
+
else {
|
|
3102
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Anschlusspunkt (Terminal) des entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3103
|
+
}
|
|
3104
|
+
}
|
|
3105
|
+
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3106
|
+
switch (knotenSpgGeregelt) {
|
|
3107
|
+
case undefined: {
|
|
3108
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
3109
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
2951
3110
|
}
|
|
2952
|
-
|
|
2953
|
-
cterminal = (0, util_graph2tree_1.getControlledNode)(
|
|
3111
|
+
if (cterminal === undefined) {
|
|
3112
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
2954
3113
|
}
|
|
3114
|
+
break;
|
|
2955
3115
|
}
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
if (tCn) {
|
|
2959
|
-
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
2960
|
-
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
2961
|
-
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
2962
|
-
}
|
|
2963
|
-
else {
|
|
2964
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2965
|
-
}
|
|
3116
|
+
default: {
|
|
3117
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
2966
3118
|
}
|
|
2967
3119
|
}
|
|
2968
|
-
|
|
2969
|
-
|
|
3120
|
+
if (cterminal) {
|
|
3121
|
+
tCn = cterminal.getConnectivityNode();
|
|
2970
3122
|
if (tCn) {
|
|
2971
|
-
|
|
3123
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3124
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3125
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3126
|
+
}
|
|
3127
|
+
else {
|
|
3128
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2972
3129
|
}
|
|
2973
3130
|
}
|
|
2974
3131
|
}
|
|
3132
|
+
uband = (0, parser_utils_1.isNumericI7)(tVMax) && (0, parser_utils_1.isNumericI7)(tVMin) ? (0, parser_utils_1.convertToNumberI7)(tVMax) - (0, parser_utils_1.convertToNumberI7)(tVMin) : undefined;
|
|
3133
|
+
if (uband === undefined) {
|
|
3134
|
+
if (tCn) {
|
|
3135
|
+
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3136
|
+
}
|
|
3137
|
+
}
|
|
3138
|
+
usoll = (0, parser_utils_1.isNumericI7)(i7Data.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7Data.usoll) : usoll;
|
|
2975
3139
|
//Create and define regulating control for voltage control
|
|
2976
3140
|
if (cterminal !== undefined) {
|
|
2977
3141
|
rControl = (0, utils_2.createRegulatingControl)((0, parser_utils_1.getUUID)(i7DataRQ.guid_rc), (0, util_create_1.createNotation)([regCondEquip.getUUID().substring(0, 8), suffix]), true, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage);
|
|
@@ -2984,6 +3148,9 @@ class ConverterIntegral7 {
|
|
|
2984
3148
|
rControl.targetDeadband = (0, parser_utils_1.isNumericI7)(uband) ? uband : undefined; //zulässiges Spannungsband
|
|
2985
3149
|
/** Spannung in kilo*/
|
|
2986
3150
|
//TODO TEMP FIX bei lokaler Regelegung bleibt usoll = null.
|
|
3151
|
+
if (cterminal !== undefined && cterminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
3152
|
+
const stop = true;
|
|
3153
|
+
}
|
|
2987
3154
|
rControl.targetValue = (0, parser_utils_1.isNumericI7)(usoll) ? usoll : ((0, parser_utils_1.isNumericI7)(i7DataEinsp === null || i7DataEinsp === void 0 ? void 0 : i7DataEinsp.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7DataEinsp.usoll) : tCn.getBaseVoltageAsNumber());
|
|
2988
3155
|
const guidSuffix = (_a = tCn === null || tCn === void 0 ? void 0 : tCn.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getUUID().substring(0, 8);
|
|
2989
3156
|
rControl.name = (0, util_create_1.createNotation)([rControl.name, '_', guidSuffix, '_RC'], 32, true);
|
|
@@ -2999,7 +3166,7 @@ class ConverterIntegral7 {
|
|
|
2999
3166
|
}
|
|
3000
3167
|
}
|
|
3001
3168
|
}
|
|
3002
|
-
else if (isRegulatingControl && i7DataSVC) {
|
|
3169
|
+
else if (isRegulatingControl && i7DataSVC !== undefined) {
|
|
3003
3170
|
/** Regelung */
|
|
3004
3171
|
const regCondEquip = condEquip;
|
|
3005
3172
|
const cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
@@ -3020,12 +3187,12 @@ class ConverterIntegral7 {
|
|
|
3020
3187
|
uband = (0, parser_utils_1.isNumericI7)(tVMax) && (0, parser_utils_1.isNumericI7)(tVMin) ? (0, parser_utils_1.convertToNumberI7)(tVMax) - (0, parser_utils_1.convertToNumberI7)(tVMin) : undefined;
|
|
3021
3188
|
if (uband === undefined) {
|
|
3022
3189
|
if (tCn) {
|
|
3023
|
-
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3190
|
+
uband = (0, parser_utils_1.isNumericI7)(uref) ? uref * 0.1 : ((0, parser_utils_1.isNumericI7)(usoll) ? usoll * 0.1 : tCn.getBaseVoltageAsNumber() * 0.1);
|
|
3024
3191
|
}
|
|
3025
3192
|
}
|
|
3026
3193
|
if (cterminal !== undefined) {
|
|
3027
3194
|
const uuid = (0, parser_utils_1.getUUID)(i7DataSVC.guid_rc);
|
|
3028
|
-
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]),
|
|
3195
|
+
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]), true, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage);
|
|
3029
3196
|
rControl.enabled = true;
|
|
3030
3197
|
if (isStatcom) {
|
|
3031
3198
|
rControl.discrete = true;
|
|
@@ -3098,20 +3265,23 @@ class ConverterIntegral7 {
|
|
|
3098
3265
|
usoll = (0, parser_utils_1.isNumericI7)(i7DataHgue.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.usoll) : undefined;
|
|
3099
3266
|
if (regelungU) {
|
|
3100
3267
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.udc;
|
|
3101
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3268
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
|
|
3269
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3102
3270
|
}
|
|
3103
3271
|
else if (regelungP) {
|
|
3104
3272
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
|
|
3105
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3273
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
|
|
3106
3274
|
}
|
|
3107
|
-
if (
|
|
3108
|
-
//get rated voltage of controlled node.
|
|
3275
|
+
if (isRegulatingControl) { //voltage control for AC-side
|
|
3109
3276
|
let cterminal = undefined; //connection point terminal of this device
|
|
3110
3277
|
let tVMax = undefined; //maximum target voltage
|
|
3111
3278
|
let tVMin = undefined; //minimum target voltage
|
|
3112
|
-
//get
|
|
3279
|
+
//get rated voltage of controlled node.
|
|
3113
3280
|
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3114
3281
|
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3282
|
+
if (cterminal === undefined) {
|
|
3283
|
+
let stop = true;
|
|
3284
|
+
}
|
|
3115
3285
|
if (cterminal) {
|
|
3116
3286
|
tCn = cterminal.getConnectivityNode();
|
|
3117
3287
|
if (tCn) {
|
|
@@ -3130,7 +3300,9 @@ class ConverterIntegral7 {
|
|
|
3130
3300
|
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3131
3301
|
switch (knotenSpgGeregelt) {
|
|
3132
3302
|
case undefined: {
|
|
3133
|
-
|
|
3303
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
3304
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3305
|
+
}
|
|
3134
3306
|
if (cterminal === undefined) {
|
|
3135
3307
|
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
3136
3308
|
}
|
|
@@ -3152,10 +3324,10 @@ class ConverterIntegral7 {
|
|
|
3152
3324
|
}
|
|
3153
3325
|
}
|
|
3154
3326
|
}
|
|
3327
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3155
3328
|
}
|
|
3156
3329
|
condEquip.targetUpcc = usoll;
|
|
3157
|
-
condEquip.targetQpcc = 0; //ReactivePower,
|
|
3158
|
-
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3330
|
+
//(condEquip as VsConverter).targetQpcc = 0; //ReactivePower, ReactivePowerCapabilityCurve is set in advance
|
|
3159
3331
|
condEquip.targetPpcc = condEquip.baseS * -1;
|
|
3160
3332
|
}
|
|
3161
3333
|
}
|
|
@@ -3255,47 +3427,10 @@ class ConverterIntegral7 {
|
|
|
3255
3427
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
|
|
3256
3428
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.KNOTEN_STARR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_STARR), containerIDs));
|
|
3257
3429
|
for (const i7Data of result) {
|
|
3258
|
-
//const junction = new Junction(getUUID(i7Data.guid, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data),"_J",`_${cimModel.junctions]), 'JNCT', 'starre Verbindung');
|
|
3259
3430
|
const breaker = new Breaker_1.Breaker((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, 'Breaker', 'starre Verbindung');
|
|
3260
3431
|
yield this.convertSwitch(breaker, cimModel, i7Data);
|
|
3261
3432
|
cimModel.addBreaker(breaker);
|
|
3262
3433
|
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
3263
|
-
/**const schaltzustand = convertToBooleanI7(i7Data.schaltzustand);
|
|
3264
|
-
|
|
3265
|
-
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)) as EquipmentContainer);
|
|
3266
|
-
|
|
3267
|
-
if (equipmentContainer) {
|
|
3268
|
-
equipmentContainer.addEquipment(junction);
|
|
3269
|
-
junction.equipmentContainer = equipmentContainer;
|
|
3270
|
-
} else {
|
|
3271
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3272
|
-
}
|
|
3273
|
-
const cnStart = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
|
|
3274
|
-
const cnZiel = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
|
|
3275
|
-
|
|
3276
|
-
if (cnStart) {
|
|
3277
|
-
const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode.ABC, true, 1);
|
|
3278
|
-
if (schaltzustand === false) {
|
|
3279
|
-
terminal.connected = schaltzustand;
|
|
3280
|
-
}
|
|
3281
|
-
} else {
|
|
3282
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
3283
|
-
}
|
|
3284
|
-
if (cnZiel) {
|
|
3285
|
-
const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode.ABC, true, 2);
|
|
3286
|
-
if (schaltzustand === false) {
|
|
3287
|
-
terminal.connected = schaltzustand;
|
|
3288
|
-
}
|
|
3289
|
-
} else {
|
|
3290
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
3291
|
-
}
|
|
3292
|
-
const baseVoltage = getTerminalUn(cimModel, junction);
|
|
3293
|
-
if (baseVoltage) {
|
|
3294
|
-
junction.baseVoltage = baseVoltage;
|
|
3295
|
-
}
|
|
3296
|
-
this.addIdMapping(i7Data.id, junction.mrid, Integral7TableNames.KNOTEN_STARR);
|
|
3297
|
-
cimModel.addJunction(junction);
|
|
3298
|
-
**/
|
|
3299
3434
|
}
|
|
3300
3435
|
}
|
|
3301
3436
|
else {
|
|
@@ -3404,7 +3539,7 @@ class ConverterIntegral7 {
|
|
|
3404
3539
|
const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
|
|
3405
3540
|
let startTerminal;
|
|
3406
3541
|
if (start) {
|
|
3407
|
-
startTerminal =
|
|
3542
|
+
startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
|
|
3408
3543
|
}
|
|
3409
3544
|
else {
|
|
3410
3545
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
@@ -3413,7 +3548,7 @@ class ConverterIntegral7 {
|
|
|
3413
3548
|
const target = cimModel.objects.get(this.integralID2UUID.get(i7Data.eknoten));
|
|
3414
3549
|
let targetTerminal;
|
|
3415
3550
|
if (target) {
|
|
3416
|
-
targetTerminal =
|
|
3551
|
+
targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
|
|
3417
3552
|
}
|
|
3418
3553
|
else {
|
|
3419
3554
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
@@ -3430,7 +3565,7 @@ class ConverterIntegral7 {
|
|
|
3430
3565
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3431
3566
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3432
3567
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3433
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir);
|
|
3568
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir, seriesCompensator.r);
|
|
3434
3569
|
seriesCompensator.varistorPresent = false;
|
|
3435
3570
|
/** EQ-SC */
|
|
3436
3571
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
@@ -3516,8 +3651,8 @@ class ConverterIntegral7 {
|
|
|
3516
3651
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3517
3652
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3518
3653
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3519
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1);
|
|
3520
|
-
seriesCompensator.varistorPresent = false;
|
|
3654
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1, seriesCompensator.r);
|
|
3655
|
+
//seriesCompensator.varistorPresent = false;
|
|
3521
3656
|
/** EQ-SC */
|
|
3522
3657
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
3523
3658
|
seriesCompensator.x0 = seriesCompensator.x;
|
|
@@ -3582,28 +3717,14 @@ class ConverterIntegral7 {
|
|
|
3582
3717
|
for (const i7DataSchiene of stpSchiene) {
|
|
3583
3718
|
try {
|
|
3584
3719
|
stpSchieneIDs.push(i7DataSchiene.id);
|
|
3585
|
-
const
|
|
3586
|
-
const keyConnectivityNode = cim_class_names_1.ClassNames.ConnectivityNode + i7DataSchiene.id + (equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getUUID()) || '';
|
|
3720
|
+
const keyConnectivityNode = cim_class_names_1.ClassNames.ConnectivityNode + i7DataSchiene.id;
|
|
3587
3721
|
const uuidConnectivityNode = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, keyConnectivityNode);
|
|
3588
|
-
const
|
|
3589
|
-
const
|
|
3590
|
-
|
|
3591
|
-
const junction = new Junction_1.Junction(uuidJunction, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_J']));
|
|
3592
|
-
connectivityNode.setConnectivityNodeContainer(equipmentContainer);
|
|
3593
|
-
if (equipmentContainer) {
|
|
3594
|
-
equipmentContainer.addEquipment(junction);
|
|
3595
|
-
junction.equipmentContainer = equipmentContainer;
|
|
3596
|
-
}
|
|
3597
|
-
else {
|
|
3598
|
-
this.logger.debug(`Sternpunktschiene ${i7DataSchiene.id} besitzt keinen EquipmentContainer.`);
|
|
3599
|
-
}
|
|
3722
|
+
const name = (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_CN'], 32, false);
|
|
3723
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuidConnectivityNode, name, name);
|
|
3724
|
+
connectivityNode.key = integral_prefix_1.CKnoten1PSO_PRAEFIX + i7DataSchiene.bezeichner;
|
|
3600
3725
|
// Verbindung herstellen
|
|
3601
|
-
|
|
3602
|
-
cimModel.terminals.delete(terminal.mrid); //TODO: complete/repair implementation of star point connections.
|
|
3726
|
+
integral7.sternPunktImpModel.stpSchieneIdConnectivityNode.set(i7DataSchiene.id, connectivityNode);
|
|
3603
3727
|
integral7.sternPunktImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
|
|
3604
|
-
integral7.sternPunktImpModel.junctions.set(junction.mrid, junction);
|
|
3605
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
|
|
3606
|
-
integral7.sternPunktImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
|
|
3607
3728
|
this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
|
|
3608
3729
|
}
|
|
3609
3730
|
catch (e) {
|
|
@@ -3618,41 +3739,63 @@ class ConverterIntegral7 {
|
|
|
3618
3739
|
}));
|
|
3619
3740
|
});
|
|
3620
3741
|
}
|
|
3621
|
-
convertKdrossel(cimModel, integral7,
|
|
3742
|
+
convertKdrossel(cimModel, integral7, stpSchienenID, defaultValuesConfig) {
|
|
3622
3743
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3623
3744
|
try {
|
|
3624
3745
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
|
|
3625
|
-
if (
|
|
3626
|
-
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ),
|
|
3746
|
+
if (stpSchienenID !== undefined && stpSchienenID.length > 0) {
|
|
3747
|
+
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ), stpSchienenID));
|
|
3627
3748
|
for (const i7Data of result) {
|
|
3628
3749
|
const kdType = this.kdrosseltypen.get(i7Data.nametyp);
|
|
3750
|
+
const iakt = (0, parser_utils_1.isNumericI7)(i7Data.iakt) ? i7Data.iakt : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.iakt) ? kdType === null || kdType === void 0 ? void 0 : kdType.iakt : undefined);
|
|
3751
|
+
const xne = (0, parser_utils_1.isNumericI7)(i7Data.xne) ? i7Data.xne : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
|
|
3752
|
+
const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) : undefined);
|
|
3629
3753
|
const imax = (0, parser_utils_1.isNumericI7)(i7Data.imax) ? i7Data.imax : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? kdType === null || kdType === void 0 ? void 0 : kdType.imax : undefined);
|
|
3630
3754
|
const imin = (0, parser_utils_1.isNumericI7)(i7Data.imin) ? i7Data.imin : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? kdType === null || kdType === void 0 ? void 0 : kdType.imin : undefined);
|
|
3631
3755
|
const connectivityNode = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
if (imax && imin) {
|
|
3756
|
+
let conductingEquip = undefined;
|
|
3757
|
+
if (iakt !== undefined && xne !== undefined || xne !== undefined && ur !== undefined || iakt !== undefined && ur !== undefined) {
|
|
3635
3758
|
/** PetersenCoil */
|
|
3636
3759
|
const petersenCoil = new PetersenCoil_1.PetersenCoil((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
3637
|
-
|
|
3638
|
-
|
|
3760
|
+
if (xne !== undefined && ur !== undefined) {
|
|
3761
|
+
petersenCoil.xGroundNominal = xne;
|
|
3762
|
+
petersenCoil.nominalU = ur;
|
|
3763
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3764
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3765
|
+
}
|
|
3766
|
+
else if (iakt !== undefined && xne !== undefined) {
|
|
3767
|
+
petersenCoil.xGroundNominal = xne;
|
|
3768
|
+
petersenCoil.nominalU = iakt * xne * Math.pow(10, -3);
|
|
3769
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3770
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3771
|
+
}
|
|
3772
|
+
else if (iakt !== undefined && ur !== undefined) {
|
|
3773
|
+
petersenCoil.nominalU = ur;
|
|
3774
|
+
petersenCoil.xGroundNominal = petersenCoil.nominalU * Math.pow(10, 3) / iakt;
|
|
3775
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3776
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3777
|
+
}
|
|
3778
|
+
petersenCoil.mode = PetersenCoilModeKind_1.PetersenCoilModeKind.automaticPositioning;
|
|
3639
3779
|
this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3640
3780
|
conductingEquip = petersenCoil;
|
|
3641
3781
|
}
|
|
3642
3782
|
else {
|
|
3643
3783
|
/** GroundingImpedance */
|
|
3644
3784
|
const groundingImpedance = new GroundingImpedance_1.GroundingImpedance((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_GI']), i7Data.kurzname);
|
|
3645
|
-
groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? i7Data.rne : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
|
|
3646
|
-
groundingImpedance.x =
|
|
3785
|
+
groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rne) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) : undefined);
|
|
3786
|
+
groundingImpedance.x = xne;
|
|
3647
3787
|
integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
|
|
3648
|
-
integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
3788
|
+
//integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
3649
3789
|
this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3650
3790
|
conductingEquip = groundingImpedance;
|
|
3651
3791
|
}
|
|
3652
|
-
//
|
|
3792
|
+
// Create connection for PetersenCoil and GroundingImpedance connected with 'Sternpunktschiene'. PetersenCoil and GroundingImpedance connected to 'Sternpunktknoten' is connected during convertTrafo2w and convertTrafo3w
|
|
3653
3793
|
if (connectivityNode) {
|
|
3654
|
-
|
|
3655
|
-
|
|
3794
|
+
this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true);
|
|
3795
|
+
integral7.sternPunktImpModel.stpSchieneUUIDStpImp.set(connectivityNode.getUUID(), conductingEquip);
|
|
3796
|
+
}
|
|
3797
|
+
else {
|
|
3798
|
+
integral7.sternPunktImpModel.stpKnotenStpImp.set(i7Data.anschluss, conductingEquip);
|
|
3656
3799
|
}
|
|
3657
3800
|
}
|
|
3658
3801
|
}
|
|
@@ -3673,26 +3816,37 @@ class ConverterIntegral7 {
|
|
|
3673
3816
|
});
|
|
3674
3817
|
}
|
|
3675
3818
|
/** Den Schaltzuszand bestimmen und zuvor angelegten (convertSternpunktSchienen) Terminalinstanz zuweisen. */
|
|
3676
|
-
convertStpSchaltelemente(integral7, stpSchienenID) {
|
|
3819
|
+
convertStpSchaltelemente(cimModel, integral7, stpSchienenID) {
|
|
3677
3820
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3678
3821
|
try {
|
|
3679
3822
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
|
|
3680
|
-
if (stpSchienenID.length) {
|
|
3823
|
+
if (stpSchienenID !== undefined && stpSchienenID.length > 0) {
|
|
3681
3824
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER), stpSchienenID));
|
|
3682
3825
|
for (const i7Data of result) {
|
|
3683
|
-
const
|
|
3684
|
-
|
|
3685
|
-
|
|
3826
|
+
const connectivityNodeAbcn = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.aknoten)); //connection point of 'PowerTransformerEnd' is assigned during convertTrafo2w and convertTrafo3w
|
|
3827
|
+
const connectivityNodeN = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.eknoten)); //connection point of 'Sternpunktschiene'
|
|
3828
|
+
if (connectivityNodeN != undefined) {
|
|
3829
|
+
const schaltzustand = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
|
|
3830
|
+
const keyGroundDisconnector = cim_class_names_1.ClassNames.GroundDisconnector + i7Data.aknoten + i7Data.eknoten;
|
|
3831
|
+
const uuidGroundDisconnector = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.GroundDisconnector, this.configUuid, keyGroundDisconnector);
|
|
3832
|
+
const groundDisconnector = new GroundDisconnector_1.GroundDisconnector(uuidGroundDisconnector, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar, schaltzustand, false);
|
|
3833
|
+
//Set connection to ConnectivityNode at neutral side to GroundingImpedance or PetersenCoil
|
|
3834
|
+
this.createConnection(cimModel, groundDisconnector, connectivityNodeN, PhaseCode_1.PhaseCode.N, true);
|
|
3835
|
+
//cimModel.addGroundDisconnector(groundDisconnector);
|
|
3836
|
+
integral7.sternPunktImpModel.groundDisconnectors.set(groundDisconnector.getUUID(), groundDisconnector);
|
|
3837
|
+
/** SchaltelementID mit GroundDisconnector UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
3838
|
+
integral7.sternPunktImpModel.stpSchaltelementeIdGroundDisconnectorUUID.set(i7Data.id, groundDisconnector.getUUID());
|
|
3839
|
+
/** SchaltelementID mit GroundDisconnector UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
3840
|
+
integral7.sternPunktImpModel.groundDisconnectorsUUIDsStpSchieneUUID.set(groundDisconnector.getUUID(), connectivityNodeN.getUUID());
|
|
3841
|
+
/** SternpunktknotenID mit GroundDisconnector UUID verknüpfen, um Topologie der AssetElemente herstellen zu können */
|
|
3842
|
+
integral7.sternPunktImpModel.GroundDisconnectorUuidStpSchieneId.set(groundDisconnector.getUUID(), i7Data.eknoten);
|
|
3843
|
+
/** set connection to terminal of powertransformerend*/
|
|
3844
|
+
let earthFaultCompensator = integral7.sternPunktImpModel.stpSchieneUUIDStpImp.get(connectivityNodeN.getUUID());
|
|
3845
|
+
integral7.sternPunktImpModel.groundDisconnectorUUIDstpImp.set(groundDisconnector.getUUID(), earthFaultCompensator);
|
|
3846
|
+
this.addIdMapping(i7Data.id, groundDisconnector.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER);
|
|
3686
3847
|
}
|
|
3687
|
-
/** SchaltelementID mit Junstion UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
3688
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.id, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3689
|
-
/** Sternpunktknoten mit Junstion UUID verknüpfen, um Topologie der AssetElemente herstellen zu können */
|
|
3690
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.aknoten, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3691
3848
|
}
|
|
3692
3849
|
}
|
|
3693
|
-
else {
|
|
3694
|
-
this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
|
|
3695
|
-
}
|
|
3696
3850
|
}
|
|
3697
3851
|
else {
|
|
3698
3852
|
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
|
|
@@ -3810,6 +3964,7 @@ class ConverterIntegral7 {
|
|
|
3810
3964
|
result_ohl = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.FREILEITUNG), leitungIDs));
|
|
3811
3965
|
}
|
|
3812
3966
|
for (const i7Data of result) {
|
|
3967
|
+
let lineNames = new Map;
|
|
3813
3968
|
/** Alle Stromkreisabschnitte */
|
|
3814
3969
|
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
3815
3970
|
if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
|
|
@@ -3833,8 +3988,9 @@ class ConverterIntegral7 {
|
|
|
3833
3988
|
'-' +
|
|
3834
3989
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
|
|
3835
3990
|
/** Wenn kein Stromkreisobjekt vorhanden ist, dann erstelle ein neues Objekt. */
|
|
3836
|
-
const uuidString =
|
|
3837
|
-
|
|
3991
|
+
const uuidString = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Line, this.configUuid, i7Schluessel);
|
|
3992
|
+
let lineName = createLineName(i7Data, uuidString, lineNames);
|
|
3993
|
+
const line = new AMPRIONLine_1.AMPRIONLine(uuidString, lineName);
|
|
3838
3994
|
line.ukz = i7Data.ukz;
|
|
3839
3995
|
line.key = i7Schluessel;
|
|
3840
3996
|
let acLineSegments = [];
|
|
@@ -3847,7 +4003,7 @@ class ConverterIntegral7 {
|
|
|
3847
4003
|
'-' +
|
|
3848
4004
|
(0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
|
|
3849
4005
|
const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
|
|
3850
|
-
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname,
|
|
4006
|
+
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname, i7Data.kommentar);
|
|
3851
4007
|
const key = acLineSegment.getUUID();
|
|
3852
4008
|
const uuidWireObject = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.EVWireObject, this.configUuid, key);
|
|
3853
4009
|
acLineSegment.key = i7Schluessel;
|
|
@@ -3910,7 +4066,7 @@ class ConverterIntegral7 {
|
|
|
3910
4066
|
/**Connectivity Node to connect end of line and start of neighbouring line.*/
|
|
3911
4067
|
const key = acLineSegment1.getUUID() + acLineSegment2.getUUID();
|
|
3912
4068
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
3913
|
-
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.
|
|
4069
|
+
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.getUUID().substring(0, 8), '_CN'], 32, false));
|
|
3914
4070
|
/**Connect end of aclinesegment i*/
|
|
3915
4071
|
cn.connectivityNodeContainer = acLineSegment1.equipmentContainer;
|
|
3916
4072
|
tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
@@ -3969,7 +4125,6 @@ class ConverterIntegral7 {
|
|
|
3969
4125
|
/** In any case assign Georegion to aclinesegments */
|
|
3970
4126
|
let idx = 0;
|
|
3971
4127
|
while (idx < acLineSegments.length && !(line.subGeographicalRegion)) {
|
|
3972
|
-
let jdx = 0;
|
|
3973
4128
|
let values = acLineSegments[idx].terminals.values();
|
|
3974
4129
|
let tmp_terminal = values.next();
|
|
3975
4130
|
while (tmp_terminal.value && !(line.subGeographicalRegion)) {
|
|
@@ -4039,6 +4194,9 @@ class ConverterIntegral7 {
|
|
|
4039
4194
|
let dcLineNeutral = undefined;
|
|
4040
4195
|
const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
|
|
4041
4196
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4197
|
+
if (dcLine.getUUID() === 'f125f0f3-a621-43e7-8af7-9873d52239a0') {
|
|
4198
|
+
const stop = true;
|
|
4199
|
+
}
|
|
4042
4200
|
/** operationMode der Anfangs- und Zielkopfstation setzen */
|
|
4043
4201
|
let converterStart = false;
|
|
4044
4202
|
let converterStartNeg = false;
|
|
@@ -4053,7 +4211,7 @@ class ConverterIntegral7 {
|
|
|
4053
4211
|
let dcNodeStartMiddle = undefined;
|
|
4054
4212
|
let dcNodeTargetMiddle = undefined;
|
|
4055
4213
|
//Parameter "guidp" is available for monopolar and bipolar dc systems. Thus create DCLineSegment with positive sign property in any case.
|
|
4056
|
-
const dcLineSegment = new DCLineSegment_1.
|
|
4214
|
+
const dcLineSegment = new DCLineSegment_1.INTEGRALDCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidp, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
|
|
4057
4215
|
dcLineSegmentSet.push(dcLineSegment);
|
|
4058
4216
|
let dcLineSegmentNeg = undefined;
|
|
4059
4217
|
let dcLineSegmentNeutral = undefined;
|
|
@@ -4062,19 +4220,21 @@ class ConverterIntegral7 {
|
|
|
4062
4220
|
dcLineSegment.capacitance = undefined;
|
|
4063
4221
|
dcLineSegment.inductance = undefined;
|
|
4064
4222
|
/**EQ: given directly by the INTEGRAL system model */
|
|
4065
|
-
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4223
|
+
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (bipole ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) / 2) : undefined;
|
|
4224
|
+
dcLineSegment.ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
4066
4225
|
dcLineSegment.equipmentContainer = dcLine;
|
|
4067
4226
|
//create second dcLineSegment in case this dcLine is a bipol.
|
|
4068
4227
|
if (bipole) {
|
|
4069
4228
|
const dcLineKey = dcLine.getUUID();
|
|
4070
4229
|
const dcLineUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4071
4230
|
dcLineNeg = new DCLine_1.DCLine(dcLineUuid, i7Data.bezeichner);
|
|
4072
|
-
dcLineSegmentNeg = new DCLineSegment_1.
|
|
4231
|
+
dcLineSegmentNeg = new DCLineSegment_1.INTEGRALDCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, (0, util_create_1.createNotation)([i7Data.kurzname, '_neg'], 12, true), i7Schluessel);
|
|
4073
4232
|
dcLineSegmentSet.push(dcLineSegmentNeg);
|
|
4074
4233
|
dcLineSegmentNeg.length = dcLineSegment.length;
|
|
4075
4234
|
dcLineSegmentNeg.capacitance = undefined;
|
|
4076
4235
|
dcLineSegmentNeg.inductance = undefined;
|
|
4077
|
-
dcLineSegmentNeg.resistance =
|
|
4236
|
+
dcLineSegmentNeg.resistance = dcLineSegment.resistance;
|
|
4237
|
+
dcLineSegmentNeg.ur = dcLineSegment.ur;
|
|
4078
4238
|
dcLineSegmentNeg.equipmentContainer = dcLineNeg;
|
|
4079
4239
|
}
|
|
4080
4240
|
//create metallic return
|
|
@@ -4082,12 +4242,13 @@ class ConverterIntegral7 {
|
|
|
4082
4242
|
const dcLineNeutralUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4083
4243
|
const dcLineSegmentUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLineSegment, this.configUuid, dcLineNeutralUuid);
|
|
4084
4244
|
dcLineNeutral = new DCLine_1.DCLine(dcLineNeutralUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCL']));
|
|
4085
|
-
dcLineSegmentNeutral = new DCLineSegment_1.
|
|
4245
|
+
dcLineSegmentNeutral = new DCLineSegment_1.INTEGRALDCLineSegment(dcLineSegmentUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCLS'], 32, true), (0, util_create_1.createNotation)([i7Data.kurzname, '_mid'], 12, true), i7Schluessel);
|
|
4086
4246
|
dcLineSegmentSet.push(dcLineSegmentNeutral);
|
|
4087
4247
|
dcLineSegmentNeutral.length = dcLineSegment.length;
|
|
4088
4248
|
dcLineSegmentNeutral.capacitance = undefined;
|
|
4089
4249
|
dcLineSegmentNeutral.inductance = undefined;
|
|
4090
|
-
dcLineSegmentNeutral.resistance =
|
|
4250
|
+
dcLineSegmentNeutral.resistance = dcLineSegment.resistance;
|
|
4251
|
+
dcLineSegmentNeutral.ur = dcLineSegment.ur;
|
|
4091
4252
|
dcLineSegmentNeutral.equipmentContainer = dcLineNeutral;
|
|
4092
4253
|
//get ACDCConverter at both ends of DCLine
|
|
4093
4254
|
const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) ? cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) : undefined;
|
|
@@ -4195,6 +4356,7 @@ class ConverterIntegral7 {
|
|
|
4195
4356
|
if (startDCNodeNeg) {
|
|
4196
4357
|
const dcTerminal = new DCTerminal_1.DCTerminal((0, parser_utils_1.getUUID)(eval('i7Data.guid_dcterminaln1')), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_neg', '_DCT'], 32, true));
|
|
4197
4358
|
dcTerminal.dCConductingEquipment = dcLineSegmentNeg;
|
|
4359
|
+
dcTerminal.connected = true;
|
|
4198
4360
|
dcTerminal.dcNode = startDCNodeNeg;
|
|
4199
4361
|
dcLineSegmentNeg.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4200
4362
|
startDCNodeNeg.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
@@ -4208,6 +4370,7 @@ class ConverterIntegral7 {
|
|
|
4208
4370
|
if (targetDCNode) {
|
|
4209
4371
|
const dcTerminal = new DCTerminal_1.DCTerminal((0, parser_utils_1.getUUID)(eval('i7Data.guid_dcterminalp2')), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCT'], 32, true));
|
|
4210
4372
|
dcTerminal.dCConductingEquipment = dcLineSegment;
|
|
4373
|
+
dcTerminal.connected = true;
|
|
4211
4374
|
dcTerminal.dcNode = targetDCNode;
|
|
4212
4375
|
dcLineSegment.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4213
4376
|
targetDCNode.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
@@ -4219,6 +4382,7 @@ class ConverterIntegral7 {
|
|
|
4219
4382
|
if (targetDCNodeNeg) {
|
|
4220
4383
|
const dcTerminal = new DCTerminal_1.DCTerminal((0, parser_utils_1.getUUID)(eval('i7Data.guid_dcterminaln2')), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_neg', '_DCT'], 32, true));
|
|
4221
4384
|
dcTerminal.dCConductingEquipment = dcLineSegmentNeg;
|
|
4385
|
+
dcTerminal.connected = true;
|
|
4222
4386
|
dcTerminal.dcNode = targetDCNodeNeg;
|
|
4223
4387
|
dcLineSegmentNeg.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4224
4388
|
targetDCNodeNeg.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
@@ -4232,6 +4396,7 @@ class ConverterIntegral7 {
|
|
|
4232
4396
|
const dcTerminalM3UUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCTerminal, this.configUuid, dcTerminalKey);
|
|
4233
4397
|
const dcTerminal = new DCTerminal_1.DCTerminal(dcTerminalM3UUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCT'], 32, true));
|
|
4234
4398
|
dcTerminal.dCConductingEquipment = dcLineSegmentNeutral;
|
|
4399
|
+
dcTerminal.connected = true;
|
|
4235
4400
|
dcTerminal.dcNode = dcNodeStartMiddle;
|
|
4236
4401
|
dcLineSegmentNeutral.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4237
4402
|
dcNodeStartMiddle.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
@@ -4245,6 +4410,7 @@ class ConverterIntegral7 {
|
|
|
4245
4410
|
const dcTerminalM3UUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, dcTerminalKey);
|
|
4246
4411
|
const dcTerminal = new DCTerminal_1.DCTerminal(dcTerminalM3UUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCT'], 32, true));
|
|
4247
4412
|
dcTerminal.dCConductingEquipment = dcLineSegmentNeutral;
|
|
4413
|
+
dcTerminal.connected = true;
|
|
4248
4414
|
dcTerminal.dcNode = dcNodeTargetMiddle;
|
|
4249
4415
|
dcLineSegmentNeutral.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4250
4416
|
dcNodeTargetMiddle.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
@@ -4260,8 +4426,10 @@ class ConverterIntegral7 {
|
|
|
4260
4426
|
const equipmentKey = dcTerminal.getUUID();
|
|
4261
4427
|
for (const elem of dcTerminal.dcNode.dcTerminals.values()) {
|
|
4262
4428
|
if (elem instanceof ACDCConverterDCTerminal_1.ACDCConverterDCTerminal) {
|
|
4263
|
-
const pR = elem.dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4264
|
-
const uR = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4429
|
+
//const pR: number = (elem as ACDCConverterDCTerminal).dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4430
|
+
//const uR: number = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4431
|
+
const pR = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
4432
|
+
const uR = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
4265
4433
|
if (pR != undefined && uR != undefined) {
|
|
4266
4434
|
let ir = (pR * Math.pow(10, 6)) / (uR * Math.pow(10, 3)); //assumption: pr is BaseS
|
|
4267
4435
|
if (bipole) {
|
|
@@ -4321,6 +4489,7 @@ class ConverterIntegral7 {
|
|
|
4321
4489
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4322
4490
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4323
4491
|
typTrafo.r00r2 = i7Data.r00r2;
|
|
4492
|
+
typTrafo.s_dauer = i7Data.s_dauer;
|
|
4324
4493
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4325
4494
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4326
4495
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4372,6 +4541,9 @@ class ConverterIntegral7 {
|
|
|
4372
4541
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4373
4542
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4374
4543
|
typTrafo.r00r2 = i7Data.r00r2;
|
|
4544
|
+
typTrafo.s_dauer_1 = i7Data.s_dauer_1;
|
|
4545
|
+
typTrafo.s_dauer_2 = i7Data.s_dauer_2;
|
|
4546
|
+
typTrafo.s_dauer_3 = i7Data.s_dauer_3;
|
|
4375
4547
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4376
4548
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr1, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4377
4549
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4490,30 +4662,18 @@ class ConverterIntegral7 {
|
|
|
4490
4662
|
integral_prefix_1.TRAFO2W_PRAEFIX +
|
|
4491
4663
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4492
4664
|
powerTransformer.key = i7Schluessel;
|
|
4493
|
-
if (powerTransformer.getUUID() === '
|
|
4494
|
-
let stop = true;
|
|
4495
|
-
} // kein Typ in D4
|
|
4496
|
-
if (powerTransformer.getUUID() === '012416f2d9584971baa93360fcf40be2') {
|
|
4497
|
-
let stop = true;
|
|
4498
|
-
} //Typ in D8
|
|
4499
|
-
if (powerTransformer.getUUID() === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') {
|
|
4665
|
+
if (powerTransformer.getUUID() === '21def4394e814e77b3f25acbad7bda16') {
|
|
4500
4666
|
let stop = true;
|
|
4501
|
-
}
|
|
4502
|
-
if (powerTransformer.getUUID() === '11e7be86-8bb7-41ba-898a-74cd5e8efbb9') {
|
|
4503
|
-
let stop = true;
|
|
4504
|
-
} //Typ in D7
|
|
4667
|
+
}
|
|
4505
4668
|
if (powerTransformer.getUUID() === '8eca3fedd32c49369f8946ac4ce70e17') { //Stufenstellerkonvertierung fehlgeschlagen
|
|
4506
4669
|
let stop = true;
|
|
4507
4670
|
}
|
|
4508
4671
|
if (powerTransformer.getUUID() === 'b9d8bd48e1554af7b6153c1f7da052e1') {
|
|
4509
4672
|
let stop = true;
|
|
4510
4673
|
} //Phasenschieber zu falscher Winkel und falsches stepIncrement.
|
|
4511
|
-
if (powerTransformer.getUUID() === '
|
|
4674
|
+
if (powerTransformer.getUUID() === '012416f2d9584971baa93360fcf40be2') { //pkr, ukr, ... konnte nicht aus Typ ermittelt werden.
|
|
4512
4675
|
let stop = true;
|
|
4513
4676
|
} //Längsregeltransformator mit symmetrischem Phasenschieber.
|
|
4514
|
-
if (i7Data.nametyp) {
|
|
4515
|
-
const stop = true;
|
|
4516
|
-
}
|
|
4517
4677
|
const powerTransformerInfo = this.cimModelDefault.getPowerTransformerInfoByName(i7Data.nametyp);
|
|
4518
4678
|
if (powerTransformerInfo) {
|
|
4519
4679
|
facility.setAssetInfo(powerTransformerInfo);
|
|
@@ -4531,12 +4691,13 @@ class ConverterIntegral7 {
|
|
|
4531
4691
|
// Wicklung 1
|
|
4532
4692
|
const powerTransformerEnd1 = new PowerTransformerEnd_1.PowerTransformerEnd((0, parser_utils_1.getUUID)(i7Data.guid_w1, this.objectMappingConfig.standardiseUuid), `W1-${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
4533
4693
|
powerTransformerEnd1.endNumber = 1;
|
|
4534
|
-
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo,
|
|
4535
|
-
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo,
|
|
4694
|
+
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, undefined, false);
|
|
4695
|
+
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, undefined, false);
|
|
4536
4696
|
const sr = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
|
|
4537
4697
|
const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4538
4698
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4539
|
-
const
|
|
4699
|
+
const sdauer1 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 1, false);
|
|
4700
|
+
const sdauer2 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 2, false);
|
|
4540
4701
|
// P0 Lastverluste im I7 Modell p_leer
|
|
4541
4702
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4542
4703
|
// Leerlaufverluste
|
|
@@ -4584,7 +4745,7 @@ class ConverterIntegral7 {
|
|
|
4584
4745
|
const startTerminal = start ? this.createConnection(cimModel, powerTransformer, start, PhaseCode.ABC, true, 1) : undefined;*/
|
|
4585
4746
|
if (!startTerminal)
|
|
4586
4747
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
4587
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7,
|
|
4748
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7, sdauer1, i7Data, defaultValuesConfig);
|
|
4588
4749
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4589
4750
|
let equivalentInjection = undefined;
|
|
4590
4751
|
if (startTerminal) {
|
|
@@ -4616,7 +4777,7 @@ class ConverterIntegral7 {
|
|
|
4616
4777
|
const zielTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
|
|
4617
4778
|
if (!zielTerminal)
|
|
4618
4779
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
|
|
4619
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7,
|
|
4780
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7, sdauer2, i7Data, defaultValuesConfig);
|
|
4620
4781
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4621
4782
|
if (zielTerminal) {
|
|
4622
4783
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
|
|
@@ -4631,9 +4792,6 @@ class ConverterIntegral7 {
|
|
|
4631
4792
|
powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
4632
4793
|
powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
|
|
4633
4794
|
powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
4634
|
-
if (uuid === '402aec99-ba2c-42fa-b4ed-b4928901f47b') {
|
|
4635
|
-
let stop = true;
|
|
4636
|
-
}
|
|
4637
4795
|
// NullSystem Impedanzen (nur Reaktanzen)
|
|
4638
4796
|
let starconnectionCount = (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) <= 1 ? (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) : 1;
|
|
4639
4797
|
const retVal = (0, utils_2.calculateComplexZeroSequImpedanzenTrafo)([r0kr1, x0kr1, r0kr2, x0kr2], [r00r1, x00r1, r00r2, x00r2], [ur, ur2], starconnectionCount, powerTransformer);
|
|
@@ -4646,7 +4804,7 @@ class ConverterIntegral7 {
|
|
|
4646
4804
|
powerTransformerEnd2.x0 = zeroSequImpedanzWx.x02;
|
|
4647
4805
|
powerTransformerEnd2.r0 = zeroSequImpedanzWx.r02;
|
|
4648
4806
|
/** Transormator Anschlusspunkte nach Spannungsebene sortieren */
|
|
4649
|
-
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
4807
|
+
//this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
4650
4808
|
// TODO
|
|
4651
4809
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
4652
4810
|
* da sonst die Wicklungsnummern nicht mehr übereinstimmen könnten */
|
|
@@ -4720,6 +4878,9 @@ class ConverterIntegral7 {
|
|
|
4720
4878
|
for (const i7Data of result) {
|
|
4721
4879
|
const sternpunktKnotenMap = new Map();
|
|
4722
4880
|
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
4881
|
+
if (uuid === 'b81485dd-5115-4241-b31a-c87a3eec9803' || uuid === '4eadc602-7dc5-41e4-bb8b-38993c03a80a') {
|
|
4882
|
+
const stop = true;
|
|
4883
|
+
}
|
|
4723
4884
|
const powerTransformer = new PowerTransformer_1.PowerTransformer(uuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', uuid.substring(0, 8), '_PT']), i7Data.kurzname, i7Data.kommentar);
|
|
4724
4885
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
4725
4886
|
if (substation) {
|
|
@@ -4770,13 +4931,16 @@ class ConverterIntegral7 {
|
|
|
4770
4931
|
const ur1 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4771
4932
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4772
4933
|
const ur3 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 3);
|
|
4773
|
-
const sdauer1 = (0,
|
|
4774
|
-
const sdauer2 = (0,
|
|
4775
|
-
const sdauer3 = (0,
|
|
4934
|
+
const sdauer1 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 1, true);
|
|
4935
|
+
const sdauer2 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 2, true);
|
|
4936
|
+
const sdauer3 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 3, true);
|
|
4776
4937
|
//Leerlaufverluste in kW
|
|
4777
4938
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4778
4939
|
// Leerlaufstrom bezogen auf Wicklung mit dem grössten Sr in %
|
|
4779
4940
|
const iLeer = (0, utils_2.getTrafoIleer)(i7Data, powerTransformerInfo);
|
|
4941
|
+
if (powerTransformer.getUUID() === 'c589d314-fb31-4efb-a463-edd3cb508347') {
|
|
4942
|
+
const stop = true;
|
|
4943
|
+
}
|
|
4780
4944
|
if (powerTransformer.getUUID() === '3f58ef46-918f-44d4-8b53-d4078caa2d92') {
|
|
4781
4945
|
const stop = true;
|
|
4782
4946
|
}
|
|
@@ -4827,7 +4991,7 @@ class ConverterIntegral7 {
|
|
|
4827
4991
|
powerTransformerEnd1.r = impedanzW1.r;
|
|
4828
4992
|
powerTransformerEnd1.x = impedanzW1.x;
|
|
4829
4993
|
powerTransformerEnd1.g = impedanzW1.g;
|
|
4830
|
-
powerTransformerEnd1.b = impedanzW1.b;
|
|
4994
|
+
powerTransformerEnd1.b = -1 * impedanzW1.b;
|
|
4831
4995
|
powerTransformerEnd1.ratedU = ur1;
|
|
4832
4996
|
powerTransformerEnd1.ratedS = sr1;
|
|
4833
4997
|
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, terminal1, sternpunktKnotenMap, integral7, sdauer1, i7Data, defaultValuesConfig, trafoWicklungen);
|
|
@@ -4874,7 +5038,7 @@ class ConverterIntegral7 {
|
|
|
4874
5038
|
powerTransformerEnd2.r = impedanzW2.r;
|
|
4875
5039
|
powerTransformerEnd2.x = impedanzW2.x;
|
|
4876
5040
|
powerTransformerEnd2.g = impedanzW2.g;
|
|
4877
|
-
powerTransformerEnd2.b = impedanzW2.b;
|
|
5041
|
+
powerTransformerEnd2.b = -1 * impedanzW2.b;
|
|
4878
5042
|
powerTransformerEnd2.ratedS = sr2;
|
|
4879
5043
|
powerTransformerEnd2.ratedU = ur2;
|
|
4880
5044
|
powerTransformerEnd2.powerTransformer = powerTransformer;
|
|
@@ -4922,7 +5086,7 @@ class ConverterIntegral7 {
|
|
|
4922
5086
|
powerTransformerEnd3.r = impedanzW3.r;
|
|
4923
5087
|
powerTransformerEnd3.x = impedanzW3.x;
|
|
4924
5088
|
powerTransformerEnd3.g = impedanzW3.g;
|
|
4925
|
-
powerTransformerEnd3.b = impedanzW3.b;
|
|
5089
|
+
powerTransformerEnd3.b = -1 * impedanzW3.b;
|
|
4926
5090
|
powerTransformerEnd3.ratedS = sr3;
|
|
4927
5091
|
powerTransformerEnd3.ratedU = ur3;
|
|
4928
5092
|
powerTransformerEnd3.powerTransformer = powerTransformer;
|
|
@@ -4954,6 +5118,15 @@ class ConverterIntegral7 {
|
|
|
4954
5118
|
powerTransformerEnd3.r0 = zeroSequImpedanzWx.r03;
|
|
4955
5119
|
// Transormator Anschlusspunkte nach Spannungsebene sortieren
|
|
4956
5120
|
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
5121
|
+
// Set grounding for autotransformer
|
|
5122
|
+
const pTEnds = powerTransformer.getPowerTransformerEnd().filter(elem => elem.connectionKind === 'A');
|
|
5123
|
+
if (pTEnds.length > 0) {
|
|
5124
|
+
if (pTEnds.filter(elem => elem.grounded === true).length > 0) {
|
|
5125
|
+
for (const end of pTEnds) {
|
|
5126
|
+
end.grounded = true;
|
|
5127
|
+
}
|
|
5128
|
+
}
|
|
5129
|
+
}
|
|
4957
5130
|
//TODO
|
|
4958
5131
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
4959
5132
|
* da sonst die Wicklungsnummern, nicht mehr übereinstimmen könnten */
|
|
@@ -5148,10 +5321,8 @@ class ConverterIntegral7 {
|
|
|
5148
5321
|
sortTransformerEnd(powerTransformer, sortProperty, order) {
|
|
5149
5322
|
// Store current order of power transformer ends.
|
|
5150
5323
|
let winding_guids = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5151
|
-
let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5152
5324
|
for (let i = 0; i < powerTransformer.powerTransformerEnd.length; i++) {
|
|
5153
5325
|
winding_guids[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5154
|
-
winding_guids_fixed[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5155
5326
|
}
|
|
5156
5327
|
//Sort: This step maybe changes power transformer ends order for this power transformer.
|
|
5157
5328
|
powerTransformer.powerTransformerEnd.sort(function (w1, w2) {
|
|
@@ -5175,8 +5346,19 @@ class ConverterIntegral7 {
|
|
|
5175
5346
|
// const isNull = true;
|
|
5176
5347
|
//}
|
|
5177
5348
|
}
|
|
5349
|
+
let tmpMapping = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5350
|
+
for (let i = 0; i < winding_guids.length; i++) {
|
|
5351
|
+
tmpMapping[i] = (winding_guids.indexOf(powerTransformer.powerTransformerEnd[i].getUUID()) + 1).toString();
|
|
5352
|
+
}
|
|
5353
|
+
return tmpMapping; //return mapping
|
|
5178
5354
|
}
|
|
5179
5355
|
setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, cable, defaultValuesConfig) {
|
|
5356
|
+
if ((0, parser_utils_1.isBooleanI7)(data.ltgmonitoring) && (0, parser_utils_1.convertToBooleanI7)(data.ltgmonitoring)) {
|
|
5357
|
+
acLineSegment.ltgmonitoring = (0, parser_utils_1.convertToBooleanI7)(data.ltgmonitoring);
|
|
5358
|
+
}
|
|
5359
|
+
else {
|
|
5360
|
+
acLineSegment.ltgmonitoring = false;
|
|
5361
|
+
}
|
|
5180
5362
|
if ((0, parser_utils_1.isBooleanI7)(data.flag_impedanzlos) && (0, parser_utils_1.convertToBooleanI7)(data.flag_impedanzlos)) {
|
|
5181
5363
|
data.flag_impedanzlos = 1;
|
|
5182
5364
|
}
|
|
@@ -5277,8 +5459,8 @@ class ConverterIntegral7 {
|
|
|
5277
5459
|
* @param equipmentKey Generierung einer persistenter UUID v5. Für PowerTransformer wird UUID des PowerTransformerEnds verwendet. Andernfalls die UUID des ConductingEquipments
|
|
5278
5460
|
* */
|
|
5279
5461
|
setConductingEquipmentOperationalLimit(cimModel, name, terminal, equipmentKey, limit, limitType, igrenz) {
|
|
5280
|
-
if ((limit !== undefined && limit > 0)
|
|
5281
|
-
return;
|
|
5462
|
+
if (!(limit !== undefined && limit > 0) || !(igrenz !== undefined && igrenz > 0))
|
|
5463
|
+
return; //if 'limit' and 'igrenz' is not given leave
|
|
5282
5464
|
/** OperationalLimitSet erstellen */
|
|
5283
5465
|
const operationalLimitSetKey = terminal.getUUID() + equipmentKey;
|
|
5284
5466
|
const operationalLimitSetUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.OperationalLimitSet, this.configUuid, operationalLimitSetKey);
|
|
@@ -5363,6 +5545,9 @@ class ConverterIntegral7 {
|
|
|
5363
5545
|
terminal.name = (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
5364
5546
|
}
|
|
5365
5547
|
}
|
|
5548
|
+
if (terminal !== undefined && terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
5549
|
+
const stop = true;
|
|
5550
|
+
}
|
|
5366
5551
|
return terminal;
|
|
5367
5552
|
}
|
|
5368
5553
|
createBoundaryConnection(frame, conductingEquipment, i7ObjectID, phase) {
|
|
@@ -5879,7 +6064,7 @@ class ConverterIntegral7 {
|
|
|
5879
6064
|
// Topologie
|
|
5880
6065
|
powerTransformerEnd.terminal = terminal;
|
|
5881
6066
|
this.setConductingEquipmentOperationalLimit(cimModel, `W${powerTransformerEnd.endNumber}${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`, terminal, powerTransformer.getUUID(), sdauer, cim_class_names_1.ClassNames.ApparentPowerLimit);
|
|
5882
|
-
if (powerTransformer.getUUID() === '
|
|
6067
|
+
if (powerTransformer.getUUID() === '3c3928be-e691-453d-8216-df30bd11845e') {
|
|
5883
6068
|
const stop = true;
|
|
5884
6069
|
}
|
|
5885
6070
|
let isTrafo2w = i7Data.trafowicklung3w3 === undefined ? true : false;
|
|
@@ -5935,36 +6120,34 @@ class ConverterIntegral7 {
|
|
|
5935
6120
|
}
|
|
5936
6121
|
convertTapChangers(i7Data, transformerEnds, cimModel, transformerinfo, connectivityNode, spannungsband) {
|
|
5937
6122
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5938
|
-
|
|
5939
|
-
|
|
6123
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === 'c0ba4bd1102c4f4fa4fc66865a60f462') { //Zeile53 - Typ Meeden'
|
|
6124
|
+
let stop = true;
|
|
6125
|
+
}
|
|
6126
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '2e8057ed695147f9903023cb5e9d4a0c') { //Zeile55 - SR und LR'
|
|
6127
|
+
let stop = true;
|
|
5940
6128
|
}
|
|
5941
|
-
if(getUUID(i7Data.guid) === '
|
|
5942
|
-
let stop = true; DONE
|
|
5943
|
-
}*/
|
|
5944
|
-
/*if(getUUID(i7Data.guid)=== 'CFDAA56A-A0DA-4C5B-92CC-21138B6D6D07'){ //Standard LR
|
|
5945
|
-
let stop = true;
|
|
5946
|
-
}*/
|
|
5947
|
-
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') { //Zeile53 - Typ Meeden'
|
|
6129
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid).toLowerCase() === 'd7a25b80-b439-48a0-b67e-108903063237') { //Zeile81 - SR statt LR'
|
|
5948
6130
|
let stop = true;
|
|
5949
6131
|
}
|
|
5950
|
-
|
|
5951
|
-
let stop = true;
|
|
5952
|
-
}*/
|
|
5953
|
-
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '515508dc-5982-4686-ad26-08d39db91421') { //Zeile81 - SR statt LR'
|
|
6132
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === 'b81485dd-5115-4241-b31a-c87a3eec9803') {
|
|
5954
6133
|
let stop = true;
|
|
5955
6134
|
}
|
|
5956
|
-
/*if(getUUID(i7Data.guid) === '5ec82d14-ee64-43b6-86ff-c7615d96f7ad'){ //Zeile58
|
|
5957
|
-
let stop = true;
|
|
5958
|
-
}*/
|
|
5959
6135
|
let ratioPhaseTapChangerPresent = false;
|
|
5960
6136
|
//Check if tap changer exists. (power transformer winding)
|
|
5961
6137
|
let tapChangerNumberI7 = []; //Number of tap changer
|
|
5962
6138
|
let tapChangerNumber = [];
|
|
5963
|
-
//
|
|
6139
|
+
//collect information about tap changers (without type)
|
|
5964
6140
|
for (let tapChangerPos = 1; tapChangerPos <= 2; tapChangerPos++) {
|
|
5965
6141
|
if ((0, parser_utils_1.isNumericI7)(i7Data[`gestufte_seite_s${tapChangerPos}`])) {
|
|
5966
|
-
|
|
5967
|
-
|
|
6142
|
+
if (i7Data[`gestufte_seite_s${tapChangerPos}`] !== 0) {
|
|
6143
|
+
tapChangerNumberI7.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
6144
|
+
tapChangerNumber.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
6145
|
+
}
|
|
6146
|
+
else if (i7Data[`gestufte_seite_s${tapChangerPos}`] === 0) {
|
|
6147
|
+
const controlledSide = getHVSideNumber(transformerEnds);
|
|
6148
|
+
tapChangerNumberI7.push(controlledSide);
|
|
6149
|
+
tapChangerNumber.push(controlledSide);
|
|
6150
|
+
}
|
|
5968
6151
|
}
|
|
5969
6152
|
}
|
|
5970
6153
|
//collect information about tap changers (type)
|
|
@@ -5979,15 +6162,15 @@ class ConverterIntegral7 {
|
|
|
5979
6162
|
//If there is a phase tap changer and a ratio tap changer reorder the tap changers to process ratio tap changer first.
|
|
5980
6163
|
let index = undefined;
|
|
5981
6164
|
if (tapChangerNumberI7.length > 1) {
|
|
5982
|
-
for (let
|
|
6165
|
+
for (let i = 0; i < tapChangerNumberI7.length; i++) {
|
|
5983
6166
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
5984
|
-
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber ===
|
|
6167
|
+
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber === tapChangerNumberI7[i]);
|
|
5985
6168
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
5986
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
5987
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6169
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6170
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
5988
6171
|
: (_e = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _e === void 0 ? void 0 : _e.value;
|
|
5989
|
-
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) &&
|
|
5990
|
-
index =
|
|
6172
|
+
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) && i > 0) {
|
|
6173
|
+
index = i; //This only works for two tapchanger definitions per power transformer
|
|
5991
6174
|
ratioPhaseTapChangerPresent = true;
|
|
5992
6175
|
}
|
|
5993
6176
|
}
|
|
@@ -5997,15 +6180,15 @@ class ConverterIntegral7 {
|
|
|
5997
6180
|
tapChangerNumber[1] = tapChangerNumberI7[0];
|
|
5998
6181
|
}
|
|
5999
6182
|
/** I7 Modell max. 2 Stufenschalter */
|
|
6000
|
-
for (let
|
|
6183
|
+
for (let i = 0; i < tapChangerNumber.length; i++) {
|
|
6001
6184
|
/**
|
|
6002
6185
|
* 0 Oberspannungsseite
|
|
6003
6186
|
* 1 Seite 1
|
|
6004
6187
|
* 2 Seite 2
|
|
6005
6188
|
* - Stufenschalter nicht vorhanden
|
|
6006
6189
|
*/
|
|
6007
|
-
let entryI7 =
|
|
6008
|
-
let gestufteSeite = tapChangerNumberI7[
|
|
6190
|
+
let entryI7 = i + 1;
|
|
6191
|
+
let gestufteSeite = tapChangerNumberI7[i];
|
|
6009
6192
|
const transformerEndInfo = (_f = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _f === void 0 ? void 0 : _f.find(elem => elem.endNumber === entryI7);
|
|
6010
6193
|
const transformerEnd = transformerEnds.find(elem => elem.endNumber === entryI7);
|
|
6011
6194
|
if ((0, parser_utils_1.isNumericI7)(gestufteSeite)) {
|
|
@@ -6025,8 +6208,8 @@ class ConverterIntegral7 {
|
|
|
6025
6208
|
continue;
|
|
6026
6209
|
}
|
|
6027
6210
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
6028
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
6029
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6211
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6212
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6030
6213
|
: (_h = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _h === void 0 ? void 0 : _h.value;
|
|
6031
6214
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
6032
6215
|
//const neutralU = transformerEnd.ratedU;
|
|
@@ -6158,7 +6341,7 @@ class ConverterIntegral7 {
|
|
|
6158
6341
|
* */
|
|
6159
6342
|
/** Regelung */
|
|
6160
6343
|
const ratioTapChanger = new RatioTapChanger_1.RatioTapChanger((0, parser_utils_1.getUUID)(eval(`i7Data.guid_tch${tapChangerNumber}`), this.objectMappingConfig.standardiseUuid), `${transformerEnd.name} W_${transformerEnd.endNumber}`);
|
|
6161
|
-
ratioTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`) ? !(0, parser_utils_1.convertToBooleanI7)(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`) :
|
|
6344
|
+
ratioTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`)) ? !(0, parser_utils_1.convertToBooleanI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`)) : true;
|
|
6162
6345
|
ratioTapChanger.transformerEnd = transformerEnd;
|
|
6163
6346
|
//transformerEnd.ratioTapChanger = ratioTapChanger;
|
|
6164
6347
|
ratioTapChanger.neutralU = transformerEnd.ratedU;
|
|
@@ -6258,9 +6441,9 @@ class ConverterIntegral7 {
|
|
|
6258
6441
|
}
|
|
6259
6442
|
}
|
|
6260
6443
|
// Attribute
|
|
6261
|
-
phaseTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) ? (0, parser_utils_1.convertToBooleanI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) :
|
|
6444
|
+
phaseTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) ? !(0, parser_utils_1.convertToBooleanI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) : true;
|
|
6262
6445
|
phaseTapChanger.transformerEnd = transformerEnd;
|
|
6263
|
-
|
|
6446
|
+
phaseTapChanger.neutralU = transformerEnd.ratedU;
|
|
6264
6447
|
// Wirkleistungsregelung Anschluss
|
|
6265
6448
|
const pRegulationToNode = (0, parser_utils_1.isNumericI7)(i7Data.nach_a_nr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.nach_a_nr) : undefined;
|
|
6266
6449
|
const regulatingTransformerEnd = transformerEnds.find(elem => elem.endNumber === pRegulationToNode);
|
|
@@ -6313,65 +6496,99 @@ class ConverterIntegral7 {
|
|
|
6313
6496
|
* @param sternpunktKnotenMap Map mit den Sterpunktknoten aus der I7 Datenbank
|
|
6314
6497
|
* */
|
|
6315
6498
|
convertTrafoGrounding(frame, powerTransformer, powerTransformerEnd, i7Modell, stpKnoten, defaultValuesConfig) {
|
|
6316
|
-
|
|
6317
|
-
|
|
6499
|
+
/**
|
|
6500
|
+
* Five cases for transformer grounding model has to be checked:
|
|
6501
|
+
* Case 1: no grounding ... no 'Sternpunktknoten' is present ... ''
|
|
6502
|
+
* Case 2: no grounding ... 'Sternpunktknoten', 'SternpunktSchaltelement', 'Sternpunktschiene' is present but no 'KDrossel' ... 'isoliert'
|
|
6503
|
+
* Case 3: grounding is present ... only 'Sternpunktknoten' is present and 'Sternpunktknoten.geerdet' == 1 ... 'starr' or 'direkt'
|
|
6504
|
+
* Case 4: grounding is present ... only 'Sternpunktknoten' and 'Kdrossel' is present ... 'über Impedanz'
|
|
6505
|
+
* Case 5: grounding is present ... 'Sternpunktknoten', 'Sternpunktschaltelement', 'Sternpunktschiene' and 'Kdrossel' is present ... 'über Impedanz'
|
|
6506
|
+
* Case 6: no grounding ... only 'Sternpunktknoten' is present and 'Sternpunktknoten.geerdet' == 0 ... ''
|
|
6507
|
+
*/
|
|
6318
6508
|
const cimModel = frame.cimModel;
|
|
6509
|
+
let groundDisconnectorUUID = undefined;
|
|
6510
|
+
let connectivityNodeN = undefined;
|
|
6511
|
+
let groundDisconnector = undefined;
|
|
6512
|
+
let voltageLevel = undefined;
|
|
6319
6513
|
if (stpKnoten) {
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6514
|
+
groundDisconnectorUUID = i7Modell.sternPunktImpModel.stpSchaltelementeIdGroundDisconnectorUUID.get(stpKnoten.schaltelement1pelem);
|
|
6515
|
+
connectivityNodeN = i7Modell.sternPunktImpModel.stpSchieneIdConnectivityNode.get(i7Modell.sternPunktImpModel.GroundDisconnectorUuidStpSchieneId.get(groundDisconnectorUUID));
|
|
6516
|
+
groundDisconnector = i7Modell.sternPunktImpModel.groundDisconnectors.get(groundDisconnectorUUID);
|
|
6517
|
+
if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size === 1) {
|
|
6518
|
+
const cn = powerTransformerEnd.getTerminal().getConnectivityNode();
|
|
6519
|
+
this.createConnection(cimModel, groundDisconnector, cn, PhaseCode_1.PhaseCode.ABCN, true);
|
|
6520
|
+
}
|
|
6521
|
+
else if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size < 1) {
|
|
6522
|
+
this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is not successfully connected.`);
|
|
6523
|
+
}
|
|
6524
|
+
else if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size > 2) {
|
|
6525
|
+
this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is referenced by more than two Terminal objects.`);
|
|
6526
|
+
}
|
|
6527
|
+
/** EquipmentContainer - Voltage Level*/
|
|
6528
|
+
voltageLevel = (this.determineEquipmentContainer('VoltageLevel', cimModel, powerTransformerEnd.getTerminal().connectivityNode.connectivityNodeContainer));
|
|
6529
|
+
}
|
|
6530
|
+
if (stpKnoten && groundDisconnector === undefined) { //Case 3 and Case 4
|
|
6531
|
+
const earthFaultCompensator = i7Modell.sternPunktImpModel.stpKnotenStpImp.get(stpKnoten.id);
|
|
6532
|
+
if (earthFaultCompensator instanceof GroundingImpedance_1.GroundingImpedance) { //Case 4 ... 'Kdrossel' is modelled as a GroundingImpedanz
|
|
6533
|
+
//cimModel.addGroundingImpedance(earthFaultCompensator as GroundingImpedance);//set grounded to 'true' if PetersenCoil is present
|
|
6534
|
+
const groundingImpedance = earthFaultCompensator;
|
|
6535
|
+
powerTransformerEnd.xground = groundingImpedance.x;
|
|
6536
|
+
powerTransformerEnd.rground = groundingImpedance.r;
|
|
6537
|
+
powerTransformerEnd.grounded = true;
|
|
6538
|
+
}
|
|
6539
|
+
else if (earthFaultCompensator instanceof PetersenCoil_1.PetersenCoil) { //Case 4 ... 'Kdrossel' is modelled as a PetersenCoil
|
|
6540
|
+
//cimModel.addPetersenCoil(earthFaultCompensator as PetersenCoil); //set grounded to 'true' if GroundingImpedance is present
|
|
6541
|
+
const petersenCoil = earthFaultCompensator;
|
|
6542
|
+
powerTransformerEnd.xground = (0, parser_utils_1.isNumericI7)(petersenCoil.xGroundNominal) ? petersenCoil.xGroundNominal : (((0, parser_utils_1.isNumericI7)(petersenCoil.xGroundMax) && (0, parser_utils_1.isNumericI7)(petersenCoil.xGroundMin)) ? (petersenCoil.xGroundMax + petersenCoil.xGroundMin) / 2 : defaultValuesConfig.TransformerEnd.xground);
|
|
6543
|
+
powerTransformerEnd.rground = petersenCoil.r;
|
|
6544
|
+
powerTransformerEnd.grounded = true;
|
|
6545
|
+
}
|
|
6546
|
+
else if (stpKnoten.geerdet === 1) { //Case 3
|
|
6547
|
+
powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground; //it is assumed that rground and xground is zero in case of solidly grounding
|
|
6548
|
+
powerTransformerEnd.xground = defaultValuesConfig.TransformerEnd.xground; //it is assumed that rground and xground is zero in case of solidly grounding
|
|
6549
|
+
powerTransformerEnd.grounded = true;
|
|
6550
|
+
}
|
|
6551
|
+
else { //Case 6
|
|
6552
|
+
powerTransformerEnd.grounded = false;
|
|
6553
|
+
}
|
|
6554
|
+
}
|
|
6555
|
+
else if (connectivityNodeN !== undefined && groundDisconnector !== undefined) {
|
|
6556
|
+
const earthFaultCompensator = i7Modell.sternPunktImpModel.groundDisconnectorUUIDstpImp.get(groundDisconnectorUUID);
|
|
6557
|
+
if (earthFaultCompensator instanceof GroundingImpedance_1.GroundingImpedance) { //Case 5 ... 'Kdrossel' is modelled as a GroundingImpedanz
|
|
6558
|
+
cimModel.addGroundingImpedance(earthFaultCompensator);
|
|
6559
|
+
cimModel.addGroundDisconnector(groundDisconnector);
|
|
6560
|
+
cimModel.addConnectivityNode(connectivityNodeN);
|
|
6561
|
+
powerTransformerEnd.grounded = true; //set grounded to 'true' if GroundingImpedance is present
|
|
6562
|
+
}
|
|
6563
|
+
else if (earthFaultCompensator instanceof PetersenCoil_1.PetersenCoil) { //Case 5 ... 'Kdrossel' is modelled as a PetersenCoil
|
|
6564
|
+
cimModel.addPetersenCoil(earthFaultCompensator);
|
|
6565
|
+
cimModel.addGroundDisconnector(groundDisconnector);
|
|
6566
|
+
cimModel.addConnectivityNode(connectivityNodeN);
|
|
6567
|
+
powerTransformerEnd.grounded = true; //set grounded to 'true' if PetersenCoil is present
|
|
6568
|
+
}
|
|
6569
|
+
else { //Case 2
|
|
6570
|
+
powerTransformerEnd.grounded = false; //set grounded to 'false' if no GroundingImpedance or PetersenCoil is present ... 'isolierte Sternpunktschiene'
|
|
6571
|
+
}
|
|
6572
|
+
/** BaseVoltage */
|
|
6573
|
+
if (voltageLevel !== undefined) {
|
|
6574
|
+
groundDisconnector.baseVoltage = voltageLevel.baseVoltage ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6575
|
+
groundDisconnector.equipmentContainer = voltageLevel;
|
|
6576
|
+
if (earthFaultCompensator !== undefined) {
|
|
6577
|
+
earthFaultCompensator.equipmentContainer = voltageLevel;
|
|
6578
|
+
}
|
|
6579
|
+
connectivityNodeN.connectivityNodeContainer = voltageLevel;
|
|
6580
|
+
connectivityNodeN.key = voltageLevel.key + connectivityNodeN.key;
|
|
6330
6581
|
}
|
|
6331
6582
|
else {
|
|
6332
|
-
|
|
6333
|
-
* Nur Verbindung zur Junction herstellen */
|
|
6334
|
-
let terminal;
|
|
6335
|
-
if (!((_a = powerTransformerEnd.terminal) === null || _a === void 0 ? void 0 : _a.connectivityNode) && this.UUID2Integral7ID.has((_b = powerTransformerEnd.terminal) === null || _b === void 0 ? void 0 : _b.connectivityNodeUUID)) {
|
|
6336
|
-
const i7ObjectID = (_d = this.UUID2Integral7ID.get((_c = powerTransformerEnd.terminal) === null || _c === void 0 ? void 0 : _c.connectivityNodeUUID)) === null || _d === void 0 ? void 0 : _d.find(elem => elem);
|
|
6337
|
-
terminal = this.createBoundaryConnection(frame, junction, i7ObjectID, PhaseCode_1.PhaseCode.ABC);
|
|
6338
|
-
}
|
|
6339
|
-
else {
|
|
6340
|
-
terminal = this.createConnection(cimModel, junction, (_e = powerTransformerEnd.terminal) === null || _e === void 0 ? void 0 : _e.connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
6341
|
-
}
|
|
6342
|
-
if (terminal) {
|
|
6343
|
-
terminal.name = 't_stp_trafo';
|
|
6344
|
-
if (junction)
|
|
6345
|
-
junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
|
|
6346
|
-
const pSpuleGroundImpedance = i7Modell.sternPunktImpModel.junctionUUIDstpImp.get(junctionUUID);
|
|
6347
|
-
/** EquipmentContainer - Voltage Level*/
|
|
6348
|
-
const voltageLevel = this.getVoltageLevelByVoltage((_f = powerTransformer.equipmentContainer) === null || _f === void 0 ? void 0 : _f.voltageLevels, powerTransformerEnd.ratedU);
|
|
6349
|
-
if (!voltageLevel) {
|
|
6350
|
-
this.logger.debug(`Trafo ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat kein EquipmentContainer`);
|
|
6351
|
-
}
|
|
6352
|
-
/** BaseVoltage */
|
|
6353
|
-
if (junction && voltageLevel) {
|
|
6354
|
-
junction.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6355
|
-
junction.equipmentContainer = voltageLevel;
|
|
6356
|
-
cimModel.addJunction(junction);
|
|
6357
|
-
}
|
|
6358
|
-
else {
|
|
6359
|
-
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine Junction ${junctionUUID} oder VoltageLevel`);
|
|
6360
|
-
}
|
|
6361
|
-
if (pSpuleGroundImpedance) {
|
|
6362
|
-
pSpuleGroundImpedance.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6363
|
-
pSpuleGroundImpedance.equipmentContainer = voltageLevel;
|
|
6364
|
-
cimModel.addGroundingImpedance(pSpuleGroundImpedance);
|
|
6365
|
-
}
|
|
6366
|
-
else {
|
|
6367
|
-
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine pSpuleGroundImpedance.`);
|
|
6368
|
-
}
|
|
6369
|
-
}
|
|
6370
|
-
else {
|
|
6371
|
-
this.logger.error(`Die Erdnung TrafoObjekts ID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} konnte nicht abgebildet werden, da der Anschluss nicht bestimmt werden konnte.`);
|
|
6372
|
-
}
|
|
6583
|
+
this.logger.debug(`PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} hat kein VoltageLevel`);
|
|
6373
6584
|
}
|
|
6374
6585
|
}
|
|
6586
|
+
else { //Case 1
|
|
6587
|
+
powerTransformerEnd.grounded = false; //set grounded to 'false' if there is no 'Sternpunktknoten'
|
|
6588
|
+
}
|
|
6589
|
+
if (powerTransformerEnd.grounded) {
|
|
6590
|
+
powerTransformerEnd.terminal.phases = PhaseCode_1.PhaseCode.ABCN;
|
|
6591
|
+
}
|
|
6375
6592
|
}
|
|
6376
6593
|
/** Equipment grounding
|
|
6377
6594
|
* @param shnt ShuntCompensator object
|
|
@@ -6721,4 +6938,48 @@ function logExecutionTime(logger, startTime, text) {
|
|
|
6721
6938
|
logger.debug(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6722
6939
|
console.log(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6723
6940
|
}
|
|
6941
|
+
function getHVSideNumber(transformerEnds) {
|
|
6942
|
+
let retVal = undefined;
|
|
6943
|
+
let urHv = 0;
|
|
6944
|
+
for (let i = 0; i < transformerEnds.length; i++) {
|
|
6945
|
+
if (urHv < transformerEnds[i].ratedU) {
|
|
6946
|
+
retVal = transformerEnds[i].endNumber;
|
|
6947
|
+
urHv = transformerEnds[i].ratedU;
|
|
6948
|
+
}
|
|
6949
|
+
}
|
|
6950
|
+
return retVal;
|
|
6951
|
+
}
|
|
6952
|
+
function createLineName(i7Data, uuid, lineNames) {
|
|
6953
|
+
let retVal = (0, util_create_1.createNotation)([i7Data.bezeichner], 32, false);
|
|
6954
|
+
if (lineNames[retVal] === true) { //try to find another name with i7Data.stkabname as suffix
|
|
6955
|
+
if (i7Data.bezeichner.length > 0 && i7Data.stkabname.length > 0) {
|
|
6956
|
+
retVal = i7Data.bezeichner.substring(0, i7Data.bezeichner.length - (i7Data.bezeichner.length + (i7Data.stkabname.length + 1) - 32)) + '_' + i7Data.stkabname;
|
|
6957
|
+
}
|
|
6958
|
+
else if (i7Data.bezeichner.length > 0 && i7Data.stkabname.length <= 0) {
|
|
6959
|
+
retVal = i7Data.bezeichner.substring(0, i7Data.stkabname.length - (i7Data.bezeichner.length - 32));
|
|
6960
|
+
}
|
|
6961
|
+
else if (i7Data.bezeichner.length <= 0 && i7Data.stkabname.length > 0) {
|
|
6962
|
+
retVal = i7Data.stkabname.substring(0, i7Data.stkabname.length - (i7Data.stkabname.length - 32));
|
|
6963
|
+
}
|
|
6964
|
+
}
|
|
6965
|
+
if (lineNames[retVal] === true) { //use uuid to create a unique name
|
|
6966
|
+
if (retVal.length + 9 <= 32) {
|
|
6967
|
+
retVal = retVal + '_' + normalizeUUID(uuid).substring(0, 8);
|
|
6968
|
+
}
|
|
6969
|
+
else {
|
|
6970
|
+
retVal = retVal.substring(0, retVal.length - (retVal.length + 9 - 32)) + '_' + normalizeUUID(uuid).substring(0, 8);
|
|
6971
|
+
}
|
|
6972
|
+
}
|
|
6973
|
+
return retVal;
|
|
6974
|
+
}
|
|
6975
|
+
function normalizeUUID(uuid) {
|
|
6976
|
+
let retVal = '';
|
|
6977
|
+
if (uuid != undefined && uuid.length > 0) {
|
|
6978
|
+
retVal = uuid.replaceAll('_', '');
|
|
6979
|
+
retVal = retVal.replaceAll('-', '');
|
|
6980
|
+
retVal = retVal.toLowerCase();
|
|
6981
|
+
retVal = retVal.trim();
|
|
6982
|
+
}
|
|
6983
|
+
return retVal;
|
|
6984
|
+
}
|
|
6724
6985
|
//# sourceMappingURL=converter.integral7.js.map
|