@enervance/insight-cim-model 0.0.176 → 0.0.177
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/constants/cim-class-names.d.ts +5 -1
- package/dist/constants/cim-class-names.js +5 -1
- package/dist/constants/cim-class-names.js.map +1 -1
- package/dist/constants/rdf-xml.d.ts +2 -0
- package/dist/constants/rdf-xml.js +2 -0
- package/dist/constants/rdf-xml.js.map +1 -1
- package/dist/converter/integral7/config/integral-prefix.d.ts +4 -2
- package/dist/converter/integral7/config/integral-prefix.js +5 -3
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter.integral7.d.ts +6 -6
- package/dist/converter/integral7/converter.integral7.js +486 -303
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/data-manager.js +41 -3
- package/dist/converter/integral7/dl-convert/data-manager.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +3 -2
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js +1 -1
- package/dist/converter/integral7/dl-convert/dl-graphs/db-object-graph.js.map +1 -1
- package/dist/converter/integral7/dl-convert/executor.d.ts +1 -0
- package/dist/converter/integral7/dl-convert/executor.js +145 -143
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
- package/dist/converter/integral7/impedance.utils.d.ts +28 -0
- package/dist/converter/integral7/impedance.utils.js +144 -0
- package/dist/converter/integral7/impedance.utils.js.map +1 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +1 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +3 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +1 -1
- package/dist/converter/integral7/utils-cgmes-export.js +2 -0
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils-trafo3w.d.ts +8 -25
- package/dist/converter/integral7/utils-trafo3w.js +114 -127
- package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +6 -5
- package/dist/converter/integral7/utils.js +222 -63
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-geo.js +2 -2
- package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
- package/dist/interfaces/model/core/IACDCTerminal.d.ts +3 -0
- package/dist/interfaces/model/core/ITerminal.d.ts +0 -3
- package/dist/model/core/ACDCTerminal.d.ts +3 -0
- package/dist/model/core/ACDCTerminal.js +4 -0
- package/dist/model/core/ACDCTerminal.js.map +1 -1
- package/dist/model/core/ConductingEquipment.d.ts +1 -0
- package/dist/model/core/ConductingEquipment.js +3 -0
- package/dist/model/core/ConductingEquipment.js.map +1 -1
- package/dist/model/core/Curve.js +16 -18
- package/dist/model/core/Curve.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +0 -3
- package/dist/model/core/Terminal.js +0 -4
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/DCLine.js +17 -17
- package/dist/model/dc/DCLineSegment.js +25 -25
- package/dist/model/dc/VsCapabilityCurve.d.ts +10 -0
- package/dist/model/dc/VsCapabilityCurve.js +32 -0
- package/dist/model/dc/VsCapabilityCurve.js.map +1 -0
- package/dist/model/dc/VsConverter.d.ts +2 -0
- package/dist/model/dc/VsConverter.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +2 -2
- package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.d.ts +15 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js +29 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js.map +1 -1
- package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
- package/dist/model/loadmodel/LoadArea.js +21 -21
- package/dist/model/loadmodel/SubLoadArea.js +22 -22
- package/dist/model/operationallimits/OperationalLimitSet.d.ts +2 -2
- package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
- package/dist/model-container/model/ModelContainer.d.ts +5 -1
- package/dist/model-container/model/ModelContainer.js +18 -2
- package/dist/model-container/model/ModelContainer.js.map +1 -1
- package/dist/util/collection/util-graph2tree.d.ts +3 -0
- package/dist/util/collection/util-graph2tree.js +102 -19
- package/dist/util/collection/util-graph2tree.js.map +1 -1
- package/dist/util/util-create.d.ts +2 -1
- package/dist/util/util-create.js +163 -14
- package/dist/util/util-create.js.map +1 -1
- package/dist/utils2/model.modification.utils.js +2 -2
- package/dist/utils2/model.modification.utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -49,6 +49,11 @@ const INTEGRALPowerTransformerEndInfo_1 = require("../../model/extensions/integr
|
|
|
49
49
|
const INTEGRALPowerTransformer3WInfo_1 = require("../../model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js");
|
|
50
50
|
const INTEGRALTapChangerInfo_1 = require("../../model/extensions/integral/assetinfo/INTEGRALTapChangerInfo.js");
|
|
51
51
|
const EVWireInfo_1 = require("../../model/extensions/enervance/assetinfo/EVWireInfo.js");
|
|
52
|
+
const INTEGRALMultiplierFactor_1 = require("../../model/extensions/integral/common/INTEGRALMultiplierFactor.js");
|
|
53
|
+
const INTEGRALACLineSegment_1 = require("../../model/extensions/integral/wires/INTEGRALACLineSegment.js");
|
|
54
|
+
const INTEGRALAsynchronousMachine_1 = require("../../model/extensions/integral/wires/INTEGRALAsynchronousMachine.js");
|
|
55
|
+
const INTEGRALExternalNetworkInjection_1 = require("../../model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js");
|
|
56
|
+
const INTEGRALSynchronousMachine_1 = require("../../model/extensions/integral/wires/INTEGRALSynchronousMachine.js");
|
|
52
57
|
const GeneratingUnit_1 = require("../../model/generation/GeneratingUnit.js");
|
|
53
58
|
const GeneratorControlSource_1 = require("../../model/generation/GeneratorControlSource.js");
|
|
54
59
|
const HydroEnergyConversionKind_1 = require("../../model/generation/HydroEnergyConversionKind.js");
|
|
@@ -56,8 +61,8 @@ const HydroGeneratingUnit_1 = require("../../model/generation/HydroGeneratingUni
|
|
|
56
61
|
const NuclearGeneratingUnit_1 = require("../../model/generation/NuclearGeneratingUnit.js");
|
|
57
62
|
const SolarGeneratingUnit_1 = require("../../model/generation/SolarGeneratingUnit.js");
|
|
58
63
|
const ThermalGeneratingUnit_1 = require("../../model/generation/ThermalGeneratingUnit.js");
|
|
59
|
-
const WindGeneratingUnit_1 = require("../../model/generation/WindGeneratingUnit.js");
|
|
60
64
|
const WindGenUnitKind_1 = require("../../model/generation/WindGenUnitKind.js");
|
|
65
|
+
const WindGeneratingUnit_1 = require("../../model/generation/WindGeneratingUnit.js");
|
|
61
66
|
const ConformLoadGroup_1 = require("../../model/loadmodel/ConformLoadGroup.js");
|
|
62
67
|
const LoadArea_1 = require("../../model/loadmodel/LoadArea.js");
|
|
63
68
|
const SubLoadArea_1 = require("../../model/loadmodel/SubLoadArea.js");
|
|
@@ -93,17 +98,21 @@ const SynchronousMachineOperatingMode_1 = require("../../model/wires/Synchronous
|
|
|
93
98
|
const TapChangerControl_1 = require("../../model/wires/TapChangerControl.js");
|
|
94
99
|
const TransformerControlMode_1 = require("../../model/wires/TransformerControlMode.js");
|
|
95
100
|
const mysql_controller_1 = require("../../util/database/mysql-controller.js");
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
+
const INTEGRALModelContainer_1 = require("../../model-container/model/INTEGRALModelContainer.js");
|
|
102
|
+
const AngleDegrees_1 = require("../../model/domain/AngleDegrees.js");
|
|
103
|
+
const INTEGRALEquivalentInjection_1 = require("../../model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js");
|
|
104
|
+
const INTEGRALConformLoad_1 = require("../../model/extensions/integral/loadmodel/INTEGRALConformLoad.js");
|
|
105
|
+
const AsynchronousMachineKind_1 = require("../../model/wires/AsynchronousMachineKind.js");
|
|
106
|
+
const util_graph2tree_1 = require("../../util/collection/util-graph2tree.js");
|
|
101
107
|
const util_create_1 = require("../../util/util-create.js");
|
|
102
108
|
const utils_1 = require("../../util/utils.js");
|
|
109
|
+
const common_utils_1 = require("../../utils2/common.utils.js");
|
|
110
|
+
const parser_utils_1 = require("../../utils2/parser.utils.js");
|
|
103
111
|
const integral_prefix_1 = require("./config/integral-prefix.js");
|
|
104
112
|
const data_structures_i7_1 = require("./interface-i7/data-structures-i7.js");
|
|
105
113
|
const export_frame_i7_1 = require("./interface-i7/export-frame-i7.js");
|
|
106
114
|
const KnotenSo_1 = require("./model/integral/KnotenSo.js");
|
|
115
|
+
const Laengskupplung_1 = require("./model/integral/Laengskupplung.js");
|
|
107
116
|
const Leitung_1 = require("./model/integral/Leitung.js");
|
|
108
117
|
const Schaltanlage_1 = require("./model/integral/Schaltanlage.js");
|
|
109
118
|
const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt.js");
|
|
@@ -112,38 +121,31 @@ const Standort_1 = require("./model/integral/Standort.js");
|
|
|
112
121
|
const integral_sql_1 = require("./sql/integral.sql.js");
|
|
113
122
|
const utils_2 = require("./utils.js");
|
|
114
123
|
const utils_trafo3w_1 = require("./utils-trafo3w.js");
|
|
115
|
-
const
|
|
116
|
-
const Laengskupplung_1 = require("./model/integral/Laengskupplung.js");
|
|
117
|
-
const INTEGRALConformLoad_1 = require("../../model/extensions/integral/loadmodel/INTEGRALConformLoad.js");
|
|
118
|
-
const AngleDegrees_1 = require("../../model/domain/AngleDegrees.js");
|
|
119
|
-
const AsynchronousMachineKind_1 = require("../../model/wires/AsynchronousMachineKind.js");
|
|
120
|
-
const INTEGRALEquivalentInjection_1 = require("../../model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js");
|
|
121
|
-
const util_graph2tree_1 = require("../../util/collection/util-graph2tree.js");
|
|
122
|
-
const parser_utils_1 = require("../../utils2/parser.utils.js");
|
|
123
|
-
const common_utils_1 = require("../../utils2/common.utils.js");
|
|
124
|
-
const SVCControlMode_1 = require("../../model/wires/SVCControlMode.js");
|
|
124
|
+
const CsPpccControlKind_1 = require("../../model/dc/CsPpccControlKind.js");
|
|
125
125
|
const DCGround_1 = require("../../model/dc/DCGround.js");
|
|
126
|
+
const DCPolarityKind_1 = require("../../model/dc/DCPolarityKind.js");
|
|
127
|
+
const VsCapabilityCurve_1 = require("../../model/dc/VsCapabilityCurve.js");
|
|
126
128
|
const INTEGRALEquivalentBranch_1 = require("../../model/extensions/amprion/equivalents/INTEGRALEquivalentBranch.js");
|
|
127
|
-
const PhaseTapChangerLinear_1 = require("../../model/wires/PhaseTapChangerLinear.js");
|
|
128
129
|
const DCConverterUnit_1 = require("../../model/extensions/integral/dc/DCConverterUnit.js");
|
|
129
|
-
const
|
|
130
|
+
const ApparentPowerLimit_1 = require("../../model/operationallimits/ApparentPowerLimit.js");
|
|
131
|
+
const ControlAreaTypeKind_1 = require("../../model/operations/ControlAreaTypeKind.js");
|
|
132
|
+
const AsynchronousMachine_1 = require("../../model/wires/AsynchronousMachine.js");
|
|
133
|
+
const PhaseTapChangerLinear_1 = require("../../model/wires/PhaseTapChangerLinear.js");
|
|
130
134
|
const RotatingMachine_1 = require("../../model/wires/RotatingMachine.js");
|
|
135
|
+
const SVCControlMode_1 = require("../../model/wires/SVCControlMode.js");
|
|
131
136
|
const SynchronousMachine_1 = require("../../model/wires/SynchronousMachine.js");
|
|
132
|
-
const AsynchronousMachine_1 = require("../../model/wires/AsynchronousMachine.js");
|
|
133
|
-
const ControlAreaTypeKind_1 = require("../../model/operations/ControlAreaTypeKind.js");
|
|
134
|
-
const CsPpccControlKind_1 = require("../../model/dc/CsPpccControlKind.js");
|
|
135
|
-
const ApparentPowerLimit_1 = require("../../model/operationallimits/ApparentPowerLimit.js");
|
|
136
137
|
const executor_1 = require("./dl-convert/executor.js");
|
|
137
138
|
const Diagram_1 = require("../../model/diagram/Diagram.js");
|
|
138
|
-
const util_cim_model_1 = require("./util-cim.model.js");
|
|
139
139
|
const cim_constants_1 = require("../../constants/cim-constants.js");
|
|
140
140
|
const EVWireObject_1 = require("../../model/extensions/enervance/assets/EVWireObject.js");
|
|
141
141
|
const INTEGRALPowerTransformer2WInfo_1 = require("../../model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js");
|
|
142
|
+
const impedance_utils_1 = require("./impedance.utils.js");
|
|
143
|
+
const util_cim_model_1 = require("./util-cim.model.js");
|
|
142
144
|
class ConverterIntegral7 {
|
|
143
145
|
constructor() {
|
|
144
146
|
/** Exportnetze gemäß Konfiguration */
|
|
145
147
|
this.exportFrames = new Map();
|
|
146
|
-
/**
|
|
148
|
+
/** Grenznetz gemäß Konfiguration */
|
|
147
149
|
this.exportFramesBoundary = new Map();
|
|
148
150
|
/** ContainerModel mit Default-CIM-Instanzen */
|
|
149
151
|
this.cimModelDefault = new INTEGRALModelContainer_1.INTEGRALModelContainer();
|
|
@@ -539,84 +541,86 @@ class ConverterIntegral7 {
|
|
|
539
541
|
/**
|
|
540
542
|
* DL Profile
|
|
541
543
|
**/
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
const netz_knotensoIds = knotenSoIDs.map(knotenSoId => {
|
|
553
|
-
return { id: knotenSoId };
|
|
554
|
-
});
|
|
555
|
-
for (const entry of this.exportFramesBoundary.entries()) {
|
|
556
|
-
entry[1].integral7Modell.integralStandorte.forEach((_, key) => {
|
|
557
|
-
netz_standortIds.push({ id: key });
|
|
544
|
+
if (!frame.boundary) {
|
|
545
|
+
this.executor = new executor_1.Executor(this.mysqlController, this.configUuid);
|
|
546
|
+
yield this.executor.mergeDataFromIntegralID2UUID(this.integralID2UUID);
|
|
547
|
+
for (const boundaryFrame of this.exportFramesBoundary.values()) {
|
|
548
|
+
yield this.executor.mergeDataFromFrame(boundaryFrame);
|
|
549
|
+
}
|
|
550
|
+
yield this.executor.mergeDataFromFrame(frame);
|
|
551
|
+
yield this.executor.loadAllSchemaVariants();
|
|
552
|
+
const netz_standortIds = standortIDs.map(standortId => {
|
|
553
|
+
return { id: standortId };
|
|
558
554
|
});
|
|
559
|
-
|
|
560
|
-
|
|
555
|
+
const netz_knotensoIds = knotenSoIDs.map(knotenSoId => {
|
|
556
|
+
return { id: knotenSoId };
|
|
561
557
|
});
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
only: {
|
|
570
|
-
netz_standortIds,
|
|
571
|
-
netz_knotensoIds,
|
|
572
|
-
netz_schaltanlagenIds: schaltanlagenIDs.map(schaltanlagenId => {
|
|
573
|
-
return { id: schaltanlagenId };
|
|
574
|
-
}),
|
|
575
|
-
netz_saabschnittIds: schaltanlagenAbschnittIDs.map(schaltanlagenAbschnittId => {
|
|
576
|
-
return { id: schaltanlagenAbschnittId };
|
|
577
|
-
}),
|
|
578
|
-
netz_schaltfeldIds: schaltfeldIDs.map(schaltfeldId => {
|
|
579
|
-
return { id: schaltfeldId };
|
|
580
|
-
}),
|
|
581
|
-
netz_leitungIds: allLeitungIds.map(leitungId => {
|
|
582
|
-
return { id: leitungId };
|
|
583
|
-
})
|
|
558
|
+
for (const entry of this.exportFramesBoundary.entries()) {
|
|
559
|
+
entry[1].integral7Modell.currentSitesBoundary.forEach((_, key) => {
|
|
560
|
+
netz_standortIds.push({ id: key });
|
|
561
|
+
});
|
|
562
|
+
entry[1].integral7Modell.integralKnotenSo.forEach((_, key) => {
|
|
563
|
+
netz_knotensoIds.push({ id: key });
|
|
564
|
+
});
|
|
584
565
|
}
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
566
|
+
const netzLeitungIds = [...integral7Modell.integralLeitungen.keys()];
|
|
567
|
+
const netzHgueLeitungIds = [...integral7Modell.integralHgueLeitungIds.values()];
|
|
568
|
+
const netzErsatzlaengszweigIds = [...integral7Modell.integalErsatzLaengszweigIds.values()];
|
|
569
|
+
const netzStreckenlastIds = [...integral7Modell.integralLeitungen.values()].map(leitung => leitung.streckenlastId).filter(id => id !== undefined && id !== null);
|
|
570
|
+
const allLeitungIds = [...new Set([...netzLeitungIds, ...netzHgueLeitungIds, ...netzErsatzlaengszweigIds, ...netzStreckenlastIds]).values()];
|
|
571
|
+
const convertOptions = {
|
|
572
|
+
only: {
|
|
573
|
+
netz_standortIds,
|
|
574
|
+
netz_knotensoIds,
|
|
575
|
+
netz_schaltanlagenIds: schaltanlagenIDs.map(schaltanlagenId => {
|
|
576
|
+
return { id: schaltanlagenId };
|
|
577
|
+
}),
|
|
578
|
+
netz_saabschnittIds: schaltanlagenAbschnittIDs.map(schaltanlagenAbschnittId => {
|
|
579
|
+
return { id: schaltanlagenAbschnittId };
|
|
580
|
+
}),
|
|
581
|
+
netz_schaltfeldIds: schaltfeldIDs.map(schaltfeldId => {
|
|
582
|
+
return { id: schaltfeldId };
|
|
583
|
+
}),
|
|
584
|
+
netz_leitungIds: allLeitungIds.map(leitungId => {
|
|
585
|
+
return { id: leitungId };
|
|
586
|
+
})
|
|
587
|
+
}
|
|
588
|
+
};
|
|
589
|
+
const resultingObjects = yield this.executor.convert(convertOptions);
|
|
590
|
+
for (const resultingObject of resultingObjects) {
|
|
591
|
+
if (resultingObject instanceof Diagram_1.Diagram) {
|
|
592
|
+
// UUIDs von Diagram-Objekten werden aus I7 übernommen
|
|
593
|
+
frame.cimModel.addDiagram(resultingObject);
|
|
594
|
+
while (resultingObject.diagramElements.length > 0) {
|
|
595
|
+
const currentDiagramObject = resultingObject.diagramElements.pop();
|
|
596
|
+
// const diagramObject = resultingObject as DiagramObject;
|
|
597
|
+
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DiagramObject, this.configUuid, currentDiagramObject.getIdentifiedObjectUUID());
|
|
598
|
+
currentDiagramObject.mrid = uuid;
|
|
599
|
+
for (const diagramObjectPoint of currentDiagramObject.diagramObjectPoints) {
|
|
600
|
+
const key = uuid + String((_a = diagramObjectPoint.sequenceNumber) !== null && _a !== void 0 ? _a : 1);
|
|
601
|
+
const pointUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DiagramObjectPoint, this.configUuid, key);
|
|
602
|
+
diagramObjectPoint.mrid = pointUuid;
|
|
603
|
+
}
|
|
604
|
+
frame.cimModel.addDiagramObject(currentDiagramObject);
|
|
600
605
|
}
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
this.executor.dataManager.dbObjectKeyCimModelUuidGraph.purgeAll();
|
|
606
|
+
resultingObject.diagramElements = [];
|
|
607
|
+
// } else if (resultingObject instanceof DiagramObject) {
|
|
608
|
+
// // UUIDs gemäß UUID v5 generieren
|
|
609
|
+
// const diagramObject = resultingObject as DiagramObject;
|
|
610
|
+
// const uuid = CommonUtils.generateUUIDv5(ClassNames.DiagramObject, this.configUuid, diagramObject.getIdentifiedObjectUUID());
|
|
611
|
+
// diagramObject.mrid = uuid;
|
|
612
|
+
//
|
|
613
|
+
// for (const diagramObjectPoint of diagramObject.diagramObjectPoints) {
|
|
614
|
+
// const key = uuid + String(diagramObjectPoint.sequenceNumber ?? 1);
|
|
615
|
+
// const pointUuid = CommonUtils.generateUUIDv5(ClassNames.DiagramObjectPoint, this.configUuid, key);
|
|
616
|
+
// diagramObjectPoint.mrid = pointUuid;
|
|
617
|
+
// }
|
|
618
|
+
// frame.cimModel.addDiagramObject(resultingObject);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
this.executor.dataManager.cimModelGraph.purgeAll();
|
|
622
|
+
this.executor.dataManager.dbObjectKeyCimModelUuidGraph.purgeAll();
|
|
623
|
+
}
|
|
620
624
|
});
|
|
621
625
|
}
|
|
622
626
|
assignTerminalSequenceNumber(cimModel) {
|
|
@@ -900,7 +904,7 @@ class ConverterIntegral7 {
|
|
|
900
904
|
integral_prefix_1.SCHALTFELD_PRAEFIX +
|
|
901
905
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
902
906
|
const cimrdfid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
903
|
-
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid,
|
|
907
|
+
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', cimrdfid.substring(0, 8), '_B'], 32, true), i7Data.kurzname, i7Schluessel);
|
|
904
908
|
bay.key = i7Schluessel;
|
|
905
909
|
if (i7Data.feldnummer > 0) {
|
|
906
910
|
const stop = true;
|
|
@@ -933,7 +937,7 @@ class ConverterIntegral7 {
|
|
|
933
937
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
934
938
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
935
939
|
// const vl = new VoltageLevel(getUUID(i7Data.guid_v, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
936
|
-
const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
940
|
+
const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
937
941
|
//const rdfid = getUUID(i7Data.guid); /**This is the mrid for TopologicalNode */
|
|
938
942
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', rdfid.substring(0, 8), '_CN']), i7Data.kurzname, i7Data.kommentar);
|
|
939
943
|
connectivityNode.setConnectivityNodeContainer(vl);
|
|
@@ -970,6 +974,7 @@ class ConverterIntegral7 {
|
|
|
970
974
|
integral7.integralKnotenSo.set(i7Data.id, object);
|
|
971
975
|
object.standort = integral7.integralStandorte.get(object.standortid);
|
|
972
976
|
cimModel.addVoltageLevel(vl);
|
|
977
|
+
//cimModel.addBaseVoltage(baseVoltage);
|
|
973
978
|
cimModel.addConnectivityNode(connectivityNode);
|
|
974
979
|
this.checkAnschlussIDs(i7Data.id, integral7);
|
|
975
980
|
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SO);
|
|
@@ -1382,6 +1387,15 @@ class ConverterIntegral7 {
|
|
|
1382
1387
|
const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
|
|
1383
1388
|
// AMP I7 Profil
|
|
1384
1389
|
synchronousMachine.cos_phi = i7Data.cos_phi;
|
|
1390
|
+
if (synchronousMachine.getUUID() === '03ee3f18-9984-48eb-bc26-09e8c182fbda') {
|
|
1391
|
+
let stop = true;
|
|
1392
|
+
}
|
|
1393
|
+
if (synchronousMachine.getUUID() === 'f6d81d19-dca0-48e9-a43e-4ab1f6bf697d') {
|
|
1394
|
+
let stop = true;
|
|
1395
|
+
}
|
|
1396
|
+
if (synchronousMachine.getUUID() === '90d65269-183e-40f4-a437-c089df5b0b63') {
|
|
1397
|
+
let stop = true;
|
|
1398
|
+
}
|
|
1385
1399
|
// SSH Profil
|
|
1386
1400
|
synchronousMachine.setActivePower(p * -1); //convert to load sign system
|
|
1387
1401
|
synchronousMachine.setReactivePower(q * -1); //convert to load sign system
|
|
@@ -1422,7 +1436,7 @@ class ConverterIntegral7 {
|
|
|
1422
1436
|
// synchronousMachine.shortCircuitRotorType: ShortCircuitRotorKind;
|
|
1423
1437
|
// synchronousMachine.voltageRegulationRange: number;
|
|
1424
1438
|
/** Create ReactiveCapabilityCurves */
|
|
1425
|
-
if (minP !== undefined && maxP !== undefined && minQvonPmin
|
|
1439
|
+
if (minP !== undefined && maxP !== undefined && minQvonPmin !== undefined && maxQvonPmax !== undefined) {
|
|
1426
1440
|
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']));
|
|
1427
1441
|
reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
1428
1442
|
reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
@@ -2217,8 +2231,7 @@ class ConverterIntegral7 {
|
|
|
2217
2231
|
const qr = (0, parser_utils_1.isNumericI7)(i7Data.qr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qr) : undefined;
|
|
2218
2232
|
const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2219
2233
|
shunt.nomU = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
2220
|
-
// Set electrical properties
|
|
2221
|
-
// Set electrical properties (EQ)
|
|
2234
|
+
// Set electrical properties (EQ core)
|
|
2222
2235
|
if ((0, parser_utils_1.isNumericI7)(i7Data.aktstufe) && (0, parser_utils_1.isNumericI7)(i7Data.maxstufe)) {
|
|
2223
2236
|
shunt.sections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
|
|
2224
2237
|
shunt.normalSections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
|
|
@@ -2254,7 +2267,7 @@ class ConverterIntegral7 {
|
|
|
2254
2267
|
}
|
|
2255
2268
|
shunt.bPerSection = (0, utils_2.calculateBPerSection)(qr * -1, shunt.nomU, shunt.maximumSections);
|
|
2256
2269
|
shunt.gPerSection = (0, utils_2.calculateGPerSection)(pr, shunt.nomU, shunt.maximumSections);
|
|
2257
|
-
//
|
|
2270
|
+
//Set electrical properties (EQ short circuit)
|
|
2258
2271
|
const r0 = (0, parser_utils_1.isNumericI7)(i7Data.r0) ? i7Data.r0 : undefined;
|
|
2259
2272
|
const x0 = (0, parser_utils_1.isNumericI7)(i7Data.x0) ? i7Data.x0 : undefined;
|
|
2260
2273
|
shunt.b0PerSection = (0, utils_2.calculateB0PerSection)(/*r0,*/ Math.abs(x0)) * -1;
|
|
@@ -2351,13 +2364,12 @@ class ConverterIntegral7 {
|
|
|
2351
2364
|
for (const i7Data of result) {
|
|
2352
2365
|
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SVC']), i7Data.kurzname);
|
|
2353
2366
|
const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
2354
|
-
const uref = (0, parser_utils_1.isNumericI7)(i7Data.uref) ? (0, parser_utils_1.convertToNumberI7)(i7Data.uref) : undefined;
|
|
2355
2367
|
const mrez = (0, parser_utils_1.isNumericI7)(i7Data.mrez) ? (0, parser_utils_1.convertToNumberI7)(i7Data.mrez) : undefined;
|
|
2356
2368
|
const qkapr = (0, parser_utils_1.isNumericI7)(i7Data.qkapr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qkapr) : undefined;
|
|
2357
2369
|
const qindr = (0, parser_utils_1.isNumericI7)(i7Data.qindr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qindr) : undefined;
|
|
2358
2370
|
/** EQ */
|
|
2359
|
-
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(
|
|
2360
|
-
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(
|
|
2371
|
+
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2372
|
+
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2361
2373
|
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2362
2374
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2363
2375
|
statVarCom.aggregate = false;
|
|
@@ -2388,15 +2400,13 @@ class ConverterIntegral7 {
|
|
|
2388
2400
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.SVC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SVC), knotenSfIDs));
|
|
2389
2401
|
for (const i7Data of result) {
|
|
2390
2402
|
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SVC']), i7Data.kurzname);
|
|
2391
|
-
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
2392
2403
|
const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
2393
|
-
const uref = (0, parser_utils_1.isNumericI7)(i7Data.uref) ? (0, parser_utils_1.convertToNumberI7)(i7Data.uref) : undefined;
|
|
2394
2404
|
const mrez = (0, parser_utils_1.isNumericI7)(i7Data.mrez) ? (0, parser_utils_1.convertToNumberI7)(i7Data.mrez) : undefined;
|
|
2395
2405
|
const qkapr = (0, parser_utils_1.isNumericI7)(i7Data.qkapr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qkapr) : undefined;
|
|
2396
2406
|
const qindr = (0, parser_utils_1.isNumericI7)(i7Data.qindr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qindr) : undefined;
|
|
2397
2407
|
/** EQ */
|
|
2398
|
-
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(
|
|
2399
|
-
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(
|
|
2408
|
+
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2409
|
+
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2400
2410
|
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2401
2411
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2402
2412
|
statVarCom.aggregate = false;
|
|
@@ -2423,7 +2433,7 @@ class ConverterIntegral7 {
|
|
|
2423
2433
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH), knotenSfIDs));
|
|
2424
2434
|
for (const i7Data of result) {
|
|
2425
2435
|
/** Containment DC DCConverterUnit */
|
|
2426
|
-
const dcConverterUnit = new DCConverterUnit_1.INTEGRALDCConverterUnit((0, parser_utils_1.getUUID)(i7Data.
|
|
2436
|
+
const dcConverterUnit = new DCConverterUnit_1.INTEGRALDCConverterUnit((0, parser_utils_1.getUUID)(i7Data.guid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCCU']));
|
|
2427
2437
|
dcConverterUnit.governorSCDAc = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
2428
2438
|
dcConverterUnit.governorSCDDc = (0, parser_utils_1.isNumericI7)(i7Data.krdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.krdc) : undefined;
|
|
2429
2439
|
// Topologie
|
|
@@ -2451,9 +2461,10 @@ class ConverterIntegral7 {
|
|
|
2451
2461
|
else {
|
|
2452
2462
|
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
2453
2463
|
}
|
|
2454
|
-
const csConverter = new CsConverter_1.CsConverter((0, parser_utils_1.getUUID)(i7Data.
|
|
2464
|
+
const csConverter = new CsConverter_1.CsConverter((0, parser_utils_1.getUUID)(i7Data.guid_dcconverterp), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_CSC']), i7Data.kurzname);
|
|
2455
2465
|
const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2456
2466
|
const pges = (0, parser_utils_1.isNumericI7)(i7Data.pges) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pges) : undefined;
|
|
2467
|
+
const qges = (0, parser_utils_1.isNumericI7)(i7Data.qges) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qges) : undefined;
|
|
2457
2468
|
/** Wenn Leitungen konvertiert werden, wird das Attribut operationMode gesetzt. */
|
|
2458
2469
|
csConverter.equipmentContainer = dcConverterUnit;
|
|
2459
2470
|
/** Bemessungsleistung (Gleichstromseite) in MW
|
|
@@ -2480,7 +2491,7 @@ class ConverterIntegral7 {
|
|
|
2480
2491
|
csConverter.minGamma = (0, parser_utils_1.isNumericI7)(i7Data.gamma) ? (0, parser_utils_1.convertToNumberI7)(i7Data.gamma) : 21.5;
|
|
2481
2492
|
/** SSH profile export*/
|
|
2482
2493
|
csConverter.p = pges ? pges * -1 : 0;
|
|
2483
|
-
csConverter.q =
|
|
2494
|
+
csConverter.q = qges ? qges * -1 : 0;
|
|
2484
2495
|
this.setTopologyEnergySourceConsumerObject(cimModel, csConverter, i7Data);
|
|
2485
2496
|
/** Status */
|
|
2486
2497
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
@@ -2522,9 +2533,7 @@ class ConverterIntegral7 {
|
|
|
2522
2533
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC), knotenSfIDs));
|
|
2523
2534
|
for (const i7Data of result) {
|
|
2524
2535
|
/** Containment DC DCConverterUnit */
|
|
2525
|
-
const dcConverterUnit = new DCConverterUnit_1.INTEGRALDCConverterUnit((0, parser_utils_1.getUUID)(i7Data.
|
|
2526
|
-
/** target voltage local*/
|
|
2527
|
-
const localTargetVoltage = (0, parser_utils_1.isNumericI7)(i7Data.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7Data.usoll) : undefined;
|
|
2536
|
+
const dcConverterUnit = new DCConverterUnit_1.INTEGRALDCConverterUnit((0, parser_utils_1.getUUID)(i7Data.guid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCCU']));
|
|
2528
2537
|
dcConverterUnit.referencePriority = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
|
|
2529
2538
|
dcConverterUnit.governorSCDAc = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
2530
2539
|
dcConverterUnit.governorSCDDc = (0, parser_utils_1.isNumericI7)(i7Data.krdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.krdc) : undefined;
|
|
@@ -2557,10 +2566,7 @@ class ConverterIntegral7 {
|
|
|
2557
2566
|
else {
|
|
2558
2567
|
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
2559
2568
|
}
|
|
2560
|
-
const vsConverter = new VsConverter_1.VsConverter((0, parser_utils_1.getUUID)(i7Data.
|
|
2561
|
-
if (vsConverter.getUUID() === '1b2b2901-0bb9-4aa3-9117-06d68fbbc7cb') {
|
|
2562
|
-
let stop = true;
|
|
2563
|
-
}
|
|
2569
|
+
const vsConverter = new VsConverter_1.VsConverter((0, parser_utils_1.getUUID)(i7Data.guid_dcconverterp, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_VSC']), i7Data.kurzname);
|
|
2564
2570
|
/** Wenn Leitungen konvertiert werden, wird das Attribut operationMode gesetzt. */
|
|
2565
2571
|
vsConverter.equipmentContainer = dcConverterUnit;
|
|
2566
2572
|
/** Bemessungsleistung (Gleichstromseite) in MW
|
|
@@ -2578,13 +2584,18 @@ class ConverterIntegral7 {
|
|
|
2578
2584
|
vsConverter.switchingLoss = undefined;
|
|
2579
2585
|
/* csConverter.maxModulationIndex = ;
|
|
2580
2586
|
csConverter.maxValveCurrent = */
|
|
2587
|
+
/** CapabilityCurveData */
|
|
2588
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
2589
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : undefined;
|
|
2590
|
+
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
2591
|
+
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
2581
2592
|
/** SSH export values */
|
|
2582
2593
|
vsConverter.p = (0, parser_utils_1.isNumericI7)(i7Data.pges) ? i7Data.pges * -1 : 0;
|
|
2583
2594
|
vsConverter.q = (0, parser_utils_1.isNumericI7)(i7Data.qges) ? i7Data.qges * -1 : 0;
|
|
2584
2595
|
this.setTopologyEnergySourceConsumerObject(cimModel, vsConverter, i7Data, targetVoltages);
|
|
2585
2596
|
vsConverter.droop = 0; //pu
|
|
2586
2597
|
vsConverter.droopCompensation = 0; //Resistance
|
|
2587
|
-
vsConverter.qShare =
|
|
2598
|
+
vsConverter.qShare = 100; //PerCent
|
|
2588
2599
|
/** Status */
|
|
2589
2600
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
2590
2601
|
vsConverter.normallyInService = inBetrieb;
|
|
@@ -2598,6 +2609,40 @@ class ConverterIntegral7 {
|
|
|
2598
2609
|
vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2599
2610
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
2600
2611
|
dcNode.dcTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2612
|
+
/** Create ReactiveCapabilityCurves */
|
|
2613
|
+
if (minP !== undefined && maxP !== undefined && minQ != undefined && maxQ !== undefined) {
|
|
2614
|
+
let keyVsCapabilityCurve = cim_class_names_1.ClassNames.VsCapabilityCurve + i7Data.id + vsConverter.getUUID();
|
|
2615
|
+
let uuidVsCapabilityCurve = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VsCapabilityCurve, this.configUuid, keyVsCapabilityCurve);
|
|
2616
|
+
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2617
|
+
vsCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
2618
|
+
vsCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
2619
|
+
vsCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
2620
|
+
vsCapabilityCurve.y2Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
2621
|
+
//reactive capability curve data for pmin
|
|
2622
|
+
let keyCurveData = cim_class_names_1.ClassNames.CurveData + vsCapabilityCurve.getUUID() + 'MINP';
|
|
2623
|
+
let uuidCurveData = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.CurveData, this.configUuid, keyCurveData);
|
|
2624
|
+
const curveData1 = new CurveData_1.CurveData(uuidCurveData);
|
|
2625
|
+
curveData1.curve = vsCapabilityCurve;
|
|
2626
|
+
curveData1.xvalue = minP; //pMin
|
|
2627
|
+
curveData1.y1value = minQ; //qMin
|
|
2628
|
+
curveData1.y2value = maxQ; //qMax pMin
|
|
2629
|
+
cimModel.addCurveData(curveData1);
|
|
2630
|
+
//reactive capability curve data for pmax
|
|
2631
|
+
keyCurveData = cim_class_names_1.ClassNames.CurveData + vsCapabilityCurve.getUUID() + 'MAXP';
|
|
2632
|
+
uuidCurveData = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.CurveData, this.configUuid, keyCurveData);
|
|
2633
|
+
const curveData2 = new CurveData_1.CurveData(uuidCurveData);
|
|
2634
|
+
curveData2.curve = vsCapabilityCurve;
|
|
2635
|
+
curveData2.xvalue = maxP; //pMax
|
|
2636
|
+
curveData2.y1value = minQ; //qMin pMax
|
|
2637
|
+
curveData2.y2value = maxQ; //qMin pMax
|
|
2638
|
+
cimModel.addCurveData(curveData2);
|
|
2639
|
+
cimModel.addVsCapabilityCurve(vsCapabilityCurve);
|
|
2640
|
+
vsConverter.capabilityCurve = vsCapabilityCurve;
|
|
2641
|
+
vsCapabilityCurve.VsConverterDCSides.set(vsConverter.getUUID(), vsConverter);
|
|
2642
|
+
}
|
|
2643
|
+
else {
|
|
2644
|
+
vsConverter.targetQpcc = 0;
|
|
2645
|
+
}
|
|
2601
2646
|
/** DCNode speichern, um später DCLines anschließen zu können*/
|
|
2602
2647
|
cimModel.addDCConverterUnit(dcConverterUnit);
|
|
2603
2648
|
cimModel.addVSConverter(vsConverter);
|
|
@@ -2784,7 +2829,7 @@ class ConverterIntegral7 {
|
|
|
2784
2829
|
});
|
|
2785
2830
|
}
|
|
2786
2831
|
setTopologyEnergySourceConsumerObject(cimModel, condEquip, i7Data, targetVoltages, generatingUnit, isStatcom) {
|
|
2787
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
2832
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
2788
2833
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
2789
2834
|
condEquip.normallyInService = inBetrieb;
|
|
2790
2835
|
const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
@@ -2856,7 +2901,7 @@ class ConverterIntegral7 {
|
|
|
2856
2901
|
spannungsregelungLokal = (0, parser_utils_1.isBooleanI7)(i7DataHgue.spannungsgeregelt) ? (0, parser_utils_1.convertToBooleanI7)(i7DataHgue.spannungsgeregelt) : false;
|
|
2857
2902
|
spannungsregelungRemote = (0, parser_utils_1.isBooleanI7)(i7DataHgue.rpv_geregelt) ? (0, parser_utils_1.convertToBooleanI7)(i7DataHgue.rpv_geregelt) : false;
|
|
2858
2903
|
knotenSpgGeregelt = cimModel.objects.get(this.integralID2UUID.get(i7DataHgue.knotenspgreg));
|
|
2859
|
-
isRegulatingControl =
|
|
2904
|
+
isRegulatingControl = spannungsregelungLokal || spannungsregelungRemote;
|
|
2860
2905
|
}
|
|
2861
2906
|
else if (i7DataSVC) {
|
|
2862
2907
|
isRegulatingControl = true;
|
|
@@ -2897,7 +2942,9 @@ class ConverterIntegral7 {
|
|
|
2897
2942
|
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
2898
2943
|
switch (knotenSpgGeregelt) {
|
|
2899
2944
|
case undefined: {
|
|
2900
|
-
|
|
2945
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
2946
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
2947
|
+
}
|
|
2901
2948
|
if (cterminal === undefined) {
|
|
2902
2949
|
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
2903
2950
|
}
|
|
@@ -2938,7 +2985,7 @@ class ConverterIntegral7 {
|
|
|
2938
2985
|
rControl.targetDeadband = (0, parser_utils_1.isNumericI7)(uband) ? uband : undefined; //zulässiges Spannungsband
|
|
2939
2986
|
/** Spannung in kilo*/
|
|
2940
2987
|
//TODO TEMP FIX bei lokaler Regelegung bleibt usoll = null.
|
|
2941
|
-
rControl.targetValue =
|
|
2988
|
+
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());
|
|
2942
2989
|
const guidSuffix = (_a = tCn === null || tCn === void 0 ? void 0 : tCn.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getUUID().substring(0, 8);
|
|
2943
2990
|
rControl.name = (0, util_create_1.createNotation)([rControl.name, '_', guidSuffix, '_RC'], 32, true);
|
|
2944
2991
|
rControl.terminalUUID = cterminal.getUUID();
|
|
@@ -2952,9 +2999,6 @@ class ConverterIntegral7 {
|
|
|
2952
2999
|
term.addRegulatingControl(rControl);
|
|
2953
3000
|
}
|
|
2954
3001
|
}
|
|
2955
|
-
else {
|
|
2956
|
-
const stop = true;
|
|
2957
|
-
}
|
|
2958
3002
|
}
|
|
2959
3003
|
else if (isRegulatingControl && i7DataSVC) {
|
|
2960
3004
|
/** Regelung */
|
|
@@ -2962,6 +3006,7 @@ class ConverterIntegral7 {
|
|
|
2962
3006
|
const cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
2963
3007
|
let tVMax = undefined;
|
|
2964
3008
|
let tVMin = undefined;
|
|
3009
|
+
let uref = (0, parser_utils_1.isNumericI7)(i7DataSVC.uref) ? (0, parser_utils_1.convertToNumberI7)(i7DataSVC.uref) : undefined;
|
|
2965
3010
|
if (cterminal) {
|
|
2966
3011
|
tCn = cterminal.getConnectivityNode();
|
|
2967
3012
|
if (tCn) {
|
|
@@ -3011,7 +3056,7 @@ class ConverterIntegral7 {
|
|
|
3011
3056
|
}
|
|
3012
3057
|
}
|
|
3013
3058
|
}
|
|
3014
|
-
rControl.targetValue = usoll;
|
|
3059
|
+
rControl.targetValue = uref != undefined && uref > 0 ? uref : usoll;
|
|
3015
3060
|
rControl.targetDeadband = uband;
|
|
3016
3061
|
rControl.terminal = cterminal;
|
|
3017
3062
|
const guidSuffix = (_b = tCn === null || tCn === void 0 ? void 0 : tCn.getVoltageLevel()) === null || _b === void 0 ? void 0 : _b.getUUID().substring(0, 8);
|
|
@@ -3022,54 +3067,57 @@ class ConverterIntegral7 {
|
|
|
3022
3067
|
cterminal.addRegulatingControl(rControl);
|
|
3023
3068
|
cimModel.addRegulatingControl(rControl);
|
|
3024
3069
|
}
|
|
3025
|
-
else {
|
|
3026
|
-
const stop = true;
|
|
3027
|
-
}
|
|
3028
3070
|
}
|
|
3029
|
-
else if (i7DataHgue) {
|
|
3030
|
-
let cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3071
|
+
else if (i7DataHgue) { //DC and AC controls for HVDC systems
|
|
3031
3072
|
const regelungU = (0, parser_utils_1.convertToBooleanI7)(i7DataHgue.u_geregelt);
|
|
3032
3073
|
const regelungP = (0, parser_utils_1.convertToBooleanI7)(i7DataHgue.p_geregelt);
|
|
3033
3074
|
condEquip.pccTerminal = cpTerminal;
|
|
3034
3075
|
if (condEquip instanceof CsConverter_1.CsConverter) {
|
|
3035
3076
|
if (regelungU) {
|
|
3036
|
-
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.
|
|
3077
|
+
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.rectifier;
|
|
3037
3078
|
condEquip.pPccControl = CsPpccControlKind_1.CsPpccControlKind.dcVoltage;
|
|
3038
3079
|
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3080
|
+
condEquip.targetPpcc = (0, parser_utils_1.isNumericI7)(i7DataHgue.pges) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pges) : ((0, parser_utils_1.isNumericI7)(i7DataHgue.pr) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pr) : undefined);
|
|
3081
|
+
condEquip.targetIdc = (0, parser_utils_1.isNumericI7)(condEquip.targetPpcc) && (0, parser_utils_1.isNumericI7)(condEquip.targetUdc) ? condEquip.targetPpcc / condEquip.targetUdc : undefined;
|
|
3039
3082
|
}
|
|
3040
3083
|
else if (regelungP) {
|
|
3041
|
-
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.
|
|
3084
|
+
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.inverter;
|
|
3042
3085
|
condEquip.pPccControl = CsPpccControlKind_1.CsPpccControlKind.activePower;
|
|
3086
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3043
3087
|
condEquip.targetPpcc = (0, parser_utils_1.isNumericI7)(i7DataHgue.pges) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pges) : ((0, parser_utils_1.isNumericI7)(i7DataHgue.pr) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pr) : undefined);
|
|
3088
|
+
condEquip.targetIdc = (0, parser_utils_1.isNumericI7)(condEquip.targetPpcc) && (0, parser_utils_1.isNumericI7)(condEquip.targetUdc) ? condEquip.targetPpcc / condEquip.targetUdc : undefined;
|
|
3044
3089
|
}
|
|
3045
3090
|
else {
|
|
3046
|
-
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.
|
|
3091
|
+
condEquip.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.inverter;
|
|
3047
3092
|
condEquip.pPccControl = CsPpccControlKind_1.CsPpccControlKind.activePower;
|
|
3093
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3048
3094
|
condEquip.targetPpcc = (0, parser_utils_1.isNumericI7)(i7DataHgue.pges) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pges) : ((0, parser_utils_1.isNumericI7)(i7DataHgue.pr) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.pr) : undefined);
|
|
3095
|
+
condEquip.targetIdc = (0, parser_utils_1.isNumericI7)(condEquip.targetPpcc) && (0, parser_utils_1.isNumericI7)(condEquip.targetUdc) ? condEquip.targetPpcc / condEquip.targetUdc : undefined;
|
|
3049
3096
|
}
|
|
3050
3097
|
}
|
|
3051
3098
|
else if (condEquip instanceof VsConverter_1.VsConverter) {
|
|
3052
3099
|
usoll = (0, parser_utils_1.isNumericI7)(i7DataHgue.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.usoll) : undefined;
|
|
3053
3100
|
if (regelungU) {
|
|
3054
3101
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.udc;
|
|
3055
|
-
condEquip.
|
|
3102
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3056
3103
|
}
|
|
3057
3104
|
else if (regelungP) {
|
|
3058
3105
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
|
|
3059
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3060
|
-
condEquip.targetPpcc = condEquip.baseS * -1; //ActivePower
|
|
3061
|
-
condEquip.targetQpcc = 0; //ReactivePower, TODO: define ReactivePowerCapabilityCurve
|
|
3106
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3062
3107
|
}
|
|
3063
|
-
if (spannungsregelungLokal || spannungsregelungRemote) {
|
|
3108
|
+
if ((spannungsregelungLokal || spannungsregelungRemote) && usoll == undefined) {
|
|
3064
3109
|
//get rated voltage of controlled node.
|
|
3110
|
+
let cterminal = undefined; //connection point terminal of this device
|
|
3111
|
+
let tVMax = undefined; //maximum target voltage
|
|
3112
|
+
let tVMin = undefined; //minimum target voltage
|
|
3113
|
+
//get target voltage of controlled node.
|
|
3065
3114
|
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3066
3115
|
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3067
|
-
if (cterminal === undefined) {
|
|
3068
|
-
let stop = true;
|
|
3069
|
-
}
|
|
3070
3116
|
if (cterminal) {
|
|
3071
3117
|
tCn = cterminal.getConnectivityNode();
|
|
3072
3118
|
if (tCn) {
|
|
3119
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3120
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3073
3121
|
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3074
3122
|
}
|
|
3075
3123
|
else {
|
|
@@ -3080,9 +3128,10 @@ class ConverterIntegral7 {
|
|
|
3080
3128
|
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Anschlusspunkt (Terminal) des entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3081
3129
|
}
|
|
3082
3130
|
}
|
|
3083
|
-
|
|
3131
|
+
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3084
3132
|
switch (knotenSpgGeregelt) {
|
|
3085
3133
|
case undefined: {
|
|
3134
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3086
3135
|
if (cterminal === undefined) {
|
|
3087
3136
|
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
3088
3137
|
}
|
|
@@ -3095,18 +3144,20 @@ class ConverterIntegral7 {
|
|
|
3095
3144
|
if (cterminal) {
|
|
3096
3145
|
tCn = cterminal.getConnectivityNode();
|
|
3097
3146
|
if (tCn) {
|
|
3147
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3148
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3098
3149
|
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3099
3150
|
}
|
|
3151
|
+
else {
|
|
3152
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3153
|
+
}
|
|
3100
3154
|
}
|
|
3101
3155
|
}
|
|
3102
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3103
|
-
if (usoll !== undefined) {
|
|
3104
|
-
condEquip.targetUpcc = usoll;
|
|
3105
|
-
}
|
|
3106
|
-
else {
|
|
3107
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Sollspannung konnte nicht ermittelt werden.`);
|
|
3108
|
-
}
|
|
3109
3156
|
}
|
|
3157
|
+
condEquip.targetUpcc = usoll;
|
|
3158
|
+
condEquip.targetQpcc = 0; //ReactivePower, TODO: define ReactivePowerCapabilityCurve
|
|
3159
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3160
|
+
condEquip.targetPpcc = condEquip.baseS * -1;
|
|
3110
3161
|
}
|
|
3111
3162
|
}
|
|
3112
3163
|
let equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, connectivityNode.connectivityNodeContainer);
|
|
@@ -3142,8 +3193,16 @@ class ConverterIntegral7 {
|
|
|
3142
3193
|
i7Schluessel = ((_p = (_o = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getSubstation()) === null || _o === void 0 ? void 0 : _o.key) !== null && _p !== void 0 ? _p : '') +
|
|
3143
3194
|
integral_prefix_1.HGUEKOPFVSC_PRAEFIX + i7Data.bezeichner;
|
|
3144
3195
|
}
|
|
3145
|
-
else if (condEquip instanceof
|
|
3196
|
+
else if (condEquip instanceof SynchronousMachine_1.SynchronousMachine) {
|
|
3146
3197
|
i7Schluessel = ((_r = (_q = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getSubstation()) === null || _q === void 0 ? void 0 : _q.key) !== null && _r !== void 0 ? _r : '') +
|
|
3198
|
+
integral_prefix_1.GENERATOR_PRAEFIX + i7Data.bezeichner;
|
|
3199
|
+
}
|
|
3200
|
+
else if (condEquip instanceof AsynchronousMachine_1.AsynchronousMachine) {
|
|
3201
|
+
i7Schluessel = ((_t = (_s = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getSubstation()) === null || _s === void 0 ? void 0 : _s.key) !== null && _t !== void 0 ? _t : '') +
|
|
3202
|
+
integral_prefix_1.ASYNCHRONMOTOR_PRAEFIX + i7Data.bezeichner;
|
|
3203
|
+
}
|
|
3204
|
+
else if (condEquip instanceof CsConverter_1.CsConverter) {
|
|
3205
|
+
i7Schluessel = ((_v = (_u = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getSubstation()) === null || _u === void 0 ? void 0 : _u.key) !== null && _v !== void 0 ? _v : '') +
|
|
3147
3206
|
integral_prefix_1.HGUEKOPFKLASSISCH_PRAEFIX + i7Data.bezeichner;
|
|
3148
3207
|
}
|
|
3149
3208
|
condEquip.key = i7Schluessel;
|
|
@@ -3153,11 +3212,11 @@ class ConverterIntegral7 {
|
|
|
3153
3212
|
}
|
|
3154
3213
|
}
|
|
3155
3214
|
else {
|
|
3156
|
-
this.logger.error(`error --- ${(
|
|
3215
|
+
this.logger.error(`error --- ${(_w = condEquip === null || condEquip === void 0 ? void 0 : condEquip.constructor) === null || _w === void 0 ? void 0 : _w.name} ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3157
3216
|
}
|
|
3158
3217
|
}
|
|
3159
3218
|
else {
|
|
3160
|
-
this.logger.error(`error --- ${(
|
|
3219
|
+
this.logger.error(`error --- ${(_x = condEquip === null || condEquip === void 0 ? void 0 : condEquip.constructor) === null || _x === void 0 ? void 0 : _x.name} ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3161
3220
|
}
|
|
3162
3221
|
return rControl;
|
|
3163
3222
|
}
|
|
@@ -3469,7 +3528,7 @@ class ConverterIntegral7 {
|
|
|
3469
3528
|
this.setConductingEquipmentOperationalLimit(cimModel, 'Rating ' + seriesCompensator.name, terminal, seriesCompensator.getUUID(), ir, cim_class_names_1.ClassNames.CurrentLimit);
|
|
3470
3529
|
}
|
|
3471
3530
|
else {
|
|
3472
|
-
this.logger.debug(`
|
|
3531
|
+
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
3473
3532
|
}
|
|
3474
3533
|
// Umspannanlage
|
|
3475
3534
|
const substationUUID = this.integralID2UUID.get(i7Data.standort);
|
|
@@ -3688,7 +3747,7 @@ class ConverterIntegral7 {
|
|
|
3688
3747
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TYP_FREILEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG), []));
|
|
3689
3748
|
for (const i7Data of result) {
|
|
3690
3749
|
const typ = new EVWireInfo_1.EVWireInfo(common_utils_1.CommonUtils.generateUUID(), i7Data.name);
|
|
3691
|
-
this.setWireInfoProperties(typ, i7Data,
|
|
3750
|
+
this.setWireInfoProperties(typ, i7Data, integral_sql_1.I7Objects.TYP_FREILEITUNG);
|
|
3692
3751
|
this.cimModelDefault.addEVWireInfo(typ);
|
|
3693
3752
|
}
|
|
3694
3753
|
}
|
|
@@ -3700,7 +3759,7 @@ class ConverterIntegral7 {
|
|
|
3700
3759
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.TYP_KABEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.TYP_KABEL), []));
|
|
3701
3760
|
for (const i7Data of result) {
|
|
3702
3761
|
const typ = new EVWireInfo_1.EVWireInfo(common_utils_1.CommonUtils.generateUUID(), i7Data.name);
|
|
3703
|
-
this.setWireInfoProperties(typ, i7Data,
|
|
3762
|
+
this.setWireInfoProperties(typ, i7Data, integral_sql_1.I7Objects.TYP_KABEL);
|
|
3704
3763
|
this.cimModelDefault.addEVWireInfo(typ);
|
|
3705
3764
|
}
|
|
3706
3765
|
}
|
|
@@ -3745,6 +3804,12 @@ class ConverterIntegral7 {
|
|
|
3745
3804
|
tableName = integral_sql_1.Integral7TableNames.FREILEITUNG;
|
|
3746
3805
|
}
|
|
3747
3806
|
const leitungStromkreisabschnitt = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(type, this.getAvailableColumnNames(tableName), leitungIDs));
|
|
3807
|
+
let result_ohl = undefined;
|
|
3808
|
+
let result_cable = undefined;
|
|
3809
|
+
if (type.match(integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG)) {
|
|
3810
|
+
result_cable = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KABEL), leitungIDs));
|
|
3811
|
+
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));
|
|
3812
|
+
}
|
|
3748
3813
|
for (const i7Data of result) {
|
|
3749
3814
|
/** Alle Stromkreisabschnitte */
|
|
3750
3815
|
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
@@ -3783,7 +3848,7 @@ class ConverterIntegral7 {
|
|
|
3783
3848
|
'-' +
|
|
3784
3849
|
(0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
|
|
3785
3850
|
const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
|
|
3786
|
-
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid,
|
|
3851
|
+
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname, i7Schluessel);
|
|
3787
3852
|
const key = acLineSegment.getUUID();
|
|
3788
3853
|
const uuidWireObject = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.EVWireObject, this.configUuid, key);
|
|
3789
3854
|
acLineSegment.key = i7Schluessel;
|
|
@@ -3813,13 +3878,10 @@ class ConverterIntegral7 {
|
|
|
3813
3878
|
* KnotenZw -> Netzschlaufe -> KnotenSo -> Anschlusspunkt
|
|
3814
3879
|
*/
|
|
3815
3880
|
const acLineSegmentStart = acLineSegments[0];
|
|
3816
|
-
if (line.getUUID() === '4637c6dc-fad5-45f1-91e0-091d00717a3b' || line.getUUID() === 'a992f3c9-f2e1-4cd6-8cc6-fd3d5d167871') {
|
|
3817
|
-
const stop = true;
|
|
3818
|
-
}
|
|
3819
3881
|
const startTerminal = this.createBoundaryConnection(frame, acLineSegmentStart, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
3820
3882
|
if (startTerminal) {
|
|
3821
3883
|
//this.setACLineSegmentCurrentLimt(cimModel, acLineSegmentStart, acLineSegmentStart.description, startTerminal);
|
|
3822
|
-
/**Add boundary injection if start is connected to
|
|
3884
|
+
/**Add boundary injection if start is connected to boundarypoint */
|
|
3823
3885
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
|
|
3824
3886
|
let tmp_cn = bdf === null || bdf === void 0 ? void 0 : bdf.cimModel.getConnectivityNode(startTerminal.getConnectivityNodeUUID());
|
|
3825
3887
|
if (tmp_cn && tmp_cn.boundaryPoint) {
|
|
@@ -3836,7 +3898,8 @@ class ConverterIntegral7 {
|
|
|
3836
3898
|
else {
|
|
3837
3899
|
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
|
|
3838
3900
|
}
|
|
3839
|
-
|
|
3901
|
+
let cable = result_cable.filter(elem => elem.id === stromkreisabschnitte[0].id);
|
|
3902
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], cable.length > 0, defaultValuesConfig);
|
|
3840
3903
|
cimModel.addACLineSegment(acLineSegmentStart);
|
|
3841
3904
|
/** Mitte */
|
|
3842
3905
|
const anzahl = acLineSegments.length;
|
|
@@ -3856,7 +3919,8 @@ class ConverterIntegral7 {
|
|
|
3856
3919
|
if (tmp_terminal) {
|
|
3857
3920
|
tmp_terminal = undefined;
|
|
3858
3921
|
}
|
|
3859
|
-
|
|
3922
|
+
cable = result_cable.filter(elem => elem.id === stromkreisabschnitte[i].id);
|
|
3923
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], cable.length > 0, defaultValuesConfig);
|
|
3860
3924
|
/**Connect end of aclinesegment i+1*/
|
|
3861
3925
|
tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
3862
3926
|
//this.setACLineSegmentCurrentLimt(cimModel, acLineSegment2, acLineSegment2.description, tmp_terminal);
|
|
@@ -3888,7 +3952,8 @@ class ConverterIntegral7 {
|
|
|
3888
3952
|
else {
|
|
3889
3953
|
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
|
|
3890
3954
|
}
|
|
3891
|
-
|
|
3955
|
+
cable = result_cable.filter(elem => elem.id === stromkreisabschnitte[stromkreisabschnitte.length - 1].id);
|
|
3956
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentZiel, stromkreisabschnitte[stromkreisabschnitte.length - 1], cable.length > 0, defaultValuesConfig);
|
|
3892
3957
|
cimModel.addACLineSegment(acLineSegmentZiel);
|
|
3893
3958
|
/** BaseVoltages für ACLineSegments*/
|
|
3894
3959
|
const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
|
|
@@ -3950,31 +4015,48 @@ class ConverterIntegral7 {
|
|
|
3950
4015
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length > 0) {
|
|
3951
4016
|
// const result: Hgueleitung[] = await this.queryFunctionWrapper(getNetzQuery(I7Objects.HGUE_LEITUNG, limit, offset, []));
|
|
3952
4017
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.HGUE_LEITUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.HGUE_LEITUNG), integral7.hgueAnschlussKnotenIDs));
|
|
4018
|
+
let dcLineSegmentSet = [];
|
|
3953
4019
|
for (const i7Data of result) {
|
|
3954
4020
|
//console.log(getUUID(i7Data.guid_dcline));
|
|
3955
4021
|
integral7.integralHgueLeitungIds.add(i7Data.id);
|
|
4022
|
+
/**
|
|
4023
|
+
* Differentiation is done between monopolar and bipolar hvdc systems
|
|
4024
|
+
* Differentiation is done between current source converters (csc, HgueKopfKlassisch) and voltage source converters (vsc, HgueKopfVSC)
|
|
4025
|
+
* CSC:
|
|
4026
|
+
* - only monopole (asymmetrical monopole (metallic return))
|
|
4027
|
+
* - no metallic return in every case
|
|
4028
|
+
* - only power control defined
|
|
4029
|
+
* - a metallic return is always assumed) with two groundings (one per end) is assumed in every case
|
|
4030
|
+
* VSC:
|
|
4031
|
+
* - monopole and bipole possible (asymmetrical monopole (metallic return), bipole)
|
|
4032
|
+
* - metallic return in every case (there is no data about ground return in INTEGRAL)
|
|
4033
|
+
* - power control, voltage control (ac and dc), angle difference
|
|
4034
|
+
* - topology informations of second pole are not available in INTEGRAL model, thus this will be created during conversion
|
|
4035
|
+
* - a metallic return is always assumed) with two groundings (one per end) is assumed in every case
|
|
4036
|
+
*/
|
|
3956
4037
|
const dcLine = new DCLine_1.DCLine((0, parser_utils_1.getUUID)(i7Data.guid_dcline, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCL']));
|
|
3957
4038
|
let dcLineNeg = undefined;
|
|
4039
|
+
let dcLineNeutral = undefined;
|
|
3958
4040
|
const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
|
|
3959
4041
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
3960
4042
|
/** operationMode der Anfangs- und Zielkopfstation setzen */
|
|
3961
4043
|
let converterStart = false;
|
|
3962
4044
|
let converterStartNeg = false;
|
|
3963
|
-
let converterUnitStartSide = false;
|
|
4045
|
+
//let converterUnitStartSide: boolean = false;
|
|
3964
4046
|
let converterTarget = false;
|
|
3965
4047
|
let converterTargetNeg = false;
|
|
3966
|
-
let converterUnitTargetSide = false;
|
|
3967
|
-
let
|
|
3968
|
-
if (
|
|
3969
|
-
|
|
4048
|
+
//let converterUnitTargetSide: boolean = false;
|
|
4049
|
+
let bipole = (0, parser_utils_1.convertToBooleanI7)(i7Data.bipol);
|
|
4050
|
+
if (bipole === undefined) {
|
|
4051
|
+
bipole = false;
|
|
3970
4052
|
}
|
|
3971
|
-
let
|
|
4053
|
+
let dcNodeStartMiddle = undefined;
|
|
4054
|
+
let dcNodeTargetMiddle = undefined;
|
|
3972
4055
|
//Parameter "guidp" is available for monopolar and bipolar dc systems. Thus create DCLineSegment with positive sign property in any case.
|
|
3973
4056
|
const dcLineSegment = new DCLineSegment_1.DCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidp, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCLS']), i7Data.kurzname, i7Schluessel);
|
|
4057
|
+
dcLineSegmentSet.push(dcLineSegment);
|
|
3974
4058
|
let dcLineSegmentNeg = undefined;
|
|
3975
|
-
|
|
3976
|
-
const stop = true;
|
|
3977
|
-
}
|
|
4059
|
+
let dcLineSegmentNeutral = undefined;
|
|
3978
4060
|
/**EQ: not given directly by the INTEGRAL system model */
|
|
3979
4061
|
dcLineSegment.length = undefined;
|
|
3980
4062
|
dcLineSegment.capacitance = undefined;
|
|
@@ -3983,92 +4065,118 @@ class ConverterIntegral7 {
|
|
|
3983
4065
|
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
3984
4066
|
dcLineSegment.equipmentContainer = dcLine;
|
|
3985
4067
|
//create second dcLineSegment in case this dcLine is a bipol.
|
|
3986
|
-
if (
|
|
4068
|
+
if (bipole) {
|
|
3987
4069
|
const dcLineKey = dcLine.getUUID();
|
|
3988
4070
|
const dcLineUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
3989
4071
|
dcLineNeg = new DCLine_1.DCLine(dcLineUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_neg', '_DCL']));
|
|
3990
4072
|
dcLineSegmentNeg = new DCLineSegment_1.DCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidn, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_neg', '_DCLS'], 32, true), (0, util_create_1.createNotation)([i7Data.kurzname, '_neg'], 12, true), i7Schluessel);
|
|
4073
|
+
dcLineSegmentSet.push(dcLineSegmentNeg);
|
|
3991
4074
|
dcLineSegmentNeg.length = dcLineSegment.length;
|
|
3992
4075
|
dcLineSegmentNeg.capacitance = undefined;
|
|
3993
4076
|
dcLineSegmentNeg.inductance = undefined;
|
|
3994
4077
|
dcLineSegmentNeg.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
3995
4078
|
dcLineSegmentNeg.equipmentContainer = dcLineNeg;
|
|
3996
4079
|
}
|
|
4080
|
+
//create metallic return
|
|
4081
|
+
const dcLineKey = dcLine.getUUID() + 'mid';
|
|
4082
|
+
const dcLineNeutralUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4083
|
+
const dcLineSegmentUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLineSegment, this.configUuid, dcLineNeutralUuid);
|
|
4084
|
+
dcLineNeutral = new DCLine_1.DCLine(dcLineNeutralUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCL']));
|
|
4085
|
+
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);
|
|
4086
|
+
dcLineSegmentSet.push(dcLineSegmentNeutral);
|
|
4087
|
+
dcLineSegmentNeutral.length = dcLineSegment.length;
|
|
4088
|
+
dcLineSegmentNeutral.capacitance = undefined;
|
|
4089
|
+
dcLineSegmentNeutral.inductance = undefined;
|
|
4090
|
+
dcLineSegmentNeutral.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4091
|
+
dcLineSegmentNeutral.equipmentContainer = dcLineNeutral;
|
|
4092
|
+
//get ACDCConverter at both ends of DCLine
|
|
3997
4093
|
const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) ? cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) : undefined;
|
|
3998
4094
|
converterStart = (0, parser_utils_1.convertToBooleanI7)(acDCConverterStart !== undefined);
|
|
3999
4095
|
let acDCConverterStartNeg = undefined;
|
|
4000
4096
|
const acDCConverterTarget = cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt)) ? cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt)) : undefined;
|
|
4001
4097
|
converterTarget = (0, parser_utils_1.convertToBooleanI7)(acDCConverterTarget !== undefined);
|
|
4002
4098
|
let acDCConverterTargetNeg = undefined;
|
|
4003
|
-
if (acDCConverterTarget === undefined) {
|
|
4004
|
-
const stop = true;
|
|
4005
|
-
}
|
|
4006
|
-
else if (acDCConverterStart === undefined) {
|
|
4007
|
-
const stop = true;
|
|
4008
|
-
}
|
|
4009
4099
|
const int7hguekopfStart = converterStart ? (_a = integral7.integralHgueKopf) === null || _a === void 0 ? void 0 : _a.get(this.UUID2Integral7ID.get(acDCConverterStart.getUUID()).find(elem => elem)) : undefined;
|
|
4010
4100
|
const int7hguekopfTarget = converterTarget ? (_b = integral7.integralHgueKopf) === null || _b === void 0 ? void 0 : _b.get(this.UUID2Integral7ID.get(acDCConverterTarget.getUUID()).find(elem => elem)) : undefined;
|
|
4011
|
-
//
|
|
4012
|
-
|
|
4013
|
-
|
|
4101
|
+
//Get DCConverterUnit for HVDC system (positive, negative, ground for both sides)
|
|
4102
|
+
const converterUnitStart = (acDCConverterStart === null || acDCConverterStart === void 0 ? void 0 : acDCConverterStart.equipmentContainer) ? acDCConverterStart.equipmentContainer : undefined;
|
|
4103
|
+
const converterUnitTarget = (acDCConverterTarget === null || acDCConverterTarget === void 0 ? void 0 : acDCConverterTarget.equipmentContainer) ? acDCConverterTarget.equipmentContainer : undefined;
|
|
4104
|
+
let converterUnitStartNeg = undefined;
|
|
4105
|
+
let converterUnitTargetNeg = undefined;
|
|
4106
|
+
let converterUnitStartGround = undefined;
|
|
4107
|
+
let converterUnitTargetGround = undefined;
|
|
4108
|
+
//Setting acDCConverterStartNeg, acDCConverterTargetNeg, in case this DCLine is a bipol
|
|
4109
|
+
if (bipole) {
|
|
4110
|
+
let converterUnitKey = converterUnitStart.getUUID();
|
|
4111
|
+
let converterUnitNegUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCConverterUnit, this.configUuid, converterUnitKey);
|
|
4112
|
+
converterUnitStartNeg = new DCConverterUnit_1.INTEGRALDCConverterUnit(converterUnitNegUUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_NEG_DCCU']), '', 'second converter unit of bipole');
|
|
4113
|
+
converterUnitStartNeg.setSubstation(converterUnitStart.getSubstation());
|
|
4114
|
+
acDCConverterStartNeg = converterStart && int7hguekopfStart !== undefined ? (0, util_create_1.createACDCConverterNeg)(cimModel, int7hguekopfStart, acDCConverterStart.constructor.name, acDCConverterStart, converterUnitStartNeg, this.configUuid) : undefined;
|
|
4014
4115
|
converterStartNeg = (0, parser_utils_1.convertToBooleanI7)(acDCConverterStartNeg !== undefined);
|
|
4015
|
-
|
|
4116
|
+
converterUnitKey = converterUnitTarget.getUUID();
|
|
4117
|
+
converterUnitNegUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCConverterUnit, this.configUuid, converterUnitKey);
|
|
4118
|
+
converterUnitTargetNeg = new DCConverterUnit_1.INTEGRALDCConverterUnit(converterUnitNegUUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_NEG_DCCU']), '', 'second converter unit of bipole');
|
|
4119
|
+
converterUnitTargetNeg.setSubstation(converterUnitTarget.getSubstation());
|
|
4120
|
+
acDCConverterTargetNeg = converterTarget && int7hguekopfTarget !== undefined ? (0, util_create_1.createACDCConverterNeg)(cimModel, int7hguekopfTarget, acDCConverterTarget.constructor.name, acDCConverterTarget, converterUnitTargetNeg, this.configUuid) : undefined;
|
|
4016
4121
|
converterTargetNeg = (0, parser_utils_1.convertToBooleanI7)(acDCConverterTargetNeg !== undefined);
|
|
4017
4122
|
}
|
|
4018
4123
|
//Set grounding for dcConverterUnit
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: zugehörende/r DCConverterUnit am Leitungsende konnte nicht ermittelt werden.`);
|
|
4035
|
-
}
|
|
4036
|
-
else if (converterUnitStartSide && converterUnitTargetSide) {
|
|
4124
|
+
let converterUnitKey = converterUnitStart.getUUID() + 'GROUND';
|
|
4125
|
+
let converterUnitGroundUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCConverterUnit, this.configUuid, converterUnitKey);
|
|
4126
|
+
converterUnitStartGround = new DCConverterUnit_1.INTEGRALDCConverterUnit(converterUnitGroundUUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_GND_DCCU']));
|
|
4127
|
+
converterUnitStartGround.setSubstation(converterUnitStart.getSubstation());
|
|
4128
|
+
converterUnitKey = converterUnitTarget.getUUID() + 'GROUND';
|
|
4129
|
+
converterUnitGroundUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCConverterUnit, this.configUuid, converterUnitKey);
|
|
4130
|
+
converterUnitTargetGround = new DCConverterUnit_1.INTEGRALDCConverterUnit(converterUnitGroundUUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_GND_DCCU']));
|
|
4131
|
+
converterUnitTargetGround.setSubstation(converterUnitTarget.getSubstation());
|
|
4132
|
+
if (converterStart && converterTarget) {
|
|
4133
|
+
dcNodeStartMiddle = createDCGround(cimModel, acDCConverterStart, converterUnitStartGround, int7hguekopfStart, bipole);
|
|
4134
|
+
//connectDCGround(cimModel, int7hguekopfStart, dcNodeStartMiddle, DCPolarityKind.middle/*, acDCConverterStart*/);
|
|
4135
|
+
dcNodeTargetMiddle = createDCGround(cimModel, acDCConverterTarget, converterUnitTargetGround, int7hguekopfTarget, bipole);
|
|
4136
|
+
//connectDCGround(cimModel, int7hguekopfTarget, dcNodeTargetMiddle, DCPolarityKind.middle/*, acDCConverterTarget*/);
|
|
4137
|
+
switch (bipole) {
|
|
4138
|
+
case true: {
|
|
4037
4139
|
converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4038
4140
|
converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4039
|
-
|
|
4040
|
-
|
|
4141
|
+
converterUnitStartGround.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4142
|
+
converterUnitTargetGround.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4143
|
+
converterUnitStartNeg.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4144
|
+
converterUnitTargetNeg.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
|
|
4145
|
+
if (converterStartNeg && converterTargetNeg) {
|
|
4146
|
+
connectDCGround(cimModel, int7hguekopfStart, dcNodeStartMiddle, DCPolarityKind_1.DCPolarityKind.middle, acDCConverterStartNeg);
|
|
4147
|
+
connectDCGround(cimModel, int7hguekopfTarget, dcNodeTargetMiddle, DCPolarityKind_1.DCPolarityKind.middle, acDCConverterTargetNeg);
|
|
4041
4148
|
}
|
|
4042
|
-
else if (
|
|
4043
|
-
|
|
4044
|
-
connectDCGround(cimModel, acDCConverterTargetNeg, int7hguekopfTarget, dcNode, DCPolarityKind_1.DCPolarityKind.middle);
|
|
4149
|
+
else if (!converterStartNeg && !converterTargetNeg) {
|
|
4150
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: zugehörende/r DCConverterUnit an den Leitungsenden konnten für den zweiten Pol nicht ermittelt werden.`);
|
|
4045
4151
|
}
|
|
4046
|
-
else {
|
|
4047
|
-
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}:
|
|
4152
|
+
else if (!converterStartNeg) {
|
|
4153
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: es konnte nur die DCConverterUnit ${acDCConverterTargetNeg.getUUID()} am Leitungsende für den zweiten Pol ermittelt werden.`);
|
|
4048
4154
|
}
|
|
4155
|
+
else if (!converterTargetNeg) {
|
|
4156
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: es konnte nur die DCConverterUnit ${acDCConverterStartNeg.getUUID()} am Leitungsende für den zweiten Pol ermittelt werden.`);
|
|
4157
|
+
}
|
|
4158
|
+
break;
|
|
4049
4159
|
}
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
}
|
|
4055
|
-
case false: {
|
|
4056
|
-
if (converterUnitStartSide && !converterUnitTargetSide) {
|
|
4057
|
-
converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
|
|
4058
|
-
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: zugehörende/r DCConverterUnit am Leitungsende konnte nicht ermittelt werden.`);
|
|
4160
|
+
case false: {
|
|
4161
|
+
converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarMetallicReturn;
|
|
4162
|
+
converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarMetallicReturn;
|
|
4163
|
+
break;
|
|
4059
4164
|
}
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
|
|
4063
|
-
createDCGround(cimModel, acDCConverterTarget, int7hguekopfTarget);
|
|
4165
|
+
default: {
|
|
4166
|
+
this.logger.info(`info --- HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: gehört zu einem monopolaren HGÜ-System`);
|
|
4064
4167
|
}
|
|
4065
|
-
break;
|
|
4066
|
-
}
|
|
4067
|
-
default: {
|
|
4068
|
-
this.logger.info(`info --- HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: die bipol-Eigenschaft ist nicht gesetzt.`);
|
|
4069
4168
|
}
|
|
4070
4169
|
}
|
|
4071
|
-
|
|
4170
|
+
else if (!converterStart && !converterTarget) {
|
|
4171
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: zugehörende/r DCConverterUnit an den Leitungsenden konnten nicht ermittelt werden.`);
|
|
4172
|
+
}
|
|
4173
|
+
else if (!converterStart) {
|
|
4174
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: es konnte nur die DCConverterUnit ${int7hguekopfTarget.id} am Leitungsende ermittelt werden.`);
|
|
4175
|
+
}
|
|
4176
|
+
else if (!converterTarget) {
|
|
4177
|
+
this.logger.error(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid}: es konnte nur die DCConverterUnit ${int7hguekopfStart.id} am Leitungsanfang ermittelt werden.`);
|
|
4178
|
+
}
|
|
4179
|
+
// Topologie DC - connect DCLines (both poles if exists and metallic return)
|
|
4072
4180
|
/* Anfang / Ende DCNodes*/
|
|
4073
4181
|
let startDCNode = converterStart ? getDCNodeFromConverter(acDCConverterStart, DCPolarityKind_1.DCPolarityKind.positive) : undefined;
|
|
4074
4182
|
const startDCNodeNeg = converterStartNeg ? getDCNodeFromConverter(acDCConverterStartNeg, DCPolarityKind_1.DCPolarityKind.negative) : undefined;
|
|
@@ -4119,11 +4227,65 @@ class ConverterIntegral7 {
|
|
|
4119
4227
|
else {
|
|
4120
4228
|
this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten NEG. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
|
|
4121
4229
|
}
|
|
4230
|
+
if (dcNodeStartMiddle) {
|
|
4231
|
+
const dcTerminalKey = int7hguekopfStart.guid_dcterminalm1 + int7hguekopfStart.guid_dcterminalm2; //TODO: ->cgmes Objekte verwenden
|
|
4232
|
+
const dcTerminalM3UUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCTerminal, this.configUuid, dcTerminalKey);
|
|
4233
|
+
const dcTerminal = new DCTerminal_1.DCTerminal(dcTerminalM3UUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCT'], 32, true));
|
|
4234
|
+
dcTerminal.dCConductingEquipment = dcLineSegmentNeutral;
|
|
4235
|
+
dcTerminal.dcNode = dcNodeStartMiddle;
|
|
4236
|
+
dcLineSegmentNeutral.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4237
|
+
dcNodeStartMiddle.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4238
|
+
cimModel.addDCTerminal(dcTerminal);
|
|
4239
|
+
}
|
|
4240
|
+
else {
|
|
4241
|
+
this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
|
|
4242
|
+
}
|
|
4243
|
+
if (dcNodeTargetMiddle) {
|
|
4244
|
+
const dcTerminalKey = int7hguekopfTarget.guid_dcterminalm1 + int7hguekopfTarget.guid_dcterminalm2;
|
|
4245
|
+
const dcTerminalM3UUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, dcTerminalKey);
|
|
4246
|
+
const dcTerminal = new DCTerminal_1.DCTerminal(dcTerminalM3UUID, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCT'], 32, true));
|
|
4247
|
+
dcTerminal.dCConductingEquipment = dcLineSegmentNeutral;
|
|
4248
|
+
dcTerminal.dcNode = dcNodeTargetMiddle;
|
|
4249
|
+
dcLineSegmentNeutral.dCTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4250
|
+
dcNodeTargetMiddle.dcTerminals.set(dcTerminal.getUUID(), dcTerminal);
|
|
4251
|
+
cimModel.addDCTerminal(dcTerminal);
|
|
4252
|
+
}
|
|
4253
|
+
else {
|
|
4254
|
+
this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten NEG. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
|
|
4255
|
+
}
|
|
4256
|
+
/** Create OperationalLimitSets */
|
|
4257
|
+
for (const obj of dcLineSegmentSet) {
|
|
4258
|
+
for (const dCT of obj.dCTerminals.values()) {
|
|
4259
|
+
const dcTerminal = dCT;
|
|
4260
|
+
const equipmentKey = dcTerminal.getUUID();
|
|
4261
|
+
for (const elem of dcTerminal.dcNode.dcTerminals.values()) {
|
|
4262
|
+
if (elem instanceof ACDCConverterDCTerminal_1.ACDCConverterDCTerminal) {
|
|
4263
|
+
const pR = elem.dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4264
|
+
const uR = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4265
|
+
if (pR != undefined && uR != undefined) {
|
|
4266
|
+
let ir = (pR * Math.pow(10, 6)) / (uR * Math.pow(10, 3)); //assumption: pr is BaseS
|
|
4267
|
+
if (bipole) {
|
|
4268
|
+
ir = ir / 2;
|
|
4269
|
+
}
|
|
4270
|
+
this.setConductingEquipmentOperationalLimit(cimModel, obj.name, dCT, equipmentKey, ir, cim_class_names_1.ClassNames.CurrentLimit);
|
|
4271
|
+
}
|
|
4272
|
+
}
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
}
|
|
4122
4276
|
cimModel.addDCLine(dcLine);
|
|
4123
4277
|
cimModel.addDCLineSegment(dcLineSegment);
|
|
4124
|
-
|
|
4278
|
+
cimModel.addDCConverterUnit(converterUnitStartGround);
|
|
4279
|
+
cimModel.addDCConverterUnit(converterUnitTargetGround);
|
|
4280
|
+
if (bipole && dcLineNeg && dcLineSegmentNeg) {
|
|
4125
4281
|
cimModel.addDCLine(dcLineNeg);
|
|
4126
4282
|
cimModel.addDCLineSegment(dcLineSegmentNeg);
|
|
4283
|
+
cimModel.addDCConverterUnit(converterUnitStartNeg);
|
|
4284
|
+
cimModel.addDCConverterUnit(converterUnitTargetNeg);
|
|
4285
|
+
}
|
|
4286
|
+
if (dcLineNeutral && dcLineSegmentNeutral) {
|
|
4287
|
+
cimModel.addDCLine(dcLineNeutral);
|
|
4288
|
+
cimModel.addDCLineSegment(dcLineSegmentNeutral);
|
|
4127
4289
|
}
|
|
4128
4290
|
this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
|
|
4129
4291
|
}
|
|
@@ -4147,6 +4309,8 @@ class ConverterIntegral7 {
|
|
|
4147
4309
|
typTrafo.iLeer = i7Data.i_leer;
|
|
4148
4310
|
typTrafo.ukr = i7Data.ukr;
|
|
4149
4311
|
typTrafo.pkr = i7Data.pkr;
|
|
4312
|
+
impedance_utils_1.ImpedanceUtils.extendTrafo2WAssetTypeByCim(typTrafo);
|
|
4313
|
+
impedance_utils_1.ImpedanceUtils.extendTrafo2WAssetTypeByPandaPower(typTrafo);
|
|
4150
4314
|
typTrafo.schaltgruppe = i7Data.schaltgr;
|
|
4151
4315
|
typTrafo.spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? (0, parser_utils_1.convertToNumberI7)(i7Data.trafo_spezial) : undefined;
|
|
4152
4316
|
typTrafo.x00r1 = i7Data.x00r1;
|
|
@@ -4312,7 +4476,10 @@ class ConverterIntegral7 {
|
|
|
4312
4476
|
if (i7Data.ur2 === 25) {
|
|
4313
4477
|
const stop = true;
|
|
4314
4478
|
}
|
|
4315
|
-
|
|
4479
|
+
if (uuid === 'a4480d0ac6e0413eb2ef683bf7b171a6') {
|
|
4480
|
+
let stop = true;
|
|
4481
|
+
}
|
|
4482
|
+
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);
|
|
4316
4483
|
const facility = util_cim_model_1.UtilCimModel.createFacilityInstanceForPsr(cimModel, powerTransformer, cim_constants_1.CimAssetAliasNames.Transformer, this.configUuid);
|
|
4317
4484
|
/** AssetInfos */
|
|
4318
4485
|
if (i7Data.baujahr) {
|
|
@@ -4326,7 +4493,7 @@ class ConverterIntegral7 {
|
|
|
4326
4493
|
this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
|
|
4327
4494
|
}
|
|
4328
4495
|
const i7Schluessel = (substation === null || substation === void 0 ? void 0 : substation.key) +
|
|
4329
|
-
integral_prefix_1.
|
|
4496
|
+
integral_prefix_1.TRAFO2W_PRAEFIX +
|
|
4330
4497
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4331
4498
|
powerTransformer.key = i7Schluessel;
|
|
4332
4499
|
if (powerTransformer.getUUID() === '515508dc-5982-4686-ad26-08d39db91421') {
|
|
@@ -4370,22 +4537,38 @@ class ConverterIntegral7 {
|
|
|
4370
4537
|
// Wicklung 1
|
|
4371
4538
|
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}`);
|
|
4372
4539
|
powerTransformerEnd1.endNumber = 1;
|
|
4373
|
-
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '');
|
|
4374
|
-
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '');
|
|
4540
|
+
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '12', false);
|
|
4541
|
+
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '12', false);
|
|
4375
4542
|
const sr = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
|
|
4376
|
-
const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo,
|
|
4543
|
+
const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4544
|
+
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4377
4545
|
const sdauer = (0, parser_utils_1.isNumericI7)(i7Data.s_dauer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.s_dauer) : sr;
|
|
4378
4546
|
// P0 Lastverluste im I7 Modell p_leer
|
|
4379
4547
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4380
4548
|
// Leerlaufverluste
|
|
4381
4549
|
const iLeer = (0, utils_2.getTrafoIleer)(i7Data, powerTransformerInfo);
|
|
4382
4550
|
// Berechnung
|
|
4383
|
-
powerTransformerEnd1.r = (0, utils_2.calculateR)(ur, pkr, sr);
|
|
4384
|
-
powerTransformerEnd1.x = (0, utils_2.calculateX)(ur, ukr, sr);
|
|
4385
4551
|
// TODO was ist P0 in I7 Trafomodell
|
|
4386
4552
|
// P0 Lastverluste abhängig von Last
|
|
4387
|
-
|
|
4388
|
-
|
|
4553
|
+
if (powerTransformer.getUUID() === '3a2bfb03-28bd-4505-8579-e8e648357ce1') {
|
|
4554
|
+
const stop = true;
|
|
4555
|
+
}
|
|
4556
|
+
if (powerTransformer.getUUID() === '87e6221e-d850-4efe-a924-f7d1d751705e') {
|
|
4557
|
+
const stop = true;
|
|
4558
|
+
}
|
|
4559
|
+
if (powerTransformer.getUUID() === 'a4480d0ac6e0413eb2ef683bf7b171a6') {
|
|
4560
|
+
let stop = true;
|
|
4561
|
+
}
|
|
4562
|
+
if (ur >= ur2) {
|
|
4563
|
+
powerTransformerEnd1.g = (0, utils_2.calculateG)(ur, pLeer);
|
|
4564
|
+
powerTransformerEnd1.b = (0, utils_2.calculateB)(ur, sr, iLeer, pLeer);
|
|
4565
|
+
powerTransformerEnd1.r = (0, utils_2.calculateR)(ur, pkr, sr);
|
|
4566
|
+
powerTransformerEnd1.x = (0, utils_2.calculateX)(ur, ukr, sr, powerTransformerEnd1.r);
|
|
4567
|
+
}
|
|
4568
|
+
else {
|
|
4569
|
+
powerTransformerEnd1.r = 0;
|
|
4570
|
+
powerTransformerEnd1.x = 0;
|
|
4571
|
+
}
|
|
4389
4572
|
powerTransformerEnd1.ratedU = ur;
|
|
4390
4573
|
powerTransformerEnd1.ratedS = sr;
|
|
4391
4574
|
//Short-Circuit data export EQ-SC profile //TODO: Read data for enervancetransformertype object.
|
|
@@ -4421,10 +4604,17 @@ class ConverterIntegral7 {
|
|
|
4421
4604
|
const powerTransformerEnd2 = new PowerTransformerEnd_1.PowerTransformerEnd((0, parser_utils_1.getUUID)(i7Data.guid_w2, this.objectMappingConfig.standardiseUuid), `W2-${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
4422
4605
|
powerTransformerEnd2.endNumber = 2;
|
|
4423
4606
|
const sr2 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
|
|
4424
|
-
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
|
|
4425
4607
|
// Berechnung
|
|
4426
|
-
|
|
4427
|
-
|
|
4608
|
+
if (ur2 > ur) {
|
|
4609
|
+
powerTransformerEnd2.g = (0, utils_2.calculateG)(ur2, pLeer);
|
|
4610
|
+
powerTransformerEnd2.b = (0, utils_2.calculateB)(ur2, sr2, iLeer, pLeer);
|
|
4611
|
+
powerTransformerEnd2.r = (0, utils_2.calculateR)(ur2, pkr, sr2);
|
|
4612
|
+
powerTransformerEnd2.x = (0, utils_2.calculateX)(ur2, ukr, sr2, powerTransformerEnd2.r);
|
|
4613
|
+
}
|
|
4614
|
+
else {
|
|
4615
|
+
powerTransformerEnd2.r = 0;
|
|
4616
|
+
powerTransformerEnd2.x = 0;
|
|
4617
|
+
}
|
|
4428
4618
|
powerTransformerEnd2.ratedS = sr2;
|
|
4429
4619
|
powerTransformerEnd2.ratedU = ur2;
|
|
4430
4620
|
/* const ziel = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
|
|
@@ -4447,10 +4637,16 @@ class ConverterIntegral7 {
|
|
|
4447
4637
|
powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
4448
4638
|
powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
|
|
4449
4639
|
powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
4640
|
+
if (uuid === '402aec99-ba2c-42fa-b4ed-b4928901f47b') {
|
|
4641
|
+
let stop = true;
|
|
4642
|
+
}
|
|
4450
4643
|
// NullSystem Impedanzen (nur Reaktanzen)
|
|
4451
|
-
let starconnectionCount = (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer);
|
|
4452
|
-
|
|
4453
|
-
|
|
4644
|
+
let starconnectionCount = (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) <= 1 ? (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) : 1;
|
|
4645
|
+
const retVal = (0, utils_2.calculateComplexZeroSequImpedanzenTrafo)([r0kr1, x0kr1, r0kr2, x0kr2], [r00r1, x00r1, r00r2, x00r2], [ur, ur2], starconnectionCount, powerTransformer);
|
|
4646
|
+
if (retVal[1] == false) { //return value is false, thus there was an error in computation
|
|
4647
|
+
this.logger.warn(`PowerTransformer3W ${i7Data.id} ${powerTransformer.mrid} hat unterbestimmte Definitionen in den Nullsystemdaten.`);
|
|
4648
|
+
}
|
|
4649
|
+
const zeroSequImpedanzWx = retVal[0];
|
|
4454
4650
|
powerTransformerEnd1.x0 = zeroSequImpedanzWx.x01;
|
|
4455
4651
|
powerTransformerEnd1.r0 = zeroSequImpedanzWx.r01;
|
|
4456
4652
|
powerTransformerEnd2.x0 = zeroSequImpedanzWx.x02;
|
|
@@ -4540,7 +4736,7 @@ class ConverterIntegral7 {
|
|
|
4540
4736
|
}
|
|
4541
4737
|
const facility = util_cim_model_1.UtilCimModel.createFacilityInstanceForPsr(cimModel, powerTransformer, cim_constants_1.CimAssetAliasNames.Transformer, this.configUuid);
|
|
4542
4738
|
const i7Schluessel = (substation === null || substation === void 0 ? void 0 : substation.key) +
|
|
4543
|
-
integral_prefix_1.
|
|
4739
|
+
integral_prefix_1.TRAFO3W_PRAEFIX +
|
|
4544
4740
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4545
4741
|
powerTransformer.key = i7Schluessel;
|
|
4546
4742
|
/** AssetInfos */
|
|
@@ -4560,9 +4756,6 @@ class ConverterIntegral7 {
|
|
|
4560
4756
|
else {
|
|
4561
4757
|
powerTransformer.isPartOfGeneratorUnit = false;
|
|
4562
4758
|
}
|
|
4563
|
-
if (i7Data.nametyp) {
|
|
4564
|
-
const stop = true;
|
|
4565
|
-
}
|
|
4566
4759
|
const x00r1 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'x00r1');
|
|
4567
4760
|
const x0kr1 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'x0kr1');
|
|
4568
4761
|
const x00r2 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'x00r2');
|
|
@@ -4571,12 +4764,12 @@ class ConverterIntegral7 {
|
|
|
4571
4764
|
const r0kr1 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'r0kr1');
|
|
4572
4765
|
const r00r2 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'r00r2');
|
|
4573
4766
|
const r0kr2 = (0, utils_2.getX0R0Transformer)(i7Data, powerTransformerInfo, 'r0kr2');
|
|
4574
|
-
const pkr12 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '12');
|
|
4575
|
-
const pkr13 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '13');
|
|
4576
|
-
const pkr23 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '23');
|
|
4577
|
-
const ukr12 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '12');
|
|
4578
|
-
const ukr13 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '13');
|
|
4579
|
-
const ukr23 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '23');
|
|
4767
|
+
const pkr12 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '12', true);
|
|
4768
|
+
const pkr13 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '13', true);
|
|
4769
|
+
const pkr23 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '23', true);
|
|
4770
|
+
const ukr12 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '12', true);
|
|
4771
|
+
const ukr13 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '13', true);
|
|
4772
|
+
const ukr23 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '23', true);
|
|
4580
4773
|
const sr1 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 1, true);
|
|
4581
4774
|
const sr2 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 2, true);
|
|
4582
4775
|
const sr3 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 3, true);
|
|
@@ -4590,13 +4783,19 @@ class ConverterIntegral7 {
|
|
|
4590
4783
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4591
4784
|
// Leerlaufstrom bezogen auf Wicklung mit dem grössten Sr in %
|
|
4592
4785
|
const iLeer = (0, utils_2.getTrafoIleer)(i7Data, powerTransformerInfo);
|
|
4786
|
+
if (powerTransformer.getUUID() === '3f58ef46-918f-44d4-8b53-d4078caa2d92') {
|
|
4787
|
+
const stop = true;
|
|
4788
|
+
}
|
|
4789
|
+
if (powerTransformer.getUUID() === '1a74be35-0fd7-4295-bd02-e1413b183a4d') {
|
|
4790
|
+
const stop = true;
|
|
4791
|
+
}
|
|
4792
|
+
if (powerTransformer.getUUID() === '2f5150da-57be-40e8-a629-88cf4afe44e0') {
|
|
4793
|
+
const stop = true;
|
|
4794
|
+
}
|
|
4593
4795
|
// Impedanzen //TODO: prove if rated voltage is correct!!! current assumption: ur1>ur2>ur3
|
|
4594
|
-
const impedanzW1 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
|
|
4595
|
-
const impedanzW2 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(2, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
|
|
4796
|
+
const impedanzW1 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, ur1 >= ur2 ? pLeer : 0, ur1 >= ur2 ? iLeer : 0);
|
|
4797
|
+
const impedanzW2 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(2, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, ur1 < ur2 ? pLeer : 0, ur1 < ur2 ? iLeer : 0);
|
|
4596
4798
|
const impedanzW3 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(3, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
|
|
4597
|
-
if (powerTransformer.getUUID() === '120a9c2c93ff4a81b494ff63d356c266') {
|
|
4598
|
-
let stop = true;
|
|
4599
|
-
}
|
|
4600
4799
|
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}`);
|
|
4601
4800
|
powerTransformerEnd1.endNumber = 1;
|
|
4602
4801
|
// Topologie
|
|
@@ -4647,9 +4846,6 @@ class ConverterIntegral7 {
|
|
|
4647
4846
|
equivalentInjection = this.createBoundaryEquivalentInjection(frame, tmp_cn);
|
|
4648
4847
|
}
|
|
4649
4848
|
}
|
|
4650
|
-
if (powerTransformer.mrid === '49afe40b-89cc-419f-afc5-f330c6589f82') {
|
|
4651
|
-
const stop = true;
|
|
4652
|
-
}
|
|
4653
4849
|
//set transformer end winding connection
|
|
4654
4850
|
powerTransformerEnd1.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd1.endNumber, powerTransformerEnd1.grounded);
|
|
4655
4851
|
powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
@@ -4791,9 +4987,6 @@ class ConverterIntegral7 {
|
|
|
4791
4987
|
const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
|
|
4792
4988
|
const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
|
|
4793
4989
|
const connectivityNode = cimModel.getObject(cnUUID);
|
|
4794
|
-
if (cnUUID !== undefined) {
|
|
4795
|
-
const stop = true;
|
|
4796
|
-
}
|
|
4797
4990
|
try {
|
|
4798
4991
|
this.convertTapChangers(i7Data, powerTransformerEnds, cimModel, powerTransformerInfo, connectivityNode, spannungsband);
|
|
4799
4992
|
}
|
|
@@ -4982,14 +5175,14 @@ class ConverterIntegral7 {
|
|
|
4982
5175
|
//if (winding1) {
|
|
4983
5176
|
powerTransformer.powerTransformerEnd[0].endNumber = 1;
|
|
4984
5177
|
powerTransformer.powerTransformerEnd[1].endNumber = 2;
|
|
4985
|
-
powerTransformer.powerTransformerEnd[1].phaseAngleClock = 12 - powerTransformer.powerTransformerEnd[0].phaseAngleClock;
|
|
5178
|
+
powerTransformer.powerTransformerEnd[1].phaseAngleClock = (12 - powerTransformer.powerTransformerEnd[0].phaseAngleClock) % 12;
|
|
4986
5179
|
powerTransformer.powerTransformerEnd[0].phaseAngleClock = 0;
|
|
4987
5180
|
//} else {
|
|
4988
5181
|
// const isNull = true;
|
|
4989
5182
|
//}
|
|
4990
5183
|
}
|
|
4991
5184
|
}
|
|
4992
|
-
setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, defaultValuesConfig) {
|
|
5185
|
+
setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, cable, defaultValuesConfig) {
|
|
4993
5186
|
if ((0, parser_utils_1.isBooleanI7)(data.flag_impedanzlos) && (0, parser_utils_1.convertToBooleanI7)(data.flag_impedanzlos)) {
|
|
4994
5187
|
data.flag_impedanzlos = 1;
|
|
4995
5188
|
}
|
|
@@ -5004,7 +5197,7 @@ class ConverterIntegral7 {
|
|
|
5004
5197
|
else {
|
|
5005
5198
|
acLineSegment.length = 1;
|
|
5006
5199
|
}
|
|
5007
|
-
const assetType = defaultModel.getWireInfoByName(data.nametyp);
|
|
5200
|
+
const assetType = defaultModel.getWireInfoByName(data.nametyp, cable);
|
|
5008
5201
|
// r0
|
|
5009
5202
|
if ((0, parser_utils_1.isNumericI7)(data.r0) && data.r0 > 0 && !data.flag_impedanzlos) {
|
|
5010
5203
|
acLineSegment.r0 = data.r0;
|
|
@@ -5140,7 +5333,7 @@ class ConverterIntegral7 {
|
|
|
5140
5333
|
createIfNotExistOperationalLimitType(cimModel, name, type, direction) {
|
|
5141
5334
|
let operationalLimitType = cimModel.getOperationalLimitTypeByName(name);
|
|
5142
5335
|
if (!operationalLimitType) {
|
|
5143
|
-
const key = type + direction;
|
|
5336
|
+
const key = type + direction + cimModel.geographicalRegions.values().next().value.mrid;
|
|
5144
5337
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.OperationalLimitType, this.configUuid, key);
|
|
5145
5338
|
operationalLimitType = new OperationalLimitType_1.OperationalLimitType(uuid, name);
|
|
5146
5339
|
operationalLimitType.direction = direction;
|
|
@@ -5171,9 +5364,6 @@ class ConverterIntegral7 {
|
|
|
5171
5364
|
terminal.conductingEquipment = conductingEquipment;
|
|
5172
5365
|
conductingEquipment.addTerminal(terminal);
|
|
5173
5366
|
terminal.connected = (terminal.connected !== undefined) ? terminal.connected : connected;
|
|
5174
|
-
if (terminal.connected === false) {
|
|
5175
|
-
const stop = true;
|
|
5176
|
-
}
|
|
5177
5367
|
if (!isNameSet) {
|
|
5178
5368
|
terminal.name = (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
5179
5369
|
}
|
|
@@ -5181,6 +5371,7 @@ class ConverterIntegral7 {
|
|
|
5181
5371
|
return terminal;
|
|
5182
5372
|
}
|
|
5183
5373
|
createBoundaryConnection(frame, conductingEquipment, i7ObjectID, phase) {
|
|
5374
|
+
var _a;
|
|
5184
5375
|
const cimModel = frame.cimModel;
|
|
5185
5376
|
const anschlussUUID = this.integralID2UUID.get(i7ObjectID);
|
|
5186
5377
|
let terminal = undefined;
|
|
@@ -5211,7 +5402,7 @@ class ConverterIntegral7 {
|
|
|
5211
5402
|
const key = cn.getUUID() + (conductingEquipment === null || conductingEquipment === void 0 ? void 0 : conductingEquipment.getUUID());
|
|
5212
5403
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
|
|
5213
5404
|
terminal = new Terminal_1.Terminal(uuid, (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_', cn.getUUID().substring(0, 8), '_BD_T']));
|
|
5214
|
-
/**
|
|
5405
|
+
/** wichtig uuid zu setzen, da sonst ein memory leak entsteht */
|
|
5215
5406
|
terminal.connectivityNodeUUID = cn.mrid;
|
|
5216
5407
|
terminal.phases = phase;
|
|
5217
5408
|
terminal.connected = true;
|
|
@@ -5237,6 +5428,8 @@ class ConverterIntegral7 {
|
|
|
5237
5428
|
}
|
|
5238
5429
|
if (cn) {
|
|
5239
5430
|
this.annotateBoundaryNode(frame.name, frame.isoCode, frame.tsoName, cn);
|
|
5431
|
+
const int7id = (_a = this.UUID2Integral7ID.get(cn.getSubstation().getUUID())) === null || _a === void 0 ? void 0 : _a[0];
|
|
5432
|
+
frame.integral7Modell.currentSitesBoundary.set(int7id, frameBD.integral7Modell.integralStandorte.get(int7id));
|
|
5240
5433
|
}
|
|
5241
5434
|
else {
|
|
5242
5435
|
this.logger.error(`error --- Für das Objekt ${conductingEquipment.constructor.name} ${conductingEquipment.getUUID()} / ${conductingEquipment.equipmentContainer.constructor.name} ${conductingEquipment.equipmentContainer.getUUID()} konnte am I7-Objekt ${i7ObjectID} kein Grenzknoten bestimmt werden`);
|
|
@@ -5264,7 +5457,7 @@ class ConverterIntegral7 {
|
|
|
5264
5457
|
createBoundaryEquivalentInjection(frame, cn) {
|
|
5265
5458
|
let equivalentInjection = undefined;
|
|
5266
5459
|
//Test if frame is boundary.
|
|
5267
|
-
if (
|
|
5460
|
+
if (true /*frame.boundary*/) {
|
|
5268
5461
|
//Test if boundary Injection for this mas already exists
|
|
5269
5462
|
let equivinj_exists = false;
|
|
5270
5463
|
frame.cimModel.equivalentInjections.forEach((equivinj, uuid) => {
|
|
@@ -5359,15 +5552,6 @@ class ConverterIntegral7 {
|
|
|
5359
5552
|
* 2 - Niederspannungsseite (Anschluss 3)
|
|
5360
5553
|
* 3 - Externer Knoten
|
|
5361
5554
|
* */
|
|
5362
|
-
if (powerTransformerEnds[0] && powerTransformerEnds[0].getTerminal() === undefined) {
|
|
5363
|
-
const stop = true;
|
|
5364
|
-
}
|
|
5365
|
-
if (powerTransformerEnds[1] && powerTransformerEnds[1].getTerminal() === undefined) {
|
|
5366
|
-
const stop = true;
|
|
5367
|
-
}
|
|
5368
|
-
if (powerTransformerEnds[2] && powerTransformerEnds[2].getTerminal() === undefined) {
|
|
5369
|
-
const stop = true;
|
|
5370
|
-
}
|
|
5371
5555
|
let tempKnotenId = i7Data.spgreg_anschluss === 0 ? this.UUID2Integral7ID.get((_a = powerTransformerEnds[0].getTerminal()) === null || _a === void 0 ? void 0 : _a.getConnectivityNodeUUID())[0] : undefined;
|
|
5372
5556
|
tempKnotenId = i7Data.spgreg_anschluss === 1 ? this.UUID2Integral7ID.get((_b = powerTransformerEnds[1].getTerminal()) === null || _b === void 0 ? void 0 : _b.getConnectivityNodeUUID())[0] : tempKnotenId;
|
|
5373
5557
|
tempKnotenId = i7Data.spgreg_anschluss === 2 ? this.UUID2Integral7ID.get((_c = powerTransformerEnds[2].getTerminal()) === null || _c === void 0 ? void 0 : _c.getConnectivityNodeUUID())[0] : tempKnotenId;
|
|
@@ -5700,6 +5884,9 @@ class ConverterIntegral7 {
|
|
|
5700
5884
|
// Topologie
|
|
5701
5885
|
powerTransformerEnd.terminal = terminal;
|
|
5702
5886
|
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);
|
|
5887
|
+
if (powerTransformer.getUUID() === '4d14cd95-215c-45f3-8136-b06d69ee0191') {
|
|
5888
|
+
const stop = true;
|
|
5889
|
+
}
|
|
5703
5890
|
let isTrafo2w = i7Data.trafowicklung3w3 === undefined ? true : false;
|
|
5704
5891
|
// Erdung / Sternpunkt
|
|
5705
5892
|
if (sternpunktKnotenMap.has(i7Data.id) && isTrafo2w) {
|
|
@@ -5902,9 +6089,6 @@ class ConverterIntegral7 {
|
|
|
5902
6089
|
uMax = uMax * invert;
|
|
5903
6090
|
//test for uMin and uMax voltage add are not symmetrical...
|
|
5904
6091
|
if (Math.abs(lowerVoltageStepDecrement) !== Math.abs(upperVoltageStepIncrement) || uMax < uMin || uMax === uMin || ratioPhaseTapChangerPresent) {
|
|
5905
|
-
if (uMax === uMin) {
|
|
5906
|
-
const stop = true;
|
|
5907
|
-
}
|
|
5908
6092
|
const keyTable = ratioTapChanger === null || ratioTapChanger === void 0 ? void 0 : ratioTapChanger.getUUID();
|
|
5909
6093
|
const uuidTable = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.RatioTapChangerTable, this.configUuid, keyTable);
|
|
5910
6094
|
const ratioTapChangerTable = new RatioTapChangerTable_1.RatioTapChangerTable(uuidTable, `${i7Data.bezeichner} W_${tapChangerNumber}`);
|
|
@@ -5979,9 +6163,6 @@ class ConverterIntegral7 {
|
|
|
5979
6163
|
* */
|
|
5980
6164
|
/** Regelung */
|
|
5981
6165
|
const ratioTapChanger = new RatioTapChanger_1.RatioTapChanger((0, parser_utils_1.getUUID)(eval(`i7Data.guid_tch${tapChangerNumber}`), this.objectMappingConfig.standardiseUuid), `${transformerEnd.name} W_${transformerEnd.endNumber}`);
|
|
5982
|
-
if (ratioTapChanger.mrid === 'df659ba2-a075-4f7d-bdd6-6b038cae962a') {
|
|
5983
|
-
const stop = true;
|
|
5984
|
-
}
|
|
5985
6166
|
ratioTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`) ? !(0, parser_utils_1.convertToBooleanI7)(`i7Data.unter_last_nicht_verstellbar_s${gestufteSeite}`) : false;
|
|
5986
6167
|
ratioTapChanger.transformerEnd = transformerEnd;
|
|
5987
6168
|
//transformerEnd.ratioTapChanger = ratioTapChanger;
|
|
@@ -6081,12 +6262,6 @@ class ConverterIntegral7 {
|
|
|
6081
6262
|
break;
|
|
6082
6263
|
}
|
|
6083
6264
|
}
|
|
6084
|
-
if (phaseTapChanger.mrid === 'df659ba2-a075-4f7d-bdd6-6b038cae962a') {
|
|
6085
|
-
const stop = true;
|
|
6086
|
-
}
|
|
6087
|
-
if (phaseTapChanger.mrid === '3d0bdc23-fe46-408d-99b3-369a02d28a28') {
|
|
6088
|
-
const stop = true;
|
|
6089
|
-
}
|
|
6090
6265
|
// Attribute
|
|
6091
6266
|
phaseTapChanger.ltcFlag = (0, parser_utils_1.isNumericI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) ? (0, parser_utils_1.convertToBooleanI7)(eval(`i7Data.unter_last_nicht_verstellbar_s${tapChangerNumber}`)) : false;
|
|
6092
6267
|
phaseTapChanger.transformerEnd = transformerEnd;
|
|
@@ -6460,7 +6635,7 @@ function getDCNodeFromConverter(acDcConverter, polarity) {
|
|
|
6460
6635
|
}
|
|
6461
6636
|
return ret_val;
|
|
6462
6637
|
}
|
|
6463
|
-
function createDCGround(cimModel, acDCConverter, i7Data) {
|
|
6638
|
+
function createDCGround(cimModel, acDCConverter, dcConverterUnitGround, i7Data, bipole, dcLineNeutral) {
|
|
6464
6639
|
const dcConverterUnit = acDCConverter.equipmentContainer;
|
|
6465
6640
|
const dcGround = new DCGround_1.DCGround((0, parser_utils_1.getUUID)(i7Data.guid_dcground), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCG'], 32, true));
|
|
6466
6641
|
const dcTerminalG = new DCTerminal_1.DCTerminal((0, parser_utils_1.getUUID)(i7Data.guid_dcterminalg), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_DCG_DCT']));
|
|
@@ -6473,7 +6648,15 @@ function createDCGround(cimModel, acDCConverter, i7Data) {
|
|
|
6473
6648
|
dcTerminalM1.dcNode = dcNodeG;
|
|
6474
6649
|
dcGround.equipmentContainer = dcConverterUnit;
|
|
6475
6650
|
dcGround.dCTerminals.set(dcTerminalG.getUUID(), dcTerminalG);
|
|
6476
|
-
|
|
6651
|
+
if (bipole && dcLineNeutral !== undefined) {
|
|
6652
|
+
dcNodeG.dcEquipmentContainer = dcLineNeutral;
|
|
6653
|
+
}
|
|
6654
|
+
else if (bipole && dcLineNeutral === undefined) {
|
|
6655
|
+
dcNodeG.dcEquipmentContainer = dcConverterUnitGround;
|
|
6656
|
+
}
|
|
6657
|
+
else {
|
|
6658
|
+
dcNodeG.dcEquipmentContainer = dcConverterUnit;
|
|
6659
|
+
}
|
|
6477
6660
|
dcNodeG.dcTerminals.set(dcTerminalG.getUUID(), dcTerminalG);
|
|
6478
6661
|
dcNodeG.dcTerminals.set(dcTerminalM1.getUUID(), dcTerminalM1);
|
|
6479
6662
|
acDCConverter.dCTerminals.set(dcTerminalM1.getUUID(), dcTerminalM1);
|
|
@@ -6492,16 +6675,16 @@ function createDCGround(cimModel, acDCConverter, i7Data) {
|
|
|
6492
6675
|
* @param i7Data
|
|
6493
6676
|
* @param endNumber Start means a value of '1'. Target means a value of '2'.
|
|
6494
6677
|
*/
|
|
6495
|
-
function connectDCGround(cimModel,
|
|
6678
|
+
function connectDCGround(cimModel, i7Data, dcNode, polarity, acdcConverter) {
|
|
6496
6679
|
let dcTerminalMx = undefined;
|
|
6497
6680
|
let dcNodeG = dcNode;
|
|
6498
6681
|
const dcTerminalM1UUID = (0, parser_utils_1.getUUID)(i7Data.guid_dcterminalm1);
|
|
6499
6682
|
const dcTerminalM2UUID = (0, parser_utils_1.getUUID)(i7Data.guid_dcterminalm2);
|
|
6500
6683
|
if (dcNodeG.dcTerminals.get(dcTerminalM1UUID)) {
|
|
6501
|
-
dcTerminalMx = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, parser_utils_1.getUUID)(dcTerminalM2UUID), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '
|
|
6684
|
+
dcTerminalMx = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, parser_utils_1.getUUID)(dcTerminalM2UUID), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_MID_DCT']));
|
|
6502
6685
|
}
|
|
6503
6686
|
else {
|
|
6504
|
-
dcTerminalMx = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, parser_utils_1.getUUID)(dcTerminalM1UUID), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '
|
|
6687
|
+
dcTerminalMx = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, parser_utils_1.getUUID)(dcTerminalM1UUID), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_MID_DCT']));
|
|
6505
6688
|
}
|
|
6506
6689
|
dcTerminalMx.polarity = polarity;
|
|
6507
6690
|
dcNodeG.dcTerminals.set(dcTerminalMx.getUUID(), dcTerminalMx);
|