@enervance/insight-cim-model 0.0.267 → 0.0.269-beta10
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/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 +5 -0
- package/dist/converter/integral7/config/integral-prefix.js +6 -1
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter.integral7.d.ts +10 -4
- package/dist/converter/integral7/converter.integral7.js +675 -334
- package/dist/converter/integral7/converter.integral7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +3 -0
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js +7 -9
- package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
- package/dist/converter/integral7/dl-convert/executor.d.ts +31 -3
- package/dist/converter/integral7/dl-convert/executor.js +90 -24
- package/dist/converter/integral7/dl-convert/executor.js.map +1 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +28 -12
- package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/default-values-config.interface.d.ts +3 -0
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +10 -8
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +17 -10
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/integral/Netzbereich.d.ts +15 -0
- package/dist/converter/integral7/model/integral/Netzbereich.js +23 -0
- package/dist/converter/integral7/model/integral/Netzbereich.js.map +1 -0
- package/dist/converter/integral7/model/integral/NetzbereichAussen.d.ts +7 -0
- package/dist/converter/integral7/model/integral/NetzbereichAussen.js +12 -0
- package/dist/converter/integral7/model/integral/NetzbereichAussen.js.map +1 -0
- package/dist/converter/integral7/model/integral/NetzbereichInnen.d.ts +7 -0
- package/dist/converter/integral7/model/integral/NetzbereichInnen.js +12 -0
- package/dist/converter/integral7/model/integral/NetzbereichInnen.js.map +1 -0
- package/dist/converter/integral7/model/integral/NetzbereichRand.d.ts +7 -0
- package/dist/converter/integral7/model/integral/NetzbereichRand.js +12 -0
- package/dist/converter/integral7/model/integral/NetzbereichRand.js.map +1 -0
- package/dist/converter/integral7/model/interfaces.d.ts +45 -0
- package/dist/converter/integral7/model/interfaces.js.map +1 -1
- package/dist/converter/integral7/sql/integral.sql.d.ts +11 -0
- package/dist/converter/integral7/sql/integral.sql.js +56 -3
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.d.ts +0 -0
- package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js +2 -0
- package/dist/converter/integral7/tp-bd-profile/convert-functions/convert-netzbereiche.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.d.ts +8 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js +13 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundaryPoint.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.d.ts +15 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js +38 -0
- package/dist/converter/integral7/tp-bd-profile/model/BoundarySet.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.d.ts +8 -0
- package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js +13 -0
- package/dist/converter/integral7/tp-bd-profile/model/ExternalPoint.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.d.ts +8 -0
- package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js +13 -0
- package/dist/converter/integral7/tp-bd-profile/model/InternalPoint.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.d.ts +8 -0
- package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js +9 -0
- package/dist/converter/integral7/tp-bd-profile/model/convert-net-equivalent.model.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.d.ts +9 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js +82 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.d.ts +25 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js +3 -0
- package/dist/converter/integral7/tp-bd-profile/tb-bd-converter.utilities.types.js.map +1 -0
- package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.d.ts +23 -0
- package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js +244 -0
- package/dist/converter/integral7/tp-bd-profile/tp-bd-converter.js.map +1 -0
- package/dist/converter/integral7/utils-cgmes-export.d.ts +1 -0
- package/dist/converter/integral7/utils-cgmes-export.js +9 -1
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +12 -3
- package/dist/converter/integral7/utils.js +91 -14
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
- package/dist/data-structures/graph/graph-util.d.ts +1 -1
- package/dist/data-structures/graph/graph-util.js +1 -1
- package/dist/data-structures/graph/graph-util.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
- package/dist/etl/etl-neplan/neplan-contingency-analysis.d.ts +8 -0
- package/dist/etl/etl-neplan/neplan-contingency-analysis.js +170 -22
- package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/model/core/ITerminal.d.ts +1 -1
- package/dist/model/core/ConductingEquipment.d.ts +1 -1
- package/dist/model/core/ConductingEquipment.js +2 -2
- package/dist/model/core/ConductingEquipment.js.map +1 -1
- package/dist/model/core/ConnectivityNode.js +2 -2
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/IdentifiedObject.js +8 -0
- package/dist/model/core/IdentifiedObject.js.map +1 -1
- package/dist/model/dc/ACDCConverter.js +0 -2
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/DCLineSegment.d.ts +2 -0
- package/dist/model/dc/DCLineSegment.js +16 -0
- package/dist/model/dc/DCLineSegment.js.map +1 -1
- package/dist/model/dc/VsCapabilityCurve.js.map +1 -1
- package/dist/model/dc/VsConverter.d.ts +1 -0
- package/dist/model/dc/VsConverter.js +13 -0
- package/dist/model/dc/VsConverter.js.map +1 -1
- package/dist/model/diagram/Diagram.js +2 -2
- package/dist/model/diagram/Diagram.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +2 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.d.ts +1 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer2WInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.d.ts +3 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js +14 -0
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformer3WInfo.js.map +1 -1
- package/dist/model/extensions/integral/assetinfo/INTEGRALPowerTransformerInfo.js.map +1 -1
- package/dist/model/extensions/integral/dc/DCLineSegment.d.ts +10 -0
- package/dist/model/extensions/integral/dc/DCLineSegment.js +31 -0
- package/dist/model/extensions/integral/dc/DCLineSegment.js.map +1 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.d.ts +2 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +8 -0
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +26 -5
- package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +12 -2
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
- package/dist/model/operationallimits/ApparentPowerLimit.js +2 -2
- package/dist/model/operationallimits/ApparentPowerLimit.js.map +1 -1
- package/dist/model/topology/TopologicalNode.d.ts +1 -0
- package/dist/model/topology/TopologicalNode.js.map +1 -1
- package/dist/model/wires/GroundDisconnector.d.ts +4 -1
- package/dist/model/wires/GroundDisconnector.js +15 -1
- package/dist/model/wires/GroundDisconnector.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +7 -4
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/model/wires/SeriesCompensator.js +6 -4
- package/dist/model/wires/SeriesCompensator.js.map +1 -1
- package/dist/model/wires/Switch.js +1 -1
- package/dist/model/wires/Switch.js.map +1 -1
- package/dist/model-container/model/ModelContainer.d.ts +5 -1
- package/dist/model-container/model/ModelContainer.js +14 -0
- package/dist/model-container/model/ModelContainer.js.map +1 -1
- package/dist/util/util-create.js +9 -1
- package/dist/util/util-create.js.map +1 -1
- package/dist/utils2/import.utils.js +5 -1
- package/dist/utils2/import.utils.js.map +1 -1
- package/dist/utils2/parser.utils.d.ts +1 -0
- package/dist/utils2/parser.utils.js +5 -2
- package/dist/utils2/parser.utils.js.map +1 -1
- package/dist/utils2/sparql.utils.js +1 -1
- package/dist/utils2/sparql.utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _ConverterIntegral7_configurableDLConvertOptions;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.getGeoCoordinates = exports.ConverterIntegral7 = void 0;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
@@ -27,7 +28,6 @@ const CsConverter_1 = require("../../model/dc/CsConverter.js");
|
|
|
27
28
|
const CsOperatingModeKind_1 = require("../../model/dc/CsOperatingModeKind.js");
|
|
28
29
|
const DCConverterOperatingModeKind_1 = require("../../model/dc/DCConverterOperatingModeKind.js");
|
|
29
30
|
const DCLine_1 = require("../../model/dc/DCLine.js");
|
|
30
|
-
const DCLineSegment_1 = require("../../model/dc/DCLineSegment.js");
|
|
31
31
|
const DCNode_1 = require("../../model/dc/DCNode.js");
|
|
32
32
|
const DCTerminal_1 = require("../../model/dc/DCTerminal.js");
|
|
33
33
|
const VsConverter_1 = require("../../model/dc/VsConverter.js");
|
|
@@ -142,10 +142,25 @@ const INTEGRALPowerTransformer2WInfo_1 = require("../../model/extensions/integra
|
|
|
142
142
|
const impedance_utils_1 = require("./impedance.utils.js");
|
|
143
143
|
const util_cim_model_1 = require("./util-cim.model.js");
|
|
144
144
|
const EVAssetOriginKind_1 = require("../../model/extensions/enervance/assets/EVAssetOriginKind.js");
|
|
145
|
+
const PetersenCoilModeKind_1 = require("../../model/wires/PetersenCoilModeKind.js");
|
|
146
|
+
const GroundDisconnector_1 = require("../../model/wires/GroundDisconnector.js");
|
|
145
147
|
const i7_graph_utils_1 = require("./model/i7-graph-utils.js");
|
|
146
148
|
const TopologicalNode_1 = require("../../model/topology/TopologicalNode.js");
|
|
147
149
|
const geodata_util_1 = require("../../util/geodata.util.js");
|
|
150
|
+
const DCLineSegment_1 = require("../../model/extensions/integral/dc/DCLineSegment.js");
|
|
151
|
+
const tp_bd_converter_1 = require("./tp-bd-profile/tp-bd-converter.js");
|
|
148
152
|
class ConverterIntegral7 {
|
|
153
|
+
set configurableDLConvertOptions(arg) {
|
|
154
|
+
tslib_1.__classPrivateFieldSet(this, _ConverterIntegral7_configurableDLConvertOptions, arg, "f");
|
|
155
|
+
}
|
|
156
|
+
get configurableDLConvertOptions() {
|
|
157
|
+
return tslib_1.__classPrivateFieldGet(this, _ConverterIntegral7_configurableDLConvertOptions, "f");
|
|
158
|
+
}
|
|
159
|
+
/* ---------- ---------- ---------- */
|
|
160
|
+
/* ---------- ---------- ---------- */
|
|
161
|
+
// TP-BD-Converter related properties
|
|
162
|
+
// tpBdConverter: TpBdConverter;
|
|
163
|
+
/* ---------- ---------- ---------- */
|
|
149
164
|
constructor() {
|
|
150
165
|
/** Exportnetze gemäß Konfiguration */
|
|
151
166
|
this.exportFrames = new Map();
|
|
@@ -180,6 +195,99 @@ class ConverterIntegral7 {
|
|
|
180
195
|
this.ersatzZweigAnschlussKnotenIDs = new Set();
|
|
181
196
|
/** List of Blocktransformatoren */
|
|
182
197
|
this.blocktransformatoren = [];
|
|
198
|
+
_ConverterIntegral7_configurableDLConvertOptions.set(this, {});
|
|
199
|
+
}
|
|
200
|
+
convertWithNetzbereich(objectMappingConfig, defaultValuesConfig, energyTypesConfig, exportConfig, energySourceTypeMappingConfig, configUuid, tempDirPath, netEquivalentOptions) {
|
|
201
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
this.objectMappingConfig = objectMappingConfig;
|
|
203
|
+
this.defaultValuesConfig = defaultValuesConfig;
|
|
204
|
+
this.configUuid = configUuid;
|
|
205
|
+
try {
|
|
206
|
+
yield this.createColumnIndex();
|
|
207
|
+
yield this.configExportFrames(exportConfig, defaultValuesConfig, tempDirPath);
|
|
208
|
+
/** Typinformationen abfragen */
|
|
209
|
+
yield this.convertBetriebsmitteltypenKdrossel();
|
|
210
|
+
yield this.convertBetriebsmitteltypenLeitung();
|
|
211
|
+
yield this.convertBetriebsmitteltypenTrafo();
|
|
212
|
+
yield this.convertBetriebsmitteltypenGenerator();
|
|
213
|
+
yield this.convertBetriebsmitteltypenAsynchronmotor();
|
|
214
|
+
yield this.convertMultiplikationsfaktoren();
|
|
215
|
+
yield this.queryLeitungsAnschlussIDs();
|
|
216
|
+
yield this.queryTrafosAnschlussIDs();
|
|
217
|
+
yield this.queryHgueAnschlussIDs();
|
|
218
|
+
yield this.queryLDroselAnschlussIDs();
|
|
219
|
+
yield this.queryErsatzLaengsAnschlussIDs();
|
|
220
|
+
yield this.queryLkondensatorAnschlussIDs();
|
|
221
|
+
const tpBdConverter = new tp_bd_converter_1.TpBdConverter(this.mysqlController, this.logger, configUuid);
|
|
222
|
+
tpBdConverter.initDatabaseMetaData(this.availableTableNames);
|
|
223
|
+
tpBdConverter.setupLookupMaps(this.integralID2UUID);
|
|
224
|
+
tpBdConverter.setExportTempDirPath(tempDirPath);
|
|
225
|
+
/** BD Profile */
|
|
226
|
+
this.logger.debug('Convert BD Profiles');
|
|
227
|
+
console.log('Convert BD Profiles');
|
|
228
|
+
let boundaryEqUUId = undefined;
|
|
229
|
+
for (const entry of this.exportFramesBoundary.entries()) {
|
|
230
|
+
const geoRegionUUID = entry[0];
|
|
231
|
+
const frame = entry[1];
|
|
232
|
+
boundaryEqUUId = frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD);
|
|
233
|
+
const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
|
|
234
|
+
if (!geoRegion)
|
|
235
|
+
continue;
|
|
236
|
+
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
237
|
+
}
|
|
238
|
+
this.logger.debug('Convert MAS Profiles');
|
|
239
|
+
console.log('Convert MAS Profiles');
|
|
240
|
+
for (const entry of this.exportFrames.entries()) {
|
|
241
|
+
const geoRegionUUID = entry[0];
|
|
242
|
+
const frame = entry[1];
|
|
243
|
+
const geoRegion = frame.cimModel.getGeographicalRegion(geoRegionUUID);
|
|
244
|
+
if (!geoRegion)
|
|
245
|
+
continue;
|
|
246
|
+
this.logger.debug(`Convert MAS profile: ${frame.mas}`);
|
|
247
|
+
console.log(`Convert MAS profile: ${frame.mas}`);
|
|
248
|
+
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
249
|
+
if (boundaryEqUUId) {
|
|
250
|
+
frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_EQ, boundaryEqUUId);
|
|
251
|
+
}
|
|
252
|
+
frame.validateCIMModel();
|
|
253
|
+
yield tpBdConverter.convertNetzbereich(frame.cimModel, netEquivalentOptions.netzbereichID);
|
|
254
|
+
frame.purgeData();
|
|
255
|
+
const startTime = perf_hooks.performance.now();
|
|
256
|
+
frame.openXMLModel();
|
|
257
|
+
this.logger.debug(`Serialize MAS profile: ${frame.mas}`);
|
|
258
|
+
console.log(`Serialize MAS profile: ${frame.mas}`);
|
|
259
|
+
frame.serializeModel(defaultValuesConfig);
|
|
260
|
+
yield frame.closeXMLModel();
|
|
261
|
+
let endTime = perf_hooks.performance.now();
|
|
262
|
+
// frame.cimModel.purgeData();
|
|
263
|
+
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
264
|
+
}
|
|
265
|
+
this.logger.debug('Serialize TP-BD Profiles');
|
|
266
|
+
console.log('Serialize TP-BD Profiles');
|
|
267
|
+
// await tpBdConverter.serialize(defaultValuesConfig);
|
|
268
|
+
// this.logger.debug('Serialize Default Profile');
|
|
269
|
+
// this.exportFrameDefault.openXMLModel();
|
|
270
|
+
// this.exportFrameDefault.serializeModel(defaultValuesConfig);
|
|
271
|
+
// await this.exportFrameDefault.closeXMLModel();
|
|
272
|
+
return {
|
|
273
|
+
status: 'successful',
|
|
274
|
+
message: 'ok',
|
|
275
|
+
data: {
|
|
276
|
+
boundarySets: tpBdConverter.exportTopologyBoundaries,
|
|
277
|
+
frames: [...this.exportFrames.values()]
|
|
278
|
+
// net: frame,
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
catch (e) {
|
|
283
|
+
this.logger.error(e);
|
|
284
|
+
console.error('ERROR:' + e);
|
|
285
|
+
return { status: 'error', message: e.toString() };
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
yield this.dropColumnIndex();
|
|
289
|
+
}
|
|
290
|
+
});
|
|
183
291
|
}
|
|
184
292
|
/**
|
|
185
293
|
* Konvertiert das Netz aus der MySQL Datenbank
|
|
@@ -209,6 +317,7 @@ class ConverterIntegral7 {
|
|
|
209
317
|
yield this.queryErsatzLaengsAnschlussIDs();
|
|
210
318
|
yield this.queryLkondensatorAnschlussIDs();
|
|
211
319
|
/** BD Profile */
|
|
320
|
+
this.logger.debug('Convert BD Profiles');
|
|
212
321
|
console.log('Convert BD Profiles');
|
|
213
322
|
let boundaryEqUUId = undefined;
|
|
214
323
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
@@ -220,6 +329,7 @@ class ConverterIntegral7 {
|
|
|
220
329
|
continue;
|
|
221
330
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
222
331
|
}
|
|
332
|
+
this.logger.debug('Convert MAS Profiles');
|
|
223
333
|
console.log('Convert MAS Profiles');
|
|
224
334
|
for (const entry of this.exportFrames.entries()) {
|
|
225
335
|
const geoRegionUUID = entry[0];
|
|
@@ -228,6 +338,7 @@ class ConverterIntegral7 {
|
|
|
228
338
|
if (!geoRegion)
|
|
229
339
|
continue;
|
|
230
340
|
// frame.addDependentModel(RDF_XML.PROFILE_EQ_BD, this.exportFramesBoundary.entries().next()?.value[1].getModelUUID(RDF_XML.PROFILE_EQ_BD));
|
|
341
|
+
this.logger.debug(`Convert MAS profile: ${frame.mas}`);
|
|
231
342
|
console.log(`Convert MAS profile: ${frame.mas}`);
|
|
232
343
|
yield this.convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig);
|
|
233
344
|
if (boundaryEqUUId) {
|
|
@@ -237,6 +348,7 @@ class ConverterIntegral7 {
|
|
|
237
348
|
frame.purgeData();
|
|
238
349
|
const startTime = perf_hooks.performance.now();
|
|
239
350
|
frame.openXMLModel();
|
|
351
|
+
this.logger.debug(`Serialize MAS profile: ${frame.mas}`);
|
|
240
352
|
console.log(`Serialize MAS profile: ${frame.mas}`);
|
|
241
353
|
frame.serializeModel(defaultValuesConfig);
|
|
242
354
|
yield frame.closeXMLModel();
|
|
@@ -244,7 +356,7 @@ class ConverterIntegral7 {
|
|
|
244
356
|
frame.cimModel.purgeData();
|
|
245
357
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
246
358
|
}
|
|
247
|
-
|
|
359
|
+
this.logger.debug('Serialize BD Profiles');
|
|
248
360
|
for (const entry of this.exportFramesBoundary.entries()) {
|
|
249
361
|
const geoRegionUUID = entry[0];
|
|
250
362
|
const frame = entry[1];
|
|
@@ -263,7 +375,7 @@ class ConverterIntegral7 {
|
|
|
263
375
|
let endTime = perf_hooks.performance.now();
|
|
264
376
|
console.log(`\nSerializeModel ${geoRegion.name} ${(endTime - startTime) / 1000} seconds\n`);
|
|
265
377
|
}
|
|
266
|
-
|
|
378
|
+
this.logger.debug('Serialize Default Profile');
|
|
267
379
|
this.exportFrameDefault.openXMLModel();
|
|
268
380
|
this.exportFrameDefault.serializeModel(defaultValuesConfig);
|
|
269
381
|
yield this.exportFrameDefault.closeXMLModel();
|
|
@@ -290,6 +402,7 @@ class ConverterIntegral7 {
|
|
|
290
402
|
});
|
|
291
403
|
}
|
|
292
404
|
convertFrame(frame, geoRegion, objectMappingConfig, energyTypesConfig, defaultValuesConfig, energySourceTypeMappingConfig) {
|
|
405
|
+
var _a;
|
|
293
406
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
294
407
|
const integral7Modell = frame.getI7Model();
|
|
295
408
|
const cimModel = frame.cimModel;
|
|
@@ -488,9 +601,9 @@ class ConverterIntegral7 {
|
|
|
488
601
|
startTime = perf_hooks.performance.now();
|
|
489
602
|
const stpSchieneID = yield this.convertSternpunktSchienen(cimModel, integral7Modell, standortIDs);
|
|
490
603
|
/** KDrossel -> GroundingImpedance/PetersenCoil */
|
|
491
|
-
yield this.convertKdrossel(cimModel, integral7Modell, stpSchieneID);
|
|
604
|
+
yield this.convertKdrossel(cimModel, integral7Modell, stpSchieneID, defaultValuesConfig);
|
|
492
605
|
/** Schaltzustand der Schaltelemente */
|
|
493
|
-
yield this.convertStpSchaltelemente(integral7Modell, stpSchieneID);
|
|
606
|
+
yield this.convertStpSchaltelemente(cimModel, integral7Modell, stpSchieneID);
|
|
494
607
|
logExecutionTime(this.logger, startTime, `convertSternpunkte`);
|
|
495
608
|
}
|
|
496
609
|
/** Statcom -> StaticVarCompensator */
|
|
@@ -545,10 +658,6 @@ class ConverterIntegral7 {
|
|
|
545
658
|
if (schaltfeldIDs.length)
|
|
546
659
|
yield this.createTopologicalNodes(cimModel);
|
|
547
660
|
logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
|
|
548
|
-
startTime = perf_hooks.performance.now();
|
|
549
|
-
if (schaltfeldIDs.length)
|
|
550
|
-
yield this.createTopologicalNodes(cimModel);
|
|
551
|
-
logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
|
|
552
661
|
/** DL Profile */
|
|
553
662
|
if (!frame.boundary) {
|
|
554
663
|
this.executor = new executor_1.Executor(this.mysqlController, this.configUuid);
|
|
@@ -561,6 +670,7 @@ class ConverterIntegral7 {
|
|
|
561
670
|
const netz_standortIds = standortIDs.map(standortId => {
|
|
562
671
|
return { id: standortId };
|
|
563
672
|
});
|
|
673
|
+
const boundary_standortIds = [];
|
|
564
674
|
const netz_knotensoIds = knotenSoIDs.map(knotenSoId => {
|
|
565
675
|
return { id: knotenSoId };
|
|
566
676
|
});
|
|
@@ -570,6 +680,7 @@ class ConverterIntegral7 {
|
|
|
570
680
|
});
|
|
571
681
|
entry[1].integral7Modell.integralKnotenSo.forEach((_, key) => {
|
|
572
682
|
netz_knotensoIds.push({ id: key });
|
|
683
|
+
boundary_standortIds.push({ id: key });
|
|
573
684
|
});
|
|
574
685
|
}
|
|
575
686
|
const netzLeitungIds = [...integral7Modell.integralLeitungen.keys()];
|
|
@@ -577,9 +688,8 @@ class ConverterIntegral7 {
|
|
|
577
688
|
const netzErsatzlaengszweigIds = [...integral7Modell.integalErsatzLaengszweigIds.values()];
|
|
578
689
|
const netzStreckenlastIds = [...integral7Modell.integralLeitungen.values()].map(leitung => leitung.streckenlastId).filter(id => id !== undefined && id !== null);
|
|
579
690
|
const allLeitungIds = [...new Set([...netzLeitungIds, ...netzHgueLeitungIds, ...netzErsatzlaengszweigIds, ...netzStreckenlastIds]).values()];
|
|
580
|
-
const
|
|
581
|
-
|
|
582
|
-
only: {
|
|
691
|
+
const overall_substation_amount = ((_a = standortIDs === null || standortIDs === void 0 ? void 0 : standortIDs.length) !== null && _a !== void 0 ? _a : 0);
|
|
692
|
+
const convertOptions = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(this.configurableDLConvertOptions))), { overall_substation_amount: overall_substation_amount, visible_only: true, boundary_standortIds, only: {
|
|
583
693
|
netz_standortIds,
|
|
584
694
|
netz_knotensoIds,
|
|
585
695
|
netz_schaltanlagenIds: schaltanlagenIDs.map(schaltanlagenId => {
|
|
@@ -594,8 +704,8 @@ class ConverterIntegral7 {
|
|
|
594
704
|
netz_leitungIds: allLeitungIds.map(leitungId => {
|
|
595
705
|
return { id: leitungId };
|
|
596
706
|
})
|
|
597
|
-
}
|
|
598
|
-
|
|
707
|
+
} });
|
|
708
|
+
frame.cimModel.addDiagramStyle(this.executor.dlConverter.diagramStyles[cim_constants_1.DiagramLayoutTypes.NODE_BREAKER]);
|
|
599
709
|
const resultingObjects = yield this.executor.convert(convertOptions);
|
|
600
710
|
for (const resultingObject of resultingObjects) {
|
|
601
711
|
if (resultingObject instanceof Diagram_1.Diagram) {
|
|
@@ -769,7 +879,7 @@ class ConverterIntegral7 {
|
|
|
769
879
|
.then((result) => {
|
|
770
880
|
for (const i7Data of result) {
|
|
771
881
|
const i7Schluessel = integral_prefix_1.GEOREGION_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
772
|
-
const region = new GeographicalRegion_1.GeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
882
|
+
const region = new GeographicalRegion_1.GeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)]), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluessel);
|
|
773
883
|
//region.i7key = i7Schluessel;
|
|
774
884
|
this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
|
|
775
885
|
regions.push(region);
|
|
@@ -817,11 +927,12 @@ class ConverterIntegral7 {
|
|
|
817
927
|
.then((result) => {
|
|
818
928
|
for (const i7Data of result) {
|
|
819
929
|
const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
820
|
-
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
930
|
+
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner)
|
|
931
|
+
]), (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname), i7Schluesel);
|
|
821
932
|
const regionUUID = this.integralID2UUID.get(i7Data.georegion);
|
|
822
933
|
let region = regions.find(elem => elem.mrid === regionUUID);
|
|
823
934
|
if (!region) {
|
|
824
|
-
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name
|
|
935
|
+
region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModelDefault, (0, util_create_1.createNotation)([defaultValuesConfig.GeographicalRegion.name]), this.configUuid);
|
|
825
936
|
this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
|
|
826
937
|
}
|
|
827
938
|
subregion.region = region;
|
|
@@ -912,7 +1023,7 @@ class ConverterIntegral7 {
|
|
|
912
1023
|
i7Data.un +
|
|
913
1024
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
914
1025
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
915
|
-
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname
|
|
1026
|
+
const vl = new VoltageLevel_1.VoltageLevel((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
916
1027
|
vl.key = i7Schluessel;
|
|
917
1028
|
const facility = util_cim_model_1.UtilCimModel.createFacilityInstanceForPsr(cimModel, vl, cim_constants_1.CimAssetAliasNames.VoltageLevel, this.configUuid);
|
|
918
1029
|
if (i7Data.baujahr) {
|
|
@@ -1001,23 +1112,31 @@ class ConverterIntegral7 {
|
|
|
1001
1112
|
});
|
|
1002
1113
|
}
|
|
1003
1114
|
convertKnotenSo(frame, integral7, standortIDs, defaultValuesConfig) {
|
|
1115
|
+
var _a, _b;
|
|
1004
1116
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1005
1117
|
const cimModel = frame.cimModel;
|
|
1006
1118
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
|
|
1007
1119
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.KNOTEN_SO, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_SO), standortIDs));
|
|
1120
|
+
const netzGruppe = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), []));
|
|
1008
1121
|
for (const i7Data of result) {
|
|
1122
|
+
const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
|
|
1009
1123
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
1010
1124
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
1011
|
-
// const vl = new VoltageLevel(getUUID(i7Data.guid_v, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
1012
1125
|
const vl = new VoltageLevel_1.VoltageLevel(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, rdfid), i7Data.bezeichner, i7Data.kurzname);
|
|
1013
|
-
//const rdfid = getUUID(i7Data.guid); /**This is the mrid for TopologicalNode */
|
|
1014
1126
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
|
|
1127
|
+
if (connectivityNode.getUUID() === '98d0e9eb-bfb0-4da4-9700-660626da1c56' || connectivityNode.getName() === 'XDU_SL12') {
|
|
1128
|
+
let stop = true;
|
|
1129
|
+
}
|
|
1015
1130
|
connectivityNode.setConnectivityNodeContainer(vl);
|
|
1016
1131
|
vl.addConnectivityNode(connectivityNode);
|
|
1017
1132
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1133
|
+
connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
|
|
1018
1134
|
if (frame.boundary) {
|
|
1019
1135
|
connectivityNode.boundaryPoint = true;
|
|
1020
1136
|
}
|
|
1137
|
+
const key = integral_sql_1.I7Objects.KNOTEN_SO + ((_b = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _b !== void 0 ? _b : '');
|
|
1138
|
+
const junction = new Junction_1.Junction(common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VoltageLevel, this.configUuid, key), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), connectivityNode.getUUID().substring(0, 8), '_J']));
|
|
1139
|
+
this.createConnection(cimModel, junction, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
1021
1140
|
const un = (0, utils_2.getU)(i7Data.un);
|
|
1022
1141
|
const baseVoltage = (0, util_create_1.createBaseVoltageIfNotExists)(cimModel, un, this.configUuid, this.exportFramesBoundary);
|
|
1023
1142
|
/** Spannungsband */
|
|
@@ -1033,7 +1152,7 @@ class ConverterIntegral7 {
|
|
|
1033
1152
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
1034
1153
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
1035
1154
|
vl.key = i7Schluessel;
|
|
1036
|
-
connectivityNode.
|
|
1155
|
+
connectivityNode.key = i7Schluessel;
|
|
1037
1156
|
}
|
|
1038
1157
|
else {
|
|
1039
1158
|
this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
|
|
@@ -1075,21 +1194,27 @@ class ConverterIntegral7 {
|
|
|
1075
1194
|
});
|
|
1076
1195
|
}
|
|
1077
1196
|
convertSammelschienenAbschnitte(cimModel, integral7, schaltanlagenAbschnittIDs) {
|
|
1078
|
-
var _a, _b;
|
|
1197
|
+
var _a, _b, _c;
|
|
1079
1198
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1080
1199
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
|
|
1081
1200
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.SAMMELSCHIENE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.SAMMELSCHIENE), schaltanlagenAbschnittIDs));
|
|
1201
|
+
const netzGruppe = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.NETZGRUPPE, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.NETZGRUPPE), []));
|
|
1082
1202
|
for (const i7Data of result) {
|
|
1083
1203
|
const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1084
|
-
|
|
1204
|
+
const netzgruppe = netzGruppe.filter(elem => elem.id === i7Data.netzgruppe);
|
|
1205
|
+
let saab = undefined;
|
|
1206
|
+
if (integral7.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
|
|
1207
|
+
saab = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1208
|
+
}
|
|
1085
1209
|
const rdfid = (0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid);
|
|
1086
1210
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, i7Data.bezeichner, i7Data.kurzname);
|
|
1087
1211
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
|
|
1088
1212
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1213
|
+
connectivityNode.netzGruppe = (_a = netzgruppe === null || netzgruppe === void 0 ? void 0 : netzgruppe.at(0)) === null || _a === void 0 ? void 0 : _a.bezeichner;
|
|
1089
1214
|
const keyBusbarSection = [
|
|
1090
1215
|
integral_sql_1.I7Objects.SAMMELSCHIENE,
|
|
1091
|
-
(
|
|
1092
|
-
(
|
|
1216
|
+
(_b = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getUUID()) !== null && _b !== void 0 ? _b : '',
|
|
1217
|
+
(_c = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getUUID()) !== null && _c !== void 0 ? _c : ''
|
|
1093
1218
|
].join('');
|
|
1094
1219
|
const uuidBusbarSection = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.BusbarSection, this.configUuid, keyBusbarSection);
|
|
1095
1220
|
const busbarSection = new BusbarSection_1.BusbarSection(uuidBusbarSection, i7Data.bezeichner, i7Schaltanlagenabschnitt.kurzname);
|
|
@@ -1105,11 +1230,15 @@ class ConverterIntegral7 {
|
|
|
1105
1230
|
voltageLevel.highVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umax) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umax) : voltageLevel.highVoltageLimit;
|
|
1106
1231
|
// umin
|
|
1107
1232
|
voltageLevel.lowVoltageLimit = (0, parser_utils_1.isNumericI7)(i7Data.umin) ? (0, parser_utils_1.convertToNumberI7)(i7Data.umin) : voltageLevel.lowVoltageLimit;
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1233
|
+
//define INTEGRAL Schluessel for ConnectivityNode
|
|
1234
|
+
if (saab !== undefined) {
|
|
1235
|
+
const i7Schluessel = voltageLevel.key +
|
|
1236
|
+
integral_prefix_1.SCHALTANLAGENABSCHNITT_PRAEFIX +
|
|
1237
|
+
(0, utils_2.ueberpruefeZeichenkette)(saab.bezeichner) +
|
|
1238
|
+
integral_prefix_1.SAMMELSCHIENENABSCHNITT_PRAEFIX +
|
|
1239
|
+
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
1240
|
+
connectivityNode.key = i7Schluessel;
|
|
1241
|
+
}
|
|
1113
1242
|
/** Spannungsband */
|
|
1114
1243
|
integral7.targetVoltages.set(i7Data.id, { usoll: i7Data.usoll, umin: i7Data.umin, umax: i7Data.umax });
|
|
1115
1244
|
// TODO VoltageLimits?
|
|
@@ -1122,7 +1251,7 @@ class ConverterIntegral7 {
|
|
|
1122
1251
|
cimModel.addConnectivityNode(connectivityNode);
|
|
1123
1252
|
cimModel.addBusbarSection(busbarSection);
|
|
1124
1253
|
/** Integral 7 Modell erstellen zur Berechnung der Netzschema */
|
|
1125
|
-
if (
|
|
1254
|
+
if (saab !== undefined) {
|
|
1126
1255
|
integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt).ssab.push(i7Data);
|
|
1127
1256
|
}
|
|
1128
1257
|
}
|
|
@@ -1139,10 +1268,11 @@ class ConverterIntegral7 {
|
|
|
1139
1268
|
const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
|
|
1140
1269
|
for (const i7Data of result) {
|
|
1141
1270
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
|
|
1142
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, '
|
|
1143
|
-
if (bay) {
|
|
1271
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode((0, parser_utils_1.getUUID)(i7Data.guid_cn, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false));
|
|
1272
|
+
if (bay !== undefined) {
|
|
1144
1273
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1145
1274
|
bay.addConnectivityNode(connectivityNode);
|
|
1275
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_SF_PRAEFIX + i7Data.bezeichner;
|
|
1146
1276
|
}
|
|
1147
1277
|
else {
|
|
1148
1278
|
this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1167,11 +1297,11 @@ class ConverterIntegral7 {
|
|
|
1167
1297
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
|
|
1168
1298
|
const key = integral_sql_1.I7Objects.KNOTEN_KF + ((_a = bay === null || bay === void 0 ? void 0 : bay.getUUID()) !== null && _a !== void 0 ? _a : '') + String(i7Data.id) + String(i7Data.kpfeld);
|
|
1169
1299
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1170
|
-
|
|
1171
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, i7Data.bezeichner, 'knotenkf');
|
|
1300
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false), (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false));
|
|
1172
1301
|
if (bay) {
|
|
1173
1302
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1174
1303
|
bay.addConnectivityNode(connectivityNode);
|
|
1304
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_KF_PRAEFIX + i7Data.bezeichner;
|
|
1175
1305
|
}
|
|
1176
1306
|
else {
|
|
1177
1307
|
this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1194,11 +1324,12 @@ class ConverterIntegral7 {
|
|
|
1194
1324
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
|
|
1195
1325
|
const key = integral_sql_1.I7Objects.KNOTEN_LK + ((_a = bay === null || bay === void 0 ? void 0 : bay.getUUID()) !== null && _a !== void 0 ? _a : '') + String(i7Data.id) + String(i7Data.lkupplung);
|
|
1196
1326
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
1197
|
-
const
|
|
1198
|
-
|
|
1327
|
+
const name = (0, util_create_1.createNotation)([i7Data.bezeichner, '_CN'], 32, false);
|
|
1328
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuid, name, name);
|
|
1199
1329
|
if (bay) {
|
|
1200
1330
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1201
1331
|
bay.addConnectivityNode(connectivityNode);
|
|
1332
|
+
connectivityNode.key = bay.key + integral_prefix_1.KNOTEN_LK_PRAEFIX + i7Data.bezeichner;
|
|
1202
1333
|
}
|
|
1203
1334
|
else {
|
|
1204
1335
|
this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
@@ -1221,8 +1352,12 @@ class ConverterIntegral7 {
|
|
|
1221
1352
|
const key = integral_sql_1.I7Objects.SCHLAUFE + String(i7Data.id);
|
|
1222
1353
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Terminal, this.configUuid, key);
|
|
1223
1354
|
const terminal = new Terminal_1.Terminal(uuid, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar);
|
|
1355
|
+
if (terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
1356
|
+
const stop = true;
|
|
1357
|
+
}
|
|
1224
1358
|
terminal.connected = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
|
|
1225
1359
|
terminal.phases = PhaseCode_1.PhaseCode.ABC;
|
|
1360
|
+
terminal.key = integral_prefix_1.SCHLAUFE_PRAEFIX + i7Data.bezeichner;
|
|
1226
1361
|
this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1227
1362
|
this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1228
1363
|
integral7.kontenZwIDs.push(i7Data.knotenzw);
|
|
@@ -1330,6 +1465,101 @@ class ConverterIntegral7 {
|
|
|
1330
1465
|
}
|
|
1331
1466
|
});
|
|
1332
1467
|
}
|
|
1468
|
+
convertVollUmrichterEinspeisung(cimModel, targetVoltages, knotenSfIDs, objectMappingConfig, energySourceTypeMappingConfig) {
|
|
1469
|
+
var _a;
|
|
1470
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1471
|
+
const targetClass = objectMappingConfig.Einspeisung.class;
|
|
1472
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG)) {
|
|
1473
|
+
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.VOLLUMRICHTEREINSPEISUNG, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG), knotenSfIDs));
|
|
1474
|
+
for (const i7Data of result) {
|
|
1475
|
+
try {
|
|
1476
|
+
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
1477
|
+
const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(uuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', uuid.substring(0, 8), '_ENI'], 32, true), i7Data.kurzname);
|
|
1478
|
+
externalNetworkInjection.nameprimaertyp = 'Wind Onshore';
|
|
1479
|
+
let mf = undefined;
|
|
1480
|
+
mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1481
|
+
if (mf) {
|
|
1482
|
+
cimModel.addMultiplierFactor(mf);
|
|
1483
|
+
externalNetworkInjection.multiplierFactorUUID = mf.getUUID();
|
|
1484
|
+
}
|
|
1485
|
+
/** Convert EQ-profile dataset. */
|
|
1486
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
1487
|
+
externalNetworkInjection.maxP = maxP;
|
|
1488
|
+
const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
1489
|
+
externalNetworkInjection.governorSCD = governorscd;
|
|
1490
|
+
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
1491
|
+
externalNetworkInjection.maxQ = maxQ;
|
|
1492
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : undefined;
|
|
1493
|
+
externalNetworkInjection.minP = minP;
|
|
1494
|
+
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
1495
|
+
externalNetworkInjection.minQ = minQ;
|
|
1496
|
+
this.setTopologyEnergySourceConsumerObject(cimModel, externalNetworkInjection, i7Data, targetVoltages);
|
|
1497
|
+
/**Convert short circuit constants */
|
|
1498
|
+
const r0X0 = undefined;
|
|
1499
|
+
const r1X1 = undefined;
|
|
1500
|
+
const z0Z1 = undefined;
|
|
1501
|
+
const maxR0X0Ratio = r0X0;
|
|
1502
|
+
externalNetworkInjection.maxR0ToX0Ratio = maxR0X0Ratio;
|
|
1503
|
+
const maxR1X1Ratio = r1X1;
|
|
1504
|
+
externalNetworkInjection.maxR1ToX1Ratio = maxR1X1Ratio;
|
|
1505
|
+
const maxZ0Z1Ratio = z0Z1;
|
|
1506
|
+
externalNetworkInjection.maxZ0ToZ1Ratio = maxZ0Z1Ratio;
|
|
1507
|
+
const minR0X0Ratio = r0X0;
|
|
1508
|
+
externalNetworkInjection.minR0ToX0Ratio = minR0X0Ratio;
|
|
1509
|
+
const minR1X1Ratio = r1X1;
|
|
1510
|
+
externalNetworkInjection.minR1ToX1Ratio = minR1X1Ratio;
|
|
1511
|
+
const minZ0Z1Ratio = z0Z1;
|
|
1512
|
+
externalNetworkInjection.minZ0ToZ1Ratio = minZ0Z1Ratio;
|
|
1513
|
+
const i2sk1 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk1) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk1) : undefined;
|
|
1514
|
+
const i2sk2 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk2) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk2) : undefined;
|
|
1515
|
+
const i2sk2e = (0, parser_utils_1.isNumericI7)(i7Data.i2sk2e) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk2e) : undefined;
|
|
1516
|
+
const i2sk3 = (0, parser_utils_1.isNumericI7)(i7Data.i2sk3) ? (0, parser_utils_1.convertToNumberI7)(i7Data.i2sk3) : undefined;
|
|
1517
|
+
const ikMin = (0, utils_2.transformShortCircuitCurrent)(Math.min(i2sk1, i2sk2, i2sk2e, i2sk3));
|
|
1518
|
+
const ikMax = (0, utils_2.transformShortCircuitCurrent)(Math.max(i2sk1, i2sk2, i2sk2e, i2sk3));
|
|
1519
|
+
externalNetworkInjection.minInitialSymShCCurrent = ikMin;
|
|
1520
|
+
externalNetworkInjection.maxInitialSymShCCurrent = ikMax;
|
|
1521
|
+
const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
|
|
1522
|
+
/** Convert SSH-profile dataset. */
|
|
1523
|
+
/**
|
|
1524
|
+
* @description Set einspprio as referencePriority. PowerFactory sets external network injections with referencePriority == 1, to slack control mode. In regular case referencePriority for externalnetworkextensions is set to value '0'.
|
|
1525
|
+
* einspprio having no effect in loadflow calculation if voltage control does not exists.
|
|
1526
|
+
* */
|
|
1527
|
+
let prio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
|
|
1528
|
+
if (((_a = externalNetworkInjection.regulatingControl) === null || _a === void 0 ? void 0 : _a.mode) === RegulatingControlModeKind_1.RegulatingControlModeKind.voltage) {
|
|
1529
|
+
if (prio !== undefined && prio > 0) {
|
|
1530
|
+
externalNetworkInjection.referencePriority = prio + 1; //TODO: SLACK is a injection with maximum prio in the network section and active voltage control.
|
|
1531
|
+
}
|
|
1532
|
+
else if (prio !== undefined && prio === 0) {
|
|
1533
|
+
externalNetworkInjection.referencePriority = prio;
|
|
1534
|
+
}
|
|
1535
|
+
else {
|
|
1536
|
+
externalNetworkInjection.referencePriority = undefined;
|
|
1537
|
+
}
|
|
1538
|
+
}
|
|
1539
|
+
const powerData = (0, utils_2.getActiveReactivePower)(i7Data, mf);
|
|
1540
|
+
const p = powerData[0];
|
|
1541
|
+
const q = powerData[1];
|
|
1542
|
+
externalNetworkInjection.setActivePower(p * -1); //convert to load sign system
|
|
1543
|
+
externalNetworkInjection.setReactivePower(q * -1); //convert to load sign system
|
|
1544
|
+
// AMPI7 profile
|
|
1545
|
+
const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? ((0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) !== 0 ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : 1) : undefined;
|
|
1546
|
+
externalNetworkInjection.cos_phi = cosPhi;
|
|
1547
|
+
externalNetworkInjection.p_mf = (mf && powerData[2]) ? powerData[2] * -1 : undefined;
|
|
1548
|
+
externalNetworkInjection.q_mf = (mf && powerData[3]) ? powerData[3] * -1 : undefined;
|
|
1549
|
+
externalNetworkInjection.normallyInService = inBetrieb;
|
|
1550
|
+
cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
1551
|
+
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
|
|
1552
|
+
}
|
|
1553
|
+
catch (err) {
|
|
1554
|
+
this.logger.error(`error --- convertVollumrichtereinspeisung ${i7Data.id} ${err}`);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
else {
|
|
1559
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.VOLLUMRICHTEREINSPEISUNG} ist nicht vorhanden.`);
|
|
1560
|
+
}
|
|
1561
|
+
});
|
|
1562
|
+
}
|
|
1333
1563
|
convertErsatzQuerZweige(cimModel, targetVoltages, knotenSfIDs, targetClass) {
|
|
1334
1564
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1335
1565
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
|
|
@@ -1362,6 +1592,9 @@ class ConverterIntegral7 {
|
|
|
1362
1592
|
for (const i7Data of result) {
|
|
1363
1593
|
const genType = this.generatorTypen.get(i7Data.nametyp);
|
|
1364
1594
|
const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1595
|
+
if (synchronousMachine.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F') {
|
|
1596
|
+
let stop = true;
|
|
1597
|
+
}
|
|
1365
1598
|
const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
|
|
1366
1599
|
const cosPhi = (0, parser_utils_1.isNumericI7)(i7Data.cos_phi) ? (0, parser_utils_1.convertToNumberI7)(i7Data.cos_phi) : undefined;
|
|
1367
1600
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
@@ -1463,7 +1696,7 @@ class ConverterIntegral7 {
|
|
|
1463
1696
|
const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
|
|
1464
1697
|
// AMP I7 Profil
|
|
1465
1698
|
synchronousMachine.cos_phi = i7Data.cos_phi;
|
|
1466
|
-
if (synchronousMachine.getUUID() === '
|
|
1699
|
+
if (synchronousMachine.getUUID() === '69718d2d-5988-49a9-b5c8-d53d0cf0e89a') {
|
|
1467
1700
|
let stop = true;
|
|
1468
1701
|
}
|
|
1469
1702
|
if (synchronousMachine.getUUID() === 'f6d81d19-dca0-48e9-a43e-4ab1f6bf697d') {
|
|
@@ -1515,7 +1748,7 @@ class ConverterIntegral7 {
|
|
|
1515
1748
|
// synchronousMachine.voltageRegulationRange: number;
|
|
1516
1749
|
/** Create ReactiveCapabilityCurves */
|
|
1517
1750
|
if (minP !== undefined && maxP !== undefined && minQvonPmin !== undefined && maxQvonPmax !== undefined) {
|
|
1518
|
-
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData', synchronousMachine.
|
|
1751
|
+
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve((0, parser_utils_1.getUUID)(i7Data.guid_rcc, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)(['CurveData', '_', synchronousMachine.getUUID().substring(0, 8), '_RCC']));
|
|
1519
1752
|
reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
1520
1753
|
reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
1521
1754
|
reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -1598,6 +1831,9 @@ class ConverterIntegral7 {
|
|
|
1598
1831
|
// TODO: genControlSource is not required.
|
|
1599
1832
|
//generatingUnit.genControlSource = GeneratorControlSource.onAGC;
|
|
1600
1833
|
/**Complete GeneratingUnit data */
|
|
1834
|
+
if (generatingUnit.getUUID() === '70810e1e74aa4359b387bef9158f4767' || synchronousMachine.getUUID() === '70810e1e74aa4359b387bef9158f4767') {
|
|
1835
|
+
const stop = true;
|
|
1836
|
+
}
|
|
1601
1837
|
generatingUnit.initialP = (0, parser_utils_1.isNumericI7)(i7Data.p0) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p0) : undefined;
|
|
1602
1838
|
// generatingUnit.longPF
|
|
1603
1839
|
// generatingUnit.maximumAllowableSpinningReserve
|
|
@@ -1749,7 +1985,7 @@ class ConverterIntegral7 {
|
|
|
1749
1985
|
//EQ core profile content
|
|
1750
1986
|
const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1751
1987
|
if (connectivityNode) {
|
|
1752
|
-
|
|
1988
|
+
this.createConnection(cimModel, asynchronousMachine, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
1753
1989
|
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1754
1990
|
if (equipmentContainer) {
|
|
1755
1991
|
equipmentContainer.addEquipment(asynchronousMachine);
|
|
@@ -2330,6 +2566,9 @@ class ConverterIntegral7 {
|
|
|
2330
2566
|
const qr = (0, parser_utils_1.isNumericI7)(i7Data.qr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.qr) : undefined;
|
|
2331
2567
|
const pr = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2332
2568
|
shunt.nomU = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
2569
|
+
if (shunt.getUUID() === '547B9591-C41B-4496-9954-2215B8945124') {
|
|
2570
|
+
let stop = true;
|
|
2571
|
+
}
|
|
2333
2572
|
// Set electrical properties (EQ core)
|
|
2334
2573
|
if ((0, parser_utils_1.isNumericI7)(i7Data.aktstufe) && (0, parser_utils_1.isNumericI7)(i7Data.maxstufe)) {
|
|
2335
2574
|
shunt.sections = (0, parser_utils_1.convertToNumberI7)(i7Data.aktstufe);
|
|
@@ -2469,7 +2708,7 @@ class ConverterIntegral7 {
|
|
|
2469
2708
|
/** EQ */
|
|
2470
2709
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2471
2710
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2472
|
-
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2711
|
+
statVarCom.slope = (0, parser_utils_1.isNumericI7)(mrez) && mrez !== 0 ? 1 / (0, parser_utils_1.convertToNumberI7)(mrez) : 0;
|
|
2473
2712
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2474
2713
|
statVarCom.aggregate = false;
|
|
2475
2714
|
/** EQ-SC */
|
|
@@ -2478,7 +2717,6 @@ class ConverterIntegral7 {
|
|
|
2478
2717
|
/** SV */
|
|
2479
2718
|
//statVarCom.svpowerflow
|
|
2480
2719
|
/** Regelung */
|
|
2481
|
-
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid_rc);
|
|
2482
2720
|
const regulatingControl = this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, targetVoltages, undefined, true);
|
|
2483
2721
|
/** EQ */
|
|
2484
2722
|
if (regulatingControl) {
|
|
@@ -2506,7 +2744,7 @@ class ConverterIntegral7 {
|
|
|
2506
2744
|
/** EQ */
|
|
2507
2745
|
statVarCom.capacitiveRating = (0, utils_2.calculateStatVarComRating)(ur, qkapr);
|
|
2508
2746
|
statVarCom.inductiveRating = Math.abs((0, utils_2.calculateStatVarComRating)(ur, qindr)) * -1;
|
|
2509
|
-
statVarCom.slope = mrez !== 0 ? 1 / mrez : 0;
|
|
2747
|
+
statVarCom.slope = (0, parser_utils_1.isNumericI7)(mrez) && mrez !== 0 ? 1 / (0, parser_utils_1.convertToNumberI7)(mrez) : 0;
|
|
2510
2748
|
statVarCom.sVCControlMode = SVCControlMode_1.SVCControlMode.voltage;
|
|
2511
2749
|
statVarCom.aggregate = false;
|
|
2512
2750
|
/** EQ-SC */
|
|
@@ -2518,11 +2756,11 @@ class ConverterIntegral7 {
|
|
|
2518
2756
|
/** EQ */
|
|
2519
2757
|
statVarCom.voltageSetPoint = regulatingControl.targetValue ? regulatingControl.targetValue : ur;
|
|
2520
2758
|
cimModel.addStaticVarCompensator(statVarCom);
|
|
2521
|
-
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.
|
|
2759
|
+
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
|
|
2522
2760
|
}
|
|
2523
2761
|
}
|
|
2524
2762
|
else {
|
|
2525
|
-
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.
|
|
2763
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SVC} ist nicht vorhanden.`);
|
|
2526
2764
|
}
|
|
2527
2765
|
});
|
|
2528
2766
|
}
|
|
@@ -2575,9 +2813,10 @@ class ConverterIntegral7 {
|
|
|
2575
2813
|
csConverter.ratedIdc = (0, utils_2.calculateRatedIdc)(csConverter.ratedUdc, pr);
|
|
2576
2814
|
/** spannungsabhängige Wirk-Verluste in kW bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2577
2815
|
csConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2578
|
-
csConverter.maxUdc = csConverter.ratedUdc * 1.
|
|
2579
|
-
csConverter.minUdc = csConverter.ratedUdc * 0.
|
|
2580
|
-
|
|
2816
|
+
csConverter.maxUdc = csConverter.ratedUdc * 1.08; // +5% * ratedUdc
|
|
2817
|
+
csConverter.minUdc = csConverter.ratedUdc * 0.98; // -5% * ratedUdc
|
|
2818
|
+
//R=U^2/P
|
|
2819
|
+
csConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? Math.pow(csConverter.ratedUdc, 2) / ((0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, 3)) : undefined;
|
|
2581
2820
|
csConverter.switchingLoss = 0;
|
|
2582
2821
|
/* csConverter.numberOfValves
|
|
2583
2822
|
csConverter.valveU0*/
|
|
@@ -2671,21 +2910,21 @@ class ConverterIntegral7 {
|
|
|
2671
2910
|
/** Bemessungsleistung (Gleichstromseite) in MW
|
|
2672
2911
|
* im CS-Fall S = P?
|
|
2673
2912
|
* Abhängig vom */
|
|
2674
|
-
vsConverter.baseS = i7Data.pr;
|
|
2913
|
+
vsConverter.baseS = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
2675
2914
|
/** Bemessungsspannung (Gleichstromseite) in kV*/
|
|
2676
2915
|
//If udc is set in Integral data model set converter.ratedUdc as i7Data.udc else take the data value for i7Data.ur (Bemessungsspannung)
|
|
2677
2916
|
vsConverter.ratedUdc = (0, parser_utils_1.isNumericI7)(i7Data.udc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.udc) : ((0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined);
|
|
2678
|
-
/** spannungsabhängige Wirk-Verluste bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2917
|
+
/** spannungsabhängige Wirk-Verluste in MW bei Leerlauf mit Bemessungsspannung in kV*/
|
|
2679
2918
|
vsConverter.idleLoss = (0, parser_utils_1.isNumericI7)(i7Data.p_leer) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_leer) * Math.pow(10, -3) : undefined;
|
|
2680
|
-
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +
|
|
2681
|
-
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -
|
|
2682
|
-
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10,
|
|
2919
|
+
vsConverter.maxUdc = vsConverter.ratedUdc * 1.08; // +8% * ratedUdc
|
|
2920
|
+
vsConverter.minUdc = vsConverter.ratedUdc * 0.98; // -2% * ratedUdc
|
|
2921
|
+
vsConverter.resistiveLoss = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? Math.pow(vsConverter.ratedUdc, 2) / ((0, parser_utils_1.convertToNumberI7)(i7Data.pkr) * Math.pow(10, 3)) : undefined;
|
|
2683
2922
|
vsConverter.switchingLoss = undefined;
|
|
2684
2923
|
/* csConverter.maxModulationIndex = ;
|
|
2685
2924
|
csConverter.maxValveCurrent = */
|
|
2686
2925
|
/** CapabilityCurveData */
|
|
2687
|
-
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) :
|
|
2688
|
-
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) :
|
|
2926
|
+
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : vsConverter.baseS;
|
|
2927
|
+
const minP = (0, parser_utils_1.isNumericI7)(i7Data.p_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_min) : -1 * vsConverter.baseS;
|
|
2689
2928
|
const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
|
|
2690
2929
|
const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
|
|
2691
2930
|
/** SSH export values */
|
|
@@ -2708,11 +2947,11 @@ class ConverterIntegral7 {
|
|
|
2708
2947
|
vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2709
2948
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
2710
2949
|
dcNode.dcTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
2711
|
-
/** Create
|
|
2950
|
+
/** Create VsCapabilityCurves */
|
|
2712
2951
|
if (minP !== undefined && maxP !== undefined && minQ != undefined && maxQ !== undefined) {
|
|
2713
2952
|
let keyVsCapabilityCurve = cim_class_names_1.ClassNames.VsCapabilityCurve + i7Data.id + vsConverter.getUUID();
|
|
2714
2953
|
let uuidVsCapabilityCurve = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.VsCapabilityCurve, this.configUuid, keyVsCapabilityCurve);
|
|
2715
|
-
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2954
|
+
const vsCapabilityCurve = new VsCapabilityCurve_1.VsCapabilityCurve(uuidVsCapabilityCurve, (0, util_create_1.createNotation)(['CurveData', '_', vsConverter.getUUID().substring(0, 8), '_VCC']));
|
|
2716
2955
|
vsCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
2717
2956
|
vsCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
2718
2957
|
vsCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
@@ -2723,7 +2962,7 @@ class ConverterIntegral7 {
|
|
|
2723
2962
|
const curveData1 = new CurveData_1.CurveData(uuidCurveData);
|
|
2724
2963
|
curveData1.curve = vsCapabilityCurve;
|
|
2725
2964
|
curveData1.xvalue = minP; //pMin
|
|
2726
|
-
curveData1.y1value = minQ; //qMin
|
|
2965
|
+
curveData1.y1value = minQ; //qMin pMax
|
|
2727
2966
|
curveData1.y2value = maxQ; //qMax pMin
|
|
2728
2967
|
cimModel.addCurveData(curveData1);
|
|
2729
2968
|
//reactive capability curve data for pmax
|
|
@@ -2733,7 +2972,7 @@ class ConverterIntegral7 {
|
|
|
2733
2972
|
curveData2.curve = vsCapabilityCurve;
|
|
2734
2973
|
curveData2.xvalue = maxP; //pMax
|
|
2735
2974
|
curveData2.y1value = minQ; //qMin pMax
|
|
2736
|
-
curveData2.y2value = maxQ; //
|
|
2975
|
+
curveData2.y2value = maxQ; //qMax pMax
|
|
2737
2976
|
cimModel.addCurveData(curveData2);
|
|
2738
2977
|
cimModel.addVsCapabilityCurve(vsCapabilityCurve);
|
|
2739
2978
|
vsConverter.capabilityCurve = vsCapabilityCurve;
|
|
@@ -2852,7 +3091,6 @@ class ConverterIntegral7 {
|
|
|
2852
3091
|
if (i7Data.guid === '_ab64e281-72d0-45fb-8cb3-da4ae99a4f8c') {
|
|
2853
3092
|
const stop = true;
|
|
2854
3093
|
}
|
|
2855
|
-
let einspeisePrioritaet = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
|
|
2856
3094
|
const maxP = (0, parser_utils_1.isNumericI7)(i7Data.p_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.p_max) : undefined;
|
|
2857
3095
|
externalNetworkInjection.maxP = maxP;
|
|
2858
3096
|
const governorscd = (0, parser_utils_1.isNumericI7)(i7Data.kr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.kr) : undefined;
|
|
@@ -2884,9 +3122,10 @@ class ConverterIntegral7 {
|
|
|
2884
3122
|
const skAkt = (0, parser_utils_1.isNumericI7)(i7Data.sk_akt) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_akt) : undefined;
|
|
2885
3123
|
const skMin = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_min) : skAkt;
|
|
2886
3124
|
const skMax = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.sk_max) : skAkt;
|
|
2887
|
-
const
|
|
3125
|
+
const nomV = externalNetworkInjection.getTerminals().values().next().value.getConnectivityNode().getBaseVoltageAsNumber();
|
|
3126
|
+
const minIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_min) ? (0, utils_2.calculateShortCircuitCurrent)(skMin, nomV) : undefined;
|
|
2888
3127
|
externalNetworkInjection.minInitialSymShCCurrent = minIkSecond;
|
|
2889
|
-
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0,
|
|
3128
|
+
const maxIkSecond = (0, parser_utils_1.isNumericI7)(i7Data.sk_max) ? (0, utils_2.calculateShortCircuitCurrent)(skMax, nomV) : undefined;
|
|
2890
3129
|
externalNetworkInjection.maxInitialSymShCCurrent = maxIkSecond;
|
|
2891
3130
|
const inBetrieb = (0, parser_utils_1.isBooleanI7)(i7Data.betrieb) ? (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb) : false;
|
|
2892
3131
|
/** Convert SSH-profile dataset. */
|
|
@@ -2949,6 +3188,9 @@ class ConverterIntegral7 {
|
|
|
2949
3188
|
if (condEquip instanceof RotatingMachine_1.RotatingMachine || condEquip instanceof ExternalNetworkInjection_1.ExternalNetworkInjection || condEquip instanceof EquivalentInjection_1.EquivalentInjection) {
|
|
2950
3189
|
i7DataEinsp = i7Data;
|
|
2951
3190
|
i7DataRQ = i7Data;
|
|
3191
|
+
if (condEquip.getUUID() === '10409E08-E2C0-4EBD-AD4C-5370178ED62F' || condEquip.getUUID() === '0c67bf21-a557-46ea-af63-2a3ac116bd2e') {
|
|
3192
|
+
const stop = true;
|
|
3193
|
+
}
|
|
2952
3194
|
}
|
|
2953
3195
|
if (condEquip instanceof SynchronousMachine_1.SynchronousMachine) {
|
|
2954
3196
|
suffix = '_SM';
|
|
@@ -2969,16 +3211,26 @@ class ConverterIntegral7 {
|
|
|
2969
3211
|
suffix = '_EI';
|
|
2970
3212
|
}
|
|
2971
3213
|
else if (condEquip instanceof StaticVarCompensator_1.StaticVarCompensator) {
|
|
3214
|
+
if (condEquip.getUUID() === '18e12018-03dd-4d6e-a626-ea404017050f' || condEquip.getUUID() === '4352ad9f-c841-4dcb-9a42-3ccabcb56487'
|
|
3215
|
+
|| condEquip.getUUID() === '3d060069-9253-4e68-bb75-74d92982bb1a' || condEquip.getUUID() === '03c53185-aaa7-4040-8b43-76f79fac82b9' || condEquip.getUUID() === '02ba5072-a387-47c6-b9ce-b9d3def21964') {
|
|
3216
|
+
let stop = true;
|
|
3217
|
+
}
|
|
2972
3218
|
i7DataSVC = i7Data;
|
|
2973
3219
|
i7DataRQ = i7Data;
|
|
2974
3220
|
suffix = '_SVC';
|
|
2975
3221
|
}
|
|
2976
3222
|
else if (condEquip instanceof LinearShuntCompensator_1.LinearShuntCompensator) {
|
|
3223
|
+
if (condEquip.getUUID() === '547B9591-C41B-4496-9954-2215B8945124') {
|
|
3224
|
+
let stop = true;
|
|
3225
|
+
}
|
|
2977
3226
|
i7DataKomp = i7Data;
|
|
2978
3227
|
i7DataRQ = i7Data;
|
|
2979
3228
|
suffix = '_LSC';
|
|
2980
3229
|
}
|
|
2981
3230
|
else if (condEquip instanceof ACDCConverter_1.ACDCConverter) {
|
|
3231
|
+
if (condEquip.getUUID() === '71331a6b-000d-4049-89cc-9319a69367f6') {
|
|
3232
|
+
let stop = true;
|
|
3233
|
+
}
|
|
2982
3234
|
i7DataHgue = i7Data;
|
|
2983
3235
|
suffix = '_ACDCC';
|
|
2984
3236
|
}
|
|
@@ -3015,62 +3267,61 @@ class ConverterIntegral7 {
|
|
|
3015
3267
|
let tVMax = undefined; //maximum target voltage
|
|
3016
3268
|
let tVMin = undefined; //minimum target voltage
|
|
3017
3269
|
const regCondEquip = condEquip;
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3031
|
-
}
|
|
3032
|
-
else {
|
|
3033
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3034
|
-
}
|
|
3270
|
+
//get rated voltage of controlled node.
|
|
3271
|
+
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3272
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3273
|
+
if (cterminal === undefined) {
|
|
3274
|
+
let stop = true;
|
|
3275
|
+
}
|
|
3276
|
+
if (cterminal) {
|
|
3277
|
+
tCn = cterminal.getConnectivityNode();
|
|
3278
|
+
if (tCn) {
|
|
3279
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3280
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3281
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3035
3282
|
}
|
|
3036
3283
|
else {
|
|
3037
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id}
|
|
3284
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3038
3285
|
}
|
|
3039
3286
|
}
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
break;
|
|
3287
|
+
else {
|
|
3288
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Anschlusspunkt (Terminal) des entfernt geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3289
|
+
}
|
|
3290
|
+
}
|
|
3291
|
+
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3292
|
+
switch (knotenSpgGeregelt) {
|
|
3293
|
+
case undefined: {
|
|
3294
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
3295
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3050
3296
|
}
|
|
3051
|
-
|
|
3052
|
-
cterminal = (0, util_graph2tree_1.getControlledNode)(
|
|
3297
|
+
if (cterminal === undefined) {
|
|
3298
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
3053
3299
|
}
|
|
3300
|
+
break;
|
|
3054
3301
|
}
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
if (tCn) {
|
|
3058
|
-
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3059
|
-
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3060
|
-
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3061
|
-
}
|
|
3062
|
-
else {
|
|
3063
|
-
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3064
|
-
}
|
|
3302
|
+
default: {
|
|
3303
|
+
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3065
3304
|
}
|
|
3066
3305
|
}
|
|
3067
|
-
|
|
3068
|
-
|
|
3306
|
+
if (cterminal) {
|
|
3307
|
+
tCn = cterminal.getConnectivityNode();
|
|
3069
3308
|
if (tCn) {
|
|
3070
|
-
|
|
3309
|
+
tVMax = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umax'];
|
|
3310
|
+
tVMin = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['umin'];
|
|
3311
|
+
usoll = targetVoltages.get(this.UUID2Integral7ID.get(tCn.getUUID()).find(elem => elem))['usoll'];
|
|
3071
3312
|
}
|
|
3313
|
+
else {
|
|
3314
|
+
this.logger.debug(`debug --- ${i7Data.constructor.name} ${i7Data.id} Lokal geregelter Knoten konnte nicht ermittelt werden.`);
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3317
|
+
}
|
|
3318
|
+
uband = (0, parser_utils_1.isNumericI7)(tVMax) && (0, parser_utils_1.isNumericI7)(tVMin) ? (0, parser_utils_1.convertToNumberI7)(tVMax) - (0, parser_utils_1.convertToNumberI7)(tVMin) : undefined;
|
|
3319
|
+
if (uband === undefined) {
|
|
3320
|
+
if (tCn) {
|
|
3321
|
+
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3072
3322
|
}
|
|
3073
3323
|
}
|
|
3324
|
+
usoll = (0, parser_utils_1.isNumericI7)(i7Data.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7Data.usoll) : usoll;
|
|
3074
3325
|
//Create and define regulating control for voltage control
|
|
3075
3326
|
if (cterminal !== undefined) {
|
|
3076
3327
|
rControl = (0, utils_2.createRegulatingControl)((0, parser_utils_1.getUUID)(i7DataRQ.guid_rc), (0, util_create_1.createNotation)([regCondEquip.getUUID().substring(0, 8), suffix]), true, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage);
|
|
@@ -3083,6 +3334,9 @@ class ConverterIntegral7 {
|
|
|
3083
3334
|
rControl.targetDeadband = (0, parser_utils_1.isNumericI7)(uband) ? uband : undefined; //zulässiges Spannungsband
|
|
3084
3335
|
/** Spannung in kilo*/
|
|
3085
3336
|
//TODO TEMP FIX bei lokaler Regelegung bleibt usoll = null.
|
|
3337
|
+
if (cterminal !== undefined && cterminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
3338
|
+
const stop = true;
|
|
3339
|
+
}
|
|
3086
3340
|
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());
|
|
3087
3341
|
const guidSuffix = (_a = tCn === null || tCn === void 0 ? void 0 : tCn.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getUUID().substring(0, 8);
|
|
3088
3342
|
rControl.name = (0, util_create_1.createNotation)([rControl.name, '_', guidSuffix, '_RC'], 32, true);
|
|
@@ -3098,7 +3352,7 @@ class ConverterIntegral7 {
|
|
|
3098
3352
|
}
|
|
3099
3353
|
}
|
|
3100
3354
|
}
|
|
3101
|
-
else if (isRegulatingControl && i7DataSVC) {
|
|
3355
|
+
else if (isRegulatingControl && i7DataSVC !== undefined) {
|
|
3102
3356
|
/** Regelung */
|
|
3103
3357
|
const regCondEquip = condEquip;
|
|
3104
3358
|
const cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
@@ -3119,12 +3373,12 @@ class ConverterIntegral7 {
|
|
|
3119
3373
|
uband = (0, parser_utils_1.isNumericI7)(tVMax) && (0, parser_utils_1.isNumericI7)(tVMin) ? (0, parser_utils_1.convertToNumberI7)(tVMax) - (0, parser_utils_1.convertToNumberI7)(tVMin) : undefined;
|
|
3120
3374
|
if (uband === undefined) {
|
|
3121
3375
|
if (tCn) {
|
|
3122
|
-
uband = tCn.getBaseVoltageAsNumber() * 0.1;
|
|
3376
|
+
uband = (0, parser_utils_1.isNumericI7)(uref) ? uref * 0.1 : ((0, parser_utils_1.isNumericI7)(usoll) ? usoll * 0.1 : tCn.getBaseVoltageAsNumber() * 0.1);
|
|
3123
3377
|
}
|
|
3124
3378
|
}
|
|
3125
3379
|
if (cterminal !== undefined) {
|
|
3126
3380
|
const uuid = (0, parser_utils_1.getUUID)(i7DataSVC.guid_rc);
|
|
3127
|
-
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]),
|
|
3381
|
+
rControl = (0, utils_2.createRegulatingControl)(uuid, (0, util_create_1.createNotation)([condEquip.getUUID().substring(0, 8), suffix]), true, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage);
|
|
3128
3382
|
rControl.enabled = true;
|
|
3129
3383
|
if (isStatcom) {
|
|
3130
3384
|
rControl.discrete = true;
|
|
@@ -3197,20 +3451,23 @@ class ConverterIntegral7 {
|
|
|
3197
3451
|
usoll = (0, parser_utils_1.isNumericI7)(i7DataHgue.usoll) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.usoll) : undefined;
|
|
3198
3452
|
if (regelungU) {
|
|
3199
3453
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.udc;
|
|
3200
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3454
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
|
|
3455
|
+
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3201
3456
|
}
|
|
3202
3457
|
else if (regelungP) {
|
|
3203
3458
|
condEquip.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
|
|
3204
|
-
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.
|
|
3459
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
|
|
3205
3460
|
}
|
|
3206
|
-
if (
|
|
3207
|
-
//get rated voltage of controlled node.
|
|
3461
|
+
if (isRegulatingControl) { //voltage control for AC-side
|
|
3208
3462
|
let cterminal = undefined; //connection point terminal of this device
|
|
3209
3463
|
let tVMax = undefined; //maximum target voltage
|
|
3210
3464
|
let tVMin = undefined; //minimum target voltage
|
|
3211
|
-
//get
|
|
3465
|
+
//get rated voltage of controlled node.
|
|
3212
3466
|
if (knotenSpgGeregelt && spannungsregelungRemote) {
|
|
3213
3467
|
cterminal = (0, util_graph2tree_1.getControlledNode)(connectivityNode, knotenSpgGeregelt);
|
|
3468
|
+
if (cterminal === undefined) {
|
|
3469
|
+
let stop = true;
|
|
3470
|
+
}
|
|
3214
3471
|
if (cterminal) {
|
|
3215
3472
|
tCn = cterminal.getConnectivityNode();
|
|
3216
3473
|
if (tCn) {
|
|
@@ -3229,7 +3486,9 @@ class ConverterIntegral7 {
|
|
|
3229
3486
|
if ((knotenSpgGeregelt || connectivityNode) && spannungsregelungLokal) {
|
|
3230
3487
|
switch (knotenSpgGeregelt) {
|
|
3231
3488
|
case undefined: {
|
|
3232
|
-
|
|
3489
|
+
if (cpTerminal.connectivityNode.getConnectivityNodeContainer() instanceof Bay_1.Bay) {
|
|
3490
|
+
cterminal = (0, util_graph2tree_1.getNextBusbar)(connectivityNode);
|
|
3491
|
+
}
|
|
3233
3492
|
if (cterminal === undefined) {
|
|
3234
3493
|
cterminal = (0, util_graph2tree_1.getControlledNode)(cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)), cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss)));
|
|
3235
3494
|
}
|
|
@@ -3251,10 +3510,10 @@ class ConverterIntegral7 {
|
|
|
3251
3510
|
}
|
|
3252
3511
|
}
|
|
3253
3512
|
}
|
|
3513
|
+
condEquip.qPccControl = VsQpccControlKind_1.VsQpccControlKind.voltagePcc;
|
|
3254
3514
|
}
|
|
3255
3515
|
condEquip.targetUpcc = usoll;
|
|
3256
|
-
condEquip.targetQpcc = 0; //ReactivePower,
|
|
3257
|
-
condEquip.targetUdc = (0, parser_utils_1.isNumericI7)(i7DataHgue.udc) ? (0, parser_utils_1.convertToNumberI7)(i7DataHgue.udc) : condEquip.ratedUdc;
|
|
3516
|
+
//(condEquip as VsConverter).targetQpcc = 0; //ReactivePower, ReactivePowerCapabilityCurve is set in advance
|
|
3258
3517
|
condEquip.targetPpcc = condEquip.baseS * -1;
|
|
3259
3518
|
}
|
|
3260
3519
|
}
|
|
@@ -3354,47 +3613,10 @@ class ConverterIntegral7 {
|
|
|
3354
3613
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
|
|
3355
3614
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.KNOTEN_STARR, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.KNOTEN_STARR), containerIDs));
|
|
3356
3615
|
for (const i7Data of result) {
|
|
3357
|
-
//const junction = new Junction(getUUID(i7Data.guid, this.objectMappingConfig.standardiseUuid), createNotation([getName(i7Data),"_J",`_${cimModel.junctions]), 'JNCT', 'starre Verbindung');
|
|
3358
3616
|
const breaker = new Breaker_1.Breaker((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, 'Breaker', 'starre Verbindung');
|
|
3359
3617
|
yield this.convertSwitch(breaker, cimModel, i7Data);
|
|
3360
3618
|
cimModel.addBreaker(breaker);
|
|
3361
3619
|
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
3362
|
-
/**const schaltzustand = convertToBooleanI7(i7Data.schaltzustand);
|
|
3363
|
-
|
|
3364
|
-
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)) as EquipmentContainer);
|
|
3365
|
-
|
|
3366
|
-
if (equipmentContainer) {
|
|
3367
|
-
equipmentContainer.addEquipment(junction);
|
|
3368
|
-
junction.equipmentContainer = equipmentContainer;
|
|
3369
|
-
} else {
|
|
3370
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3371
|
-
}
|
|
3372
|
-
const cnStart = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
|
|
3373
|
-
const cnZiel = cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
|
|
3374
|
-
|
|
3375
|
-
if (cnStart) {
|
|
3376
|
-
const terminal = this.createConnection(cimModel, junction, cnStart, PhaseCode.ABC, true, 1);
|
|
3377
|
-
if (schaltzustand === false) {
|
|
3378
|
-
terminal.connected = schaltzustand;
|
|
3379
|
-
}
|
|
3380
|
-
} else {
|
|
3381
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
3382
|
-
}
|
|
3383
|
-
if (cnZiel) {
|
|
3384
|
-
const terminal = this.createConnection(cimModel, junction, cnZiel, PhaseCode.ABC, true, 2);
|
|
3385
|
-
if (schaltzustand === false) {
|
|
3386
|
-
terminal.connected = schaltzustand;
|
|
3387
|
-
}
|
|
3388
|
-
} else {
|
|
3389
|
-
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
3390
|
-
}
|
|
3391
|
-
const baseVoltage = getTerminalUn(cimModel, junction);
|
|
3392
|
-
if (baseVoltage) {
|
|
3393
|
-
junction.baseVoltage = baseVoltage;
|
|
3394
|
-
}
|
|
3395
|
-
this.addIdMapping(i7Data.id, junction.mrid, Integral7TableNames.KNOTEN_STARR);
|
|
3396
|
-
cimModel.addJunction(junction);
|
|
3397
|
-
**/
|
|
3398
3620
|
}
|
|
3399
3621
|
}
|
|
3400
3622
|
else {
|
|
@@ -3503,7 +3725,7 @@ class ConverterIntegral7 {
|
|
|
3503
3725
|
const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
|
|
3504
3726
|
let startTerminal;
|
|
3505
3727
|
if (start) {
|
|
3506
|
-
startTerminal =
|
|
3728
|
+
startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
|
|
3507
3729
|
}
|
|
3508
3730
|
else {
|
|
3509
3731
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
@@ -3512,7 +3734,7 @@ class ConverterIntegral7 {
|
|
|
3512
3734
|
const target = cimModel.objects.get(this.integralID2UUID.get(i7Data.eknoten));
|
|
3513
3735
|
let targetTerminal;
|
|
3514
3736
|
if (target) {
|
|
3515
|
-
targetTerminal =
|
|
3737
|
+
targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
|
|
3516
3738
|
}
|
|
3517
3739
|
else {
|
|
3518
3740
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
@@ -3529,7 +3751,7 @@ class ConverterIntegral7 {
|
|
|
3529
3751
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3530
3752
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3531
3753
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3532
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir);
|
|
3754
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir, seriesCompensator.r);
|
|
3533
3755
|
seriesCompensator.varistorPresent = false;
|
|
3534
3756
|
/** EQ-SC */
|
|
3535
3757
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
@@ -3615,8 +3837,8 @@ class ConverterIntegral7 {
|
|
|
3615
3837
|
const ukr = (0, parser_utils_1.isNumericI7)(i7Data.ukr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ukr) : undefined;
|
|
3616
3838
|
const pkr = (0, parser_utils_1.isNumericI7)(i7Data.pkr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pkr) : undefined;
|
|
3617
3839
|
seriesCompensator.r = (0, utils_2.calculateRSeriesCompensator)(ir, pkr);
|
|
3618
|
-
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1);
|
|
3619
|
-
seriesCompensator.varistorPresent = false;
|
|
3840
|
+
seriesCompensator.x = (0, utils_2.calculateXSeriesCompensator)(ur, ukr, ir * -1, seriesCompensator.r);
|
|
3841
|
+
//seriesCompensator.varistorPresent = false;
|
|
3620
3842
|
/** EQ-SC */
|
|
3621
3843
|
seriesCompensator.r0 = seriesCompensator.r;
|
|
3622
3844
|
seriesCompensator.x0 = seriesCompensator.x;
|
|
@@ -3681,28 +3903,14 @@ class ConverterIntegral7 {
|
|
|
3681
3903
|
for (const i7DataSchiene of stpSchiene) {
|
|
3682
3904
|
try {
|
|
3683
3905
|
stpSchieneIDs.push(i7DataSchiene.id);
|
|
3684
|
-
const
|
|
3685
|
-
const keyConnectivityNode = cim_class_names_1.ClassNames.ConnectivityNode + i7DataSchiene.id + (equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getUUID()) || '';
|
|
3906
|
+
const keyConnectivityNode = cim_class_names_1.ClassNames.ConnectivityNode + i7DataSchiene.id;
|
|
3686
3907
|
const uuidConnectivityNode = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, keyConnectivityNode);
|
|
3687
|
-
const
|
|
3688
|
-
const
|
|
3689
|
-
|
|
3690
|
-
const junction = new Junction_1.Junction(uuidJunction, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_J']));
|
|
3691
|
-
connectivityNode.setConnectivityNodeContainer(equipmentContainer);
|
|
3692
|
-
if (equipmentContainer) {
|
|
3693
|
-
equipmentContainer.addEquipment(junction);
|
|
3694
|
-
junction.equipmentContainer = equipmentContainer;
|
|
3695
|
-
}
|
|
3696
|
-
else {
|
|
3697
|
-
this.logger.debug(`Sternpunktschiene ${i7DataSchiene.id} besitzt keinen EquipmentContainer.`);
|
|
3698
|
-
}
|
|
3908
|
+
const name = (0, util_create_1.createNotation)([(0, utils_2.getName)(i7DataSchiene), '_CN'], 32, false);
|
|
3909
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(uuidConnectivityNode, name, name);
|
|
3910
|
+
connectivityNode.key = integral_prefix_1.CKnoten1PSO_PRAEFIX + i7DataSchiene.bezeichner;
|
|
3699
3911
|
// Verbindung herstellen
|
|
3700
|
-
|
|
3701
|
-
cimModel.terminals.delete(terminal.mrid); //TODO: complete/repair implementation of star point connections.
|
|
3912
|
+
integral7.sternPunktImpModel.stpSchieneIdConnectivityNode.set(i7DataSchiene.id, connectivityNode);
|
|
3702
3913
|
integral7.sternPunktImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
|
|
3703
|
-
integral7.sternPunktImpModel.junctions.set(junction.mrid, junction);
|
|
3704
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
|
|
3705
|
-
integral7.sternPunktImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
|
|
3706
3914
|
this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
|
|
3707
3915
|
}
|
|
3708
3916
|
catch (e) {
|
|
@@ -3717,41 +3925,63 @@ class ConverterIntegral7 {
|
|
|
3717
3925
|
}));
|
|
3718
3926
|
});
|
|
3719
3927
|
}
|
|
3720
|
-
convertKdrossel(cimModel, integral7,
|
|
3928
|
+
convertKdrossel(cimModel, integral7, stpSchienenID, defaultValuesConfig) {
|
|
3721
3929
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3722
3930
|
try {
|
|
3723
3931
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
|
|
3724
|
-
if (
|
|
3725
|
-
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ),
|
|
3932
|
+
if (stpSchienenID !== undefined && stpSchienenID.length > 0) {
|
|
3933
|
+
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ), stpSchienenID));
|
|
3726
3934
|
for (const i7Data of result) {
|
|
3727
3935
|
const kdType = this.kdrosseltypen.get(i7Data.nametyp);
|
|
3936
|
+
const iakt = (0, parser_utils_1.isNumericI7)(i7Data.iakt) ? i7Data.iakt : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.iakt) ? kdType === null || kdType === void 0 ? void 0 : kdType.iakt : undefined);
|
|
3937
|
+
const xne = (0, parser_utils_1.isNumericI7)(i7Data.xne) ? i7Data.xne : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
|
|
3938
|
+
const ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) : undefined);
|
|
3728
3939
|
const imax = (0, parser_utils_1.isNumericI7)(i7Data.imax) ? i7Data.imax : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? kdType === null || kdType === void 0 ? void 0 : kdType.imax : undefined);
|
|
3729
3940
|
const imin = (0, parser_utils_1.isNumericI7)(i7Data.imin) ? i7Data.imin : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? kdType === null || kdType === void 0 ? void 0 : kdType.imin : undefined);
|
|
3730
3941
|
const connectivityNode = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
if (imax && imin) {
|
|
3942
|
+
let conductingEquip = undefined;
|
|
3943
|
+
if (iakt !== undefined && xne !== undefined || xne !== undefined && ur !== undefined || iakt !== undefined && ur !== undefined) {
|
|
3734
3944
|
/** PetersenCoil */
|
|
3735
3945
|
const petersenCoil = new PetersenCoil_1.PetersenCoil((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname);
|
|
3736
|
-
|
|
3737
|
-
|
|
3946
|
+
if (xne !== undefined && ur !== undefined) {
|
|
3947
|
+
petersenCoil.xGroundNominal = xne;
|
|
3948
|
+
petersenCoil.nominalU = ur;
|
|
3949
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3950
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3951
|
+
}
|
|
3952
|
+
else if (iakt !== undefined && xne !== undefined) {
|
|
3953
|
+
petersenCoil.xGroundNominal = xne;
|
|
3954
|
+
petersenCoil.nominalU = iakt * xne * Math.pow(10, -3);
|
|
3955
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3956
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3957
|
+
}
|
|
3958
|
+
else if (iakt !== undefined && ur !== undefined) {
|
|
3959
|
+
petersenCoil.nominalU = ur;
|
|
3960
|
+
petersenCoil.xGroundNominal = petersenCoil.nominalU * Math.pow(10, 3) / iakt;
|
|
3961
|
+
petersenCoil.xGroundMax = (0, parser_utils_1.isNumericI7)(imin) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imin : undefined;
|
|
3962
|
+
petersenCoil.xGroundMin = (0, parser_utils_1.isNumericI7)(imax) && (0, parser_utils_1.isNumericI7)(petersenCoil.nominalU) ? petersenCoil.nominalU * Math.pow(10, 3) / imax : undefined;
|
|
3963
|
+
}
|
|
3964
|
+
petersenCoil.mode = PetersenCoilModeKind_1.PetersenCoilModeKind.automaticPositioning;
|
|
3738
3965
|
this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3739
3966
|
conductingEquip = petersenCoil;
|
|
3740
3967
|
}
|
|
3741
3968
|
else {
|
|
3742
3969
|
/** GroundingImpedance */
|
|
3743
3970
|
const groundingImpedance = new GroundingImpedance_1.GroundingImpedance((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_GI']), i7Data.kurzname);
|
|
3744
|
-
groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? i7Data.rne : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
|
|
3745
|
-
groundingImpedance.x =
|
|
3971
|
+
groundingImpedance.r = (0, parser_utils_1.isNumericI7)(i7Data.rne) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rne) : ((0, parser_utils_1.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? (0, parser_utils_1.convertToNumberI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) : undefined);
|
|
3972
|
+
groundingImpedance.x = xne;
|
|
3746
3973
|
integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
|
|
3747
|
-
integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
3974
|
+
//integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
3748
3975
|
this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
3749
3976
|
conductingEquip = groundingImpedance;
|
|
3750
3977
|
}
|
|
3751
|
-
//
|
|
3978
|
+
// Create connection for PetersenCoil and GroundingImpedance connected with 'Sternpunktschiene'. PetersenCoil and GroundingImpedance connected to 'Sternpunktknoten' is connected during convertTrafo2w and convertTrafo3w
|
|
3752
3979
|
if (connectivityNode) {
|
|
3753
|
-
|
|
3754
|
-
|
|
3980
|
+
this.createConnection(cimModel, conductingEquip, connectivityNode, PhaseCode_1.PhaseCode.N, true);
|
|
3981
|
+
integral7.sternPunktImpModel.stpSchieneUUIDStpImp.set(connectivityNode.getUUID(), conductingEquip);
|
|
3982
|
+
}
|
|
3983
|
+
else {
|
|
3984
|
+
integral7.sternPunktImpModel.stpKnotenStpImp.set(i7Data.anschluss, conductingEquip);
|
|
3755
3985
|
}
|
|
3756
3986
|
}
|
|
3757
3987
|
}
|
|
@@ -3772,26 +4002,37 @@ class ConverterIntegral7 {
|
|
|
3772
4002
|
});
|
|
3773
4003
|
}
|
|
3774
4004
|
/** Den Schaltzuszand bestimmen und zuvor angelegten (convertSternpunktSchienen) Terminalinstanz zuweisen. */
|
|
3775
|
-
convertStpSchaltelemente(integral7, stpSchienenID) {
|
|
4005
|
+
convertStpSchaltelemente(cimModel, integral7, stpSchienenID) {
|
|
3776
4006
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3777
4007
|
try {
|
|
3778
4008
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
|
|
3779
|
-
if (stpSchienenID.length) {
|
|
4009
|
+
if (stpSchienenID !== undefined && stpSchienenID.length > 0) {
|
|
3780
4010
|
const result = yield this.mysqlController.execQuery((0, integral_sql_1.getI7Query)(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, this.getAvailableColumnNames(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER), stpSchienenID));
|
|
3781
4011
|
for (const i7Data of result) {
|
|
3782
|
-
const
|
|
3783
|
-
|
|
3784
|
-
|
|
4012
|
+
const connectivityNodeAbcn = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.aknoten)); //connection point of 'PowerTransformerEnd' is assigned during convertTrafo2w and convertTrafo3w
|
|
4013
|
+
const connectivityNodeN = integral7.sternPunktImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.eknoten)); //connection point of 'Sternpunktschiene'
|
|
4014
|
+
if (connectivityNodeN != undefined) {
|
|
4015
|
+
const schaltzustand = (0, parser_utils_1.convertToBooleanI7)(i7Data.schaltzustand);
|
|
4016
|
+
const keyGroundDisconnector = cim_class_names_1.ClassNames.GroundDisconnector + i7Data.aknoten + i7Data.eknoten;
|
|
4017
|
+
const uuidGroundDisconnector = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.GroundDisconnector, this.configUuid, keyGroundDisconnector);
|
|
4018
|
+
const groundDisconnector = new GroundDisconnector_1.GroundDisconnector(uuidGroundDisconnector, i7Data.bezeichner, i7Data.kurzname, i7Data.kommentar, schaltzustand, false);
|
|
4019
|
+
//Set connection to ConnectivityNode at neutral side to GroundingImpedance or PetersenCoil
|
|
4020
|
+
this.createConnection(cimModel, groundDisconnector, connectivityNodeN, PhaseCode_1.PhaseCode.N, true);
|
|
4021
|
+
//cimModel.addGroundDisconnector(groundDisconnector);
|
|
4022
|
+
integral7.sternPunktImpModel.groundDisconnectors.set(groundDisconnector.getUUID(), groundDisconnector);
|
|
4023
|
+
/** SchaltelementID mit GroundDisconnector UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
4024
|
+
integral7.sternPunktImpModel.stpSchaltelementeIdGroundDisconnectorUUID.set(i7Data.id, groundDisconnector.getUUID());
|
|
4025
|
+
/** SchaltelementID mit GroundDisconnector UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
4026
|
+
integral7.sternPunktImpModel.groundDisconnectorsUUIDsStpSchieneUUID.set(groundDisconnector.getUUID(), connectivityNodeN.getUUID());
|
|
4027
|
+
/** SternpunktknotenID mit GroundDisconnector UUID verknüpfen, um Topologie der AssetElemente herstellen zu können */
|
|
4028
|
+
integral7.sternPunktImpModel.GroundDisconnectorUuidStpSchieneId.set(groundDisconnector.getUUID(), i7Data.eknoten);
|
|
4029
|
+
/** set connection to terminal of powertransformerend*/
|
|
4030
|
+
let earthFaultCompensator = integral7.sternPunktImpModel.stpSchieneUUIDStpImp.get(connectivityNodeN.getUUID());
|
|
4031
|
+
integral7.sternPunktImpModel.groundDisconnectorUUIDstpImp.set(groundDisconnector.getUUID(), earthFaultCompensator);
|
|
4032
|
+
this.addIdMapping(i7Data.id, groundDisconnector.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER);
|
|
3785
4033
|
}
|
|
3786
|
-
/** SchaltelementID mit Junstion UUID verknüpfen, um Topologie des netz_knoten1pelem-Elements herstellen zu können */
|
|
3787
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.id, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3788
|
-
/** Sternpunktknoten mit Junstion UUID verknüpfen, um Topologie der AssetElemente herstellen zu können */
|
|
3789
|
-
integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.set(i7Data.aknoten, integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
|
|
3790
4034
|
}
|
|
3791
4035
|
}
|
|
3792
|
-
else {
|
|
3793
|
-
this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
|
|
3794
|
-
}
|
|
3795
4036
|
}
|
|
3796
4037
|
else {
|
|
3797
4038
|
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
|
|
@@ -3909,6 +4150,7 @@ class ConverterIntegral7 {
|
|
|
3909
4150
|
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));
|
|
3910
4151
|
}
|
|
3911
4152
|
for (const i7Data of result) {
|
|
4153
|
+
let lineNames = new Map;
|
|
3912
4154
|
/** Alle Stromkreisabschnitte */
|
|
3913
4155
|
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
3914
4156
|
if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
|
|
@@ -3932,8 +4174,9 @@ class ConverterIntegral7 {
|
|
|
3932
4174
|
'-' +
|
|
3933
4175
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
|
|
3934
4176
|
/** Wenn kein Stromkreisobjekt vorhanden ist, dann erstelle ein neues Objekt. */
|
|
3935
|
-
const uuidString =
|
|
3936
|
-
|
|
4177
|
+
const uuidString = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.Line, this.configUuid, i7Schluessel);
|
|
4178
|
+
let lineName = createLineName(i7Data, uuidString, lineNames);
|
|
4179
|
+
const line = new AMPRIONLine_1.AMPRIONLine(uuidString, lineName);
|
|
3937
4180
|
line.ukz = i7Data.ukz;
|
|
3938
4181
|
line.key = i7Schluessel;
|
|
3939
4182
|
let acLineSegments = [];
|
|
@@ -3946,7 +4189,7 @@ class ConverterIntegral7 {
|
|
|
3946
4189
|
'-' +
|
|
3947
4190
|
(0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
|
|
3948
4191
|
const uuid = (0, parser_utils_1.getUUID)(stk.custom_guid_0120 + stk.custom_guid_2137, this.objectMappingConfig.standardiseUuid);
|
|
3949
|
-
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname,
|
|
4192
|
+
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuid, stk.bezeichner, i7Data.stkabname, i7Data.kommentar);
|
|
3950
4193
|
const key = acLineSegment.getUUID();
|
|
3951
4194
|
const uuidWireObject = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.EVWireObject, this.configUuid, key);
|
|
3952
4195
|
acLineSegment.key = i7Schluessel;
|
|
@@ -4009,7 +4252,7 @@ class ConverterIntegral7 {
|
|
|
4009
4252
|
/**Connectivity Node to connect end of line and start of neighbouring line.*/
|
|
4010
4253
|
const key = acLineSegment1.getUUID() + acLineSegment2.getUUID();
|
|
4011
4254
|
const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.ConnectivityNode, this.configUuid, key);
|
|
4012
|
-
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.
|
|
4255
|
+
const cn = new ConnectivityNode_1.ConnectivityNode(uuid, (0, util_create_1.createNotation)([acLineSegment1.getUUID().substring(0, 8), '_CN'], 32, false));
|
|
4013
4256
|
/**Connect end of aclinesegment i*/
|
|
4014
4257
|
cn.connectivityNodeContainer = acLineSegment1.equipmentContainer;
|
|
4015
4258
|
tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
@@ -4068,7 +4311,6 @@ class ConverterIntegral7 {
|
|
|
4068
4311
|
/** In any case assign Georegion to aclinesegments */
|
|
4069
4312
|
let idx = 0;
|
|
4070
4313
|
while (idx < acLineSegments.length && !(line.subGeographicalRegion)) {
|
|
4071
|
-
let jdx = 0;
|
|
4072
4314
|
let values = acLineSegments[idx].terminals.values();
|
|
4073
4315
|
let tmp_terminal = values.next();
|
|
4074
4316
|
while (tmp_terminal.value && !(line.subGeographicalRegion)) {
|
|
@@ -4138,6 +4380,9 @@ class ConverterIntegral7 {
|
|
|
4138
4380
|
let dcLineNeutral = undefined;
|
|
4139
4381
|
const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
|
|
4140
4382
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4383
|
+
if (dcLine.getUUID() === 'f125f0f3-a621-43e7-8af7-9873d52239a0') {
|
|
4384
|
+
const stop = true;
|
|
4385
|
+
}
|
|
4141
4386
|
/** operationMode der Anfangs- und Zielkopfstation setzen */
|
|
4142
4387
|
let converterStart = false;
|
|
4143
4388
|
let converterStartNeg = false;
|
|
@@ -4152,7 +4397,7 @@ class ConverterIntegral7 {
|
|
|
4152
4397
|
let dcNodeStartMiddle = undefined;
|
|
4153
4398
|
let dcNodeTargetMiddle = undefined;
|
|
4154
4399
|
//Parameter "guidp" is available for monopolar and bipolar dc systems. Thus create DCLineSegment with positive sign property in any case.
|
|
4155
|
-
const dcLineSegment = new DCLineSegment_1.
|
|
4400
|
+
const dcLineSegment = new DCLineSegment_1.INTEGRALDCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidp, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
|
|
4156
4401
|
dcLineSegmentSet.push(dcLineSegment);
|
|
4157
4402
|
let dcLineSegmentNeg = undefined;
|
|
4158
4403
|
let dcLineSegmentNeutral = undefined;
|
|
@@ -4161,19 +4406,21 @@ class ConverterIntegral7 {
|
|
|
4161
4406
|
dcLineSegment.capacitance = undefined;
|
|
4162
4407
|
dcLineSegment.inductance = undefined;
|
|
4163
4408
|
/**EQ: given directly by the INTEGRAL system model */
|
|
4164
|
-
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : undefined;
|
|
4409
|
+
dcLineSegment.resistance = (0, parser_utils_1.isNumericI7)(i7Data.rdc) ? (bipole ? (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) : (0, parser_utils_1.convertToNumberI7)(i7Data.rdc) / 2) : undefined;
|
|
4410
|
+
dcLineSegment.ur = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
4165
4411
|
dcLineSegment.equipmentContainer = dcLine;
|
|
4166
4412
|
//create second dcLineSegment in case this dcLine is a bipol.
|
|
4167
4413
|
if (bipole) {
|
|
4168
4414
|
const dcLineKey = dcLine.getUUID();
|
|
4169
4415
|
const dcLineUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4170
4416
|
dcLineNeg = new DCLine_1.DCLine(dcLineUuid, i7Data.bezeichner);
|
|
4171
|
-
dcLineSegmentNeg = new DCLineSegment_1.
|
|
4417
|
+
dcLineSegmentNeg = new DCLineSegment_1.INTEGRALDCLineSegment((0, parser_utils_1.getUUID)(i7Data.guidn, this.objectMappingConfig.standardiseUuid), i7Data.bezeichner, (0, util_create_1.createNotation)([i7Data.kurzname, '_neg'], 12, true), i7Schluessel);
|
|
4172
4418
|
dcLineSegmentSet.push(dcLineSegmentNeg);
|
|
4173
4419
|
dcLineSegmentNeg.length = dcLineSegment.length;
|
|
4174
4420
|
dcLineSegmentNeg.capacitance = undefined;
|
|
4175
4421
|
dcLineSegmentNeg.inductance = undefined;
|
|
4176
|
-
dcLineSegmentNeg.resistance =
|
|
4422
|
+
dcLineSegmentNeg.resistance = dcLineSegment.resistance;
|
|
4423
|
+
dcLineSegmentNeg.ur = dcLineSegment.ur;
|
|
4177
4424
|
dcLineSegmentNeg.equipmentContainer = dcLineNeg;
|
|
4178
4425
|
}
|
|
4179
4426
|
//create metallic return
|
|
@@ -4181,12 +4428,13 @@ class ConverterIntegral7 {
|
|
|
4181
4428
|
const dcLineNeutralUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLine, this.configUuid, dcLineKey);
|
|
4182
4429
|
const dcLineSegmentUuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.DCLineSegment, this.configUuid, dcLineNeutralUuid);
|
|
4183
4430
|
dcLineNeutral = new DCLine_1.DCLine(dcLineNeutralUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCL']));
|
|
4184
|
-
dcLineSegmentNeutral = new DCLineSegment_1.
|
|
4431
|
+
dcLineSegmentNeutral = new DCLineSegment_1.INTEGRALDCLineSegment(dcLineSegmentUuid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_mid', '_DCLS'], 32, true), (0, util_create_1.createNotation)([i7Data.kurzname, '_mid'], 12, true), i7Schluessel);
|
|
4185
4432
|
dcLineSegmentSet.push(dcLineSegmentNeutral);
|
|
4186
4433
|
dcLineSegmentNeutral.length = dcLineSegment.length;
|
|
4187
4434
|
dcLineSegmentNeutral.capacitance = undefined;
|
|
4188
4435
|
dcLineSegmentNeutral.inductance = undefined;
|
|
4189
|
-
dcLineSegmentNeutral.resistance =
|
|
4436
|
+
dcLineSegmentNeutral.resistance = dcLineSegment.resistance;
|
|
4437
|
+
dcLineSegmentNeutral.ur = dcLineSegment.ur;
|
|
4190
4438
|
dcLineSegmentNeutral.equipmentContainer = dcLineNeutral;
|
|
4191
4439
|
//get ACDCConverter at both ends of DCLine
|
|
4192
4440
|
const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) ? cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt)) : undefined;
|
|
@@ -4364,8 +4612,10 @@ class ConverterIntegral7 {
|
|
|
4364
4612
|
const equipmentKey = dcTerminal.getUUID();
|
|
4365
4613
|
for (const elem of dcTerminal.dcNode.dcTerminals.values()) {
|
|
4366
4614
|
if (elem instanceof ACDCConverterDCTerminal_1.ACDCConverterDCTerminal) {
|
|
4367
|
-
const pR = elem.dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4368
|
-
const uR = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4615
|
+
//const pR: number = (elem as ACDCConverterDCTerminal).dCConductingEquipment.baseS; //apparent power is set equal to active power in MVA
|
|
4616
|
+
//const uR: number = acDCConverterStart.ratedUdc; //voltage in kV
|
|
4617
|
+
const pR = (0, parser_utils_1.isNumericI7)(i7Data.pr) ? (0, parser_utils_1.convertToNumberI7)(i7Data.pr) : undefined;
|
|
4618
|
+
const uR = (0, parser_utils_1.isNumericI7)(i7Data.ur) ? (0, parser_utils_1.convertToNumberI7)(i7Data.ur) : undefined;
|
|
4369
4619
|
if (pR != undefined && uR != undefined) {
|
|
4370
4620
|
let ir = (pR * Math.pow(10, 6)) / (uR * Math.pow(10, 3)); //assumption: pr is BaseS
|
|
4371
4621
|
if (bipole) {
|
|
@@ -4425,6 +4675,7 @@ class ConverterIntegral7 {
|
|
|
4425
4675
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4426
4676
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4427
4677
|
typTrafo.r00r2 = i7Data.r00r2;
|
|
4678
|
+
typTrafo.s_dauer = i7Data.s_dauer;
|
|
4428
4679
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4429
4680
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4430
4681
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4476,6 +4727,9 @@ class ConverterIntegral7 {
|
|
|
4476
4727
|
typTrafo.r0kr2 = i7Data.r0kr2;
|
|
4477
4728
|
typTrafo.r00r1 = i7Data.r00r1;
|
|
4478
4729
|
typTrafo.r00r2 = i7Data.r00r2;
|
|
4730
|
+
typTrafo.s_dauer_1 = i7Data.s_dauer_1;
|
|
4731
|
+
typTrafo.s_dauer_2 = i7Data.s_dauer_2;
|
|
4732
|
+
typTrafo.s_dauer_3 = i7Data.s_dauer_3;
|
|
4479
4733
|
const typWicklung1 = new INTEGRALPowerTransformerEndInfo_1.INTEGRALPowerTransformerEndInfo(common_utils_1.CommonUtils.generateUUID());
|
|
4480
4734
|
typWicklung1.ratedS = new ApparentPower_1.ApparentPower(i7Data.sr1, UnitMultiplier_1.UnitMultiplier.m, UnitSymbol_1.UnitSymbol.VA);
|
|
4481
4735
|
this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
|
|
@@ -4594,30 +4848,18 @@ class ConverterIntegral7 {
|
|
|
4594
4848
|
integral_prefix_1.TRAFO2W_PRAEFIX +
|
|
4595
4849
|
(0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
|
|
4596
4850
|
powerTransformer.key = i7Schluessel;
|
|
4597
|
-
if (powerTransformer.getUUID() === '
|
|
4598
|
-
let stop = true;
|
|
4599
|
-
} // kein Typ in D4
|
|
4600
|
-
if (powerTransformer.getUUID() === '012416f2d9584971baa93360fcf40be2') {
|
|
4851
|
+
if (powerTransformer.getUUID() === '21def4394e814e77b3f25acbad7bda16') {
|
|
4601
4852
|
let stop = true;
|
|
4602
|
-
}
|
|
4603
|
-
if (powerTransformer.getUUID() === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') {
|
|
4604
|
-
let stop = true;
|
|
4605
|
-
} //kein Typ in BE
|
|
4606
|
-
if (powerTransformer.getUUID() === '11e7be86-8bb7-41ba-898a-74cd5e8efbb9') {
|
|
4607
|
-
let stop = true;
|
|
4608
|
-
} //Typ in D7
|
|
4853
|
+
}
|
|
4609
4854
|
if (powerTransformer.getUUID() === '8eca3fedd32c49369f8946ac4ce70e17') { //Stufenstellerkonvertierung fehlgeschlagen
|
|
4610
4855
|
let stop = true;
|
|
4611
4856
|
}
|
|
4612
4857
|
if (powerTransformer.getUUID() === 'b9d8bd48e1554af7b6153c1f7da052e1') {
|
|
4613
4858
|
let stop = true;
|
|
4614
4859
|
} //Phasenschieber zu falscher Winkel und falsches stepIncrement.
|
|
4615
|
-
if (powerTransformer.getUUID() === '
|
|
4860
|
+
if (powerTransformer.getUUID() === '012416f2d9584971baa93360fcf40be2') { //pkr, ukr, ... konnte nicht aus Typ ermittelt werden.
|
|
4616
4861
|
let stop = true;
|
|
4617
4862
|
} //Längsregeltransformator mit symmetrischem Phasenschieber.
|
|
4618
|
-
if (i7Data.nametyp) {
|
|
4619
|
-
const stop = true;
|
|
4620
|
-
}
|
|
4621
4863
|
const powerTransformerInfo = this.cimModelDefault.getPowerTransformerInfoByName(i7Data.nametyp);
|
|
4622
4864
|
if (powerTransformerInfo) {
|
|
4623
4865
|
facility.setAssetInfo(powerTransformerInfo);
|
|
@@ -4635,12 +4877,13 @@ class ConverterIntegral7 {
|
|
|
4635
4877
|
// Wicklung 1
|
|
4636
4878
|
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}`);
|
|
4637
4879
|
powerTransformerEnd1.endNumber = 1;
|
|
4638
|
-
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo,
|
|
4639
|
-
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo,
|
|
4880
|
+
const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, undefined, false);
|
|
4881
|
+
const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, undefined, false);
|
|
4640
4882
|
const sr = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
|
|
4641
4883
|
const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4642
4884
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4643
|
-
const
|
|
4885
|
+
const sdauer1 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 1, false);
|
|
4886
|
+
const sdauer2 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 2, false);
|
|
4644
4887
|
// P0 Lastverluste im I7 Modell p_leer
|
|
4645
4888
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4646
4889
|
// Leerlaufverluste
|
|
@@ -4688,7 +4931,7 @@ class ConverterIntegral7 {
|
|
|
4688
4931
|
const startTerminal = start ? this.createConnection(cimModel, powerTransformer, start, PhaseCode.ABC, true, 1) : undefined;*/
|
|
4689
4932
|
if (!startTerminal)
|
|
4690
4933
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
4691
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7,
|
|
4934
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, startTerminal, sternpunktKnotenMap, integral7, sdauer1, i7Data, defaultValuesConfig);
|
|
4692
4935
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4693
4936
|
let equivalentInjection = undefined;
|
|
4694
4937
|
if (startTerminal) {
|
|
@@ -4720,7 +4963,7 @@ class ConverterIntegral7 {
|
|
|
4720
4963
|
const zielTerminal = this.createBoundaryConnection(frame, powerTransformer, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
|
|
4721
4964
|
if (!zielTerminal)
|
|
4722
4965
|
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
|
|
4723
|
-
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7,
|
|
4966
|
+
this.setPowerTransformerEndProperties(frame, powerTransformerEnd2, powerTransformer, zielTerminal, sternpunktKnotenMap, integral7, sdauer2, i7Data, defaultValuesConfig);
|
|
4724
4967
|
/**Add boundary equivalent injection if terminal is connected to boudary point. */
|
|
4725
4968
|
if (zielTerminal) {
|
|
4726
4969
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
|
|
@@ -4735,9 +4978,6 @@ class ConverterIntegral7 {
|
|
|
4735
4978
|
powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
4736
4979
|
powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
|
|
4737
4980
|
powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
4738
|
-
if (uuid === '402aec99-ba2c-42fa-b4ed-b4928901f47b') {
|
|
4739
|
-
let stop = true;
|
|
4740
|
-
}
|
|
4741
4981
|
// NullSystem Impedanzen (nur Reaktanzen)
|
|
4742
4982
|
let starconnectionCount = (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) <= 1 ? (0, utils_2.getGroundingCountFromWindingConnection)(powerTransformer) : 1;
|
|
4743
4983
|
const retVal = (0, utils_2.calculateComplexZeroSequImpedanzenTrafo)([r0kr1, x0kr1, r0kr2, x0kr2], [r00r1, x00r1, r00r2, x00r2], [ur, ur2], starconnectionCount, powerTransformer);
|
|
@@ -4750,7 +4990,7 @@ class ConverterIntegral7 {
|
|
|
4750
4990
|
powerTransformerEnd2.x0 = zeroSequImpedanzWx.x02;
|
|
4751
4991
|
powerTransformerEnd2.r0 = zeroSequImpedanzWx.r02;
|
|
4752
4992
|
/** Transormator Anschlusspunkte nach Spannungsebene sortieren */
|
|
4753
|
-
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
4993
|
+
//this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
4754
4994
|
// TODO
|
|
4755
4995
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
4756
4996
|
* da sonst die Wicklungsnummern nicht mehr übereinstimmen könnten */
|
|
@@ -4824,6 +5064,9 @@ class ConverterIntegral7 {
|
|
|
4824
5064
|
for (const i7Data of result) {
|
|
4825
5065
|
const sternpunktKnotenMap = new Map();
|
|
4826
5066
|
const uuid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
|
|
5067
|
+
if (uuid === 'b81485dd-5115-4241-b31a-c87a3eec9803' || uuid === '4eadc602-7dc5-41e4-bb8b-38993c03a80a') {
|
|
5068
|
+
const stop = true;
|
|
5069
|
+
}
|
|
4827
5070
|
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);
|
|
4828
5071
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
4829
5072
|
if (substation) {
|
|
@@ -4874,9 +5117,9 @@ class ConverterIntegral7 {
|
|
|
4874
5117
|
const ur1 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
|
|
4875
5118
|
const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
|
|
4876
5119
|
const ur3 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 3);
|
|
4877
|
-
const sdauer1 = (0,
|
|
4878
|
-
const sdauer2 = (0,
|
|
4879
|
-
const sdauer3 = (0,
|
|
5120
|
+
const sdauer1 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 1, true);
|
|
5121
|
+
const sdauer2 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 2, true);
|
|
5122
|
+
const sdauer3 = (0, utils_2.getSdauerTrafo)(i7Data, powerTransformerInfo, 3, true);
|
|
4880
5123
|
//Leerlaufverluste in kW
|
|
4881
5124
|
const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
|
|
4882
5125
|
// Leerlaufstrom bezogen auf Wicklung mit dem grössten Sr in %
|
|
@@ -4931,7 +5174,7 @@ class ConverterIntegral7 {
|
|
|
4931
5174
|
powerTransformerEnd1.r = impedanzW1.r;
|
|
4932
5175
|
powerTransformerEnd1.x = impedanzW1.x;
|
|
4933
5176
|
powerTransformerEnd1.g = impedanzW1.g;
|
|
4934
|
-
powerTransformerEnd1.b = impedanzW1.b;
|
|
5177
|
+
powerTransformerEnd1.b = -1 * impedanzW1.b;
|
|
4935
5178
|
powerTransformerEnd1.ratedU = ur1;
|
|
4936
5179
|
powerTransformerEnd1.ratedS = sr1;
|
|
4937
5180
|
this.setPowerTransformerEndProperties(frame, powerTransformerEnd1, powerTransformer, terminal1, sternpunktKnotenMap, integral7, sdauer1, i7Data, defaultValuesConfig, trafoWicklungen);
|
|
@@ -4978,7 +5221,7 @@ class ConverterIntegral7 {
|
|
|
4978
5221
|
powerTransformerEnd2.r = impedanzW2.r;
|
|
4979
5222
|
powerTransformerEnd2.x = impedanzW2.x;
|
|
4980
5223
|
powerTransformerEnd2.g = impedanzW2.g;
|
|
4981
|
-
powerTransformerEnd2.b = impedanzW2.b;
|
|
5224
|
+
powerTransformerEnd2.b = -1 * impedanzW2.b;
|
|
4982
5225
|
powerTransformerEnd2.ratedS = sr2;
|
|
4983
5226
|
powerTransformerEnd2.ratedU = ur2;
|
|
4984
5227
|
powerTransformerEnd2.powerTransformer = powerTransformer;
|
|
@@ -5026,7 +5269,7 @@ class ConverterIntegral7 {
|
|
|
5026
5269
|
powerTransformerEnd3.r = impedanzW3.r;
|
|
5027
5270
|
powerTransformerEnd3.x = impedanzW3.x;
|
|
5028
5271
|
powerTransformerEnd3.g = impedanzW3.g;
|
|
5029
|
-
powerTransformerEnd3.b = impedanzW3.b;
|
|
5272
|
+
powerTransformerEnd3.b = -1 * impedanzW3.b;
|
|
5030
5273
|
powerTransformerEnd3.ratedS = sr3;
|
|
5031
5274
|
powerTransformerEnd3.ratedU = ur3;
|
|
5032
5275
|
powerTransformerEnd3.powerTransformer = powerTransformer;
|
|
@@ -5058,6 +5301,15 @@ class ConverterIntegral7 {
|
|
|
5058
5301
|
powerTransformerEnd3.r0 = zeroSequImpedanzWx.r03;
|
|
5059
5302
|
// Transormator Anschlusspunkte nach Spannungsebene sortieren
|
|
5060
5303
|
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
5304
|
+
// Set grounding for autotransformer
|
|
5305
|
+
const pTEnds = powerTransformer.getPowerTransformerEnd().filter(elem => elem.connectionKind === 'A');
|
|
5306
|
+
if (pTEnds.length > 0) {
|
|
5307
|
+
if (pTEnds.filter(elem => elem.grounded === true).length > 0) {
|
|
5308
|
+
for (const end of pTEnds) {
|
|
5309
|
+
end.grounded = true;
|
|
5310
|
+
}
|
|
5311
|
+
}
|
|
5312
|
+
}
|
|
5061
5313
|
//TODO
|
|
5062
5314
|
/** Stufenschalter werden vor der Sortierung der Wicklung nach der Spannungsebene angelegt,
|
|
5063
5315
|
* da sonst die Wicklungsnummern, nicht mehr übereinstimmen könnten */
|
|
@@ -5252,10 +5504,8 @@ class ConverterIntegral7 {
|
|
|
5252
5504
|
sortTransformerEnd(powerTransformer, sortProperty, order) {
|
|
5253
5505
|
// Store current order of power transformer ends.
|
|
5254
5506
|
let winding_guids = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5255
|
-
let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5256
5507
|
for (let i = 0; i < powerTransformer.powerTransformerEnd.length; i++) {
|
|
5257
5508
|
winding_guids[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5258
|
-
winding_guids_fixed[i] = powerTransformer.powerTransformerEnd[i].getUUID();
|
|
5259
5509
|
}
|
|
5260
5510
|
//Sort: This step maybe changes power transformer ends order for this power transformer.
|
|
5261
5511
|
powerTransformer.powerTransformerEnd.sort(function (w1, w2) {
|
|
@@ -5279,8 +5529,19 @@ class ConverterIntegral7 {
|
|
|
5279
5529
|
// const isNull = true;
|
|
5280
5530
|
//}
|
|
5281
5531
|
}
|
|
5532
|
+
let tmpMapping = new Array(powerTransformer.powerTransformerEnd.length);
|
|
5533
|
+
for (let i = 0; i < winding_guids.length; i++) {
|
|
5534
|
+
tmpMapping[i] = (winding_guids.indexOf(powerTransformer.powerTransformerEnd[i].getUUID()) + 1).toString();
|
|
5535
|
+
}
|
|
5536
|
+
return tmpMapping; //return mapping
|
|
5282
5537
|
}
|
|
5283
5538
|
setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, cable, defaultValuesConfig) {
|
|
5539
|
+
if ((0, parser_utils_1.isBooleanI7)(data.ltgmonitoring) && (0, parser_utils_1.convertToBooleanI7)(data.ltgmonitoring)) {
|
|
5540
|
+
acLineSegment.ltgmonitoring = (0, parser_utils_1.convertToBooleanI7)(data.ltgmonitoring);
|
|
5541
|
+
}
|
|
5542
|
+
else {
|
|
5543
|
+
acLineSegment.ltgmonitoring = false;
|
|
5544
|
+
}
|
|
5284
5545
|
if ((0, parser_utils_1.isBooleanI7)(data.flag_impedanzlos) && (0, parser_utils_1.convertToBooleanI7)(data.flag_impedanzlos)) {
|
|
5285
5546
|
data.flag_impedanzlos = 1;
|
|
5286
5547
|
}
|
|
@@ -5381,8 +5642,8 @@ class ConverterIntegral7 {
|
|
|
5381
5642
|
* @param equipmentKey Generierung einer persistenter UUID v5. Für PowerTransformer wird UUID des PowerTransformerEnds verwendet. Andernfalls die UUID des ConductingEquipments
|
|
5382
5643
|
* */
|
|
5383
5644
|
setConductingEquipmentOperationalLimit(cimModel, name, terminal, equipmentKey, limit, limitType, igrenz) {
|
|
5384
|
-
if ((limit !== undefined && limit > 0)
|
|
5385
|
-
return;
|
|
5645
|
+
if (!(limit !== undefined && limit > 0) || !(igrenz !== undefined && igrenz > 0))
|
|
5646
|
+
return; //if 'limit' and 'igrenz' is not given leave
|
|
5386
5647
|
/** OperationalLimitSet erstellen */
|
|
5387
5648
|
const operationalLimitSetKey = terminal.getUUID() + equipmentKey;
|
|
5388
5649
|
const operationalLimitSetUUID = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.OperationalLimitSet, this.configUuid, operationalLimitSetKey);
|
|
@@ -5467,6 +5728,9 @@ class ConverterIntegral7 {
|
|
|
5467
5728
|
terminal.name = (0, util_create_1.createNotation)([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
5468
5729
|
}
|
|
5469
5730
|
}
|
|
5731
|
+
if (terminal !== undefined && terminal.getUUID() === '7564eef1-6cd6-59c2-957e-825c6593fdf2') {
|
|
5732
|
+
const stop = true;
|
|
5733
|
+
}
|
|
5470
5734
|
return terminal;
|
|
5471
5735
|
}
|
|
5472
5736
|
createBoundaryConnection(frame, conductingEquipment, i7ObjectID, phase) {
|
|
@@ -5984,7 +6248,7 @@ class ConverterIntegral7 {
|
|
|
5984
6248
|
// Topologie
|
|
5985
6249
|
powerTransformerEnd.terminal = terminal;
|
|
5986
6250
|
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);
|
|
5987
|
-
if (powerTransformer.getUUID() === '
|
|
6251
|
+
if (powerTransformer.getUUID() === '3c3928be-e691-453d-8216-df30bd11845e') {
|
|
5988
6252
|
const stop = true;
|
|
5989
6253
|
}
|
|
5990
6254
|
let isTrafo2w = i7Data.trafowicklung3w3 === undefined ? true : false;
|
|
@@ -6040,36 +6304,34 @@ class ConverterIntegral7 {
|
|
|
6040
6304
|
}
|
|
6041
6305
|
convertTapChangers(i7Data, transformerEnds, cimModel, transformerinfo, connectivityNode, spannungsband) {
|
|
6042
6306
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
6043
|
-
|
|
6044
|
-
|
|
6307
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === 'c0ba4bd1102c4f4fa4fc66865a60f462') { //Zeile53 - Typ Meeden'
|
|
6308
|
+
let stop = true;
|
|
6045
6309
|
}
|
|
6046
|
-
if(getUUID(i7Data.guid) === '
|
|
6047
|
-
let stop = true; DONE
|
|
6048
|
-
}*/
|
|
6049
|
-
/*if(getUUID(i7Data.guid)=== 'CFDAA56A-A0DA-4C5B-92CC-21138B6D6D07'){ //Standard LR
|
|
6050
|
-
let stop = true;
|
|
6051
|
-
}*/
|
|
6052
|
-
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '00ebe00e-50fa-4fc0-9ed6-557528a9b460') { //Zeile53 - Typ Meeden'
|
|
6310
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '2e8057ed695147f9903023cb5e9d4a0c') { //Zeile55 - SR und LR'
|
|
6053
6311
|
let stop = true;
|
|
6054
6312
|
}
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
}
|
|
6058
|
-
if ((0, parser_utils_1.getUUID)(i7Data.guid) === '
|
|
6313
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid).toLowerCase() === 'd7a25b80-b439-48a0-b67e-108903063237') { //Zeile81 - SR statt LR'
|
|
6314
|
+
let stop = true;
|
|
6315
|
+
}
|
|
6316
|
+
if ((0, parser_utils_1.getUUID)(i7Data.guid) === 'b81485dd-5115-4241-b31a-c87a3eec9803') {
|
|
6059
6317
|
let stop = true;
|
|
6060
6318
|
}
|
|
6061
|
-
/*if(getUUID(i7Data.guid) === '5ec82d14-ee64-43b6-86ff-c7615d96f7ad'){ //Zeile58
|
|
6062
|
-
let stop = true;
|
|
6063
|
-
}*/
|
|
6064
6319
|
let ratioPhaseTapChangerPresent = false;
|
|
6065
6320
|
//Check if tap changer exists. (power transformer winding)
|
|
6066
6321
|
let tapChangerNumberI7 = []; //Number of tap changer
|
|
6067
6322
|
let tapChangerNumber = [];
|
|
6068
|
-
//
|
|
6323
|
+
//collect information about tap changers (without type)
|
|
6069
6324
|
for (let tapChangerPos = 1; tapChangerPos <= 2; tapChangerPos++) {
|
|
6070
6325
|
if ((0, parser_utils_1.isNumericI7)(i7Data[`gestufte_seite_s${tapChangerPos}`])) {
|
|
6071
|
-
|
|
6072
|
-
|
|
6326
|
+
if (i7Data[`gestufte_seite_s${tapChangerPos}`] !== 0) {
|
|
6327
|
+
tapChangerNumberI7.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
6328
|
+
tapChangerNumber.push(i7Data[`gestufte_seite_s${tapChangerPos}`]);
|
|
6329
|
+
}
|
|
6330
|
+
else if (i7Data[`gestufte_seite_s${tapChangerPos}`] === 0) {
|
|
6331
|
+
const controlledSide = getHVSideNumber(transformerEnds);
|
|
6332
|
+
tapChangerNumberI7.push(controlledSide);
|
|
6333
|
+
tapChangerNumber.push(controlledSide);
|
|
6334
|
+
}
|
|
6073
6335
|
}
|
|
6074
6336
|
}
|
|
6075
6337
|
//collect information about tap changers (type)
|
|
@@ -6084,15 +6346,15 @@ class ConverterIntegral7 {
|
|
|
6084
6346
|
//If there is a phase tap changer and a ratio tap changer reorder the tap changers to process ratio tap changer first.
|
|
6085
6347
|
let index = undefined;
|
|
6086
6348
|
if (tapChangerNumberI7.length > 1) {
|
|
6087
|
-
for (let
|
|
6349
|
+
for (let i = 0; i < tapChangerNumberI7.length; i++) {
|
|
6088
6350
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
6089
|
-
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber ===
|
|
6351
|
+
const transformerEndInfo = (_d = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _d === void 0 ? void 0 : _d.find(elem => elem.endNumber === tapChangerNumberI7[i]);
|
|
6090
6352
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
6091
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
6092
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6353
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6354
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6093
6355
|
: (_e = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _e === void 0 ? void 0 : _e.value;
|
|
6094
|
-
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) &&
|
|
6095
|
-
index =
|
|
6356
|
+
if (!((0, parser_utils_1.isNumericI7)(angle) && (0, parser_utils_1.convertToNumberI7)(angle) != 0 || spezialRegelung) && i > 0) {
|
|
6357
|
+
index = i; //This only works for two tapchanger definitions per power transformer
|
|
6096
6358
|
ratioPhaseTapChangerPresent = true;
|
|
6097
6359
|
}
|
|
6098
6360
|
}
|
|
@@ -6102,15 +6364,15 @@ class ConverterIntegral7 {
|
|
|
6102
6364
|
tapChangerNumber[1] = tapChangerNumberI7[0];
|
|
6103
6365
|
}
|
|
6104
6366
|
/** I7 Modell max. 2 Stufenschalter */
|
|
6105
|
-
for (let
|
|
6367
|
+
for (let i = 0; i < tapChangerNumber.length; i++) {
|
|
6106
6368
|
/**
|
|
6107
6369
|
* 0 Oberspannungsseite
|
|
6108
6370
|
* 1 Seite 1
|
|
6109
6371
|
* 2 Seite 2
|
|
6110
6372
|
* - Stufenschalter nicht vorhanden
|
|
6111
6373
|
*/
|
|
6112
|
-
let entryI7 =
|
|
6113
|
-
let gestufteSeite = tapChangerNumberI7[
|
|
6374
|
+
let entryI7 = i + 1;
|
|
6375
|
+
let gestufteSeite = tapChangerNumberI7[i];
|
|
6114
6376
|
const transformerEndInfo = (_f = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _f === void 0 ? void 0 : _f.find(elem => elem.endNumber === entryI7);
|
|
6115
6377
|
const transformerEnd = transformerEnds.find(elem => elem.endNumber === entryI7);
|
|
6116
6378
|
if ((0, parser_utils_1.isNumericI7)(gestufteSeite)) {
|
|
@@ -6130,8 +6392,8 @@ class ConverterIntegral7 {
|
|
|
6130
6392
|
continue;
|
|
6131
6393
|
}
|
|
6132
6394
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
6133
|
-
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${
|
|
6134
|
-
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${
|
|
6395
|
+
const angle = (0, parser_utils_1.isNumericI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6396
|
+
? (0, parser_utils_1.convertToNumberI7)(i7Data[`uzus_winkel_s${i + 1}`])
|
|
6135
6397
|
: (_h = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _h === void 0 ? void 0 : _h.value;
|
|
6136
6398
|
const spezialRegelung = (0, parser_utils_1.isNumericI7)(i7Data.trafo_spezial) ? i7Data.trafo_spezial : transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.spezialRegelung;
|
|
6137
6399
|
//const neutralU = transformerEnd.ratedU;
|
|
@@ -6418,65 +6680,99 @@ class ConverterIntegral7 {
|
|
|
6418
6680
|
* @param sternpunktKnotenMap Map mit den Sterpunktknoten aus der I7 Datenbank
|
|
6419
6681
|
* */
|
|
6420
6682
|
convertTrafoGrounding(frame, powerTransformer, powerTransformerEnd, i7Modell, stpKnoten, defaultValuesConfig) {
|
|
6421
|
-
|
|
6422
|
-
|
|
6683
|
+
/**
|
|
6684
|
+
* Five cases for transformer grounding model has to be checked:
|
|
6685
|
+
* Case 1: no grounding ... no 'Sternpunktknoten' is present ... ''
|
|
6686
|
+
* Case 2: no grounding ... 'Sternpunktknoten', 'SternpunktSchaltelement', 'Sternpunktschiene' is present but no 'KDrossel' ... 'isoliert'
|
|
6687
|
+
* Case 3: grounding is present ... only 'Sternpunktknoten' is present and 'Sternpunktknoten.geerdet' == 1 ... 'starr' or 'direkt'
|
|
6688
|
+
* Case 4: grounding is present ... only 'Sternpunktknoten' and 'Kdrossel' is present ... 'über Impedanz'
|
|
6689
|
+
* Case 5: grounding is present ... 'Sternpunktknoten', 'Sternpunktschaltelement', 'Sternpunktschiene' and 'Kdrossel' is present ... 'über Impedanz'
|
|
6690
|
+
* Case 6: no grounding ... only 'Sternpunktknoten' is present and 'Sternpunktknoten.geerdet' == 0 ... ''
|
|
6691
|
+
*/
|
|
6423
6692
|
const cimModel = frame.cimModel;
|
|
6693
|
+
let groundDisconnectorUUID = undefined;
|
|
6694
|
+
let connectivityNodeN = undefined;
|
|
6695
|
+
let groundDisconnector = undefined;
|
|
6696
|
+
let voltageLevel = undefined;
|
|
6424
6697
|
if (stpKnoten) {
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
|
|
6698
|
+
groundDisconnectorUUID = i7Modell.sternPunktImpModel.stpSchaltelementeIdGroundDisconnectorUUID.get(stpKnoten.schaltelement1pelem);
|
|
6699
|
+
connectivityNodeN = i7Modell.sternPunktImpModel.stpSchieneIdConnectivityNode.get(i7Modell.sternPunktImpModel.GroundDisconnectorUuidStpSchieneId.get(groundDisconnectorUUID));
|
|
6700
|
+
groundDisconnector = i7Modell.sternPunktImpModel.groundDisconnectors.get(groundDisconnectorUUID);
|
|
6701
|
+
if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size === 1) {
|
|
6702
|
+
const cn = powerTransformerEnd.getTerminal().getConnectivityNode();
|
|
6703
|
+
this.createConnection(cimModel, groundDisconnector, cn, PhaseCode_1.PhaseCode.ABCN, true);
|
|
6704
|
+
}
|
|
6705
|
+
else if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size < 1) {
|
|
6706
|
+
this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is not successfully connected.`);
|
|
6707
|
+
}
|
|
6708
|
+
else if (groundDisconnector !== undefined && groundDisconnector.getTerminals().size > 2) {
|
|
6709
|
+
this.logger.debug(`GroundDisconnector of PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} is referenced by more than two Terminal objects.`);
|
|
6710
|
+
}
|
|
6711
|
+
/** EquipmentContainer - Voltage Level*/
|
|
6712
|
+
voltageLevel = (this.determineEquipmentContainer('VoltageLevel', cimModel, powerTransformerEnd.getTerminal().connectivityNode.connectivityNodeContainer));
|
|
6713
|
+
}
|
|
6714
|
+
if (stpKnoten && groundDisconnector === undefined) { //Case 3 and Case 4
|
|
6715
|
+
const earthFaultCompensator = i7Modell.sternPunktImpModel.stpKnotenStpImp.get(stpKnoten.id);
|
|
6716
|
+
if (earthFaultCompensator instanceof GroundingImpedance_1.GroundingImpedance) { //Case 4 ... 'Kdrossel' is modelled as a GroundingImpedanz
|
|
6717
|
+
//cimModel.addGroundingImpedance(earthFaultCompensator as GroundingImpedance);//set grounded to 'true' if PetersenCoil is present
|
|
6718
|
+
const groundingImpedance = earthFaultCompensator;
|
|
6719
|
+
powerTransformerEnd.xground = groundingImpedance.x;
|
|
6720
|
+
powerTransformerEnd.rground = groundingImpedance.r;
|
|
6721
|
+
powerTransformerEnd.grounded = true;
|
|
6722
|
+
}
|
|
6723
|
+
else if (earthFaultCompensator instanceof PetersenCoil_1.PetersenCoil) { //Case 4 ... 'Kdrossel' is modelled as a PetersenCoil
|
|
6724
|
+
//cimModel.addPetersenCoil(earthFaultCompensator as PetersenCoil); //set grounded to 'true' if GroundingImpedance is present
|
|
6725
|
+
const petersenCoil = earthFaultCompensator;
|
|
6726
|
+
powerTransformerEnd.xground = (0, parser_utils_1.isNumericI7)(petersenCoil.xGroundNominal) ? petersenCoil.xGroundNominal : (((0, parser_utils_1.isNumericI7)(petersenCoil.xGroundMax) && (0, parser_utils_1.isNumericI7)(petersenCoil.xGroundMin)) ? (petersenCoil.xGroundMax + petersenCoil.xGroundMin) / 2 : defaultValuesConfig.TransformerEnd.xground);
|
|
6727
|
+
powerTransformerEnd.rground = petersenCoil.r;
|
|
6728
|
+
powerTransformerEnd.grounded = true;
|
|
6729
|
+
}
|
|
6730
|
+
else if (stpKnoten.geerdet === 1) { //Case 3
|
|
6731
|
+
powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground; //it is assumed that rground and xground is zero in case of solidly grounding
|
|
6732
|
+
powerTransformerEnd.xground = defaultValuesConfig.TransformerEnd.xground; //it is assumed that rground and xground is zero in case of solidly grounding
|
|
6733
|
+
powerTransformerEnd.grounded = true;
|
|
6734
|
+
}
|
|
6735
|
+
else { //Case 6
|
|
6736
|
+
powerTransformerEnd.grounded = false;
|
|
6737
|
+
}
|
|
6738
|
+
}
|
|
6739
|
+
else if (connectivityNodeN !== undefined && groundDisconnector !== undefined) {
|
|
6740
|
+
const earthFaultCompensator = i7Modell.sternPunktImpModel.groundDisconnectorUUIDstpImp.get(groundDisconnectorUUID);
|
|
6741
|
+
if (earthFaultCompensator instanceof GroundingImpedance_1.GroundingImpedance) { //Case 5 ... 'Kdrossel' is modelled as a GroundingImpedanz
|
|
6742
|
+
cimModel.addGroundingImpedance(earthFaultCompensator);
|
|
6743
|
+
cimModel.addGroundDisconnector(groundDisconnector);
|
|
6744
|
+
cimModel.addConnectivityNode(connectivityNodeN);
|
|
6745
|
+
powerTransformerEnd.grounded = true; //set grounded to 'true' if GroundingImpedance is present
|
|
6746
|
+
}
|
|
6747
|
+
else if (earthFaultCompensator instanceof PetersenCoil_1.PetersenCoil) { //Case 5 ... 'Kdrossel' is modelled as a PetersenCoil
|
|
6748
|
+
cimModel.addPetersenCoil(earthFaultCompensator);
|
|
6749
|
+
cimModel.addGroundDisconnector(groundDisconnector);
|
|
6750
|
+
cimModel.addConnectivityNode(connectivityNodeN);
|
|
6751
|
+
powerTransformerEnd.grounded = true; //set grounded to 'true' if PetersenCoil is present
|
|
6752
|
+
}
|
|
6753
|
+
else { //Case 2
|
|
6754
|
+
powerTransformerEnd.grounded = false; //set grounded to 'false' if no GroundingImpedance or PetersenCoil is present ... 'isolierte Sternpunktschiene'
|
|
6755
|
+
}
|
|
6756
|
+
/** BaseVoltage */
|
|
6757
|
+
if (voltageLevel !== undefined) {
|
|
6758
|
+
groundDisconnector.baseVoltage = voltageLevel.baseVoltage ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6759
|
+
groundDisconnector.equipmentContainer = voltageLevel;
|
|
6760
|
+
if (earthFaultCompensator !== undefined) {
|
|
6761
|
+
earthFaultCompensator.equipmentContainer = voltageLevel;
|
|
6762
|
+
}
|
|
6763
|
+
connectivityNodeN.connectivityNodeContainer = voltageLevel;
|
|
6764
|
+
connectivityNodeN.key = voltageLevel.key + connectivityNodeN.key;
|
|
6435
6765
|
}
|
|
6436
6766
|
else {
|
|
6437
|
-
|
|
6438
|
-
* Nur Verbindung zur Junction herstellen */
|
|
6439
|
-
let terminal;
|
|
6440
|
-
if (!((_a = powerTransformerEnd.terminal) === null || _a === void 0 ? void 0 : _a.connectivityNode) && this.UUID2Integral7ID.has((_b = powerTransformerEnd.terminal) === null || _b === void 0 ? void 0 : _b.connectivityNodeUUID)) {
|
|
6441
|
-
const i7ObjectID = (_d = this.UUID2Integral7ID.get((_c = powerTransformerEnd.terminal) === null || _c === void 0 ? void 0 : _c.connectivityNodeUUID)) === null || _d === void 0 ? void 0 : _d.find(elem => elem);
|
|
6442
|
-
terminal = this.createBoundaryConnection(frame, junction, i7ObjectID, PhaseCode_1.PhaseCode.ABC);
|
|
6443
|
-
}
|
|
6444
|
-
else {
|
|
6445
|
-
terminal = this.createConnection(cimModel, junction, (_e = powerTransformerEnd.terminal) === null || _e === void 0 ? void 0 : _e.connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
6446
|
-
}
|
|
6447
|
-
if (terminal) {
|
|
6448
|
-
terminal.name = 't_stp_trafo';
|
|
6449
|
-
if (junction)
|
|
6450
|
-
junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
|
|
6451
|
-
const pSpuleGroundImpedance = i7Modell.sternPunktImpModel.junctionUUIDstpImp.get(junctionUUID);
|
|
6452
|
-
/** EquipmentContainer - Voltage Level*/
|
|
6453
|
-
const voltageLevel = this.getVoltageLevelByVoltage((_f = powerTransformer.equipmentContainer) === null || _f === void 0 ? void 0 : _f.voltageLevels, powerTransformerEnd.ratedU);
|
|
6454
|
-
if (!voltageLevel) {
|
|
6455
|
-
this.logger.debug(`Trafo ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat kein EquipmentContainer`);
|
|
6456
|
-
}
|
|
6457
|
-
/** BaseVoltage */
|
|
6458
|
-
if (junction && voltageLevel) {
|
|
6459
|
-
junction.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6460
|
-
junction.equipmentContainer = voltageLevel;
|
|
6461
|
-
cimModel.addJunction(junction);
|
|
6462
|
-
}
|
|
6463
|
-
else {
|
|
6464
|
-
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine Junction ${junctionUUID} oder VoltageLevel`);
|
|
6465
|
-
}
|
|
6466
|
-
if (pSpuleGroundImpedance) {
|
|
6467
|
-
pSpuleGroundImpedance.baseVoltage = (voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.baseVoltage) ? voltageLevel.baseVoltage : powerTransformerEnd.baseVoltage;
|
|
6468
|
-
pSpuleGroundImpedance.equipmentContainer = voltageLevel;
|
|
6469
|
-
cimModel.addGroundingImpedance(pSpuleGroundImpedance);
|
|
6470
|
-
}
|
|
6471
|
-
else {
|
|
6472
|
-
this.logger.debug(`TrafoObjektID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} hat keine pSpuleGroundImpedance.`);
|
|
6473
|
-
}
|
|
6474
|
-
}
|
|
6475
|
-
else {
|
|
6476
|
-
this.logger.error(`Die Erdnung TrafoObjekts ID ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.mrid} konnte nicht abgebildet werden, da der Anschluss nicht bestimmt werden konnte.`);
|
|
6477
|
-
}
|
|
6767
|
+
this.logger.debug(`PowerTransformerEnd ${powerTransformerEnd === null || powerTransformerEnd === void 0 ? void 0 : powerTransformerEnd.mrid} hat kein VoltageLevel`);
|
|
6478
6768
|
}
|
|
6479
6769
|
}
|
|
6770
|
+
else { //Case 1
|
|
6771
|
+
powerTransformerEnd.grounded = false; //set grounded to 'false' if there is no 'Sternpunktknoten'
|
|
6772
|
+
}
|
|
6773
|
+
if (powerTransformerEnd.grounded) {
|
|
6774
|
+
powerTransformerEnd.terminal.phases = PhaseCode_1.PhaseCode.ABCN;
|
|
6775
|
+
}
|
|
6480
6776
|
}
|
|
6481
6777
|
/** Equipment grounding
|
|
6482
6778
|
* @param shnt ShuntCompensator object
|
|
@@ -6703,6 +6999,7 @@ class ConverterIntegral7 {
|
|
|
6703
6999
|
}
|
|
6704
7000
|
}
|
|
6705
7001
|
exports.ConverterIntegral7 = ConverterIntegral7;
|
|
7002
|
+
_ConverterIntegral7_configurableDLConvertOptions = new WeakMap();
|
|
6706
7003
|
function getGeoCoordinates(i7Data) {
|
|
6707
7004
|
/** Fall 1
|
|
6708
7005
|
* geokoor_pl_breite_h && geokoor_pl_breite_m geokoor_pl_breite_s sind gepflegt */
|
|
@@ -6843,4 +7140,48 @@ function logExecutionTime(logger, startTime, text) {
|
|
|
6843
7140
|
logger.debug(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6844
7141
|
console.log(`${text} ${(perf_hooks.performance.now() - startTime) / 1000} seconds`);
|
|
6845
7142
|
}
|
|
7143
|
+
function getHVSideNumber(transformerEnds) {
|
|
7144
|
+
let retVal = undefined;
|
|
7145
|
+
let urHv = 0;
|
|
7146
|
+
for (let i = 0; i < transformerEnds.length; i++) {
|
|
7147
|
+
if (urHv < transformerEnds[i].ratedU) {
|
|
7148
|
+
retVal = transformerEnds[i].endNumber;
|
|
7149
|
+
urHv = transformerEnds[i].ratedU;
|
|
7150
|
+
}
|
|
7151
|
+
}
|
|
7152
|
+
return retVal;
|
|
7153
|
+
}
|
|
7154
|
+
function createLineName(i7Data, uuid, lineNames) {
|
|
7155
|
+
let retVal = (0, util_create_1.createNotation)([i7Data.bezeichner], 32, false);
|
|
7156
|
+
if (lineNames[retVal] === true) { //try to find another name with i7Data.stkabname as suffix
|
|
7157
|
+
if (i7Data.bezeichner.length > 0 && i7Data.stkabname.length > 0) {
|
|
7158
|
+
retVal = i7Data.bezeichner.substring(0, i7Data.bezeichner.length - (i7Data.bezeichner.length + (i7Data.stkabname.length + 1) - 32)) + '_' + i7Data.stkabname;
|
|
7159
|
+
}
|
|
7160
|
+
else if (i7Data.bezeichner.length > 0 && i7Data.stkabname.length <= 0) {
|
|
7161
|
+
retVal = i7Data.bezeichner.substring(0, i7Data.stkabname.length - (i7Data.bezeichner.length - 32));
|
|
7162
|
+
}
|
|
7163
|
+
else if (i7Data.bezeichner.length <= 0 && i7Data.stkabname.length > 0) {
|
|
7164
|
+
retVal = i7Data.stkabname.substring(0, i7Data.stkabname.length - (i7Data.stkabname.length - 32));
|
|
7165
|
+
}
|
|
7166
|
+
}
|
|
7167
|
+
if (lineNames[retVal] === true) { //use uuid to create a unique name
|
|
7168
|
+
if (retVal.length + 9 <= 32) {
|
|
7169
|
+
retVal = retVal + '_' + normalizeUUID(uuid).substring(0, 8);
|
|
7170
|
+
}
|
|
7171
|
+
else {
|
|
7172
|
+
retVal = retVal.substring(0, retVal.length - (retVal.length + 9 - 32)) + '_' + normalizeUUID(uuid).substring(0, 8);
|
|
7173
|
+
}
|
|
7174
|
+
}
|
|
7175
|
+
return retVal;
|
|
7176
|
+
}
|
|
7177
|
+
function normalizeUUID(uuid) {
|
|
7178
|
+
let retVal = '';
|
|
7179
|
+
if (uuid != undefined && uuid.length > 0) {
|
|
7180
|
+
retVal = uuid.replaceAll('_', '');
|
|
7181
|
+
retVal = retVal.replaceAll('-', '');
|
|
7182
|
+
retVal = retVal.toLowerCase();
|
|
7183
|
+
retVal = retVal.trim();
|
|
7184
|
+
}
|
|
7185
|
+
return retVal;
|
|
7186
|
+
}
|
|
6846
7187
|
//# sourceMappingURL=converter.integral7.js.map
|