@enervance/insight-cim-model 0.0.214-next → 0.0.215-dev
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 +0 -5
- package/dist/converter/integral7/config/integral-prefix.js +1 -6
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter.integral7.d.ts +2 -3
- package/dist/converter/integral7/converter.integral7.js +343 -589
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +0 -3
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +9 -7
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/executor.d.ts +1 -15
- package/dist/converter/integral7/dl-convert/executor.js +25 -57
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +11 -17
- 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 +0 -3
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +8 -10
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +10 -17
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +0 -26
- package/dist/converter/integral7/model/interfaces.js.map +1 -1
- package/dist/converter/integral7/sql/integral.sql.d.ts +0 -3
- package/dist/converter/integral7/sql/integral.sql.js +4 -18
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils-cgmes-export.js +0 -2
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +3 -12
- package/dist/converter/integral7/utils.js +14 -91
- package/dist/converter/integral7/utils.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 +2 -0
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/DCLineSegment.d.ts +0 -2
- package/dist/model/dc/DCLineSegment.js +0 -16
- package/dist/model/dc/DCLineSegment.js.map +1 -1
- package/dist/model/dc/VsCapabilityCurve.js.map +1 -1
- package/dist/model/dc/VsConverter.d.ts +0 -1
- package/dist/model/dc/VsConverter.js +0 -13
- 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 +0 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +0 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.d.ts +0 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.d.ts +0 -3
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js +0 -14
- 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/wires/INTEGRALACLineSegment.d.ts +0 -2
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +0 -8
- 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 +1 -4
- package/dist/model/wires/GroundDisconnector.js +1 -15
- 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 +4 -6
- 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 +1 -5
- package/dist/model-container/model/ModelContainer.js +0 -14
- package/dist/model-container/model/ModelContainer.js.map +1 -1
- package/dist/util/util-create.js +1 -9
- package/dist/util/util-create.js.map +1 -1
- package/dist/utils2/parser.utils.js +2 -2
- package/dist/utils2/parser.utils.js.map +1 -1
- package/package.json +3 -2
- package/dist/model/extensions/integral/dc/DCLineSegment.d.ts +0 -10
- package/dist/model/extensions/integral/dc/DCLineSegment.js +0 -31
- package/dist/model/extensions/integral/dc/DCLineSegment.js.map +0 -1
|
@@ -27,6 +27,7 @@ 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");
|
|
30
31
|
const DCNode_1 = require("../../model/dc/DCNode.js");
|
|
31
32
|
const DCTerminal_1 = require("../../model/dc/DCTerminal.js");
|
|
32
33
|
const VsConverter_1 = require("../../model/dc/VsConverter.js");
|
|
@@ -141,9 +142,6 @@ const INTEGRALPowerTransformer2WInfo_1 = require("../../model/extensions/integra
|
|
|
141
142
|
const impedance_utils_1 = require("./impedance.utils.js");
|
|
142
143
|
const util_cim_model_1 = require("./util-cim.model.js");
|
|
143
144
|
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");
|
|
147
145
|
class ConverterIntegral7 {
|
|
148
146
|
constructor() {
|
|
149
147
|
/** Exportnetze gemäß Konfiguration */
|
|
@@ -208,7 +206,6 @@ class ConverterIntegral7 {
|
|
|
208
206
|
yield this.queryErsatzLaengsAnschlussIDs();
|
|
209
207
|
yield this.queryLkondensatorAnschlussIDs();
|
|
210
208
|
/** BD Profile */
|
|
211
|
-
this.logger.debug('Convert BD Profiles');
|
|
212
209
|
console.log('Convert BD Profiles');
|
|
213
210
|
let boundaryEqUUId = undefined;
|
|
214
211
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
@@ -220,7 +217,6 @@ class ConverterIntegral7 {
|
|
|
220
217
|
continue;
|
|
221
218
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
222
219
|
}
|
|
223
|
-
this.logger.debug('Convert MAS Profiles');
|
|
224
220
|
console.log('Convert MAS Profiles');
|
|
225
221
|
for (const entry of this.exportFrames.entries()) {
|
|
226
222
|
const geoRegionUUID = entry[0];
|
|
@@ -229,7 +225,6 @@ class ConverterIntegral7 {
|
|
|
229
225
|
if (!geoRegion)
|
|
230
226
|
continue;
|
|
231
227
|
// 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}`);
|
|
233
228
|
console.log(`Convert MAS profile: ${frame.mas}`);
|
|
234
229
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
235
230
|
if (boundaryEqUUId) {
|
|
@@ -239,7 +234,6 @@ class ConverterIntegral7 {
|
|
|
239
234
|
frame.purgeData();
|
|
240
235
|
const startTime = perf_hooks.performance.now();
|
|
241
236
|
frame.openXMLModel();
|
|
242
|
-
this.logger.debug(`Serialize MAS profile: ${frame.mas}`);
|
|
243
237
|
console.log(`Serialize MAS profile: ${frame.mas}`);
|
|
244
238
|
frame.serializeModel(defaultValuesConfig);
|
|
245
239
|
yield frame.closeXMLModel();
|
|
@@ -247,7 +241,7 @@ class ConverterIntegral7 {
|
|
|
247
241
|
frame.cimModel.purgeData();
|
|
248
242
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
249
243
|
}
|
|
250
|
-
|
|
244
|
+
console.log('Serialize BD Profiles');
|
|
251
245
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
252
246
|
const geoRegionUUID = entry[0];
|
|
253
247
|
const frame = entry[1];
|
|
@@ -266,7 +260,7 @@ class ConverterIntegral7 {
|
|
|
266
260
|
let endTime = perf_hooks.performance.now();
|
|
267
261
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
268
262
|
}
|
|
269
|
-
|
|
263
|
+
console.log('Serialize Default Profile');
|
|
270
264
|
this.exportFrameDefault.openXMLModel();
|
|
271
265
|
this.exportFrameDefault.serializeModel(defaultValuesConfig);
|
|
272
266
|
yield this.exportFrameDefault.closeXMLModel();
|
|
@@ -404,22 +398,6 @@ class ConverterIntegral7 {
|
|
|
404
398
|
yield this.convertLeistungsschalter(cimModel, eqiupmentContainerIDs);
|
|
405
399
|
logExecutionTime(this.logger, startTime, `convertLeistungsschalter(${cimModel.breakers.size})`);
|
|
406
400
|
}
|
|
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
|
-
}
|
|
423
401
|
/** Trafo2W */
|
|
424
402
|
if (standortIDs.length > 0) {
|
|
425
403
|
startTime = perf_hooks.performance.now();
|
|
@@ -498,6 +476,20 @@ class ConverterIntegral7 {
|
|
|
498
476
|
yield this.convertKompensationskondensatoren(cimModel, integral7Modell.targetVoltages, soSfKnoten);
|
|
499
477
|
logExecutionTime(this.logger, startTime, `convertKompensationskondensatoren`);
|
|
500
478
|
}
|
|
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
|
+
}
|
|
501
493
|
/** Statcom -> StaticVarCompensator */
|
|
502
494
|
/** Sonderfall mit Trafo
|
|
503
495
|
* Trafos müssen zuertst konvertiert werden. */
|
|
@@ -558,7 +550,6 @@ class ConverterIntegral7 {
|
|
|
558
550
|
const netz_standortIds = standortIDs.map(standortId => {
|
|
559
551
|
return { id: standortId };
|
|
560
552
|
});
|
|
561
|
-
const boundary_standortIds = [];
|
|
562
553
|
const netz_knotensoIds = knotenSoIDs.map(knotenSoId => {
|
|
563
554
|
return { id: knotenSoId };
|
|
564
555
|
});
|
|
@@ -568,7 +559,6 @@ class ConverterIntegral7 {
|
|
|
568
559
|
});
|
|
569
560
|
entry[1].integral7Modell.integralKnotenSo.forEach((_, key) => {
|
|
570
561
|
netz_knotensoIds.push({ id: key });
|
|
571
|
-
boundary_standortIds.push({ id: key });
|
|
572
562
|
});
|
|
573
563
|
}
|
|
574
564
|
const netzLeitungIds = [...integral7Modell.integralLeitungen.keys()];
|
|
@@ -578,8 +568,6 @@ class ConverterIntegral7 {
|
|
|
578
568
|
const allLeitungIds = [...new Set([...netzLeitungIds, ...netzHgueLeitungIds, ...netzErsatzlaengszweigIds, ...netzStreckenlastIds]).values()];
|
|
579
569
|
const convertOptions = {
|
|
580
570
|
visible_only: true,
|
|
581
|
-
boundary_standortIds,
|
|
582
|
-
nsg_standort_treshold_percentage: 25,
|
|
583
571
|
only: {
|
|
584
572
|
netz_standortIds,
|
|
585
573
|
netz_knotensoIds,
|
|
@@ -597,7 +585,6 @@ class ConverterIntegral7 {
|
|
|
597
585
|
})
|
|
598
586
|
}
|
|
599
587
|
};
|
|
600
|
-
frame.cimModel.addDiagramStyle(this.executor.dlConverter.diagramStyles[cim_constants_1.DiagramLayoutTypes.NODE_BREAKER]);
|
|
601
588
|
const resultingObjects = yield this.executor.convert(convertOptions);
|
|
602
589
|
for (const resultingObject of resultingObjects) {
|
|
603
590
|
if (resultingObject instanceof Diagram_1.Diagram) {
|
|
@@ -708,7 +695,7 @@ class ConverterIntegral7 {
|
|
|
708
695
|
.then((result) => {
|
|
709
696
|
for (const i7Data of result) {
|
|
710
697
|
const i7Schluessel = integral_prefix_1.GEOREGION_PRAEFIX + (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);
|
|
698
|
+
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), '_GR']), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluessel);
|
|
712
699
|
//region.i7key = i7Schluessel;
|
|
713
700
|
this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
|
|
714
701
|
regions.push(region);
|
|
@@ -756,12 +743,11 @@ class ConverterIntegral7 {
|
|
|
756
743
|
.then((result) => {
|
|
757
744
|
for (const i7Data of result) {
|
|
758
745
|
const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + (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);
|
|
746
|
+
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), '_SGR']), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluesel);
|
|
761
747
|
const regionUUID = this.integralID2UUID.get(i7Data.georegion);
|
|
762
748
|
let region = regions.find(elem => elem.mrid === regionUUID);
|
|
763
749
|
if (!region) {
|
|
764
|
-
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name]), this.configUuid);
|
|
750
|
+
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name, '_GR']), this.configUuid);
|
|
765
751
|
this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
|
|
766
752
|
}
|
|
767
753
|
subregion.region = region;
|
|
@@ -852,7 +838,7 @@ class ConverterIntegral7 {
|
|
|
852
838
|
i7Data.un +
|
|
853
839
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
854
840
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
855
|
-
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
841
|
+
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
|
|
856
842
|
vl.key = i7Schluessel;
|
|
857
843
|
const facility = util_cim_model_1.UtilCimModel.createFacilityInstanceForPsr(cimModel, vl, cim_constants_1.CimAssetAliasNames.VoltageLevel, this.configUuid);
|
|
858
844
|
if (i7Data.baujahr) {
|
|
@@ -941,31 +927,23 @@ class ConverterIntegral7 {
|
|
|
941
927
|
});
|
|
942
928
|
}
|
|
943
929
|
convertKnotenSo(frame, integral7, standortIDs, defaultValuesConfig) {
|
|
944
|
-
var _a, _b;
|
|
945
930
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
946
931
|
const cimModel = frame.cimModel;
|
|
947
932
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
|
|
948
933
|
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), []));
|
|
950
934
|
for (const i7Data of result) {
|
|
951
|
-
const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
|
|
952
935
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
953
936
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
937
|
+
// const vl = new VoltageLevel(getUUID(i7Data.guid_v, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
954
938
|
const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), i7Data.bezeichner, i7Data.kurzname);
|
|
939
|
+
//const rdfid = getUUID(i7Data.guid); /**This is the mrid for TopologicalNode */
|
|
955
940
|
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
|
-
}
|
|
959
941
|
connectivityNode.setConnectivityNodeContainer(vl);
|
|
960
942
|
vl.addConnectivityNode(connectivityNode);
|
|
961
943
|
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;
|
|
963
944
|
if (frame.boundary) {
|
|
964
945
|
connectivityNode.boundaryPoint = true;
|
|
965
946
|
}
|
|
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);
|
|
969
947
|
const un = (0, utils_2.getU)(i7Data.un);
|
|
970
948
|
const baseVoltage = (0, util_create_1.createBaseVoltageIfNotExists)(cimModel, un, this.configUuid, this.exportFramesBoundary);
|
|
971
949
|
/** Spannungsband */
|
|
@@ -981,7 +959,7 @@ class ConverterIntegral7 {
|
|
|
981
959
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
982
960
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
983
961
|
vl.key = i7Schluessel;
|
|
984
|
-
connectivityNode.
|
|
962
|
+
connectivityNode.description = i7Schluessel;
|
|
985
963
|
}
|
|
986
964
|
else {
|
|
987
965
|
this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
|
|
@@ -1023,27 +1001,21 @@ class ConverterIntegral7 {
|
|
|
1023
1001
|
});
|
|
1024
1002
|
}
|
|
1025
1003
|
convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
|
|
1026
|
-
var _a, _b
|
|
1004
|
+
var _a, _b;
|
|
1027
1005
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1028
1006
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
|
|
1029
1007
|
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), []));
|
|
1031
1008
|
for (const i7Data of result) {
|
|
1032
1009
|
const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1033
|
-
const
|
|
1034
|
-
let saab = undefined;
|
|
1035
|
-
if (integral7.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
|
|
1036
|
-
saab = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1037
|
-
}
|
|
1010
|
+
//const rdfid: string = getUUID(i7Data.guid); /** this is the mrid for TopologicalNode*/
|
|
1038
1011
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
1039
1012
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, i7Data.bezeichner, i7Data.kurzname);
|
|
1040
1013
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
|
|
1041
1014
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1042
|
-
connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
|
|
1043
1015
|
const keyBusbarSection = [
|
|
1044
1016
|
integral_sql_1.I7Objects.SAMMELSCHIENE,
|
|
1045
|
-
(
|
|
1046
|
-
(
|
|
1017
|
+
(_a = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getUUID()) !== null && _a !== void 0 ? _a : '',
|
|
1018
|
+
(_b = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _b !== void 0 ? _b : ''
|
|
1047
1019
|
].join('');
|
|
1048
1020
|
const uuidBusbarSection = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.BusbarSection, this.configUuid, keyBusbarSection);
|
|
1049
1021
|
const busbarSection = new BusbarSection_1.BusbarSection(uuidBusbarSection, i7Data.bezeichner, i7Schaltanlagenabschnitt.kurzname);
|
|
@@ -1059,15 +1031,11 @@ class ConverterIntegral7 {
|
|
|
1059
1031
|
voltageLevel.highVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umax) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umax) : voltageLevel.highVoltageLimit;
|
|
1060
1032
|
// umin
|
|
1061
1033
|
voltageLevel.lowVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umin) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umin) : voltageLevel.lowVoltageLimit;
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
integral_prefix_1.SAMMELSCHIENENABSCHNITT_PRAEFIX +
|
|
1068
|
-
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
1069
|
-
connectivityNode.key = i7Schluessel;
|
|
1070
|
-
}
|
|
1034
|
+
/**const i7Schluessel = voltageLevel.substation.name +
|
|
1035
|
+
SAMMELSCHIENENABSCHNITT_PRAEFIX +
|
|
1036
|
+
ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
1037
|
+
busbarSection.description = i7Schluessel;
|
|
1038
|
+
connectivityNode.description = i7Schluessel;*/
|
|
1071
1039
|
/** Spannungsband */
|
|
1072
1040
|
integral7.targetVoltages.set(i7Data.id, { usoll: i7Data.usoll, umin: i7Data.umin, umax: i7Data.umax });
|
|
1073
1041
|
// TODO VoltageLimits?
|
|
@@ -1080,7 +1048,7 @@ class ConverterIntegral7 {
|
|
|
1080
1048
|
cimModel.addConnectivityNode(connectivityNode);
|
|
1081
1049
|
cimModel.addBusbarSection(busbarSection);
|
|
1082
1050
|
/** Integral 7 Modell erstellen zur Berechnung der Netzschema */
|
|
1083
|
-
if (
|
|
1051
|
+
if (integral7.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
|
|
1084
1052
|
integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt).ssab.push(i7Data);
|
|
1085
1053
|
}
|
|
1086
1054
|
}
|
|
@@ -1097,11 +1065,10 @@ class ConverterIntegral7 {
|
|
|
1097
1065
|
const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
|
|
1098
1066
|
for (const i7Data of result) {
|
|
1099
1067
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
|
|
1100
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid),
|
|
1101
|
-
if (bay
|
|
1068
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
|
|
1069
|
+
if (bay) {
|
|
1102
1070
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1103
1071
|
bay.addConnectivityNode(connectivityNode);
|
|
1104
|
-
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_SF_PRAEFIX + i7Data.bezeichner;
|
|
1105
1072
|
}
|
|
1106
1073
|
else {
|
|
1107
1074
|
this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1126,11 +1093,11 @@ class ConverterIntegral7 {
|
|
|
1126
1093
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
|
|
1127
1094
|
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);
|
|
1128
1095
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1129
|
-
const connectivityNode = new
|
|
1096
|
+
// const connectivityNode = new ConnectivityNode(getUUID(i7Data.guid, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data), '_CN']), 'knotenkf');
|
|
1097
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, i7Data.bezeichner, 'knotenkf');
|
|
1130
1098
|
if (bay) {
|
|
1131
1099
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1132
1100
|
bay.addConnectivityNode(connectivityNode);
|
|
1133
|
-
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_KF_PRAEFIX + i7Data.bezeichner;
|
|
1134
1101
|
}
|
|
1135
1102
|
else {
|
|
1136
1103
|
this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1153,12 +1120,11 @@ class ConverterIntegral7 {
|
|
|
1153
1120
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
|
|
1154
1121
|
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);
|
|
1155
1122
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1156
|
-
const
|
|
1157
|
-
const connectivityNode = new
|
|
1123
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, i7Data.bezeichner, 'KnotenLk');
|
|
1124
|
+
// const connectivityNode = new ConnectivityNode(CommonUtils.generateUUID(), createNotation([getName(i7Data), '_CN']), 'KnotenLk');
|
|
1158
1125
|
if (bay) {
|
|
1159
1126
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1160
1127
|
bay.addConnectivityNode(connectivityNode);
|
|
1161
|
-
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_LK_PRAEFIX + i7Data.bezeichner;
|
|
1162
1128
|
}
|
|
1163
1129
|
else {
|
|
1164
1130
|
this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1181,12 +1147,8 @@ class ConverterIntegral7 {
|
|
|
1181
1147
|
const key = integral_sql_1.I7Objects.SCHLAUFE + String(i7Data.id);
|
|
1182
1148
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
|
|
1183
1149
|
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
|
-
}
|
|
1187
1150
|
terminal.connected = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
|
|
1188
1151
|
terminal.phases = PhaseCode_1.PhaseCode.ABC;
|
|
1189
|
-
terminal.key = integral_prefix_1.SCHLAUFE_PRAEFIX + i7Data.bezeichner;
|
|
1190
1152
|
this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1191
1153
|
this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1192
1154
|
integral7.kontenZwIDs.push(i7Data.knotenzw);
|
|
@@ -1292,101 +1254,6 @@ class ConverterIntegral7 {
|
|
|
1292
1254
|
}
|
|
1293
1255
|
});
|
|
1294
1256
|
}
|
|
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
|
-
}
|
|
1390
1257
|
convertErsatzQuerZweige(cimModel, targetVoltages, knotenSfIDs, targetClass) {
|
|
1391
1258
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1392
1259
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
|
|
@@ -1419,9 +1286,6 @@ class ConverterIntegral7 {
|
|
|
1419
1286
|
for (const i7Data of result) {
|
|
1420
1287
|
const genType = this.generatorTypen.get(i7Data.nametyp);
|
|
1421
1288
|
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
|
-
}
|
|
1425
1289
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
1426
1290
|
const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : undefined;
|
|
1427
1291
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
@@ -1523,7 +1387,7 @@ class ConverterIntegral7 {
|
|
|
1523
1387
|
const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
|
|
1524
1388
|
// AMP I7 Profil
|
|
1525
1389
|
synchronousMachine.cos_phi = i7Data.cos_phi;
|
|
1526
|
-
if (synchronousMachine.getUUID() === '
|
|
1390
|
+
if (synchronousMachine.getUUID() === '03ee3f18-9984-48eb-bc26-09e8c182fbda') {
|
|
1527
1391
|
let stop = true;
|
|
1528
1392
|
}
|
|
1529
1393
|
if (synchronousMachine.getUUID() === 'f6d81d19-dca0-48e9-a43e-4ab1f6bf697d') {
|
|
@@ -1575,7 +1439,7 @@ class ConverterIntegral7 {
|
|
|
1575
1439
|
// synchronousMachine.voltageRegulationRange: number;
|
|
1576
1440
|
/** Create ReactiveCapabilityCurves */
|
|
1577
1441
|
if (minP !== undefined && maxP !== undefined && minQvonPmin !== undefined && maxQvonPmax !== undefined) {
|
|
1578
|
-
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData',
|
|
1442
|
+
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData', synchronousMachine.mrid, '_RCC']));
|
|
1579
1443
|
reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
1580
1444
|
reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
1581
1445
|
reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -1658,9 +1522,6 @@ class ConverterIntegral7 {
|
|
|
1658
1522
|
// TODO: genControlSource is not required.
|
|
1659
1523
|
//generatingUnit.genControlSource = GeneratorControlSource.onAGC;
|
|
1660
1524
|
/**Complete GeneratingUnit data */
|
|
1661
|
-
if (generatingUnit.getUUID() === '70810e1e74aa4359b387bef9158f4767' || synchronousMachine.getUUID() === '70810e1e74aa4359b387bef9158f4767') {
|
|
1662
|
-
const stop = true;
|
|
1663
|
-
}
|
|
1664
1525
|
generatingUnit.initialP = (0, parser_utils_1.isNumericI7)(i7Data.p0) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p0) : undefined;
|
|
1665
1526
|
// generatingUnit.longPF
|
|
1666
1527
|
// generatingUnit.maximumAllowableSpinningReserve
|
|
@@ -1812,7 +1673,7 @@ class ConverterIntegral7 {
|
|
|
1812
1673
|
//EQ core profile content
|
|
1813
1674
|
const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1814
1675
|
if (connectivityNode) {
|
|
1815
|
-
|
|
1676
|
+
(0, util_create_1.createConnection)(cimModel, asynchronousMachine, connectivityNode, PhaseCode_1.PhaseCode.ABC);
|
|
1816
1677
|
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1817
1678
|
if (equipmentContainer) {
|
|
1818
1679
|
equipmentContainer.addEquipment(asynchronousMachine);
|
|
@@ -2075,12 +1936,12 @@ class ConverterIntegral7 {
|
|
|
2075
1936
|
}
|
|
2076
1937
|
else if (flag_lfl || flag_ks) {
|
|
2077
1938
|
equivalentInjection.regulationCapability = false;
|
|
2078
|
-
equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ?
|
|
2079
|
-
equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ?
|
|
2080
|
-
equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ?
|
|
2081
|
-
equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ?
|
|
2082
|
-
equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ?
|
|
2083
|
-
equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ?
|
|
1939
|
+
equivalentInjection.r = (0, parser_utils_1.isNumericI7)(r1) ? 1e9 : r1;
|
|
1940
|
+
equivalentInjection.r0 = (0, parser_utils_1.isNumericI7)(r0) ? 1e9 : r0;
|
|
1941
|
+
equivalentInjection.r2 = (0, parser_utils_1.isNumericI7)(r1) ? 1e9 : r1;
|
|
1942
|
+
equivalentInjection.x = (0, parser_utils_1.isNumericI7)(x1) ? 1e9 : x1;
|
|
1943
|
+
equivalentInjection.x0 = (0, parser_utils_1.isNumericI7)(x0) ? 1e9 : x0;
|
|
1944
|
+
equivalentInjection.x2 = (0, parser_utils_1.isNumericI7)(x1) ? 1e9 : x1;
|
|
2084
1945
|
}
|
|
2085
1946
|
/** Export Extended Ward equivalent with no voltage regulation */
|
|
2086
1947
|
else if (((r_ext !== undefined && r_ext !== 0) || (x_ext !== undefined && x_ext !== 0))) {
|
|
@@ -2376,9 +2237,6 @@ class ConverterIntegral7 {
|
|
|
2376
2237
|
const qr = (0, parser_utils_1.isNumericI7)(i7Data.qr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qr) : undefined;
|
|
2377
2238
|
const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2378
2239
|
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
|
-
}
|
|
2382
2240
|
// Set electrical properties (EQ core)
|
|
2383
2241
|
if ((0, parser_utils_1.isNumericI7)(i7Data.aktstufe) && (0, parser_utils_1.isNumericI7)(i7Data.maxstufe)) {
|
|
2384
2242
|
shunt.sections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
|
|
@@ -2518,7 +2376,7 @@ class ConverterIntegral7 {
|
|
|
2518
2376
|
/** EQ */
|
|
2519
2377
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2520
2378
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2521
|
-
statVarCom.slope =
|
|
2379
|
+
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2522
2380
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2523
2381
|
statVarCom.aggregate = false;
|
|
2524
2382
|
/** EQ-SC */
|
|
@@ -2527,6 +2385,7 @@ class ConverterIntegral7 {
|
|
|
2527
2385
|
/** SV */
|
|
2528
2386
|
//statVarCom.svpowerflow
|
|
2529
2387
|
/** Regelung */
|
|
2388
|
+
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid_rc);
|
|
2530
2389
|
const regulatingControl = this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, targetVoltages, undefined, true);
|
|
2531
2390
|
/** EQ */
|
|
2532
2391
|
if (regulatingControl) {
|
|
@@ -2554,7 +2413,7 @@ class ConverterIntegral7 {
|
|
|
2554
2413
|
/** EQ */
|
|
2555
2414
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2556
2415
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2557
|
-
statVarCom.slope =
|
|
2416
|
+
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2558
2417
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2559
2418
|
statVarCom.aggregate = false;
|
|
2560
2419
|
/** EQ-SC */
|
|
@@ -2566,11 +2425,11 @@ class ConverterIntegral7 {
|
|
|
2566
2425
|
/** EQ */
|
|
2567
2426
|
statVarCom.voltageSetPoint = regulatingControl.targetValue ? regulatingControl.targetValue : ur;
|
|
2568
2427
|
cimModel.addStaticVarCompensator(statVarCom);
|
|
2569
|
-
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.
|
|
2428
|
+
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.STATCOM);
|
|
2570
2429
|
}
|
|
2571
2430
|
}
|
|
2572
2431
|
else {
|
|
2573
|
-
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.
|
|
2432
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
|
|
2574
2433
|
}
|
|
2575
2434
|
});
|
|
2576
2435
|
}
|
|
@@ -2623,10 +2482,9 @@ class ConverterIntegral7 {
|
|
|
2623
2482
|
csConverter.ratedIdc = (0, utils_2.calculateRatedIdc)(csConverter.ratedUdc, pr);
|
|
2624
2483
|
/** spannungsabhängige Wirk-Verluste in kW bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2625
2484
|
csConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2626
|
-
csConverter.maxUdc = csConverter.ratedUdc * 1.
|
|
2627
|
-
csConverter.minUdc = csConverter.ratedUdc * 0.
|
|
2628
|
-
|
|
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;
|
|
2485
|
+
csConverter.maxUdc = csConverter.ratedUdc * 1.05; // +5% * ratedUdc
|
|
2486
|
+
csConverter.minUdc = csConverter.ratedUdc * 0.95; // -5% * ratedUdc
|
|
2487
|
+
csConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, -3) : undefined;
|
|
2630
2488
|
csConverter.switchingLoss = 0;
|
|
2631
2489
|
/* csConverter.numberOfValves
|
|
2632
2490
|
csConverter.valveU0*/
|
|
@@ -2720,21 +2578,21 @@ class ConverterIntegral7 {
|
|
|
2720
2578
|
/** Bemessungsleistung (Gleichstromseite) in MW
|
|
2721
2579
|
* im CS-Fall S = P?
|
|
2722
2580
|
* Abhängig vom */
|
|
2723
|
-
vsConverter.baseS =
|
|
2581
|
+
vsConverter.baseS = i7Data.pr;
|
|
2724
2582
|
/** Bemessungsspannung (Gleichstromseite) in kV*/
|
|
2725
2583
|
//If udc is set in Integral data model set converter.ratedUdc as i7Data.udc else take the data value for i7Data.ur (Bemessungsspannung)
|
|
2726
2584
|
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);
|
|
2727
|
-
/** spannungsabhängige Wirk-Verluste
|
|
2585
|
+
/** spannungsabhängige Wirk-Verluste bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2728
2586
|
vsConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2729
|
-
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +
|
|
2730
|
-
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -
|
|
2731
|
-
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ?
|
|
2587
|
+
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +5% * ratedUdc
|
|
2588
|
+
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -5% * ratedUdc
|
|
2589
|
+
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, -3) : undefined;
|
|
2732
2590
|
vsConverter.switchingLoss = undefined;
|
|
2733
2591
|
/* csConverter.maxModulationIndex = ;
|
|
2734
2592
|
csConverter.maxValveCurrent = */
|
|
2735
2593
|
/** CapabilityCurveData */
|
|
2736
|
-
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) :
|
|
2737
|
-
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) :
|
|
2594
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
2595
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : undefined;
|
|
2738
2596
|
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
2739
2597
|
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
2740
2598
|
/** SSH export values */
|
|
@@ -2757,11 +2615,11 @@ class ConverterIntegral7 {
|
|
|
2757
2615
|
vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2758
2616
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
2759
2617
|
dcNode.dcTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2760
|
-
/** Create
|
|
2618
|
+
/** Create ReactiveCapabilityCurves */
|
|
2761
2619
|
if (minP !== undefined && maxP !== undefined && minQ != undefined && maxQ !== undefined) {
|
|
2762
2620
|
let keyVsCapabilityCurve = cim_class_names_1.ClassNames.VsCapabilityCurve + i7Data.id + vsConverter.getUUID();
|
|
2763
2621
|
let uuidVsCapabilityCurve = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VsCapabilityCurve, this.configUuid, keyVsCapabilityCurve);
|
|
2764
|
-
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData',
|
|
2622
|
+
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2765
2623
|
vsCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
2766
2624
|
vsCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
2767
2625
|
vsCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -2772,7 +2630,7 @@ class ConverterIntegral7 {
|
|
|
2772
2630
|
const curveData1 = new CurveData_1.CurveData(uuidCurveData);
|
|
2773
2631
|
curveData1.curve = vsCapabilityCurve;
|
|
2774
2632
|
curveData1.xvalue = minP; //pMin
|
|
2775
|
-
curveData1.y1value = minQ; //qMin
|
|
2633
|
+
curveData1.y1value = minQ; //qMin
|
|
2776
2634
|
curveData1.y2value = maxQ; //qMax pMin
|
|
2777
2635
|
cimModel.addCurveData(curveData1);
|
|
2778
2636
|
//reactive capability curve data for pmax
|
|
@@ -2782,7 +2640,7 @@ class ConverterIntegral7 {
|
|
|
2782
2640
|
curveData2.curve = vsCapabilityCurve;
|
|
2783
2641
|
curveData2.xvalue = maxP; //pMax
|
|
2784
2642
|
curveData2.y1value = minQ; //qMin pMax
|
|
2785
|
-
curveData2.y2value = maxQ; //
|
|
2643
|
+
curveData2.y2value = maxQ; //qMin pMax
|
|
2786
2644
|
cimModel.addCurveData(curveData2);
|
|
2787
2645
|
cimModel.addVsCapabilityCurve(vsCapabilityCurve);
|
|
2788
2646
|
vsConverter.capabilityCurve = vsCapabilityCurve;
|
|
@@ -2905,6 +2763,7 @@ class ConverterIntegral7 {
|
|
|
2905
2763
|
if (i7Data.guid === '_ab64e281-72d0-45fb-8cb3-da4ae99a4f8c') {
|
|
2906
2764
|
const stop = true;
|
|
2907
2765
|
}
|
|
2766
|
+
let einspeisePrioritaet = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
|
|
2908
2767
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
2909
2768
|
externalNetworkInjection.maxP = maxP;
|
|
2910
2769
|
const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
@@ -2936,10 +2795,9 @@ class ConverterIntegral7 {
|
|
|
2936
2795
|
const skAkt = (0, parser_utils_1.isNumericI7)(i7Data.sk_akt) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_akt) : undefined;
|
|
2937
2796
|
const skMin = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_min) : skAkt;
|
|
2938
2797
|
const skMax = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_max) : skAkt;
|
|
2939
|
-
const
|
|
2940
|
-
const minIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, utils_2.calculateShortCircuitCurrent)(skMin, nomV) : undefined;
|
|
2798
|
+
const minIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, parser_utils_1.convertToNumberI7)(skMin) / Math.sqrt(3) * skMin : undefined;
|
|
2941
2799
|
externalNetworkInjection.minInitialSymShCCurrent = minIkSecond;
|
|
2942
|
-
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0,
|
|
2800
|
+
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, parser_utils_1.convertToNumberI7)(skMax) / Math.sqrt(3) * skMax : undefined;
|
|
2943
2801
|
externalNetworkInjection.maxInitialSymShCCurrent = maxIkSecond;
|
|
2944
2802
|
const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
|
|
2945
2803
|
/** Convert SSH-profile dataset. */
|
|
@@ -3002,9 +2860,6 @@ class ConverterIntegral7 {
|
|
|
3002
2860
|
if (condEquip instanceof RotatingMachine_1.RotatingMachine || condEquip instanceof ExternalNetworkInjection_1.ExternalNetworkInjection || condEquip instanceof EquivalentInjection_1.EquivalentInjection) {
|
|
3003
2861
|
i7DataEinsp = i7Data;
|
|
3004
2862
|
i7DataRQ = i7Data;
|
|
3005
|
-
if (condEquip.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F' || condEquip.getUUID() === '0c67bf21-a557-46ea-af63-2a3ac116bd2e') {
|
|
3006
|
-
const stop = true;
|
|
3007
|
-
}
|
|
3008
2863
|
}
|
|
3009
2864
|
if (condEquip instanceof SynchronousMachine_1.SynchronousMachine) {
|
|
3010
2865
|
suffix = '_SM';
|
|
@@ -3025,26 +2880,16 @@ class ConverterIntegral7 {
|
|
|
3025
2880
|
suffix = '_EI';
|
|
3026
2881
|
}
|
|
3027
2882
|
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
|
-
}
|
|
3032
2883
|
i7DataSVC = i7Data;
|
|
3033
2884
|
i7DataRQ = i7Data;
|
|
3034
2885
|
suffix = '_SVC';
|
|
3035
2886
|
}
|
|
3036
2887
|
else if (condEquip instanceof LinearShuntCompensator_1.LinearShuntCompensator) {
|
|
3037
|
-
if (condEquip.getUUID() === '547B9591-C41B-4496-9954-2215B8945124') {
|
|
3038
|
-
let stop = true;
|
|
3039
|
-
}
|
|
3040
2888
|
i7DataKomp = i7Data;
|
|
3041
2889
|
i7DataRQ = i7Data;
|
|
3042
2890
|
suffix = '_LSC';
|
|
3043
2891
|
}
|
|
3044
2892
|
else if (condEquip instanceof ACDCConverter_1.ACDCConverter) {
|
|
3045
|
-
if (condEquip.getUUID() === '71331a6b-000d-4049-89cc-9319a69367f6') {
|
|
3046
|
-
let stop = true;
|
|
3047
|
-
}
|
|
3048
2893
|
i7DataHgue = i7Data;
|
|
3049
2894
|
suffix = '_ACDCC';
|
|
3050
2895
|
}
|
|
@@ -3081,61 +2926,62 @@ class ConverterIntegral7 {
|
|
|
3081
2926
|
let tVMax = undefined; //maximum target voltage
|
|
3082
2927
|
let tVMin = undefined; //minimum target voltage
|
|
3083
2928
|
const regCondEquip = condEquip;
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
2929
|
+
if (spannungsregelungLokal || spannungsregelungRemote) {
|
|
2930
|
+
//get rated voltage of controlled node.
|
|
2931
|
+
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
2932
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
2933
|
+
if (cterminal === undefined) {
|
|
2934
|
+
let stop = true;
|
|
2935
|
+
}
|
|
2936
|
+
if (cterminal) {
|
|
2937
|
+
tCn = cterminal.getConnectivityNode();
|
|
2938
|
+
if (tCn) {
|
|
2939
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
2940
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
2941
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
2942
|
+
}
|
|
2943
|
+
else {
|
|
2944
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2945
|
+
}
|
|
3096
2946
|
}
|
|
3097
2947
|
else {
|
|
3098
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id}
|
|
2948
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Anschlusspunkt (Terminal) des entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3099
2949
|
}
|
|
3100
2950
|
}
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
2951
|
+
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
2952
|
+
switch (knotenSpgGeregelt) {
|
|
2953
|
+
case undefined: {
|
|
2954
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
2955
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
2956
|
+
}
|
|
2957
|
+
if (cterminal === undefined) {
|
|
2958
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
2959
|
+
}
|
|
2960
|
+
break;
|
|
3110
2961
|
}
|
|
3111
|
-
|
|
3112
|
-
cterminal = (0, util_graph2tree_1.getControlledNode)(
|
|
2962
|
+
default: {
|
|
2963
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3113
2964
|
}
|
|
3114
|
-
break;
|
|
3115
2965
|
}
|
|
3116
|
-
|
|
3117
|
-
|
|
2966
|
+
if (cterminal) {
|
|
2967
|
+
tCn = cterminal.getConnectivityNode();
|
|
2968
|
+
if (tCn) {
|
|
2969
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
2970
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
2971
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
2972
|
+
}
|
|
2973
|
+
else {
|
|
2974
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
2975
|
+
}
|
|
3118
2976
|
}
|
|
3119
2977
|
}
|
|
3120
|
-
|
|
3121
|
-
|
|
2978
|
+
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;
|
|
2979
|
+
if (uband === undefined) {
|
|
3122
2980
|
if (tCn) {
|
|
3123
|
-
|
|
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.`);
|
|
2981
|
+
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3129
2982
|
}
|
|
3130
2983
|
}
|
|
3131
2984
|
}
|
|
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;
|
|
3139
2985
|
//Create and define regulating control for voltage control
|
|
3140
2986
|
if (cterminal !== undefined) {
|
|
3141
2987
|
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);
|
|
@@ -3148,9 +2994,6 @@ class ConverterIntegral7 {
|
|
|
3148
2994
|
rControl.targetDeadband = (0, parser_utils_1.isNumericI7)(uband) ? uband : undefined; //zulässiges Spannungsband
|
|
3149
2995
|
/** Spannung in kilo*/
|
|
3150
2996
|
//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
|
-
}
|
|
3154
2997
|
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());
|
|
3155
2998
|
const guidSuffix = (_a = tCn === null || tCn === void 0 ? void 0 : tCn.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getUUID().substring(0, 8);
|
|
3156
2999
|
rControl.name = (0, util_create_1.createNotation)([rControl.name, '_', guidSuffix, '_RC'], 32, true);
|
|
@@ -3166,7 +3009,7 @@ class ConverterIntegral7 {
|
|
|
3166
3009
|
}
|
|
3167
3010
|
}
|
|
3168
3011
|
}
|
|
3169
|
-
else if (isRegulatingControl && i7DataSVC
|
|
3012
|
+
else if (isRegulatingControl && i7DataSVC) {
|
|
3170
3013
|
/** Regelung */
|
|
3171
3014
|
const regCondEquip = condEquip;
|
|
3172
3015
|
const cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
@@ -3187,12 +3030,12 @@ class ConverterIntegral7 {
|
|
|
3187
3030
|
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;
|
|
3188
3031
|
if (uband === undefined) {
|
|
3189
3032
|
if (tCn) {
|
|
3190
|
-
uband =
|
|
3033
|
+
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3191
3034
|
}
|
|
3192
3035
|
}
|
|
3193
3036
|
if (cterminal !== undefined) {
|
|
3194
3037
|
const uuid = (0, parser_utils_1.getUUID)(i7DataSVC.guid_rc);
|
|
3195
|
-
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]),
|
|
3038
|
+
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]), inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage);
|
|
3196
3039
|
rControl.enabled = true;
|
|
3197
3040
|
if (isStatcom) {
|
|
3198
3041
|
rControl.discrete = true;
|
|
@@ -3265,23 +3108,20 @@ class ConverterIntegral7 {
|
|
|
3265
3108
|
usoll = (0, parser_utils_1.isNumericI7)(i7DataHgue.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.usoll) : undefined;
|
|
3266
3109
|
if (regelungU) {
|
|
3267
3110
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.udc;
|
|
3268
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3269
|
-
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3111
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3270
3112
|
}
|
|
3271
3113
|
else if (regelungP) {
|
|
3272
3114
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
|
|
3273
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3115
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3274
3116
|
}
|
|
3275
|
-
if (
|
|
3117
|
+
if ((spannungsregelungLokal || spannungsregelungRemote) && usoll == undefined) {
|
|
3118
|
+
//get rated voltage of controlled node.
|
|
3276
3119
|
let cterminal = undefined; //connection point terminal of this device
|
|
3277
3120
|
let tVMax = undefined; //maximum target voltage
|
|
3278
3121
|
let tVMin = undefined; //minimum target voltage
|
|
3279
|
-
//get
|
|
3122
|
+
//get target voltage of controlled node.
|
|
3280
3123
|
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3281
3124
|
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3282
|
-
if (cterminal === undefined) {
|
|
3283
|
-
let stop = true;
|
|
3284
|
-
}
|
|
3285
3125
|
if (cterminal) {
|
|
3286
3126
|
tCn = cterminal.getConnectivityNode();
|
|
3287
3127
|
if (tCn) {
|
|
@@ -3300,9 +3140,7 @@ class ConverterIntegral7 {
|
|
|
3300
3140
|
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3301
3141
|
switch (knotenSpgGeregelt) {
|
|
3302
3142
|
case undefined: {
|
|
3303
|
-
|
|
3304
|
-
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3305
|
-
}
|
|
3143
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3306
3144
|
if (cterminal === undefined) {
|
|
3307
3145
|
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
3308
3146
|
}
|
|
@@ -3324,10 +3162,10 @@ class ConverterIntegral7 {
|
|
|
3324
3162
|
}
|
|
3325
3163
|
}
|
|
3326
3164
|
}
|
|
3327
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3328
3165
|
}
|
|
3329
3166
|
condEquip.targetUpcc = usoll;
|
|
3330
|
-
|
|
3167
|
+
condEquip.targetQpcc = 0; //ReactivePower, TODO: define ReactivePowerCapabilityCurve
|
|
3168
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3331
3169
|
condEquip.targetPpcc = condEquip.baseS * -1;
|
|
3332
3170
|
}
|
|
3333
3171
|
}
|
|
@@ -3427,10 +3265,47 @@ class ConverterIntegral7 {
|
|
|
3427
3265
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
|
|
3428
3266
|
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));
|
|
3429
3267
|
for (const i7Data of result) {
|
|
3268
|
+
//const junction = new Junction(getUUID(i7Data.guid, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data),"_J",`_${cimModel.junctions]), 'JNCT', 'starre Verbindung');
|
|
3430
3269
|
const breaker = new Breaker_1.Breaker((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, 'Breaker', 'starre Verbindung');
|
|
3431
3270
|
yield this.convertSwitch(breaker, cimModel, i7Data);
|
|
3432
3271
|
cimModel.addBreaker(breaker);
|
|
3433
3272
|
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
3273
|
+
/**const schaltzustand = convertToBooleanI7(i7Data.schaltzustand);
|
|
3274
|
+
|
|
3275
|
+
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)) as EquipmentContainer);
|
|
3276
|
+
|
|
3277
|
+
if (equipmentContainer) {
|
|
3278
|
+
equipmentContainer.addEquipment(junction);
|
|
3279
|
+
junction.equipmentContainer = equipmentContainer;
|
|
3280
|
+
} else {
|
|
3281
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3282
|
+
}
|
|
3283
|
+
const cnStart = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
|
|
3284
|
+
const cnZiel = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
|
|
3285
|
+
|
|
3286
|
+
if (cnStart) {
|
|
3287
|
+
const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode.ABC, true, 1);
|
|
3288
|
+
if (schaltzustand === false) {
|
|
3289
|
+
terminal.connected = schaltzustand;
|
|
3290
|
+
}
|
|
3291
|
+
} else {
|
|
3292
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
3293
|
+
}
|
|
3294
|
+
if (cnZiel) {
|
|
3295
|
+
const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode.ABC, true, 2);
|
|
3296
|
+
if (schaltzustand === false) {
|
|
3297
|
+
terminal.connected = schaltzustand;
|
|
3298
|
+
}
|
|
3299
|
+
} else {
|
|
3300
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
3301
|
+
}
|
|
3302
|
+
const baseVoltage = getTerminalUn(cimModel, junction);
|
|
3303
|
+
if (baseVoltage) {
|
|
3304
|
+
junction.baseVoltage = baseVoltage;
|
|
3305
|
+
}
|
|
3306
|
+
this.addIdMapping(i7Data.id, junction.mrid, Integral7TableNames.KNOTEN_STARR);
|
|
3307
|
+
cimModel.addJunction(junction);
|
|
3308
|
+
**/
|
|
3434
3309
|
}
|
|
3435
3310
|
}
|
|
3436
3311
|
else {
|
|
@@ -3539,7 +3414,7 @@ class ConverterIntegral7 {
|
|
|
3539
3414
|
const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
|
|
3540
3415
|
let startTerminal;
|
|
3541
3416
|
if (start) {
|
|
3542
|
-
startTerminal =
|
|
3417
|
+
startTerminal = (0, util_create_1.createConnection)(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, 1);
|
|
3543
3418
|
}
|
|
3544
3419
|
else {
|
|
3545
3420
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
@@ -3548,7 +3423,7 @@ class ConverterIntegral7 {
|
|
|
3548
3423
|
const target = cimModel.objects.get(this.integralID2UUID.get(i7Data.eknoten));
|
|
3549
3424
|
let targetTerminal;
|
|
3550
3425
|
if (target) {
|
|
3551
|
-
targetTerminal =
|
|
3426
|
+
targetTerminal = (0, util_create_1.createConnection)(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, 2);
|
|
3552
3427
|
}
|
|
3553
3428
|
else {
|
|
3554
3429
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
@@ -3565,7 +3440,7 @@ class ConverterIntegral7 {
|
|
|
3565
3440
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3566
3441
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3567
3442
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3568
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir
|
|
3443
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir);
|
|
3569
3444
|
seriesCompensator.varistorPresent = false;
|
|
3570
3445
|
/** EQ-SC */
|
|
3571
3446
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
@@ -3651,8 +3526,8 @@ class ConverterIntegral7 {
|
|
|
3651
3526
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3652
3527
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3653
3528
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3654
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1
|
|
3655
|
-
|
|
3529
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1);
|
|
3530
|
+
seriesCompensator.varistorPresent = false;
|
|
3656
3531
|
/** EQ-SC */
|
|
3657
3532
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
3658
3533
|
seriesCompensator.x0 = seriesCompensator.x;
|
|
@@ -3717,14 +3592,28 @@ class ConverterIntegral7 {
|
|
|
3717
3592
|
for (const i7DataSchiene of stpSchiene) {
|
|
3718
3593
|
try {
|
|
3719
3594
|
stpSchieneIDs.push(i7DataSchiene.id);
|
|
3720
|
-
const
|
|
3595
|
+
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7DataSchiene.id)));
|
|
3596
|
+
const keyConnectivityNode = cim_class_names_1.ClassNames.ConnectivityNode + i7DataSchiene.id + (equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getUUID()) || '';
|
|
3721
3597
|
const uuidConnectivityNode = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, keyConnectivityNode);
|
|
3722
|
-
const
|
|
3723
|
-
const
|
|
3724
|
-
|
|
3598
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuidConnectivityNode, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_CN']));
|
|
3599
|
+
const keyJunction = cim_class_names_1.ClassNames.Junction + i7DataSchiene.id + (equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getUUID()) || '';
|
|
3600
|
+
const uuidJunction = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Junction, this.configUuid, keyJunction);
|
|
3601
|
+
const junction = new Junction_1.Junction(uuidJunction, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_J']));
|
|
3602
|
+
connectivityNode.setConnectivityNodeContainer(equipmentContainer);
|
|
3603
|
+
if (equipmentContainer) {
|
|
3604
|
+
equipmentContainer.addEquipment(junction);
|
|
3605
|
+
junction.equipmentContainer = equipmentContainer;
|
|
3606
|
+
}
|
|
3607
|
+
else {
|
|
3608
|
+
this.logger.debug(`Sternpunktschiene ${i7DataSchiene.id} besitzt keinen EquipmentContainer.`);
|
|
3609
|
+
}
|
|
3725
3610
|
// Verbindung herstellen
|
|
3726
|
-
|
|
3611
|
+
const terminal = this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.N, true);
|
|
3612
|
+
cimModel.terminals.delete(terminal.mrid); //TODO: complete/repair implementation of star point connections.
|
|
3727
3613
|
integral7.sternPunktImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
|
|
3614
|
+
integral7.sternPunktImpModel.junctions.set(junction.mrid, junction);
|
|
3615
|
+
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
|
|
3616
|
+
integral7.sternPunktImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
|
|
3728
3617
|
this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
|
|
3729
3618
|
}
|
|
3730
3619
|
catch (e) {
|
|
@@ -3739,63 +3628,41 @@ class ConverterIntegral7 {
|
|
|
3739
3628
|
}));
|
|
3740
3629
|
});
|
|
3741
3630
|
}
|
|
3742
|
-
convertKdrossel(cimModel, integral7,
|
|
3631
|
+
convertKdrossel(cimModel, integral7, stpScheinenID) {
|
|
3743
3632
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3744
3633
|
try {
|
|
3745
3634
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
|
|
3746
|
-
if (
|
|
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),
|
|
3635
|
+
if (stpScheinenID.length) {
|
|
3636
|
+
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), stpScheinenID));
|
|
3748
3637
|
for (const i7Data of result) {
|
|
3749
3638
|
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);
|
|
3753
3639
|
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);
|
|
3754
3640
|
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);
|
|
3755
3641
|
const connectivityNode = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
3756
|
-
|
|
3757
|
-
|
|
3642
|
+
const junctionUUID = integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get((i7Data.anschluss));
|
|
3643
|
+
let conductingEquip;
|
|
3644
|
+
if (imax && imin) {
|
|
3758
3645
|
/** PetersenCoil */
|
|
3759
3646
|
const petersenCoil = new PetersenCoil_1.PetersenCoil((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
3760
|
-
|
|
3761
|
-
|
|
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;
|
|
3647
|
+
integral7.sternPunktImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
|
|
3648
|
+
integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
|
|
3779
3649
|
this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3780
3650
|
conductingEquip = petersenCoil;
|
|
3781
3651
|
}
|
|
3782
3652
|
else {
|
|
3783
3653
|
/** GroundingImpedance */
|
|
3784
3654
|
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);
|
|
3785
|
-
groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ?
|
|
3786
|
-
groundingImpedance.x = xne;
|
|
3655
|
+
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);
|
|
3656
|
+
groundingImpedance.x = (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);
|
|
3787
3657
|
integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
|
|
3788
|
-
|
|
3658
|
+
integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
3789
3659
|
this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3790
3660
|
conductingEquip = groundingImpedance;
|
|
3791
3661
|
}
|
|
3792
|
-
//
|
|
3662
|
+
// Verbindung herstellen
|
|
3793
3663
|
if (connectivityNode) {
|
|
3794
|
-
this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true);
|
|
3795
|
-
|
|
3796
|
-
}
|
|
3797
|
-
else {
|
|
3798
|
-
integral7.sternPunktImpModel.stpKnotenStpImp.set(i7Data.anschluss, conductingEquip);
|
|
3664
|
+
const terminal = this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true);
|
|
3665
|
+
cimModel.terminals.delete(terminal.mrid); //TODO: complete/repair implementation of star point connections.
|
|
3799
3666
|
}
|
|
3800
3667
|
}
|
|
3801
3668
|
}
|
|
@@ -3816,37 +3683,26 @@ class ConverterIntegral7 {
|
|
|
3816
3683
|
});
|
|
3817
3684
|
}
|
|
3818
3685
|
/** Den Schaltzuszand bestimmen und zuvor angelegten (convertSternpunktSchienen) Terminalinstanz zuweisen. */
|
|
3819
|
-
convertStpSchaltelemente(
|
|
3686
|
+
convertStpSchaltelemente(integral7, stpSchienenID) {
|
|
3820
3687
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3821
3688
|
try {
|
|
3822
3689
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
|
|
3823
|
-
if (stpSchienenID
|
|
3690
|
+
if (stpSchienenID.length) {
|
|
3824
3691
|
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));
|
|
3825
3692
|
for (const i7Data of result) {
|
|
3826
|
-
const
|
|
3827
|
-
|
|
3828
|
-
|
|
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);
|
|
3693
|
+
const terminal = integral7.sternPunktImpModel.stpSchieneTerminal.get(i7Data.eknoten);
|
|
3694
|
+
if (terminal) {
|
|
3695
|
+
terminal.connected = (0, parser_utils_1.isBooleanI7)(i7Data.schaltzustand) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand) : true;
|
|
3847
3696
|
}
|
|
3697
|
+
/** SchaltelementID mit Junstion UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
3698
|
+
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.id, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3699
|
+
/** Sternpunktknoten mit Junstion UUID verknüpfen, um Topologie der AssetElemente herstellen zu können */
|
|
3700
|
+
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.aknoten, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3848
3701
|
}
|
|
3849
3702
|
}
|
|
3703
|
+
else {
|
|
3704
|
+
this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
|
|
3705
|
+
}
|
|
3850
3706
|
}
|
|
3851
3707
|
else {
|
|
3852
3708
|
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
|
|
@@ -3964,7 +3820,6 @@ class ConverterIntegral7 {
|
|
|
3964
3820
|
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));
|
|
3965
3821
|
}
|
|
3966
3822
|
for (const i7Data of result) {
|
|
3967
|
-
let lineNames = new Map;
|
|
3968
3823
|
/** Alle Stromkreisabschnitte */
|
|
3969
3824
|
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
3970
3825
|
if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
|
|
@@ -3988,9 +3843,8 @@ class ConverterIntegral7 {
|
|
|
3988
3843
|
'-' +
|
|
3989
3844
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
|
|
3990
3845
|
/** Wenn kein Stromkreisobjekt vorhanden ist, dann erstelle ein neues Objekt. */
|
|
3991
|
-
const uuidString =
|
|
3992
|
-
|
|
3993
|
-
const line = new AMPRIONLine_1.AMPRIONLine(uuidString, lineName);
|
|
3846
|
+
const uuidString = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
3847
|
+
const line = new AMPRIONLine_1.AMPRIONLine(uuidString, i7Schluessel);
|
|
3994
3848
|
line.ukz = i7Data.ukz;
|
|
3995
3849
|
line.key = i7Schluessel;
|
|
3996
3850
|
let acLineSegments = [];
|
|
@@ -4003,7 +3857,7 @@ class ConverterIntegral7 {
|
|
|
4003
3857
|
'-' +
|
|
4004
3858
|
(0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
|
|
4005
3859
|
const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
|
|
4006
|
-
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname,
|
|
3860
|
+
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname, i7Schluessel);
|
|
4007
3861
|
const key = acLineSegment.getUUID();
|
|
4008
3862
|
const uuidWireObject = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.EVWireObject, this.configUuid, key);
|
|
4009
3863
|
acLineSegment.key = i7Schluessel;
|
|
@@ -4066,7 +3920,7 @@ class ConverterIntegral7 {
|
|
|
4066
3920
|
/**Connectivity Node to connect end of line and start of neighbouring line.*/
|
|
4067
3921
|
const key = acLineSegment1.getUUID() + acLineSegment2.getUUID();
|
|
4068
3922
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
4069
|
-
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.getUUID().substring(0, 8), '_CN'], 32,
|
|
3923
|
+
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.name, '_', acLineSegment1.getUUID().substring(0, 8), '_CN'], 32, true));
|
|
4070
3924
|
/**Connect end of aclinesegment i*/
|
|
4071
3925
|
cn.connectivityNodeContainer = acLineSegment1.equipmentContainer;
|
|
4072
3926
|
tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
@@ -4125,6 +3979,7 @@ class ConverterIntegral7 {
|
|
|
4125
3979
|
/** In any case assign Georegion to aclinesegments */
|
|
4126
3980
|
let idx = 0;
|
|
4127
3981
|
while (idx < acLineSegments.length && !(line.subGeographicalRegion)) {
|
|
3982
|
+
let jdx = 0;
|
|
4128
3983
|
let values = acLineSegments[idx].terminals.values();
|
|
4129
3984
|
let tmp_terminal = values.next();
|
|
4130
3985
|
while (tmp_terminal.value && !(line.subGeographicalRegion)) {
|
|
@@ -4194,9 +4049,6 @@ class ConverterIntegral7 {
|
|
|
4194
4049
|
let dcLineNeutral = undefined;
|
|
4195
4050
|
const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
|
|
4196
4051
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4197
|
-
if (dcLine.getUUID() === 'f125f0f3-a621-43e7-8af7-9873d52239a0') {
|
|
4198
|
-
const stop = true;
|
|
4199
|
-
}
|
|
4200
4052
|
/** operationMode der Anfangs- und Zielkopfstation setzen */
|
|
4201
4053
|
let converterStart = false;
|
|
4202
4054
|
let converterStartNeg = false;
|
|
@@ -4211,7 +4063,7 @@ class ConverterIntegral7 {
|
|
|
4211
4063
|
let dcNodeStartMiddle = undefined;
|
|
4212
4064
|
let dcNodeTargetMiddle = undefined;
|
|
4213
4065
|
//Parameter "guidp" is available for monopolar and bipolar dc systems. Thus create DCLineSegment with positive sign property in any case.
|
|
4214
|
-
const dcLineSegment = new DCLineSegment_1.
|
|
4066
|
+
const dcLineSegment = new DCLineSegment_1.DCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidp, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
|
|
4215
4067
|
dcLineSegmentSet.push(dcLineSegment);
|
|
4216
4068
|
let dcLineSegmentNeg = undefined;
|
|
4217
4069
|
let dcLineSegmentNeutral = undefined;
|
|
@@ -4220,21 +4072,19 @@ class ConverterIntegral7 {
|
|
|
4220
4072
|
dcLineSegment.capacitance = undefined;
|
|
4221
4073
|
dcLineSegment.inductance = undefined;
|
|
4222
4074
|
/**EQ: given directly by the INTEGRAL system model */
|
|
4223
|
-
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (
|
|
4224
|
-
dcLineSegment.ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
4075
|
+
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4225
4076
|
dcLineSegment.equipmentContainer = dcLine;
|
|
4226
4077
|
//create second dcLineSegment in case this dcLine is a bipol.
|
|
4227
4078
|
if (bipole) {
|
|
4228
4079
|
const dcLineKey = dcLine.getUUID();
|
|
4229
4080
|
const dcLineUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4230
4081
|
dcLineNeg = new DCLine_1.DCLine(dcLineUuid, i7Data.bezeichner);
|
|
4231
|
-
dcLineSegmentNeg = new DCLineSegment_1.
|
|
4082
|
+
dcLineSegmentNeg = new DCLineSegment_1.DCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, (0, util_create_1.createNotation)([i7Data.kurzname, '_neg'], 12, true), i7Schluessel);
|
|
4232
4083
|
dcLineSegmentSet.push(dcLineSegmentNeg);
|
|
4233
4084
|
dcLineSegmentNeg.length = dcLineSegment.length;
|
|
4234
4085
|
dcLineSegmentNeg.capacitance = undefined;
|
|
4235
4086
|
dcLineSegmentNeg.inductance = undefined;
|
|
4236
|
-
dcLineSegmentNeg.resistance =
|
|
4237
|
-
dcLineSegmentNeg.ur = dcLineSegment.ur;
|
|
4087
|
+
dcLineSegmentNeg.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4238
4088
|
dcLineSegmentNeg.equipmentContainer = dcLineNeg;
|
|
4239
4089
|
}
|
|
4240
4090
|
//create metallic return
|
|
@@ -4242,13 +4092,12 @@ class ConverterIntegral7 {
|
|
|
4242
4092
|
const dcLineNeutralUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4243
4093
|
const dcLineSegmentUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLineSegment, this.configUuid, dcLineNeutralUuid);
|
|
4244
4094
|
dcLineNeutral = new DCLine_1.DCLine(dcLineNeutralUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCL']));
|
|
4245
|
-
dcLineSegmentNeutral = new DCLineSegment_1.
|
|
4095
|
+
dcLineSegmentNeutral = new DCLineSegment_1.DCLineSegment(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);
|
|
4246
4096
|
dcLineSegmentSet.push(dcLineSegmentNeutral);
|
|
4247
4097
|
dcLineSegmentNeutral.length = dcLineSegment.length;
|
|
4248
4098
|
dcLineSegmentNeutral.capacitance = undefined;
|
|
4249
4099
|
dcLineSegmentNeutral.inductance = undefined;
|
|
4250
|
-
dcLineSegmentNeutral.resistance =
|
|
4251
|
-
dcLineSegmentNeutral.ur = dcLineSegment.ur;
|
|
4100
|
+
dcLineSegmentNeutral.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4252
4101
|
dcLineSegmentNeutral.equipmentContainer = dcLineNeutral;
|
|
4253
4102
|
//get ACDCConverter at both ends of DCLine
|
|
4254
4103
|
const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) ? cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) : undefined;
|
|
@@ -4426,10 +4275,8 @@ class ConverterIntegral7 {
|
|
|
4426
4275
|
const equipmentKey = dcTerminal.getUUID();
|
|
4427
4276
|
for (const elem of dcTerminal.dcNode.dcTerminals.values()) {
|
|
4428
4277
|
if (elem instanceof ACDCConverterDCTerminal_1.ACDCConverterDCTerminal) {
|
|
4429
|
-
|
|
4430
|
-
|
|
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;
|
|
4278
|
+
const pR = elem.dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4279
|
+
const uR = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4433
4280
|
if (pR != undefined && uR != undefined) {
|
|
4434
4281
|
let ir = (pR * Math.pow(10, 6)) / (uR * Math.pow(10, 3)); //assumption: pr is BaseS
|
|
4435
4282
|
if (bipole) {
|
|
@@ -4489,7 +4336,6 @@ class ConverterIntegral7 {
|
|
|
4489
4336
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4490
4337
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4491
4338
|
typTrafo.r00r2 = i7Data.r00r2;
|
|
4492
|
-
typTrafo.s_dauer = i7Data.s_dauer;
|
|
4493
4339
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4494
4340
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4495
4341
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4541,9 +4387,6 @@ class ConverterIntegral7 {
|
|
|
4541
4387
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4542
4388
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4543
4389
|
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;
|
|
4547
4390
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4548
4391
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr1, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4549
4392
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4662,18 +4505,30 @@ class ConverterIntegral7 {
|
|
|
4662
4505
|
integral_prefix_1.TRAFO2W_PRAEFIX +
|
|
4663
4506
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4664
4507
|
powerTransformer.key = i7Schluessel;
|
|
4665
|
-
if (powerTransformer.getUUID() === '
|
|
4508
|
+
if (powerTransformer.getUUID() === '515508dc-5982-4686-ad26-08d39db91421') {
|
|
4666
4509
|
let stop = true;
|
|
4667
|
-
}
|
|
4510
|
+
} // kein Typ in D4
|
|
4511
|
+
if (powerTransformer.getUUID() === '012416f2d9584971baa93360fcf40be2') {
|
|
4512
|
+
let stop = true;
|
|
4513
|
+
} //Typ in D8
|
|
4514
|
+
if (powerTransformer.getUUID() === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') {
|
|
4515
|
+
let stop = true;
|
|
4516
|
+
} //kein Typ in BE
|
|
4517
|
+
if (powerTransformer.getUUID() === '11e7be86-8bb7-41ba-898a-74cd5e8efbb9') {
|
|
4518
|
+
let stop = true;
|
|
4519
|
+
} //Typ in D7
|
|
4668
4520
|
if (powerTransformer.getUUID() === '8eca3fedd32c49369f8946ac4ce70e17') { //Stufenstellerkonvertierung fehlgeschlagen
|
|
4669
4521
|
let stop = true;
|
|
4670
4522
|
}
|
|
4671
4523
|
if (powerTransformer.getUUID() === 'b9d8bd48e1554af7b6153c1f7da052e1') {
|
|
4672
4524
|
let stop = true;
|
|
4673
4525
|
} //Phasenschieber zu falscher Winkel und falsches stepIncrement.
|
|
4674
|
-
if (powerTransformer.getUUID() === '
|
|
4526
|
+
if (powerTransformer.getUUID() === '2ACF34B9-9DC9-4607-9B8A-032EBC2C31A5') {
|
|
4675
4527
|
let stop = true;
|
|
4676
4528
|
} //Längsregeltransformator mit symmetrischem Phasenschieber.
|
|
4529
|
+
if (i7Data.nametyp) {
|
|
4530
|
+
const stop = true;
|
|
4531
|
+
}
|
|
4677
4532
|
const powerTransformerInfo = this.cimModelDefault.getPowerTransformerInfoByName(i7Data.nametyp);
|
|
4678
4533
|
if (powerTransformerInfo) {
|
|
4679
4534
|
facility.setAssetInfo(powerTransformerInfo);
|
|
@@ -4691,13 +4546,12 @@ class ConverterIntegral7 {
|
|
|
4691
4546
|
// Wicklung 1
|
|
4692
4547
|
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}`);
|
|
4693
4548
|
powerTransformerEnd1.endNumber = 1;
|
|
4694
|
-
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo,
|
|
4695
|
-
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo,
|
|
4549
|
+
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '12', false);
|
|
4550
|
+
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '12', false);
|
|
4696
4551
|
const sr = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
|
|
4697
4552
|
const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4698
4553
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4699
|
-
const
|
|
4700
|
-
const sdauer2 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 2, false);
|
|
4554
|
+
const sdauer = (0, parser_utils_1.isNumericI7)(i7Data.s_dauer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.s_dauer) : sr;
|
|
4701
4555
|
// P0 Lastverluste im I7 Modell p_leer
|
|
4702
4556
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4703
4557
|
// Leerlaufverluste
|
|
@@ -4745,7 +4599,7 @@ class ConverterIntegral7 {
|
|
|
4745
4599
|
const startTerminal = start ? this.createConnection(cimModel, powerTransformer, start, PhaseCode.ABC, true, 1) : undefined;*/
|
|
4746
4600
|
if (!startTerminal)
|
|
4747
4601
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
4748
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7,
|
|
4602
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7, sdauer, i7Data, defaultValuesConfig);
|
|
4749
4603
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4750
4604
|
let equivalentInjection = undefined;
|
|
4751
4605
|
if (startTerminal) {
|
|
@@ -4777,7 +4631,7 @@ class ConverterIntegral7 {
|
|
|
4777
4631
|
const zielTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
|
|
4778
4632
|
if (!zielTerminal)
|
|
4779
4633
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
|
|
4780
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7,
|
|
4634
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7, undefined, i7Data, defaultValuesConfig);
|
|
4781
4635
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4782
4636
|
if (zielTerminal) {
|
|
4783
4637
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
|
|
@@ -4792,6 +4646,9 @@ class ConverterIntegral7 {
|
|
|
4792
4646
|
powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
4793
4647
|
powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
|
|
4794
4648
|
powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
4649
|
+
if (uuid === '402aec99-ba2c-42fa-b4ed-b4928901f47b') {
|
|
4650
|
+
let stop = true;
|
|
4651
|
+
}
|
|
4795
4652
|
// NullSystem Impedanzen (nur Reaktanzen)
|
|
4796
4653
|
let starconnectionCount = (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) <= 1 ? (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) : 1;
|
|
4797
4654
|
const retVal = (0, utils_2.calculateComplexZeroSequImpedanzenTrafo)([r0kr1, x0kr1, r0kr2, x0kr2], [r00r1, x00r1, r00r2, x00r2], [ur, ur2], starconnectionCount, powerTransformer);
|
|
@@ -4804,7 +4661,7 @@ class ConverterIntegral7 {
|
|
|
4804
4661
|
powerTransformerEnd2.x0 = zeroSequImpedanzWx.x02;
|
|
4805
4662
|
powerTransformerEnd2.r0 = zeroSequImpedanzWx.r02;
|
|
4806
4663
|
/** Transormator Anschlusspunkte nach Spannungsebene sortieren */
|
|
4807
|
-
|
|
4664
|
+
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
4808
4665
|
// TODO
|
|
4809
4666
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
4810
4667
|
* da sonst die Wicklungsnummern nicht mehr übereinstimmen könnten */
|
|
@@ -4878,9 +4735,6 @@ class ConverterIntegral7 {
|
|
|
4878
4735
|
for (const i7Data of result) {
|
|
4879
4736
|
const sternpunktKnotenMap = new Map();
|
|
4880
4737
|
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
|
-
}
|
|
4884
4738
|
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);
|
|
4885
4739
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
4886
4740
|
if (substation) {
|
|
@@ -4931,16 +4785,13 @@ class ConverterIntegral7 {
|
|
|
4931
4785
|
const ur1 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4932
4786
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4933
4787
|
const ur3 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 3);
|
|
4934
|
-
const sdauer1 = (0,
|
|
4935
|
-
const sdauer2 = (0,
|
|
4936
|
-
const sdauer3 = (0,
|
|
4788
|
+
const sdauer1 = (0, parser_utils_1.isNumericI7)(i7Data.s_dauer_1) ? (0, parser_utils_1.convertToNumberI7)(i7Data.s_dauer_1) : sr1;
|
|
4789
|
+
const sdauer2 = (0, parser_utils_1.isNumericI7)(i7Data.s_dauer_2) ? (0, parser_utils_1.convertToNumberI7)(i7Data.s_dauer_2) : sr2;
|
|
4790
|
+
const sdauer3 = (0, parser_utils_1.isNumericI7)(i7Data.s_dauer_3) ? (0, parser_utils_1.convertToNumberI7)(i7Data.s_dauer_3) : sr3;
|
|
4937
4791
|
//Leerlaufverluste in kW
|
|
4938
4792
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4939
4793
|
// Leerlaufstrom bezogen auf Wicklung mit dem grössten Sr in %
|
|
4940
4794
|
const iLeer = (0, utils_2.getTrafoIleer)(i7Data, powerTransformerInfo);
|
|
4941
|
-
if (powerTransformer.getUUID() === 'c589d314-fb31-4efb-a463-edd3cb508347') {
|
|
4942
|
-
const stop = true;
|
|
4943
|
-
}
|
|
4944
4795
|
if (powerTransformer.getUUID() === '3f58ef46-918f-44d4-8b53-d4078caa2d92') {
|
|
4945
4796
|
const stop = true;
|
|
4946
4797
|
}
|
|
@@ -4991,7 +4842,7 @@ class ConverterIntegral7 {
|
|
|
4991
4842
|
powerTransformerEnd1.r = impedanzW1.r;
|
|
4992
4843
|
powerTransformerEnd1.x = impedanzW1.x;
|
|
4993
4844
|
powerTransformerEnd1.g = impedanzW1.g;
|
|
4994
|
-
powerTransformerEnd1.b =
|
|
4845
|
+
powerTransformerEnd1.b = impedanzW1.b;
|
|
4995
4846
|
powerTransformerEnd1.ratedU = ur1;
|
|
4996
4847
|
powerTransformerEnd1.ratedS = sr1;
|
|
4997
4848
|
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, terminal1, sternpunktKnotenMap, integral7, sdauer1, i7Data, defaultValuesConfig, trafoWicklungen);
|
|
@@ -5038,7 +4889,7 @@ class ConverterIntegral7 {
|
|
|
5038
4889
|
powerTransformerEnd2.r = impedanzW2.r;
|
|
5039
4890
|
powerTransformerEnd2.x = impedanzW2.x;
|
|
5040
4891
|
powerTransformerEnd2.g = impedanzW2.g;
|
|
5041
|
-
powerTransformerEnd2.b =
|
|
4892
|
+
powerTransformerEnd2.b = impedanzW2.b;
|
|
5042
4893
|
powerTransformerEnd2.ratedS = sr2;
|
|
5043
4894
|
powerTransformerEnd2.ratedU = ur2;
|
|
5044
4895
|
powerTransformerEnd2.powerTransformer = powerTransformer;
|
|
@@ -5086,7 +4937,7 @@ class ConverterIntegral7 {
|
|
|
5086
4937
|
powerTransformerEnd3.r = impedanzW3.r;
|
|
5087
4938
|
powerTransformerEnd3.x = impedanzW3.x;
|
|
5088
4939
|
powerTransformerEnd3.g = impedanzW3.g;
|
|
5089
|
-
powerTransformerEnd3.b =
|
|
4940
|
+
powerTransformerEnd3.b = impedanzW3.b;
|
|
5090
4941
|
powerTransformerEnd3.ratedS = sr3;
|
|
5091
4942
|
powerTransformerEnd3.ratedU = ur3;
|
|
5092
4943
|
powerTransformerEnd3.powerTransformer = powerTransformer;
|
|
@@ -5118,15 +4969,6 @@ class ConverterIntegral7 {
|
|
|
5118
4969
|
powerTransformerEnd3.r0 = zeroSequImpedanzWx.r03;
|
|
5119
4970
|
// Transormator Anschlusspunkte nach Spannungsebene sortieren
|
|
5120
4971
|
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
|
-
}
|
|
5130
4972
|
//TODO
|
|
5131
4973
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
5132
4974
|
* da sonst die Wicklungsnummern, nicht mehr übereinstimmen könnten */
|
|
@@ -5321,8 +5163,10 @@ class ConverterIntegral7 {
|
|
|
5321
5163
|
sortTransformerEnd(powerTransformer, sortProperty, order) {
|
|
5322
5164
|
// Store current order of power transformer ends.
|
|
5323
5165
|
let winding_guids = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5166
|
+
let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5324
5167
|
for (let i = 0; i < powerTransformer.powerTransformerEnd.length; i++) {
|
|
5325
5168
|
winding_guids[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5169
|
+
winding_guids_fixed[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5326
5170
|
}
|
|
5327
5171
|
//Sort: This step maybe changes power transformer ends order for this power transformer.
|
|
5328
5172
|
powerTransformer.powerTransformerEnd.sort(function (w1, w2) {
|
|
@@ -5346,19 +5190,8 @@ class ConverterIntegral7 {
|
|
|
5346
5190
|
// const isNull = true;
|
|
5347
5191
|
//}
|
|
5348
5192
|
}
|
|
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
|
|
5354
5193
|
}
|
|
5355
5194
|
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
|
-
}
|
|
5362
5195
|
if ((0, parser_utils_1.isBooleanI7)(data.flag_impedanzlos) && (0, parser_utils_1.convertToBooleanI7)(data.flag_impedanzlos)) {
|
|
5363
5196
|
data.flag_impedanzlos = 1;
|
|
5364
5197
|
}
|
|
@@ -5459,8 +5292,8 @@ class ConverterIntegral7 {
|
|
|
5459
5292
|
* @param equipmentKey Generierung einer persistenter UUID v5. Für PowerTransformer wird UUID des PowerTransformerEnds verwendet. Andernfalls die UUID des ConductingEquipments
|
|
5460
5293
|
* */
|
|
5461
5294
|
setConductingEquipmentOperationalLimit(cimModel, name, terminal, equipmentKey, limit, limitType, igrenz) {
|
|
5462
|
-
if (
|
|
5463
|
-
return;
|
|
5295
|
+
if ((limit !== undefined && limit > 0) && (igrenz !== undefined && igrenz > 0))
|
|
5296
|
+
return;
|
|
5464
5297
|
/** OperationalLimitSet erstellen */
|
|
5465
5298
|
const operationalLimitSetKey = terminal.getUUID() + equipmentKey;
|
|
5466
5299
|
const operationalLimitSetUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.OperationalLimitSet, this.configUuid, operationalLimitSetKey);
|
|
@@ -5545,9 +5378,6 @@ class ConverterIntegral7 {
|
|
|
5545
5378
|
terminal.name = (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
5546
5379
|
}
|
|
5547
5380
|
}
|
|
5548
|
-
if (terminal !== undefined && terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
5549
|
-
const stop = true;
|
|
5550
|
-
}
|
|
5551
5381
|
return terminal;
|
|
5552
5382
|
}
|
|
5553
5383
|
createBoundaryConnection(frame, conductingEquipment, i7ObjectID, phase) {
|
|
@@ -6064,7 +5894,7 @@ class ConverterIntegral7 {
|
|
|
6064
5894
|
// Topologie
|
|
6065
5895
|
powerTransformerEnd.terminal = terminal;
|
|
6066
5896
|
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);
|
|
6067
|
-
if (powerTransformer.getUUID() === '
|
|
5897
|
+
if (powerTransformer.getUUID() === '4d14cd95-215c-45f3-8136-b06d69ee0191') {
|
|
6068
5898
|
const stop = true;
|
|
6069
5899
|
}
|
|
6070
5900
|
let isTrafo2w = i7Data.trafowicklung3w3 === undefined ? true : false;
|
|
@@ -6120,34 +5950,36 @@ class ConverterIntegral7 {
|
|
|
6120
5950
|
}
|
|
6121
5951
|
convertTapChangers(i7Data, transformerEnds, cimModel, transformerinfo, connectivityNode, spannungsband) {
|
|
6122
5952
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
6123
|
-
if
|
|
6124
|
-
|
|
6125
|
-
}
|
|
6126
|
-
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '2e8057ed695147f9903023cb5e9d4a0c') { //Zeile55 - SR und LR'
|
|
6127
|
-
let stop = true;
|
|
5953
|
+
/*if(getUUID(i7Data.guid) === '11e7be86-8bb7-41ba-898a-74cd5e8efbb9'){ //Zeile50
|
|
5954
|
+
let stop = true; DONE
|
|
6128
5955
|
}
|
|
6129
|
-
if
|
|
5956
|
+
if(getUUID(i7Data.guid) === '1239F03C-ED5B-4FDF-9453-D97E611FCC36'){ //Zeile52 - Datenfehler: Transformatoren mit definierter Zusatzspannung und Stufungsbereich, jedoch 'Stufensteller nicht vorhanden'
|
|
5957
|
+
let stop = true; DONE
|
|
5958
|
+
}*/
|
|
5959
|
+
/*if(getUUID(i7Data.guid)=== 'CFDAA56A-A0DA-4C5B-92CC-21138B6D6D07'){ //Standard LR
|
|
5960
|
+
let stop = true;
|
|
5961
|
+
}*/
|
|
5962
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') { //Zeile53 - Typ Meeden'
|
|
6130
5963
|
let stop = true;
|
|
6131
5964
|
}
|
|
6132
|
-
if
|
|
5965
|
+
/*if(getUUID(i7Data.guid) === '012416f2d9584971baa93360fcf40be2'){ //Zeile55 - SR statt LR'
|
|
5966
|
+
let stop = true;
|
|
5967
|
+
}*/
|
|
5968
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '515508dc-5982-4686-ad26-08d39db91421') { //Zeile81 - SR statt LR'
|
|
6133
5969
|
let stop = true;
|
|
6134
5970
|
}
|
|
5971
|
+
/*if(getUUID(i7Data.guid) === '5ec82d14-ee64-43b6-86ff-c7615d96f7ad'){ //Zeile58
|
|
5972
|
+
let stop = true;
|
|
5973
|
+
}*/
|
|
6135
5974
|
let ratioPhaseTapChangerPresent = false;
|
|
6136
5975
|
//Check if tap changer exists. (power transformer winding)
|
|
6137
5976
|
let tapChangerNumberI7 = []; //Number of tap changer
|
|
6138
5977
|
let tapChangerNumber = [];
|
|
6139
|
-
//
|
|
5978
|
+
//let transformerEndInfo:EVPowerTransformerEndInfo[] = [];
|
|
6140
5979
|
for (let tapChangerPos = 1; tapChangerPos <= 2; tapChangerPos++) {
|
|
6141
5980
|
if ((0, parser_utils_1.isNumericI7)(i7Data[`gestufte_seite_s${tapChangerPos}`])) {
|
|
6142
|
-
|
|
6143
|
-
|
|
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
|
-
}
|
|
5981
|
+
tapChangerNumberI7.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
5982
|
+
tapChangerNumber.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
6151
5983
|
}
|
|
6152
5984
|
}
|
|
6153
5985
|
//collect information about tap changers (type)
|
|
@@ -6162,15 +5994,15 @@ class ConverterIntegral7 {
|
|
|
6162
5994
|
//If there is a phase tap changer and a ratio tap changer reorder the tap changers to process ratio tap changer first.
|
|
6163
5995
|
let index = undefined;
|
|
6164
5996
|
if (tapChangerNumberI7.length > 1) {
|
|
6165
|
-
for (let
|
|
5997
|
+
for (let entry of tapChangerNumberI7) {
|
|
6166
5998
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
6167
|
-
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber ===
|
|
5999
|
+
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber === entry);
|
|
6168
6000
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
6169
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
6170
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6001
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${entry}`])
|
|
6002
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${entry}`])
|
|
6171
6003
|
: (_e = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _e === void 0 ? void 0 : _e.value;
|
|
6172
|
-
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) &&
|
|
6173
|
-
index =
|
|
6004
|
+
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) && tapChangerNumberI7.indexOf(entry) > 0) {
|
|
6005
|
+
index = tapChangerNumberI7.indexOf(entry);
|
|
6174
6006
|
ratioPhaseTapChangerPresent = true;
|
|
6175
6007
|
}
|
|
6176
6008
|
}
|
|
@@ -6180,15 +6012,15 @@ class ConverterIntegral7 {
|
|
|
6180
6012
|
tapChangerNumber[1] = tapChangerNumberI7[0];
|
|
6181
6013
|
}
|
|
6182
6014
|
/** I7 Modell max. 2 Stufenschalter */
|
|
6183
|
-
for (let
|
|
6015
|
+
for (let entry of tapChangerNumber) {
|
|
6184
6016
|
/**
|
|
6185
6017
|
* 0 Oberspannungsseite
|
|
6186
6018
|
* 1 Seite 1
|
|
6187
6019
|
* 2 Seite 2
|
|
6188
6020
|
* - Stufenschalter nicht vorhanden
|
|
6189
6021
|
*/
|
|
6190
|
-
let entryI7 =
|
|
6191
|
-
let gestufteSeite = tapChangerNumberI7[
|
|
6022
|
+
let entryI7 = tapChangerNumberI7.indexOf(entry) + 1;
|
|
6023
|
+
let gestufteSeite = tapChangerNumberI7[entryI7 - 1];
|
|
6192
6024
|
const transformerEndInfo = (_f = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _f === void 0 ? void 0 : _f.find(elem => elem.endNumber === entryI7);
|
|
6193
6025
|
const transformerEnd = transformerEnds.find(elem => elem.endNumber === entryI7);
|
|
6194
6026
|
if ((0, parser_utils_1.isNumericI7)(gestufteSeite)) {
|
|
@@ -6208,8 +6040,8 @@ class ConverterIntegral7 {
|
|
|
6208
6040
|
continue;
|
|
6209
6041
|
}
|
|
6210
6042
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
6211
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
6212
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6043
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${entryI7}`])
|
|
6044
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${entryI7}`])
|
|
6213
6045
|
: (_h = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _h === void 0 ? void 0 : _h.value;
|
|
6214
6046
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
6215
6047
|
//const neutralU = transformerEnd.ratedU;
|
|
@@ -6496,99 +6328,65 @@ class ConverterIntegral7 {
|
|
|
6496
6328
|
* @param sternpunktKnotenMap Map mit den Sterpunktknoten aus der I7 Datenbank
|
|
6497
6329
|
* */
|
|
6498
6330
|
convertTrafoGrounding(frame, powerTransformer, powerTransformerEnd, i7Modell, stpKnoten, defaultValuesConfig) {
|
|
6499
|
-
|
|
6500
|
-
|
|
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
|
-
*/
|
|
6331
|
+
var _a, _b, _c, _d, _e, _f;
|
|
6332
|
+
/** Trafo ist geerdet */
|
|
6508
6333
|
const cimModel = frame.cimModel;
|
|
6509
|
-
let groundDisconnectorUUID = undefined;
|
|
6510
|
-
let connectivityNodeN = undefined;
|
|
6511
|
-
let groundDisconnector = undefined;
|
|
6512
|
-
let voltageLevel = undefined;
|
|
6513
6334
|
if (stpKnoten) {
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6521
|
-
|
|
6522
|
-
|
|
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;
|
|
6335
|
+
const junctionUUID = i7Modell.sternPunktImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
|
|
6336
|
+
const junction = i7Modell.sternPunktImpModel.junctions.get(junctionUUID);
|
|
6337
|
+
powerTransformerEnd.grounded = true;
|
|
6338
|
+
// TODO
|
|
6339
|
+
powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
|
|
6340
|
+
if (!junctionUUID) {
|
|
6341
|
+
/** Fall 1 Wenn der Knoten kein Schaltelement hat, dann direkte Erdung */
|
|
6342
|
+
//TODO
|
|
6343
|
+
// rground und xground aus der default-config verwenden?
|
|
6344
|
+
powerTransformerEnd.xground = defaultValuesConfig.TransformerEnd.xground;
|
|
6581
6345
|
}
|
|
6582
6346
|
else {
|
|
6583
|
-
|
|
6347
|
+
/** Fall 2 Trafo ist über eine Sternpunktschiene geerdet
|
|
6348
|
+
* Nur Verbindung zur Junction herstellen */
|
|
6349
|
+
let terminal;
|
|
6350
|
+
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)) {
|
|
6351
|
+
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);
|
|
6352
|
+
terminal = this.createBoundaryConnection(frame, junction, i7ObjectID, PhaseCode_1.PhaseCode.ABC);
|
|
6353
|
+
}
|
|
6354
|
+
else {
|
|
6355
|
+
terminal = this.createConnection(cimModel, junction, (_e = powerTransformerEnd.terminal) === null || _e === void 0 ? void 0 : _e.connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
6356
|
+
}
|
|
6357
|
+
if (terminal) {
|
|
6358
|
+
terminal.name = 't_stp_trafo';
|
|
6359
|
+
if (junction)
|
|
6360
|
+
junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
|
|
6361
|
+
const pSpuleGroundImpedance = i7Modell.sternPunktImpModel.junctionUUIDstpImp.get(junctionUUID);
|
|
6362
|
+
/** EquipmentContainer - Voltage Level*/
|
|
6363
|
+
const voltageLevel = this.getVoltageLevelByVoltage((_f = powerTransformer.equipmentContainer) === null || _f === void 0 ? void 0 : _f.voltageLevels, powerTransformerEnd.ratedU);
|
|
6364
|
+
if (!voltageLevel) {
|
|
6365
|
+
this.logger.debug(`Trafo ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat kein EquipmentContainer`);
|
|
6366
|
+
}
|
|
6367
|
+
/** BaseVoltage */
|
|
6368
|
+
if (junction && voltageLevel) {
|
|
6369
|
+
junction.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6370
|
+
junction.equipmentContainer = voltageLevel;
|
|
6371
|
+
cimModel.addJunction(junction);
|
|
6372
|
+
}
|
|
6373
|
+
else {
|
|
6374
|
+
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine Junction ${junctionUUID} oder VoltageLevel`);
|
|
6375
|
+
}
|
|
6376
|
+
if (pSpuleGroundImpedance) {
|
|
6377
|
+
pSpuleGroundImpedance.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6378
|
+
pSpuleGroundImpedance.equipmentContainer = voltageLevel;
|
|
6379
|
+
cimModel.addGroundingImpedance(pSpuleGroundImpedance);
|
|
6380
|
+
}
|
|
6381
|
+
else {
|
|
6382
|
+
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine pSpuleGroundImpedance.`);
|
|
6383
|
+
}
|
|
6384
|
+
}
|
|
6385
|
+
else {
|
|
6386
|
+
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.`);
|
|
6387
|
+
}
|
|
6584
6388
|
}
|
|
6585
6389
|
}
|
|
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
|
-
}
|
|
6592
6390
|
}
|
|
6593
6391
|
/** Equipment grounding
|
|
6594
6392
|
* @param shnt ShuntCompensator object
|
|
@@ -6938,48 +6736,4 @@ function logExecutionTime(logger, startTime, text) {
|
|
|
6938
6736
|
logger.debug(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6939
6737
|
console.log(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6940
6738
|
}
|
|
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
|
-
}
|
|
6985
6739
|
//# sourceMappingURL=converter.integral7.js.map
|