@enervance/insight-cim-model 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/analysis-neplan/digi-ons.d.ts +53 -0
- package/dist/analysis/analysis-neplan/digi-ons.js +381 -0
- package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -0
- package/dist/config/config.utils.d.ts +1 -0
- package/dist/config/config.utils.js +37 -0
- package/dist/config/config.utils.js.map +1 -0
- package/dist/config/default/default-load.config.js.map +1 -1
- package/dist/config/lew-sincal/lew-sincal-load.config.js.map +1 -1
- package/dist/config/power-system-datamodel/psdm-load.config.js.map +1 -1
- package/dist/config/westnetz-integral7/integral7-load.config.js.map +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
- package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js.map +1 -1
- package/dist/config/westnetz-neplan/neplan-load.config.d.ts +1 -0
- package/dist/config/westnetz-neplan/neplan-load.config.js +37 -1
- package/dist/config/westnetz-neplan/neplan-load.config.js.map +1 -1
- package/dist/config/westnetz-neplan/property-handler-westenergy.config.js.map +1 -1
- package/dist/constants/cim-class-definition.js +14 -0
- package/dist/constants/cim-class-definition.js.map +1 -1
- package/dist/constants/cim-class-names.d.ts +9 -0
- package/dist/constants/cim-class-names.js +9 -0
- package/dist/constants/cim-class-names.js.map +1 -1
- package/dist/constants/init-data/JENA_SPARQL.js +1 -1
- package/dist/constants/init-data/xml/settings.d.ts +1 -0
- package/dist/constants/init-data/xml/settings.js +70 -0
- package/dist/constants/init-data/xml/settings.js.map +1 -0
- package/dist/constants/rdf-xml.d.ts +4 -2
- package/dist/constants/rdf-xml.js +4 -2
- package/dist/constants/rdf-xml.js.map +1 -1
- package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
- package/dist/converter/cgmes-validator.js +2 -0
- package/dist/converter/cgmes-validator.js.map +1 -1
- package/dist/converter/integral7/ConverterIntegral7.d.ts +45 -17
- package/dist/converter/integral7/ConverterIntegral7.js +899 -681
- package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/I7Schema.d.ts +13 -0
- package/dist/converter/integral7/interface-i7/I7Schema.js +13 -0
- package/dist/converter/integral7/interface-i7/I7Schema.js.map +1 -0
- package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +207 -157
- package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +8 -0
- package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js +3 -0
- package/dist/converter/integral7/interface-i7/IObjectMappingConfig.js.map +1 -0
- package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
- package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
- package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
- package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
- package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
- package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
- package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
- package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
- package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +24 -3
- package/dist/converter/integral7/sql/integral.sql.d.ts +1 -0
- package/dist/converter/integral7/sql/integral.sql.js +9 -0
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +36 -5
- package/dist/converter/integral7/utils.js +342 -65
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/data-structures/Settings.d.ts +16 -0
- package/dist/data-structures/Settings.js +74 -0
- package/dist/data-structures/Settings.js.map +1 -0
- package/dist/data-structures/graph/GraphObject.d.ts +4 -2
- package/dist/data-structures/graph/GraphObject.js +3 -1
- package/dist/data-structures/graph/GraphObject.js.map +1 -1
- package/dist/data-structures/graph/Types.d.ts +2 -1
- package/dist/data-structures/graph/Types.js +1 -0
- package/dist/data-structures/graph/Types.js.map +1 -1
- package/dist/data-structures/graph/edges/GraphEdge.d.ts +2 -1
- package/dist/data-structures/graph/edges/GraphEdge.js +2 -2
- package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
- package/dist/data-structures/graph/graph-util.js.map +1 -1
- package/dist/data-structures/graph/graph.js +3 -3
- package/dist/data-structures/graph/graph.js.map +1 -1
- package/dist/data-structures/graph/nodes/GraphNode.d.ts +2 -1
- package/dist/data-structures/graph/nodes/GraphNode.js +2 -2
- package/dist/data-structures/graph/nodes/GraphNode.js.map +1 -1
- package/dist/data-structures/tree/GraphTree.js +3 -3
- package/dist/data-structures/tree/GraphTree.js.map +1 -1
- package/dist/data-structures/tree/GraphTreeEdge.d.ts +1 -1
- package/dist/data-structures/tree/GraphTreeEdge.js +2 -2
- package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
- package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -1
- package/dist/data-structures/tree/GraphTreeNode.js +2 -2
- package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
- package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -1
- package/dist/data-structures/tree/GraphTreeObject.js +2 -1
- package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-csv.js +23 -18
- package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +20 -0
- package/dist/etl/etl-neplan/etl-neplan-feederline.js +83 -2
- package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +5 -0
- package/dist/etl/etl-neplan/etl-neplan-geo.js +221 -1
- package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +0 -1
- package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +0 -2
- package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
- package/dist/etl/etl-neplan/etl-neplan.js +4 -1
- package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
- package/dist/etl/etl-neplan/neplan-contingency-analysis.js +4 -4
- package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
- package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
- package/dist/grid-validation/grid-validation.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/ILogger.d.ts +2 -0
- package/dist/interfaces/model/core/IIdentifiedObject.d.ts +3 -1
- package/dist/model/assetinfo/AssetInfo.js.map +1 -1
- package/dist/model/assetinfo/CableInfo.js.map +1 -1
- package/dist/model/assetinfo/OverheadWireInfo.js.map +1 -1
- package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
- package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
- package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
- package/dist/model/assetinfo/WireInfo.js.map +1 -1
- package/dist/model/assets/AggregateScore.js.map +1 -1
- package/dist/model/assets/Analytic.js.map +1 -1
- package/dist/model/assets/AnalyticScore.js.map +1 -1
- package/dist/model/assets/Asset.js.map +1 -1
- package/dist/model/assets/AssetContainer.js.map +1 -1
- package/dist/model/assets/AssetDeployment.js.map +1 -1
- package/dist/model/assets/AssetHealthEvent.js.map +1 -1
- package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
- package/dist/model/assets/AssetOwner.js +0 -2
- package/dist/model/assets/AssetOwner.js.map +1 -1
- package/dist/model/assets/AssetUser.js.map +1 -1
- package/dist/model/assets/DeploymentDate.js.map +1 -1
- package/dist/model/assets/Facility.js.map +1 -1
- package/dist/model/assets/HealthScore.js.map +1 -1
- package/dist/model/assets/LifecycleDate.js.map +1 -1
- package/dist/model/assets/RiskScore.js.map +1 -1
- package/dist/model/assets/Structure.d.ts +6 -0
- package/dist/model/assets/Structure.js +11 -0
- package/dist/model/assets/Structure.js.map +1 -0
- package/dist/model/assets/TowerConstructionKind.d.ts +4 -0
- package/dist/model/assets/TowerConstructionKind.js +9 -0
- package/dist/model/assets/TowerConstructionKind.js.map +1 -0
- package/dist/model/common/ActivityRecord.js.map +1 -1
- package/dist/model/common/CoordinateSystem.js.map +1 -1
- package/dist/model/common/Document.js.map +1 -1
- package/dist/model/common/Location.js.map +1 -1
- package/dist/model/common/OrganisationRole.js.map +1 -1
- package/dist/model/common/PositionPoint.js.map +1 -1
- package/dist/model/common/Status.js.map +1 -1
- package/dist/model/core/ACDCTerminal.d.ts +3 -1
- package/dist/model/core/ACDCTerminal.js +6 -2
- package/dist/model/core/ACDCTerminal.js.map +1 -1
- package/dist/model/core/BaseVoltage.js.map +1 -1
- package/dist/model/core/Bay.d.ts +1 -0
- package/dist/model/core/Bay.js +9 -0
- package/dist/model/core/Bay.js.map +1 -1
- package/dist/model/core/ConductingEquipment.js.map +1 -1
- package/dist/model/core/ConnectivityNode.js +7 -3
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
- package/dist/model/core/Curve.js.map +1 -1
- package/dist/model/core/CurveData.js.map +1 -1
- package/dist/model/core/Equipment.js +2 -6
- package/dist/model/core/Equipment.js.map +1 -1
- package/dist/model/core/EquipmentContainer.js.map +1 -1
- package/dist/model/core/Feeder.d.ts +1 -1
- package/dist/model/core/Feeder.js.map +1 -1
- package/dist/model/core/GeographicalRegion.js.map +1 -1
- package/dist/model/core/IdentifiedObject.d.ts +5 -3
- package/dist/model/core/IdentifiedObject.js +13 -5
- package/dist/model/core/IdentifiedObject.js.map +1 -1
- package/dist/model/core/PSRType.js.map +1 -1
- package/dist/model/core/PowerSystemResource.js.map +1 -1
- package/dist/model/core/SubGeographicalRegion.js.map +1 -1
- package/dist/model/core/Substation.d.ts +1 -0
- package/dist/model/core/Substation.js +4 -1
- package/dist/model/core/Substation.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +7 -3
- package/dist/model/core/Terminal.js +24 -7
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/core/VoltageLevel.js +1 -7
- package/dist/model/core/VoltageLevel.js.map +1 -1
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
- package/dist/model/dc/CsConverter.js.map +1 -1
- package/dist/model/dc/DCBaseTerminal.js.map +1 -1
- package/dist/model/dc/DCConductingEquipment.js.map +1 -1
- package/dist/model/dc/DCConverterUnit.js.map +1 -1
- package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
- package/dist/model/dc/DCLine.js.map +1 -1
- package/dist/model/dc/DCLineSegment.js.map +1 -1
- package/dist/model/dc/DCNode.js.map +1 -1
- package/dist/model/dc/DCTerminal.js.map +1 -1
- package/dist/model/dc/VsConverter.js.map +1 -1
- package/dist/model/diagram/Diagram.js.map +1 -1
- package/dist/model/diagram/DiagramObject.d.ts +4 -3
- package/dist/model/diagram/DiagramObject.js +14 -3
- package/dist/model/diagram/DiagramObject.js.map +1 -1
- package/dist/model/diagram/DiagramObjectPoint.d.ts +6 -5
- package/dist/model/diagram/DiagramObjectPoint.js +15 -4
- package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
- package/dist/model/diagram/DiagramStyle.js.map +1 -1
- package/dist/model/domain/Capacitance.js.map +1 -1
- package/dist/model/domain/CapacitancePerLength.js.map +1 -1
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.d.ts +16 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js +23 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsEnums.js.map +1 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.d.ts +8 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +22 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.d.ts +9 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +8 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.d.ts +8 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +8 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.d.ts +7 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +16 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +25 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +61 -0
- package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -0
- package/dist/model/equivalents/EquivalentBranch.d.ts +1 -1
- package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
- package/dist/model/equivalents/EquivalentInjection.d.ts +25 -0
- package/dist/model/equivalents/EquivalentInjection.js +92 -0
- package/dist/model/equivalents/EquivalentInjection.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +22 -0
- package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +90 -0
- package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +25 -0
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +98 -0
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +27 -0
- package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +99 -0
- package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.d.ts +9 -0
- package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js +14 -0
- package/dist/model/extensions/amprion/assets/AMPRIONStatusTypeKind.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTeam.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +34 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTower.js +103 -0
- package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +38 -0
- package/dist/model/extensions/amprion/assets/AMPRIONWire.js +120 -0
- package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -0
- package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.d.ts +5 -0
- package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js +10 -0
- package/dist/model/extensions/amprion/common/AMPRIONStateTypeKind.js.map +1 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.d.ts +11 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js +16 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireIsolationTypeKind.js.map +1 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.d.ts +6 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js +11 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireLayoutKind.js.map +1 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.d.ts +10 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js +15 -0
- package/dist/model/extensions/amprion/common/AMPRIONWireOperatingTypeKind.js.map +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -0
- package/dist/model/extensions/amprion/core/AMPRIONLine.js +33 -0
- package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +15 -0
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +93 -0
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -0
- package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +49 -0
- package/dist/model/extensions/amprion/model/AMPRIONModel.js +127 -0
- package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -0
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +7 -3
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +5 -4
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.d.ts +3 -3
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.d.ts +2 -2
- package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.d.ts +3 -3
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +31 -31
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
- package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +13 -0
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +80 -0
- package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -0
- package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
- package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
- package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
- package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
- package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
- package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +1 -1
- package/dist/model/extensions/enervance/assets/EVWireObject.js +10 -5
- package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
- package/dist/model/extensions/enervance/core/EVTerminal.d.ts +3 -0
- package/dist/model/extensions/enervance/core/EVTerminal.js +19 -0
- package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
- package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSegment.js +3 -3
- package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
- package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +1 -1
- package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +22 -2
- package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.d.ts +5 -0
- package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +14 -0
- package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -0
- package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +10 -3
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +148 -98
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +8 -2
- package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +80 -9
- package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +5 -4
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +114 -45
- package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
- package/dist/model/faults/EquipmentFault.js.map +1 -1
- package/dist/model/faults/Fault.js.map +1 -1
- package/dist/model/faults/LineFault.js.map +1 -1
- package/dist/model/generation/FossilFuel.js.map +1 -1
- package/dist/model/generation/GeneratingUnit.js +1 -1
- package/dist/model/generation/GeneratingUnit.js.map +1 -1
- package/dist/model/generation/HydroGeneratingUnit.d.ts +3 -0
- package/dist/model/generation/HydroGeneratingUnit.js +21 -0
- package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
- package/dist/model/generation/HydroPowerPlant.js.map +1 -1
- package/dist/model/generation/HydroPump.js.map +1 -1
- package/dist/model/generation/NuclearGeneratingUnit.js.map +1 -1
- package/dist/model/generation/SolarGeneratingUnit.d.ts +2 -0
- package/dist/model/generation/SolarGeneratingUnit.js +13 -0
- package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
- package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
- package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
- package/dist/model/loadmodel/ConformLoad.js.map +1 -1
- package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
- package/dist/model/loadmodel/EnergyArea.js.map +1 -1
- package/dist/model/loadmodel/LoadArea.js.map +1 -1
- package/dist/model/loadmodel/LoadGroup.js.map +1 -1
- package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
- package/dist/model/model/Model.d.ts +28 -1
- package/dist/model/model/Model.js +64 -2
- package/dist/model/model/Model.js.map +1 -1
- package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
- package/dist/model/operationallimits/OperationalLimit.js +4 -12
- package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
- package/dist/model/operationallimits/OperationalLimitSet.js +2 -6
- package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
- package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
- package/dist/model/operations/Outage.js.map +1 -1
- package/dist/model/operations/SwitchAction.js.map +1 -1
- package/dist/model/operations/SwitchingAction.js.map +1 -1
- package/dist/model/operations/SwitchingPlan.js.map +1 -1
- package/dist/model/operations/UnplannedOutage.js.map +1 -1
- package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
- package/dist/model/statevariables/SvStatus.js.map +1 -1
- package/dist/model/statevariables/SvTapStep.js.map +1 -1
- package/dist/model/statevariables/SvVoltage.js.map +1 -1
- package/dist/model/topology/TopologicalIsland.js.map +1 -1
- package/dist/model/topology/TopologicalNode.js.map +1 -1
- package/dist/model/wires/ACLineSegment.js.map +1 -1
- package/dist/model/wires/AsynchronousMachine.js.map +1 -1
- package/dist/model/wires/Breaker.js.map +1 -1
- package/dist/model/wires/BusbarSection.js.map +1 -1
- package/dist/model/wires/Clamp.js.map +1 -1
- package/dist/model/wires/Conductor.js +6 -1
- package/dist/model/wires/Conductor.js.map +1 -1
- package/dist/model/wires/Connector.js.map +1 -1
- package/dist/model/wires/Cut.js.map +1 -1
- package/dist/model/wires/Disconnector.js.map +1 -1
- package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
- package/dist/model/wires/EnergyConsumer.js +2 -2
- package/dist/model/wires/EnergyConsumer.js.map +1 -1
- package/dist/model/wires/EnergySource.js.map +1 -1
- package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
- package/dist/model/wires/Ground.js.map +1 -1
- package/dist/model/wires/GroundDisconnector.js.map +1 -1
- package/dist/model/wires/GroundingImpedance.js.map +1 -1
- package/dist/model/wires/Jumper.js.map +1 -1
- package/dist/model/wires/Junction.js.map +1 -1
- package/dist/model/wires/Line.d.ts +3 -0
- package/dist/model/wires/Line.js +14 -0
- package/dist/model/wires/Line.js.map +1 -1
- package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
- package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
- package/dist/model/wires/PetersenCoil.js.map +1 -1
- package/dist/model/wires/PhaseTapChanger.d.ts +9 -0
- package/dist/model/wires/PhaseTapChanger.js +27 -0
- package/dist/model/wires/PhaseTapChanger.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +10 -0
- package/dist/model/wires/PhaseTapChangerAsymmetrical.js +41 -0
- package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerLinear.d.ts +12 -0
- package/dist/model/wires/PhaseTapChangerLinear.js +51 -0
- package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerNonLinear.d.ts +10 -0
- package/dist/model/wires/PhaseTapChangerNonLinear.js +37 -0
- package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +6 -0
- package/dist/model/wires/PhaseTapChangerSymmetrical.js +24 -0
- package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerTable.d.ts +14 -0
- package/dist/model/wires/PhaseTapChangerTable.js +44 -0
- package/dist/model/wires/PhaseTapChangerTable.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +15 -0
- package/dist/model/wires/PhaseTapChangerTablePoint.js +54 -0
- package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -0
- package/dist/model/wires/PhaseTapChangerTabular.d.ts +10 -0
- package/dist/model/wires/PhaseTapChangerTabular.js +38 -0
- package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -0
- package/dist/model/wires/Plant.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/model/wires/PowerTransformerEnd.js +6 -7
- package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
- package/dist/model/wires/ProtectedSwitch.js.map +1 -1
- package/dist/model/wires/RatioTapChanger.d.ts +2 -0
- package/dist/model/wires/RatioTapChanger.js +17 -20
- package/dist/model/wires/RatioTapChanger.js.map +1 -1
- package/dist/model/wires/RatioTapChangerTable.d.ts +3 -0
- package/dist/model/wires/RatioTapChangerTable.js +14 -0
- package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
- package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
- package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
- package/dist/model/wires/Recloser.js.map +1 -1
- package/dist/model/wires/RegulatingCondEq.js.map +1 -1
- package/dist/model/wires/RegulatingControl.js.map +1 -1
- package/dist/model/wires/RotatingMachine.d.ts +1 -0
- package/dist/model/wires/RotatingMachine.js +13 -0
- package/dist/model/wires/RotatingMachine.js.map +1 -1
- package/dist/model/wires/SeriesCompensator.js.map +1 -1
- package/dist/model/wires/ShuntCompensator.js.map +1 -1
- package/dist/model/wires/StaticVarCompensator.js.map +1 -1
- package/dist/model/wires/Switch.js.map +1 -1
- package/dist/model/wires/SynchronousMachine.d.ts +3 -1
- package/dist/model/wires/SynchronousMachine.js +4 -8
- package/dist/model/wires/SynchronousMachine.js.map +1 -1
- package/dist/model/wires/TapChanger.d.ts +2 -0
- package/dist/model/wires/TapChanger.js +7 -7
- package/dist/model/wires/TapChanger.js.map +1 -1
- package/dist/model/wires/TapChangerControl.js +1 -1
- package/dist/model/wires/TapChangerControl.js.map +1 -1
- package/dist/model/wires/TapChangerTablePoint.d.ts +3 -0
- package/dist/model/wires/TapChangerTablePoint.js +34 -7
- package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
- package/dist/model/wires/TransformerEnd.d.ts +3 -0
- package/dist/model/wires/TransformerEnd.js +5 -13
- package/dist/model/wires/TransformerEnd.js.map +1 -1
- package/dist/util/sparql/sparql-utils.d.ts +1 -0
- package/dist/util/sparql/sparql-utils.js +5 -1
- package/dist/util/sparql/sparql-utils.js.map +1 -1
- package/dist/util/util-create.d.ts +5 -2
- package/dist/util/util-create.js +18 -6
- package/dist/util/util-create.js.map +1 -1
- package/dist/util/util-search.js.map +1 -1
- package/dist/util/util-test.d.ts +18 -0
- package/dist/util/util-test.js +300 -0
- package/dist/util/util-test.js.map +1 -0
- package/dist/util/util-topology.js +0 -2
- package/dist/util/util-topology.js.map +1 -1
- package/dist/util/utils.js +16 -6
- package/dist/util/utils.js.map +1 -1
- package/dist/util/xml/xml.parser.js.map +1 -1
- package/dist/util/xml/xml.serializer.js.map +1 -1
- package/package.json +10 -5
- package/dist/model/extensions/amprion/model/AmprionModel.d.ts +0 -25
- package/dist/model/extensions/amprion/model/AmprionModel.js +0 -64
- package/dist/model/extensions/amprion/model/AmprionModel.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateInMemoryObjects = exports.getValidTerminals = exports.getGeoCoordinates = exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
|
|
3
|
+
exports.validateInMemoryObjects = exports.getValidTapChangerControls = exports.getValidTerminals = exports.getGeoCoordinates = exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const __1 = require("../..");
|
|
6
6
|
const mysql = tslib_1.__importStar(require("mysql"));
|
|
@@ -15,20 +15,14 @@ const jszip_1 = tslib_1.__importDefault(require("jszip"));
|
|
|
15
15
|
const Standort_1 = require("./model/integral/Standort");
|
|
16
16
|
const Schaltanlage_1 = require("./model/integral/Schaltanlage");
|
|
17
17
|
const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt");
|
|
18
|
-
const StandortNsg_1 = require("./model/integral/StandortNsg");
|
|
19
|
-
const SchaltanlageNSG_1 = require("./model/integral/SchaltanlageNSG");
|
|
20
|
-
const SchaltanlagenabschnittNsg_1 = require("./model/integral/SchaltanlagenabschnittNsg");
|
|
21
|
-
const Point_1 = require("./model/integral/Point");
|
|
22
|
-
const utils_schema_1 = require("./utils-schema");
|
|
23
18
|
const Schaltfeld_1 = require("./model/integral/Schaltfeld");
|
|
24
|
-
const SchaltfeldNsg_1 = require("./model/integral/SchaltfeldNsg");
|
|
25
19
|
const KnotenSo_1 = require("./model/integral/KnotenSo");
|
|
26
|
-
const KnotenSoNsg_1 = require("./model/integral/KnotenSoNsg");
|
|
27
20
|
const Leitung_1 = require("./model/integral/Leitung");
|
|
28
21
|
const TapChangerInfo_1 = require("../../model/assetinfo/TapChangerInfo");
|
|
29
22
|
const AMPRIONBay_1 = require("../../model/extensions/amprion/core/AMPRIONBay");
|
|
30
23
|
const AMPRIONConnectivityNode_1 = require("../../model/extensions/amprion/core/AMPRIONConnectivityNode");
|
|
31
24
|
const AMPRIONSeriesCompensator_1 = require("../../model/extensions/amprion/wires/AMPRIONSeriesCompensator");
|
|
25
|
+
const AMPRIONSubstation_1 = require("../../model/extensions/amprion/core/AMPRIONSubstation");
|
|
32
26
|
const CsConverter_1 = require("../../model/dc/CsConverter");
|
|
33
27
|
const DCConverterUnit_1 = require("../../model/dc/DCConverterUnit");
|
|
34
28
|
const DCNode_1 = require("../../model/dc/DCNode");
|
|
@@ -55,12 +49,17 @@ const EVPowerTransformerEndInfo_1 = require("../../model/extensions/enervance/as
|
|
|
55
49
|
const util_create_1 = require("../../util/util-create");
|
|
56
50
|
const EVPowerTransformerInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerInfo");
|
|
57
51
|
const EVWireInfo_1 = require("../../model/extensions/enervance/assetinfo/EVWireInfo");
|
|
52
|
+
const SynchronousMachineTimeConstantReactance_1 = require("../../model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance");
|
|
53
|
+
const EquivalentInjection_1 = require("../../model/equivalents/EquivalentInjection");
|
|
54
|
+
const I7Schema_1 = require("./interface-i7/I7Schema");
|
|
58
55
|
class ConverterIntegral7 {
|
|
59
56
|
constructor() {
|
|
60
57
|
this.limit = 100;
|
|
58
|
+
this.i7SchemaID2UUID = new Map();
|
|
61
59
|
this.integralID2UUID = new Map();
|
|
62
|
-
this.
|
|
60
|
+
this.UUID2Integral7ID_ = new Map();
|
|
63
61
|
this.statcomRegulatingControls = new Map();
|
|
62
|
+
this.integralID2Type = new Map();
|
|
64
63
|
this.schaltfeldIDs = [];
|
|
65
64
|
this.querkupplungIDs = [];
|
|
66
65
|
this.laengskupplungIDs = [];
|
|
@@ -68,6 +67,9 @@ class ConverterIntegral7 {
|
|
|
68
67
|
this.knotenSfIDs = [];
|
|
69
68
|
this.leitungsIDs = [];
|
|
70
69
|
this.kdrosseltypen = new Map();
|
|
70
|
+
this.schemaIDSchemastandort = new Map();
|
|
71
|
+
this.schemaIDSchaltanlage = new Map();
|
|
72
|
+
this.schemaIDSchaltanlagenabschnitt = new Map();
|
|
71
73
|
this.integralStandorte = new Map();
|
|
72
74
|
this.integralSchaltanlagen = new Map();
|
|
73
75
|
this.integralSchaltanlagenAbschnitte = new Map();
|
|
@@ -91,6 +93,7 @@ class ConverterIntegral7 {
|
|
|
91
93
|
connectivityNodes: new Map(),
|
|
92
94
|
terminals: new Map()
|
|
93
95
|
};
|
|
96
|
+
this.knotenSpannungsband = new Map();
|
|
94
97
|
this.knotenSpannung = new Map();
|
|
95
98
|
this.substationVoltagelevels = new Map();
|
|
96
99
|
this.eqSpannungsBander = new Map();
|
|
@@ -116,6 +119,7 @@ class ConverterIntegral7 {
|
|
|
116
119
|
this.trafo2WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO2W);
|
|
117
120
|
this.trafo3WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO3W);
|
|
118
121
|
yield this.queryAnschlussIDs();
|
|
122
|
+
yield this.querySpGeregelteKnoten();
|
|
119
123
|
resolve({ status: 'successful', message: 'ok' });
|
|
120
124
|
}
|
|
121
125
|
catch (e) {
|
|
@@ -124,7 +128,7 @@ class ConverterIntegral7 {
|
|
|
124
128
|
}));
|
|
125
129
|
});
|
|
126
130
|
}
|
|
127
|
-
convert(defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
|
|
131
|
+
convert(objectMappingConfig, defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
|
|
128
132
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
129
133
|
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
130
134
|
try {
|
|
@@ -148,6 +152,11 @@ class ConverterIntegral7 {
|
|
|
148
152
|
const modelSSHUUID = __1.generateUUID();
|
|
149
153
|
const profilesSSH = [__1.RDF_XML.SSH_OPER_PROFILE_URI];
|
|
150
154
|
this.cimModel.toCIMXML(sshProfileExportObjects.xmlWriter, modelSSHUUID, profilesSSH, [modelEQUUID], __1.RDF_XML.AMP_MAS);
|
|
155
|
+
const dyProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dy.xml`);
|
|
156
|
+
this.writeHeaderStart(dyProfileExportObjects.xmlWriter);
|
|
157
|
+
const modelDYUUID = __1.generateUUID();
|
|
158
|
+
const profilesDY = [__1.RDF_XML.DY_PROFILE_URI];
|
|
159
|
+
this.cimModel.toCIMXML(dyProfileExportObjects.xmlWriter, modelDYUUID, profilesDY, [modelEQUUID], __1.RDF_XML.AMP_MAS);
|
|
151
160
|
const svProfileExportObjects = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_sv.xml`);
|
|
152
161
|
this.writeHeaderStart(svProfileExportObjects.xmlWriter);
|
|
153
162
|
const modelSVUUID = __1.generateUUID();
|
|
@@ -161,7 +170,6 @@ class ConverterIntegral7 {
|
|
|
161
170
|
this.addDefaultObjects(defaultValuesConfig);
|
|
162
171
|
yield this.convertGeoRegionen(defaultValuesConfig);
|
|
163
172
|
yield this.convertSubGeoRegionen(defaultValuesConfig);
|
|
164
|
-
yield this.convertStromkreise();
|
|
165
173
|
yield this.convertBetriebsmitteltypenLeitung();
|
|
166
174
|
yield this.convertBetriebsmitteltypenTrafo();
|
|
167
175
|
yield this.convertBetriebsmitteltypenKdrossel();
|
|
@@ -169,18 +177,18 @@ class ConverterIntegral7 {
|
|
|
169
177
|
this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.coordinateSystems, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
|
|
170
178
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
171
179
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subgeographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
172
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
173
180
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.loadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
174
181
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subLoadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
175
182
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoadGroups, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
176
|
-
this.objectToCIMXML(
|
|
177
|
-
this.objectArrayToCIMXML(
|
|
183
|
+
this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagrams, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
|
|
184
|
+
this.objectArrayToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramStyles, __1.RDF_XML.PROFILE_DL);
|
|
178
185
|
const restCount = this.standortAnzahl < this.limit ? this.standortAnzahl : (this.standortAnzahl % this.limit);
|
|
179
186
|
const intervalCount = (this.standortAnzahl - restCount) / this.limit;
|
|
180
187
|
const numberOfIntervals = restCount > 0 ? intervalCount + 1 : intervalCount;
|
|
181
188
|
for (let i = 0; i < numberOfIntervals; i++) {
|
|
182
189
|
const offset = i * this.limit;
|
|
183
190
|
const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : this.limit;
|
|
191
|
+
this.logger.debug(`offset ${offset} currentLimit ${currentLimit}`);
|
|
184
192
|
yield this.convertStandorte(currentLimit, offset, defaultValuesConfig);
|
|
185
193
|
const standortIDs = [...this.integralStandorte.keys()];
|
|
186
194
|
yield this.covertSchaltanlagen(standortIDs, defaultValuesConfig);
|
|
@@ -220,13 +228,13 @@ class ConverterIntegral7 {
|
|
|
220
228
|
yield this.convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs);
|
|
221
229
|
}
|
|
222
230
|
if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
|
|
223
|
-
const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig,
|
|
231
|
+
const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, objectMappingConfig.Belastung.class);
|
|
224
232
|
yield this.convertQuerzweigErgebnisData(querZweigID2ErgebnisLflID, 1, 0);
|
|
225
233
|
}
|
|
226
234
|
if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
|
|
227
|
-
yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs]);
|
|
235
|
+
yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs], objectMappingConfig.Einspeisung.class);
|
|
228
236
|
}
|
|
229
|
-
if (knotenSoIDs.length
|
|
237
|
+
if (knotenSoIDs.length || this.knotenSfIDs.length > 0) {
|
|
230
238
|
yield this.convertGeneratoren([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
|
|
231
239
|
}
|
|
232
240
|
if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
|
|
@@ -282,10 +290,8 @@ class ConverterIntegral7 {
|
|
|
282
290
|
if (schaltanlagenAbschnittIDs.length > 0) {
|
|
283
291
|
yield this.convertSchemaSchaltanlagenAbschnitte(schaltanlagenAbschnittIDs);
|
|
284
292
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
yield this.convertSchemaSchaltfelder(this.schaltfeldIDs);
|
|
288
|
-
}
|
|
293
|
+
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
294
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
289
295
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
290
296
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.voltageLevels, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
291
297
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
@@ -294,6 +300,7 @@ class ConverterIntegral7 {
|
|
|
294
300
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
295
301
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
296
302
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
303
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
297
304
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.externalNetworkInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
298
305
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
299
306
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
@@ -315,23 +322,27 @@ class ConverterIntegral7 {
|
|
|
315
322
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
316
323
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
317
324
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
318
|
-
|
|
319
|
-
this.objectToCIMXML(
|
|
320
|
-
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
325
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
326
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
321
327
|
this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramObjects, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
|
|
322
328
|
this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.locations, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
|
|
323
329
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
324
330
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
325
331
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
332
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
326
333
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
327
334
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
335
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.synchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
336
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.asynchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
328
337
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
329
338
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
330
339
|
this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svStatus, __1.RDF_XML.PROFILE_SV);
|
|
331
340
|
this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svPowerFlow, __1.RDF_XML.PROFILE_SV);
|
|
332
341
|
this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
|
|
342
|
+
this.objectToCIMXML(dyProfileExportObjects.xmlWriter, this.cimModel.synchronousMachineTimeConstantReactance, __1.RDF_XML.PROFILE_DY, defaultValuesConfig);
|
|
333
343
|
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
334
344
|
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
345
|
+
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
335
346
|
this.cimModel.substations.clear();
|
|
336
347
|
this.cimModel.voltageLevels.clear();
|
|
337
348
|
this.cimModel.bays.clear();
|
|
@@ -341,8 +352,10 @@ class ConverterIntegral7 {
|
|
|
341
352
|
this.cimModel.energyConsumers.clear();
|
|
342
353
|
this.cimModel.conformLoads.clear();
|
|
343
354
|
this.cimModel.energySources.clear();
|
|
355
|
+
this.cimModel.equivalentInjections.clear();
|
|
344
356
|
this.cimModel.externalNetworkInjections.clear();
|
|
345
357
|
this.cimModel.synchronousMachine.clear();
|
|
358
|
+
this.cimModel.synchronousMachineTimeConstantReactance.clear();
|
|
346
359
|
this.cimModel.asynchronousMachine.clear();
|
|
347
360
|
this.cimModel.generatingUnit.clear();
|
|
348
361
|
this.cimModel.thermalGeneratingUnit.clear();
|
|
@@ -380,20 +393,21 @@ class ConverterIntegral7 {
|
|
|
380
393
|
this.integralNsgSchaltfelder.clear();
|
|
381
394
|
this.integralNsgKnotenSo.clear();
|
|
382
395
|
this.eqSpannungsBander.clear();
|
|
383
|
-
this.logger.
|
|
396
|
+
this.logger.debug(`Offset ${offset} done`);
|
|
384
397
|
}
|
|
385
398
|
const restCountELZ = this.ersatzlaengszweigAnzahl < this.limit ? this.ersatzlaengszweigAnzahl : (this.ersatzlaengszweigAnzahl % this.limit);
|
|
386
399
|
const intervalCountELZ = (this.ersatzlaengszweigAnzahl - restCountELZ) / this.limit;
|
|
387
400
|
const numberOfIntervalsELZ = restCountELZ > 0 ? intervalCountELZ + 1 : intervalCountELZ;
|
|
388
|
-
this.logger.
|
|
401
|
+
this.logger.debug('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
|
|
389
402
|
for (let i = 0; i < numberOfIntervalsELZ; i++) {
|
|
390
403
|
const offset = i * this.limit;
|
|
391
404
|
const currentLimit = (i + 1 === numberOfIntervalsELZ && restCountELZ > 0) ? restCountELZ : this.limit;
|
|
392
405
|
yield this.convertErsatzLaengszweige(currentLimit, offset, defaultValuesConfig);
|
|
393
406
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentBranches, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
394
407
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
395
|
-
this.
|
|
396
|
-
this.objectToCIMXML(
|
|
408
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
409
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
410
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
397
411
|
this.cimModel.equivalentBranches.clear();
|
|
398
412
|
this.cimModel.connectivityNodes.clear();
|
|
399
413
|
this.cimModel.terminals.clear();
|
|
@@ -402,20 +416,20 @@ class ConverterIntegral7 {
|
|
|
402
416
|
const restCountLeitung = this.leitungsAnzahl < this.limit ? this.leitungsAnzahl : (this.leitungsAnzahl % this.limit);
|
|
403
417
|
const intervalCountLeitung = (this.leitungsAnzahl - restCountLeitung) / this.limit;
|
|
404
418
|
const numberOfIntervalsLeitung = restCountLeitung > 0 ? intervalCountLeitung + 1 : intervalCountLeitung;
|
|
405
|
-
this.logger.
|
|
419
|
+
this.logger.debug('Convert ACLineSegments ' + this.leitungsAnzahl);
|
|
406
420
|
for (let i = 0; i < numberOfIntervalsLeitung; i++) {
|
|
407
421
|
const offset = i * this.limit;
|
|
408
422
|
const currentLimit = (i + 1 === numberOfIntervalsLeitung && restCountLeitung > 0) ? restCountLeitung : this.limit;
|
|
409
|
-
yield this.convertLeitungen(currentLimit, offset);
|
|
410
|
-
this.leitungsIDs = [...this.integralLeitungen.keys()];
|
|
411
|
-
if (this.leitungsIDs.length > 0)
|
|
412
|
-
yield this.determineLeitungsTypen(this.leitungsIDs, defaultValuesConfig);
|
|
423
|
+
yield this.convertLeitungen(currentLimit, offset, defaultValuesConfig);
|
|
413
424
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
425
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
414
426
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
415
|
-
this.
|
|
416
|
-
this.objectToCIMXML(
|
|
427
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
428
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
429
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
417
430
|
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
418
431
|
this.cimModel.acLineSegments.clear();
|
|
432
|
+
this.cimModel.lines.clear();
|
|
419
433
|
this.cimModel.connectivityNodes.clear();
|
|
420
434
|
this.cimModel.terminals.clear();
|
|
421
435
|
this.cimModel.diagramObjects.clear();
|
|
@@ -426,7 +440,7 @@ class ConverterIntegral7 {
|
|
|
426
440
|
const restCountHgueLeitung = this.hgueLeitungsAnzahl < this.limit ? this.hgueLeitungsAnzahl : (this.hgueLeitungsAnzahl % this.limit);
|
|
427
441
|
const intervalCountHgueLeitung = (this.hgueLeitungsAnzahl - restCountHgueLeitung) / this.limit;
|
|
428
442
|
const numberOfIntervalsHgueLeitung = restCountHgueLeitung > 0 ? intervalCountHgueLeitung + 1 : intervalCountHgueLeitung;
|
|
429
|
-
this.logger.
|
|
443
|
+
this.logger.debug('Convert ACLineSegments ' + this.hgueLeitungsAnzahl);
|
|
430
444
|
for (let i = 0; i < numberOfIntervalsHgueLeitung; i++) {
|
|
431
445
|
const offset = i * this.limit;
|
|
432
446
|
const currentLimit = (i + 1 === numberOfIntervalsHgueLeitung && restCountHgueLeitung > 0) ? restCountHgueLeitung : this.limit;
|
|
@@ -434,6 +448,7 @@ class ConverterIntegral7 {
|
|
|
434
448
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
435
449
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLineSegment, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
436
450
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
451
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
437
452
|
this.cimModel.dcLines.clear();
|
|
438
453
|
this.cimModel.dcLineSegment.clear();
|
|
439
454
|
this.cimModel.dcTerminals.clear();
|
|
@@ -441,18 +456,19 @@ class ConverterIntegral7 {
|
|
|
441
456
|
const restCountLD = this.laengsdrosselAnzahl < this.limit ? this.laengsdrosselAnzahl : (this.laengsdrosselAnzahl % this.limit);
|
|
442
457
|
const intervalCountLD = (this.laengsdrosselAnzahl - restCountLD) / this.limit;
|
|
443
458
|
const numberOfIntervalsLD = restCountLD > 0 ? intervalCountLD + 1 : intervalCountLD;
|
|
444
|
-
this.logger.
|
|
459
|
+
this.logger.debug('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
|
|
445
460
|
for (let i = 0; i < numberOfIntervalsLD; i++) {
|
|
446
461
|
const offset = i * this.limit;
|
|
447
462
|
const currentLimit = (i + 1 === numberOfIntervalsLD && restCountLD > 0) ? restCountLD : this.limit;
|
|
448
463
|
yield this.convertLaengsdrosseln(currentLimit, offset, defaultValuesConfig);
|
|
449
|
-
this.logger.
|
|
464
|
+
this.logger.debug('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
|
|
450
465
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
451
466
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
452
467
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
453
468
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
454
|
-
this.
|
|
455
|
-
this.objectToCIMXML(
|
|
469
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
470
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
471
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
456
472
|
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
457
473
|
this.cimModel.seriesCompensators.clear();
|
|
458
474
|
this.cimModel.operationalLimitSets.clear();
|
|
@@ -463,7 +479,7 @@ class ConverterIntegral7 {
|
|
|
463
479
|
const restCountLK = this.laengskondensatorAnzahl < this.limit ? this.laengskondensatorAnzahl : (this.laengskondensatorAnzahl % this.limit);
|
|
464
480
|
const intervalCountLK = (this.laengskondensatorAnzahl - restCountLK) / this.limit;
|
|
465
481
|
const numberOfIntervalsLK = restCountLK > 0 ? intervalCountLK + 1 : intervalCountLK;
|
|
466
|
-
this.logger.
|
|
482
|
+
this.logger.debug('Convert Längskondensator ' + this.laengskondensatorAnzahl);
|
|
467
483
|
for (let i = 0; i < numberOfIntervalsLK; i++) {
|
|
468
484
|
const offset = i * this.limit;
|
|
469
485
|
const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
|
|
@@ -472,8 +488,9 @@ class ConverterIntegral7 {
|
|
|
472
488
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
473
489
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
474
490
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
475
|
-
this.
|
|
476
|
-
this.objectToCIMXML(
|
|
491
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
492
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
493
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
477
494
|
this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
|
|
478
495
|
this.cimModel.seriesCompensators.clear();
|
|
479
496
|
this.cimModel.operationalLimitSets.clear();
|
|
@@ -484,23 +501,32 @@ class ConverterIntegral7 {
|
|
|
484
501
|
const restCountTrafo2W = this.trafo2WAnzahl < this.limit ? this.trafo2WAnzahl : (this.trafo2WAnzahl % this.limit);
|
|
485
502
|
const intervalCountTrafo2W = (this.trafo2WAnzahl - restCountTrafo2W) / this.limit;
|
|
486
503
|
const numberOfIntervalsTrafo2W = restCountTrafo2W > 0 ? intervalCountTrafo2W + 1 : intervalCountTrafo2W;
|
|
487
|
-
this.logger.
|
|
504
|
+
this.logger.debug('Convert Transformers');
|
|
488
505
|
for (let i = 0; i < numberOfIntervalsTrafo2W; i++) {
|
|
489
506
|
const offset = i * this.limit;
|
|
490
507
|
const currentLimit = (i + 1 === numberOfIntervalsTrafo2W && restCountTrafo2W > 0) ? restCountTrafo2W : this.limit;
|
|
491
|
-
yield this.convertTrafo2W(currentLimit, offset);
|
|
508
|
+
yield this.convertTrafo2W(currentLimit, offset, defaultValuesConfig);
|
|
492
509
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
493
510
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
494
511
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
495
|
-
this.
|
|
496
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
497
|
-
this.objectToCIMXML(
|
|
512
|
+
this.checkRegelungsknotenTerminals([...validTerminals.values()]);
|
|
513
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
514
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
515
|
+
const validTapChangerControls = getValidTapChangerControls(this.cimModel.tapChangerControls);
|
|
516
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
517
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
498
518
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
499
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.
|
|
500
|
-
|
|
501
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.
|
|
519
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
520
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
521
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
522
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
523
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
524
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
525
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
502
526
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
503
527
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
528
|
+
validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '2W Trafo');
|
|
529
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
504
530
|
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
505
531
|
this.cimModel.powerTransformer.clear();
|
|
506
532
|
this.cimModel.powerTransformerEnds.clear();
|
|
@@ -509,6 +535,9 @@ class ConverterIntegral7 {
|
|
|
509
535
|
this.cimModel.regulatingControl.clear();
|
|
510
536
|
this.cimModel.tapChangerControls.clear();
|
|
511
537
|
this.cimModel.ratioTapChangers.clear();
|
|
538
|
+
this.cimModel.phaseTapChangerLinear.clear();
|
|
539
|
+
this.cimModel.phaseTapChangerSymmetrical.clear();
|
|
540
|
+
this.cimModel.phaseTapChangerAsymmetrical.clear();
|
|
512
541
|
for (const table of this.cimModel.ratioTapChangerTables.values()) {
|
|
513
542
|
table.ratioTapChangerTablePoints = [];
|
|
514
543
|
}
|
|
@@ -517,14 +546,14 @@ class ConverterIntegral7 {
|
|
|
517
546
|
this.cimModel.terminals.clear();
|
|
518
547
|
this.cimModel.objects.clear();
|
|
519
548
|
}
|
|
520
|
-
const restCountTrafo3W = this.
|
|
549
|
+
const restCountTrafo3W = this.trafo3WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
|
|
521
550
|
const intervalCountTrafo3W = (this.trafo3WAnzahl - restCountTrafo3W) / this.limit;
|
|
522
551
|
const numberOfIntervalsTrafo3W = restCountTrafo3W > 0 ? intervalCountTrafo3W + 1 : intervalCountTrafo3W;
|
|
523
|
-
this.logger.
|
|
552
|
+
this.logger.debug('Convert Transformers3W');
|
|
524
553
|
for (let i = 0; i < numberOfIntervalsTrafo3W; i++) {
|
|
525
554
|
const offset = i * this.limit;
|
|
526
555
|
const currentLimit = (i + 1 === numberOfIntervalsTrafo3W && restCountTrafo3W > 0) ? restCountTrafo3W : this.limit;
|
|
527
|
-
yield this.convertTrafo3W(currentLimit, offset);
|
|
556
|
+
yield this.convertTrafo3W(currentLimit, offset, defaultValuesConfig);
|
|
528
557
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
529
558
|
this.cimModel.powerTransformer.clear();
|
|
530
559
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
@@ -532,28 +561,38 @@ class ConverterIntegral7 {
|
|
|
532
561
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
533
562
|
this.cimModel.currentLimits.clear();
|
|
534
563
|
const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
|
|
535
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
536
|
-
this.objectToCIMXML(
|
|
564
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
|
|
565
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
|
|
537
566
|
this.cimModel.terminals.clear();
|
|
538
|
-
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.tapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
567
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, getValidTapChangerControls(this.cimModel.tapChangerControls), __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
539
568
|
this.cimModel.tapChangerControls.clear();
|
|
540
569
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
570
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
571
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
572
|
+
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
573
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
574
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
575
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
576
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
541
577
|
this.cimModel.ratioTapChangers.clear();
|
|
542
578
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
543
579
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
544
580
|
validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '3W Trafo');
|
|
545
581
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
546
|
-
this.objectToCIMXML(
|
|
582
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
547
583
|
this.cimModel.regulatingControl.clear();
|
|
548
584
|
this.cimModel.operationalLimitSets.clear();
|
|
549
585
|
for (const table of this.cimModel.ratioTapChangerTables.values()) {
|
|
550
586
|
table.ratioTapChangerTablePoints = [];
|
|
551
587
|
}
|
|
552
588
|
this.cimModel.ratioTapChangerTables.clear();
|
|
589
|
+
this.cimModel.phaseTapChangerLinear.clear();
|
|
590
|
+
this.cimModel.phaseTapChangerSymmetrical.clear();
|
|
591
|
+
this.cimModel.phaseTapChangerAsymmetrical.clear();
|
|
553
592
|
this.cimModel.svTapSteps.length = 0;
|
|
554
593
|
this.cimModel.objects.clear();
|
|
555
594
|
}
|
|
556
|
-
const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects);
|
|
595
|
+
const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects, this.logger);
|
|
557
596
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitTypes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
558
597
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.baseVoltages, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
559
598
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
@@ -562,6 +601,7 @@ class ConverterIntegral7 {
|
|
|
562
601
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.vsConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
563
602
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.csConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
564
603
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
604
|
+
this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
|
|
565
605
|
this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
|
|
566
606
|
for (const junction of this.stpImpModel.junctions.values()) {
|
|
567
607
|
if (junction.baseVoltageUUID && junction.equipmentContainerUUID) {
|
|
@@ -608,6 +648,7 @@ class ConverterIntegral7 {
|
|
|
608
648
|
this.writeHeaderEnd(dlProfileExportObjects.xmlWriter);
|
|
609
649
|
this.writeHeaderEnd(glProfileExportObjects.xmlWriter);
|
|
610
650
|
this.writeHeaderEnd(sshProfileExportObjects.xmlWriter);
|
|
651
|
+
this.writeHeaderEnd(dyProfileExportObjects.xmlWriter);
|
|
611
652
|
this.writeHeaderEnd(svProfileExportObjects.xmlWriter);
|
|
612
653
|
this.writeHeaderEnd(ampI7ProfileExportObjects.xmlWriter);
|
|
613
654
|
yield Promise.all([
|
|
@@ -616,6 +657,7 @@ class ConverterIntegral7 {
|
|
|
616
657
|
utils_2.createWriteStreamPromise(glProfileExportObjects.writeStream),
|
|
617
658
|
utils_2.createWriteStreamPromise(sshProfileExportObjects.writeStream),
|
|
618
659
|
utils_2.createWriteStreamPromise(svProfileExportObjects.writeStream),
|
|
660
|
+
utils_2.createWriteStreamPromise(dyProfileExportObjects.writeStream),
|
|
619
661
|
utils_2.createWriteStreamPromise(ampI7ProfileExportObjects.writeStream),
|
|
620
662
|
]);
|
|
621
663
|
const zip = new jszip_1.default();
|
|
@@ -627,6 +669,8 @@ class ConverterIntegral7 {
|
|
|
627
669
|
zip.file(`${gridName}_gl.xml`, readStreamGl);
|
|
628
670
|
const readStreamSSH = fs_1.default.createReadStream(sshProfileExportObjects.filePath);
|
|
629
671
|
zip.file(`${gridName}_ssh.xml`, readStreamSSH);
|
|
672
|
+
const readStreamDY = fs_1.default.createReadStream(dyProfileExportObjects.filePath);
|
|
673
|
+
zip.file(`${gridName}_dy.xml`, readStreamDY);
|
|
630
674
|
const readStreamSV = fs_1.default.createReadStream(svProfileExportObjects.filePath);
|
|
631
675
|
zip.file(`${gridName}_sv.xml`, readStreamSV);
|
|
632
676
|
const readStreamAmpI7 = fs_1.default.createReadStream(ampI7ProfileExportObjects.filePath);
|
|
@@ -634,6 +678,7 @@ class ConverterIntegral7 {
|
|
|
634
678
|
resolve(yield utils_2.generateNodeStream(zip));
|
|
635
679
|
}
|
|
636
680
|
catch (e) {
|
|
681
|
+
console.log(e);
|
|
637
682
|
reject({ status: 'error', message: e.toString() });
|
|
638
683
|
}
|
|
639
684
|
}));
|
|
@@ -648,7 +693,7 @@ class ConverterIntegral7 {
|
|
|
648
693
|
if (tempDirPath) {
|
|
649
694
|
try {
|
|
650
695
|
fs_1.default.rmdirSync(tempDirPath, { recursive: true });
|
|
651
|
-
this.logger.
|
|
696
|
+
this.logger.debug(`${path_1.default} is deleted!`);
|
|
652
697
|
}
|
|
653
698
|
catch (err) {
|
|
654
699
|
console.error(`Error while deleting ${path_1.default}.`);
|
|
@@ -679,7 +724,8 @@ class ConverterIntegral7 {
|
|
|
679
724
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
680
725
|
return new Promise((resolve, reject) => {
|
|
681
726
|
if (this.isTableAvailable(tableName)) {
|
|
682
|
-
this.queryFunctionWrapper(`SELECT COUNT(id)
|
|
727
|
+
this.queryFunctionWrapper(`SELECT COUNT(id)
|
|
728
|
+
FROM ${tableName}`).then(results => {
|
|
683
729
|
try {
|
|
684
730
|
for (const result of results) {
|
|
685
731
|
return resolve(Number(result[`COUNT(id)`]));
|
|
@@ -699,37 +745,44 @@ class ConverterIntegral7 {
|
|
|
699
745
|
queryAnschlussIDs() {
|
|
700
746
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
701
747
|
try {
|
|
702
|
-
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
748
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
749
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
|
|
703
750
|
for (const result of results) {
|
|
704
751
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
705
752
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
706
753
|
}
|
|
707
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
|
|
754
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
|
|
755
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
|
|
708
756
|
for (const result of results) {
|
|
709
757
|
this.leitungAnschlussKnotenIDs.add(result[`anetzobjekt`]);
|
|
710
758
|
this.leitungAnschlussKnotenIDs.add(result[`enetzobjekt`]);
|
|
711
759
|
}
|
|
712
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
760
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
761
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
|
|
713
762
|
for (const result of results) {
|
|
714
763
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
715
764
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
716
765
|
}
|
|
717
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
766
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
767
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
|
|
718
768
|
for (const result of results) {
|
|
719
769
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
720
770
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
721
771
|
}
|
|
722
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
772
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
773
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
|
|
723
774
|
for (const result of results) {
|
|
724
775
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
725
776
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
726
777
|
}
|
|
727
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
778
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
779
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
|
|
728
780
|
for (const result of results) {
|
|
729
781
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
730
782
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
731
783
|
}
|
|
732
|
-
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
784
|
+
results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
|
|
785
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
|
|
733
786
|
for (const result of results) {
|
|
734
787
|
this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
|
|
735
788
|
this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
|
|
@@ -740,6 +793,17 @@ class ConverterIntegral7 {
|
|
|
740
793
|
}
|
|
741
794
|
});
|
|
742
795
|
}
|
|
796
|
+
querySpGeregelteKnoten() {
|
|
797
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
798
|
+
try {
|
|
799
|
+
let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT spgreg_knoten
|
|
800
|
+
FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
|
|
801
|
+
}
|
|
802
|
+
catch (e) {
|
|
803
|
+
console.error("ERROR:" + e);
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
}
|
|
743
807
|
convertGeoRegionen(defaultValuesConfig) {
|
|
744
808
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
745
809
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGION)) {
|
|
@@ -747,12 +811,12 @@ class ConverterIntegral7 {
|
|
|
747
811
|
for (const i7Data of result) {
|
|
748
812
|
const region = new __1.GeographicalRegion(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
|
|
749
813
|
this.cimModel.addGeographicalRegion(region);
|
|
750
|
-
this.
|
|
814
|
+
this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
|
|
751
815
|
}
|
|
752
816
|
}
|
|
753
817
|
else {
|
|
754
|
-
this.logger.
|
|
755
|
-
this.logger.
|
|
818
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
|
|
819
|
+
this.logger.debug(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
|
|
756
820
|
__1.createGeoregion(__1.generateUUID(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModel);
|
|
757
821
|
}
|
|
758
822
|
});
|
|
@@ -770,12 +834,12 @@ class ConverterIntegral7 {
|
|
|
770
834
|
subregion.region = region;
|
|
771
835
|
region.addSubGeographicalRegion(subregion);
|
|
772
836
|
this.cimModel.addSubGeographicalRegion(subregion);
|
|
773
|
-
this.
|
|
837
|
+
this.addIdMapping(i7Data.id, subregion.mrid, integral_sql_1.Integral7TableNames.SUBREGION);
|
|
774
838
|
}
|
|
775
839
|
}
|
|
776
840
|
else {
|
|
777
|
-
this.logger.
|
|
778
|
-
this.logger.
|
|
841
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
|
|
842
|
+
this.logger.debug(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
|
|
779
843
|
const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
|
|
780
844
|
const subRegion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
|
|
781
845
|
subRegion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
|
|
@@ -792,7 +856,7 @@ class ConverterIntegral7 {
|
|
|
792
856
|
utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
|
|
793
857
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
794
858
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
795
|
-
const substation = new
|
|
859
|
+
const substation = new AMPRIONSubstation_1.AMPRIONSubstation(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', i7Schluessel, i7Data.stationsnummer);
|
|
796
860
|
this.substationNames.set(substation.mrid, substation.name);
|
|
797
861
|
let subregion = this.cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
|
|
798
862
|
if (!subregion) {
|
|
@@ -816,14 +880,14 @@ class ConverterIntegral7 {
|
|
|
816
880
|
}
|
|
817
881
|
this.substationVoltagelevels.set(i7Data.id, []);
|
|
818
882
|
this.cimModel.addSubstation(substation);
|
|
819
|
-
this.
|
|
820
|
-
|
|
883
|
+
this.addIdMapping(i7Data.id, substation.mrid, integral_sql_1.Integral7TableNames.STANDORT);
|
|
884
|
+
this.addUUIDMapping(i7Data.id, substation.mrid);
|
|
821
885
|
const standort = new Standort_1.StandortImpl(i7Data);
|
|
822
886
|
this.integralStandorte.set(i7Data.id, standort);
|
|
823
887
|
}
|
|
824
888
|
}
|
|
825
889
|
else {
|
|
826
|
-
this.logger.
|
|
890
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
|
|
827
891
|
}
|
|
828
892
|
});
|
|
829
893
|
}
|
|
@@ -845,6 +909,15 @@ class ConverterIntegral7 {
|
|
|
845
909
|
const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
|
|
846
910
|
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
|
|
847
911
|
vl.baseVoltage = baseVoltage;
|
|
912
|
+
if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
|
|
913
|
+
this.knotenSpannungsband.set(i7Data.id, {
|
|
914
|
+
usoll: i7Data.usoll,
|
|
915
|
+
umin: i7Data.umin,
|
|
916
|
+
umax: i7Data.umax,
|
|
917
|
+
cnUUID: connectivityNode.mrid,
|
|
918
|
+
terminals: []
|
|
919
|
+
});
|
|
920
|
+
}
|
|
848
921
|
this.eqSpannungsBander.set(vl.mrid, [
|
|
849
922
|
{
|
|
850
923
|
usoll: i7Data.usoll,
|
|
@@ -864,11 +937,12 @@ class ConverterIntegral7 {
|
|
|
864
937
|
connectivityNode.description = i7Schluessel;
|
|
865
938
|
}
|
|
866
939
|
else {
|
|
867
|
-
this.logger.
|
|
940
|
+
this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
|
|
868
941
|
}
|
|
869
942
|
const psrType = utils_2.getPSRType(this.cimModel, 'Abzweigmast');
|
|
870
943
|
vl.psrTypeUUID = psrType === null || psrType === void 0 ? void 0 : psrType.mrid;
|
|
871
|
-
this.
|
|
944
|
+
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SO);
|
|
945
|
+
this.addUUIDMapping(i7Data.id, connectivityNode.mrid);
|
|
872
946
|
this.knotenSoIDs.push(i7Data.id);
|
|
873
947
|
this.cimModel.addVoltageLevel(vl);
|
|
874
948
|
this.cimModel.addConnectivityNode(connectivityNode);
|
|
@@ -877,7 +951,7 @@ class ConverterIntegral7 {
|
|
|
877
951
|
}
|
|
878
952
|
}
|
|
879
953
|
else {
|
|
880
|
-
this.logger.
|
|
954
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
|
|
881
955
|
}
|
|
882
956
|
});
|
|
883
957
|
}
|
|
@@ -895,16 +969,16 @@ class ConverterIntegral7 {
|
|
|
895
969
|
this.stpImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
|
|
896
970
|
this.stpImpModel.junctions.set(junction.mrid, junction);
|
|
897
971
|
this.stpImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
|
|
898
|
-
this.
|
|
972
|
+
this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
|
|
899
973
|
this.stpImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
|
|
900
974
|
}
|
|
901
975
|
catch (e) {
|
|
902
|
-
this.logger.
|
|
976
|
+
this.logger.debug(e);
|
|
903
977
|
}
|
|
904
978
|
}
|
|
905
979
|
}
|
|
906
980
|
else {
|
|
907
|
-
this.logger.
|
|
981
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
|
|
908
982
|
}
|
|
909
983
|
resolve(stpSchieneIDs);
|
|
910
984
|
}));
|
|
@@ -928,6 +1002,7 @@ class ConverterIntegral7 {
|
|
|
928
1002
|
__1.createConnection(this.cimModel, petersenCoil, connectivityNode, __1.PhaseCode.N);
|
|
929
1003
|
this.stpImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
|
|
930
1004
|
this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
|
|
1005
|
+
this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
931
1006
|
}
|
|
932
1007
|
else {
|
|
933
1008
|
const groundingImpedance = new GroundingImpedance_1.GroundingImpedance(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
|
|
@@ -937,19 +1012,20 @@ class ConverterIntegral7 {
|
|
|
937
1012
|
__1.createConnection(this.cimModel, groundingImpedance, connectivityNode, __1.PhaseCode.N);
|
|
938
1013
|
this.stpImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
|
|
939
1014
|
this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
|
|
1015
|
+
this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
|
|
940
1016
|
}
|
|
941
1017
|
}
|
|
942
1018
|
}
|
|
943
1019
|
else {
|
|
944
|
-
this.logger.
|
|
1020
|
+
this.logger.debug(`Kdrossel Keine Sternpunktschienen vorhanden.`);
|
|
945
1021
|
}
|
|
946
1022
|
}
|
|
947
1023
|
else {
|
|
948
|
-
this.logger.
|
|
1024
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
|
|
949
1025
|
}
|
|
950
1026
|
}
|
|
951
1027
|
catch (e) {
|
|
952
|
-
this.logger.
|
|
1028
|
+
this.logger.debug(e);
|
|
953
1029
|
}
|
|
954
1030
|
finally {
|
|
955
1031
|
resolve('');
|
|
@@ -973,15 +1049,15 @@ class ConverterIntegral7 {
|
|
|
973
1049
|
}
|
|
974
1050
|
}
|
|
975
1051
|
else {
|
|
976
|
-
this.logger.
|
|
1052
|
+
this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
|
|
977
1053
|
}
|
|
978
1054
|
}
|
|
979
1055
|
else {
|
|
980
|
-
this.logger.
|
|
1056
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
|
|
981
1057
|
}
|
|
982
1058
|
}
|
|
983
1059
|
catch (e) {
|
|
984
|
-
this.logger.
|
|
1060
|
+
this.logger.debug(e);
|
|
985
1061
|
}
|
|
986
1062
|
finally {
|
|
987
1063
|
resolve('');
|
|
@@ -1000,8 +1076,8 @@ class ConverterIntegral7 {
|
|
|
1000
1076
|
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
|
|
1001
1077
|
vl.baseVoltageUUID = baseVoltage.mrid;
|
|
1002
1078
|
this.cimModel.addVoltageLevel(vl);
|
|
1003
|
-
this.
|
|
1004
|
-
|
|
1079
|
+
this.addIdMapping(i7Data.id, vl.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGE);
|
|
1080
|
+
this.addUUIDMapping(i7Data.id, vl.mrid);
|
|
1005
1081
|
this.eqSpannungsBander.set(vl.mrid, []);
|
|
1006
1082
|
if (substation) {
|
|
1007
1083
|
vl.substationUUID = substation.mrid;
|
|
@@ -1022,12 +1098,12 @@ class ConverterIntegral7 {
|
|
|
1022
1098
|
});
|
|
1023
1099
|
}
|
|
1024
1100
|
else {
|
|
1025
|
-
this.logger.
|
|
1101
|
+
this.logger.debug(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
|
|
1026
1102
|
}
|
|
1027
1103
|
}
|
|
1028
1104
|
}
|
|
1029
1105
|
else {
|
|
1030
|
-
this.logger.
|
|
1106
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
|
|
1031
1107
|
}
|
|
1032
1108
|
});
|
|
1033
1109
|
}
|
|
@@ -1037,15 +1113,15 @@ class ConverterIntegral7 {
|
|
|
1037
1113
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenIDs));
|
|
1038
1114
|
for (const i7Data of result) {
|
|
1039
1115
|
const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
|
|
1040
|
-
this.
|
|
1041
|
-
|
|
1116
|
+
this.addIdMapping(i7Data.id, voltageLevel.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT);
|
|
1117
|
+
this.addUUIDMapping(i7Data.id, voltageLevel.mrid);
|
|
1042
1118
|
const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
|
|
1043
1119
|
schaltanlagenabschnitt.addSchaltanlage(this.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
|
|
1044
1120
|
this.integralSchaltanlagenAbschnitte.set(i7Data.id, schaltanlagenabschnitt);
|
|
1045
1121
|
}
|
|
1046
1122
|
}
|
|
1047
1123
|
else {
|
|
1048
|
-
this.logger.
|
|
1124
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
|
|
1049
1125
|
}
|
|
1050
1126
|
});
|
|
1051
1127
|
}
|
|
@@ -1058,7 +1134,7 @@ class ConverterIntegral7 {
|
|
|
1058
1134
|
busbarSection.ipMax = i7Data.limit_ip;
|
|
1059
1135
|
busbarSection.aggregate = false;
|
|
1060
1136
|
const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'ssab cn');
|
|
1061
|
-
__1.createConnection(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
|
|
1137
|
+
const terminal = __1.createConnection(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
|
|
1062
1138
|
const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
|
|
1063
1139
|
connectivityNode.nodeNumber = i7Data.id_psse_cape;
|
|
1064
1140
|
if (voltageLevel) {
|
|
@@ -1073,6 +1149,15 @@ class ConverterIntegral7 {
|
|
|
1073
1149
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
1074
1150
|
busbarSection.description = i7Schluessel;
|
|
1075
1151
|
connectivityNode.description = i7Schluessel;
|
|
1152
|
+
if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && utils_2.isNumericI7(i7Data.umax)) {
|
|
1153
|
+
this.knotenSpannungsband.set(i7Data.id, {
|
|
1154
|
+
usoll: i7Data.usoll,
|
|
1155
|
+
umin: i7Data.umin,
|
|
1156
|
+
umax: i7Data.umax,
|
|
1157
|
+
cnUUID: connectivityNode.mrid,
|
|
1158
|
+
terminals: [{ uuid: terminal.mrid, connected: terminal.connected }]
|
|
1159
|
+
});
|
|
1160
|
+
}
|
|
1076
1161
|
const usollValues = this.eqSpannungsBander.get(voltageLevel.mrid);
|
|
1077
1162
|
if (usollValues) {
|
|
1078
1163
|
usollValues.push({
|
|
@@ -1082,14 +1167,14 @@ class ConverterIntegral7 {
|
|
|
1082
1167
|
});
|
|
1083
1168
|
}
|
|
1084
1169
|
else {
|
|
1085
|
-
this.logger.
|
|
1170
|
+
this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
|
|
1086
1171
|
}
|
|
1087
1172
|
}
|
|
1088
1173
|
else {
|
|
1089
|
-
this.logger.
|
|
1174
|
+
this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
|
|
1090
1175
|
}
|
|
1091
|
-
this.
|
|
1092
|
-
|
|
1176
|
+
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.SAMMELSCHIENE);
|
|
1177
|
+
this.addUUIDMapping(i7Data.id, busbarSection.mrid);
|
|
1093
1178
|
this.cimModel.addConnectivityNode(connectivityNode);
|
|
1094
1179
|
this.cimModel.addBusbarSection(busbarSection);
|
|
1095
1180
|
if (this.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
|
|
@@ -1098,7 +1183,7 @@ class ConverterIntegral7 {
|
|
|
1098
1183
|
}
|
|
1099
1184
|
}
|
|
1100
1185
|
else {
|
|
1101
|
-
this.logger.
|
|
1186
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
|
|
1102
1187
|
}
|
|
1103
1188
|
});
|
|
1104
1189
|
}
|
|
@@ -1117,7 +1202,7 @@ class ConverterIntegral7 {
|
|
|
1117
1202
|
sfImpl.saabschnitt.schaltfelder.push(sfImpl);
|
|
1118
1203
|
}
|
|
1119
1204
|
else {
|
|
1120
|
-
this.logger.
|
|
1205
|
+
this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
|
|
1121
1206
|
}
|
|
1122
1207
|
const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
|
|
1123
1208
|
if (voltageLevel) {
|
|
@@ -1128,14 +1213,14 @@ class ConverterIntegral7 {
|
|
|
1128
1213
|
bay.description = i7Schluessel;
|
|
1129
1214
|
}
|
|
1130
1215
|
else {
|
|
1131
|
-
this.logger.
|
|
1216
|
+
this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
|
|
1132
1217
|
}
|
|
1133
1218
|
this.cimModel.addBay(bay);
|
|
1134
|
-
this.
|
|
1219
|
+
this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.SCHALTFELD);
|
|
1135
1220
|
}
|
|
1136
1221
|
}
|
|
1137
1222
|
else {
|
|
1138
|
-
this.logger.
|
|
1223
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
|
|
1139
1224
|
}
|
|
1140
1225
|
});
|
|
1141
1226
|
}
|
|
@@ -1156,15 +1241,15 @@ class ConverterIntegral7 {
|
|
|
1156
1241
|
bay.description = i7Schluessel;
|
|
1157
1242
|
}
|
|
1158
1243
|
else {
|
|
1159
|
-
this.logger.
|
|
1244
|
+
this.logger.debug(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
|
|
1160
1245
|
}
|
|
1161
1246
|
this.querkupplungIDs.push(i7Data.id);
|
|
1162
1247
|
this.cimModel.addBay(bay);
|
|
1163
|
-
this.
|
|
1248
|
+
this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.QUERKUPPLUNG);
|
|
1164
1249
|
}
|
|
1165
1250
|
}
|
|
1166
1251
|
else {
|
|
1167
|
-
this.logger.
|
|
1252
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
|
|
1168
1253
|
}
|
|
1169
1254
|
});
|
|
1170
1255
|
}
|
|
@@ -1185,26 +1270,26 @@ class ConverterIntegral7 {
|
|
|
1185
1270
|
bay.description = i7Schluessel;
|
|
1186
1271
|
}
|
|
1187
1272
|
else {
|
|
1188
|
-
this.logger.
|
|
1273
|
+
this.logger.debug(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
|
|
1189
1274
|
}
|
|
1190
1275
|
this.laengskupplungIDs.push(i7Data.id);
|
|
1191
|
-
this.
|
|
1276
|
+
this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG);
|
|
1192
1277
|
this.cimModel.addBay(bay);
|
|
1193
1278
|
}
|
|
1194
1279
|
}
|
|
1195
1280
|
else {
|
|
1196
|
-
this.logger.
|
|
1281
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
|
|
1197
1282
|
}
|
|
1198
1283
|
});
|
|
1199
1284
|
}
|
|
1200
|
-
convertBelastungen(knotenSfIDs, defaultValuesConfig,
|
|
1285
|
+
convertBelastungen(knotenSfIDs, defaultValuesConfig, targetClass) {
|
|
1201
1286
|
return new Promise((resolve) => {
|
|
1202
1287
|
const querZweigID2LflID = new Map();
|
|
1203
1288
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
|
|
1204
1289
|
this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs)).then((result) => {
|
|
1205
1290
|
for (const i7Data of result) {
|
|
1206
|
-
const conformLoad =
|
|
1207
|
-
if (
|
|
1291
|
+
const conformLoad = targetClass === __1.CIM_CLASS_NAMES.ConformLoad ? new ConformLoad_1.ConformLoad(__1.getUUID(i7Data.guid), utils_2.getName(i7Data)) : new __1.EnergyConsumer(__1.getUUID(i7Data.guid), utils_2.getName(i7Data));
|
|
1292
|
+
if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
|
|
1208
1293
|
const conformLoadGroup = this.cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
|
|
1209
1294
|
conformLoad.loadGroupUUID = conformLoadGroup.mrid;
|
|
1210
1295
|
}
|
|
@@ -1215,7 +1300,7 @@ class ConverterIntegral7 {
|
|
|
1215
1300
|
conformLoad.q = powerData[1];
|
|
1216
1301
|
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1217
1302
|
if (connectivityNode) {
|
|
1218
|
-
__1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
|
|
1303
|
+
const terminal = __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
|
|
1219
1304
|
const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1220
1305
|
if (equipmentContainer) {
|
|
1221
1306
|
conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
|
|
@@ -1224,19 +1309,19 @@ class ConverterIntegral7 {
|
|
|
1224
1309
|
conformLoad.description = i7Schluesel;
|
|
1225
1310
|
}
|
|
1226
1311
|
else {
|
|
1227
|
-
this.logger.
|
|
1312
|
+
this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1228
1313
|
}
|
|
1229
1314
|
}
|
|
1230
1315
|
else {
|
|
1231
|
-
this.logger.
|
|
1316
|
+
this.logger.debug(`EnergyConsumer ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1232
1317
|
}
|
|
1233
|
-
if (
|
|
1318
|
+
if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
|
|
1234
1319
|
this.cimModel.addConformLoad(conformLoad);
|
|
1235
1320
|
}
|
|
1236
1321
|
else {
|
|
1237
1322
|
this.cimModel.addEnergyConsumer(conformLoad);
|
|
1238
1323
|
}
|
|
1239
|
-
this.
|
|
1324
|
+
this.addIdMapping(i7Data.id, conformLoad.mrid, integral_sql_1.Integral7TableNames.BELASTUNG);
|
|
1240
1325
|
querZweigID2LflID.set(i7Data.flussinfo3p, i7Data.id);
|
|
1241
1326
|
}
|
|
1242
1327
|
resolve(querZweigID2LflID);
|
|
@@ -1266,45 +1351,151 @@ class ConverterIntegral7 {
|
|
|
1266
1351
|
resolve();
|
|
1267
1352
|
});
|
|
1268
1353
|
}
|
|
1269
|
-
convertEinspeisungen(knotenSfIDs) {
|
|
1270
|
-
var _a, _b, _c;
|
|
1354
|
+
convertEinspeisungen(knotenSfIDs, targetClass) {
|
|
1271
1355
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1272
1356
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
|
|
1273
1357
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.EINSPEISUNG, 0, 0, knotenSfIDs));
|
|
1358
|
+
switch (targetClass) {
|
|
1359
|
+
case __1.CIM_CLASS_NAMES.EquivalentInjection: {
|
|
1360
|
+
yield this.convertEinspeisungen2EquivalentInjection(result);
|
|
1361
|
+
break;
|
|
1362
|
+
}
|
|
1363
|
+
case __1.CIM_CLASS_NAMES.ExternalNetworkInjection: {
|
|
1364
|
+
yield this.convertEinspeisungen2ExternalNetworkInjection(result);
|
|
1365
|
+
break;
|
|
1366
|
+
}
|
|
1367
|
+
default: {
|
|
1368
|
+
yield this.convertEinspeisungen2EnergySource(result);
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
else {
|
|
1373
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
|
|
1374
|
+
}
|
|
1375
|
+
});
|
|
1376
|
+
}
|
|
1377
|
+
convertEinspeisungen2EnergySource(result) {
|
|
1378
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1379
|
+
return new Promise((resolve) => {
|
|
1380
|
+
var _a, _b, _c;
|
|
1274
1381
|
for (const i7Data of result) {
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1382
|
+
try {
|
|
1383
|
+
const energySource = new __1.EnergySource(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
1384
|
+
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1385
|
+
const prio = i7Data.einspprio;
|
|
1386
|
+
const usoll = i7Data.usoll;
|
|
1387
|
+
__1.createSvStatus(this.cimModel, inBetrieb, energySource);
|
|
1388
|
+
const spannungsgeregelt = utils_2.convertToBooleanI7(i7Data.spannungsgeregelt);
|
|
1389
|
+
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
1390
|
+
energySource.activePower = powerData[0];
|
|
1391
|
+
energySource.reactivePower = powerData[1];
|
|
1392
|
+
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1393
|
+
if (connectivityNode) {
|
|
1394
|
+
__1.createConnection(this.cimModel, energySource, connectivityNode, __1.PhaseCode.ABC);
|
|
1395
|
+
const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1396
|
+
if (equipmentContainer) {
|
|
1397
|
+
energySource.nominalVoltage = (_c = (_b = (_a = 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;
|
|
1398
|
+
energySource.equipmentContainerUUID = equipmentContainer.mrid;
|
|
1399
|
+
const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
|
|
1400
|
+
energySource.description = i7Schluesel;
|
|
1401
|
+
}
|
|
1402
|
+
else {
|
|
1403
|
+
this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1404
|
+
}
|
|
1293
1405
|
}
|
|
1294
1406
|
else {
|
|
1295
|
-
this.logger.
|
|
1407
|
+
this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1296
1408
|
}
|
|
1409
|
+
this.cimModel.addEnergySource(energySource);
|
|
1410
|
+
this.addIdMapping(i7Data.id, energySource.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
|
|
1297
1411
|
}
|
|
1298
|
-
|
|
1299
|
-
this.logger.
|
|
1412
|
+
catch (err) {
|
|
1413
|
+
this.logger.error(`Err convertEinspeisungen2EnergySource ${i7Data.id} ${err}`);
|
|
1300
1414
|
}
|
|
1301
|
-
this.cimModel.addEnergySource(energySource);
|
|
1302
|
-
this.integralID2UUID.set(i7Data.id, energySource.mrid);
|
|
1303
1415
|
}
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1416
|
+
resolve();
|
|
1417
|
+
});
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
convertEinspeisungen2EquivalentInjection(result) {
|
|
1421
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1422
|
+
return new Promise((resolve) => {
|
|
1423
|
+
for (const i7Data of result) {
|
|
1424
|
+
try {
|
|
1425
|
+
const equivalentInjection = new EquivalentInjection_1.EquivalentInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
1426
|
+
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1427
|
+
const prio = i7Data.einspprio;
|
|
1428
|
+
const usoll = i7Data.usoll;
|
|
1429
|
+
__1.createSvStatus(this.cimModel, inBetrieb, equivalentInjection);
|
|
1430
|
+
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
1431
|
+
equivalentInjection.p = powerData[0];
|
|
1432
|
+
equivalentInjection.q = powerData[1];
|
|
1433
|
+
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1434
|
+
if (connectivityNode) {
|
|
1435
|
+
__1.createConnection(this.cimModel, equivalentInjection, connectivityNode, __1.PhaseCode.ABC);
|
|
1436
|
+
const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1437
|
+
if (equipmentContainer) {
|
|
1438
|
+
equivalentInjection.equipmentContainerUUID = equipmentContainer.mrid;
|
|
1439
|
+
const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
|
|
1440
|
+
equivalentInjection.description = i7Schluesel;
|
|
1441
|
+
}
|
|
1442
|
+
else {
|
|
1443
|
+
this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
else {
|
|
1447
|
+
this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1448
|
+
}
|
|
1449
|
+
this.cimModel.addEquivalentInjection(equivalentInjection);
|
|
1450
|
+
this.addIdMapping(i7Data.id, equivalentInjection.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
|
|
1451
|
+
}
|
|
1452
|
+
catch (err) {
|
|
1453
|
+
this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
resolve();
|
|
1457
|
+
});
|
|
1458
|
+
});
|
|
1459
|
+
}
|
|
1460
|
+
convertEinspeisungen2ExternalNetworkInjection(result) {
|
|
1461
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1462
|
+
return new Promise((resolve) => {
|
|
1463
|
+
for (const i7Data of result) {
|
|
1464
|
+
try {
|
|
1465
|
+
const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
1466
|
+
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1467
|
+
const prio = i7Data.einspprio;
|
|
1468
|
+
externalNetworkInjection.referencePriority = prio;
|
|
1469
|
+
const usoll = i7Data.usoll;
|
|
1470
|
+
__1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
|
|
1471
|
+
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
1472
|
+
externalNetworkInjection.p = powerData[0];
|
|
1473
|
+
externalNetworkInjection.q = powerData[1];
|
|
1474
|
+
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
1475
|
+
if (connectivityNode) {
|
|
1476
|
+
__1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
|
|
1477
|
+
const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel, this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
|
|
1478
|
+
if (equipmentContainer) {
|
|
1479
|
+
externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
|
|
1480
|
+
const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
|
|
1481
|
+
externalNetworkInjection.description = i7Schluesel;
|
|
1482
|
+
}
|
|
1483
|
+
else {
|
|
1484
|
+
this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1487
|
+
else {
|
|
1488
|
+
this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1489
|
+
}
|
|
1490
|
+
this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
1491
|
+
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
|
|
1492
|
+
}
|
|
1493
|
+
catch (err) {
|
|
1494
|
+
this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
resolve();
|
|
1498
|
+
});
|
|
1308
1499
|
});
|
|
1309
1500
|
}
|
|
1310
1501
|
convertGeneratoren(knotenSfIDs, energyTypesConfig) {
|
|
@@ -1312,21 +1503,38 @@ class ConverterIntegral7 {
|
|
|
1312
1503
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
|
|
1313
1504
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.GENERATOR, 0, 0, knotenSfIDs));
|
|
1314
1505
|
for (const i7Data of result) {
|
|
1315
|
-
const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
1506
|
+
const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
|
|
1316
1507
|
synchronousMachine.type = __1.SynchronousMachineKind.generator;
|
|
1317
1508
|
synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
|
|
1318
1509
|
synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
|
|
1510
|
+
const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
|
|
1319
1511
|
const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
|
|
1320
1512
|
const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
|
|
1321
1513
|
const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
|
|
1322
1514
|
const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
|
|
1323
1515
|
synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
|
|
1324
1516
|
synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
|
|
1517
|
+
const powerData = utils_2.getActiveReactivePower(i7Data);
|
|
1518
|
+
const p = powerData[0];
|
|
1519
|
+
const q = powerData[1];
|
|
1520
|
+
synchronousMachine.p = p;
|
|
1521
|
+
synchronousMachine.q = q;
|
|
1325
1522
|
const sr = utils_2.isNumericI7(i7Data.sr) ? utils_2.convertToNumberI7(i7Data.sr) : undefined;
|
|
1326
|
-
|
|
1523
|
+
if (sr && sr >= 0) {
|
|
1524
|
+
synchronousMachine.ratedS = sr;
|
|
1525
|
+
}
|
|
1526
|
+
else {
|
|
1527
|
+
synchronousMachine.ratedS = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));
|
|
1528
|
+
}
|
|
1529
|
+
if (!utils_2.isNumericI7(synchronousMachine.ratedS)) {
|
|
1530
|
+
console.log();
|
|
1531
|
+
}
|
|
1327
1532
|
const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : undefined;
|
|
1328
|
-
|
|
1533
|
+
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
|
|
1534
|
+
synchronousMachine.ratedU = usoll ? usoll : ur;
|
|
1329
1535
|
synchronousMachine.aggregate = true;
|
|
1536
|
+
synchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : undefined;
|
|
1537
|
+
synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : undefined;
|
|
1330
1538
|
const reactiveCapabilityCurve = new __1.ReactiveCapabilityCurve(__1.generateUUID(), 'CurveData');
|
|
1331
1539
|
reactiveCapabilityCurve.curveStyle = __1.CurveStyle.straightLineYValues;
|
|
1332
1540
|
reactiveCapabilityCurve.xUnit = __1.UnitSymbol.W;
|
|
@@ -1348,14 +1556,16 @@ class ConverterIntegral7 {
|
|
|
1348
1556
|
synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
|
|
1349
1557
|
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1350
1558
|
__1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
|
|
1351
|
-
const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `
|
|
1559
|
+
const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Gen_${i7Data.id}`);
|
|
1560
|
+
regulatingControl.enabled = inBetrieb;
|
|
1561
|
+
regulatingControl.targetValue = usoll;
|
|
1352
1562
|
switch (i7Data.spannungsgeregelt) {
|
|
1353
1563
|
case 1: {
|
|
1354
1564
|
regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
|
|
1355
1565
|
break;
|
|
1356
1566
|
}
|
|
1357
1567
|
default: {
|
|
1358
|
-
regulatingControl.mode = __1.RegulatingControlModeKind.
|
|
1568
|
+
regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
|
|
1359
1569
|
}
|
|
1360
1570
|
}
|
|
1361
1571
|
synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
|
|
@@ -1396,6 +1606,11 @@ class ConverterIntegral7 {
|
|
|
1396
1606
|
generatingUnit = new __1.NuclearGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
|
|
1397
1607
|
break;
|
|
1398
1608
|
}
|
|
1609
|
+
case 'HydroGeneratingUnit': {
|
|
1610
|
+
generatingUnit = new __1.HydroGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
|
|
1611
|
+
generatingUnit.energyConversionCapability = __1.HydroEnergyConversionKind.pumpAndGenerator;
|
|
1612
|
+
break;
|
|
1613
|
+
}
|
|
1399
1614
|
}
|
|
1400
1615
|
}
|
|
1401
1616
|
if (!generatingUnit) {
|
|
@@ -1405,7 +1620,11 @@ class ConverterIntegral7 {
|
|
|
1405
1620
|
generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
|
|
1406
1621
|
generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
|
|
1407
1622
|
generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
|
|
1408
|
-
generatingUnit.nominalP =
|
|
1623
|
+
generatingUnit.nominalP = generatingUnit.maxOperatingP;
|
|
1624
|
+
const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
|
|
1625
|
+
const fn = 50;
|
|
1626
|
+
const pn = generatingUnit.maxOperatingP;
|
|
1627
|
+
generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
|
|
1409
1628
|
generatingUnit.addRotatingMachine(synchronousMachine);
|
|
1410
1629
|
synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
|
|
1411
1630
|
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
@@ -1423,20 +1642,35 @@ class ConverterIntegral7 {
|
|
|
1423
1642
|
generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
|
|
1424
1643
|
}
|
|
1425
1644
|
else {
|
|
1426
|
-
this.logger.
|
|
1645
|
+
this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
|
|
1427
1646
|
}
|
|
1428
1647
|
}
|
|
1429
1648
|
else {
|
|
1430
|
-
this.logger.
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
else {
|
|
1434
|
-
this.logger.
|
|
1435
|
-
}
|
|
1649
|
+
this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1650
|
+
}
|
|
1651
|
+
}
|
|
1652
|
+
else {
|
|
1653
|
+
this.logger.debug(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
|
|
1654
|
+
}
|
|
1655
|
+
const smtcr = new SynchronousMachineTimeConstantReactance_1.SynchronousMachineTimeConstantReactance(__1.generateUUID(), `smtcr_${synchronousMachine.name}`);
|
|
1656
|
+
smtcr.enabled = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
1657
|
+
smtcr.tpdo = utils_2.isNumericI7(i7Data.td1s) ? utils_2.convertToNumberI7(i7Data.td1s) : undefined;
|
|
1658
|
+
smtcr.tppdo = utils_2.isNumericI7(i7Data.td2s) ? utils_2.convertToNumberI7(i7Data.td2s) : undefined;
|
|
1659
|
+
smtcr.tpqo = utils_2.isNumericI7(i7Data.tq1s) ? utils_2.convertToNumberI7(i7Data.tq1s) : undefined;
|
|
1660
|
+
smtcr.tppqo = utils_2.isNumericI7(i7Data.tq2s) ? utils_2.convertToNumberI7(i7Data.tq2s) : undefined;
|
|
1661
|
+
smtcr.xDirectSync = utils_2.isNumericI7(i7Data.xdu) ? utils_2.convertToNumberI7(i7Data.xdu) : undefined;
|
|
1662
|
+
smtcr.xDirectTrans = utils_2.isNumericI7(i7Data.xdu1s) ? utils_2.convertToNumberI7(i7Data.xdu1s) : undefined;
|
|
1663
|
+
smtcr.xDirectSubtrans = utils_2.isNumericI7(i7Data.xdu2s) ? utils_2.convertToNumberI7(i7Data.xdu2s) : undefined;
|
|
1664
|
+
smtcr.xQuadSync = utils_2.isNumericI7(i7Data.xqu) ? utils_2.convertToNumberI7(i7Data.xqu) : undefined;
|
|
1665
|
+
smtcr.xQuadTrans = utils_2.isNumericI7(i7Data.xqu1s) ? utils_2.convertToNumberI7(i7Data.xqu1s) : undefined;
|
|
1666
|
+
smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? utils_2.convertToNumberI7(i7Data.xqu2s) : undefined;
|
|
1667
|
+
smtcr.synchronousMachine = synchronousMachine;
|
|
1668
|
+
synchronousMachine.synchronousMachineDynamics = smtcr;
|
|
1436
1669
|
this.cimModel.addRegulatingControl(regulatingControl);
|
|
1437
1670
|
this.cimModel.addGeneratingUnit(generatingUnit);
|
|
1438
1671
|
this.cimModel.addSynchronousMachine(synchronousMachine);
|
|
1439
|
-
this.
|
|
1672
|
+
this.cimModel.addSynchronousMachineTimeConstantReactance(smtcr);
|
|
1673
|
+
this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
|
|
1440
1674
|
}
|
|
1441
1675
|
}
|
|
1442
1676
|
});
|
|
@@ -1450,6 +1684,7 @@ class ConverterIntegral7 {
|
|
|
1450
1684
|
synchronousMachine.type = __1.SynchronousMachineKind.generator;
|
|
1451
1685
|
synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
|
|
1452
1686
|
synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
|
|
1687
|
+
const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
|
|
1453
1688
|
const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
|
|
1454
1689
|
const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
|
|
1455
1690
|
synchronousMachine.maxQ = maxQ;
|
|
@@ -1518,7 +1753,11 @@ class ConverterIntegral7 {
|
|
|
1518
1753
|
generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
|
|
1519
1754
|
generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
|
|
1520
1755
|
generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
|
|
1521
|
-
generatingUnit.nominalP =
|
|
1756
|
+
generatingUnit.nominalP = generatingUnit.maxOperatingP;
|
|
1757
|
+
const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
|
|
1758
|
+
const fn = 50;
|
|
1759
|
+
const pn = generatingUnit.maxOperatingP;
|
|
1760
|
+
generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? utils_2.calculateSigma(fn, pn, kr) : undefined;
|
|
1522
1761
|
generatingUnit.addRotatingMachine(synchronousMachine);
|
|
1523
1762
|
synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
|
|
1524
1763
|
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
@@ -1536,20 +1775,20 @@ class ConverterIntegral7 {
|
|
|
1536
1775
|
generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
|
|
1537
1776
|
}
|
|
1538
1777
|
else {
|
|
1539
|
-
this.logger.
|
|
1778
|
+
this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
|
|
1540
1779
|
}
|
|
1541
1780
|
}
|
|
1542
1781
|
else {
|
|
1543
|
-
this.logger.
|
|
1782
|
+
this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1544
1783
|
}
|
|
1545
1784
|
}
|
|
1546
1785
|
else {
|
|
1547
|
-
this.logger.
|
|
1786
|
+
this.logger.debug(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
|
|
1548
1787
|
}
|
|
1549
1788
|
this.cimModel.addRegulatingControl(regulatingControl);
|
|
1550
1789
|
this.cimModel.addGeneratingUnit(generatingUnit);
|
|
1551
1790
|
this.cimModel.addSynchronousMachine(synchronousMachine);
|
|
1552
|
-
this.
|
|
1791
|
+
this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.KWBLOCK);
|
|
1553
1792
|
}
|
|
1554
1793
|
}
|
|
1555
1794
|
});
|
|
@@ -1561,7 +1800,7 @@ class ConverterIntegral7 {
|
|
|
1561
1800
|
for (const i7Data of result) {
|
|
1562
1801
|
const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
1563
1802
|
const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
|
|
1564
|
-
const kr =
|
|
1803
|
+
const kr = 0;
|
|
1565
1804
|
externalNetworkInjection.governorSCD = kr;
|
|
1566
1805
|
const prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
|
|
1567
1806
|
externalNetworkInjection.referencePriority = prio;
|
|
@@ -1579,18 +1818,18 @@ class ConverterIntegral7 {
|
|
|
1579
1818
|
externalNetworkInjection.description = i7Schluesel;
|
|
1580
1819
|
}
|
|
1581
1820
|
else {
|
|
1582
|
-
this.logger.
|
|
1821
|
+
this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1583
1822
|
}
|
|
1584
1823
|
}
|
|
1585
1824
|
else {
|
|
1586
|
-
this.logger.
|
|
1825
|
+
this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1587
1826
|
}
|
|
1588
1827
|
this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
1589
|
-
this.
|
|
1828
|
+
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG);
|
|
1590
1829
|
}
|
|
1591
1830
|
}
|
|
1592
1831
|
else {
|
|
1593
|
-
this.logger.
|
|
1832
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
|
|
1594
1833
|
}
|
|
1595
1834
|
});
|
|
1596
1835
|
}
|
|
@@ -1611,11 +1850,11 @@ class ConverterIntegral7 {
|
|
|
1611
1850
|
statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
|
|
1612
1851
|
}
|
|
1613
1852
|
else {
|
|
1614
|
-
this.logger.
|
|
1853
|
+
this.logger.debug(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1615
1854
|
}
|
|
1616
1855
|
}
|
|
1617
1856
|
else {
|
|
1618
|
-
this.logger.
|
|
1857
|
+
this.logger.debug(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1619
1858
|
}
|
|
1620
1859
|
const regulatingControl = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
|
|
1621
1860
|
const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
|
|
@@ -1630,15 +1869,15 @@ class ConverterIntegral7 {
|
|
|
1630
1869
|
regulatingControl.terminalUUID = terminal.mrid;
|
|
1631
1870
|
}
|
|
1632
1871
|
else {
|
|
1633
|
-
this.logger.
|
|
1634
|
-
this.logger.
|
|
1872
|
+
this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
|
|
1873
|
+
this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
|
|
1635
1874
|
}
|
|
1636
1875
|
this.cimModel.addStaticVarCompensator(statVarCom);
|
|
1637
|
-
this.
|
|
1876
|
+
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.STATCOM);
|
|
1638
1877
|
}
|
|
1639
1878
|
}
|
|
1640
1879
|
else {
|
|
1641
|
-
this.logger.
|
|
1880
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
|
|
1642
1881
|
}
|
|
1643
1882
|
});
|
|
1644
1883
|
}
|
|
@@ -1659,11 +1898,11 @@ class ConverterIntegral7 {
|
|
|
1659
1898
|
statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
|
|
1660
1899
|
}
|
|
1661
1900
|
else {
|
|
1662
|
-
this.logger.
|
|
1901
|
+
this.logger.debug(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
1663
1902
|
}
|
|
1664
1903
|
}
|
|
1665
1904
|
else {
|
|
1666
|
-
this.logger.
|
|
1905
|
+
this.logger.debug(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
1667
1906
|
}
|
|
1668
1907
|
const regulatingControl = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
|
|
1669
1908
|
const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
|
|
@@ -1678,35 +1917,35 @@ class ConverterIntegral7 {
|
|
|
1678
1917
|
regulatingControl.terminalUUID = terminal.mrid;
|
|
1679
1918
|
}
|
|
1680
1919
|
else {
|
|
1681
|
-
this.logger.
|
|
1920
|
+
this.logger.debug(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
|
|
1682
1921
|
}
|
|
1683
1922
|
this.cimModel.addStaticVarCompensator(statVarCom);
|
|
1684
|
-
this.
|
|
1923
|
+
this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
|
|
1685
1924
|
}
|
|
1686
1925
|
}
|
|
1687
1926
|
else {
|
|
1688
|
-
this.logger.
|
|
1927
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
|
|
1689
1928
|
}
|
|
1690
1929
|
});
|
|
1691
1930
|
}
|
|
1692
1931
|
addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
|
|
1693
|
-
var _a;
|
|
1932
|
+
var _a, _b;
|
|
1694
1933
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1695
1934
|
if (this.statcomRegulatingControls.has(i7TrafoID)) {
|
|
1696
|
-
if (powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds.length) {
|
|
1935
|
+
if ((_a = powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1697
1936
|
let voltage = 0;
|
|
1698
1937
|
let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
|
|
1699
1938
|
for (const pEnd of powerTransformer.powerTransformerEnds) {
|
|
1700
1939
|
const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
|
|
1701
1940
|
if (!baseVoltage)
|
|
1702
1941
|
continue;
|
|
1703
|
-
const v = (
|
|
1942
|
+
const v = (_b = baseVoltage.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
|
|
1704
1943
|
if (v > voltage) {
|
|
1705
1944
|
voltage = v;
|
|
1706
1945
|
powertransfomerEnd = pEnd;
|
|
1707
1946
|
}
|
|
1708
1947
|
}
|
|
1709
|
-
const terminalUUID = powertransfomerEnd.
|
|
1948
|
+
const terminalUUID = powertransfomerEnd.getTerminalUUID();
|
|
1710
1949
|
const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
|
|
1711
1950
|
regulatingControl.terminalUUID = terminalUUID;
|
|
1712
1951
|
this.statcomRegulatingControls.delete(i7TrafoID);
|
|
@@ -1732,11 +1971,11 @@ class ConverterIntegral7 {
|
|
|
1732
1971
|
}
|
|
1733
1972
|
}
|
|
1734
1973
|
else {
|
|
1735
|
-
this.logger.
|
|
1974
|
+
this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
1736
1975
|
}
|
|
1737
1976
|
this.knotenSfIDs.push(i7Data.id);
|
|
1738
1977
|
this.cimModel.addConnectivityNode(connectivityNode);
|
|
1739
|
-
this.
|
|
1978
|
+
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SF);
|
|
1740
1979
|
const connectivityNodeContainer = this.cimModel.getObject(connectivityNode.connectivityNodeContainerUUID);
|
|
1741
1980
|
if (connectivityNodeContainer) {
|
|
1742
1981
|
let baseVoltage;
|
|
@@ -1752,7 +1991,7 @@ class ConverterIntegral7 {
|
|
|
1752
1991
|
}
|
|
1753
1992
|
}
|
|
1754
1993
|
else {
|
|
1755
|
-
this.logger.
|
|
1994
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
|
|
1756
1995
|
}
|
|
1757
1996
|
});
|
|
1758
1997
|
}
|
|
@@ -1767,14 +2006,14 @@ class ConverterIntegral7 {
|
|
|
1767
2006
|
connectivityNode.connectivityNodeContainerUUID = bay.mrid;
|
|
1768
2007
|
}
|
|
1769
2008
|
else {
|
|
1770
|
-
this.logger.
|
|
2009
|
+
this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
1771
2010
|
}
|
|
1772
|
-
this.
|
|
2011
|
+
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_KF);
|
|
1773
2012
|
this.cimModel.addConnectivityNode(connectivityNode);
|
|
1774
2013
|
}
|
|
1775
2014
|
}
|
|
1776
2015
|
else {
|
|
1777
|
-
this.logger.
|
|
2016
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
|
|
1778
2017
|
}
|
|
1779
2018
|
});
|
|
1780
2019
|
}
|
|
@@ -1789,14 +2028,14 @@ class ConverterIntegral7 {
|
|
|
1789
2028
|
connectivityNode.connectivityNodeContainerUUID = bay.mrid;
|
|
1790
2029
|
}
|
|
1791
2030
|
else {
|
|
1792
|
-
this.logger.
|
|
2031
|
+
this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
|
|
1793
2032
|
}
|
|
1794
|
-
this.
|
|
2033
|
+
this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_LK);
|
|
1795
2034
|
this.cimModel.addConnectivityNode(connectivityNode);
|
|
1796
2035
|
}
|
|
1797
2036
|
}
|
|
1798
2037
|
else {
|
|
1799
|
-
this.logger.
|
|
2038
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
|
|
1800
2039
|
}
|
|
1801
2040
|
});
|
|
1802
2041
|
}
|
|
@@ -1808,8 +2047,8 @@ class ConverterIntegral7 {
|
|
|
1808
2047
|
const terminal = new __1.Terminal(__1.generateUUID(), 'T_Schlaufe', String(i7Data.id));
|
|
1809
2048
|
terminal.connected = utils_2.convertToBooleanI7(i7Data.schaltzustand);
|
|
1810
2049
|
terminal.phases = __1.PhaseCode.ABC;
|
|
1811
|
-
this.
|
|
1812
|
-
this.
|
|
2050
|
+
this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
2051
|
+
this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
|
|
1813
2052
|
this.inmemoryObjects.set(i7Data.id, terminal);
|
|
1814
2053
|
this.inmemoryObjects.set(i7Data.knotenzw, terminal);
|
|
1815
2054
|
const eknotenUUID = this.integralID2UUID.get(i7Data.eknoten);
|
|
@@ -1819,12 +2058,12 @@ class ConverterIntegral7 {
|
|
|
1819
2058
|
this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getBaseVoltage());
|
|
1820
2059
|
}
|
|
1821
2060
|
else {
|
|
1822
|
-
this.logger.
|
|
2061
|
+
this.logger.debug(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
|
|
1823
2062
|
}
|
|
1824
2063
|
}
|
|
1825
2064
|
}
|
|
1826
2065
|
else {
|
|
1827
|
-
this.logger.
|
|
2066
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
|
|
1828
2067
|
}
|
|
1829
2068
|
});
|
|
1830
2069
|
}
|
|
@@ -1833,19 +2072,19 @@ class ConverterIntegral7 {
|
|
|
1833
2072
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT)) {
|
|
1834
2073
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_STANDORT, 0, 0, standortIDs));
|
|
1835
2074
|
for (const i7Data of result) {
|
|
1836
|
-
const
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
}
|
|
2075
|
+
const schema = {
|
|
2076
|
+
netzId: i7Data.standort,
|
|
2077
|
+
variantenNr: i7Data.variantennr,
|
|
2078
|
+
schemaId: i7Data.id,
|
|
2079
|
+
schemaIdParent: undefined,
|
|
2080
|
+
x: i7Data.xrel,
|
|
2081
|
+
y: i7Data.yrel
|
|
2082
|
+
};
|
|
2083
|
+
this.schemaIDSchemastandort.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
|
|
1845
2084
|
}
|
|
1846
2085
|
}
|
|
1847
2086
|
else {
|
|
1848
|
-
this.logger.
|
|
2087
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
|
|
1849
2088
|
}
|
|
1850
2089
|
});
|
|
1851
2090
|
}
|
|
@@ -1854,42 +2093,36 @@ class ConverterIntegral7 {
|
|
|
1854
2093
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO)) {
|
|
1855
2094
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_KNOTEN_SO, 0, 0, knotenSoIDs));
|
|
1856
2095
|
for (const i7Data of result) {
|
|
1857
|
-
const
|
|
1858
|
-
|
|
1859
|
-
if (
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
2096
|
+
const diagramUUID = this.i7SchemaID2UUID.get(i7Data.variantennr);
|
|
2097
|
+
const schemaStandordObject = I7Schema_1.getSchemaValue(i7Data.variantennr, i7Data.nsgso, this.schemaIDSchemastandort);
|
|
2098
|
+
if (!diagramUUID || !schemaStandordObject) {
|
|
2099
|
+
continue;
|
|
2100
|
+
}
|
|
2101
|
+
const diagramObject = new __1.DiagramObject(__1.generateUUID(), 'Abzweig');
|
|
2102
|
+
diagramObject.diagramUUID = diagramUUID;
|
|
2103
|
+
if (!this.cimModel.diagrams.has(diagramUUID)) {
|
|
2104
|
+
const d = this.cimModel.getObject(diagramUUID);
|
|
2105
|
+
console.log();
|
|
2106
|
+
}
|
|
2107
|
+
diagramObject.setDiagram(this.cimModel.getDiagram(diagramUUID));
|
|
2108
|
+
const diagramObjectPoint = new __1.DiagramObjectPoint(schemaStandordObject.x + i7Data.xrel, schemaStandordObject.y + i7Data.yrel);
|
|
2109
|
+
diagramObjectPoint.mrid = __1.generateUUID();
|
|
2110
|
+
diagramObjectPoint.diagramObject = diagramObject;
|
|
2111
|
+
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
1864
2112
|
this.cimModel.addDiagramObject(diagramObject);
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
diagramObject.addDiagramObjectPoint(diagramObjectPoint);
|
|
1871
|
-
const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
|
|
1872
|
-
const cn = this.cimModel.getObject(cnUUID);
|
|
1873
|
-
if (cn) {
|
|
1874
|
-
diagramObject.identifiedObjectUUID = cn.mrid;
|
|
1875
|
-
}
|
|
1876
|
-
else {
|
|
1877
|
-
this.logger.info(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
|
|
1878
|
-
}
|
|
1879
|
-
const diagramUUID = this.integralID2UUID.get(i7Data.variantennr);
|
|
1880
|
-
const diagram = this.cimModel.getDiagram(diagramUUID);
|
|
1881
|
-
if (diagram) {
|
|
1882
|
-
diagramObject.diagramUUID = diagram.mrid;
|
|
1883
|
-
}
|
|
1884
|
-
else {
|
|
1885
|
-
}
|
|
2113
|
+
this.cimModel.addDiagramObjectPoint(diagramObjectPoint);
|
|
2114
|
+
const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
|
|
2115
|
+
const cn = this.cimModel.getObject(cnUUID);
|
|
2116
|
+
if (cn) {
|
|
2117
|
+
diagramObject.identifiedObjectUUID = cn.mrid;
|
|
1886
2118
|
}
|
|
1887
2119
|
else {
|
|
2120
|
+
this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
|
|
1888
2121
|
}
|
|
1889
2122
|
}
|
|
1890
2123
|
}
|
|
1891
2124
|
else {
|
|
1892
|
-
this.logger.
|
|
2125
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
|
|
1893
2126
|
}
|
|
1894
2127
|
});
|
|
1895
2128
|
}
|
|
@@ -1898,26 +2131,19 @@ class ConverterIntegral7 {
|
|
|
1898
2131
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE)) {
|
|
1899
2132
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, 0, 0, saIDs));
|
|
1900
2133
|
for (const i7Data of result) {
|
|
1901
|
-
const
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
}
|
|
1910
|
-
if (this.integralNsgStandort.has(saNsgImpl.nsgsoid)) {
|
|
1911
|
-
saNsgImpl.nsgso = this.integralNsgStandort.get(saNsgImpl.nsgsoid);
|
|
1912
|
-
saNsgImpl.nsgso.schaltanlagenNsg.push(saNsgImpl);
|
|
1913
|
-
}
|
|
1914
|
-
else {
|
|
1915
|
-
this.logger.info(`SchaltanlageNSG ${i7Data.id} hat keine standortNsg Instanz.`);
|
|
1916
|
-
}
|
|
2134
|
+
const schema = {
|
|
2135
|
+
netzId: i7Data.schaltanlage,
|
|
2136
|
+
variantenNr: i7Data.variantennr,
|
|
2137
|
+
schemaId: i7Data.id,
|
|
2138
|
+
schemaIdParent: i7Data.nsgso,
|
|
2139
|
+
x: i7Data.xrel,
|
|
2140
|
+
y: i7Data.yrel
|
|
2141
|
+
};
|
|
2142
|
+
this.schemaIDSchaltanlage.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
|
|
1917
2143
|
}
|
|
1918
2144
|
}
|
|
1919
2145
|
else {
|
|
1920
|
-
this.logger.
|
|
2146
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
|
|
1921
2147
|
}
|
|
1922
2148
|
});
|
|
1923
2149
|
}
|
|
@@ -1926,160 +2152,19 @@ class ConverterIntegral7 {
|
|
|
1926
2152
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT)) {
|
|
1927
2153
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenabschnittIDs));
|
|
1928
2154
|
for (const i7Data of result) {
|
|
1929
|
-
const
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
}
|
|
1938
|
-
if (saabNsgImpl.saabschnitt && saabNsgImpl.saabschnitt.schaltanlage) {
|
|
1939
|
-
if (saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg) {
|
|
1940
|
-
saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg.saabNsg.push(saabNsgImpl);
|
|
1941
|
-
saabNsgImpl.nsgsa = saabNsgImpl.saabschnitt.schaltanlage.schaltanlageNsg;
|
|
1942
|
-
}
|
|
1943
|
-
}
|
|
1944
|
-
}
|
|
1945
|
-
}
|
|
1946
|
-
else {
|
|
1947
|
-
this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
|
|
1948
|
-
}
|
|
1949
|
-
});
|
|
1950
|
-
}
|
|
1951
|
-
convertSchemaSammelschienenAbschnitte() {
|
|
1952
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
1953
|
-
for (const sa of this.integralSchaltanlagen.values()) {
|
|
1954
|
-
const totalSlots = sa.getTotalSlots();
|
|
1955
|
-
if (sa.schaltanlageNsg) {
|
|
1956
|
-
const saAusrichtung = sa.schaltanlageNsg.ausrichtung;
|
|
1957
|
-
for (const saab of sa.saab) {
|
|
1958
|
-
for (const ssab of saab.ssab) {
|
|
1959
|
-
const cnUUID = this.integralID2UUID.get(ssab.id);
|
|
1960
|
-
const connectivityNode = this.cimModel.getConnectivityNode(cnUUID);
|
|
1961
|
-
const standortPoint = sa.standort.getPoint();
|
|
1962
|
-
const saPoint = sa.getPoint();
|
|
1963
|
-
const ssabPoint = standortPoint.translate(saPoint.x, saPoint.y);
|
|
1964
|
-
const offset = saab.schaltanlagenabschnittNsg.nslots;
|
|
1965
|
-
const laenge = saab.schaltanlagenabschnittNsg.laenge;
|
|
1966
|
-
const delta = sa.getDelta(saab);
|
|
1967
|
-
const hoehe = saab.ssab.length * 8;
|
|
1968
|
-
const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Diagram');
|
|
1969
|
-
const points = [];
|
|
1970
|
-
if (saAusrichtung === 0) {
|
|
1971
|
-
points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
|
|
1972
|
-
points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16) + (laenge * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
|
|
1973
|
-
}
|
|
1974
|
-
else if (saAusrichtung === 1) {
|
|
1975
|
-
points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (offset * 16)));
|
|
1976
|
-
points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (offset * 16) + (laenge * 16)));
|
|
1977
|
-
}
|
|
1978
|
-
else if (saAusrichtung === 2) {
|
|
1979
|
-
points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
|
|
1980
|
-
points.push(new Point_1.Point(ssabPoint.x - 8 + (offset * 16) + (laenge * 16), ssabPoint.y + 4 - hoehe + ssab.pos * 8 + delta));
|
|
1981
|
-
}
|
|
1982
|
-
else if (saAusrichtung === 3) {
|
|
1983
|
-
points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (totalSlots * 16) - (offset * 16)));
|
|
1984
|
-
points.push(new Point_1.Point(ssabPoint.x + 4 - hoehe + ssab.pos * 8 + delta, ssabPoint.y - 8 + (totalSlots * 16) - (offset * 16 + laenge * 16)));
|
|
1985
|
-
}
|
|
1986
|
-
utils_schema_1.createDiagramObjectPoints(diagramObject, points);
|
|
1987
|
-
diagramObject.identifiedObjectUUID = connectivityNode.mrid;
|
|
1988
|
-
this.cimModel.addDiagramObject(diagramObject);
|
|
1989
|
-
const diagramUUID = this.integralID2UUID.get(sa.schaltanlageNsg.variantennr);
|
|
1990
|
-
const diagram = this.cimModel.getDiagram(diagramUUID);
|
|
1991
|
-
if (diagram) {
|
|
1992
|
-
diagramObject.diagramUUID = diagram.mrid;
|
|
1993
|
-
}
|
|
1994
|
-
else {
|
|
1995
|
-
}
|
|
1996
|
-
}
|
|
1997
|
-
}
|
|
1998
|
-
}
|
|
1999
|
-
}
|
|
2000
|
-
});
|
|
2001
|
-
}
|
|
2002
|
-
convertSchemaSchaltfelder(schaltfeldIDs) {
|
|
2003
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2004
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTFELD)) {
|
|
2005
|
-
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTFELD, 0, 0, schaltfeldIDs));
|
|
2006
|
-
for (const i7Data of result) {
|
|
2007
|
-
const sfNSG = new SchaltfeldNsg_1.SchaltfeldNsgImpl(i7Data);
|
|
2008
|
-
sfNSG.schaltfeld = this.integralSchaltfelder.get(sfNSG.schaltfeldid);
|
|
2009
|
-
if (sfNSG.schaltfeld) {
|
|
2010
|
-
sfNSG.schaltfeld.schaltfeldNsg = sfNSG;
|
|
2011
|
-
}
|
|
2012
|
-
sfNSG.nsgsaa = this.integralNsgSchaltanlagenabschnitt.get(sfNSG.nsgsaaid);
|
|
2013
|
-
this.integralNsgSchaltfelder.set(i7Data.id, sfNSG);
|
|
2014
|
-
const sf = sfNSG.schaltfeld;
|
|
2015
|
-
if (sf) {
|
|
2016
|
-
const standort = sf.getStandort();
|
|
2017
|
-
const sa = sf.getSA();
|
|
2018
|
-
const saab = sf.getSAAB();
|
|
2019
|
-
if (standort && sa && saab) {
|
|
2020
|
-
const pointSt = standort.getPoint();
|
|
2021
|
-
const pointSaRel = sa.getPoint();
|
|
2022
|
-
const pointSa = pointSt.translate(pointSaRel.x, pointSaRel.y);
|
|
2023
|
-
const slotOffset = saab.getSlotOffset();
|
|
2024
|
-
const saAusrichtung = sa.schaltanlageNsg.ausrichtung;
|
|
2025
|
-
const deltaAusrichtung = sfNSG.deltaausrichtung;
|
|
2026
|
-
const slotnummer = sfNSG.slotnummer;
|
|
2027
|
-
const d = 4;
|
|
2028
|
-
const deltaSSAB = sa.getDelta(saab);
|
|
2029
|
-
const posSSAB = sfNSG.schaltfeld.getPosSSAB(saAusrichtung, deltaAusrichtung);
|
|
2030
|
-
let pointLinksOben, pointRechtsUnten;
|
|
2031
|
-
if (saAusrichtung === 0) {
|
|
2032
|
-
const pointSf = pointSa.translate(16 * (slotnummer + slotOffset) - 16, 0);
|
|
2033
|
-
if (deltaAusrichtung === 1) {
|
|
2034
|
-
pointSf.y = pointSf.y + 65 + deltaSSAB;
|
|
2035
|
-
pointRechtsUnten = pointSf.translate(32, 0);
|
|
2036
|
-
pointLinksOben = pointSf.translate(0, -sfNSG.hoehe);
|
|
2037
|
-
}
|
|
2038
|
-
else {
|
|
2039
|
-
pointSf.y = pointSf.y - sfNSG.hoehe + deltaSSAB;
|
|
2040
|
-
pointLinksOben = pointSf.translate(0, 0);
|
|
2041
|
-
pointRechtsUnten = pointSf.translate(32, sfNSG.hoehe);
|
|
2042
|
-
}
|
|
2043
|
-
}
|
|
2044
|
-
else if (saAusrichtung === 1) {
|
|
2045
|
-
}
|
|
2046
|
-
else if (saAusrichtung === 2) {
|
|
2047
|
-
}
|
|
2048
|
-
else if (saAusrichtung === 3) {
|
|
2049
|
-
}
|
|
2050
|
-
if (pointLinksOben && pointRechtsUnten) {
|
|
2051
|
-
const points = [];
|
|
2052
|
-
points.push(new Point_1.Point(pointLinksOben.x, pointLinksOben.y));
|
|
2053
|
-
points.push(new Point_1.Point(pointRechtsUnten.x, pointLinksOben.y));
|
|
2054
|
-
points.push(new Point_1.Point(pointRechtsUnten.x, pointRechtsUnten.y));
|
|
2055
|
-
points.push(new Point_1.Point(pointLinksOben.x, pointRechtsUnten.y));
|
|
2056
|
-
points.push(new Point_1.Point(pointLinksOben.x, pointLinksOben.y));
|
|
2057
|
-
points.push(new Point_1.Point(pointLinksOben.x + 16, pointLinksOben.y));
|
|
2058
|
-
points.push(new Point_1.Point(pointLinksOben.x + 16, pointRechtsUnten.y));
|
|
2059
|
-
const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'Schaltfeld');
|
|
2060
|
-
const bayUUID = this.integralID2UUID.get(sf.id);
|
|
2061
|
-
const bay = this.cimModel.getBay(bayUUID);
|
|
2062
|
-
if (bay) {
|
|
2063
|
-
utils_schema_1.createDiagramObjectPoints(diagramObject, points);
|
|
2064
|
-
diagramObject.identifiedObjectUUID = bay.mrid;
|
|
2065
|
-
const diagramUUID = this.integralID2UUID.get(sa.schaltanlageNsg.variantennr);
|
|
2066
|
-
const diagram = this.cimModel.getDiagram(diagramUUID);
|
|
2067
|
-
if (diagram) {
|
|
2068
|
-
diagramObject.diagramUUID = diagram.mrid;
|
|
2069
|
-
}
|
|
2070
|
-
else {
|
|
2071
|
-
}
|
|
2072
|
-
}
|
|
2073
|
-
else {
|
|
2074
|
-
this.logger.info(`DiagramObject Schaltfeld ${diagramObject.mrid} mit der VariantenNr ${sa.schaltanlageNsg.variantennr} hat kein CIM Schaltfeld ${sf.id} ${bayUUID}.`);
|
|
2075
|
-
}
|
|
2076
|
-
}
|
|
2077
|
-
}
|
|
2078
|
-
}
|
|
2155
|
+
const schema = {
|
|
2156
|
+
netzId: i7Data.saabschnitt,
|
|
2157
|
+
variantenNr: i7Data.variantennr,
|
|
2158
|
+
schemaId: i7Data.id,
|
|
2159
|
+
schemaIdParent: i7Data.nsgsa,
|
|
2160
|
+
x: i7Data.xrel,
|
|
2161
|
+
y: i7Data.yrel
|
|
2162
|
+
};
|
|
2163
|
+
this.schemaIDSchaltanlagenabschnitt.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
|
|
2079
2164
|
}
|
|
2080
2165
|
}
|
|
2081
2166
|
else {
|
|
2082
|
-
this.logger.
|
|
2167
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
|
|
2083
2168
|
}
|
|
2084
2169
|
});
|
|
2085
2170
|
}
|
|
@@ -2097,7 +2182,7 @@ class ConverterIntegral7 {
|
|
|
2097
2182
|
junction.equipmentContainerUUID = equipmentContainer.mrid;
|
|
2098
2183
|
}
|
|
2099
2184
|
else {
|
|
2100
|
-
this.logger.
|
|
2185
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
2101
2186
|
}
|
|
2102
2187
|
if (cnStart) {
|
|
2103
2188
|
const terminal = __1.createConnection(this.cimModel, junction, cnStart, __1.PhaseCode.ABC, 1);
|
|
@@ -2106,7 +2191,7 @@ class ConverterIntegral7 {
|
|
|
2106
2191
|
}
|
|
2107
2192
|
}
|
|
2108
2193
|
else {
|
|
2109
|
-
this.logger.
|
|
2194
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
2110
2195
|
}
|
|
2111
2196
|
if (cnZiel) {
|
|
2112
2197
|
const terminal = __1.createConnection(this.cimModel, junction, cnZiel, __1.PhaseCode.ABC, 2);
|
|
@@ -2115,18 +2200,18 @@ class ConverterIntegral7 {
|
|
|
2115
2200
|
}
|
|
2116
2201
|
}
|
|
2117
2202
|
else {
|
|
2118
|
-
this.logger.
|
|
2203
|
+
this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
2119
2204
|
}
|
|
2120
2205
|
const baseVoltage = utils_2.getTerminalUn(this.cimModel, junction);
|
|
2121
2206
|
if (baseVoltage) {
|
|
2122
2207
|
junction.baseVoltageUUID = baseVoltage.mrid;
|
|
2123
2208
|
}
|
|
2124
|
-
this.
|
|
2209
|
+
this.addIdMapping(i7Data.id, junction.mrid, integral_sql_1.Integral7TableNames.KNOTEN_STARR);
|
|
2125
2210
|
this.cimModel.addJunction(junction);
|
|
2126
2211
|
}
|
|
2127
2212
|
}
|
|
2128
2213
|
else {
|
|
2129
|
-
this.logger.
|
|
2214
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
|
|
2130
2215
|
}
|
|
2131
2216
|
});
|
|
2132
2217
|
}
|
|
@@ -2159,50 +2244,21 @@ class ConverterIntegral7 {
|
|
|
2159
2244
|
__1.createConnection(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
|
|
2160
2245
|
}
|
|
2161
2246
|
else {
|
|
2162
|
-
this.logger.
|
|
2247
|
+
this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
|
|
2163
2248
|
}
|
|
2164
2249
|
const target = this.inmemoryObjects.get(i7Data.eknoten);
|
|
2165
2250
|
if (target) {
|
|
2166
2251
|
__1.createConnection(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
|
|
2167
2252
|
}
|
|
2168
2253
|
else {
|
|
2169
|
-
this.logger.
|
|
2254
|
+
this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
|
|
2170
2255
|
}
|
|
2171
2256
|
this.cimModel.addEquivalentBranch(equivalentBranch);
|
|
2172
|
-
this.
|
|
2257
|
+
this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
|
|
2173
2258
|
}
|
|
2174
2259
|
}
|
|
2175
2260
|
else {
|
|
2176
|
-
this.logger.
|
|
2177
|
-
}
|
|
2178
|
-
});
|
|
2179
|
-
}
|
|
2180
|
-
convertStromkreise() {
|
|
2181
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2182
|
-
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
|
|
2183
|
-
const result = yield this.queryFunctionWrapper(`SELECT DISTINCT kurzname, bezeichner FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`);
|
|
2184
|
-
for (const i7Data of result) {
|
|
2185
|
-
let line = utils_2.getLineByAttribute(this.cimModel, 'name', i7Data.bezeichner);
|
|
2186
|
-
if (!line) {
|
|
2187
|
-
line = new __1.Line(__1.generateUUID());
|
|
2188
|
-
line.name = i7Data.bezeichner ? i7Data.bezeichner : 'Stromkreis_' + i7Data.kurzname;
|
|
2189
|
-
line.shortName = i7Data.kurzname;
|
|
2190
|
-
const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, 'ENTSO-E');
|
|
2191
|
-
const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, 'Deutschland', region);
|
|
2192
|
-
line.regionUUID = subregion.mrid;
|
|
2193
|
-
const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
|
|
2194
|
-
utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
|
|
2195
|
-
integral_prefix_1.MITTIGER_PUNKT +
|
|
2196
|
-
utils_2.ueberpruefeZeichenkette(i7Data.kurzname) +
|
|
2197
|
-
integral_prefix_1.MITTIGER_PUNKT +
|
|
2198
|
-
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
|
|
2199
|
-
line.description = i7Schluessel;
|
|
2200
|
-
this.cimModel.addLine(line);
|
|
2201
|
-
}
|
|
2202
|
-
}
|
|
2203
|
-
}
|
|
2204
|
-
else {
|
|
2205
|
-
this.logger.info(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
|
|
2261
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
|
|
2206
2262
|
}
|
|
2207
2263
|
});
|
|
2208
2264
|
}
|
|
@@ -2217,7 +2273,7 @@ class ConverterIntegral7 {
|
|
|
2217
2273
|
}
|
|
2218
2274
|
}
|
|
2219
2275
|
else {
|
|
2220
|
-
this.logger.
|
|
2276
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
|
|
2221
2277
|
}
|
|
2222
2278
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
|
|
2223
2279
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
|
|
@@ -2228,15 +2284,20 @@ class ConverterIntegral7 {
|
|
|
2228
2284
|
}
|
|
2229
2285
|
}
|
|
2230
2286
|
else {
|
|
2231
|
-
this.logger.
|
|
2287
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
|
|
2232
2288
|
}
|
|
2233
2289
|
});
|
|
2234
2290
|
}
|
|
2235
|
-
convertLeitungen(limit, offset) {
|
|
2291
|
+
convertLeitungen(limit, offset, defaultValuesConfig) {
|
|
2236
2292
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2237
2293
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
|
|
2238
2294
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEITUNG, limit, offset, []));
|
|
2295
|
+
const leitungIDs = result.map(elem => elem.id);
|
|
2296
|
+
const leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STROMKREISABSCHNITT, limit, offset, leitungIDs));
|
|
2239
2297
|
for (const i7Data of result) {
|
|
2298
|
+
const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
|
|
2299
|
+
if (!(stromkreisabschnitte === null || stromkreisabschnitte === void 0 ? void 0 : stromkreisabschnitte.length))
|
|
2300
|
+
continue;
|
|
2240
2301
|
const leitung = new Leitung_1.LeitungImpl(i7Data);
|
|
2241
2302
|
this.integralLeitungen.set(i7Data.id, leitung);
|
|
2242
2303
|
const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
|
|
@@ -2253,42 +2314,79 @@ class ConverterIntegral7 {
|
|
|
2253
2314
|
utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
|
|
2254
2315
|
integral_prefix_1.MITTIGER_PUNKT +
|
|
2255
2316
|
utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
|
|
2256
|
-
const
|
|
2257
|
-
this.cimModel.
|
|
2258
|
-
this.
|
|
2259
|
-
|
|
2260
|
-
|
|
2317
|
+
const line = new __1.Line(__1.getUUID(i7Data.guid), name);
|
|
2318
|
+
const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
|
|
2319
|
+
const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
|
|
2320
|
+
line.regionUUID = subregion.mrid;
|
|
2321
|
+
const acLineSegments = [];
|
|
2322
|
+
for (const stk of stromkreisabschnitte) {
|
|
2323
|
+
const acLineSegment = new __1.ACLineSegment(__1.generateUUID(), name, i7Data.stkabname, i7Schluessel);
|
|
2324
|
+
this.setACLineSegmentProperties(acLineSegment, stk, stk.typ, defaultValuesConfig);
|
|
2325
|
+
acLineSegment.description = stk.nametyp;
|
|
2261
2326
|
acLineSegment.equipmentContainerUUID = line.mrid;
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
this.
|
|
2327
|
+
line.equipmentsUUIDS.push(acLineSegment.mrid);
|
|
2328
|
+
acLineSegments.push(acLineSegment);
|
|
2329
|
+
this.addIdMapping(stk.id, acLineSegment.mrid, integral_sql_1.Integral7TableNames.LEITUNG);
|
|
2330
|
+
this.cimModel.addACLineSegment(acLineSegment);
|
|
2331
|
+
}
|
|
2332
|
+
this.cimModel.addLine(line);
|
|
2333
|
+
const anzahl = acLineSegments.length;
|
|
2334
|
+
for (let i = 0; i < anzahl - 1; i++) {
|
|
2335
|
+
const cn = new __1.ConnectivityNode(__1.generateUUID(), 'CN_Lt');
|
|
2336
|
+
const acLineSegment1 = acLineSegments[i];
|
|
2337
|
+
const t1 = __1.createConnection(this.cimModel, acLineSegment1, cn, __1.PhaseCode.ABC);
|
|
2338
|
+
this.setACLineSegmentCurrentLimt(acLineSegment1, acLineSegment1.description, t1.mrid);
|
|
2339
|
+
const acLineSegment2 = acLineSegments[i + 1];
|
|
2340
|
+
const t2 = __1.createConnection(this.cimModel, acLineSegment2, cn, __1.PhaseCode.ABC);
|
|
2341
|
+
this.setACLineSegmentCurrentLimt(acLineSegment2, acLineSegment2.description, t2.mrid);
|
|
2342
|
+
cn.connectivityNodeContainerUUID = acLineSegment1.equipmentContainerUUID;
|
|
2343
|
+
this.cimModel.addConnectivityNode(cn);
|
|
2265
2344
|
}
|
|
2266
2345
|
const start = this.inmemoryObjects.get(i7Data.aknoten);
|
|
2346
|
+
const acLineSegmentStart = acLineSegments[0];
|
|
2267
2347
|
if (start) {
|
|
2268
|
-
const terminal = __1.createConnection(this.cimModel,
|
|
2269
|
-
|
|
2348
|
+
const terminal = __1.createConnection(this.cimModel, acLineSegmentStart, start, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 1);
|
|
2349
|
+
this.setACLineSegmentCurrentLimt(acLineSegmentStart, acLineSegmentStart.description, terminal.mrid);
|
|
2350
|
+
if (!acLineSegmentStart.baseVoltage) {
|
|
2270
2351
|
const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
|
|
2271
|
-
|
|
2352
|
+
acLineSegmentStart.baseVoltage = baseVoltage;
|
|
2272
2353
|
}
|
|
2273
2354
|
}
|
|
2274
2355
|
else {
|
|
2275
|
-
this.logger.
|
|
2356
|
+
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
|
|
2276
2357
|
}
|
|
2277
2358
|
const target = this.inmemoryObjects.get(i7Data.eknoten);
|
|
2359
|
+
const acLineSegmentZiel = acLineSegments[anzahl - 1];
|
|
2278
2360
|
if (target) {
|
|
2279
|
-
const terminal = __1.createConnection(this.cimModel,
|
|
2280
|
-
|
|
2361
|
+
const terminal = __1.createConnection(this.cimModel, acLineSegmentZiel, target, __1.PhaseCode.ABC, acLineSegmentStart.terminalsUUIDs.length + 2);
|
|
2362
|
+
this.setACLineSegmentCurrentLimt(acLineSegmentZiel, acLineSegmentZiel.description, terminal.mrid);
|
|
2363
|
+
if (!acLineSegmentZiel.baseVoltage) {
|
|
2281
2364
|
const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
|
|
2282
|
-
|
|
2365
|
+
acLineSegmentZiel.baseVoltage = baseVoltage;
|
|
2283
2366
|
}
|
|
2284
2367
|
}
|
|
2285
2368
|
else {
|
|
2286
|
-
this.logger.
|
|
2369
|
+
this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
|
|
2370
|
+
}
|
|
2371
|
+
const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
|
|
2372
|
+
if (!stkBaseVoltage) {
|
|
2373
|
+
this.logger.error(`Leitung ${i7Data.id}: Spannung konnte nicht bestimmt werden.`);
|
|
2374
|
+
continue;
|
|
2375
|
+
}
|
|
2376
|
+
for (const acLineSegment of acLineSegments) {
|
|
2377
|
+
acLineSegment.baseVoltage = stkBaseVoltage.baseVoltage;
|
|
2378
|
+
for (let i = 0; i < acLineSegment.terminalsUUIDs.length; i++) {
|
|
2379
|
+
let terminal = this.cimModel.getTerminal(acLineSegment.terminalsUUIDs[i]);
|
|
2380
|
+
if (!terminal)
|
|
2381
|
+
terminal = this.inmemoryObjects.get(i7Data.aknoten);
|
|
2382
|
+
if (terminal)
|
|
2383
|
+
terminal.sequenceNumber = i + 1;
|
|
2384
|
+
}
|
|
2287
2385
|
}
|
|
2288
2386
|
}
|
|
2289
2387
|
}
|
|
2290
2388
|
else {
|
|
2291
|
-
this.logger.
|
|
2389
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
|
|
2292
2390
|
}
|
|
2293
2391
|
});
|
|
2294
2392
|
}
|
|
@@ -2302,12 +2400,12 @@ class ConverterIntegral7 {
|
|
|
2302
2400
|
this.setACLineSegmentProperties(acLineSegment, i7Data, 'Freileitung', defaultValuesConfig);
|
|
2303
2401
|
}
|
|
2304
2402
|
else {
|
|
2305
|
-
this.logger.
|
|
2403
|
+
this.logger.debug(`Freileitung ${i7Data.id} besitzt kein Leitungsobjekt.`);
|
|
2306
2404
|
}
|
|
2307
2405
|
}
|
|
2308
2406
|
}
|
|
2309
2407
|
else {
|
|
2310
|
-
this.logger.
|
|
2408
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
|
|
2311
2409
|
}
|
|
2312
2410
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
|
|
2313
2411
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KABEL, 0, 0, leitungsIDs));
|
|
@@ -2317,12 +2415,12 @@ class ConverterIntegral7 {
|
|
|
2317
2415
|
this.setACLineSegmentProperties(acLineSegment, i7Data, 'Kabel', defaultValuesConfig);
|
|
2318
2416
|
}
|
|
2319
2417
|
else {
|
|
2320
|
-
this.logger.
|
|
2418
|
+
this.logger.debug(`Kabel ${i7Data.id} besitzt kein Leitungsobjekt.`);
|
|
2321
2419
|
}
|
|
2322
2420
|
}
|
|
2323
2421
|
}
|
|
2324
2422
|
else {
|
|
2325
|
-
this.logger.
|
|
2423
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
|
|
2326
2424
|
}
|
|
2327
2425
|
});
|
|
2328
2426
|
}
|
|
@@ -2352,7 +2450,7 @@ class ConverterIntegral7 {
|
|
|
2352
2450
|
}
|
|
2353
2451
|
}
|
|
2354
2452
|
else {
|
|
2355
|
-
this.logger.
|
|
2453
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
|
|
2356
2454
|
}
|
|
2357
2455
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
|
|
2358
2456
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
|
|
@@ -2388,11 +2486,11 @@ class ConverterIntegral7 {
|
|
|
2388
2486
|
}
|
|
2389
2487
|
}
|
|
2390
2488
|
else {
|
|
2391
|
-
this.logger.
|
|
2489
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
|
|
2392
2490
|
}
|
|
2393
2491
|
});
|
|
2394
2492
|
}
|
|
2395
|
-
convertTrafo2W(limit, offset) {
|
|
2493
|
+
convertTrafo2W(limit, offset, defaultValuesConfig) {
|
|
2396
2494
|
var _a;
|
|
2397
2495
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2398
2496
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
|
|
@@ -2412,32 +2510,20 @@ class ConverterIntegral7 {
|
|
|
2412
2510
|
const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
|
|
2413
2511
|
const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
|
|
2414
2512
|
const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
|
|
2415
|
-
const
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
2422
|
-
}
|
|
2423
|
-
const target = this.inmemoryObjects.get(i7Data.eknoten);
|
|
2424
|
-
let targetTerminal;
|
|
2425
|
-
if (target) {
|
|
2426
|
-
targetTerminal = __1.createConnection(this.cimModel, powerTransformer, target, __1.PhaseCode.ABC, 2);
|
|
2427
|
-
}
|
|
2428
|
-
else {
|
|
2429
|
-
this.logger.info(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
|
|
2430
|
-
}
|
|
2513
|
+
const startTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.aknoten), __1.PhaseCode.ABC, 1);
|
|
2514
|
+
if (!startTerminal)
|
|
2515
|
+
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
2516
|
+
const targetTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.eknoten), __1.PhaseCode.ABC, 2);
|
|
2517
|
+
if (!targetTerminal)
|
|
2518
|
+
this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
|
|
2431
2519
|
const schaltgruppe = i7Data.schaltgr;
|
|
2432
2520
|
const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1${powerTransformer.name}`);
|
|
2433
2521
|
powerTransformerEnd1.endNumber = 1;
|
|
2434
|
-
powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
2435
|
-
powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
2436
2522
|
const pkr = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '');
|
|
2437
2523
|
const ukr = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '') / 100;
|
|
2438
2524
|
const sr = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
|
|
2439
2525
|
const ur = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
|
|
2440
|
-
const ir1 =
|
|
2526
|
+
const ir1 = sr * 1000000 / (ur * 1000 * Math.sqrt(3));
|
|
2441
2527
|
const p0 = utils_2.isNumericI7(i7Data.p_leer) ? utils_2.convertToNumberI7(i7Data.p_leer) : 0;
|
|
2442
2528
|
const iLeer = utils_2.isNumericI7(i7Data.i_leer) ? utils_2.convertToNumberI7(i7Data.i_leer) : 0;
|
|
2443
2529
|
powerTransformerEnd1.r = utils_2.calculateR(ur, pkr, sr);
|
|
@@ -2447,36 +2533,30 @@ class ConverterIntegral7 {
|
|
|
2447
2533
|
powerTransformerEnd1.ratedU = ur;
|
|
2448
2534
|
powerTransformerEnd1.ratedS = sr;
|
|
2449
2535
|
if (powerTransformerEnd1.ratedU) {
|
|
2450
|
-
|
|
2451
|
-
if (!baseVoltage) {
|
|
2452
|
-
baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
|
|
2453
|
-
}
|
|
2536
|
+
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
|
|
2454
2537
|
powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
|
|
2455
2538
|
}
|
|
2456
2539
|
else {
|
|
2457
|
-
this.logger.
|
|
2540
|
+
this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
|
|
2458
2541
|
}
|
|
2459
2542
|
const terminal = startTerminal;
|
|
2460
|
-
if (
|
|
2461
|
-
powerTransformerEnd1.terminalUUID =
|
|
2462
|
-
this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name,
|
|
2543
|
+
if (startTerminal) {
|
|
2544
|
+
powerTransformerEnd1.terminalUUID = startTerminal.mrid;
|
|
2545
|
+
this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, startTerminal.mrid, ir1);
|
|
2463
2546
|
if (sternpunktKnotenMap.has(i7Data.id)) {
|
|
2464
2547
|
if (sternpunktKnotenMap.get(i7Data.id).has(i7Data.aknknoten1p)) {
|
|
2465
|
-
this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1,
|
|
2548
|
+
this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, startTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort, defaultValuesConfig);
|
|
2466
2549
|
}
|
|
2467
2550
|
}
|
|
2468
2551
|
}
|
|
2469
2552
|
else {
|
|
2470
|
-
this.logger.
|
|
2553
|
+
this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
|
|
2471
2554
|
}
|
|
2472
2555
|
powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
|
|
2473
2556
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
|
|
2474
2557
|
this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
|
|
2475
|
-
utils_2.createTapChanger(i7Data, powerTransformerEnd1, this.cimModel, powerTransformerEnd1.ratedU);
|
|
2476
2558
|
const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2${powerTransformer.name}`);
|
|
2477
2559
|
powerTransformerEnd2.endNumber = 2;
|
|
2478
|
-
powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
2479
|
-
powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
2480
2560
|
const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
|
|
2481
2561
|
const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
|
|
2482
2562
|
powerTransformerEnd2.r = 0;
|
|
@@ -2485,55 +2565,80 @@ class ConverterIntegral7 {
|
|
|
2485
2565
|
powerTransformerEnd2.ratedU = ur2;
|
|
2486
2566
|
const ir2 = (sr * Math.pow(10, 6) / ur * 1000) / Math.sqrt(3);
|
|
2487
2567
|
if (powerTransformerEnd2.ratedU) {
|
|
2488
|
-
|
|
2489
|
-
if (!baseVoltage) {
|
|
2490
|
-
baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
|
|
2491
|
-
}
|
|
2568
|
+
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
|
|
2492
2569
|
powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
|
|
2493
2570
|
}
|
|
2494
2571
|
else {
|
|
2495
|
-
this.logger.
|
|
2572
|
+
this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
|
|
2496
2573
|
}
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal.mrid, ir2);
|
|
2574
|
+
if (targetTerminal) {
|
|
2575
|
+
powerTransformerEnd2.terminalUUID = targetTerminal.mrid;
|
|
2576
|
+
this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, targetTerminal.mrid, ir2);
|
|
2501
2577
|
if (sternpunktKnotenMap.has(i7Data.id)) {
|
|
2502
2578
|
if (sternpunktKnotenMap.get(i7Data.id).has(i7Data.eknknoten1p)) {
|
|
2503
|
-
this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2,
|
|
2579
|
+
this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, targetTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort, defaultValuesConfig);
|
|
2504
2580
|
}
|
|
2505
2581
|
}
|
|
2506
2582
|
}
|
|
2507
2583
|
else {
|
|
2508
|
-
this.logger.
|
|
2509
|
-
this.logger.info(`TargetTerminal created ` + (targetTerminal === undefined));
|
|
2584
|
+
this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
|
|
2510
2585
|
}
|
|
2511
2586
|
powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
|
|
2512
2587
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
|
|
2513
2588
|
this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
|
|
2589
|
+
powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
|
|
2590
|
+
powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
|
|
2591
|
+
powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
|
|
2592
|
+
powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU]);
|
|
2514
2593
|
powerTransformer.sortTransformerEnd('ratedU', 'desc');
|
|
2594
|
+
const wicklungen = [1, 2];
|
|
2595
|
+
const terminals = [startTerminal, targetTerminal];
|
|
2596
|
+
const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
|
|
2597
|
+
for (const wicklung of wicklungen) {
|
|
2598
|
+
const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
|
|
2599
|
+
const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
|
|
2600
|
+
switch (i7Data.trafo_spezial) {
|
|
2601
|
+
case (1): {
|
|
2602
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2603
|
+
break;
|
|
2604
|
+
}
|
|
2605
|
+
case (2): {
|
|
2606
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2607
|
+
break;
|
|
2608
|
+
}
|
|
2609
|
+
default: {
|
|
2610
|
+
if (winkel !== 0) {
|
|
2611
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2612
|
+
}
|
|
2613
|
+
else {
|
|
2614
|
+
utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2615
|
+
}
|
|
2616
|
+
break;
|
|
2617
|
+
}
|
|
2618
|
+
}
|
|
2619
|
+
}
|
|
2515
2620
|
for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
|
|
2516
|
-
powerTransformer.powerTransformerEnds[i]
|
|
2621
|
+
const powerTransformerEnd = powerTransformer.powerTransformerEnds[i];
|
|
2622
|
+
powerTransformerEnd.endNumber = i + 1;
|
|
2517
2623
|
}
|
|
2518
|
-
utils_2.createTapChanger(i7Data, powerTransformerEnd2, this.cimModel, powerTransformerEnd2.ratedU);
|
|
2519
2624
|
const substationUUID = this.integralID2UUID.get(i7Data.standort);
|
|
2520
2625
|
if (substationUUID) {
|
|
2521
2626
|
powerTransformer.equipmentContainerUUID = substationUUID;
|
|
2522
2627
|
}
|
|
2523
2628
|
else {
|
|
2524
|
-
this.logger.
|
|
2629
|
+
this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
|
|
2525
2630
|
}
|
|
2526
2631
|
this.cimModel.addPowerTransformer(powerTransformer);
|
|
2527
|
-
this.
|
|
2632
|
+
this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO2W);
|
|
2528
2633
|
this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
|
|
2529
2634
|
}
|
|
2530
2635
|
}
|
|
2531
2636
|
else {
|
|
2532
|
-
this.logger.
|
|
2637
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
|
|
2533
2638
|
}
|
|
2534
2639
|
});
|
|
2535
2640
|
}
|
|
2536
|
-
convertTrafo3W(limit, offset) {
|
|
2641
|
+
convertTrafo3W(limit, offset, defaultValuesConfig) {
|
|
2537
2642
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2538
2643
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
|
|
2539
2644
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
|
|
@@ -2548,7 +2653,7 @@ class ConverterIntegral7 {
|
|
|
2548
2653
|
}
|
|
2549
2654
|
}
|
|
2550
2655
|
else {
|
|
2551
|
-
this.logger.
|
|
2656
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
|
|
2552
2657
|
}
|
|
2553
2658
|
const sternpunktKnotenMap = new Map();
|
|
2554
2659
|
if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
|
|
@@ -2574,9 +2679,9 @@ class ConverterIntegral7 {
|
|
|
2574
2679
|
const ur1 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 1);
|
|
2575
2680
|
const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 2);
|
|
2576
2681
|
const ur3 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 3);
|
|
2577
|
-
const ir1 =
|
|
2578
|
-
const ir2 =
|
|
2579
|
-
const ir3 =
|
|
2682
|
+
const ir1 = sr1 * 1000000 / ((ur1 * 1000) * Math.sqrt(3));
|
|
2683
|
+
const ir2 = sr2 * 1000000 / ((ur2 * 1000) * Math.sqrt(3));
|
|
2684
|
+
const ir3 = sr3 * 1000000 / ((ur3 * 1000) * Math.sqrt(3));
|
|
2580
2685
|
const pLeer = utils_2.getTrafoPleer(i7Data, powerTransformerInfo);
|
|
2581
2686
|
const iLeer = utils_2.getTrafoIleer(i7Data, powerTransformerInfo);
|
|
2582
2687
|
const impedanzW1 = utils_trafo3w_1.calculateImpedanzenTrafo3W(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
|
|
@@ -2590,16 +2695,14 @@ class ConverterIntegral7 {
|
|
|
2590
2695
|
terminal1 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
|
|
2591
2696
|
}
|
|
2592
2697
|
else {
|
|
2593
|
-
this.logger.
|
|
2698
|
+
this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
2594
2699
|
}
|
|
2595
2700
|
}
|
|
2596
2701
|
else {
|
|
2597
|
-
this.logger.
|
|
2702
|
+
this.logger.debug(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
|
|
2598
2703
|
}
|
|
2599
2704
|
const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
|
|
2600
2705
|
powerTransformerEnd1.endNumber = 1;
|
|
2601
|
-
powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
2602
|
-
powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
|
|
2603
2706
|
powerTransformerEnd1.r = impedanzW1.r;
|
|
2604
2707
|
powerTransformerEnd1.x = impedanzW1.x;
|
|
2605
2708
|
powerTransformerEnd1.g = impedanzW1.g * 1000000;
|
|
@@ -2614,7 +2717,7 @@ class ConverterIntegral7 {
|
|
|
2614
2717
|
powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
|
|
2615
2718
|
}
|
|
2616
2719
|
else {
|
|
2617
|
-
this.logger.
|
|
2720
|
+
this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
|
|
2618
2721
|
}
|
|
2619
2722
|
powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
|
|
2620
2723
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
|
|
@@ -2623,11 +2726,11 @@ class ConverterIntegral7 {
|
|
|
2623
2726
|
powerTransformerEnd1.terminalUUID = terminal1.mrid;
|
|
2624
2727
|
this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
|
|
2625
2728
|
if (sternpunktKnotenMap.has(wicklung1.id)) {
|
|
2626
|
-
this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort);
|
|
2729
|
+
this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort, defaultValuesConfig);
|
|
2627
2730
|
}
|
|
2628
2731
|
}
|
|
2629
2732
|
else {
|
|
2630
|
-
this.logger.
|
|
2733
|
+
this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
|
|
2631
2734
|
}
|
|
2632
2735
|
const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
|
|
2633
2736
|
if (wicklung2) {
|
|
@@ -2636,16 +2739,14 @@ class ConverterIntegral7 {
|
|
|
2636
2739
|
terminal2 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
|
|
2637
2740
|
}
|
|
2638
2741
|
else {
|
|
2639
|
-
this.logger.
|
|
2742
|
+
this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
2640
2743
|
}
|
|
2641
2744
|
}
|
|
2642
2745
|
else {
|
|
2643
|
-
this.logger.
|
|
2746
|
+
this.logger.debug(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
|
|
2644
2747
|
}
|
|
2645
2748
|
const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
|
|
2646
2749
|
powerTransformerEnd2.endNumber = 2;
|
|
2647
|
-
powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
2648
|
-
powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
|
|
2649
2750
|
powerTransformerEnd2.r = impedanzW2.r;
|
|
2650
2751
|
powerTransformerEnd2.x = impedanzW2.x;
|
|
2651
2752
|
powerTransformerEnd2.g = impedanzW2.g * 1000000;
|
|
@@ -2660,7 +2761,7 @@ class ConverterIntegral7 {
|
|
|
2660
2761
|
powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
|
|
2661
2762
|
}
|
|
2662
2763
|
else {
|
|
2663
|
-
this.logger.
|
|
2764
|
+
this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
|
|
2664
2765
|
}
|
|
2665
2766
|
powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
|
|
2666
2767
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
|
|
@@ -2669,11 +2770,11 @@ class ConverterIntegral7 {
|
|
|
2669
2770
|
powerTransformerEnd2.terminalUUID = terminal2.mrid;
|
|
2670
2771
|
this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
|
|
2671
2772
|
if (sternpunktKnotenMap.has(wicklung2.id)) {
|
|
2672
|
-
this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort);
|
|
2773
|
+
this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort, defaultValuesConfig);
|
|
2673
2774
|
}
|
|
2674
2775
|
}
|
|
2675
2776
|
else {
|
|
2676
|
-
this.logger.
|
|
2777
|
+
this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
|
|
2677
2778
|
}
|
|
2678
2779
|
const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
|
|
2679
2780
|
if (wicklung3) {
|
|
@@ -2682,22 +2783,18 @@ class ConverterIntegral7 {
|
|
|
2682
2783
|
terminal3 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
|
|
2683
2784
|
}
|
|
2684
2785
|
else {
|
|
2685
|
-
this.logger.
|
|
2786
|
+
this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
|
|
2686
2787
|
}
|
|
2687
2788
|
}
|
|
2688
2789
|
else {
|
|
2689
|
-
this.logger.
|
|
2790
|
+
this.logger.debug(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
|
|
2690
2791
|
}
|
|
2691
2792
|
const powerTransformerEnd3 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
|
|
2692
2793
|
powerTransformerEnd3.endNumber = 3;
|
|
2693
|
-
powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber);
|
|
2694
|
-
powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
|
|
2695
2794
|
powerTransformerEnd3.r = impedanzW3.r;
|
|
2696
2795
|
powerTransformerEnd3.x = impedanzW3.x;
|
|
2697
2796
|
powerTransformerEnd2.g = impedanzW3.g * 1000000;
|
|
2698
|
-
;
|
|
2699
2797
|
powerTransformerEnd2.b = impedanzW3.b * 1000000;
|
|
2700
|
-
;
|
|
2701
2798
|
powerTransformerEnd3.ratedS = sr3;
|
|
2702
2799
|
powerTransformerEnd3.ratedU = ur3;
|
|
2703
2800
|
if (powerTransformerEnd3.ratedU) {
|
|
@@ -2708,7 +2805,7 @@ class ConverterIntegral7 {
|
|
|
2708
2805
|
powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
|
|
2709
2806
|
}
|
|
2710
2807
|
else {
|
|
2711
|
-
this.logger.
|
|
2808
|
+
this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
|
|
2712
2809
|
}
|
|
2713
2810
|
powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
|
|
2714
2811
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
|
|
@@ -2717,13 +2814,45 @@ class ConverterIntegral7 {
|
|
|
2717
2814
|
powerTransformerEnd3.terminalUUID = terminal3.mrid;
|
|
2718
2815
|
this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
|
|
2719
2816
|
if (sternpunktKnotenMap.has(wicklung3.id)) {
|
|
2720
|
-
this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort);
|
|
2817
|
+
this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort, defaultValuesConfig);
|
|
2721
2818
|
}
|
|
2722
2819
|
}
|
|
2723
2820
|
else {
|
|
2724
|
-
this.logger.
|
|
2821
|
+
this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
|
|
2725
2822
|
}
|
|
2823
|
+
powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2824
|
+
powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2825
|
+
powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2826
|
+
powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2827
|
+
powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2828
|
+
powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber, [powerTransformerEnd1.ratedU, powerTransformerEnd2.ratedU, powerTransformerEnd3.ratedU]);
|
|
2726
2829
|
powerTransformer.sortTransformerEnd('ratedU', 'desc');
|
|
2830
|
+
const wicklungen = powerTransformer.powerTransformerEnds.map(elem => elem.endNumber);
|
|
2831
|
+
const terminals = [terminal1, terminal2, terminal3];
|
|
2832
|
+
const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
|
|
2833
|
+
for (const wicklung of wicklungen) {
|
|
2834
|
+
const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
|
|
2835
|
+
const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
|
|
2836
|
+
switch (i7Data.trafo_spezial) {
|
|
2837
|
+
case (1): {
|
|
2838
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2839
|
+
break;
|
|
2840
|
+
}
|
|
2841
|
+
case (2): {
|
|
2842
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2843
|
+
break;
|
|
2844
|
+
}
|
|
2845
|
+
default: {
|
|
2846
|
+
if (winkel !== 0) {
|
|
2847
|
+
utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2848
|
+
}
|
|
2849
|
+
else {
|
|
2850
|
+
utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
|
|
2851
|
+
}
|
|
2852
|
+
break;
|
|
2853
|
+
}
|
|
2854
|
+
}
|
|
2855
|
+
}
|
|
2727
2856
|
for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
|
|
2728
2857
|
powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
|
|
2729
2858
|
}
|
|
@@ -2735,22 +2864,81 @@ class ConverterIntegral7 {
|
|
|
2735
2864
|
powerTransformer.description = i7Schluessel;
|
|
2736
2865
|
}
|
|
2737
2866
|
else {
|
|
2738
|
-
this.logger.
|
|
2867
|
+
this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
|
|
2739
2868
|
}
|
|
2740
2869
|
this.cimModel.addPowerTransformer(powerTransformer);
|
|
2741
|
-
this.
|
|
2870
|
+
this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
|
|
2742
2871
|
this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
|
|
2743
2872
|
}
|
|
2744
2873
|
}
|
|
2745
2874
|
else {
|
|
2746
|
-
this.logger.
|
|
2875
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
|
|
2747
2876
|
}
|
|
2748
2877
|
});
|
|
2749
2878
|
}
|
|
2750
|
-
|
|
2879
|
+
getSpannungsbandTrafo2W(i7Data) {
|
|
2880
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2881
|
+
return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2882
|
+
let minMaxSollResult;
|
|
2883
|
+
const spgKnotenId = i7Data.spgreg_knoten;
|
|
2884
|
+
let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
|
|
2885
|
+
(i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
|
|
2886
|
+
if (tempKnotenId !== undefined) {
|
|
2887
|
+
let queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
|
|
2888
|
+
if (queryResult.length === 1) {
|
|
2889
|
+
const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
|
|
2890
|
+
const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
|
|
2891
|
+
const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
|
|
2892
|
+
const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
|
|
2893
|
+
FROM ${tabName_NetzSSAB}
|
|
2894
|
+
LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
|
|
2895
|
+
LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
|
|
2896
|
+
WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
|
|
2897
|
+
minMaxSollResult = yield this.queryFunctionWrapper(sqlStatement);
|
|
2898
|
+
}
|
|
2899
|
+
else {
|
|
2900
|
+
queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
|
|
2901
|
+
if (queryResult.length === 1) {
|
|
2902
|
+
const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
|
|
2903
|
+
const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
|
|
2904
|
+
const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
|
|
2905
|
+
minMaxSollResult = yield this.queryFunctionWrapper(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
|
|
2906
|
+
FROM ${tabName_NetzKnotenZw}
|
|
2907
|
+
LEFT JOIN ${tabName_NetzSchlaufe} ON
|
|
2908
|
+
${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
|
|
2909
|
+
LEFT JOIN ${tabName_NetzSo} ON
|
|
2910
|
+
${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
|
|
2911
|
+
WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
|
|
2912
|
+
}
|
|
2913
|
+
else {
|
|
2914
|
+
minMaxSollResult = yield this.queryFunctionWrapper(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
|
|
2915
|
+
}
|
|
2916
|
+
}
|
|
2917
|
+
}
|
|
2918
|
+
else if (spgKnotenId !== undefined) {
|
|
2919
|
+
const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
|
|
2920
|
+
const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
|
|
2921
|
+
const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
|
|
2922
|
+
FROM (
|
|
2923
|
+
SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
|
|
2924
|
+
UNION
|
|
2925
|
+
SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
|
|
2926
|
+
minMaxSollResult = yield this.queryFunctionWrapper(query);
|
|
2927
|
+
}
|
|
2928
|
+
if (minMaxSollResult && minMaxSollResult.length) {
|
|
2929
|
+
resolve(minMaxSollResult[0]);
|
|
2930
|
+
}
|
|
2931
|
+
else {
|
|
2932
|
+
resolve({ id: 0, usoll: 0, umin: 0, umax: 0 });
|
|
2933
|
+
}
|
|
2934
|
+
}));
|
|
2935
|
+
});
|
|
2936
|
+
}
|
|
2937
|
+
convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID, defaultValuesConfig) {
|
|
2751
2938
|
if (stpKnoten) {
|
|
2752
2939
|
const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
|
|
2753
2940
|
powerTransformerEnd.grounded = true;
|
|
2941
|
+
powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
|
|
2754
2942
|
if (!junctionUUID) {
|
|
2755
2943
|
}
|
|
2756
2944
|
else {
|
|
@@ -2767,21 +2955,21 @@ class ConverterIntegral7 {
|
|
|
2767
2955
|
const subVlData = this.substationVoltagelevels.get(standortID);
|
|
2768
2956
|
const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
|
|
2769
2957
|
if (!vlObject) {
|
|
2770
|
-
this.logger.
|
|
2958
|
+
this.logger.debug(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
|
|
2771
2959
|
}
|
|
2772
2960
|
if (junction) {
|
|
2773
2961
|
junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
|
|
2774
2962
|
junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
|
|
2775
2963
|
}
|
|
2776
2964
|
else {
|
|
2777
|
-
this.logger.
|
|
2965
|
+
this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
|
|
2778
2966
|
}
|
|
2779
2967
|
if (pSpuleGroundImpedance) {
|
|
2780
2968
|
pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
|
|
2781
2969
|
pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
|
|
2782
2970
|
}
|
|
2783
2971
|
else {
|
|
2784
|
-
this.logger.
|
|
2972
|
+
this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
|
|
2785
2973
|
}
|
|
2786
2974
|
}
|
|
2787
2975
|
}
|
|
@@ -2795,7 +2983,7 @@ class ConverterIntegral7 {
|
|
|
2795
2983
|
}
|
|
2796
2984
|
}
|
|
2797
2985
|
else {
|
|
2798
|
-
this.logger.
|
|
2986
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
|
|
2799
2987
|
}
|
|
2800
2988
|
});
|
|
2801
2989
|
}
|
|
@@ -2811,7 +2999,7 @@ class ConverterIntegral7 {
|
|
|
2811
2999
|
startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
|
|
2812
3000
|
}
|
|
2813
3001
|
else {
|
|
2814
|
-
this.logger.
|
|
3002
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
2815
3003
|
}
|
|
2816
3004
|
const target = this.inmemoryObjects.get(i7Data.eknoten);
|
|
2817
3005
|
let targetTerminal;
|
|
@@ -2819,7 +3007,7 @@ class ConverterIntegral7 {
|
|
|
2819
3007
|
targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
|
|
2820
3008
|
}
|
|
2821
3009
|
else {
|
|
2822
|
-
this.logger.
|
|
3010
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
2823
3011
|
}
|
|
2824
3012
|
const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
|
|
2825
3013
|
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
|
|
@@ -2836,7 +3024,7 @@ class ConverterIntegral7 {
|
|
|
2836
3024
|
this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
|
|
2837
3025
|
}
|
|
2838
3026
|
else {
|
|
2839
|
-
this.logger.
|
|
3027
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
2840
3028
|
}
|
|
2841
3029
|
const subVlData = this.substationVoltagelevels.get(i7Data.standort);
|
|
2842
3030
|
const vlObject = getVoltageLevelByVoltage(subVlData, ur);
|
|
@@ -2845,16 +3033,16 @@ class ConverterIntegral7 {
|
|
|
2845
3033
|
seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
|
|
2846
3034
|
}
|
|
2847
3035
|
else {
|
|
2848
|
-
this.logger.
|
|
3036
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
|
|
2849
3037
|
}
|
|
2850
3038
|
const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längsdrossel');
|
|
2851
3039
|
seriesCompensator.psrTypeUUID = psrType.mrid;
|
|
2852
3040
|
this.cimModel.addSeriesCompensator(seriesCompensator);
|
|
2853
|
-
this.
|
|
3041
|
+
this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
|
|
2854
3042
|
}
|
|
2855
3043
|
}
|
|
2856
3044
|
else {
|
|
2857
|
-
this.logger.
|
|
3045
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
|
|
2858
3046
|
}
|
|
2859
3047
|
});
|
|
2860
3048
|
}
|
|
@@ -2870,7 +3058,7 @@ class ConverterIntegral7 {
|
|
|
2870
3058
|
startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
|
|
2871
3059
|
}
|
|
2872
3060
|
else {
|
|
2873
|
-
this.logger.
|
|
3061
|
+
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
|
|
2874
3062
|
}
|
|
2875
3063
|
const target = this.inmemoryObjects.get(i7Data.eknoten);
|
|
2876
3064
|
let targetTerminal;
|
|
@@ -2878,7 +3066,7 @@ class ConverterIntegral7 {
|
|
|
2878
3066
|
targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
|
|
2879
3067
|
}
|
|
2880
3068
|
else {
|
|
2881
|
-
this.logger.
|
|
3069
|
+
this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
|
|
2882
3070
|
}
|
|
2883
3071
|
const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
|
|
2884
3072
|
const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
|
|
@@ -2895,7 +3083,7 @@ class ConverterIntegral7 {
|
|
|
2895
3083
|
this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
|
|
2896
3084
|
}
|
|
2897
3085
|
else {
|
|
2898
|
-
this.logger.
|
|
3086
|
+
this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
|
|
2899
3087
|
}
|
|
2900
3088
|
const substationUUID = this.integralID2UUID.get(i7Data.standort);
|
|
2901
3089
|
const subVlData = this.substationVoltagelevels.get(i7Data.standort);
|
|
@@ -2905,16 +3093,16 @@ class ConverterIntegral7 {
|
|
|
2905
3093
|
seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
|
|
2906
3094
|
}
|
|
2907
3095
|
else {
|
|
2908
|
-
this.logger.
|
|
3096
|
+
this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
|
|
2909
3097
|
}
|
|
2910
3098
|
const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längskondensator');
|
|
2911
3099
|
seriesCompensator.psrTypeUUID = psrType.mrid;
|
|
2912
3100
|
this.cimModel.addSeriesCompensator(seriesCompensator);
|
|
2913
|
-
this.
|
|
3101
|
+
this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
|
|
2914
3102
|
}
|
|
2915
3103
|
}
|
|
2916
3104
|
else {
|
|
2917
|
-
this.logger.
|
|
3105
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
|
|
2918
3106
|
}
|
|
2919
3107
|
});
|
|
2920
3108
|
}
|
|
@@ -2934,19 +3122,19 @@ class ConverterIntegral7 {
|
|
|
2934
3122
|
disconnector.equipmentContainerUUID = equipmentContainer.mrid;
|
|
2935
3123
|
}
|
|
2936
3124
|
else {
|
|
2937
|
-
this.logger.
|
|
3125
|
+
this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
2938
3126
|
}
|
|
2939
3127
|
if (cnStart) {
|
|
2940
3128
|
__1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
|
|
2941
3129
|
}
|
|
2942
3130
|
else {
|
|
2943
|
-
this.logger.
|
|
3131
|
+
this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
2944
3132
|
}
|
|
2945
3133
|
if (cnZiel) {
|
|
2946
3134
|
__1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
|
|
2947
3135
|
}
|
|
2948
3136
|
else {
|
|
2949
|
-
this.logger.
|
|
3137
|
+
this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
2950
3138
|
}
|
|
2951
3139
|
const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
|
|
2952
3140
|
const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
|
|
@@ -2954,11 +3142,11 @@ class ConverterIntegral7 {
|
|
|
2954
3142
|
disconnector.baseVoltageUUID = baseVoltage.mrid;
|
|
2955
3143
|
}
|
|
2956
3144
|
this.cimModel.addDisconnector(disconnector);
|
|
2957
|
-
this.
|
|
3145
|
+
this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
|
|
2958
3146
|
}
|
|
2959
3147
|
}
|
|
2960
3148
|
else {
|
|
2961
|
-
this.logger.
|
|
3149
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} ist nicht vorhanden.`);
|
|
2962
3150
|
}
|
|
2963
3151
|
});
|
|
2964
3152
|
}
|
|
@@ -2978,19 +3166,19 @@ class ConverterIntegral7 {
|
|
|
2978
3166
|
disconnector.equipmentContainerUUID = equipmentContainer.mrid;
|
|
2979
3167
|
}
|
|
2980
3168
|
else {
|
|
2981
|
-
this.logger.
|
|
3169
|
+
this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
2982
3170
|
}
|
|
2983
3171
|
if (cnStart) {
|
|
2984
3172
|
__1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
|
|
2985
3173
|
}
|
|
2986
3174
|
else {
|
|
2987
|
-
this.logger.
|
|
3175
|
+
this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
2988
3176
|
}
|
|
2989
3177
|
if (cnZiel) {
|
|
2990
3178
|
__1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
|
|
2991
3179
|
}
|
|
2992
3180
|
else {
|
|
2993
|
-
this.logger.
|
|
3181
|
+
this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
2994
3182
|
}
|
|
2995
3183
|
const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
|
|
2996
3184
|
const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
|
|
@@ -2998,11 +3186,11 @@ class ConverterIntegral7 {
|
|
|
2998
3186
|
disconnector.baseVoltageUUID = baseVoltage.mrid;
|
|
2999
3187
|
}
|
|
3000
3188
|
this.cimModel.addDisconnector(disconnector);
|
|
3001
|
-
this.
|
|
3189
|
+
this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
|
|
3002
3190
|
}
|
|
3003
3191
|
}
|
|
3004
3192
|
else {
|
|
3005
|
-
this.logger.
|
|
3193
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
|
|
3006
3194
|
}
|
|
3007
3195
|
});
|
|
3008
3196
|
}
|
|
@@ -3022,19 +3210,19 @@ class ConverterIntegral7 {
|
|
|
3022
3210
|
breaker.equipmentContainerUUID = equipmentContainer.mrid;
|
|
3023
3211
|
}
|
|
3024
3212
|
else {
|
|
3025
|
-
this.logger.
|
|
3213
|
+
this.logger.debug(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3026
3214
|
}
|
|
3027
3215
|
if (cnStart) {
|
|
3028
3216
|
__1.createConnection(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
|
|
3029
3217
|
}
|
|
3030
3218
|
else {
|
|
3031
|
-
this.logger.
|
|
3219
|
+
this.logger.debug(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
|
|
3032
3220
|
}
|
|
3033
3221
|
if (cnZiel) {
|
|
3034
3222
|
__1.createConnection(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
|
|
3035
3223
|
}
|
|
3036
3224
|
else {
|
|
3037
|
-
this.logger.
|
|
3225
|
+
this.logger.debug(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
|
|
3038
3226
|
}
|
|
3039
3227
|
const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.voltageLevelUUID);
|
|
3040
3228
|
const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
|
|
@@ -3042,11 +3230,11 @@ class ConverterIntegral7 {
|
|
|
3042
3230
|
breaker.baseVoltageUUID = baseVoltage.mrid;
|
|
3043
3231
|
}
|
|
3044
3232
|
this.cimModel.addBreaker(breaker);
|
|
3045
|
-
this.
|
|
3233
|
+
this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
|
|
3046
3234
|
}
|
|
3047
3235
|
}
|
|
3048
3236
|
else {
|
|
3049
|
-
this.logger.
|
|
3237
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
|
|
3050
3238
|
}
|
|
3051
3239
|
});
|
|
3052
3240
|
}
|
|
@@ -3064,11 +3252,11 @@ class ConverterIntegral7 {
|
|
|
3064
3252
|
dcConverterUnit.setSubstation(equipmentContainer);
|
|
3065
3253
|
}
|
|
3066
3254
|
else {
|
|
3067
|
-
this.logger.
|
|
3255
|
+
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3068
3256
|
}
|
|
3069
3257
|
}
|
|
3070
3258
|
else {
|
|
3071
|
-
this.logger.
|
|
3259
|
+
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3072
3260
|
}
|
|
3073
3261
|
const csConverter = new CsConverter_1.CsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
3074
3262
|
csConverter.equipmentContainer = dcConverterUnit;
|
|
@@ -3097,7 +3285,7 @@ class ConverterIntegral7 {
|
|
|
3097
3285
|
__1.createConnection(this.cimModel, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
|
|
3098
3286
|
}
|
|
3099
3287
|
else {
|
|
3100
|
-
this.logger.
|
|
3288
|
+
this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
|
|
3101
3289
|
}
|
|
3102
3290
|
const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
|
|
3103
3291
|
dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
|
|
@@ -3110,7 +3298,7 @@ class ConverterIntegral7 {
|
|
|
3110
3298
|
this.cimModel.addCSConverter(csConverter);
|
|
3111
3299
|
this.cimModel.addDCNode(dcNode);
|
|
3112
3300
|
this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
|
|
3113
|
-
this.
|
|
3301
|
+
this.addIdMapping(i7Data.id, csConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH);
|
|
3114
3302
|
}
|
|
3115
3303
|
}
|
|
3116
3304
|
});
|
|
@@ -3129,11 +3317,11 @@ class ConverterIntegral7 {
|
|
|
3129
3317
|
dcConverterUnit.setSubstation(equipmentContainer);
|
|
3130
3318
|
}
|
|
3131
3319
|
else {
|
|
3132
|
-
this.logger.
|
|
3320
|
+
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3133
3321
|
}
|
|
3134
3322
|
}
|
|
3135
3323
|
else {
|
|
3136
|
-
this.logger.
|
|
3324
|
+
this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3137
3325
|
}
|
|
3138
3326
|
const vsConverter = new VsConverter_1.VsConverter(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
|
|
3139
3327
|
vsConverter.equipmentContainer = dcConverterUnit;
|
|
@@ -3165,7 +3353,7 @@ class ConverterIntegral7 {
|
|
|
3165
3353
|
__1.createConnection(this.cimModel, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
|
|
3166
3354
|
}
|
|
3167
3355
|
else {
|
|
3168
|
-
this.logger.
|
|
3356
|
+
this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
|
|
3169
3357
|
}
|
|
3170
3358
|
const dcNode = new DCNode_1.DCNode(__1.generateUUID(), 'DCNode');
|
|
3171
3359
|
dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
|
|
@@ -3178,7 +3366,7 @@ class ConverterIntegral7 {
|
|
|
3178
3366
|
this.cimModel.addVSConverter(vsConverter);
|
|
3179
3367
|
this.cimModel.addDCNode(dcNode);
|
|
3180
3368
|
this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
|
|
3181
|
-
this.
|
|
3369
|
+
this.addIdMapping(i7Data.id, vsConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC);
|
|
3182
3370
|
}
|
|
3183
3371
|
}
|
|
3184
3372
|
});
|
|
@@ -3217,32 +3405,34 @@ class ConverterIntegral7 {
|
|
|
3217
3405
|
const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
|
|
3218
3406
|
if (startDCNode) {
|
|
3219
3407
|
const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
|
|
3220
|
-
dcTerminal.
|
|
3408
|
+
dcTerminal.connected = true;
|
|
3409
|
+
dcTerminal.sequenceNumber = 1;
|
|
3221
3410
|
dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
|
|
3222
3411
|
dcTerminal.dcNodeUUID = startDCNode.mrid;
|
|
3223
3412
|
this.cimModel.addDCTerminal(dcTerminal);
|
|
3224
3413
|
}
|
|
3225
3414
|
else {
|
|
3226
|
-
this.logger.
|
|
3415
|
+
this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
|
|
3227
3416
|
}
|
|
3228
3417
|
const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
|
|
3229
3418
|
if (tartgetDCNode) {
|
|
3230
3419
|
const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
|
|
3420
|
+
dcTerminal.connected = true;
|
|
3231
3421
|
dcTerminal.sequenceNumber = 2;
|
|
3232
3422
|
dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
|
|
3233
3423
|
dcTerminal.dcNodeUUID = tartgetDCNode.mrid;
|
|
3234
3424
|
this.cimModel.addDCTerminal(dcTerminal);
|
|
3235
3425
|
}
|
|
3236
3426
|
else {
|
|
3237
|
-
this.logger.
|
|
3427
|
+
this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
|
|
3238
3428
|
}
|
|
3239
3429
|
this.cimModel.addDCLine(dcLine);
|
|
3240
3430
|
this.cimModel.addDCLineSegment(dcLineSegment);
|
|
3241
|
-
this.
|
|
3431
|
+
this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
|
|
3242
3432
|
}
|
|
3243
3433
|
}
|
|
3244
3434
|
else {
|
|
3245
|
-
this.logger.
|
|
3435
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
|
|
3246
3436
|
}
|
|
3247
3437
|
});
|
|
3248
3438
|
}
|
|
@@ -3257,7 +3447,8 @@ class ConverterIntegral7 {
|
|
|
3257
3447
|
const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
|
|
3258
3448
|
externalNetworkInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
|
|
3259
3449
|
externalNetworkInjection.q = utils_2.convertToNumberI7(i7Data.q_ersatznetz) + utils_2.convertToNumberI7(i7Data.q_restnetz);
|
|
3260
|
-
|
|
3450
|
+
const kr = 0;
|
|
3451
|
+
externalNetworkInjection.governorSCD = kr;
|
|
3261
3452
|
externalNetworkInjection.referencePriority = einspeisePrio;
|
|
3262
3453
|
externalNetworkInjection.maxZ0ToZ1Ratio = utils_2.convertToNumberI7(i7Data.z0_z1);
|
|
3263
3454
|
const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_BI_${i7Data.id}`);
|
|
@@ -3289,19 +3480,19 @@ class ConverterIntegral7 {
|
|
|
3289
3480
|
}
|
|
3290
3481
|
}
|
|
3291
3482
|
else {
|
|
3292
|
-
this.logger.
|
|
3483
|
+
this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3293
3484
|
}
|
|
3294
3485
|
}
|
|
3295
3486
|
else {
|
|
3296
|
-
this.logger.
|
|
3487
|
+
this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3297
3488
|
}
|
|
3298
3489
|
this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
|
|
3299
3490
|
this.cimModel.addRegulatingControl(regulatingControl);
|
|
3300
|
-
this.
|
|
3491
|
+
this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.BOUNDARYINJECTION);
|
|
3301
3492
|
}
|
|
3302
3493
|
}
|
|
3303
3494
|
else {
|
|
3304
|
-
this.logger.
|
|
3495
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
|
|
3305
3496
|
}
|
|
3306
3497
|
});
|
|
3307
3498
|
}
|
|
@@ -3330,19 +3521,19 @@ class ConverterIntegral7 {
|
|
|
3330
3521
|
if (equipmentContainer) {
|
|
3331
3522
|
asynchronousMachine.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
|
|
3332
3523
|
this.cimModel.addAsynchronousMachine(asynchronousMachine);
|
|
3333
|
-
this.
|
|
3524
|
+
this.addIdMapping(i7Data.id, asynchronousMachine.mrid, integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR);
|
|
3334
3525
|
}
|
|
3335
3526
|
else {
|
|
3336
|
-
this.logger.
|
|
3527
|
+
this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3337
3528
|
}
|
|
3338
3529
|
}
|
|
3339
3530
|
else {
|
|
3340
|
-
this.logger.
|
|
3531
|
+
this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3341
3532
|
}
|
|
3342
3533
|
}
|
|
3343
3534
|
}
|
|
3344
3535
|
else {
|
|
3345
|
-
this.logger.
|
|
3536
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
|
|
3346
3537
|
}
|
|
3347
3538
|
});
|
|
3348
3539
|
}
|
|
@@ -3352,9 +3543,15 @@ class ConverterIntegral7 {
|
|
|
3352
3543
|
const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, 0, 0, knotenIDs));
|
|
3353
3544
|
for (const i7Data of result) {
|
|
3354
3545
|
const shunt = new LinearShuntCompensator_1.LinearShuntCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.kommentar);
|
|
3546
|
+
if (shunt.mrid === '2e35adfe3cd04707b24e4c1df705c086') {
|
|
3547
|
+
console.log();
|
|
3548
|
+
}
|
|
3355
3549
|
shunt.normalSections = i7Data.aktstufe;
|
|
3356
3550
|
shunt.maximumSections = i7Data.maxstufe;
|
|
3357
3551
|
shunt.nomU = i7Data.ur;
|
|
3552
|
+
shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
|
|
3553
|
+
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
3554
|
+
__1.createSvStatus(this.cimModel, inBetrieb, shunt);
|
|
3358
3555
|
const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
|
|
3359
3556
|
const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
|
|
3360
3557
|
if (spannungsregelungLokal || spannungsregelungRemote) {
|
|
@@ -3363,10 +3560,9 @@ class ConverterIntegral7 {
|
|
|
3363
3560
|
regulatingControl.discrete = true;
|
|
3364
3561
|
regulatingControl.targetDeadband = i7Data.uband;
|
|
3365
3562
|
regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
|
|
3563
|
+
regulatingControl.enabled = inBetrieb;
|
|
3366
3564
|
shunt.regulatingControl = regulatingControl;
|
|
3367
3565
|
}
|
|
3368
|
-
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
3369
|
-
__1.createSvStatus(this.cimModel, inBetrieb, shunt);
|
|
3370
3566
|
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
3371
3567
|
if (connectivityNode) {
|
|
3372
3568
|
const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
|
|
@@ -3378,19 +3574,19 @@ class ConverterIntegral7 {
|
|
|
3378
3574
|
if (equipmentContainer) {
|
|
3379
3575
|
shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
|
|
3380
3576
|
this.cimModel.addLinearShuntCompensator(shunt);
|
|
3381
|
-
this.
|
|
3577
|
+
this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
|
|
3382
3578
|
}
|
|
3383
3579
|
else {
|
|
3384
|
-
this.logger.
|
|
3580
|
+
this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3385
3581
|
}
|
|
3386
3582
|
}
|
|
3387
3583
|
else {
|
|
3388
|
-
this.logger.
|
|
3584
|
+
this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3389
3585
|
}
|
|
3390
3586
|
}
|
|
3391
3587
|
}
|
|
3392
3588
|
else {
|
|
3393
|
-
this.logger.
|
|
3589
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
|
|
3394
3590
|
}
|
|
3395
3591
|
});
|
|
3396
3592
|
}
|
|
@@ -3403,16 +3599,21 @@ class ConverterIntegral7 {
|
|
|
3403
3599
|
shunt.normalSections = i7Data.aktstufe;
|
|
3404
3600
|
shunt.maximumSections = i7Data.maxstufe;
|
|
3405
3601
|
shunt.nomU = i7Data.ur;
|
|
3602
|
+
shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
|
|
3603
|
+
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
3604
|
+
__1.createSvStatus(this.cimModel, inBetrieb, shunt);
|
|
3406
3605
|
const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
|
|
3407
3606
|
const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
|
|
3408
3607
|
if (spannungsregelungLokal || spannungsregelungRemote) {
|
|
3409
|
-
const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `
|
|
3608
|
+
const regulatingControl = new __1.RegulatingControl(__1.generateUUID(), `RG_Kompkond ${i7Data.id}`);
|
|
3410
3609
|
regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
|
|
3610
|
+
regulatingControl.discrete = true;
|
|
3611
|
+
regulatingControl.enabled = inBetrieb;
|
|
3612
|
+
regulatingControl.targetDeadband = i7Data.uband;
|
|
3613
|
+
regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
|
|
3411
3614
|
shunt.regulatingControl = regulatingControl;
|
|
3412
3615
|
this.cimModel.addRegulatingControl(shunt.regulatingControl);
|
|
3413
3616
|
}
|
|
3414
|
-
const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
|
|
3415
|
-
__1.createSvStatus(this.cimModel, inBetrieb, shunt);
|
|
3416
3617
|
const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
|
|
3417
3618
|
if (connectivityNode) {
|
|
3418
3619
|
const terminal = __1.createConnection(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
|
|
@@ -3423,19 +3624,19 @@ class ConverterIntegral7 {
|
|
|
3423
3624
|
if (equipmentContainer) {
|
|
3424
3625
|
shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
|
|
3425
3626
|
this.cimModel.addLinearShuntCompensator(shunt);
|
|
3426
|
-
this.
|
|
3627
|
+
this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
|
|
3427
3628
|
}
|
|
3428
3629
|
else {
|
|
3429
|
-
this.logger.
|
|
3630
|
+
this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
|
|
3430
3631
|
}
|
|
3431
3632
|
}
|
|
3432
3633
|
else {
|
|
3433
|
-
this.logger.
|
|
3634
|
+
this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
|
|
3434
3635
|
}
|
|
3435
3636
|
}
|
|
3436
3637
|
}
|
|
3437
3638
|
else {
|
|
3438
|
-
this.logger.
|
|
3639
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
|
|
3439
3640
|
}
|
|
3440
3641
|
});
|
|
3441
3642
|
}
|
|
@@ -3449,12 +3650,12 @@ class ConverterIntegral7 {
|
|
|
3449
3650
|
diagram.orientation = __1.OrientationKind.negative;
|
|
3450
3651
|
diagram.diagramStyle = this.cimModel.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
|
|
3451
3652
|
this.cimModel.addDiagram(diagram);
|
|
3452
|
-
this.
|
|
3653
|
+
this.i7SchemaID2UUID.set(i7Data.id, diagram.mrid);
|
|
3453
3654
|
}
|
|
3454
3655
|
}
|
|
3455
3656
|
}
|
|
3456
3657
|
else {
|
|
3457
|
-
this.logger.
|
|
3658
|
+
this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
|
|
3458
3659
|
}
|
|
3459
3660
|
});
|
|
3460
3661
|
}
|
|
@@ -3470,6 +3671,15 @@ class ConverterIntegral7 {
|
|
|
3470
3671
|
object.c0 = +data.c0;
|
|
3471
3672
|
object.ratedCurrent = +data.ir;
|
|
3472
3673
|
}
|
|
3674
|
+
queryFunctionWrapper(query) {
|
|
3675
|
+
return new Promise((resolve, reject) => {
|
|
3676
|
+
this.queryFunction(query, (successResponse) => {
|
|
3677
|
+
resolve(successResponse);
|
|
3678
|
+
}, (errorResponse) => {
|
|
3679
|
+
reject(errorResponse);
|
|
3680
|
+
});
|
|
3681
|
+
});
|
|
3682
|
+
}
|
|
3473
3683
|
setACLineSegmentProperties(acLineSegment, data, psrTypeName, defaultValuesConfig) {
|
|
3474
3684
|
if (!acLineSegment.baseVoltage) {
|
|
3475
3685
|
const un = utils_2.getU(data.un, defaultValuesConfig.DefaultVoltage);
|
|
@@ -3479,8 +3689,6 @@ class ConverterIntegral7 {
|
|
|
3479
3689
|
if (data.laenge) {
|
|
3480
3690
|
acLineSegment.length = data.laenge;
|
|
3481
3691
|
}
|
|
3482
|
-
else {
|
|
3483
|
-
}
|
|
3484
3692
|
const assetType = this.cimModel.getWireInfoByName(data.nametyp);
|
|
3485
3693
|
if (data.r0 && data.r0 !== 0) {
|
|
3486
3694
|
acLineSegment.r0 = data.laenge <= 0 ? data.r0 : data.r0;
|
|
@@ -3524,9 +3732,15 @@ class ConverterIntegral7 {
|
|
|
3524
3732
|
else {
|
|
3525
3733
|
}
|
|
3526
3734
|
}
|
|
3527
|
-
const psrType = utils_1.createIfNotExitsPSRType(this.cimModel,
|
|
3735
|
+
const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, data.typ);
|
|
3528
3736
|
acLineSegment.psrTypeUUID = psrType.mrid;
|
|
3529
3737
|
}
|
|
3738
|
+
setACLineSegmentCurrentLimt(acLineSegment, nametyp, terminalUUID) {
|
|
3739
|
+
const assetType = this.cimModel.getWireInfoByName(nametyp);
|
|
3740
|
+
if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
|
|
3741
|
+
this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
|
|
3742
|
+
}
|
|
3743
|
+
}
|
|
3530
3744
|
setConductingEquipmentCurrentLimit(name, terminalUUID, ir) {
|
|
3531
3745
|
const currentLimit = new __1.CurrentLimit(__1.generateUUID(), `${name}`);
|
|
3532
3746
|
this.cimModel.addCurrentLimit(currentLimit);
|
|
@@ -3566,37 +3780,6 @@ class ConverterIntegral7 {
|
|
|
3566
3780
|
wicklung.uMax = data[umax];
|
|
3567
3781
|
wicklung.uMin = data[umin];
|
|
3568
3782
|
}
|
|
3569
|
-
convertSchemaBayElements(bay, diagram, saAusrichtung, deltaAusrichtung) {
|
|
3570
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
3571
|
-
for (const eqiup of bay.equipments) {
|
|
3572
|
-
if (eqiup instanceof __1.Disconnector) {
|
|
3573
|
-
const disconnector = eqiup;
|
|
3574
|
-
for (const terminal of disconnector.terminals.values()) {
|
|
3575
|
-
const connectedCE = utils_schema_1.isConnectedTo(terminal.connectivityNode, 'BusbarSection');
|
|
3576
|
-
if (connectedCE && terminal.connectivityNode.diagramObjects.length > 0) {
|
|
3577
|
-
const diagramObjectSSAB = utils_schema_1.getDiagramObjectBelonginToDiagram(terminal.connectivityNode.diagramObjects, diagram.mrid);
|
|
3578
|
-
const diagramObjectBay = utils_schema_1.getDiagramObjectBelonginToDiagram(bay.diagramObjects, diagram.mrid);
|
|
3579
|
-
if (diagramObjectSSAB && diagramObjectBay) {
|
|
3580
|
-
const diagramObject = new __1.DiagramObject(__1.getUUID(''), 'SSAB Trenner');
|
|
3581
|
-
if (saAusrichtung === 0) {
|
|
3582
|
-
const x = diagramObjectBay.diagramObjectPoints[0].xPosition + 16;
|
|
3583
|
-
const y = diagramObjectSSAB.diagramObjectPoints[0].yPosition + 0.5;
|
|
3584
|
-
const points = [new Point_1.Point(x, y)];
|
|
3585
|
-
utils_schema_1.createDiagramObjectPoints(diagramObject, points);
|
|
3586
|
-
eqiup.addDiagramObject(diagramObject);
|
|
3587
|
-
diagramObject.identifiedObject = eqiup;
|
|
3588
|
-
diagram.addDiagramObject(diagramObject);
|
|
3589
|
-
diagramObject.diagram = diagram;
|
|
3590
|
-
}
|
|
3591
|
-
}
|
|
3592
|
-
}
|
|
3593
|
-
else {
|
|
3594
|
-
}
|
|
3595
|
-
}
|
|
3596
|
-
}
|
|
3597
|
-
}
|
|
3598
|
-
});
|
|
3599
|
-
}
|
|
3600
3783
|
writeHeaderStart(xmlWriter, profileURI) {
|
|
3601
3784
|
xmlWriter.startDocument('1.0', 'UTF-8');
|
|
3602
3785
|
xmlWriter.startElementNS(__1.RDF_XML.RDF_NS_PREFIX, 'RDF', __1.RDF_XML.RDF_NS);
|
|
@@ -3615,10 +3798,10 @@ class ConverterIntegral7 {
|
|
|
3615
3798
|
xmlWriter.endElement();
|
|
3616
3799
|
xmlWriter.endDocument();
|
|
3617
3800
|
}
|
|
3618
|
-
objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig) {
|
|
3801
|
+
objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig, logger) {
|
|
3619
3802
|
cgmes_validator_1.validateCGMESData(values, defaultValuesConfig);
|
|
3620
3803
|
for (const object of values.values()) {
|
|
3621
|
-
object.toCIMXML(xmlWriter, profileName);
|
|
3804
|
+
object.toCIMXML(xmlWriter, profileName, logger);
|
|
3622
3805
|
}
|
|
3623
3806
|
}
|
|
3624
3807
|
objectArrayToCIMXML(xmlWriter, values, profileName) {
|
|
@@ -3633,15 +3816,6 @@ class ConverterIntegral7 {
|
|
|
3633
3816
|
}
|
|
3634
3817
|
return false;
|
|
3635
3818
|
}
|
|
3636
|
-
queryFunctionWrapper(query) {
|
|
3637
|
-
return new Promise((resolve, reject) => {
|
|
3638
|
-
this.queryFunction(query, (successResponse) => {
|
|
3639
|
-
resolve(successResponse);
|
|
3640
|
-
}, (errorResponse) => {
|
|
3641
|
-
reject(errorResponse);
|
|
3642
|
-
});
|
|
3643
|
-
});
|
|
3644
|
-
}
|
|
3645
3819
|
queryFunction(query, successCallback, errorCallback) {
|
|
3646
3820
|
this.mysqlConnection.query(query, (error, results, fields) => {
|
|
3647
3821
|
if (error)
|
|
@@ -3649,6 +3823,9 @@ class ConverterIntegral7 {
|
|
|
3649
3823
|
successCallback(results);
|
|
3650
3824
|
});
|
|
3651
3825
|
}
|
|
3826
|
+
openConnection() {
|
|
3827
|
+
this.mysqlConnection.connect();
|
|
3828
|
+
}
|
|
3652
3829
|
isTableAvailable(tableName) {
|
|
3653
3830
|
return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
|
|
3654
3831
|
}
|
|
@@ -3661,13 +3838,26 @@ class ConverterIntegral7 {
|
|
|
3661
3838
|
password: mySqlConfig.password,
|
|
3662
3839
|
});
|
|
3663
3840
|
}
|
|
3664
|
-
openConnection() {
|
|
3665
|
-
this.mysqlConnection.connect();
|
|
3666
|
-
}
|
|
3667
3841
|
closeConnection() {
|
|
3668
3842
|
this.mysqlConnection.end();
|
|
3669
3843
|
}
|
|
3844
|
+
checkRegelungsknotenTerminals(schlaufenTerminals) {
|
|
3845
|
+
for (const terminal of schlaufenTerminals) {
|
|
3846
|
+
const cnI7IDs = this.UUID2Integral7ID_.get(terminal.connectivityNodeUUID);
|
|
3847
|
+
if (!cnI7IDs)
|
|
3848
|
+
continue;
|
|
3849
|
+
const spData = this.knotenSpannungsband.get(cnI7IDs.find(elem => elem));
|
|
3850
|
+
if (spData) {
|
|
3851
|
+
spData.terminals.push({ uuid: terminal.mrid, connected: terminal.connected });
|
|
3852
|
+
}
|
|
3853
|
+
}
|
|
3854
|
+
}
|
|
3670
3855
|
addDefaultObjects(defaultValuesConfig) {
|
|
3856
|
+
const region = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
|
|
3857
|
+
region.description = defaultValuesConfig.GeographicalRegion.description;
|
|
3858
|
+
const subregion = utils_1.createIfNotExitsSubGeoregionByName(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
|
|
3859
|
+
subregion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
|
|
3860
|
+
subregion.description = defaultValuesConfig.SubGeographicalRegion.description;
|
|
3671
3861
|
const loadArea = new LoadArea_1.LoadArea(__1.generateUUID(), defaultValuesConfig.LoadArea.name);
|
|
3672
3862
|
this.cimModel.addLoadArea(loadArea);
|
|
3673
3863
|
const subLoadArea = new SubLoadArea_1.SubLoadArea(__1.generateUUID(), defaultValuesConfig.SubLoadArea.name);
|
|
@@ -3681,6 +3871,23 @@ class ConverterIntegral7 {
|
|
|
3681
3871
|
coordinateSystem.crsUrn = crsUrn;
|
|
3682
3872
|
this.cimModel.addCoordinateSystem(coordinateSystem);
|
|
3683
3873
|
}
|
|
3874
|
+
addIdMapping(i7ID, uuid, type) {
|
|
3875
|
+
if (this.integralID2UUID.has(i7ID)) {
|
|
3876
|
+
console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
|
|
3877
|
+
}
|
|
3878
|
+
else {
|
|
3879
|
+
this.integralID2UUID.set(i7ID, uuid);
|
|
3880
|
+
this.integralID2Type.set(i7ID, type);
|
|
3881
|
+
}
|
|
3882
|
+
}
|
|
3883
|
+
addUUIDMapping(i7ID, uuid) {
|
|
3884
|
+
if (this.UUID2Integral7ID_.has(uuid)) {
|
|
3885
|
+
this.UUID2Integral7ID_.get(uuid).push(i7ID);
|
|
3886
|
+
}
|
|
3887
|
+
else {
|
|
3888
|
+
this.UUID2Integral7ID_.set(uuid, [i7ID]);
|
|
3889
|
+
}
|
|
3890
|
+
}
|
|
3684
3891
|
}
|
|
3685
3892
|
exports.ConverterIntegral7 = ConverterIntegral7;
|
|
3686
3893
|
function getVoltageLevelByVoltage(subVlData, ur) {
|
|
@@ -3701,20 +3908,21 @@ exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
|
|
|
3701
3908
|
function validateRegulatingControls(regulatingControls, logger, type) {
|
|
3702
3909
|
for (const rg of regulatingControls.values()) {
|
|
3703
3910
|
if (!rg.name)
|
|
3704
|
-
logger.
|
|
3911
|
+
logger.debug(`RegulatingControl ohne Namen | ${type}`);
|
|
3705
3912
|
const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
|
|
3706
3913
|
if (!terminalUUID)
|
|
3707
|
-
logger.
|
|
3914
|
+
logger.debug(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
|
|
3708
3915
|
}
|
|
3709
3916
|
}
|
|
3710
3917
|
function getGeoCoordinates(i7Data) {
|
|
3711
|
-
if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s
|
|
3918
|
+
if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s &&
|
|
3919
|
+
i7Data.geokoor_pl_laenge_h && i7Data.geokoor_pl_laenge_m && i7Data.geokoor_pl_laenge_s) {
|
|
3712
3920
|
const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
|
|
3713
3921
|
const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
|
|
3714
3922
|
return [String(lon), String(lat)];
|
|
3715
3923
|
}
|
|
3716
|
-
if (i7Data.geokoor_pl_breite_h && i7Data.
|
|
3717
|
-
return [String(i7Data.
|
|
3924
|
+
if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_h) {
|
|
3925
|
+
return [String(i7Data.geokoor_pl_laenge_h), String(i7Data.geokoor_pl_breite_h)];
|
|
3718
3926
|
}
|
|
3719
3927
|
return undefined;
|
|
3720
3928
|
}
|
|
@@ -3736,7 +3944,17 @@ function getValidTerminals(objects, inMemoryObjects) {
|
|
|
3736
3944
|
return exportTerminals;
|
|
3737
3945
|
}
|
|
3738
3946
|
exports.getValidTerminals = getValidTerminals;
|
|
3739
|
-
function
|
|
3947
|
+
function getValidTapChangerControls(objects) {
|
|
3948
|
+
const exportInstances = new Map();
|
|
3949
|
+
for (const value of objects.values()) {
|
|
3950
|
+
if (value.terminal || value.terminalUUID) {
|
|
3951
|
+
exportInstances.set(value.mrid, value);
|
|
3952
|
+
}
|
|
3953
|
+
}
|
|
3954
|
+
return exportInstances;
|
|
3955
|
+
}
|
|
3956
|
+
exports.getValidTapChangerControls = getValidTapChangerControls;
|
|
3957
|
+
function validateInMemoryObjects(objects, logger) {
|
|
3740
3958
|
const exportTerminals = new Map();
|
|
3741
3959
|
for (const entry of objects.entries()) {
|
|
3742
3960
|
const value = entry[1];
|
|
@@ -3746,11 +3964,11 @@ function validateInMemoryObjects(objects) {
|
|
|
3746
3964
|
(terminal.connectivityNode || terminal.connectivityNodeUUID)) {
|
|
3747
3965
|
exportTerminals.set(value.mrid, value);
|
|
3748
3966
|
}
|
|
3749
|
-
if (terminal.conductingEquipment && terminal.conductingEquipmentUUID) {
|
|
3750
|
-
|
|
3967
|
+
if (!terminal.conductingEquipment && !terminal.conductingEquipmentUUID) {
|
|
3968
|
+
logger.debug(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
|
|
3751
3969
|
}
|
|
3752
|
-
if (terminal.connectivityNode && terminal.connectivityNodeUUID) {
|
|
3753
|
-
|
|
3970
|
+
if (!terminal.connectivityNode && !terminal.connectivityNodeUUID) {
|
|
3971
|
+
logger.debug(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
|
|
3754
3972
|
}
|
|
3755
3973
|
}
|
|
3756
3974
|
}
|