@enervance/insight-cim-model 0.0.141 → 0.0.143

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.
Files changed (41) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +1 -0
  2. package/dist/converter/integral7/converter.integral7.js +71 -14
  3. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  4. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +2 -2
  5. package/dist/model/core/Bay.d.ts +1 -1
  6. package/dist/model/core/ConductingEquipment.js +0 -1
  7. package/dist/model/core/ConductingEquipment.js.map +1 -1
  8. package/dist/model/core/Equipment.d.ts +1 -1
  9. package/dist/model/core/Equipment.js +3 -1
  10. package/dist/model/core/Equipment.js.map +1 -1
  11. package/dist/model/core/Terminal.js +2 -0
  12. package/dist/model/core/Terminal.js.map +1 -1
  13. package/dist/model/dc/DCLine.js +17 -17
  14. package/dist/model/dc/DCLineSegment.js +25 -25
  15. package/dist/model/diagram/DiagramObject.js +3 -0
  16. package/dist/model/diagram/DiagramObject.js.map +1 -1
  17. package/dist/model/loadmodel/ConformLoad.js +33 -33
  18. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  19. package/dist/model/loadmodel/LoadArea.js +21 -21
  20. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  21. package/dist/model/market-management/Point.d.ts +4 -0
  22. package/dist/model/market-management/Point.js +14 -0
  23. package/dist/model/market-management/Point.js.map +1 -1
  24. package/dist/model/market-management/TimeSeries.d.ts +2 -0
  25. package/dist/model/market-management/TimeSeries.js +11 -0
  26. package/dist/model/market-management/TimeSeries.js.map +1 -1
  27. package/dist/model/wires/ExternalNetworkInjection.d.ts +0 -1
  28. package/dist/model/wires/ExternalNetworkInjection.js +0 -16
  29. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  30. package/dist/model/wires/PowerTransformer.js +19 -12
  31. package/dist/model/wires/PowerTransformer.js.map +1 -1
  32. package/dist/model/wires/RegulatingCondEq.d.ts +1 -0
  33. package/dist/model/wires/RegulatingCondEq.js +16 -4
  34. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  35. package/dist/model/wires/RotatingMachine.d.ts +3 -1
  36. package/dist/model/wires/RotatingMachine.js +9 -15
  37. package/dist/model/wires/RotatingMachine.js.map +1 -1
  38. package/dist/model/wires/SynchronousMachine.d.ts +2 -1
  39. package/dist/model/wires/SynchronousMachine.js +31 -0
  40. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  41. package/package.json +1 -1
@@ -82,6 +82,7 @@ export declare class ConverterIntegral7 {
82
82
  convertEinspeisungen(cimModel: INTEGRALModelContainer, knotenSfIDs: number[], objectMappingConfig: IObjectMappingConfig, energySourceTypeMappingConfig: IEnergySourceTypeMapping[]): Promise<void>;
83
83
  convertErsatzQuerZweige(cimModel: INTEGRALModelContainer, knotenSfIDs: number[], targetClass: string): Promise<void>;
84
84
  convertGeneratoren(cimModel: INTEGRALModelContainer, knotenSfIDs: number[], energyTypesConfig: any): Promise<void>;
85
+ private convertEnergySourceToSynchronousMachine;
85
86
  convertAsynchronmotor(cimModel: INTEGRALModelContainer, knotenSfIDs: number[], defaultValuesConfig: IDefaultValuesConfig): Promise<void>;
86
87
  convertKraftwerksbloecke(cimModel: INTEGRALModelContainer, knotenSfIDs: number[], energyTypesConfig: any): Promise<void>;
87
88
  convertErsatzQuerZweige2ExternalNetworkInjection(cimModel: INTEGRALModelContainer, result: Ersatzquerzweig[]): Promise<void>;
@@ -134,6 +134,7 @@ const DiagramObject_1 = require("../../model/diagram/DiagramObject.js");
134
134
  const util_asset_model_1 = require("./util-asset.model.js");
135
135
  const cim_constants_1 = require("../../constants/cim-constants.js");
136
136
  const EVWireObject_1 = require("../../model/extensions/enervance/assets/EVWireObject.js");
137
+ const SynchronousMachine_1 = require("../../model/wires/SynchronousMachine.js");
137
138
  class ConverterIntegral7 {
138
139
  constructor() {
139
140
  /** Exportnetze gemäß Konfiguration */
@@ -1149,7 +1150,6 @@ class ConverterIntegral7 {
1149
1150
  });
1150
1151
  }
1151
1152
  convertEinspeisungen(cimModel, knotenSfIDs, objectMappingConfig, energySourceTypeMappingConfig) {
1152
- var _a;
1153
1153
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1154
1154
  const targetConfig = objectMappingConfig.Einspeisung;
1155
1155
  const targetClass = objectMappingConfig.Einspeisung.class;
@@ -1164,17 +1164,23 @@ class ConverterIntegral7 {
1164
1164
  yield this.convertEinspeisungen2ExternalNetworkInjection(cimModel, result);
1165
1165
  break;
1166
1166
  }
1167
- default: {
1168
- if ((_a = targetConfig.referencePriority) === null || _a === void 0 ? void 0 : _a.prio) {
1169
- // Westnetz Hochspannungsheuristik
1170
- const i7SlacksResults = result.filter(it => it.spannungsgeregelt);
1171
- const i7EnergySourceResults = result.filter(it => !it.spannungsgeregelt);
1172
- yield this.convertEinspeisungen2EnergySource(cimModel, i7EnergySourceResults, energySourceTypeMappingConfig);
1173
- yield this.convertEinspeisungen2ExternalNetworkInjection(cimModel, i7SlacksResults);
1174
- }
1175
- else {
1176
- yield this.convertEinspeisungen2EnergySource(cimModel, result, energySourceTypeMappingConfig);
1167
+ case cim_class_names_1.ClassNames.EnergySource: {
1168
+ for (const config of objectMappingConfig.Einspeisung.referencePriorityMapping) {
1169
+ const filtered = result.filter(it => it.spannungsgeregelt && it.einspprio === config.prio);
1170
+ switch (config.class) {
1171
+ case 'ExternalNetworkInjection': {
1172
+ yield this.convertEinspeisungen2ExternalNetworkInjection(cimModel, filtered);
1173
+ }
1174
+ case 'SynchronousMachine': {
1175
+ yield this.convertEnergySourceToSynchronousMachine(cimModel, filtered);
1176
+ }
1177
+ }
1177
1178
  }
1179
+ const i7EnergySourceResults = result.filter(it => !it.spannungsgeregelt);
1180
+ yield this.convertEinspeisungen2EnergySource(cimModel, i7EnergySourceResults, energySourceTypeMappingConfig);
1181
+ const others = result.filter(it => !it.spannungsgeregelt && !it.einspprio);
1182
+ console.log(`convertEinspeisungen nicht konvertierte Objekte ${others.length}`);
1183
+ break;
1178
1184
  }
1179
1185
  }
1180
1186
  }
@@ -1522,6 +1528,60 @@ class ConverterIntegral7 {
1522
1528
  }
1523
1529
  });
1524
1530
  }
1531
+ convertEnergySourceToSynchronousMachine(cimModel, result) {
1532
+ for (const i7Data of result) {
1533
+ try {
1534
+ const synchronousMachine = new SynchronousMachine_1.SynchronousMachine((0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid), (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_SM'], 32, true), i7Data.kurzname);
1535
+ const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
1536
+ const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
1537
+ const p = powerData[0];
1538
+ const q = powerData[1];
1539
+ const prio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
1540
+ synchronousMachine.referencePriority = prio;
1541
+ // SSH Profil
1542
+ synchronousMachine.setActivePower(p * -1); //convert to load sign system
1543
+ synchronousMachine.setReactivePower(q * -1); //convert to load sign system
1544
+ /** Set machine type */
1545
+ synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
1546
+ /** Set machine operatingMode */
1547
+ synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1548
+ const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
1549
+ const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
1550
+ synchronousMachine.maxQ = maxQ ? maxQ : undefined;
1551
+ synchronousMachine.minQ = minQ ? minQ : undefined;
1552
+ synchronousMachine.ratedS = Math.sqrt(Math.pow(p, 2) + Math.pow(q, 2));
1553
+ const usoll = +i7Data.usoll;
1554
+ synchronousMachine.ratedU = usoll;
1555
+ synchronousMachine.aggregate = true;
1556
+ /** RegulatingControl */
1557
+ let regulatingControl = undefined;
1558
+ // TODO targetDeadband: ab welcher spannung soll reguliert werden.
1559
+ switch (i7Data.spannungsgeregelt) {
1560
+ case 1: {
1561
+ regulatingControl = new RegulatingControl_1.RegulatingControl(common_utils_1.CommonUtils.generateUUID(), (0, util_create_1.createNotation)(['GEN'], 32, true));
1562
+ regulatingControl.targetValue = usoll !== undefined ? usoll : synchronousMachine.ratedU;
1563
+ regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
1564
+ regulatingControl.discrete = false;
1565
+ regulatingControl.enabled = true;
1566
+ synchronousMachine.controlEnabled = true;
1567
+ regulatingControl.addRegulatingCondEq(synchronousMachine);
1568
+ synchronousMachine.regulatingControlUUID = regulatingControl.getUUID();
1569
+ cimModel.addRegulatingControl(regulatingControl);
1570
+ break;
1571
+ }
1572
+ default: {
1573
+ synchronousMachine.controlEnabled = false;
1574
+ }
1575
+ }
1576
+ this.setTopologyEnergySourceConsumerObject(cimModel, synchronousMachine, i7Data);
1577
+ cimModel.addSynchronousMachine(synchronousMachine);
1578
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
1579
+ }
1580
+ catch (err) {
1581
+ this.logger.error(`Err convertEnergySourceToSynchronousMachine ${i7Data.id} ${err}`);
1582
+ }
1583
+ }
1584
+ }
1525
1585
  convertAsynchronmotor(cimModel, knotenSfIDs, defaultValuesConfig) {
1526
1586
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1527
1587
  // Generatoren werden als GeneratingUnit und SynchronousMachine abgebildet
@@ -2801,9 +2861,6 @@ class ConverterIntegral7 {
2801
2861
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2802
2862
  for (const i7Data of result) {
2803
2863
  try {
2804
- if (i7Data.guid === '_0c9bfad8-1f90-4974-93f1-4e7af3440040') {
2805
- console.log();
2806
- }
2807
2864
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2808
2865
  const cimrdfid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
2809
2866
  const externalNetworkInjection = new INTEGRALExternalNetworkInjection_1.INTEGRALExternalNetworkInjection(cimrdfid, (0, util_create_1.createNotation)([(0, utils_2.getName)(i7Data), '_', cimrdfid.substring(0, 8), '_ENI'], 32, true), i7Data.kurzname);