@enervance/insight-cim-model 0.0.46 → 0.0.48
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/README.md +41 -22
- package/dist/analysis/analysis-neplan/digi-ons.js +0 -2
- package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
- package/dist/config/westnetz-integral7/integral7-load.config.js +1 -1
- package/dist/config/westnetz-integral7/integral7-load.config.js.map +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.d.ts +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-psr.d.ts +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-psr.js +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.d.ts +1 -1
- package/dist/config/westnetz-neplan/neplan-load.config.js +1 -1
- package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
- package/dist/constants/cim-class-definition.js +0 -2
- package/dist/constants/cim-class-definition.js.map +1 -1
- package/dist/constants/cim-class-names.d.ts +1 -3
- package/dist/constants/cim-class-names.js +1 -3
- package/dist/constants/cim-class-names.js.map +1 -1
- package/dist/converter/integral7/converter-i7.d.ts +11 -4
- package/dist/converter/integral7/converter-i7.js +1231 -375
- package/dist/converter/integral7/converter-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +15 -1
- package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +15 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +18 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.d.ts +7 -0
- package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +7 -0
- package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -0
- package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +16 -0
- package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +25 -0
- package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -0
- package/dist/converter/integral7/model/dl-utils/constants.d.ts +68 -0
- package/dist/converter/integral7/model/dl-utils/constants.js +56 -0
- package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
- package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +26 -0
- package/dist/converter/integral7/model/dl-utils/util-functions.js +457 -0
- package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -0
- package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.d.ts +7 -0
- package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +13 -0
- package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -0
- package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
- package/dist/converter/integral7/model/integral/SchaltfeldNsg.d.ts +3 -6
- package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Trafo2wNsg.d.ts +9 -1
- package/dist/converter/integral7/model/integral/Trafo2wNsg.js +10 -1
- package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Trafo3w.d.ts +11 -0
- package/dist/converter/integral7/model/integral/Trafo3w.js +15 -0
- package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -0
- package/dist/converter/integral7/model/integral/Trafo3wNsg.d.ts +13 -0
- package/dist/converter/integral7/model/integral/Trafo3wNsg.js +19 -0
- package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -0
- package/dist/converter/integral7/model/interfaces.d.ts +66 -16
- package/dist/converter/integral7/model/interfaces.js.map +1 -1
- package/dist/converter/integral7/sql/integral.sql.d.ts +10 -0
- package/dist/converter/integral7/sql/integral.sql.js +68 -18
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils-cgmes-export.js +22 -0
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils-schema.d.ts +3 -1
- package/dist/converter/integral7/utils-schema.js +23 -1
- package/dist/converter/integral7/utils-schema.js.map +1 -1
- package/dist/converter/integral7/utils.js +119 -33
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/index.d.ts +1 -6
- package/dist/index.js +1 -11
- package/dist/index.js.map +1 -1
- package/dist/interfaces/model/core/IIdentifiedObject.d.ts +1 -1
- package/dist/interfaces/{persistence.interfaces.js → persistence-interfaces.js} +1 -1
- package/dist/interfaces/persistence-interfaces.js.map +1 -0
- package/dist/model/core/Bay.d.ts +1 -1
- package/dist/model/core/Bay.js +24 -24
- package/dist/model/core/Bay.js.map +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 -6
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/ConnectivityNodeContainer.d.ts +1 -1
- package/dist/model/core/ConnectivityNodeContainer.js +2 -2
- package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
- package/dist/model/core/Equipment.d.ts +1 -1
- package/dist/model/core/Equipment.js +3 -3
- package/dist/model/core/Equipment.js.map +1 -1
- package/dist/model/core/EquipmentContainer.d.ts +1 -1
- package/dist/model/core/EquipmentContainer.js +2 -2
- package/dist/model/core/EquipmentContainer.js.map +1 -1
- package/dist/model/core/IdentifiedObject.d.ts +3 -8
- package/dist/model/core/IdentifiedObject.js +1 -3
- package/dist/model/core/IdentifiedObject.js.map +1 -1
- package/dist/model/core/PowerSystemResource.d.ts +2 -2
- package/dist/model/core/PowerSystemResource.js +2 -2
- package/dist/model/core/PowerSystemResource.js.map +1 -1
- package/dist/model/core/Substation.d.ts +1 -2
- package/dist/model/core/Substation.js +25 -33
- package/dist/model/core/Substation.js.map +1 -1
- package/dist/model/core/VoltageLevel.d.ts +1 -1
- package/dist/model/core/VoltageLevel.js +22 -22
- package/dist/model/core/VoltageLevel.js.map +1 -1
- package/dist/model/diagram/Diagram.d.ts +1 -1
- package/dist/model/diagram/Diagram.js +2 -2
- package/dist/model/diagram/Diagram.js.map +1 -1
- package/dist/model/diagram/DiagramObject.js.map +1 -1
- package/dist/model/equivalents/EquivalentInjection.js +16 -17
- package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +4 -3
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.d.ts +1 -0
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +1 -0
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +1 -1
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +2 -2
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSegment.js +2 -2
- package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +34 -34
- package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
- package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +17 -7
- package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
- package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.d.ts +9 -0
- package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +32 -0
- package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -0
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +4 -2
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +14 -3
- package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.d.ts +4 -0
- package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +15 -1
- package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.d.ts +6 -0
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +22 -2
- package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +4 -0
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +12 -1
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +46 -46
- package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +89 -89
- package/dist/model/wires/ACLineSegment.d.ts +1 -1
- package/dist/model/wires/ACLineSegment.js +2 -2
- package/dist/model/wires/ACLineSegment.js.map +1 -1
- package/dist/model/wires/BusbarSection.d.ts +1 -1
- package/dist/model/wires/BusbarSection.js +22 -22
- package/dist/model/wires/BusbarSection.js.map +1 -1
- package/dist/model/wires/Conductor.d.ts +1 -1
- package/dist/model/wires/Conductor.js +2 -2
- package/dist/model/wires/Conductor.js.map +1 -1
- package/dist/model/wires/Connector.d.ts +1 -1
- package/dist/model/wires/Connector.js +2 -2
- package/dist/model/wires/Connector.js.map +1 -1
- package/dist/model/wires/Disconnector.js +1 -1
- package/dist/model/wires/Disconnector.js.map +1 -1
- package/dist/model/wires/EnergyConsumer.js.map +1 -1
- package/dist/model/wires/EnergySource.d.ts +1 -1
- package/dist/model/wires/EnergySource.js +47 -47
- package/dist/model/wires/EnergySource.js.map +1 -1
- package/dist/model/wires/LoadBreakSwitch.js +1 -1
- package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
- package/dist/model/wires/Switch.js +10 -5
- package/dist/model/wires/Switch.js.map +1 -1
- package/dist/model/wires/SynchronousMachine.d.ts +1 -1
- package/dist/util/sparql/sparql-utils.d.ts +1 -1
- package/dist/util/sparql/sparql-utils.js +97 -97
- package/dist/util/util-create.js +18 -25
- package/dist/util/util-create.js.map +1 -1
- package/package.json +93 -93
- package/dist/constants/cim.sourcesystem.d.ts +0 -6
- package/dist/constants/cim.sourcesystem.js +0 -11
- package/dist/constants/cim.sourcesystem.js.map +0 -1
- package/dist/converter/integral7/model/dl-utils/SsabNsg.d.ts +0 -30
- package/dist/converter/integral7/model/dl-utils/SsabNsg.js +0 -179
- package/dist/converter/integral7/model/dl-utils/SsabNsg.js.map +0 -1
- package/dist/factory/factory-interfaces.d.ts +0 -26
- package/dist/factory/factory-interfaces.js +0 -3
- package/dist/factory/factory-interfaces.js.map +0 -1
- package/dist/factory/object-factory.d.ts +0 -7
- package/dist/factory/object-factory.js +0 -37
- package/dist/factory/object-factory.js.map +0 -1
- package/dist/factory/sparql-factory.d.ts +0 -6
- package/dist/factory/sparql-factory.js +0 -16
- package/dist/factory/sparql-factory.js.map +0 -1
- package/dist/interfaces/persistence.interfaces.js.map +0 -1
- package/dist/model/alternate-models/AlternateModel.d.ts +0 -10
- package/dist/model/alternate-models/AlternateModel.js +0 -17
- package/dist/model/alternate-models/AlternateModel.js.map +0 -1
- package/dist/model/alternate-models/AlternateModelGroup.d.ts +0 -8
- package/dist/model/alternate-models/AlternateModelGroup.js +0 -22
- package/dist/model/alternate-models/AlternateModelGroup.js.map +0 -1
- package/dist/model/extensions/enervance/diagram/EVDiagram.d.ts +0 -5
- package/dist/model/extensions/enervance/diagram/EVDiagram.js +0 -17
- package/dist/model/extensions/enervance/diagram/EVDiagram.js.map +0 -1
- package/dist/model/extensions/enervance/model/EVModel.d.ts +0 -11
- package/dist/model/extensions/enervance/model/EVModel.js +0 -45
- package/dist/model/extensions/enervance/model/EVModel.js.map +0 -1
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine copy.d.ts +0 -8
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine copy.js +0 -34
- package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine copy.js.map +0 -1
- package/dist/model/generic-data-set/ChangeSet.d.ts +0 -8
- package/dist/model/generic-data-set/ChangeSet.js +0 -13
- package/dist/model/generic-data-set/ChangeSet.js.map +0 -1
- package/dist/model/generic-data-set/ChangeSetMember.d.ts +0 -8
- package/dist/model/generic-data-set/ChangeSetMember.js +0 -11
- package/dist/model/generic-data-set/ChangeSetMember.js.map +0 -1
- package/dist/model/generic-data-set/DataSet.d.ts +0 -10
- package/dist/model/generic-data-set/DataSet.js +0 -16
- package/dist/model/generic-data-set/DataSet.js.map +0 -1
- package/dist/model/generic-data-set/InstanceSet.d.ts +0 -8
- package/dist/model/generic-data-set/InstanceSet.js +0 -13
- package/dist/model/generic-data-set/InstanceSet.js.map +0 -1
- package/dist/model/generic-data-set/ObjectCreation.d.ts +0 -4
- package/dist/model/generic-data-set/ObjectCreation.js +0 -15
- package/dist/model/generic-data-set/ObjectCreation.js.map +0 -1
- package/dist/model/generic-data-set/ObjectDeletion.d.ts +0 -4
- package/dist/model/generic-data-set/ObjectDeletion.js +0 -15
- package/dist/model/generic-data-set/ObjectDeletion.js.map +0 -1
- package/dist/model/generic-data-set/ObjectModification.d.ts +0 -6
- package/dist/model/generic-data-set/ObjectModification.js +0 -11
- package/dist/model/generic-data-set/ObjectModification.js.map +0 -1
- package/dist/model/generic-data-set/ObjectReverseModification.d.ts +0 -6
- package/dist/model/generic-data-set/ObjectReverseModification.js +0 -11
- package/dist/model/generic-data-set/ObjectReverseModification.js.map +0 -1
- package/dist/model/model-operations/DatasetArg.d.ts +0 -6
- package/dist/model/model-operations/DatasetArg.js +0 -11
- package/dist/model/model-operations/DatasetArg.js.map +0 -1
- package/dist/model/model-operations/IncrementalDatasetArg.d.ts +0 -8
- package/dist/model/model-operations/IncrementalDatasetArg.js +0 -11
- package/dist/model/model-operations/IncrementalDatasetArg.js.map +0 -1
- package/dist/model/model-operations/IncrementalDatasetArgDescription.d.ts +0 -6
- package/dist/model/model-operations/IncrementalDatasetArgDescription.js +0 -12
- package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +0 -1
- package/dist/model/model-operations/ModelOperation.d.ts +0 -7
- package/dist/model/model-operations/ModelOperation.js +0 -11
- package/dist/model/model-operations/ModelOperation.js.map +0 -1
- package/dist/model/model-operations/ModelOperationArg.d.ts +0 -5
- package/dist/model/model-operations/ModelOperationArg.js +0 -11
- package/dist/model/model-operations/ModelOperationArg.js.map +0 -1
- package/dist/model/model-operations/ModelOperationArgDescription.d.ts +0 -8
- package/dist/model/model-operations/ModelOperationArgDescription.js +0 -11
- package/dist/model/model-operations/ModelOperationArgDescription.js.map +0 -1
- package/dist/model/model-operations/ModelOperationDescription.d.ts +0 -7
- package/dist/model/model-operations/ModelOperationDescription.js +0 -13
- package/dist/model/model-operations/ModelOperationDescription.js.map +0 -1
- package/dist/util/cim.model.util.d.ts +0 -4
- package/dist/util/cim.model.util.js +0 -257
- package/dist/util/cim.model.util.js.map +0 -1
- /package/dist/interfaces/{persistence.interfaces.d.ts → persistence-interfaces.d.ts} +0 -0
|
@@ -96,7 +96,6 @@ const ReactiveCapabilityCurve_1 = require("../../model/wires/ReactiveCapabilityC
|
|
|
96
96
|
const RegulatingControl_1 = require("../../model/wires/RegulatingControl");
|
|
97
97
|
const RegulatingControlModeKind_1 = require("../../model/wires/RegulatingControlModeKind");
|
|
98
98
|
const StaticVarCompensator_1 = require("../../model/wires/StaticVarCompensator");
|
|
99
|
-
const SynchronousMachine_1 = require("../../model/wires/SynchronousMachine");
|
|
100
99
|
const SynchronousMachineKind_1 = require("../../model/wires/SynchronousMachineKind");
|
|
101
100
|
const SynchronousMachineOperatingMode_1 = require("../../model/wires/SynchronousMachineOperatingMode");
|
|
102
101
|
const TapChangerControl_1 = require("../../model/wires/TapChangerControl");
|
|
@@ -115,7 +114,6 @@ const data_structures_i7_1 = require("./interface-i7/data-structures-i7");
|
|
|
115
114
|
const export_frame_i7_1 = require("./interface-i7/export-frame-i7");
|
|
116
115
|
const KnotenSo_1 = require("./model/integral/KnotenSo");
|
|
117
116
|
const Leitung_1 = require("./model/integral/Leitung");
|
|
118
|
-
const Point_1 = require("./model/integral/Point");
|
|
119
117
|
const Schaltanlage_1 = require("./model/integral/Schaltanlage");
|
|
120
118
|
const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt");
|
|
121
119
|
const SchaltanlagenabschnittNsg_1 = require("./model/integral/SchaltanlagenabschnittNsg");
|
|
@@ -129,10 +127,15 @@ const utils_schema_1 = require("./utils-schema");
|
|
|
129
127
|
const utils_trafo3w_1 = require("./utils-trafo3w");
|
|
130
128
|
const INTEGRALModel_1 = require("../../model/extensions/integral/model/INTEGRALModel");
|
|
131
129
|
const constants_1 = require("./model/dl-utils/constants");
|
|
132
|
-
const
|
|
130
|
+
const util_functions_1 = require("./model/dl-utils/util-functions");
|
|
133
131
|
const Laengskupplung_1 = require("./model/integral/Laengskupplung");
|
|
134
132
|
const INTEGRALConformLoad_1 = require("../../model/extensions/integral/loadmodel/INTEGRALConformLoad");
|
|
133
|
+
const Trafo2wNsg_1 = require("./model/integral/Trafo2wNsg");
|
|
134
|
+
const Trafo3wNsg_1 = require("./model/integral/Trafo3wNsg");
|
|
135
|
+
const SchaltfeldNsg_1 = require("./model/integral/SchaltfeldNsg");
|
|
135
136
|
const AngleDegrees_1 = require("../../model/domain/AngleDegrees");
|
|
137
|
+
const AsynchronousMachineKind_1 = require("../../model/wires/AsynchronousMachineKind");
|
|
138
|
+
const INTEGRALEquivalentInjection_1 = require("../../model/extensions/integral/equivalents/INTEGRALEquivalentInjection");
|
|
136
139
|
class ConverterI7 {
|
|
137
140
|
constructor() {
|
|
138
141
|
this.exportFrames = new Map();
|
|
@@ -233,7 +236,7 @@ class ConverterI7 {
|
|
|
233
236
|
}
|
|
234
237
|
catch (e) {
|
|
235
238
|
this.logger.error(e);
|
|
236
|
-
console.error(
|
|
239
|
+
console.error('ERROR:' + e);
|
|
237
240
|
reject({ status: 'error', message: e.toString() });
|
|
238
241
|
}
|
|
239
242
|
finally {
|
|
@@ -509,7 +512,7 @@ class ConverterI7 {
|
|
|
509
512
|
.then((result) => {
|
|
510
513
|
for (const i7Data of result) {
|
|
511
514
|
const i7Schluessel = integral_prefix_1.GEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
512
|
-
const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner),
|
|
515
|
+
const region = new GeographicalRegion_1.GeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_GR']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
|
|
513
516
|
this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
|
|
514
517
|
regions.push(region);
|
|
515
518
|
}
|
|
@@ -534,7 +537,7 @@ class ConverterI7 {
|
|
|
534
537
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
|
|
535
538
|
for (const i7Data of result) {
|
|
536
539
|
const i7Schluessel = integral_prefix_1.REGELZONE_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
537
|
-
const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner),
|
|
540
|
+
const ctrlarea = new ControlArea_1.ControlArea(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_RZ']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluessel);
|
|
538
541
|
cimModel.addControlArea(ctrlarea);
|
|
539
542
|
this.addIdMapping(i7Data.id, ctrlarea.mrid, integral_sql_1.Integral7TableNames.REGELZONE);
|
|
540
543
|
}
|
|
@@ -553,11 +556,11 @@ class ConverterI7 {
|
|
|
553
556
|
.then((result) => {
|
|
554
557
|
for (const i7Data of result) {
|
|
555
558
|
const i7Schluesel = integral_prefix_1.SUBGEOREGION_PRAEFIX + utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
556
|
-
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner),
|
|
559
|
+
const subregion = new SubGeographicalRegion_1.SubGeographicalRegion(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.ueberpruefeZeichenkette(i7Data.bezeichner), '_SGR']), utils_2.ueberpruefeZeichenkette(i7Data.kurzname), i7Schluesel);
|
|
557
560
|
const regionUUID = this.integralID2UUID.get(i7Data.georegion);
|
|
558
561
|
let region = regions.find(elem => elem.mrid === regionUUID);
|
|
559
562
|
if (!region) {
|
|
560
|
-
region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, util_create_1.createNotation([defaultValuesConfig.GeographicalRegion.name,
|
|
563
|
+
region = utils_1.createIfNotExitsGeoregionByName(this.cimModelDefault, util_create_1.createNotation([defaultValuesConfig.GeographicalRegion.name, '_GR']));
|
|
561
564
|
this.logger.debug(`SubGeographicalRegion UUID ${subregion.mrid} I7-ID ${i7Data.id} Name ${i7Data.bezeichner} hat keine Region.`);
|
|
562
565
|
}
|
|
563
566
|
subregion.region = region;
|
|
@@ -601,11 +604,9 @@ class ConverterI7 {
|
|
|
601
604
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
602
605
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT) && standortIDs.length > 0) {
|
|
603
606
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STANDORT, standortIDs));
|
|
604
|
-
|
|
605
|
-
if (onlyEingeblendet) {
|
|
606
|
-
filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
|
|
607
|
-
}
|
|
607
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
|
|
608
608
|
for (const i7Data of filteredResults) {
|
|
609
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_STANDORT);
|
|
609
610
|
const standort = integral7.integralStandorte.get(i7Data.standort);
|
|
610
611
|
if (standort) {
|
|
611
612
|
standort.standortNsg = new StandortNsg_1.StandortNsgImpl(i7Data);
|
|
@@ -622,34 +623,11 @@ class ConverterI7 {
|
|
|
622
623
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
623
624
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) && knotenSoIDs.length > 0) {
|
|
624
625
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_SO, knotenSoIDs));
|
|
625
|
-
|
|
626
|
-
if (onlyEingeblendet) {
|
|
627
|
-
filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
|
|
628
|
-
}
|
|
626
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
|
|
629
627
|
for (const i7Data of filteredResults) {
|
|
630
|
-
|
|
631
|
-
const diagram = cimModel.getDiagram(diagramUUID);
|
|
632
|
-
const nsgStandort = integral7.integralNSGStandorte.get(i7Data.nsgso);
|
|
633
|
-
if (!diagram || !nsgStandort) {
|
|
634
|
-
continue;
|
|
635
|
-
}
|
|
636
|
-
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'Abzweig');
|
|
637
|
-
diagramObject.diagramUUID = diagramUUID;
|
|
638
|
-
diagramObject.setDiagram(diagram);
|
|
639
|
-
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(nsgStandort.xrel + i7Data.xrel, nsgStandort.yrel + i7Data.yrel);
|
|
640
|
-
diagramObjectPoint.mrid = utils_1.generateUUID();
|
|
641
|
-
diagramObjectPoint.diagramObject = diagramObject;
|
|
642
|
-
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
643
|
-
cimModel.addDiagramObject(diagramObject);
|
|
644
|
-
cimModel.addDiagramObjectPoint(diagramObjectPoint);
|
|
628
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO);
|
|
645
629
|
const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
|
|
646
|
-
|
|
647
|
-
if (cimObject) {
|
|
648
|
-
diagramObject.setIdentifiedObject(cimObject);
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
|
|
652
|
-
}
|
|
630
|
+
util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.KNOTENSO_WIDTH, constants_1.NsgConstants.KNOTENSO_HEIGHT);
|
|
653
631
|
}
|
|
654
632
|
}
|
|
655
633
|
else {
|
|
@@ -657,15 +635,30 @@ class ConverterI7 {
|
|
|
657
635
|
}
|
|
658
636
|
});
|
|
659
637
|
}
|
|
638
|
+
convertSchemaHgueKnotenSo(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
639
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
640
|
+
const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
|
|
641
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) && nsgStandortIDs.length > 0) {
|
|
642
|
+
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_KNOTEN_HGUE, nsgStandortIDs));
|
|
643
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
|
|
644
|
+
for (const i7Data of filteredResults) {
|
|
645
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE);
|
|
646
|
+
const cimObjectUUID = this.integralID2UUID.get(i7Data.knotenso);
|
|
647
|
+
util_functions_1.DLUtilFunctions.convertNsgKnoten(cimModel, integral7, i7Data, cimObjectUUID, constants_1.NsgConstants.HGUE_KNOTENSO_WIDTH, constants_1.NsgConstants.HGUE_KNOTENSO_HEIGHT);
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
else {
|
|
651
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE} ist nicht vorhanden.`);
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
}
|
|
660
655
|
convertSchemaSchaltanlage(cimModel, integral7, saIDs, variantenNr, onlyEingeblendet = true) {
|
|
661
656
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
662
657
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE) && saIDs.length > 0) {
|
|
663
658
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, saIDs));
|
|
664
|
-
|
|
665
|
-
if (onlyEingeblendet) {
|
|
666
|
-
filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
|
|
667
|
-
}
|
|
659
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
|
|
668
660
|
for (const i7Data of filteredResults) {
|
|
661
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE);
|
|
669
662
|
const schaltanlage = integral7.integralSchaltanlagen.get(i7Data.schaltanlage);
|
|
670
663
|
if (schaltanlage) {
|
|
671
664
|
schaltanlage.schaltanlageNsg = new SchaltanlageNSG_1.SchaltanlageNsgImpl(i7Data);
|
|
@@ -682,16 +675,15 @@ class ConverterI7 {
|
|
|
682
675
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
683
676
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT) && schaltanlagenabschnittIDs.length > 0) {
|
|
684
677
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, schaltanlagenabschnittIDs));
|
|
685
|
-
|
|
686
|
-
if (onlyEingeblendet) {
|
|
687
|
-
filteredResults = filteredResults.filter(elem => elem.eingeblendet === 1);
|
|
688
|
-
}
|
|
678
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(result, variantenNr, onlyEingeblendet);
|
|
689
679
|
for (const i7Data of filteredResults) {
|
|
680
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT);
|
|
690
681
|
const saabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
691
682
|
if (saabschnitt) {
|
|
692
683
|
saabschnitt.schaltanlagenabschnittNsg = new SchaltanlagenabschnittNsg_1.SchaltanlagenabschnittNsg(i7Data);
|
|
693
684
|
saabschnitt.schaltanlagenabschnittNsg.saabschnitt = saabschnitt;
|
|
694
685
|
saabschnitt.schaltanlagenabschnittNsg.nsgsa = integral7.integralNSGSchaltanlage.get(i7Data.nsgsa);
|
|
686
|
+
saabschnitt.schaltanlagenabschnittNsg.nsgsa.saabNsg.push(saabschnitt.schaltanlagenabschnittNsg);
|
|
695
687
|
integral7.integralNSGSAAbschnitt.set(i7Data.id, saabschnitt.schaltanlagenabschnittNsg);
|
|
696
688
|
}
|
|
697
689
|
}
|
|
@@ -706,61 +698,75 @@ class ConverterI7 {
|
|
|
706
698
|
if (schaltanlagenabschnittIDs.length <= 0)
|
|
707
699
|
return;
|
|
708
700
|
const isEingeblendet = 1;
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
const
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
701
|
+
let sqlSelectGroupedMaxSlotSf = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
|
|
702
|
+
FROM nsg_nsgschaltfeld
|
|
703
|
+
WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
|
|
704
|
+
if (onlyEingeblendet) {
|
|
705
|
+
sqlSelectGroupedMaxSlotSf += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
|
|
706
|
+
}
|
|
707
|
+
sqlSelectGroupedMaxSlotSf += ` GROUP BY nsgsaa`;
|
|
708
|
+
const resultsMaxSlotsSf = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotSf);
|
|
709
|
+
const mappedResultsMaxSlotsSf = new Map(resultsMaxSlotsSf.map(value => [value.nsgsaa, value.laenge]));
|
|
710
|
+
let sqlSelectGroupedMaxSlotKpF = `SELECT nsgsaa AS nsgsaa, max(slotnummer) + 1 AS laenge
|
|
711
|
+
FROM nsg_nsgkpfeld
|
|
712
|
+
WHERE ((${integral_sql_1.getWhereIDs('nsgsaa', schaltanlagenabschnittIDs).join(' OR ')}))`;
|
|
713
|
+
if (onlyEingeblendet) {
|
|
714
|
+
sqlSelectGroupedMaxSlotKpF += ` AND (eingeblendet = ${isEingeblendet} OR (eingeblendet IS NULL AND angezeigt = ${isEingeblendet}))`;
|
|
715
|
+
}
|
|
716
|
+
sqlSelectGroupedMaxSlotKpF += ` GROUP BY nsgsaa`;
|
|
717
|
+
const resultsMaxSlotsKpF = yield this.mysqlController.execQuery(sqlSelectGroupedMaxSlotKpF);
|
|
718
|
+
const mappedResultsMaxSlotsKpF = new Map(resultsMaxSlotsKpF.map(value => [value.nsgsaa, value.laenge]));
|
|
719
|
+
const sqlStatement = `SELECT nsg_nsgsaab.variantennr,
|
|
720
|
+
nsg_nsgsaab.id,
|
|
721
|
+
nsg_nsgsaab.laenge AS laenge,
|
|
722
|
+
nsg_nsgsaab.nslots,
|
|
723
|
+
nsg_nsgsaab.saabschnitt,
|
|
724
|
+
nsg_nsgsaab.nsgsa,
|
|
725
|
+
nsg_nsgsaab.angezeigt,
|
|
726
|
+
nsg_nsgsaab.eingeblendet,
|
|
727
|
+
nsg_nsgsaab.nsglkp,
|
|
728
|
+
netz_ssab.pos AS posSSAB,
|
|
729
|
+
netz_ssab.id AS idSSAB
|
|
730
|
+
FROM netz_ssab
|
|
731
|
+
LEFT JOIN nsg_nsgsaabschnitt AS nsg_nsgsaab ON nsg_nsgsaab.saabschnitt = netz_ssab.saabschnitt
|
|
732
|
+
WHERE (${integral_sql_1.getWhereIDs('nsg_nsgsaab.saabschnitt', schaltanlagenabschnittIDs).join(' OR ')});`;
|
|
730
733
|
const queryResults = yield this.mysqlController.execQuery(sqlStatement);
|
|
731
|
-
|
|
734
|
+
queryResults.forEach(value => {
|
|
735
|
+
value.laenge = Math.max((mappedResultsMaxSlotsSf.get(value.id) || 0), (mappedResultsMaxSlotsKpF.get(value.id) || 0), value.laenge);
|
|
736
|
+
});
|
|
737
|
+
const filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(queryResults, variantenNr, onlyEingeblendet);
|
|
732
738
|
for (const queryResult of filteredResults) {
|
|
733
|
-
const
|
|
734
|
-
const
|
|
739
|
+
const nsgSa = integral7.integralNSGSchaltanlage.get(queryResult.nsgsa);
|
|
740
|
+
const nsgSo = integral7.integralNSGStandorte.get(nsgSa.nsgsoid);
|
|
735
741
|
const leftOffset = queryResult.nslots * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
736
742
|
const topOffset = queryResult.posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
|
|
737
743
|
const ssabLength = queryResult.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
738
|
-
let pointTopLeft = new
|
|
739
|
-
let pointBottomRight = new
|
|
744
|
+
let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset, topOffset, 1);
|
|
745
|
+
let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(leftOffset + ssabLength, topOffset, 2);
|
|
746
|
+
let saaShiftOffset = 0;
|
|
747
|
+
for (const tempNsgSaa of nsgSa.saabNsg) {
|
|
748
|
+
saaShiftOffset = saaShiftOffset < (tempNsgSaa.nslots + tempNsgSaa.laenge) ? (tempNsgSaa.nslots + tempNsgSaa.laenge) : saaShiftOffset;
|
|
749
|
+
}
|
|
740
750
|
const points = [];
|
|
741
751
|
points.push(pointTopLeft, pointBottomRight);
|
|
742
|
-
let maxX = 0;
|
|
743
|
-
for (const p of points) {
|
|
744
|
-
maxX = maxX < p.x ? p.x : maxX;
|
|
745
|
-
Point_1.Point.rotate(p, -90 * sa.ausrichtung);
|
|
746
|
-
}
|
|
747
|
-
const shiftValue = (queryResult.laenge + queryResult.nslots) * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
748
752
|
for (const p of points) {
|
|
749
|
-
|
|
750
|
-
p.
|
|
753
|
+
util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * nsgSa.ausrichtung);
|
|
754
|
+
p.xPosition += nsgSo.xrel + nsgSa.xrel + (nsgSa.ausrichtung === 2 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
|
|
755
|
+
p.yPosition += nsgSo.yrel + nsgSa.yrel + (nsgSa.ausrichtung === 3 ? saaShiftOffset * constants_1.NsgConstants.HORIZONTAL_OFFSET : 0);
|
|
751
756
|
}
|
|
752
757
|
integral7.integralNSGSsab.set(queryResult.idSSAB, queryResult);
|
|
753
758
|
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'SSAB Diagram');
|
|
754
|
-
diagramObject.rotation =
|
|
759
|
+
diagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
|
|
760
|
+
utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
|
|
755
761
|
const cnUUID = this.integralID2UUID.get(queryResult.idSSAB);
|
|
756
762
|
const connectivityNode = cimModel.getConnectivityNode(cnUUID);
|
|
757
|
-
utils_schema_1.createDiagramObjectPoints(diagramObject, points);
|
|
758
763
|
diagramObject.setIdentifiedObject(connectivityNode);
|
|
759
|
-
const diagramUUID = integral7.i7SchemaID2UUID.get(
|
|
764
|
+
const diagramUUID = integral7.i7SchemaID2UUID.get(nsgSa.variantennr);
|
|
760
765
|
const diagram = cimModel.getDiagram(diagramUUID);
|
|
761
766
|
if (diagram) {
|
|
762
767
|
diagramObject.setDiagram(diagram);
|
|
763
768
|
diagram.addDiagramObject(diagramObject);
|
|
769
|
+
integral7.placedCIMObjectsForDLProfil.set(cnUUID, diagramObject);
|
|
764
770
|
}
|
|
765
771
|
else {
|
|
766
772
|
this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
|
|
@@ -780,12 +786,13 @@ class ConverterI7 {
|
|
|
780
786
|
const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
|
|
781
787
|
const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, schaltfeldIDs));
|
|
782
788
|
const resultsNsgSchaltfeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_SCHALTFELD, schaltfeldIDs));
|
|
783
|
-
|
|
784
|
-
if (onlyEingeblendet) {
|
|
785
|
-
filteredResultsNsgSchaltfeld = filteredResultsNsgSchaltfeld.filter(elem => elem.eingeblendet === 1);
|
|
786
|
-
}
|
|
789
|
+
const filteredResultsNsgSchaltfeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgSchaltfeld, variantenNr, onlyEingeblendet);
|
|
787
790
|
for (const i7Data of filteredResultsNsgSchaltfeld) {
|
|
791
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_SCHALTFELD);
|
|
792
|
+
const nsgSchaltfeldObj = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
|
|
793
|
+
integral7.integralNSGSchaltfeld.set(i7Data.id, nsgSchaltfeldObj);
|
|
788
794
|
const nodePointMap = new Map();
|
|
795
|
+
const uuidPointsMap = new Map();
|
|
789
796
|
const schaltfeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
790
797
|
const schaltfeldDeltaausrichtung = i7Data.deltaausrichtung;
|
|
791
798
|
const schaltfeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.schaltfeld);
|
|
@@ -796,13 +803,15 @@ class ConverterI7 {
|
|
|
796
803
|
const ssabs = integral7.integralSchaltfelder.get(i7Data.schaltfeld).saabschnitt.ssab;
|
|
797
804
|
const maxSSabPos = Math.max(...ssabs.map(ssab => ssab.pos));
|
|
798
805
|
const onSSabNodes = schaltfeldI7KnotenBeziehungen.filter(elem => ssabs.find(ssab => ssab.id === elem.aknoten) !== undefined);
|
|
806
|
+
const xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
|
|
807
|
+
let lastNode = undefined;
|
|
799
808
|
for (const node of onSSabNodes) {
|
|
800
809
|
const ssabYPos = integral7.integralNSGSsab.get(node.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET;
|
|
801
810
|
let yStackPos = 1;
|
|
811
|
+
let prevNode = null;
|
|
802
812
|
let crtNode = node;
|
|
803
813
|
while (crtNode) {
|
|
804
814
|
if (nodePointMap.get(crtNode.id) === undefined) {
|
|
805
|
-
let xPos = schaltfeldLeftOffset + (constants_1.NsgConstants.HORIZONTAL_OFFSET / 2);
|
|
806
815
|
let yPos = ssabYPos;
|
|
807
816
|
if (crtNode === node) {
|
|
808
817
|
yPos += shiftFromBusbar ? (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET : 0;
|
|
@@ -812,12 +821,59 @@ class ConverterI7 {
|
|
|
812
821
|
yPos = ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (yStackPos) + ssabOffset) * constants_1.NsgConstants.VERTICAL_OFFSET;
|
|
813
822
|
yStackPos += 1;
|
|
814
823
|
}
|
|
815
|
-
nodePointMap.set(crtNode.id,
|
|
824
|
+
nodePointMap.set(crtNode.id, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, schaltfeldDeltaausrichtung * 180));
|
|
825
|
+
const aKnotenUUID = this.integralID2UUID.get(crtNode.aknoten);
|
|
826
|
+
if (!integral7.placedCIMObjectsForDLProfil.has(aKnotenUUID) && !nodePointMap.has(crtNode.aknoten)) {
|
|
827
|
+
let prevNodeY = prevNode !== null ? nodePointMap.get(prevNode.id).diagramObjectPoints[0].yPosition : 0;
|
|
828
|
+
let yPosAKnoten;
|
|
829
|
+
if (prevNode === node) {
|
|
830
|
+
yPosAKnoten = yPos - ((schaltfeldDeltaausrichtung === 0 ? -1 : 1) * constants_1.NsgConstants.VERTICAL_OFFSET) / 2;
|
|
831
|
+
}
|
|
832
|
+
else {
|
|
833
|
+
yPosAKnoten = (yPos - prevNodeY) / 2 + prevNodeY;
|
|
834
|
+
}
|
|
835
|
+
nodePointMap.set(crtNode.aknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPosAKnoten));
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
lastNode = crtNode;
|
|
839
|
+
prevNode = crtNode;
|
|
840
|
+
crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
const lastEKnotenUUID = this.integralID2UUID.get(lastNode.eknoten);
|
|
844
|
+
if (!integral7.placedCIMObjectsForDLProfil.has(lastEKnotenUUID) && !nodePointMap.has(lastNode.eknoten)) {
|
|
845
|
+
const yPos = (schaltfeldDeltaausrichtung === 0 ? -1 : 1) * (i7Data.hoehe);
|
|
846
|
+
const heightAdjustement = schaltfeldDeltaausrichtung === 0 ? (constants_1.NsgConstants.VERTICAL_OFFSET * (maxSSabPos + 1)) : 0;
|
|
847
|
+
nodePointMap.set(lastNode.eknoten, util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos + heightAdjustement));
|
|
848
|
+
}
|
|
849
|
+
nsgSchaltfeldObj.lastNodeID = lastNode.eknoten;
|
|
850
|
+
nsgSchaltfeldObj.lastNodeCimUUID = lastEKnotenUUID;
|
|
851
|
+
for (const node of onSSabNodes) {
|
|
852
|
+
let crtNode = node;
|
|
853
|
+
while (crtNode) {
|
|
854
|
+
let aKnotenPos = undefined;
|
|
855
|
+
if (crtNode === node) {
|
|
856
|
+
aKnotenPos = new DiagramObjectPoint_1.DiagramObjectPoint(xPos, integral7.integralNSGSsab.get(crtNode.aknoten).posSSAB * constants_1.NsgConstants.VERTICAL_OFFSET);
|
|
816
857
|
}
|
|
858
|
+
util_functions_1.DLUtilFunctions.exportTerminals(crtNode, nodePointMap, uuidPointsMap, cimModel, this.integralID2UUID, aKnotenPos);
|
|
817
859
|
crtNode = schaltfeldI7KnotenBeziehungen.find(elem => elem.aknoten === crtNode.eknoten);
|
|
818
860
|
}
|
|
819
861
|
}
|
|
820
|
-
|
|
862
|
+
[...nodePointMap.entries()].forEach(entry => {
|
|
863
|
+
uuidPointsMap.set(this.integralID2UUID.get(entry[0]), entry[1]);
|
|
864
|
+
});
|
|
865
|
+
const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
|
|
866
|
+
const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
|
|
867
|
+
nsgSchaltfeldObj.orientation = nsgSa.ausrichtung;
|
|
868
|
+
if (i7Data.deltaausrichtung === 1) {
|
|
869
|
+
nsgSchaltfeldObj.orientation = (nsgSchaltfeldObj.orientation + 2) % 4;
|
|
870
|
+
}
|
|
871
|
+
uuidPointsMap.forEach((entryDiagramObject, key) => {
|
|
872
|
+
if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
|
|
873
|
+
entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
|
|
874
|
+
}
|
|
875
|
+
});
|
|
876
|
+
util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
|
|
821
877
|
}
|
|
822
878
|
}
|
|
823
879
|
});
|
|
@@ -834,20 +890,25 @@ class ConverterI7 {
|
|
|
834
890
|
const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
|
|
835
891
|
const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.querkupplungIDs));
|
|
836
892
|
const resultsNsgKpFeld = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERKUPPLUNG, integral7.querkupplungIDs));
|
|
837
|
-
|
|
838
|
-
if (onlyEingeblendet) {
|
|
839
|
-
filteredResultsNsgKpFeld = filteredResultsNsgKpFeld.filter(elem => elem.eingeblendet === 1);
|
|
840
|
-
}
|
|
893
|
+
const filteredResultsNsgKpFeld = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgKpFeld, variantenNr, onlyEingeblendet);
|
|
841
894
|
for (const i7Data of filteredResultsNsgKpFeld) {
|
|
842
|
-
|
|
895
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERKUPPLUNG);
|
|
896
|
+
const uuidPointsMap = new Map();
|
|
843
897
|
const kpFeldLeftOffset = i7Data.slotnummer * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
844
898
|
const kpFeldDeltaausrichtung = i7Data.deltaausrichtung;
|
|
845
899
|
const kpFeldI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === i7Data.kpfeld);
|
|
846
900
|
const ssabs = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa).saabschnitt.ssab;
|
|
847
901
|
const relevantSSabIDs = new Set();
|
|
848
902
|
ssabs.forEach(ssab => relevantSSabIDs.add(ssab.id));
|
|
849
|
-
|
|
850
|
-
|
|
903
|
+
util_functions_1.DLUtilFunctions.placeKupplung(kpFeldI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, kpFeldDeltaausrichtung, kpFeldLeftOffset, false);
|
|
904
|
+
const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
|
|
905
|
+
const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
|
|
906
|
+
uuidPointsMap.forEach((entryDiagramObject, key) => {
|
|
907
|
+
if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
|
|
908
|
+
entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
|
|
909
|
+
}
|
|
910
|
+
});
|
|
911
|
+
util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap, true);
|
|
851
912
|
}
|
|
852
913
|
}
|
|
853
914
|
});
|
|
@@ -864,22 +925,635 @@ class ConverterI7 {
|
|
|
864
925
|
const i7checkedTables = this.filterTablesByAvailability(i7relevantTables);
|
|
865
926
|
const i7knotenBeziehungen = yield this.mysqlController.execQuery(integral_sql_1.getI7KnotenBeziehungenQuery(i7checkedTables, integral7.laengskupplungIDs));
|
|
866
927
|
const resultsNsgLKupplung = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LAENGSKUPPLUNG, [...integral7.integralNSGSAAbschnitt.keys()]));
|
|
867
|
-
|
|
868
|
-
if (onlyEingeblendet) {
|
|
869
|
-
filteredResultsNsgLKupplung = filteredResultsNsgLKupplung.filter(elem => elem.eingeblendet === 1);
|
|
870
|
-
}
|
|
871
|
-
const nodePointMap = new Map();
|
|
928
|
+
const filteredResultsNsgLKupplung = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(resultsNsgLKupplung, variantenNr, onlyEingeblendet);
|
|
872
929
|
for (const i7Data of filteredResultsNsgLKupplung) {
|
|
930
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LAENGSKUPPLUNG);
|
|
931
|
+
const uuidPointsMap = new Map();
|
|
873
932
|
const schaltanlagenID = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa).nsgsa.schaltanlageid;
|
|
874
933
|
const netzLaengskupplungsObjs = [...integral7.integralLaengskupplungen.values()].filter(elem => elem.schaltanlagenID === schaltanlagenID);
|
|
875
934
|
for (const netzLaengskupplungObj of netzLaengskupplungsObjs) {
|
|
876
935
|
const lKupplungI7KnotenBeziehungen = i7knotenBeziehungen.filter(elem => elem.seliste === netzLaengskupplungObj.id);
|
|
877
936
|
const relevantSSabIDs = new Set();
|
|
878
937
|
integral7.integralSchaltanlagen.get(schaltanlagenID).saab.forEach(netz_saab => netz_saab.ssab.forEach(ssab => relevantSSabIDs.add(ssab.id)));
|
|
879
|
-
|
|
938
|
+
util_functions_1.DLUtilFunctions.placeKupplung(lKupplungI7KnotenBeziehungen, uuidPointsMap, cimModel, relevantSSabIDs, integral7.integralNSGSsab, this.integralID2UUID, integral7.placedCIMObjectsForDLProfil, 0, 0, true);
|
|
939
|
+
}
|
|
940
|
+
const nsgSaa = integral7.integralNSGSAAbschnitt.get(i7Data.nsgsaa);
|
|
941
|
+
const nsgSa = integral7.integralNSGSchaltanlage.get(nsgSaa.nsgsaid);
|
|
942
|
+
uuidPointsMap.forEach((entryDiagramObject, key) => {
|
|
943
|
+
if (!(entryDiagramObject.identifiedObject instanceof Terminal_1.Terminal || entryDiagramObject.identifiedObject instanceof ConnectivityNode_1.ConnectivityNode)) {
|
|
944
|
+
entryDiagramObject.rotation += util_functions_1.DLUtilFunctions.getRotationBasedOnNsgSa(nsgSa.ausrichtung);
|
|
945
|
+
}
|
|
946
|
+
});
|
|
947
|
+
util_functions_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, variantenNr, i7Data.nsgsaa, uuidPointsMap);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
convertSchemaTransformatoren2W(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
953
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
954
|
+
const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
|
|
955
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO2W) && nsgStandortIDs.length > 0) {
|
|
956
|
+
const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO2W, nsgStandortIDs));
|
|
957
|
+
let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
|
|
958
|
+
for (const i7Data of filteredResults) {
|
|
959
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO2W);
|
|
960
|
+
const uuidPointsMap = new Map();
|
|
961
|
+
const trafo2wNsg = new Trafo2wNsg_1.Trafo2wNsgImpl(i7Data);
|
|
962
|
+
integral7.integralNSGTrafos.set(i7Data.trafo2w, trafo2wNsg);
|
|
963
|
+
const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH / 2, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
|
|
964
|
+
trafoDiagramObject.rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnTrafo2W(trafo2wNsg.ausrichtung);
|
|
965
|
+
const tempPoints = [];
|
|
966
|
+
tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
|
|
967
|
+
const trafoUUID = this.integralID2UUID.get(trafo2wNsg.trafo2wid);
|
|
968
|
+
const transformer = cimModel.getPowerTransformer(trafoUUID);
|
|
969
|
+
const terminal1 = transformer.powerTransformerEnds[0].terminal;
|
|
970
|
+
const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(0, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
|
|
971
|
+
tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
|
|
972
|
+
const terminal2 = transformer.powerTransformerEnds[1].terminal;
|
|
973
|
+
const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO2W_WIDTH, constants_1.NsgConstants.TRAFO2W_HEIGHT / 2);
|
|
974
|
+
tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
|
|
975
|
+
for (const p of tempPoints) {
|
|
976
|
+
util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, 360 - (90 * trafo2wNsg.ausrichtung) % 360);
|
|
977
|
+
p.xPosition += trafo2wNsg.xrel;
|
|
978
|
+
p.yPosition += trafo2wNsg.yrel;
|
|
979
|
+
p.xPosition += (trafo2wNsg.ausrichtung === 1 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
|
|
980
|
+
p.xPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
|
|
981
|
+
p.yPosition += (trafo2wNsg.ausrichtung === 2 ? constants_1.NsgConstants.TRAFO2W_HEIGHT : 0);
|
|
982
|
+
p.yPosition += (trafo2wNsg.ausrichtung === 3 ? constants_1.NsgConstants.TRAFO2W_WIDTH : 0);
|
|
983
|
+
}
|
|
984
|
+
uuidPointsMap.set(this.integralID2UUID.get(trafo2wNsg.trafo2wid), trafoDiagramObject);
|
|
985
|
+
if (terminal1 !== undefined) {
|
|
986
|
+
uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
|
|
987
|
+
}
|
|
988
|
+
if (terminal2 !== undefined) {
|
|
989
|
+
uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
|
|
990
|
+
}
|
|
991
|
+
util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo2wNsg.nsgsoid, uuidPointsMap);
|
|
992
|
+
let t1CNdiagramObject, t1DiagramObject, t2CNdiagramObject, t2DiagramObject;
|
|
993
|
+
if (terminal1 !== undefined) {
|
|
994
|
+
t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.connectivityNode.getUUID());
|
|
995
|
+
t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
|
|
996
|
+
}
|
|
997
|
+
if (terminal2 !== undefined) {
|
|
998
|
+
t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.connectivityNode.getUUID());
|
|
999
|
+
t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
|
|
1000
|
+
}
|
|
1001
|
+
if (trafo2wNsg.ausrichtung === 2 || trafo2wNsg.ausrichtung === 3) {
|
|
1002
|
+
if (terminal2 !== undefined)
|
|
1003
|
+
utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t1CNdiagramObject.diagramObjectPoints);
|
|
1004
|
+
if (terminal1 !== undefined)
|
|
1005
|
+
utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t2CNdiagramObject.diagramObjectPoints);
|
|
1006
|
+
}
|
|
1007
|
+
else {
|
|
1008
|
+
if (terminal1 !== undefined)
|
|
1009
|
+
utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
|
|
1010
|
+
if (terminal2 !== undefined)
|
|
1011
|
+
utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
else {
|
|
1016
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO2W} ist nicht vorhanden.`);
|
|
1017
|
+
}
|
|
1018
|
+
});
|
|
1019
|
+
}
|
|
1020
|
+
convertSchemaTransformatoren3W(cimModel, integral7, standortIDs, variantenNr, onlyEingeblendet = true) {
|
|
1021
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1022
|
+
const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
|
|
1023
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_TRAFO3W) && nsgStandortIDs.length > 0 && standortIDs.length > 0) {
|
|
1024
|
+
const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_TRAFO3W, nsgStandortIDs));
|
|
1025
|
+
let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
|
|
1026
|
+
const netzTrafoResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRAFO3W, standortIDs));
|
|
1027
|
+
const netzTrafos = new Map(netzTrafoResults.map(obj => [obj.id, obj]));
|
|
1028
|
+
for (const i7Data of filteredResults) {
|
|
1029
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_TRAFO3W);
|
|
1030
|
+
const uuidPointsMap = new Map();
|
|
1031
|
+
const trafo3wNsg = new Trafo3wNsg_1.Trafo3wNsgImpl(i7Data);
|
|
1032
|
+
integral7.integralNSGTrafos.set(i7Data.trafo3w, trafo3wNsg);
|
|
1033
|
+
const trafoDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(constants_1.NsgConstants.TRAFO3W_WIDTH / 2, constants_1.NsgConstants.TRAFO3W_HEIGHT / 2);
|
|
1034
|
+
trafoDiagramObject.rotation = 360 - (constants_1.NsgConstants.TAFO3W_RotationOrder.indexOf(trafo3wNsg.ausrichtung) * 30) % 360;
|
|
1035
|
+
const tempPoints = [];
|
|
1036
|
+
tempPoints.push(trafoDiagramObject.diagramObjectPoints[0]);
|
|
1037
|
+
const trafo3wNetz = netzTrafos.get(trafo3wNsg.trafo3wid);
|
|
1038
|
+
const pteW1 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w1));
|
|
1039
|
+
const pteW2 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w2));
|
|
1040
|
+
const pteW3 = cimModel.getPowerTransformerEnd(this.integralID2UUID.get(trafo3wNetz.trafowicklung3w3));
|
|
1041
|
+
const exchangeGroups = constants_1.NsgConstants.TRAFO3W_ExchangeGroups;
|
|
1042
|
+
let exchangeGroup = undefined;
|
|
1043
|
+
for (const key of Object.keys(exchangeGroups)) {
|
|
1044
|
+
if (exchangeGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
|
|
1045
|
+
exchangeGroup = constants_1.NsgConstants.TRAFO3W_ExchangeMap[key];
|
|
1046
|
+
break;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
const rotationenGroups = constants_1.NsgConstants.TRAFO3W_RotationGroups;
|
|
1050
|
+
let rotationenGroup = undefined;
|
|
1051
|
+
for (const key of Object.keys(rotationenGroups)) {
|
|
1052
|
+
if (rotationenGroups[key].indexOf(trafo3wNsg.ausrichtung) !== -1) {
|
|
1053
|
+
rotationenGroup = constants_1.NsgConstants.TRAFO3W_RotationGroup2Positions[key];
|
|
1054
|
+
break;
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
const xMirroring = trafo3wNsg.orientierung_cw === 1;
|
|
1058
|
+
const terminal1 = pteW1.terminal;
|
|
1059
|
+
const terminal1DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[1]]);
|
|
1060
|
+
tempPoints.push(terminal1DiagramObject.diagramObjectPoints[0]);
|
|
1061
|
+
const terminal2 = pteW2.terminal;
|
|
1062
|
+
const terminal2DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 3 : 2]]);
|
|
1063
|
+
tempPoints.push(terminal2DiagramObject.diagramObjectPoints[0]);
|
|
1064
|
+
const terminal3 = pteW3.terminal;
|
|
1065
|
+
const terminal3DiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPointArrayBased(rotationenGroup[exchangeGroup[xMirroring ? 2 : 3]]);
|
|
1066
|
+
tempPoints.push(terminal3DiagramObject.diagramObjectPoints[0]);
|
|
1067
|
+
for (const p of tempPoints) {
|
|
1068
|
+
p.xPosition += trafo3wNsg.xrel;
|
|
1069
|
+
p.yPosition += trafo3wNsg.yrel;
|
|
1070
|
+
}
|
|
1071
|
+
uuidPointsMap.set(this.integralID2UUID.get(trafo3wNsg.trafo3wid), trafoDiagramObject);
|
|
1072
|
+
if (terminal1 !== undefined) {
|
|
1073
|
+
uuidPointsMap.set(terminal1.getUUID(), terminal1DiagramObject);
|
|
1074
|
+
}
|
|
1075
|
+
if (terminal2 !== undefined) {
|
|
1076
|
+
uuidPointsMap.set(terminal2.getUUID(), terminal2DiagramObject);
|
|
1077
|
+
}
|
|
1078
|
+
if (terminal3 !== undefined) {
|
|
1079
|
+
uuidPointsMap.set(terminal3.getUUID(), terminal3DiagramObject);
|
|
1080
|
+
}
|
|
1081
|
+
util_functions_1.DLUtilFunctions.shiftAddBasedOnNsgSo(cimModel, integral7, variantenNr, trafo3wNsg.nsgsoid, uuidPointsMap);
|
|
1082
|
+
if (terminal1) {
|
|
1083
|
+
const t1CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getConnectivityNodeUUID());
|
|
1084
|
+
const t1DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal1.getUUID());
|
|
1085
|
+
if (t1CNdiagramObject !== undefined)
|
|
1086
|
+
utils_schema_1.copyDiagramObjectPoints(t1DiagramObject, t1CNdiagramObject.diagramObjectPoints);
|
|
1087
|
+
}
|
|
1088
|
+
if (terminal2) {
|
|
1089
|
+
const t2CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getConnectivityNodeUUID());
|
|
1090
|
+
const t2DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal2.getUUID());
|
|
1091
|
+
if (t2CNdiagramObject !== undefined)
|
|
1092
|
+
utils_schema_1.copyDiagramObjectPoints(t2DiagramObject, t2CNdiagramObject.diagramObjectPoints);
|
|
1093
|
+
}
|
|
1094
|
+
if (terminal3) {
|
|
1095
|
+
const t3CNdiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getConnectivityNodeUUID());
|
|
1096
|
+
const t3DiagramObject = integral7.placedCIMObjectsForDLProfil.get(terminal3.getUUID());
|
|
1097
|
+
if (t3CNdiagramObject !== undefined)
|
|
1098
|
+
utils_schema_1.copyDiagramObjectPoints(t3DiagramObject, t3CNdiagramObject.diagramObjectPoints);
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
else {
|
|
1103
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_TRAFO3W} ist nicht vorhanden.`);
|
|
1104
|
+
}
|
|
1105
|
+
});
|
|
1106
|
+
}
|
|
1107
|
+
convertSchemaLeitungen(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
1108
|
+
var _a, _b, _c;
|
|
1109
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1110
|
+
const leitungIDs = [...integral7.integralLeitungen.keys(), ...integral7.integralHgueLeitungen.keys()];
|
|
1111
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT)
|
|
1112
|
+
&& leitungIDs.length > 0) {
|
|
1113
|
+
const leitungResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNG, leitungIDs));
|
|
1114
|
+
let filteredLeitungResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungResults, variantenNr, onlyEingeblendet);
|
|
1115
|
+
const nsgLeitungIDs = filteredLeitungResults.map(elem => elem.id);
|
|
1116
|
+
const leitungspktResults = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_LEITUNGSPUNKT, nsgLeitungIDs));
|
|
1117
|
+
let filteredLeitungspktResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(leitungspktResults, variantenNr, onlyEingeblendet);
|
|
1118
|
+
for (const i7Data of filteredLeitungResults) {
|
|
1119
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_LEITUNG);
|
|
1120
|
+
let netzLeitung, aKnotenCimObjectUUID, eKnotenCimObjectUUID;
|
|
1121
|
+
const isACLine = integral7.integralLeitungen.get(i7Data.leitung);
|
|
1122
|
+
if (isACLine) {
|
|
1123
|
+
netzLeitung = integral7.integralLeitungen.get(i7Data.leitung);
|
|
1124
|
+
aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.aknotenid);
|
|
1125
|
+
eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.eknotenid);
|
|
1126
|
+
}
|
|
1127
|
+
else {
|
|
1128
|
+
netzLeitung = integral7.integralHgueLeitungen.get(i7Data.leitung);
|
|
1129
|
+
aKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.anetzobjekt);
|
|
1130
|
+
eKnotenCimObjectUUID = this.integralID2UUID.get(netzLeitung.enetzobjekt);
|
|
1131
|
+
}
|
|
1132
|
+
const anfSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussanf);
|
|
1133
|
+
const endSchemaType = integral7.i7SchemaID2Type.get(i7Data.anschlussend);
|
|
1134
|
+
let tempDiagramObjectPoints = [];
|
|
1135
|
+
let tempAnfDiagramObject = undefined;
|
|
1136
|
+
let tempEndDiagramObject = undefined;
|
|
1137
|
+
if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
|
|
1138
|
+
const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussanf);
|
|
1139
|
+
tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
|
|
1140
|
+
}
|
|
1141
|
+
else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
|
|
1142
|
+
tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
|
|
1143
|
+
}
|
|
1144
|
+
else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
|
|
1145
|
+
tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussanf));
|
|
1146
|
+
}
|
|
1147
|
+
else if (anfSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
|
|
1148
|
+
tempAnfDiagramObject = integral7.placedCIMObjectsForDLProfil.get(aKnotenCimObjectUUID);
|
|
1149
|
+
}
|
|
1150
|
+
else {
|
|
1151
|
+
}
|
|
1152
|
+
if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
|
|
1153
|
+
const anfSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.anschlussend);
|
|
1154
|
+
tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(anfSchaltfeld.lastNodeCimUUID);
|
|
1155
|
+
}
|
|
1156
|
+
else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
|
|
1157
|
+
tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
|
|
1158
|
+
}
|
|
1159
|
+
else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_HGUE) {
|
|
1160
|
+
tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(integral7.i7ID2UUID.get(i7Data.anschlussend));
|
|
1161
|
+
}
|
|
1162
|
+
else if (endSchemaType === integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) {
|
|
1163
|
+
tempEndDiagramObject = integral7.placedCIMObjectsForDLProfil.get(eKnotenCimObjectUUID);
|
|
1164
|
+
}
|
|
1165
|
+
else {
|
|
1166
|
+
}
|
|
1167
|
+
if (tempAnfDiagramObject === undefined || tempEndDiagramObject === undefined)
|
|
1168
|
+
continue;
|
|
1169
|
+
tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition));
|
|
1170
|
+
const relevantLeitungspkts = filteredLeitungspktResults.filter(elem => elem.nsgleitung === i7Data.id).sort((a, b) => a.pos - b.pos);
|
|
1171
|
+
for (let a = 0; a < relevantLeitungspkts.length; a++) {
|
|
1172
|
+
const nsgLeitungspkt = relevantLeitungspkts[a];
|
|
1173
|
+
if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 1) {
|
|
1174
|
+
const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempAnfDiagramObject.diagramObjectPoints[0].xPosition, tempAnfDiagramObject.diagramObjectPoints[0].yPosition);
|
|
1175
|
+
const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(anfSchemaType, integral7, i7Data.anschlussanf, nsgLeitungspkt);
|
|
1176
|
+
tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
|
|
1177
|
+
tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
|
|
1178
|
+
tempDiagramObjectPoints.push(tempDiagramObjectPoint);
|
|
1179
|
+
}
|
|
1180
|
+
else if (nsgLeitungspkt.userelpos === 1 && nsgLeitungspkt.reltoanf === 0) {
|
|
1181
|
+
const tempDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition);
|
|
1182
|
+
const tempOffsetArray = util_functions_1.DLUtilFunctions.getXYOffsetFromRelCM(endSchemaType, integral7, i7Data.anschlussend, nsgLeitungspkt);
|
|
1183
|
+
tempDiagramObjectPoint.xPosition += tempOffsetArray[0];
|
|
1184
|
+
tempDiagramObjectPoint.yPosition += tempOffsetArray[1];
|
|
1185
|
+
tempDiagramObjectPoints.push(tempDiagramObjectPoint);
|
|
1186
|
+
}
|
|
1187
|
+
else {
|
|
1188
|
+
tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(nsgLeitungspkt.xrel, nsgLeitungspkt.yrel));
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
tempDiagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(tempEndDiagramObject.diagramObjectPoints[0].xPosition, tempEndDiagramObject.diagramObjectPoints[0].yPosition));
|
|
1192
|
+
const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
|
|
1193
|
+
const diagram = cimModel.getDiagram(diagramUUID);
|
|
1194
|
+
if (isACLine) {
|
|
1195
|
+
const netzLeitungCimObj = cimModel.getLine(this.integralID2UUID.get(netzLeitung.id));
|
|
1196
|
+
const cableAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL);
|
|
1197
|
+
const overheadAvailable = this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG);
|
|
1198
|
+
let type = integral_sql_1.I7Objects.STROMKREISABSCHNITT;
|
|
1199
|
+
if (cableAvailable && overheadAvailable) {
|
|
1200
|
+
type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL_FREILEITUNG;
|
|
1201
|
+
}
|
|
1202
|
+
else if (cableAvailable) {
|
|
1203
|
+
type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_KABEL;
|
|
1204
|
+
}
|
|
1205
|
+
else if (overheadAvailable) {
|
|
1206
|
+
type = integral_sql_1.I7Objects.STROMKREISABSCHNITT_FREILEITUNG;
|
|
1207
|
+
}
|
|
1208
|
+
const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, [netzLeitung.id]));
|
|
1209
|
+
leitungStromkreisabschnitt.sort((a, b) => a.pos - b.pos);
|
|
1210
|
+
const acSegmentPercentages = [];
|
|
1211
|
+
let completeLength = 0;
|
|
1212
|
+
for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
|
|
1213
|
+
completeLength += leitungStromkreisabschnitt[a].laenge;
|
|
1214
|
+
}
|
|
1215
|
+
let crtLength = 0;
|
|
1216
|
+
for (let a = 0; a < leitungStromkreisabschnitt.length; ++a) {
|
|
1217
|
+
crtLength += leitungStromkreisabschnitt[a].laenge;
|
|
1218
|
+
acSegmentPercentages.push(crtLength / completeLength);
|
|
1219
|
+
}
|
|
1220
|
+
let completePixelLength = 0;
|
|
1221
|
+
for (let a = 1; a < tempDiagramObjectPoints.length; ++a) {
|
|
1222
|
+
const tempX = tempDiagramObjectPoints[a].xPosition - tempDiagramObjectPoints[a - 1].xPosition;
|
|
1223
|
+
const tempY = tempDiagramObjectPoints[a].yPosition - tempDiagramObjectPoints[a - 1].yPosition;
|
|
1224
|
+
completePixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
|
|
1225
|
+
}
|
|
1226
|
+
let lastB = 0;
|
|
1227
|
+
let b = 1;
|
|
1228
|
+
let crtPixelLength = 0;
|
|
1229
|
+
for (let a = 0; a < acSegmentPercentages.length; ++a) {
|
|
1230
|
+
let crtPixelPercentageSize = 0;
|
|
1231
|
+
let lastPixelPercentageSize;
|
|
1232
|
+
do {
|
|
1233
|
+
const tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
|
|
1234
|
+
const tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
|
|
1235
|
+
crtPixelLength += Math.sqrt((tempX * tempX) + (tempY * tempY));
|
|
1236
|
+
lastPixelPercentageSize = crtPixelPercentageSize;
|
|
1237
|
+
crtPixelPercentageSize = (crtPixelLength / completePixelLength);
|
|
1238
|
+
b++;
|
|
1239
|
+
} while (crtPixelPercentageSize < acSegmentPercentages[a] && b < tempDiagramObjectPoints.length);
|
|
1240
|
+
const epsilon = 0.00001;
|
|
1241
|
+
if ((crtPixelLength / completePixelLength) <= acSegmentPercentages[a] + epsilon) {
|
|
1242
|
+
const conductorCimObj = netzLeitungCimObj.equipments[a];
|
|
1243
|
+
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_a = conductorCimObj.shortName) !== null && _a !== void 0 ? _a : ''));
|
|
1244
|
+
diagramObject.setIdentifiedObject(conductorCimObj);
|
|
1245
|
+
diagramObject.setDiagram(diagram);
|
|
1246
|
+
diagram.addDiagramObject(diagramObject);
|
|
1247
|
+
let i = 1;
|
|
1248
|
+
for (let idx = lastB; idx < b; ++idx) {
|
|
1249
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
|
|
1250
|
+
diagramObjectPoint.mrid = utils_1.generateUUID();
|
|
1251
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
1252
|
+
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
1253
|
+
++i;
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
else if ((crtPixelLength / completePixelLength) > acSegmentPercentages[a]) {
|
|
1257
|
+
let decreased = false;
|
|
1258
|
+
if (b === tempDiagramObjectPoints.length) {
|
|
1259
|
+
b--;
|
|
1260
|
+
decreased = true;
|
|
1261
|
+
}
|
|
1262
|
+
let tempX = tempDiagramObjectPoints[b].xPosition - tempDiagramObjectPoints[b - 1].xPosition;
|
|
1263
|
+
let tempY = tempDiagramObjectPoints[b].yPosition - tempDiagramObjectPoints[b - 1].yPosition;
|
|
1264
|
+
const percentageOfSegment = crtPixelPercentageSize - lastPixelPercentageSize;
|
|
1265
|
+
const tempRestX = tempX * (1 - percentageOfSegment);
|
|
1266
|
+
const tempRestY = tempY * (1 - percentageOfSegment);
|
|
1267
|
+
tempX = tempX * percentageOfSegment;
|
|
1268
|
+
tempY = tempY * percentageOfSegment;
|
|
1269
|
+
const newDiagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[b - 1].xPosition + tempX, tempDiagramObjectPoints[b - 1].yPosition + tempY);
|
|
1270
|
+
crtPixelLength -= Math.sqrt((tempRestX * tempRestX) + (tempRestY * tempRestY));
|
|
1271
|
+
tempDiagramObjectPoints.splice(b, 0, newDiagramObjectPoint);
|
|
1272
|
+
const conductorCimObj = netzLeitungCimObj.equipments[a];
|
|
1273
|
+
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID(), 'DiagramObj ' + ((_b = conductorCimObj.shortName) !== null && _b !== void 0 ? _b : ''));
|
|
1274
|
+
diagramObject.setDiagram(diagram);
|
|
1275
|
+
diagramObject.setIdentifiedObject(conductorCimObj);
|
|
1276
|
+
diagram.addDiagramObject(diagramObject);
|
|
1277
|
+
let i = 1;
|
|
1278
|
+
if (decreased)
|
|
1279
|
+
b++;
|
|
1280
|
+
for (let idx = lastB; idx < b; ++idx) {
|
|
1281
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, i);
|
|
1282
|
+
diagramObjectPoint.mrid = utils_1.generateUUID();
|
|
1283
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
1284
|
+
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
1285
|
+
++i;
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
lastB = b - 1;
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
else {
|
|
1292
|
+
const netzLeitungCimObj = cimModel.getObject(this.integralID2UUID.get(netzLeitung.id));
|
|
1293
|
+
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.generateUUID());
|
|
1294
|
+
diagramObject.setDiagram(diagram);
|
|
1295
|
+
diagram.addDiagramObject(diagramObject);
|
|
1296
|
+
diagramObject.setIdentifiedObjectUUID(this.integralID2UUID.get(netzLeitung.id));
|
|
1297
|
+
if (netzLeitungCimObj !== undefined) {
|
|
1298
|
+
diagramObject.name = 'DiagramObj ' + ((_c = netzLeitungCimObj.shortName) !== null && _c !== void 0 ? _c : '');
|
|
1299
|
+
}
|
|
1300
|
+
else {
|
|
1301
|
+
diagramObject.name = 'DiagramObj HGUE-Leitung';
|
|
1302
|
+
}
|
|
1303
|
+
for (let idx = 0; idx < tempDiagramObjectPoints.length; ++idx) {
|
|
1304
|
+
const diagramObjectPoint = new DiagramObjectPoint_1.DiagramObjectPoint(tempDiagramObjectPoints[idx].xPosition, tempDiagramObjectPoints[idx].yPosition, idx + 1);
|
|
1305
|
+
diagramObjectPoint.mrid = utils_1.generateUUID();
|
|
1306
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
1307
|
+
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
else {
|
|
1313
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_LEITUNG} oder ${integral_sql_1.Integral7TableNames.NSG_LEITUNGSPUNKT} ist nicht vorhanden.`);
|
|
1314
|
+
}
|
|
1315
|
+
});
|
|
1316
|
+
}
|
|
1317
|
+
convertSchemaQuerzweige(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
1318
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1319
|
+
const whereIDs = [...integral7.i7SchemaID2Type.keys()];
|
|
1320
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_QUERZWEIG) && whereIDs.length > 0) {
|
|
1321
|
+
const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_QUERZWEIG, whereIDs));
|
|
1322
|
+
let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
|
|
1323
|
+
for (const i7Data of filteredResults) {
|
|
1324
|
+
integral7.i7SchemaID2Type.set(i7Data.id, integral_sql_1.Integral7TableNames.NSG_QUERZWEIG);
|
|
1325
|
+
integral7.integralNSGQuerzweig.set(i7Data.id, i7Data);
|
|
1326
|
+
const referenceType = integral7.i7SchemaID2Type.get(i7Data.bezugsobjekt);
|
|
1327
|
+
const uuidPointsMap = new Map();
|
|
1328
|
+
const rotation = util_functions_1.DLUtilFunctions.getRotationBasedOnQuerzweig(i7Data.ausrichtung);
|
|
1329
|
+
let refXPos = 0;
|
|
1330
|
+
let refYPos = 0;
|
|
1331
|
+
let xPos = i7Data.xrel;
|
|
1332
|
+
let yPos = i7Data.yrel;
|
|
1333
|
+
let refCNNodeUUID = undefined;
|
|
1334
|
+
const querzweigType = this.integralID2Type.get(i7Data.querzweig);
|
|
1335
|
+
let nsgQuerzweigWidth;
|
|
1336
|
+
let nsgQuerzweigHeight;
|
|
1337
|
+
if (querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
|
|
1338
|
+
nsgQuerzweigWidth = constants_1.NsgConstants.HGUE_QUERZWEIG_OBJ_WIDTH;
|
|
1339
|
+
nsgQuerzweigHeight = constants_1.NsgConstants.HGUE_QUERZWEIG_OBJ_HEIGHT;
|
|
1340
|
+
}
|
|
1341
|
+
else {
|
|
1342
|
+
nsgQuerzweigWidth = constants_1.NsgConstants.QUERZWEIG_OBJ_WIDTH;
|
|
1343
|
+
nsgQuerzweigHeight = constants_1.NsgConstants.QUERZWEIG_OBJ_HEIGHT;
|
|
1344
|
+
}
|
|
1345
|
+
if (referenceType === integral_sql_1.Integral7TableNames.NSG_SCHALTFELD) {
|
|
1346
|
+
const nsgSchaltfeld = integral7.integralNSGSchaltfeld.get(i7Data.bezugsobjekt);
|
|
1347
|
+
refCNNodeUUID = nsgSchaltfeld.lastNodeCimUUID;
|
|
1348
|
+
const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgSchaltfeld.lastNodeCimUUID).diagramObjectPoints[0];
|
|
1349
|
+
refXPos = lastDiagramObjectPointInsideBay.xPosition;
|
|
1350
|
+
refYPos = lastDiagramObjectPointInsideBay.yPosition;
|
|
1351
|
+
xPos += refXPos;
|
|
1352
|
+
yPos += refYPos;
|
|
1353
|
+
if (querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC || querzweigType === integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH) {
|
|
1354
|
+
switch (nsgSchaltfeld.orientation) {
|
|
1355
|
+
case 3:
|
|
1356
|
+
xPos += nsgQuerzweigWidth / 2;
|
|
1357
|
+
break;
|
|
1358
|
+
case 0:
|
|
1359
|
+
yPos += nsgQuerzweigHeight / 2;
|
|
1360
|
+
break;
|
|
1361
|
+
case 1:
|
|
1362
|
+
xPos += nsgQuerzweigWidth / 2;
|
|
1363
|
+
xPos -= nsgSchaltfeld.hoehe;
|
|
1364
|
+
break;
|
|
1365
|
+
case 2:
|
|
1366
|
+
yPos += nsgQuerzweigHeight / 2;
|
|
1367
|
+
yPos -= nsgSchaltfeld.hoehe;
|
|
1368
|
+
break;
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
else {
|
|
1372
|
+
switch (nsgSchaltfeld.orientation) {
|
|
1373
|
+
case 3:
|
|
1374
|
+
xPos += nsgQuerzweigWidth / 2;
|
|
1375
|
+
yPos -= nsgQuerzweigHeight / 2;
|
|
1376
|
+
break;
|
|
1377
|
+
case 0:
|
|
1378
|
+
xPos -= nsgQuerzweigWidth / 2;
|
|
1379
|
+
yPos += nsgQuerzweigHeight / 2;
|
|
1380
|
+
break;
|
|
1381
|
+
case 1:
|
|
1382
|
+
xPos += nsgQuerzweigWidth / 2;
|
|
1383
|
+
yPos -= nsgQuerzweigHeight / 2;
|
|
1384
|
+
xPos -= nsgSchaltfeld.hoehe;
|
|
1385
|
+
break;
|
|
1386
|
+
case 2:
|
|
1387
|
+
xPos -= nsgQuerzweigWidth / 2;
|
|
1388
|
+
yPos += nsgQuerzweigHeight / 2;
|
|
1389
|
+
yPos -= nsgSchaltfeld.hoehe;
|
|
1390
|
+
break;
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
else if (referenceType === integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO) {
|
|
1395
|
+
const nsgKnotenSoUUID = integral7.i7ID2UUID.get(i7Data.bezugsobjekt);
|
|
1396
|
+
refCNNodeUUID = nsgKnotenSoUUID;
|
|
1397
|
+
const lastDiagramObjectPointInsideBay = integral7.placedCIMObjectsForDLProfil.get(nsgKnotenSoUUID).diagramObjectPoints[0];
|
|
1398
|
+
refXPos = lastDiagramObjectPointInsideBay.xPosition;
|
|
1399
|
+
refYPos = lastDiagramObjectPointInsideBay.yPosition;
|
|
1400
|
+
xPos += refXPos;
|
|
1401
|
+
yPos += refYPos;
|
|
1402
|
+
xPos -= nsgQuerzweigWidth / 2;
|
|
1403
|
+
yPos -= nsgQuerzweigHeight / 2;
|
|
1404
|
+
}
|
|
1405
|
+
else {
|
|
1406
|
+
continue;
|
|
1407
|
+
throw new Error(`unhandled reference type '${referenceType}' for id ${i7Data.bezugsobjekt} (nsg_nsgquerzweig.id ${i7Data.id})!`);
|
|
1408
|
+
}
|
|
1409
|
+
const tempDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(xPos, yPos, rotation);
|
|
1410
|
+
const querzweigObjectUUID = this.integralID2UUID.get(i7Data.querzweig);
|
|
1411
|
+
const cimObject2LinkWith = cimModel.getObject(querzweigObjectUUID);
|
|
1412
|
+
uuidPointsMap.set(querzweigObjectUUID, tempDiagramObject);
|
|
1413
|
+
if (cimObject2LinkWith !== undefined) {
|
|
1414
|
+
let ceTerminals = new Set([...cimObject2LinkWith.terminals.values()].map(t => t.getUUID()));
|
|
1415
|
+
cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => ceTerminals.add(tUUID));
|
|
1416
|
+
let cnTerminals = new Set([...cimModel.getConnectivityNode(refCNNodeUUID).terminals.values()].map(t => t.getUUID()));
|
|
1417
|
+
cimObject2LinkWith.terminalsUUIDs.forEach(tUUID => cnTerminals.add(tUUID));
|
|
1418
|
+
const terminalUUID = [...cnTerminals.values()].filter(tUUID => ceTerminals.has(tUUID))[0];
|
|
1419
|
+
let xOffset = 0;
|
|
1420
|
+
let yOffset = 0;
|
|
1421
|
+
switch (i7Data.ausrichtung) {
|
|
1422
|
+
case 0:
|
|
1423
|
+
xOffset = constants_1.NsgConstants.TERMINAL_CE_OFFSET;
|
|
1424
|
+
break;
|
|
1425
|
+
case 1:
|
|
1426
|
+
yOffset = constants_1.NsgConstants.TERMINAL_CE_OFFSET;
|
|
1427
|
+
break;
|
|
1428
|
+
case 2:
|
|
1429
|
+
xOffset = -constants_1.NsgConstants.TERMINAL_CE_OFFSET;
|
|
1430
|
+
break;
|
|
1431
|
+
case 3:
|
|
1432
|
+
yOffset = -constants_1.NsgConstants.TERMINAL_CE_OFFSET;
|
|
1433
|
+
break;
|
|
1434
|
+
}
|
|
1435
|
+
const terminalDiagramObject = util_functions_1.DLUtilFunctions.createDiagramObjectWithPoint(tempDiagramObject.diagramObjectPoints[0].xPosition + xOffset, tempDiagramObject.diagramObjectPoints[0].yPosition + yOffset);
|
|
1436
|
+
terminalDiagramObject.diagramObjectPoints.push(new DiagramObjectPoint_1.DiagramObjectPoint(refXPos, refYPos));
|
|
1437
|
+
uuidPointsMap.set(terminalUUID, terminalDiagramObject);
|
|
1438
|
+
}
|
|
1439
|
+
util_functions_1.DLUtilFunctions.addi7ObjectToCIMModel(uuidPointsMap, cimModel, integral7, i7Data.variantennr);
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
else {
|
|
1443
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_QUERZWEIG} ist nicht vorhanden.`);
|
|
1444
|
+
}
|
|
1445
|
+
});
|
|
1446
|
+
}
|
|
1447
|
+
convertSchemaSternpunktSchiene(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
1448
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1449
|
+
const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
|
|
1450
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE) && nsgStandortIDs.length > 0) {
|
|
1451
|
+
const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_SCHIENE, nsgStandortIDs));
|
|
1452
|
+
let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
|
|
1453
|
+
for (const i7Data of filteredResults) {
|
|
1454
|
+
const nsgSo = integral7.integralNSGStandorte.get(i7Data.nsgso);
|
|
1455
|
+
const ssabLength = i7Data.laenge * constants_1.NsgConstants.HORIZONTAL_OFFSET;
|
|
1456
|
+
let pointTopLeft = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
|
|
1457
|
+
let pointBottomRight = new DiagramObjectPoint_1.DiagramObjectPoint(ssabLength, 0, 2);
|
|
1458
|
+
const points = [];
|
|
1459
|
+
points.push(pointTopLeft, pointBottomRight);
|
|
1460
|
+
for (const p of points) {
|
|
1461
|
+
util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
|
|
1462
|
+
p.xPosition += i7Data.xrel + nsgSo.xrel + (i7Data.ausrichtung === 2 ? ssabLength : 0);
|
|
1463
|
+
p.yPosition += i7Data.yrel + nsgSo.yrel + (i7Data.ausrichtung === 3 ? ssabLength : 0);
|
|
1464
|
+
}
|
|
1465
|
+
integral7.integralNSGStpSchiene.set(i7Data.stpschiene, i7Data);
|
|
1466
|
+
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB ');
|
|
1467
|
+
diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
|
|
1468
|
+
utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
|
|
1469
|
+
const uuid = this.integralID2UUID.get(i7Data.stpschiene);
|
|
1470
|
+
const cimObject = cimModel.getObject(uuid);
|
|
1471
|
+
diagramObject.setIdentifiedObjectUUID(uuid);
|
|
1472
|
+
const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
|
|
1473
|
+
const diagram = cimModel.getDiagram(diagramUUID);
|
|
1474
|
+
if (diagram) {
|
|
1475
|
+
diagramObject.setDiagram(diagram);
|
|
1476
|
+
diagram.addDiagramObject(diagramObject);
|
|
1477
|
+
integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
|
|
1478
|
+
}
|
|
1479
|
+
else {
|
|
1480
|
+
this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
else {
|
|
1485
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STP_SCHIENE} ist nicht vorhanden.`);
|
|
1486
|
+
}
|
|
1487
|
+
});
|
|
1488
|
+
}
|
|
1489
|
+
convertSchemaSternpunktKnoten(cimModel, integral7, variantenNr, onlyEingeblendet = true) {
|
|
1490
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1491
|
+
const nsgStandortIDs = [...integral7.integralNSGStandorte.keys()];
|
|
1492
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STP_KNOTEN) && nsgStandortIDs.length > 0) {
|
|
1493
|
+
const results = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.NSG_STP_KNOTEN, nsgStandortIDs));
|
|
1494
|
+
let filteredResults = util_functions_1.DLUtilFunctions.filterByVariantenNrOnlyEingeblendet(results, variantenNr, onlyEingeblendet);
|
|
1495
|
+
if (filteredResults.length <= 0)
|
|
1496
|
+
return;
|
|
1497
|
+
const knoten1pelemIDs = filteredResults.map(elem => elem.knoten);
|
|
1498
|
+
let sqlStatement;
|
|
1499
|
+
sqlStatement = `SELECT *
|
|
1500
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.STERNPUNKT_KNOTEN]}
|
|
1501
|
+
WHERE ${integral_sql_1.getWhereIDs('id', knoten1pelemIDs).join(' OR ')};`;
|
|
1502
|
+
const knoten1pelemResults = yield this.mysqlController.execQuery(sqlStatement);
|
|
1503
|
+
const knoten1pelemMap = new Map();
|
|
1504
|
+
for (const elem of knoten1pelemResults) {
|
|
1505
|
+
let arr = knoten1pelemMap.has(elem.netzobjekt) ? knoten1pelemMap.get(elem.netzobjekt) : [];
|
|
1506
|
+
arr.push(elem.id);
|
|
1507
|
+
knoten1pelemMap.set(elem.netzobjekt, arr);
|
|
1508
|
+
}
|
|
1509
|
+
sqlStatement = `SELECT id AS 'netzobjektID', trafo3w AS 'trafoID', 'netz_trafo3w' AS 'trafoType'
|
|
1510
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}
|
|
1511
|
+
WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')})
|
|
1512
|
+
UNION ALL
|
|
1513
|
+
SELECT id AS 'netzobjektID', id AS 'trafoID', 'netz_trafo2w' AS 'trafoType'
|
|
1514
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}
|
|
1515
|
+
WHERE id IN (${knoten1pelemResults.map(elem => elem.netzobjekt).join(',')});`;
|
|
1516
|
+
const trafoIDTypeResults = yield this.mysqlController.execQuery(sqlStatement);
|
|
1517
|
+
const trafoIDTypeMap = new Map();
|
|
1518
|
+
for (const trafoIDTypeResult of trafoIDTypeResults) {
|
|
1519
|
+
const netzobjektRelatedKnotenIDs = knoten1pelemMap.get(trafoIDTypeResult.netzobjektID);
|
|
1520
|
+
for (const netzobjektRelatedKnotenID of netzobjektRelatedKnotenIDs) {
|
|
1521
|
+
trafoIDTypeMap.set(netzobjektRelatedKnotenID, trafoIDTypeResult);
|
|
880
1522
|
}
|
|
881
|
-
SsabNsg_1.DLUtilFunctions.rotateShiftAddBasedOnNsgSAA(cimModel, integral7, this.integralID2UUID, variantenNr, i7Data.nsgsaa, nodePointMap);
|
|
882
1523
|
}
|
|
1524
|
+
for (const i7Data of filteredResults) {
|
|
1525
|
+
let centerPoint = new DiagramObjectPoint_1.DiagramObjectPoint(0, 0, 1);
|
|
1526
|
+
const shiftOffset = constants_1.NsgConstants.STP_KNOTEN_WIDTH;
|
|
1527
|
+
const trafoIDType = trafoIDTypeMap.get(i7Data.knoten);
|
|
1528
|
+
const nsgTrafo = integral7.integralNSGTrafos.get(trafoIDType.trafoID);
|
|
1529
|
+
const nsgStandort = integral7.integralNSGStandorte.get(nsgTrafo.nsgsoid);
|
|
1530
|
+
const points = [];
|
|
1531
|
+
points.push(centerPoint);
|
|
1532
|
+
for (const p of points) {
|
|
1533
|
+
util_functions_1.DLUtilFunctions.rotateDiagramObjectPoint(p, -90 * i7Data.ausrichtung);
|
|
1534
|
+
p.xPosition += i7Data.xrel + nsgTrafo.xrel + nsgStandort.xrel + (i7Data.ausrichtung === 2 ? shiftOffset : 0);
|
|
1535
|
+
p.yPosition += i7Data.yrel + nsgTrafo.yrel + nsgStandort.yrel + (i7Data.ausrichtung === 3 ? shiftOffset : 0);
|
|
1536
|
+
}
|
|
1537
|
+
integral7.integralNSGStpKnoten.set(i7Data.id, i7Data);
|
|
1538
|
+
const diagramObject = new DiagramObject_1.DiagramObject(utils_1.getUUID(''), 'Stp-SSAB');
|
|
1539
|
+
diagramObject.rotation = (360 - 90 * i7Data.ausrichtung) % 360;
|
|
1540
|
+
utils_schema_1.copyDiagramObjectPoints(diagramObject, points);
|
|
1541
|
+
const uuid = this.integralID2UUID.get(i7Data.knoten);
|
|
1542
|
+
diagramObject.setIdentifiedObjectUUID(uuid);
|
|
1543
|
+
const diagramUUID = integral7.i7SchemaID2UUID.get(i7Data.variantennr);
|
|
1544
|
+
const diagram = cimModel.getDiagram(diagramUUID);
|
|
1545
|
+
if (diagram) {
|
|
1546
|
+
diagramObject.setDiagram(diagram);
|
|
1547
|
+
diagram.addDiagramObject(diagramObject);
|
|
1548
|
+
integral7.placedCIMObjectsForDLProfil.set(uuid, diagramObject);
|
|
1549
|
+
}
|
|
1550
|
+
else {
|
|
1551
|
+
this.logger.debug(`SSAB/DiagramObject ${diagramObject.mrid} hat kein Diagram-Objekt.`);
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
else {
|
|
1556
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STP_SCHALTFELD} ist nicht vorhanden.`);
|
|
883
1557
|
}
|
|
884
1558
|
});
|
|
885
1559
|
}
|
|
@@ -888,7 +1562,7 @@ class ConverterI7 {
|
|
|
888
1562
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
|
|
889
1563
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STANDORT, whereID));
|
|
890
1564
|
for (const i7Data of result) {
|
|
891
|
-
const i7name = util_create_1.createNotation([utils_2.getName(i7Data),
|
|
1565
|
+
const i7name = util_create_1.createNotation([utils_2.getName(i7Data), '_', utils_2.ueberpruefeZeichenkette(i7Data.ukz)], 32);
|
|
892
1566
|
const substation = new AMPRIONSubstation_1.AMPRIONSubstation(utils_1.getUUID(i7Data.guid), i7name, i7Data.kurzname, i7Data.kommentar, i7Data.stationsnummer, i7Data.ukz);
|
|
893
1567
|
let subregion = cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
|
|
894
1568
|
if (!subregion) {
|
|
@@ -929,7 +1603,7 @@ class ConverterI7 {
|
|
|
929
1603
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
930
1604
|
const object = cimModel.getObject(this.integralID2UUID.get(i7Data.standort));
|
|
931
1605
|
if (!object) {
|
|
932
|
-
this.logger.warn(`Schaltanlage ${i7Data.id}/${i7Data.guid} ist keinem Standort (${i7Data.standort})
|
|
1606
|
+
this.logger.warn(`Schaltanlage ${i7Data.id}/${i7Data.guid} ist keinem Standort (${i7Data.standort}) zugeordnet.`);
|
|
933
1607
|
continue;
|
|
934
1608
|
}
|
|
935
1609
|
else if (!(object instanceof Substation_1.Substation)) {
|
|
@@ -940,7 +1614,7 @@ class ConverterI7 {
|
|
|
940
1614
|
i7Data.un +
|
|
941
1615
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
942
1616
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
943
|
-
const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
1617
|
+
const vl = new VoltageLevel_1.VoltageLevel(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_', i7Data.un.toString(), '_VL']), i7Data.kurzname, i7Schluessel);
|
|
944
1618
|
const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
|
|
945
1619
|
const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, un, this.exportFramesBoundary);
|
|
946
1620
|
vl.baseVoltage = baseVoltage;
|
|
@@ -969,7 +1643,7 @@ class ConverterI7 {
|
|
|
969
1643
|
continue;
|
|
970
1644
|
}
|
|
971
1645
|
else {
|
|
972
|
-
voltageLevel.name = util_create_1.createNotation([voltageLevel.name,
|
|
1646
|
+
voltageLevel.name = util_create_1.createNotation([voltageLevel.name, '_', i7Data.pos.toString()], 32, true);
|
|
973
1647
|
}
|
|
974
1648
|
const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
|
|
975
1649
|
schaltanlagenabschnitt.addSchaltanlage(integral7.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
|
|
@@ -995,7 +1669,8 @@ class ConverterI7 {
|
|
|
995
1669
|
const i7Schluessel = voltageLevel.description +
|
|
996
1670
|
integral_prefix_1.SCHALTFELD_PRAEFIX +
|
|
997
1671
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
998
|
-
const
|
|
1672
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
1673
|
+
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B'], 32, true), i7Data.kurzname, i7Schluessel);
|
|
999
1674
|
bay.number = utils_2.isNumericI7(i7Data.feldnummer) ? utils_2.convertToNumberI7(i7Data.feldnummer).toString() : undefined;
|
|
1000
1675
|
bay.locationID = i7Data.ips_folder_id;
|
|
1001
1676
|
bay.voltageLevel = voltageLevel;
|
|
@@ -1022,8 +1697,9 @@ class ConverterI7 {
|
|
|
1022
1697
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_SO, standortIDs));
|
|
1023
1698
|
for (const i7Data of result) {
|
|
1024
1699
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
1025
|
-
const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(),
|
|
1026
|
-
const
|
|
1700
|
+
const vl = new VoltageLevel_1.VoltageLevel(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), i7Data.un.toString(), '_VL']), i7Data.kurzname);
|
|
1701
|
+
const rdfid = utils_1.getUUID(i7Data.guid);
|
|
1702
|
+
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', rdfid.substring(0, 8), '_CN']), i7Data.kurzname, i7Data.kommentar);
|
|
1027
1703
|
connectivityNode.setConnectivityNodeContainer(vl);
|
|
1028
1704
|
vl.addConnectivityNode(connectivityNode);
|
|
1029
1705
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
@@ -1070,11 +1746,14 @@ class ConverterI7 {
|
|
|
1070
1746
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SAMMELSCHIENE, schaltanlagenAbschnittIDs));
|
|
1071
1747
|
for (const i7Data of result) {
|
|
1072
1748
|
const i7Schaltanlagenabschnitt = integral7.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt);
|
|
1073
|
-
const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt),
|
|
1749
|
+
const busbarSection = new BusbarSection_1.BusbarSection(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Schaltanlagenabschnitt), '_BBS']), i7Schaltanlagenabschnitt.kurzname);
|
|
1074
1750
|
busbarSection.ipMax = i7Data.limit_ip;
|
|
1075
1751
|
busbarSection.aggregate = false;
|
|
1076
|
-
|
|
1077
|
-
|
|
1752
|
+
if (utils_1.getUUID(i7Data.guid) === '24206c79-3ac8-4436-aa02-3f60a9e85975') {
|
|
1753
|
+
let stop = true;
|
|
1754
|
+
}
|
|
1755
|
+
const rdfid = utils_1.getUUID(i7Data.guid);
|
|
1756
|
+
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + i7Data.pos.toString(), '_' + rdfid.substring(0, 8), '_CN'], 32, true), i7Data.kurzname);
|
|
1078
1757
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Schaltanlagenabschnitt.id));
|
|
1079
1758
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1080
1759
|
if (voltageLevel) {
|
|
@@ -1094,6 +1773,7 @@ class ConverterI7 {
|
|
|
1094
1773
|
else {
|
|
1095
1774
|
this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
|
|
1096
1775
|
}
|
|
1776
|
+
this.createConnection(cimModel, busbarSection, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
1097
1777
|
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.SAMMELSCHIENE);
|
|
1098
1778
|
cimModel.addConnectivityNode(connectivityNode);
|
|
1099
1779
|
cimModel.addBusbarSection(busbarSection);
|
|
@@ -1113,7 +1793,7 @@ class ConverterI7 {
|
|
|
1113
1793
|
const result = yield this.queryDataInChuncks(integral_sql_1.I7Objects.KNOTEN_SF, schaltfeldIDs);
|
|
1114
1794
|
for (const i7Data of result) {
|
|
1115
1795
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
|
|
1116
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.
|
|
1796
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid_cn), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotensf', `${bay.description}/${i7Data.bezeichner}`);
|
|
1117
1797
|
if (bay) {
|
|
1118
1798
|
connectivityNode.connectivityNodeContainer = bay;
|
|
1119
1799
|
bay.addConnectivityNode(connectivityNode);
|
|
@@ -1137,7 +1817,7 @@ class ConverterI7 {
|
|
|
1137
1817
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
|
|
1138
1818
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_KF, querkupplungIDs));
|
|
1139
1819
|
for (const i7Data of result) {
|
|
1140
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
1820
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'knotenkf');
|
|
1141
1821
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
|
|
1142
1822
|
if (bay) {
|
|
1143
1823
|
connectivityNode.connectivityNodeContainer = bay;
|
|
@@ -1160,7 +1840,7 @@ class ConverterI7 {
|
|
|
1160
1840
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
|
|
1161
1841
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_LK, laengskupplungIDs));
|
|
1162
1842
|
for (const i7Data of result) {
|
|
1163
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
1843
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_CN']), 'KnotenLk');
|
|
1164
1844
|
const bay = cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
|
|
1165
1845
|
if (bay) {
|
|
1166
1846
|
connectivityNode.connectivityNodeContainer = bay;
|
|
@@ -1195,7 +1875,6 @@ class ConverterI7 {
|
|
|
1195
1875
|
if (connectivityNode) {
|
|
1196
1876
|
connectivityNode.addTerminal(terminal);
|
|
1197
1877
|
terminal.setConnectivityNode(connectivityNode);
|
|
1198
|
-
terminal.name = util_create_1.createNotation([connectivityNode.name, "_Schlaufe_T"]);
|
|
1199
1878
|
}
|
|
1200
1879
|
else {
|
|
1201
1880
|
this.logger.debug(`Schlaufe ${i7Data.id} besitzt keinen anschluss.`);
|
|
@@ -1212,16 +1891,18 @@ class ConverterI7 {
|
|
|
1212
1891
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
|
|
1213
1892
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.BELASTUNG, knotenSfIDs));
|
|
1214
1893
|
for (const i7Data of result) {
|
|
1215
|
-
const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new INTEGRALConformLoad_1.INTEGRALConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
1894
|
+
const load = targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad ? new INTEGRALConformLoad_1.INTEGRALConformLoad(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CL'])) : new EnergyConsumer_1.EnergyConsumer(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EC']));
|
|
1216
1895
|
this.setTopologyEnergySourceConsumerObject(cimModel, load, i7Data);
|
|
1217
1896
|
const mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1218
1897
|
if (mf && targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
|
|
1219
1898
|
cimModel.addMultiplierFactor(mf);
|
|
1220
|
-
load.
|
|
1899
|
+
load.multiplierFactorUUID = mf.getUUID();
|
|
1221
1900
|
}
|
|
1222
1901
|
const powerData = utils_2.getActiveReactivePower(i7Data, mf);
|
|
1223
1902
|
load.p = powerData[0];
|
|
1224
1903
|
load.q = powerData[1];
|
|
1904
|
+
load.p_mf = powerData[2] ? powerData[2] : undefined;
|
|
1905
|
+
load.q_mf = powerData[3] ? powerData[3] : undefined;
|
|
1225
1906
|
if (targetClass === cim_class_names_1.CIM_CLASS_NAMES.ConformLoad) {
|
|
1226
1907
|
const conformLoadGroup = cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, cim_class_names_1.CIM_CLASS_NAMES.ConformLoadGroup);
|
|
1227
1908
|
load.loadGroup = conformLoadGroup;
|
|
@@ -1287,17 +1968,68 @@ class ConverterI7 {
|
|
|
1287
1968
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.GENERATOR, knotenSfIDs));
|
|
1288
1969
|
for (const i7Data of result) {
|
|
1289
1970
|
const genType = this.generatorTypen.get(i7Data.nametyp);
|
|
1290
|
-
const synchronousMachine = new
|
|
1291
|
-
const isRotatingPhaseShifter = utils_2.isBooleanI7(i7Data.flag_phasenschieber) ? utils_2.convertToBooleanI7(i7Data.flag_phasenschieber) : false;
|
|
1971
|
+
const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM'], 32, true), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1292
1972
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1293
|
-
|
|
1294
|
-
|
|
1973
|
+
const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
|
|
1974
|
+
const minP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : 0;
|
|
1975
|
+
const mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1976
|
+
const powerData = utils_2.getActiveReactivePower(i7Data, mf);
|
|
1977
|
+
const p = powerData[0];
|
|
1978
|
+
const q = powerData[1];
|
|
1979
|
+
const flagCondenserOperationMode = utils_2.isBooleanI7(i7Data.flag_phasenschieber) ? utils_2.convertToBooleanI7(i7Data.flag_phasenschieber) : true;
|
|
1980
|
+
const isRotatingPhaseShifter = mf !== undefined && flagCondenserOperationMode && maxP === 0 && minP === 0;
|
|
1981
|
+
const isGenerator = (maxP >= 0 || maxP === undefined) && (minP >= 0 || minP === undefined);
|
|
1982
|
+
const isMotor = (maxP <= 0 || maxP === undefined) && (minP <= 0 || minP === undefined);
|
|
1983
|
+
synchronousMachine.nameprimaertyp = i7Data.nameprimaertyp;
|
|
1984
|
+
if (isRotatingPhaseShifter && isGenerator && isMotor) {
|
|
1985
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenserOrMotor;
|
|
1986
|
+
}
|
|
1987
|
+
else if (isRotatingPhaseShifter && isGenerator && !isMotor) {
|
|
1988
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenser;
|
|
1989
|
+
}
|
|
1990
|
+
else if (isRotatingPhaseShifter && !isGenerator && !isMotor) {
|
|
1295
1991
|
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.condenser;
|
|
1296
1992
|
}
|
|
1993
|
+
else if (isRotatingPhaseShifter && !isGenerator && isMotor) {
|
|
1994
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.motorOrCondenser;
|
|
1995
|
+
}
|
|
1996
|
+
else if (!isRotatingPhaseShifter && isGenerator && !isMotor) {
|
|
1997
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
|
|
1998
|
+
}
|
|
1999
|
+
else if (!isRotatingPhaseShifter && !isGenerator && isMotor) {
|
|
2000
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.motor;
|
|
2001
|
+
}
|
|
2002
|
+
else if (!isRotatingPhaseShifter && isGenerator && isMotor) {
|
|
2003
|
+
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generatorOrMotor;
|
|
2004
|
+
}
|
|
1297
2005
|
else {
|
|
2006
|
+
synchronousMachine.type = undefined;
|
|
2007
|
+
}
|
|
2008
|
+
const condenserOperationMode = p !== undefined && p === 0 && (synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.condenser
|
|
2009
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.motorOrCondenser
|
|
2010
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenser
|
|
2011
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenserOrMotor);
|
|
2012
|
+
const generatorOperationMode = p !== undefined && p >= 0 && (synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generator
|
|
2013
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrMotor
|
|
2014
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenser
|
|
2015
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenserOrMotor);
|
|
2016
|
+
const motorOperationMode = p !== undefined && p <= 0 && (synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.motor
|
|
2017
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrMotor
|
|
2018
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.motorOrCondenser
|
|
2019
|
+
|| synchronousMachine.type === SynchronousMachineKind_1.SynchronousMachineKind.generatorOrCondenserOrMotor);
|
|
2020
|
+
if (condenserOperationMode && !generatorOperationMode && !motorOperationMode) {
|
|
2021
|
+
synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.condenser;
|
|
2022
|
+
}
|
|
2023
|
+
else if (!condenserOperationMode && generatorOperationMode && !motorOperationMode) {
|
|
1298
2024
|
synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
|
|
1299
2025
|
synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
|
|
1300
2026
|
}
|
|
2027
|
+
else if (!condenserOperationMode && !generatorOperationMode && motorOperationMode) {
|
|
2028
|
+
synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.motor;
|
|
2029
|
+
}
|
|
2030
|
+
else {
|
|
2031
|
+
synchronousMachine.operatingMode = undefined;
|
|
2032
|
+
}
|
|
1301
2033
|
if (utils_2.convertToNumberI7(i7Data.blocktrafo_1)) {
|
|
1302
2034
|
this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_1));
|
|
1303
2035
|
}
|
|
@@ -1315,21 +2047,20 @@ class ConverterI7 {
|
|
|
1315
2047
|
}
|
|
1316
2048
|
const prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
|
|
1317
2049
|
synchronousMachine.referencePriority = prio;
|
|
1318
|
-
const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
|
|
1319
|
-
const minP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : 0;
|
|
1320
2050
|
const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
|
|
1321
2051
|
const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
|
|
1322
2052
|
const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
|
|
2053
|
+
const minQvonPmax = utils_2.isNumericI7(i7Data.qmin_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmax) : undefined;
|
|
2054
|
+
const maxQvonPmin = utils_2.isNumericI7(i7Data.qmax_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmin) : undefined;
|
|
1323
2055
|
const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
|
|
1324
2056
|
synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
|
|
1325
2057
|
synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
|
|
1326
2058
|
const pType = (genType === null || genType === void 0 ? void 0 : genType.sr) * (genType === null || genType === void 0 ? void 0 : genType.cosphir);
|
|
1327
2059
|
const qType = Math.sqrt(Math.pow(genType === null || genType === void 0 ? void 0 : genType.sr, 2) - Math.pow(pType, 2));
|
|
1328
|
-
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
1329
|
-
const p = powerData[0];
|
|
1330
|
-
const q = powerData[1];
|
|
1331
2060
|
synchronousMachine.setActivePower(p * -1);
|
|
1332
2061
|
synchronousMachine.setReactivePower(q * -1);
|
|
2062
|
+
synchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
|
|
2063
|
+
synchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
|
|
1333
2064
|
const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : genType === null || genType === void 0 ? void 0 : genType.sr;
|
|
1334
2065
|
if (sr && sr >= 0) {
|
|
1335
2066
|
synchronousMachine.ratedS = sr;
|
|
@@ -1337,30 +2068,30 @@ class ConverterI7 {
|
|
|
1337
2068
|
else {
|
|
1338
2069
|
synchronousMachine.ratedS = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));
|
|
1339
2070
|
}
|
|
1340
|
-
const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : genType.ur;
|
|
1341
|
-
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) :
|
|
2071
|
+
const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : utils_2.isNumericI7(genType === null || genType === void 0 ? void 0 : genType.ur) ? genType.ur : undefined;
|
|
2072
|
+
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : ur;
|
|
1342
2073
|
const cosphir = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : genType.cosphir;
|
|
1343
|
-
synchronousMachine.ratedU =
|
|
2074
|
+
synchronousMachine.ratedU = ur ? ur : usoll;
|
|
1344
2075
|
synchronousMachine.aggregate = true;
|
|
1345
2076
|
synchronousMachine.ratedPowerFactor = cosphir ? cosphir : undefined;
|
|
1346
2077
|
synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : genType === null || genType === void 0 ? void 0 : genType.rg;
|
|
1347
|
-
if (
|
|
1348
|
-
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), util_create_1.createNotation(['CurveData', synchronousMachine.mrid,
|
|
2078
|
+
if (minP && maxP && minQvonPmin && maxQvonPmax) {
|
|
2079
|
+
const reactiveCapabilityCurve = new ReactiveCapabilityCurve_1.ReactiveCapabilityCurve(utils_1.generateUUID(), util_create_1.createNotation(['CurveData', synchronousMachine.mrid, '_RCC']));
|
|
1349
2080
|
reactiveCapabilityCurve.curveStyle = CurveStyle_1.CurveStyle.straightLineYValues;
|
|
1350
2081
|
reactiveCapabilityCurve.xUnit = UnitSymbol_1.UnitSymbol.W;
|
|
1351
2082
|
reactiveCapabilityCurve.y1Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
1352
2083
|
reactiveCapabilityCurve.y2Unit = UnitSymbol_1.UnitSymbol.VAr;
|
|
1353
2084
|
const curveData1 = new CurveData_1.CurveData(utils_1.generateUUID());
|
|
1354
2085
|
curveData1.curve = reactiveCapabilityCurve;
|
|
1355
|
-
curveData1.xvalue =
|
|
1356
|
-
curveData1.y1value =
|
|
1357
|
-
curveData1.y2value =
|
|
2086
|
+
curveData1.xvalue = minP;
|
|
2087
|
+
curveData1.y1value = minQvonPmin;
|
|
2088
|
+
curveData1.y2value = maxQvonPmin;
|
|
1358
2089
|
cimModel.addCurveData(curveData1);
|
|
1359
2090
|
const curveData2 = new CurveData_1.CurveData(utils_1.generateUUID());
|
|
1360
2091
|
curveData2.curve = reactiveCapabilityCurve;
|
|
1361
|
-
curveData2.xvalue =
|
|
1362
|
-
curveData2.y1value =
|
|
1363
|
-
curveData2.y2value =
|
|
2092
|
+
curveData2.xvalue = maxP;
|
|
2093
|
+
curveData2.y1value = minQvonPmax;
|
|
2094
|
+
curveData2.y2value = maxQvonPmax;
|
|
1364
2095
|
cimModel.addCurveData(curveData2);
|
|
1365
2096
|
cimModel.addReactiveCapabilityCurve(reactiveCapabilityCurve);
|
|
1366
2097
|
synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
|
|
@@ -1368,7 +2099,7 @@ class ConverterI7 {
|
|
|
1368
2099
|
let regulatingControl = undefined;
|
|
1369
2100
|
switch (i7Data.spannungsgeregelt) {
|
|
1370
2101
|
case 1: {
|
|
1371
|
-
regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(),
|
|
2102
|
+
regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), util_create_1.createNotation(['GEN'], 32, true));
|
|
1372
2103
|
regulatingControl.targetValue = usoll;
|
|
1373
2104
|
regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
|
|
1374
2105
|
regulatingControl.discrete = false;
|
|
@@ -1384,23 +2115,23 @@ class ConverterI7 {
|
|
|
1384
2115
|
}
|
|
1385
2116
|
}
|
|
1386
2117
|
let generatingUnit;
|
|
1387
|
-
if (
|
|
2118
|
+
if (synchronousMachine.type !== SynchronousMachineKind_1.SynchronousMachineKind.condenser) {
|
|
1388
2119
|
const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
|
|
1389
2120
|
if (generatingUnitConfig) {
|
|
1390
2121
|
switch (generatingUnitConfig.class) {
|
|
1391
2122
|
case 'ThermalGeneratingUnit': {
|
|
1392
|
-
generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2123
|
+
generatingUnit = new ThermalGeneratingUnit_1.ThermalGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_TGU']), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1393
2124
|
if (generatingUnitConfig.fuelType) {
|
|
1394
2125
|
utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, cimModel);
|
|
1395
2126
|
}
|
|
1396
2127
|
break;
|
|
1397
2128
|
}
|
|
1398
2129
|
case 'SolarGeneratingUnit': {
|
|
1399
|
-
generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2130
|
+
generatingUnit = new SolarGeneratingUnit_1.SolarGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_SGU']), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1400
2131
|
break;
|
|
1401
2132
|
}
|
|
1402
2133
|
case 'WindGeneratingUnit': {
|
|
1403
|
-
generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2134
|
+
generatingUnit = new WindGeneratingUnit_1.WindGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_WGU']), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1404
2135
|
switch (generatingUnitConfig.fuelType) {
|
|
1405
2136
|
case 'onshore': {
|
|
1406
2137
|
generatingUnit.windGenUnitType = WindGenUnitKind_1.WindGenUnitKind.onshore;
|
|
@@ -1418,26 +2149,26 @@ class ConverterI7 {
|
|
|
1418
2149
|
break;
|
|
1419
2150
|
}
|
|
1420
2151
|
case 'NuclearGeneratingUnit': {
|
|
1421
|
-
generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2152
|
+
generatingUnit = new NuclearGeneratingUnit_1.NuclearGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_NGU']), i7Data.kurzname);
|
|
1422
2153
|
break;
|
|
1423
2154
|
}
|
|
1424
2155
|
case 'HydroGeneratingUnit': {
|
|
1425
|
-
generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2156
|
+
generatingUnit = new HydroGeneratingUnit_1.HydroGeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_HGU']), i7Data.kurzname);
|
|
1426
2157
|
generatingUnit.energyConversionCapability = HydroEnergyConversionKind_1.HydroEnergyConversionKind.pumpAndGenerator;
|
|
1427
2158
|
break;
|
|
1428
2159
|
}
|
|
1429
2160
|
default: {
|
|
1430
|
-
generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2161
|
+
generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_GU']), i7Data.kurzname);
|
|
1431
2162
|
break;
|
|
1432
2163
|
}
|
|
1433
2164
|
}
|
|
1434
2165
|
}
|
|
1435
2166
|
else {
|
|
1436
|
-
generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner,
|
|
2167
|
+
generatingUnit = new GeneratingUnit_1.GeneratingUnit(utils_1.getUUID(''), util_create_1.createNotation([i7Data.bezeichner, '_GU']), i7Data.kurzname);
|
|
1437
2168
|
}
|
|
1438
2169
|
generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
|
|
1439
|
-
generatingUnit.maxOperatingP =
|
|
1440
|
-
generatingUnit.minOperatingP =
|
|
2170
|
+
generatingUnit.maxOperatingP = maxP;
|
|
2171
|
+
generatingUnit.minOperatingP = minP;
|
|
1441
2172
|
generatingUnit.nominalP = utils_2.isNumericI7(cosphir) && utils_2.isNumericI7(sr) ? cosphir * sr : generatingUnit.maxOperatingP;
|
|
1442
2173
|
const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
|
|
1443
2174
|
const fn = 50;
|
|
@@ -1460,6 +2191,10 @@ class ConverterI7 {
|
|
|
1460
2191
|
smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? utils_2.convertToNumberI7(i7Data.xqu2s) : undefined;
|
|
1461
2192
|
smtcr.synchronousMachine = synchronousMachine;
|
|
1462
2193
|
synchronousMachine.synchronousMachineDynamics = smtcr;
|
|
2194
|
+
if (mf) {
|
|
2195
|
+
cimModel.addMultiplierFactor(mf);
|
|
2196
|
+
synchronousMachine.multiplierFactorUUID = mf.getUUID();
|
|
2197
|
+
}
|
|
1463
2198
|
cimModel.addGeneratingUnit(generatingUnit);
|
|
1464
2199
|
cimModel.addSynchronousMachine(synchronousMachine);
|
|
1465
2200
|
cimModel.addSynchronousMachineTimeConstantReactance(smtcr);
|
|
@@ -1474,12 +2209,13 @@ class ConverterI7 {
|
|
|
1474
2209
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ASYNCHRONMOTOR, 0, 0, knotenSfIDs));
|
|
1475
2210
|
for (const i7Data of result) {
|
|
1476
2211
|
const assetType = this.asynchronmotorTypen.get(i7Data.nametyp);
|
|
1477
|
-
const asynchronousMachine = new INTEGRALAsynchronousMachine_1.INTEGRALAsynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2212
|
+
const asynchronousMachine = new INTEGRALAsynchronousMachine_1.INTEGRALAsynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_AM']), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
|
|
1478
2213
|
let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1479
2214
|
if (mf) {
|
|
1480
2215
|
cimModel.addMultiplierFactor(mf);
|
|
1481
2216
|
asynchronousMachine.multiplierFactorUUID = mf.getUUID();
|
|
1482
2217
|
}
|
|
2218
|
+
asynchronousMachine.asynchronousMachineType = AsynchronousMachineKind_1.AsynchronousMachineKind.motor;
|
|
1483
2219
|
asynchronousMachine.efficiency = i7Data.wirkungsgrad * 100;
|
|
1484
2220
|
asynchronousMachine.iaIrRatio = utils_2.isNumericI7(i7Data.ilr_ir) ? i7Data.ilr_ir : assetType === null || assetType === void 0 ? void 0 : assetType.ilr_ir;
|
|
1485
2221
|
asynchronousMachine.polePairNumber = utils_2.isNumericI7(i7Data.polpaarz) ? i7Data.polpaarz : assetType === null || assetType === void 0 ? void 0 : assetType.polpaarz;
|
|
@@ -1487,12 +2223,13 @@ class ConverterI7 {
|
|
|
1487
2223
|
asynchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cos_phir) ? i7Data.cos_phir : assetType === null || assetType === void 0 ? void 0 : assetType.cosphir;
|
|
1488
2224
|
asynchronousMachine.ratedS = utils_2.isNumericI7(i7Data.sr) ? i7Data.sr : assetType === null || assetType === void 0 ? void 0 : assetType.sr;
|
|
1489
2225
|
asynchronousMachine.ratedU = utils_2.isNumericI7(i7Data.ur) ? i7Data.ur : assetType === null || assetType === void 0 ? void 0 : assetType.ur;
|
|
1490
|
-
const
|
|
1491
|
-
const
|
|
1492
|
-
const
|
|
1493
|
-
asynchronousMachine.setActivePower(
|
|
1494
|
-
|
|
1495
|
-
asynchronousMachine.
|
|
2226
|
+
const powerData = utils_2.getActiveReactivePower(i7Data, mf);
|
|
2227
|
+
const p = powerData[0];
|
|
2228
|
+
const q = powerData[1];
|
|
2229
|
+
asynchronousMachine.setActivePower(p * -1);
|
|
2230
|
+
asynchronousMachine.setReactivePower(q * -1);
|
|
2231
|
+
asynchronousMachine.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
|
|
2232
|
+
asynchronousMachine.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
|
|
1496
2233
|
asynchronousMachine.controlEnabled = false;
|
|
1497
2234
|
const inBetrieb = utils_2.isBooleanI7(i7Data.betrieb) ? utils_2.convertToBooleanI7(i7Data.betrieb) : true;
|
|
1498
2235
|
asynchronousMachine.normallyInService = inBetrieb;
|
|
@@ -1525,7 +2262,7 @@ class ConverterI7 {
|
|
|
1525
2262
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
|
|
1526
2263
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KWBLOCK, knotenSfIDs));
|
|
1527
2264
|
for (const i7Data of result) {
|
|
1528
|
-
const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2265
|
+
const synchronousMachine = new INTEGRALSynchronousMachine_1.INTEGRALSynchronousMachine(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SM']), i7Data.kurzname);
|
|
1529
2266
|
let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
1530
2267
|
if (mf) {
|
|
1531
2268
|
cimModel.addMultiplierFactor(mf);
|
|
@@ -1620,7 +2357,7 @@ class ConverterI7 {
|
|
|
1620
2357
|
convertErsatzQuerZweige2ExternalNetworkInjection(cimModel, result) {
|
|
1621
2358
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1622
2359
|
for (const i7Data of result) {
|
|
1623
|
-
const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2360
|
+
const externalNetworkInjection = new ExternalNetworkInjection_1.ExternalNetworkInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_ENI']), i7Data.kurzname);
|
|
1624
2361
|
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
|
|
1625
2362
|
const governorscd = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
|
|
1626
2363
|
externalNetworkInjection.governorSCD = governorscd;
|
|
@@ -1644,18 +2381,20 @@ class ConverterI7 {
|
|
|
1644
2381
|
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
|
|
1645
2382
|
const r_ext = utils_2.isNumericI7(i7Data.r_ext) ? utils_2.convertToNumberI7(i7Data.r_ext) : undefined;
|
|
1646
2383
|
const x_ext = utils_2.isNumericI7(i7Data.x_ext) ? utils_2.convertToNumberI7(i7Data.x_ext) : undefined;
|
|
1647
|
-
const equivalentInjection = new
|
|
2384
|
+
const equivalentInjection = new INTEGRALEquivalentInjection_1.INTEGRALEquivalentInjection(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_EI']), i7Data.kurzname);
|
|
1648
2385
|
equivalentInjection.normallyInService = inBetrieb;
|
|
1649
2386
|
if (flag_lfl && usoll && (r_ext || x_ext)) {
|
|
1650
2387
|
equivalentInjection.regulationCapability = true;
|
|
1651
2388
|
equivalentInjection.regulationStatus = true;
|
|
1652
2389
|
equivalentInjection.regulationTarget = usoll;
|
|
1653
|
-
equivalentInjection.
|
|
1654
|
-
equivalentInjection.
|
|
1655
|
-
equivalentInjection.
|
|
1656
|
-
equivalentInjection.
|
|
1657
|
-
equivalentInjection.
|
|
1658
|
-
equivalentInjection.
|
|
2390
|
+
equivalentInjection.rExt = r_ext;
|
|
2391
|
+
equivalentInjection.r = 1e9;
|
|
2392
|
+
equivalentInjection.r0 = 1e9;
|
|
2393
|
+
equivalentInjection.r2 = 1e9;
|
|
2394
|
+
equivalentInjection.xExt = x_ext;
|
|
2395
|
+
equivalentInjection.x = 1e9;
|
|
2396
|
+
equivalentInjection.x0 = 1e9;
|
|
2397
|
+
equivalentInjection.x2 = 1e9;
|
|
1659
2398
|
}
|
|
1660
2399
|
equivalentInjection.aggregate = true;
|
|
1661
2400
|
this.setTopologyEnergySourceConsumerObject(cimModel, equivalentInjection, i7Data);
|
|
@@ -1726,8 +2465,7 @@ class ConverterI7 {
|
|
|
1726
2465
|
convertErsatzLaengszweige(frame, integral7, defaultValuesConfig) {
|
|
1727
2466
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1728
2467
|
const cimModel = frame.cimModel;
|
|
1729
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) && integral7.ersatzZweigAnschlussKnotenIDs.length) {
|
|
1730
|
-
integral_sql_1.I7Objects.ERSATZLAENGSZWEIGDIFF;
|
|
2468
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) && integral7.ersatzZweigAnschlussKnotenIDs.length > 0) {
|
|
1731
2469
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, integral7.ersatzZweigAnschlussKnotenIDs));
|
|
1732
2470
|
for (const i7Data of result) {
|
|
1733
2471
|
const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
|
|
@@ -1738,7 +2476,8 @@ class ConverterI7 {
|
|
|
1738
2476
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
|
|
1739
2477
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
1740
2478
|
utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
|
|
1741
|
-
const
|
|
2479
|
+
const rdfid = utils_1.getUUID(i7Data.guid);
|
|
2480
|
+
const equivalentBranch = new EquivalentBranch_1.EquivalentBranch(rdfid, util_create_1.createNotation([i7Data.bezeichner, '_', rdfid.substring(0, 8), '_EB'], 32, true), i7Data.kurzname, i7Schluessel);
|
|
1742
2481
|
const ur1 = utils_2.getU(i7Data.ur1, defaultValuesConfig.DefaultVoltage);
|
|
1743
2482
|
const ur2 = utils_2.getU(i7Data.ur2, defaultValuesConfig.DefaultVoltage);
|
|
1744
2483
|
const baseVoltageUr1 = util_create_1.createBaseVoltageIfNotExists(cimModel, ur1, this.exportFramesBoundary);
|
|
@@ -1752,6 +2491,7 @@ class ConverterI7 {
|
|
|
1752
2491
|
this.createBoundaryConnection(frame, equivalentBranch, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
1753
2492
|
this.createBoundaryConnection(frame, equivalentBranch, i7Data.eknoten, PhaseCode_1.PhaseCode.ABC);
|
|
1754
2493
|
cimModel.addEquivalentBranch(equivalentBranch);
|
|
2494
|
+
this.checkErsatzZweigID(i7Data.id, integral7);
|
|
1755
2495
|
this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
|
|
1756
2496
|
}
|
|
1757
2497
|
}
|
|
@@ -1765,7 +2505,7 @@ class ConverterI7 {
|
|
|
1765
2505
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
|
|
1766
2506
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, knotenSfIDs));
|
|
1767
2507
|
for (const i7Data of result) {
|
|
1768
|
-
const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2508
|
+
const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
|
|
1769
2509
|
shunt.normalSections = i7Data.aktstufe;
|
|
1770
2510
|
shunt.maximumSections = i7Data.maxstufe;
|
|
1771
2511
|
shunt.nomU = i7Data.ur;
|
|
@@ -1773,9 +2513,9 @@ class ConverterI7 {
|
|
|
1773
2513
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1774
2514
|
const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
|
|
1775
2515
|
const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
|
|
1776
|
-
let regulatingControl;
|
|
2516
|
+
let regulatingControl = undefined;
|
|
1777
2517
|
if (spannungsregelungLokal || spannungsregelungRemote) {
|
|
1778
|
-
regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(),
|
|
2518
|
+
regulatingControl = new RegulatingControl_1.RegulatingControl(utils_1.generateUUID(), util_create_1.createNotation(['LSC']));
|
|
1779
2519
|
regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
|
|
1780
2520
|
regulatingControl.discrete = true;
|
|
1781
2521
|
regulatingControl.targetDeadband = i7Data.uband;
|
|
@@ -1799,7 +2539,7 @@ class ConverterI7 {
|
|
|
1799
2539
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
|
|
1800
2540
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, knotenSfIDs));
|
|
1801
2541
|
for (const i7Data of result) {
|
|
1802
|
-
const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2542
|
+
const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_LSC']), i7Data.kurzname);
|
|
1803
2543
|
shunt.normalSections = i7Data.aktstufe;
|
|
1804
2544
|
shunt.maximumSections = i7Data.maxstufe;
|
|
1805
2545
|
shunt.nomU = i7Data.ur;
|
|
@@ -1833,7 +2573,7 @@ class ConverterI7 {
|
|
|
1833
2573
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
|
|
1834
2574
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.STATCOM, knotenSfIDs));
|
|
1835
2575
|
for (const i7Data of result) {
|
|
1836
|
-
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2576
|
+
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
|
|
1837
2577
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1838
2578
|
const regulatingControl = utils_2.createRegulatingControl(`RC_Statcom_${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
|
|
1839
2579
|
this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
|
|
@@ -1873,7 +2613,7 @@ class ConverterI7 {
|
|
|
1873
2613
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
|
|
1874
2614
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.SVC, knotenSfIDs));
|
|
1875
2615
|
for (const i7Data of result) {
|
|
1876
|
-
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2616
|
+
const statVarCom = new StaticVarCompensator_1.StaticVarCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SVC']), i7Data.kurzname);
|
|
1877
2617
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1878
2618
|
const regulatingControl = utils_2.createRegulatingControl(`RC_SVC ${i7Data.id}`, inBetrieb, UnitMultiplier_1.UnitMultiplier.k, RegulatingControlModeKind_1.RegulatingControlModeKind.voltage, cimModel, statVarCom);
|
|
1879
2619
|
this.setTopologyEnergySourceConsumerObject(cimModel, statVarCom, i7Data, regulatingControl);
|
|
@@ -1913,7 +2653,7 @@ class ConverterI7 {
|
|
|
1913
2653
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
|
|
1914
2654
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, knotenSfIDs));
|
|
1915
2655
|
for (const i7Data of result) {
|
|
1916
|
-
const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2656
|
+
const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
|
|
1917
2657
|
const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1918
2658
|
if (acConnectivityNode) {
|
|
1919
2659
|
const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
|
|
@@ -1927,7 +2667,7 @@ class ConverterI7 {
|
|
|
1927
2667
|
else {
|
|
1928
2668
|
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1929
2669
|
}
|
|
1930
|
-
const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2670
|
+
const csConverter = new CsConverter_1.CsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_CSC']), i7Data.kurzname);
|
|
1931
2671
|
csConverter.equipmentContainer = dcConverterUnit;
|
|
1932
2672
|
csConverter.baseS = i7Data.pr;
|
|
1933
2673
|
csConverter.ratedUdc = i7Data.ur;
|
|
@@ -1956,10 +2696,10 @@ class ConverterI7 {
|
|
|
1956
2696
|
else {
|
|
1957
2697
|
this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
|
|
1958
2698
|
}
|
|
1959
|
-
const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2699
|
+
const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCN']));
|
|
1960
2700
|
dcNode.dcEquipmentContainer = dcConverterUnit;
|
|
1961
2701
|
dcConverterUnit.dCNodes.set(dcNode.getUUID(), dcNode);
|
|
1962
|
-
const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2702
|
+
const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_ACDCC-DCT']));
|
|
1963
2703
|
acDCConverterDCTerminal.dCConductingEquipment = csConverter;
|
|
1964
2704
|
csConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
1965
2705
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
@@ -1975,11 +2715,12 @@ class ConverterI7 {
|
|
|
1975
2715
|
});
|
|
1976
2716
|
}
|
|
1977
2717
|
convertVsConverterDC(cimModel, integral7, knotenSfIDs) {
|
|
2718
|
+
var _a;
|
|
1978
2719
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1979
2720
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
|
|
1980
2721
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, knotenSfIDs));
|
|
1981
2722
|
for (const i7Data of result) {
|
|
1982
|
-
const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2723
|
+
const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCCU']));
|
|
1983
2724
|
const acConnectivityNode = cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1984
2725
|
if (acConnectivityNode) {
|
|
1985
2726
|
const equipmentContainer = this.determineEquipmentContainer('Substation', cimModel, acConnectivityNode.connectivityNodeContainer);
|
|
@@ -1993,7 +2734,7 @@ class ConverterI7 {
|
|
|
1993
2734
|
else {
|
|
1994
2735
|
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1995
2736
|
}
|
|
1996
|
-
const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2737
|
+
const vsConverter = new VsConverter_1.VsConverter(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_VSC']), i7Data.kurzname);
|
|
1997
2738
|
vsConverter.equipmentContainer = dcConverterUnit;
|
|
1998
2739
|
vsConverter.baseS = i7Data.pr;
|
|
1999
2740
|
utils_2.isNumericI7(i7Data.udc) ? vsConverter.ratedUdc = i7Data.udc : vsConverter.ratedUdc = i7Data.ur;
|
|
@@ -2017,6 +2758,13 @@ class ConverterI7 {
|
|
|
2017
2758
|
vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
|
|
2018
2759
|
vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
|
|
2019
2760
|
}
|
|
2761
|
+
vsConverter.droop = 0;
|
|
2762
|
+
vsConverter.droopCompensation = 0;
|
|
2763
|
+
vsConverter.qShare = 0;
|
|
2764
|
+
vsConverter.targetQpcc = 0;
|
|
2765
|
+
vsConverter.targetUpcc = (_a = acConnectivityNode === null || acConnectivityNode === void 0 ? void 0 : acConnectivityNode.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getBaseVoltageAsNumber();
|
|
2766
|
+
vsConverter.targetPpcc = vsConverter.baseS;
|
|
2767
|
+
vsConverter.targetUdc = vsConverter.ratedUdc;
|
|
2020
2768
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
2021
2769
|
vsConverter.normallyInService = inBetrieb;
|
|
2022
2770
|
if (acConnectivityNode) {
|
|
@@ -2025,9 +2773,9 @@ class ConverterI7 {
|
|
|
2025
2773
|
else {
|
|
2026
2774
|
this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
|
|
2027
2775
|
}
|
|
2028
|
-
const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2776
|
+
const dcNode = new DCNode_1.DCNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCN']));
|
|
2029
2777
|
dcNode.dcEquipmentContainer = dcConverterUnit;
|
|
2030
|
-
const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2778
|
+
const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_ACDCC-DCT']));
|
|
2031
2779
|
acDCConverterDCTerminal.dCConductingEquipmentUUID = vsConverter.mrid;
|
|
2032
2780
|
acDCConverterDCTerminal.dcNode = dcNode;
|
|
2033
2781
|
vsConverter.dCTerminals.set(acDCConverterDCTerminal.getUUID(), acDCConverterDCTerminal);
|
|
@@ -2047,7 +2795,8 @@ class ConverterI7 {
|
|
|
2047
2795
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2048
2796
|
for (const i7Data of result) {
|
|
2049
2797
|
try {
|
|
2050
|
-
const
|
|
2798
|
+
const rdfid = utils_1.getUUID(i7Data.guid);
|
|
2799
|
+
const energySource = new EnergySource_1.EnergySource(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), rdfid.substring(0, 8), '_ES'], 32, true), i7Data.kurzname);
|
|
2051
2800
|
this.setTopologyEnergySourceConsumerObject(cimModel, energySource, i7Data);
|
|
2052
2801
|
energySource.nominalVoltage = (_c = (_b = (_a = energySource.equipmentContainer) === null || _a === void 0 ? void 0 : _a.baseVoltage) === null || _b === void 0 ? void 0 : _b.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value;
|
|
2053
2802
|
const prio = i7Data.einspprio;
|
|
@@ -2069,7 +2818,8 @@ class ConverterI7 {
|
|
|
2069
2818
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2070
2819
|
for (const i7Data of result) {
|
|
2071
2820
|
try {
|
|
2072
|
-
const
|
|
2821
|
+
const rdfid = utils_1.getUUID(i7Data.guid);
|
|
2822
|
+
const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(rdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', rdfid.substring(0, 8), '_EI'], 32, true), i7Data.kurzname);
|
|
2073
2823
|
const prio = i7Data.einspprio;
|
|
2074
2824
|
const usoll = i7Data.usoll;
|
|
2075
2825
|
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
@@ -2089,31 +2839,49 @@ class ConverterI7 {
|
|
|
2089
2839
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2090
2840
|
for (const i7Data of result) {
|
|
2091
2841
|
try {
|
|
2092
|
-
const
|
|
2842
|
+
const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
2843
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
2844
|
+
const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_' + cimrdfid, '_ENI'], 32, true), i7Data.kurzname);
|
|
2845
|
+
const un = cn.getVoltageLevel().getBaseVoltageAsNumber();
|
|
2846
|
+
externalNetworkInjection.nameprimaertyp = i7Data.nameprimaertyp;
|
|
2093
2847
|
let mf = undefined;
|
|
2094
2848
|
mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(i7Data.multfaktor));
|
|
2095
2849
|
if (mf) {
|
|
2096
2850
|
cimModel.addMultiplierFactor(mf);
|
|
2097
2851
|
externalNetworkInjection.multiplierFactorUUID = mf.getUUID();
|
|
2098
2852
|
}
|
|
2099
|
-
const governorscd = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
|
|
2100
|
-
externalNetworkInjection.governorSCD = governorscd;
|
|
2101
2853
|
const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
|
|
2102
2854
|
externalNetworkInjection.maxP = maxP;
|
|
2855
|
+
const governorscd = utils_2.isNumericI7(i7Data.kr) && maxP ? utils_2.calculateSigma(50, externalNetworkInjection.maxP, utils_2.convertToNumberI7(i7Data.kr)) : undefined;
|
|
2856
|
+
externalNetworkInjection.governorSCD = governorscd;
|
|
2103
2857
|
const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
|
|
2104
2858
|
externalNetworkInjection.maxQ = maxQ;
|
|
2105
2859
|
const minP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
|
|
2106
2860
|
externalNetworkInjection.minP = minP;
|
|
2107
2861
|
const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
|
|
2108
2862
|
externalNetworkInjection.minQ = minQ;
|
|
2109
|
-
const
|
|
2863
|
+
const r0X0 = utils_2.isNumericI7(i7Data.x0_r0) ? 1 / utils_2.convertToNumberI7(i7Data.x0_r0) : undefined;
|
|
2864
|
+
const r1X1 = utils_2.isNumericI7(i7Data.x1_r1) ? 1 / utils_2.convertToNumberI7(i7Data.x1_r1) : undefined;
|
|
2865
|
+
const z0Z1 = utils_2.isNumericI7(i7Data.z0_z1) ? utils_2.convertToNumberI7(i7Data.z0_z1) : undefined;
|
|
2866
|
+
const maxR0X0Ratio = utils_2.isNumericI7(i7Data.x0_r0_max) ? 1 / utils_2.convertToNumberI7(i7Data.x0_r0_max) : r0X0;
|
|
2110
2867
|
externalNetworkInjection.maxR0ToX0Ratio = maxR0X0Ratio;
|
|
2111
|
-
const maxR1X1Ratio =
|
|
2868
|
+
const maxR1X1Ratio = utils_2.isNumericI7(i7Data.x1_r1_max) ? 1 / utils_2.convertToNumberI7(i7Data.x1_r1_max) : r1X1;
|
|
2112
2869
|
externalNetworkInjection.maxR1ToX1Ratio = maxR1X1Ratio;
|
|
2113
|
-
const maxZ0Z1Ratio =
|
|
2870
|
+
const maxZ0Z1Ratio = utils_2.isNumericI7(i7Data.z0_z1_max) ? utils_2.convertToNumberI7(i7Data.z0_z1_max) : z0Z1;
|
|
2114
2871
|
externalNetworkInjection.maxZ0ToZ1Ratio = maxZ0Z1Ratio;
|
|
2115
|
-
const
|
|
2872
|
+
const minR0X0Ratio = utils_2.isNumericI7(i7Data.x0_r0_min) ? 1 / utils_2.convertToNumberI7(i7Data.x0_r0_min) : r0X0;
|
|
2873
|
+
externalNetworkInjection.minR0ToX0Ratio = minR0X0Ratio;
|
|
2874
|
+
const minR1X1Ratio = utils_2.isNumericI7(i7Data.x1_r1_min) ? utils_2.convertToNumberI7(i7Data.x1_r1_min) : r1X1;
|
|
2875
|
+
externalNetworkInjection.minR1ToX1Ratio = minR1X1Ratio;
|
|
2876
|
+
const minZ0Z1Ratio = utils_2.isNumericI7(i7Data.z0_z1_min) ? utils_2.convertToNumberI7(i7Data.z0_z1_min) : z0Z1;
|
|
2877
|
+
externalNetworkInjection.minZ0ToZ1Ratio = minZ0Z1Ratio;
|
|
2878
|
+
const skAkt = utils_2.isNumericI7(i7Data.sk_akt) ? utils_2.convertToNumberI7(i7Data.sk_akt) : undefined;
|
|
2879
|
+
const skMin = utils_2.isNumericI7(i7Data.sk_min) ? utils_2.convertToNumberI7(i7Data.sk_min) : skAkt;
|
|
2880
|
+
const skMax = utils_2.isNumericI7(i7Data.sk_max) ? utils_2.convertToNumberI7(i7Data.sk_max) : skAkt;
|
|
2881
|
+
const minIkSecond = utils_2.isNumericI7(i7Data.sk_min) ? utils_2.convertToNumberI7(skMin) / Math.sqrt(3) * skMin : undefined;
|
|
2116
2882
|
externalNetworkInjection.minInitialSymShCCurrent = minIkSecond;
|
|
2883
|
+
const maxIkSecond = utils_2.isNumericI7(i7Data.sk_max) ? utils_2.convertToNumberI7(skMax) / Math.sqrt(3) * skMax : undefined;
|
|
2884
|
+
externalNetworkInjection.maxInitialSymShCCurrent = maxIkSecond;
|
|
2117
2885
|
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
|
|
2118
2886
|
const inBetrieb = utils_2.isBooleanI7(i7Data.betrieb) ? utils_2.convertToBooleanI7(i7Data.betrieb) : false;
|
|
2119
2887
|
let regulatingControl = undefined;
|
|
@@ -2136,14 +2904,22 @@ class ConverterI7 {
|
|
|
2136
2904
|
}
|
|
2137
2905
|
}
|
|
2138
2906
|
this.setTopologyEnergySourceConsumerObject(cimModel, externalNetworkInjection, i7Data, regulatingControl);
|
|
2139
|
-
|
|
2140
|
-
externalNetworkInjection.referencePriority = prio;
|
|
2907
|
+
let prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
|
|
2141
2908
|
if ((regulatingControl === null || regulatingControl === void 0 ? void 0 : regulatingControl.mode) === RegulatingControlModeKind_1.RegulatingControlModeKind.voltage) {
|
|
2142
|
-
|
|
2909
|
+
if (prio && prio > 0) {
|
|
2910
|
+
externalNetworkInjection.referencePriority = prio + 1;
|
|
2911
|
+
}
|
|
2912
|
+
else {
|
|
2913
|
+
prio = undefined;
|
|
2914
|
+
}
|
|
2143
2915
|
}
|
|
2144
|
-
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
2145
|
-
|
|
2146
|
-
|
|
2916
|
+
const powerData = utils_2.getActiveReactivePower(i7Data, mf);
|
|
2917
|
+
const p = powerData[0];
|
|
2918
|
+
const q = powerData[1];
|
|
2919
|
+
externalNetworkInjection.setActivePower(p * -1);
|
|
2920
|
+
externalNetworkInjection.setReactivePower(q * -1);
|
|
2921
|
+
externalNetworkInjection.p_mf = powerData[2] ? powerData[2] * -1 : undefined;
|
|
2922
|
+
externalNetworkInjection.q_mf = powerData[3] ? powerData[3] * -1 : undefined;
|
|
2147
2923
|
cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
2148
2924
|
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
|
|
2149
2925
|
}
|
|
@@ -2154,14 +2930,16 @@ class ConverterI7 {
|
|
|
2154
2930
|
});
|
|
2155
2931
|
}
|
|
2156
2932
|
setTopologyEnergySourceConsumerObject(cimModel, condEquip, i7Data, regulatingControl, generatingUnit) {
|
|
2157
|
-
var _a, _b;
|
|
2933
|
+
var _a, _b, _c;
|
|
2158
2934
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
2159
2935
|
condEquip.normallyInService = inBetrieb;
|
|
2160
2936
|
const connectivityNode = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
2161
2937
|
if (connectivityNode) {
|
|
2162
2938
|
const terminal = this.createConnection(cimModel, condEquip, connectivityNode, PhaseCode_1.PhaseCode.ABC, true);
|
|
2163
|
-
if (regulatingControl)
|
|
2939
|
+
if (regulatingControl) {
|
|
2940
|
+
regulatingControl.name = util_create_1.createNotation([regulatingControl.name, '_', (_a = connectivityNode.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getUUID().substring(0, 8), '_RC'], 32, true);
|
|
2164
2941
|
regulatingControl.terminal = terminal;
|
|
2942
|
+
}
|
|
2165
2943
|
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, connectivityNode.connectivityNodeContainer);
|
|
2166
2944
|
if (equipmentContainer) {
|
|
2167
2945
|
condEquip.equipmentContainer = equipmentContainer;
|
|
@@ -2190,11 +2968,11 @@ class ConverterI7 {
|
|
|
2190
2968
|
}
|
|
2191
2969
|
}
|
|
2192
2970
|
else {
|
|
2193
|
-
this.logger.error(`${(
|
|
2971
|
+
this.logger.error(`${(_b = condEquip === null || condEquip === void 0 ? void 0 : condEquip.constructor) === null || _b === void 0 ? void 0 : _b.name} ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
2194
2972
|
}
|
|
2195
2973
|
}
|
|
2196
2974
|
else {
|
|
2197
|
-
this.logger.error(`${(
|
|
2975
|
+
this.logger.error(`${(_c = condEquip === null || condEquip === void 0 ? void 0 : condEquip.constructor) === null || _c === void 0 ? void 0 : _c.name} ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
2198
2976
|
}
|
|
2199
2977
|
}
|
|
2200
2978
|
convertQuerkupplungen(cimModel, integral7, schaltanlagenAbschnittIDs) {
|
|
@@ -2202,7 +2980,8 @@ class ConverterI7 {
|
|
|
2202
2980
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.QUERKUPPLUNG)) {
|
|
2203
2981
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.QUERKUPPLUNG, schaltanlagenAbschnittIDs));
|
|
2204
2982
|
for (const i7Data of result) {
|
|
2205
|
-
const
|
|
2983
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
2984
|
+
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), 'Querkupplung');
|
|
2206
2985
|
bay.number = utils_2.isNumericI7(i7Data.feldnummer) ? utils_2.convertToNumberI7(i7Data.feldnummer).toString() : undefined;
|
|
2207
2986
|
bay.locationID = i7Data.ips_folder_id;
|
|
2208
2987
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
|
|
@@ -2232,7 +3011,8 @@ class ConverterI7 {
|
|
|
2232
3011
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
|
|
2233
3012
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
|
|
2234
3013
|
for (const i7Data of result) {
|
|
2235
|
-
const
|
|
3014
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
3015
|
+
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
|
|
2236
3016
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
|
|
2237
3017
|
bay.number = utils_2.isNumericI7(i7Data.feldnummer) ? utils_2.convertToNumberI7(i7Data.feldnummer).toString() : undefined;
|
|
2238
3018
|
bay.locationID = i7Data.ips_folder_id;
|
|
@@ -2264,7 +3044,7 @@ class ConverterI7 {
|
|
|
2264
3044
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
|
|
2265
3045
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.KNOTEN_STARR, containerIDs));
|
|
2266
3046
|
for (const i7Data of result) {
|
|
2267
|
-
const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3047
|
+
const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']), 'Breaker', 'starre Verbindung');
|
|
2268
3048
|
yield this.convertSwitch(breaker, cimModel, i7Data);
|
|
2269
3049
|
cimModel.addBreaker(breaker);
|
|
2270
3050
|
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
@@ -2280,7 +3060,7 @@ class ConverterI7 {
|
|
|
2280
3060
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
|
|
2281
3061
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNERFI_3P, containerIDs));
|
|
2282
3062
|
for (const i7Data of result) {
|
|
2283
|
-
const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3063
|
+
const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
|
|
2284
3064
|
yield this.convertSwitch(disconnector, cimModel, i7Data);
|
|
2285
3065
|
cimModel.addDisconnector(disconnector);
|
|
2286
3066
|
this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
|
|
@@ -2296,7 +3076,7 @@ class ConverterI7 {
|
|
|
2296
3076
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
|
|
2297
3077
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.TRENNER_3P, containerIDs));
|
|
2298
3078
|
for (const i7Data of result) {
|
|
2299
|
-
const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3079
|
+
const disconnector = new Disconnector_1.Disconnector(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_D']));
|
|
2300
3080
|
yield this.convertSwitch(disconnector, cimModel, i7Data);
|
|
2301
3081
|
cimModel.addDisconnector(disconnector);
|
|
2302
3082
|
this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
|
|
@@ -2312,7 +3092,7 @@ class ConverterI7 {
|
|
|
2312
3092
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
|
|
2313
3093
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, containerIDs));
|
|
2314
3094
|
for (const i7Data of result) {
|
|
2315
|
-
const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3095
|
+
const breaker = new Breaker_1.Breaker(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_BR']));
|
|
2316
3096
|
yield this.convertSwitch(breaker, cimModel, i7Data);
|
|
2317
3097
|
cimModel.addBreaker(breaker);
|
|
2318
3098
|
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
@@ -2360,12 +3140,13 @@ class ConverterI7 {
|
|
|
2360
3140
|
}
|
|
2361
3141
|
});
|
|
2362
3142
|
}
|
|
2363
|
-
convertLaengsdrosseln(cimModel,
|
|
3143
|
+
convertLaengsdrosseln(cimModel, integral7, defaultValuesConfig) {
|
|
3144
|
+
var _a;
|
|
2364
3145
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2365
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {
|
|
2366
|
-
const result = yield this.mysqlController.execQuery(integral_sql_1.
|
|
3146
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) && integral7.lDrosselAnschlussKnotenIDs.length) {
|
|
3147
|
+
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSDROSSEL, integral7.lDrosselAnschlussKnotenIDs));
|
|
2367
3148
|
for (const i7Data of result) {
|
|
2368
|
-
const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3149
|
+
const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname, i7Data.kommentar + '; LD-' + i7Data.bezeichner);
|
|
2369
3150
|
const start = cimModel.objects.get(this.integralID2UUID.get(i7Data.aknoten));
|
|
2370
3151
|
let startTerminal;
|
|
2371
3152
|
if (start) {
|
|
@@ -2399,7 +3180,10 @@ class ConverterI7 {
|
|
|
2399
3180
|
else {
|
|
2400
3181
|
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
2401
3182
|
}
|
|
2402
|
-
|
|
3183
|
+
if (!startTerminal.connectivityNode && terminal.connectivityNodeUUID) {
|
|
3184
|
+
startTerminal.connectivityNode = cimModel.getConnectivityNode(terminal.connectivityNodeUUID);
|
|
3185
|
+
}
|
|
3186
|
+
const vlObject = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject((_a = startTerminal.connectivityNode) === null || _a === void 0 ? void 0 : _a.getConnectivityNodeContainerUUID()));
|
|
2403
3187
|
if (vlObject) {
|
|
2404
3188
|
seriesCompensator.equipmentContainer = vlObject;
|
|
2405
3189
|
seriesCompensator.baseVoltage = baseVoltage;
|
|
@@ -2418,6 +3202,69 @@ class ConverterI7 {
|
|
|
2418
3202
|
}
|
|
2419
3203
|
});
|
|
2420
3204
|
}
|
|
3205
|
+
convertLaengskondensatoren(cimModel, integral7, defaultValuesConfig) {
|
|
3206
|
+
var _a;
|
|
3207
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3208
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs.length > 0) {
|
|
3209
|
+
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
|
|
3210
|
+
for (const i7Data of result) {
|
|
3211
|
+
const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_SC']), i7Data.kurzname);
|
|
3212
|
+
const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
|
|
3213
|
+
let startTerminal;
|
|
3214
|
+
if (start) {
|
|
3215
|
+
startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
|
|
3216
|
+
}
|
|
3217
|
+
else {
|
|
3218
|
+
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
3219
|
+
}
|
|
3220
|
+
const target = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
|
|
3221
|
+
let targetTerminal;
|
|
3222
|
+
if (target) {
|
|
3223
|
+
targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
|
|
3224
|
+
}
|
|
3225
|
+
else {
|
|
3226
|
+
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
3227
|
+
}
|
|
3228
|
+
const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
|
|
3229
|
+
const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, ur, this.exportFramesBoundary);
|
|
3230
|
+
const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
|
|
3231
|
+
const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
|
|
3232
|
+
if (i > 0 && ukr > 0) {
|
|
3233
|
+
const voltage = baseVoltage.nominalVoltage.value * 1000;
|
|
3234
|
+
const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
|
|
3235
|
+
seriesCompensator.x = z;
|
|
3236
|
+
}
|
|
3237
|
+
seriesCompensator.varistorRatedCurrent = i;
|
|
3238
|
+
const terminal = startTerminal;
|
|
3239
|
+
if (terminal) {
|
|
3240
|
+
this.setConductingEquipmentCurrentLimit(cimModel, 'Rating ' + seriesCompensator.name, terminal, i);
|
|
3241
|
+
}
|
|
3242
|
+
else {
|
|
3243
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
3244
|
+
}
|
|
3245
|
+
const substationUUID = this.integralID2UUID.get(i7Data.standort);
|
|
3246
|
+
const voltageLevel = this.getVoltageLevelByVoltage((_a = (cimModel.getSubstation(substationUUID))) === null || _a === void 0 ? void 0 : _a.voltageLevels, ur);
|
|
3247
|
+
if (!voltageLevel) {
|
|
3248
|
+
this.logger.debug(`Längskondensator ${seriesCompensator === null || seriesCompensator === void 0 ? void 0 : seriesCompensator.mrid} hat kein EquipmentContainer`);
|
|
3249
|
+
}
|
|
3250
|
+
if (voltageLevel) {
|
|
3251
|
+
seriesCompensator.equipmentContainer = voltageLevel;
|
|
3252
|
+
seriesCompensator.baseVoltage = voltageLevel.baseVoltage;
|
|
3253
|
+
}
|
|
3254
|
+
else {
|
|
3255
|
+
this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
|
|
3256
|
+
}
|
|
3257
|
+
const psrType = utils_1.createIfNotExitsPSRType(cimModel, 'Längskondensator');
|
|
3258
|
+
seriesCompensator.psrType = psrType;
|
|
3259
|
+
cimModel.addSeriesCompensator(seriesCompensator);
|
|
3260
|
+
this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
|
|
3261
|
+
}
|
|
3262
|
+
}
|
|
3263
|
+
else {
|
|
3264
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
|
|
3265
|
+
}
|
|
3266
|
+
});
|
|
3267
|
+
}
|
|
2421
3268
|
convertBetriebsmitteltypenKdrossel() {
|
|
2422
3269
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2423
3270
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
|
|
@@ -2440,9 +3287,10 @@ class ConverterI7 {
|
|
|
2440
3287
|
for (const i7DataSchiene of stpSchiene) {
|
|
2441
3288
|
try {
|
|
2442
3289
|
stpSchieneIDs.push(i7DataSchiene.id);
|
|
2443
|
-
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene),
|
|
2444
|
-
const junction = new Junction_1.Junction(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene),
|
|
3290
|
+
const connectivityNode = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), '_CN']));
|
|
3291
|
+
const junction = new Junction_1.Junction(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7DataSchiene), '_J']));
|
|
2445
3292
|
const equipmentContainer = this.determineEquipmentContainer('VoltageLevel', cimModel, cimModel.getObject(this.integralID2UUID.get(i7DataSchiene.id)));
|
|
3293
|
+
connectivityNode.setConnectivityNodeContainer(equipmentContainer);
|
|
2446
3294
|
if (equipmentContainer) {
|
|
2447
3295
|
equipmentContainer.addEquipment(junction);
|
|
2448
3296
|
junction.equipmentContainer = equipmentContainer;
|
|
@@ -2484,14 +3332,14 @@ class ConverterI7 {
|
|
|
2484
3332
|
const junctionUUID = integral7.sternPunktImpModel.stpSchieneJunctionUUIDs.get((i7Data.anschluss));
|
|
2485
3333
|
let conductingEquip;
|
|
2486
3334
|
if (imax && imin) {
|
|
2487
|
-
const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3335
|
+
const petersenCoil = new PetersenCoil_1.PetersenCoil(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_PC']), i7Data.kurzname);
|
|
2488
3336
|
integral7.sternPunktImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
|
|
2489
3337
|
integral7.sternPunktImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
|
|
2490
3338
|
this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
2491
3339
|
conductingEquip = petersenCoil;
|
|
2492
3340
|
}
|
|
2493
3341
|
else {
|
|
2494
|
-
const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3342
|
+
const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), '_GI']), i7Data.kurzname);
|
|
2495
3343
|
groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
|
|
2496
3344
|
groundingImpedance.x = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (utils_2.isNumericI7(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
|
|
2497
3345
|
integral7.sternPunktImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
|
|
@@ -2559,7 +3407,8 @@ class ConverterI7 {
|
|
|
2559
3407
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
|
|
2560
3408
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKUPPLUNG, schaltanlagenIDs));
|
|
2561
3409
|
for (const i7Data of result) {
|
|
2562
|
-
const
|
|
3410
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
3411
|
+
const bay = new AMPRIONBay_1.AMPRIONBay(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_B']), i7Data.kurzname, 'Laengskupplung');
|
|
2563
3412
|
const voltageLevel = cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
|
|
2564
3413
|
bay.number = utils_2.isNumericI7(i7Data.feldnummer) ? utils_2.convertToNumberI7(i7Data.feldnummer).toString() : undefined;
|
|
2565
3414
|
bay.locationID = i7Data.ips_folder_id;
|
|
@@ -2645,9 +3494,15 @@ class ConverterI7 {
|
|
|
2645
3494
|
}
|
|
2646
3495
|
const leitungStromkreisabschnitt = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(type, leitungIDs));
|
|
2647
3496
|
for (const i7Data of result) {
|
|
3497
|
+
if (i7Data.id === 943) {
|
|
3498
|
+
let stop = true;
|
|
3499
|
+
}
|
|
2648
3500
|
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
2649
|
-
if (!(stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length))
|
|
3501
|
+
if (!((stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length) > 0))
|
|
2650
3502
|
continue;
|
|
3503
|
+
stromkreisabschnitte.sort(function (stka, stkb) {
|
|
3504
|
+
return stka['pos'] - stkb['pos'];
|
|
3505
|
+
});
|
|
2651
3506
|
const leitung = new Leitung_1.LeitungImpl(i7Data);
|
|
2652
3507
|
integral7.integralLeitungen.set(i7Data.id, leitung);
|
|
2653
3508
|
let i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
|
|
@@ -2663,7 +3518,8 @@ class ConverterI7 {
|
|
|
2663
3518
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
|
|
2664
3519
|
'-' +
|
|
2665
3520
|
utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
|
|
2666
|
-
const
|
|
3521
|
+
const uuidString = utils_1.getUUID(i7Data.guid);
|
|
3522
|
+
const line = new AMPRIONLine_1.AMPRIONLine(uuidString, util_create_1.createNotation([name, uuidString.substring(0, 8), '_L'], 32, true), i7Data.stkabname, i7Schluessel);
|
|
2667
3523
|
line.ukz = i7Data.ukz;
|
|
2668
3524
|
let acLineSegments = [];
|
|
2669
3525
|
for (const stk of stromkreisabschnitte) {
|
|
@@ -2673,7 +3529,11 @@ class ConverterI7 {
|
|
|
2673
3529
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
|
|
2674
3530
|
'-' +
|
|
2675
3531
|
utils_2.ueberpruefeZeichenkette(stk.bezeichner);
|
|
2676
|
-
|
|
3532
|
+
if (utils_1.getUUID(stk.custom_guid_0120 + stk.custom_guid_2137).toLowerCase() === '8387376e-86bf-4da0-91f2-b19a3d490715') {
|
|
3533
|
+
let stop = true;
|
|
3534
|
+
}
|
|
3535
|
+
const uuidACLineString = utils_1.getUUID(i7Data.guid);
|
|
3536
|
+
const acLineSegment = new INTEGRALACLineSegment_1.INTEGRALACLineSegment(uuidACLineString, util_create_1.createNotation([name, '_' + stk.pos.toString(), uuidACLineString, '_ACLS'], 32, true), i7Data.stkabname, i7Schluessel);
|
|
2677
3537
|
let mf = this.cimModelDefault.multiplierFactors.get(this.integralID2UUID.get(stk.multfaktor));
|
|
2678
3538
|
if (mf) {
|
|
2679
3539
|
cimModel.addMultiplierFactor(mf);
|
|
@@ -2686,12 +3546,11 @@ class ConverterI7 {
|
|
|
2686
3546
|
}
|
|
2687
3547
|
const acLineSegmentStart = acLineSegments[0];
|
|
2688
3548
|
const startTerminal = this.createBoundaryConnection(frame, acLineSegmentStart, i7Data.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
2689
|
-
let equivalentInjection = undefined;
|
|
2690
3549
|
if (startTerminal) {
|
|
2691
3550
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.aknoten));
|
|
2692
3551
|
let tmp_cn = bdf === null || bdf === void 0 ? void 0 : bdf.cimModel.getConnectivityNode(startTerminal.getConnectivityNodeUUID());
|
|
2693
3552
|
if (tmp_cn && tmp_cn.boundaryPoint) {
|
|
2694
|
-
|
|
3553
|
+
this.createBoundaryEquivalentInjection(frame, tmp_cn);
|
|
2695
3554
|
}
|
|
2696
3555
|
if (!acLineSegmentStart.baseVoltage) {
|
|
2697
3556
|
if (startTerminal.getConnectedNode())
|
|
@@ -2704,19 +3563,29 @@ class ConverterI7 {
|
|
|
2704
3563
|
else {
|
|
2705
3564
|
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
|
|
2706
3565
|
}
|
|
3566
|
+
if (acLineSegments[0].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
|
|
3567
|
+
let stop = true;
|
|
3568
|
+
}
|
|
3569
|
+
else if (acLineSegments[0].getUUID() === 'e1a65e81-1cec-4f1a-ab87-9c7b667ad64f') {
|
|
3570
|
+
let stop = true;
|
|
3571
|
+
}
|
|
3572
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentStart, stromkreisabschnitte[0], defaultValuesConfig);
|
|
2707
3573
|
cimModel.addACLineSegment(acLineSegmentStart);
|
|
2708
|
-
this.setACLineSegmentProperties(this.cimModelDefault, acLineSegments[0], stromkreisabschnitte[0], defaultValuesConfig);
|
|
2709
3574
|
const anzahl = acLineSegments.length;
|
|
2710
3575
|
let tmp_terminal = undefined;
|
|
2711
3576
|
for (let i = 0; i < anzahl - 1; i++) {
|
|
2712
|
-
const cn = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([name, "_CN"]));
|
|
2713
3577
|
const acLineSegment1 = acLineSegments[i];
|
|
3578
|
+
const cn = new ConnectivityNode_1.ConnectivityNode(utils_1.generateUUID(), util_create_1.createNotation([acLineSegment1.name, '_', acLineSegment1.getUUID().substring(0, 8), '_CN'], 32, true));
|
|
3579
|
+
cn.connectivityNodeContainer = acLineSegment1.equipmentContainer;
|
|
2714
3580
|
tmp_terminal = this.createConnection(cimModel, acLineSegment1, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
2715
3581
|
cimModel.addACLineSegment(acLineSegment1);
|
|
2716
3582
|
if (tmp_terminal) {
|
|
2717
3583
|
tmp_terminal = undefined;
|
|
2718
3584
|
}
|
|
2719
|
-
|
|
3585
|
+
if (acLineSegments[i].getUUID() === 'c6b755ed-b4fa-4649-8aa5-62ebcbd3b559') {
|
|
3586
|
+
let stop = true;
|
|
3587
|
+
}
|
|
3588
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegments[i], stromkreisabschnitte[i], defaultValuesConfig);
|
|
2720
3589
|
const acLineSegment2 = acLineSegments[i + 1];
|
|
2721
3590
|
tmp_terminal = this.createConnection(cimModel, acLineSegment2, cn, PhaseCode_1.PhaseCode.ABC, true);
|
|
2722
3591
|
cimModel.addACLineSegment(acLineSegment1);
|
|
@@ -2732,7 +3601,7 @@ class ConverterI7 {
|
|
|
2732
3601
|
let bdf = this.getConnectedBoundaryModel(this.integralID2UUID.get(i7Data.eknoten));
|
|
2733
3602
|
let tmp_cn = bdf === null || bdf === void 0 ? void 0 : bdf.cimModel.getConnectivityNode(targetTerminal.getConnectivityNodeUUID());
|
|
2734
3603
|
if (tmp_cn && 'boundaryPoint' in tmp_cn && tmp_cn.boundaryPoint) {
|
|
2735
|
-
|
|
3604
|
+
this.createBoundaryEquivalentInjection(frame, tmp_cn);
|
|
2736
3605
|
}
|
|
2737
3606
|
if (!acLineSegmentZiel.baseVoltage) {
|
|
2738
3607
|
acLineSegmentZiel.baseVoltage = (_b = targetTerminal.getConnectivityNode()) === null || _b === void 0 ? void 0 : _b.getBaseVoltage();
|
|
@@ -2744,6 +3613,7 @@ class ConverterI7 {
|
|
|
2744
3613
|
else {
|
|
2745
3614
|
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
|
|
2746
3615
|
}
|
|
3616
|
+
this.setACLineSegmentProperties(this.cimModelDefault, cimModel, acLineSegmentZiel, stromkreisabschnitte[stromkreisabschnitte.length - 1], defaultValuesConfig);
|
|
2747
3617
|
cimModel.addACLineSegment(acLineSegmentZiel);
|
|
2748
3618
|
const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
|
|
2749
3619
|
if (!stkBaseVoltage) {
|
|
@@ -2788,84 +3658,29 @@ class ConverterI7 {
|
|
|
2788
3658
|
}
|
|
2789
3659
|
});
|
|
2790
3660
|
}
|
|
2791
|
-
convertLaengskondensatoren(cimModel, integral7, defaultValuesConfig) {
|
|
2792
|
-
var _a;
|
|
2793
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2794
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) && integral7.lKondensatorAnschlussKnotenIDs) {
|
|
2795
|
-
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.LAENGSKONDENSATOR, integral7.lKondensatorAnschlussKnotenIDs));
|
|
2796
|
-
for (const i7Data of result) {
|
|
2797
|
-
const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(utils_1.getUUID(i7Data.guid), util_create_1.createNotation([utils_2.getName(i7Data), "_SC"]), i7Data.kurzname);
|
|
2798
|
-
const start = cimModel.getObject(this.integralID2UUID.get(i7Data.aknoten));
|
|
2799
|
-
let startTerminal;
|
|
2800
|
-
if (start) {
|
|
2801
|
-
startTerminal = this.createConnection(cimModel, seriesCompensator, start, PhaseCode_1.PhaseCode.ABC, true);
|
|
2802
|
-
}
|
|
2803
|
-
else {
|
|
2804
|
-
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
2805
|
-
}
|
|
2806
|
-
const target = cimModel.getObject(this.integralID2UUID.get(i7Data.eknoten));
|
|
2807
|
-
let targetTerminal;
|
|
2808
|
-
if (target) {
|
|
2809
|
-
targetTerminal = this.createConnection(cimModel, seriesCompensator, target, PhaseCode_1.PhaseCode.ABC, true);
|
|
2810
|
-
}
|
|
2811
|
-
else {
|
|
2812
|
-
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
2813
|
-
}
|
|
2814
|
-
const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
|
|
2815
|
-
const baseVoltage = util_create_1.createBaseVoltageIfNotExists(cimModel, ur, this.exportFramesBoundary);
|
|
2816
|
-
const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
|
|
2817
|
-
const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
|
|
2818
|
-
if (i > 0 && ukr > 0) {
|
|
2819
|
-
const voltage = baseVoltage.nominalVoltage.value * 1000;
|
|
2820
|
-
const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
|
|
2821
|
-
seriesCompensator.x = z;
|
|
2822
|
-
}
|
|
2823
|
-
seriesCompensator.varistorRatedCurrent = i;
|
|
2824
|
-
const terminal = startTerminal;
|
|
2825
|
-
if (terminal) {
|
|
2826
|
-
this.setConductingEquipmentCurrentLimit(cimModel, 'Rating ' + seriesCompensator.name, terminal, i);
|
|
2827
|
-
}
|
|
2828
|
-
else {
|
|
2829
|
-
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
2830
|
-
}
|
|
2831
|
-
const substationUUID = this.integralID2UUID.get(i7Data.standort);
|
|
2832
|
-
const voltageLevel = this.getVoltageLevelByVoltage((_a = (cimModel.getSubstation(substationUUID))) === null || _a === void 0 ? void 0 : _a.voltageLevels, ur);
|
|
2833
|
-
if (!voltageLevel) {
|
|
2834
|
-
this.logger.debug(`Längskondensator ${seriesCompensator === null || seriesCompensator === void 0 ? void 0 : seriesCompensator.mrid} hat kein EquipmentContainer`);
|
|
2835
|
-
}
|
|
2836
|
-
if (voltageLevel) {
|
|
2837
|
-
seriesCompensator.equipmentContainer = voltageLevel;
|
|
2838
|
-
seriesCompensator.baseVoltage = voltageLevel.baseVoltage;
|
|
2839
|
-
}
|
|
2840
|
-
else {
|
|
2841
|
-
this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
|
|
2842
|
-
}
|
|
2843
|
-
const psrType = utils_1.createIfNotExitsPSRType(cimModel, 'Längskondensator');
|
|
2844
|
-
seriesCompensator.psrType = psrType;
|
|
2845
|
-
cimModel.addSeriesCompensator(seriesCompensator);
|
|
2846
|
-
this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
|
|
2847
|
-
}
|
|
2848
|
-
}
|
|
2849
|
-
else {
|
|
2850
|
-
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
|
|
2851
|
-
}
|
|
2852
|
-
});
|
|
2853
|
-
}
|
|
2854
3661
|
convertDCLines(cimModel, integral7, defaultValuesConfig) {
|
|
2855
3662
|
var _a, _b;
|
|
2856
3663
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2857
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length) {
|
|
3664
|
+
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) && integral7.hgueAnschlussKnotenIDs.length > 0) {
|
|
2858
3665
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.HGUE_LEITUNG, integral7.hgueAnschlussKnotenIDs));
|
|
2859
3666
|
for (const i7Data of result) {
|
|
2860
|
-
|
|
3667
|
+
console.log(utils_1.getUUID(i7Data.guid_dcline));
|
|
3668
|
+
if (utils_1.getUUID(i7Data.guid_dcline) === '6a5b7e1e-f8be-4165-9752-2e2359d9b4f8') {
|
|
3669
|
+
let stop = true;
|
|
3670
|
+
}
|
|
3671
|
+
integral7.integralHgueLeitungen.set(i7Data.id, i7Data);
|
|
3672
|
+
const dcLine = new DCLine_1.DCLine(utils_1.getUUID(i7Data.guid_dcline), util_create_1.createNotation([utils_2.getName(i7Data), '_DCL']));
|
|
2861
3673
|
const i7Schluessel = integral_prefix_1.HGUELEITUNG_PRAEFIX +
|
|
2862
3674
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
2863
|
-
const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.getUUID(i7Data.guidp), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
2864
|
-
dcLineSegment.resistance = i7Data.rdc;
|
|
3675
|
+
const dcLineSegment = new DCLineSegment_1.DCLineSegment(utils_1.getUUID(i7Data.guidp), util_create_1.createNotation([utils_2.getName(i7Data), '_DCLS']), i7Data.kurzname, i7Schluessel);
|
|
3676
|
+
dcLineSegment.resistance = i7Data.rdc / 2;
|
|
2865
3677
|
dcLineSegment.equipmentContainer = dcLine;
|
|
2866
3678
|
const bipol = utils_2.convertToBooleanI7(i7Data.bipol);
|
|
2867
3679
|
const acDCConverterStart = cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
|
|
2868
3680
|
const acDCConverterTarget = cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
|
|
3681
|
+
if (acDCConverterStart === undefined || acDCConverterTarget === undefined) {
|
|
3682
|
+
continue;
|
|
3683
|
+
}
|
|
2869
3684
|
const converterUnitStart = (_a = acDCConverterStart) === null || _a === void 0 ? void 0 : _a.equipmentContainer;
|
|
2870
3685
|
const converterUnitTarget = (_b = acDCConverterTarget) === null || _b === void 0 ? void 0 : _b.equipmentContainer;
|
|
2871
3686
|
if (converterUnitStart && converterUnitTarget) {
|
|
@@ -2886,7 +3701,7 @@ class ConverterI7 {
|
|
|
2886
3701
|
}
|
|
2887
3702
|
const startDCNode = acDCConverterStart ? getDCNodeFromConverter(acDCConverterStart) : undefined;
|
|
2888
3703
|
if (startDCNode) {
|
|
2889
|
-
const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3704
|
+
const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCT']));
|
|
2890
3705
|
dcTerminal.connected = true;
|
|
2891
3706
|
dcTerminal.dCConductingEquipment = dcLineSegment;
|
|
2892
3707
|
dcTerminal.dcNode = startDCNode;
|
|
@@ -2898,7 +3713,7 @@ class ConverterI7 {
|
|
|
2898
3713
|
}
|
|
2899
3714
|
const targetDCNode = acDCConverterTarget ? getDCNodeFromConverter(acDCConverterTarget) : undefined;
|
|
2900
3715
|
if (targetDCNode) {
|
|
2901
|
-
const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data),
|
|
3716
|
+
const dcTerminal = new DCTerminal_1.DCTerminal(utils_1.generateUUID(), util_create_1.createNotation([utils_2.getName(i7Data), '_DCT']));
|
|
2902
3717
|
dcTerminal.connected = true;
|
|
2903
3718
|
dcTerminal.dCConductingEquipment = dcLineSegment;
|
|
2904
3719
|
dcTerminal.dcNode = targetDCNode;
|
|
@@ -3018,11 +3833,11 @@ class ConverterI7 {
|
|
|
3018
3833
|
const result = yield this.mysqlController.execQuery(integral_sql_1.getI7Query(integral_sql_1.I7Objects.MULTIPLIKATIONSFAKTOR, []));
|
|
3019
3834
|
for (const i7Data of result) {
|
|
3020
3835
|
const multFaktor = new INTEGRALMultiplierFactor_1.INTEGRALMultiplierFactor(utils_1.getUUID(undefined), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
|
|
3021
|
-
multFaktor.p = utils_2.isNumericI7(i7Data.p) ? utils_2.convertToNumberI7(i7Data.p) :
|
|
3022
|
-
multFaktor.qInd = utils_2.isNumericI7(i7Data.q_ind) ? utils_2.convertToNumberI7(i7Data.q_ind) :
|
|
3023
|
-
multFaktor.qKap = utils_2.isNumericI7(i7Data.q_kap) ? utils_2.convertToNumberI7(i7Data.q_kap) :
|
|
3024
|
-
multFaktor.cosPhiInd = utils_2.isNumericI7(i7Data.cos_phi_ind) ? utils_2.convertToNumberI7(i7Data.cos_phi_ind) :
|
|
3025
|
-
multFaktor.cosPhiKap = utils_2.isNumericI7(i7Data.cos_phi_kap) ? utils_2.convertToNumberI7(i7Data.cos_phi_kap) :
|
|
3836
|
+
multFaktor.p = utils_2.isNumericI7(i7Data.p) ? utils_2.convertToNumberI7(i7Data.p) : undefined;
|
|
3837
|
+
multFaktor.qInd = utils_2.isNumericI7(i7Data.q_ind) ? utils_2.convertToNumberI7(i7Data.q_ind) : undefined;
|
|
3838
|
+
multFaktor.qKap = utils_2.isNumericI7(i7Data.q_kap) ? utils_2.convertToNumberI7(i7Data.q_kap) : undefined;
|
|
3839
|
+
multFaktor.cosPhiInd = utils_2.isNumericI7(i7Data.cos_phi_ind) ? utils_2.convertToNumberI7(i7Data.cos_phi_ind) : undefined;
|
|
3840
|
+
multFaktor.cosPhiKap = utils_2.isNumericI7(i7Data.cos_phi_kap) ? utils_2.convertToNumberI7(i7Data.cos_phi_kap) : undefined;
|
|
3026
3841
|
this.cimModelDefault.addMultiplierFactor(multFaktor);
|
|
3027
3842
|
this.addIdMapping(i7Data.id, multFaktor.mrid, integral_sql_1.Integral7TableNames.MULTIPLIKATIONSFAKTOR);
|
|
3028
3843
|
}
|
|
@@ -3050,7 +3865,8 @@ class ConverterI7 {
|
|
|
3050
3865
|
}
|
|
3051
3866
|
}
|
|
3052
3867
|
for (const i7Data of result) {
|
|
3053
|
-
const
|
|
3868
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
3869
|
+
const powerTransformer = new PowerTransformer_1.PowerTransformer(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_PT']), i7Data.kurzname, i7Data.kommentar);
|
|
3054
3870
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
3055
3871
|
if (substation) {
|
|
3056
3872
|
powerTransformer.equipmentContainer = substation;
|
|
@@ -3093,7 +3909,7 @@ class ConverterI7 {
|
|
|
3093
3909
|
equivalentInjection = this.createBoundaryEquivalentInjection(frame, tmp_cn);
|
|
3094
3910
|
}
|
|
3095
3911
|
}
|
|
3096
|
-
const powerTransformerEnd2 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w2), `W2${powerTransformer.name}`);
|
|
3912
|
+
const powerTransformerEnd2 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w2), `W2${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
3097
3913
|
powerTransformerEnd2.endNumber = 2;
|
|
3098
3914
|
const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
|
|
3099
3915
|
const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
|
|
@@ -3118,7 +3934,7 @@ class ConverterI7 {
|
|
|
3118
3934
|
powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber, powerTransformerEnd2.grounded);
|
|
3119
3935
|
powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
3120
3936
|
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
3121
|
-
const powerTransformerEnds = [
|
|
3937
|
+
const powerTransformerEnds = [powerTransformer.powerTransformerEnds[0], powerTransformer.powerTransformerEnds[1]];
|
|
3122
3938
|
const spRegKnoten = yield this.getSpannungsbandTrafo2W(i7Data);
|
|
3123
3939
|
const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
|
|
3124
3940
|
const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
|
|
@@ -3171,7 +3987,8 @@ class ConverterI7 {
|
|
|
3171
3987
|
}
|
|
3172
3988
|
}
|
|
3173
3989
|
for (const i7Data of result) {
|
|
3174
|
-
const
|
|
3990
|
+
const cimrdfid = utils_1.getUUID(i7Data.guid);
|
|
3991
|
+
const powerTransformer = new PowerTransformer_1.PowerTransformer(cimrdfid, util_create_1.createNotation([utils_2.getName(i7Data), '_', cimrdfid.substring(0, 8), '_PT']), i7Data.kurzname, i7Data.kommentar);
|
|
3175
3992
|
const substation = cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
|
|
3176
3993
|
if (substation) {
|
|
3177
3994
|
powerTransformer.equipmentContainer = substation;
|
|
@@ -3207,7 +4024,7 @@ class ConverterI7 {
|
|
|
3207
4024
|
const impedanzW1 = utils_trafo3w_1.calculateImpedanzenTrafo3W(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
|
|
3208
4025
|
const impedanzW2 = utils_trafo3w_1.calculateImpedanzenTrafo3W(2, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
|
|
3209
4026
|
const impedanzW3 = utils_trafo3w_1.calculateImpedanzenTrafo3W(3, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
|
|
3210
|
-
const powerTransformerEnd1 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
|
|
4027
|
+
const powerTransformerEnd1 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
3211
4028
|
powerTransformerEnd1.endNumber = 1;
|
|
3212
4029
|
const wicklung1 = trafoWicklungen.get(i7Data.trafowicklung3w1);
|
|
3213
4030
|
const terminal1 = this.createBoundaryConnection(frame, powerTransformer, wicklung1.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
@@ -3234,7 +4051,7 @@ class ConverterI7 {
|
|
|
3234
4051
|
const terminal2 = this.createBoundaryConnection(frame, powerTransformer, wicklung2.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
3235
4052
|
if (!terminal2)
|
|
3236
4053
|
this.logger.debug(`PowerTransformer3W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
3237
|
-
const powerTransformerEnd2 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
|
|
4054
|
+
const powerTransformerEnd2 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
3238
4055
|
powerTransformerEnd2.endNumber = 2;
|
|
3239
4056
|
powerTransformerEnd2.r = impedanzW2.r;
|
|
3240
4057
|
powerTransformerEnd2.x = impedanzW2.x;
|
|
@@ -3258,7 +4075,7 @@ class ConverterI7 {
|
|
|
3258
4075
|
const terminal3 = this.createBoundaryConnection(frame, powerTransformer, wicklung3.aknoten, PhaseCode_1.PhaseCode.ABC);
|
|
3259
4076
|
if (!terminal3)
|
|
3260
4077
|
this.logger.debug(`PowerTransformer3W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
3261
|
-
const powerTransformerEnd3 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
|
|
4078
|
+
const powerTransformerEnd3 = new PowerTransformerEnd_1.PowerTransformerEnd(utils_1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name}`);
|
|
3262
4079
|
powerTransformerEnd3.endNumber = 3;
|
|
3263
4080
|
powerTransformerEnd3.r = impedanzW3.r;
|
|
3264
4081
|
powerTransformerEnd3.x = impedanzW3.x;
|
|
@@ -3296,6 +4113,9 @@ class ConverterI7 {
|
|
|
3296
4113
|
cimModel.addPowerTransformerEnd(powerTransformerEnd2);
|
|
3297
4114
|
cimModel.addPowerTransformerEnd(powerTransformerEnd3);
|
|
3298
4115
|
this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
|
|
4116
|
+
this.addIdMapping(i7Data.trafowicklung3w1, powerTransformerEnd1.mrid, undefined);
|
|
4117
|
+
this.addIdMapping(i7Data.trafowicklung3w2, powerTransformerEnd2.mrid, undefined);
|
|
4118
|
+
this.addIdMapping(i7Data.trafowicklung3w3, powerTransformerEnd3.mrid, undefined);
|
|
3299
4119
|
}
|
|
3300
4120
|
}
|
|
3301
4121
|
else {
|
|
@@ -3337,7 +4157,7 @@ class ConverterI7 {
|
|
|
3337
4157
|
const cimModel = frame.cimModel;
|
|
3338
4158
|
const substations = Array.from(cimModel.substations.values());
|
|
3339
4159
|
for (const substation of substations) {
|
|
3340
|
-
const line = new Line_1.Line(substation.mrid, substation.name +
|
|
4160
|
+
const line = new Line_1.Line(substation.mrid, substation.name + '_BD-L', substation.shortName, substation.description);
|
|
3341
4161
|
const subregion = substation.subGeographicalRegion;
|
|
3342
4162
|
line.subGeographicalRegion = subregion;
|
|
3343
4163
|
subregion.addLine(line);
|
|
@@ -3383,7 +4203,7 @@ class ConverterI7 {
|
|
|
3383
4203
|
line.addConnectivityNode(connectivityNode);
|
|
3384
4204
|
const junction = new Junction_1.Junction(utils_1.generateUUID(), `${line.name}_BD-J`, `Junction`, 'Junction for Geo');
|
|
3385
4205
|
junction.equipmentContainer = line;
|
|
3386
|
-
let terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([line.
|
|
4206
|
+
let terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([line.getUUID().substring(0, 8), '_BD-JCT-T']), 'bd_jct_lab', 'terminal to connect junction to associated boundary ConnectivityNode', 1);
|
|
3387
4207
|
junction.terminals.set(terminal.getUUID(), terminal);
|
|
3388
4208
|
terminal.conductingEquipment = junction;
|
|
3389
4209
|
line.addEquipment(junction);
|
|
@@ -3420,6 +4240,9 @@ class ConverterI7 {
|
|
|
3420
4240
|
});
|
|
3421
4241
|
}
|
|
3422
4242
|
sortTransformerEnd(powerTransformer, sortProperty, order) {
|
|
4243
|
+
if (powerTransformer.getUUID() === '5b0e4820d43247188ded6b28db72fc95') {
|
|
4244
|
+
let stop = true;
|
|
4245
|
+
}
|
|
3423
4246
|
let winding_guids = new Array(powerTransformer.powerTransformerEnds.length);
|
|
3424
4247
|
let winding_guids_fixed = new Array(powerTransformer.powerTransformerEnds.length);
|
|
3425
4248
|
for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
|
|
@@ -3435,19 +4258,17 @@ class ConverterI7 {
|
|
|
3435
4258
|
const winding1_guid = winding_guids[0];
|
|
3436
4259
|
const winding2 = powerTransformer.powerTransformerEnds[0];
|
|
3437
4260
|
if (!(winding1_guid === winding2.getUUID())) {
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
winding1.phaseAngleClock = 12 - val;
|
|
3443
|
-
}
|
|
3444
|
-
else {
|
|
3445
|
-
const isNull = true;
|
|
3446
|
-
}
|
|
4261
|
+
powerTransformer.powerTransformerEnds[0].endNumber = 1;
|
|
4262
|
+
powerTransformer.powerTransformerEnds[1].endNumber = 2;
|
|
4263
|
+
powerTransformer.powerTransformerEnds[1].phaseAngleClock = 12 - powerTransformer.powerTransformerEnds[0].phaseAngleClock;
|
|
4264
|
+
powerTransformer.powerTransformerEnds[0].phaseAngleClock = 0;
|
|
3447
4265
|
}
|
|
3448
4266
|
}
|
|
3449
|
-
setACLineSegmentProperties(defaultModel, acLineSegment, data, defaultValuesConfig) {
|
|
3450
|
-
if (
|
|
4267
|
+
setACLineSegmentProperties(defaultModel, cimModel, acLineSegment, data, defaultValuesConfig) {
|
|
4268
|
+
if (acLineSegment.getUUID() === 'e2505f0f-c764-44da-b88b-d40e048193c9') {
|
|
4269
|
+
let stop = true;
|
|
4270
|
+
}
|
|
4271
|
+
if ((utils_2.isNumericI7(data.laenge) && data.laenge <= 0) || (utils_2.isBooleanI7(data.flag_impedanzlos) && utils_2.convertToBooleanI7(data.flag_impedanzlos))) {
|
|
3451
4272
|
data.flag_impedanzlos = 1;
|
|
3452
4273
|
}
|
|
3453
4274
|
if (utils_2.isNumericI7(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
|
|
@@ -3522,12 +4343,12 @@ class ConverterI7 {
|
|
|
3522
4343
|
}
|
|
3523
4344
|
for (const terminal of acLineSegment.terminals.values()) {
|
|
3524
4345
|
if (utils_2.isNumericI7(data.ir) && data.ir > 0) {
|
|
3525
|
-
this.setConductingEquipmentCurrentLimit(
|
|
4346
|
+
this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, terminal, data.ir);
|
|
3526
4347
|
}
|
|
3527
4348
|
else if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
|
|
3528
|
-
this.setConductingEquipmentCurrentLimit(
|
|
4349
|
+
this.setConductingEquipmentCurrentLimit(cimModel, acLineSegment.name, terminal, assetType.ratedCurrent);
|
|
3529
4350
|
}
|
|
3530
|
-
const psrType = utils_1.createIfNotExitsPSRType(
|
|
4351
|
+
const psrType = utils_1.createIfNotExitsPSRType(cimModel, data.typ);
|
|
3531
4352
|
acLineSegment.psrTypeUUID = psrType.mrid;
|
|
3532
4353
|
}
|
|
3533
4354
|
}
|
|
@@ -3574,10 +4395,15 @@ class ConverterI7 {
|
|
|
3574
4395
|
return operationalLimitType;
|
|
3575
4396
|
}
|
|
3576
4397
|
createConnection(cimModel, conductingEquipment, object, phase, connected) {
|
|
4398
|
+
if (conductingEquipment.getUUID() === '66d3c196-8927-478a-a6bf-248ea34cdeb3') {
|
|
4399
|
+
let stop = true;
|
|
4400
|
+
}
|
|
4401
|
+
let isNameSet = false;
|
|
3577
4402
|
let terminal;
|
|
3578
4403
|
if (object instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
3579
4404
|
const cn = object;
|
|
3580
|
-
terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([
|
|
4405
|
+
terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([conductingEquipment.getUUID().substring(0, 8), '_T']));
|
|
4406
|
+
isNameSet = true;
|
|
3581
4407
|
terminal.setConnectivityNode(cn);
|
|
3582
4408
|
cn.addTerminal(terminal);
|
|
3583
4409
|
cimModel.addTerminal(terminal);
|
|
@@ -3590,7 +4416,9 @@ class ConverterI7 {
|
|
|
3590
4416
|
terminal.conductingEquipment = conductingEquipment;
|
|
3591
4417
|
conductingEquipment.addTerminal(terminal);
|
|
3592
4418
|
terminal.connected = connected;
|
|
3593
|
-
|
|
4419
|
+
if (!isNameSet) {
|
|
4420
|
+
terminal.name = util_create_1.createNotation([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
4421
|
+
}
|
|
3594
4422
|
}
|
|
3595
4423
|
return terminal;
|
|
3596
4424
|
}
|
|
@@ -3610,7 +4438,7 @@ class ConverterI7 {
|
|
|
3610
4438
|
const object = cimModelBD.getObject(anschlussUUID);
|
|
3611
4439
|
if (object instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
3612
4440
|
cn = object;
|
|
3613
|
-
terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([cn.
|
|
4441
|
+
terminal = new Terminal_1.Terminal(utils_1.generateUUID(), util_create_1.createNotation([conductingEquipment.getUUID().substring(0, 8), '_', cn.getUUID().substring(0, 8), '_BD_T']));
|
|
3614
4442
|
terminal.connectivityNodeUUID = cn.mrid;
|
|
3615
4443
|
terminal.phases = phase;
|
|
3616
4444
|
terminal.connected = true;
|
|
@@ -3627,6 +4455,7 @@ class ConverterI7 {
|
|
|
3627
4455
|
terminal.setConnectivityNodeUUID(cn.getUUID());
|
|
3628
4456
|
terminal.setConnectivityNode(undefined);
|
|
3629
4457
|
}
|
|
4458
|
+
terminal.name = util_create_1.createNotation([conductingEquipment.getUUID().substring(0, 8), '_' + terminal.name], 32, true);
|
|
3630
4459
|
cimModelBD.terminals.delete(terminal.mrid);
|
|
3631
4460
|
cimModel.addTerminal(terminal);
|
|
3632
4461
|
}
|
|
@@ -3679,7 +4508,7 @@ class ConverterI7 {
|
|
|
3679
4508
|
equivalentInjection.baseVoltage = cn.getBaseVoltage();
|
|
3680
4509
|
equivalentInjection.normallyInService = false;
|
|
3681
4510
|
tmp_terminal.setConductingEquipment(equivalentInjection);
|
|
3682
|
-
tmp_terminal.name = util_create_1.createNotation([
|
|
4511
|
+
tmp_terminal.name = util_create_1.createNotation([frame.tsoName, '_BD-EI-T'], 32, true);
|
|
3683
4512
|
cn.addTerminal(tmp_terminal);
|
|
3684
4513
|
frame.cimModel.addEquivalentInjection(equivalentInjection);
|
|
3685
4514
|
if (tmp_terminal.getConductingEquipmentUUID() !== undefined) {
|
|
@@ -3741,45 +4570,60 @@ class ConverterI7 {
|
|
|
3741
4570
|
let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
|
|
3742
4571
|
(i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
|
|
3743
4572
|
if (tempKnotenId !== undefined) {
|
|
3744
|
-
let queryResult = yield this.mysqlController.execQuery(`SELECT id
|
|
4573
|
+
let queryResult = yield this.mysqlController.execQuery(`SELECT id
|
|
4574
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]}
|
|
4575
|
+
WHERE id = ${tempKnotenId};`);
|
|
3745
4576
|
if (queryResult.length === 1) {
|
|
3746
4577
|
const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
|
|
3747
4578
|
const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
|
|
3748
4579
|
const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
|
|
3749
|
-
const sqlStatement = `SELECT ${tabName_NetzSSAB}.id,
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
4580
|
+
const sqlStatement = `SELECT ${tabName_NetzSSAB}.id,
|
|
4581
|
+
${tabName_NetzSSAB}.umin,
|
|
4582
|
+
${tabName_NetzSSAB}.umax,
|
|
4583
|
+
${tabName_NetzSSAB}.usoll
|
|
4584
|
+
FROM ${tabName_NetzSSAB}
|
|
4585
|
+
LEFT JOIN ${tabName_NetzSchaltfeld}
|
|
4586
|
+
ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
|
|
4587
|
+
LEFT JOIN ${tabName_NetzKnotenSf}
|
|
4588
|
+
ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
|
|
4589
|
+
WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
|
|
3754
4590
|
minMaxSollResult = yield this.mysqlController.execQuery(sqlStatement);
|
|
3755
4591
|
}
|
|
3756
4592
|
else {
|
|
3757
|
-
queryResult = yield this.mysqlController.execQuery(`SELECT id
|
|
4593
|
+
queryResult = yield this.mysqlController.execQuery(`SELECT id
|
|
4594
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]}
|
|
4595
|
+
WHERE id = ${tempKnotenId};`);
|
|
3758
4596
|
if (queryResult.length === 1) {
|
|
3759
4597
|
const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
|
|
3760
4598
|
const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
|
|
3761
4599
|
const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
|
|
3762
|
-
minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
4600
|
+
minMaxSollResult = yield this.mysqlController.execQuery(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
|
|
4601
|
+
FROM ${tabName_NetzKnotenZw}
|
|
4602
|
+
LEFT JOIN ${tabName_NetzSchlaufe} ON
|
|
4603
|
+
${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
|
|
4604
|
+
LEFT JOIN ${tabName_NetzSo} ON
|
|
4605
|
+
${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
|
|
4606
|
+
WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
|
|
3769
4607
|
}
|
|
3770
4608
|
else {
|
|
3771
|
-
minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll
|
|
4609
|
+
minMaxSollResult = yield this.mysqlController.execQuery(`SELECT id, umin, umax, usoll
|
|
4610
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]}
|
|
4611
|
+
where id = ${tempKnotenId};`);
|
|
3772
4612
|
}
|
|
3773
4613
|
}
|
|
3774
4614
|
}
|
|
3775
4615
|
else if (spgKnotenId !== undefined) {
|
|
3776
4616
|
const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
|
|
3777
4617
|
const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
|
|
3778
|
-
const query = ` SELECT Voltage.id, Voltage.umin,
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
4618
|
+
const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
|
|
4619
|
+
FROM (
|
|
4620
|
+
SELECT id, umin, umax, usoll
|
|
4621
|
+
FROM ${tabName_NetzSo}
|
|
4622
|
+
WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
|
|
4623
|
+
UNION
|
|
4624
|
+
SELECT id, umin, umax, usoll
|
|
4625
|
+
FROM ${tabName_NetzSSAB}
|
|
4626
|
+
WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
|
|
3783
4627
|
minMaxSollResult = yield this.mysqlController.execQuery(query);
|
|
3784
4628
|
}
|
|
3785
4629
|
if (minMaxSollResult && minMaxSollResult.length) {
|
|
@@ -3801,7 +4645,7 @@ class ConverterI7 {
|
|
|
3801
4645
|
}
|
|
3802
4646
|
catch (e) {
|
|
3803
4647
|
this.logger.error(e);
|
|
3804
|
-
console.error(
|
|
4648
|
+
console.error('ERROR:' + e);
|
|
3805
4649
|
}
|
|
3806
4650
|
});
|
|
3807
4651
|
}
|
|
@@ -3817,7 +4661,7 @@ class ConverterI7 {
|
|
|
3817
4661
|
status.status = 'error';
|
|
3818
4662
|
status.message = e.toString();
|
|
3819
4663
|
this.logger.error(e);
|
|
3820
|
-
console.error(
|
|
4664
|
+
console.error('ERROR:' + e);
|
|
3821
4665
|
}
|
|
3822
4666
|
resolve(status);
|
|
3823
4667
|
}));
|
|
@@ -3934,7 +4778,7 @@ class ConverterI7 {
|
|
|
3934
4778
|
this.createDropIndex('create index netz_leitung_aknoten_index on netz_leitung (aknoten);'),
|
|
3935
4779
|
this.createDropIndex('create index netz_leitung_eknoten_index on netz_leitung (eknoten);'),
|
|
3936
4780
|
this.createDropIndex('create index netz_freileitungabschnitt_leitung_index on netz_freileitungabschnitt (leitung);'),
|
|
3937
|
-
this.createDropIndex('create index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt (leitung);')
|
|
4781
|
+
this.createDropIndex('create index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt (leitung);')
|
|
3938
4782
|
]);
|
|
3939
4783
|
});
|
|
3940
4784
|
}
|
|
@@ -3954,7 +4798,7 @@ class ConverterI7 {
|
|
|
3954
4798
|
this.createDropIndex('drop index netz_leitung_aknoten_index on netz_leitung;'),
|
|
3955
4799
|
this.createDropIndex('drop index netz_leitung_eknoten_index on netz_leitung;'),
|
|
3956
4800
|
this.createDropIndex('drop index netz_freileitungabschnitt_leitung_index on netz_freileitungabschnitt;'),
|
|
3957
|
-
this.createDropIndex('drop index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt;')
|
|
4801
|
+
this.createDropIndex('drop index netz_kabelabschnitt_leitung_index on netz_kabelabschnitt;')
|
|
3958
4802
|
]);
|
|
3959
4803
|
});
|
|
3960
4804
|
}
|
|
@@ -4004,7 +4848,7 @@ class ConverterI7 {
|
|
|
4004
4848
|
const cimModel = frame.cimModel;
|
|
4005
4849
|
if (terminal) {
|
|
4006
4850
|
powerTransformerEnd.terminal = terminal;
|
|
4007
|
-
this.setConductingEquipmentCurrentLimit(cimModel, 'W1 ' + powerTransformer.name, terminal, ir);
|
|
4851
|
+
this.setConductingEquipmentCurrentLimit(cimModel, 'W1 ' + (powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.name), terminal, ir);
|
|
4008
4852
|
if (sternpunktKnotenMap.has(i7Data.id) && i7Data) {
|
|
4009
4853
|
if (sternpunktKnotenMap.get(i7Data.id).has(i7Data.aknknoten1p)) {
|
|
4010
4854
|
this.convertTrafoGrounding(frame, powerTransformer, powerTransformerEnd, integral7, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), defaultValuesConfig);
|
|
@@ -4042,7 +4886,7 @@ class ConverterI7 {
|
|
|
4042
4886
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd);
|
|
4043
4887
|
}
|
|
4044
4888
|
convertTapChangers(i7Data, transformerEnds, cimModel, transformerinfo, connectivityNode, spannungsband) {
|
|
4045
|
-
var _a, _b;
|
|
4889
|
+
var _a, _b, _c;
|
|
4046
4890
|
for (let tapChangerNumber = 1; tapChangerNumber <= 2; tapChangerNumber++) {
|
|
4047
4891
|
const transformerEndInfo = (_a = transformerinfo === null || transformerinfo === void 0 ? void 0 : transformerinfo.transformerEndInfos) === null || _a === void 0 ? void 0 : _a.find(elem => elem.endNumber === tapChangerNumber);
|
|
4048
4892
|
const transformerEnd = transformerEnds.find(elem => elem.endNumber === tapChangerNumber);
|
|
@@ -4055,10 +4899,14 @@ class ConverterI7 {
|
|
|
4055
4899
|
this.logger.error(`Trafo ${i7Data.id}: Zum Stufenschalter ${gestufteSeite} keine Wicklung gefunden.`);
|
|
4056
4900
|
continue;
|
|
4057
4901
|
}
|
|
4902
|
+
else if (!gestufteSeite) {
|
|
4903
|
+
this.logger.error(`Trafo ${i7Data.id}: Kein Stufenschalter ${gestufteSeite} zur Wicklung ${transformerEnd.getUUID()} an Transformator ${(_b = transformerEnd.powerTransformer) === null || _b === void 0 ? void 0 : _b.getUUID()} gefunden.`);
|
|
4904
|
+
continue;
|
|
4905
|
+
}
|
|
4058
4906
|
const tapChangerInfo = transformerEndInfo === null || transformerEndInfo === void 0 ? void 0 : transformerEndInfo.tapChangerInfo;
|
|
4059
4907
|
const angle = utils_2.isNumericI7(i7Data[`uzus_winkel_s${tapChangerNumber}`])
|
|
4060
4908
|
? utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${tapChangerNumber}`])
|
|
4061
|
-
: (
|
|
4909
|
+
: (_c = tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.stepPhaseIncrement) === null || _c === void 0 ? void 0 : _c.value;
|
|
4062
4910
|
const neutralU = transformerEnd.ratedU;
|
|
4063
4911
|
let tapChanger;
|
|
4064
4912
|
if (isFinite(angle) && angle !== 0) {
|
|
@@ -4082,7 +4930,9 @@ class ConverterI7 {
|
|
|
4082
4930
|
let neutralStep = utils_2.isNumericI7(i7Data[`mittelstufe_s${tapChangerNumber}`])
|
|
4083
4931
|
? i7Data[`mittelstufe_s${tapChangerNumber}`]
|
|
4084
4932
|
: tapChangerInfo === null || tapChangerInfo === void 0 ? void 0 : tapChangerInfo.neutralStep;
|
|
4085
|
-
let currentStep = i7Data[`aktstufe_s${tapChangerNumber}`]
|
|
4933
|
+
let currentStep = utils_2.isNumericI7(i7Data[`aktstufe_s${tapChangerNumber}`])
|
|
4934
|
+
? i7Data[`aktstufe_s${tapChangerNumber}`]
|
|
4935
|
+
: neutralStep;
|
|
4086
4936
|
const i7TapArray = utils_2.getTapChangerStepArray(lowStep, highStep);
|
|
4087
4937
|
const lowerVoltageStepCount = utils_2.getTapChangerStepCount(lowStep, neutralStep);
|
|
4088
4938
|
const increaseVoltageStepCount = utils_2.getTapChangerStepCount(neutralStep, highStep);
|
|
@@ -4294,7 +5144,8 @@ class ConverterI7 {
|
|
|
4294
5144
|
}
|
|
4295
5145
|
queryLeitungsAnschlussIDs() {
|
|
4296
5146
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4297
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5147
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5148
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
|
|
4298
5149
|
for (const result of results) {
|
|
4299
5150
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4300
5151
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -4303,14 +5154,14 @@ class ConverterI7 {
|
|
|
4303
5154
|
}
|
|
4304
5155
|
queryTrafosAnschlussIDs() {
|
|
4305
5156
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4306
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
4307
|
-
|
|
5157
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5158
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
|
|
4308
5159
|
for (const result of results) {
|
|
4309
5160
|
this.trafo2wAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4310
5161
|
this.trafo2wAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
4311
5162
|
}
|
|
4312
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
4313
|
-
|
|
5163
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5164
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
|
|
4314
5165
|
for (const result of results) {
|
|
4315
5166
|
this.trafo3wAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4316
5167
|
this.trafo3wAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -4319,7 +5170,8 @@ class ConverterI7 {
|
|
|
4319
5170
|
}
|
|
4320
5171
|
queryHgueAnschlussIDs() {
|
|
4321
5172
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4322
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt
|
|
5173
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT anetzobjekt, enetzobjekt
|
|
5174
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
|
|
4323
5175
|
for (const result of results) {
|
|
4324
5176
|
this.hgueAnschlussKnotenIDs.add(result[`anetzobjekt`]);
|
|
4325
5177
|
this.hgueAnschlussKnotenIDs.add(result[`enetzobjekt`]);
|
|
@@ -4328,7 +5180,8 @@ class ConverterI7 {
|
|
|
4328
5180
|
}
|
|
4329
5181
|
queryLDroselAnschlussIDs() {
|
|
4330
5182
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4331
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5183
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5184
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
|
|
4332
5185
|
for (const result of results) {
|
|
4333
5186
|
this.lDrosselAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4334
5187
|
this.lDrosselAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -4337,7 +5190,8 @@ class ConverterI7 {
|
|
|
4337
5190
|
}
|
|
4338
5191
|
queryErsatzLaengsAnschlussIDs() {
|
|
4339
5192
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4340
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5193
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5194
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
|
|
4341
5195
|
for (const result of results) {
|
|
4342
5196
|
this.ersatzZweigAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4343
5197
|
this.ersatzZweigAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -4346,7 +5200,8 @@ class ConverterI7 {
|
|
|
4346
5200
|
}
|
|
4347
5201
|
queryLkondensatorAnschlussIDs() {
|
|
4348
5202
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
4349
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5203
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.mysqlController.execQuery(`SELECT DISTINCT aknoten, eknoten
|
|
5204
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
|
|
4350
5205
|
for (const result of results) {
|
|
4351
5206
|
this.lKondensatorAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
4352
5207
|
this.lKondensatorAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -4423,6 +5278,7 @@ class ConverterI7 {
|
|
|
4423
5278
|
addIdMapping(i7ID, uuid, type) {
|
|
4424
5279
|
if (this.integralID2UUID.has(i7ID)) {
|
|
4425
5280
|
console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
|
|
5281
|
+
this.logger.debug(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
|
|
4426
5282
|
}
|
|
4427
5283
|
else {
|
|
4428
5284
|
this.integralID2UUID.set(i7ID, uuid);
|
|
@@ -4449,15 +5305,15 @@ class ConverterI7 {
|
|
|
4449
5305
|
connectivityNode.toEndNameTso = tsoName;
|
|
4450
5306
|
}
|
|
4451
5307
|
else {
|
|
4452
|
-
this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
|
|
4453
|
-
fromEndName ${connectivityNode.fromEndName}
|
|
4454
|
-
fromEndIsoCode ${connectivityNode.fromEndIsoCode}
|
|
4455
|
-
fromEndNameTso ${connectivityNode.fromEndNameTso}
|
|
4456
|
-
toEndName ${connectivityNode.toEndName}
|
|
4457
|
-
toEndIsoCode ${connectivityNode.toEndIsoCode}
|
|
4458
|
-
toEndNameTso ${connectivityNode.toEndNameTso}
|
|
4459
|
-
name ${name}
|
|
4460
|
-
isoCode ${isoCode}
|
|
5308
|
+
this.logger.error(`Grenzknoten ${connectivityNode.name} mit der UUID ${connectivityNode.mrid} ist bereits belegt:
|
|
5309
|
+
fromEndName ${connectivityNode.fromEndName}
|
|
5310
|
+
fromEndIsoCode ${connectivityNode.fromEndIsoCode}
|
|
5311
|
+
fromEndNameTso ${connectivityNode.fromEndNameTso}
|
|
5312
|
+
toEndName ${connectivityNode.toEndName}
|
|
5313
|
+
toEndIsoCode ${connectivityNode.toEndIsoCode}
|
|
5314
|
+
toEndNameTso ${connectivityNode.toEndNameTso}
|
|
5315
|
+
name ${name}
|
|
5316
|
+
isoCode ${isoCode}
|
|
4461
5317
|
tsoName ${tsoName}`);
|
|
4462
5318
|
}
|
|
4463
5319
|
}
|