@enervance/insight-cim-model 0.0.142 → 0.0.145

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 (40) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +1 -0
  2. package/dist/converter/integral7/converter.integral7.js +77 -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/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  6. package/dist/model/core/Bay.d.ts +1 -1
  7. package/dist/model/core/ConductingEquipment.js +0 -1
  8. package/dist/model/core/ConductingEquipment.js.map +1 -1
  9. package/dist/model/core/Equipment.d.ts +1 -1
  10. package/dist/model/core/Equipment.js +3 -1
  11. package/dist/model/core/Equipment.js.map +1 -1
  12. package/dist/model/core/Terminal.js +2 -0
  13. package/dist/model/core/Terminal.js.map +1 -1
  14. package/dist/model/dc/DCLine.js +17 -17
  15. package/dist/model/dc/DCLineSegment.js +25 -25
  16. package/dist/model/diagram/DiagramObject.js +3 -0
  17. package/dist/model/diagram/DiagramObject.js.map +1 -1
  18. package/dist/model/loadmodel/ConformLoad.js +33 -33
  19. package/dist/model/loadmodel/ConformLoadGroup.js +22 -22
  20. package/dist/model/loadmodel/LoadArea.js +21 -21
  21. package/dist/model/loadmodel/SubLoadArea.js +22 -22
  22. package/dist/model/market-management/Point.d.ts +4 -0
  23. package/dist/model/market-management/Point.js +14 -0
  24. package/dist/model/market-management/Point.js.map +1 -1
  25. package/dist/model/market-management/TimeSeries.d.ts +2 -0
  26. package/dist/model/market-management/TimeSeries.js +11 -0
  27. package/dist/model/market-management/TimeSeries.js.map +1 -1
  28. package/dist/model/wires/ExternalNetworkInjection.d.ts +0 -1
  29. package/dist/model/wires/ExternalNetworkInjection.js +0 -16
  30. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  31. package/dist/model/wires/RegulatingCondEq.d.ts +1 -0
  32. package/dist/model/wires/RegulatingCondEq.js +16 -4
  33. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  34. package/dist/model/wires/RotatingMachine.d.ts +3 -1
  35. package/dist/model/wires/RotatingMachine.js +9 -15
  36. package/dist/model/wires/RotatingMachine.js.map +1 -1
  37. package/dist/model/wires/SynchronousMachine.d.ts +2 -1
  38. package/dist/model/wires/SynchronousMachine.js +33 -0
  39. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  40. 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,25 @@ 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
+ break;
1174
+ }
1175
+ case 'SynchronousMachine': {
1176
+ yield this.convertEnergySourceToSynchronousMachine(cimModel, filtered);
1177
+ break;
1178
+ }
1179
+ }
1177
1180
  }
1181
+ const i7EnergySourceResults = result.filter(it => !it.spannungsgeregelt);
1182
+ yield this.convertEinspeisungen2EnergySource(cimModel, i7EnergySourceResults, energySourceTypeMappingConfig);
1183
+ const others = result.filter(it => !it.spannungsgeregelt && !it.einspprio);
1184
+ console.log(`convertEinspeisungen nicht konvertierte Objekte ${others.length}`);
1185
+ break;
1178
1186
  }
1179
1187
  }
1180
1188
  }
@@ -1522,6 +1530,64 @@ class ConverterIntegral7 {
1522
1530
  }
1523
1531
  });
1524
1532
  }
1533
+ convertEnergySourceToSynchronousMachine(cimModel, result) {
1534
+ for (const i7Data of result) {
1535
+ try {
1536
+ if (i7Data.guid.toLowerCase().includes('_e11f3fe9-0b7a-4ff1-a0dc-214c4c3fd8cc')) {
1537
+ console.log();
1538
+ }
1539
+ 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);
1540
+ const inBetrieb = (0, parser_utils_1.convertToBooleanI7)(i7Data.betrieb);
1541
+ const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
1542
+ const p = powerData[0];
1543
+ const q = powerData[1];
1544
+ const prio = (0, parser_utils_1.isNumericI7)(i7Data.einspprio) ? (0, parser_utils_1.convertToNumberI7)(i7Data.einspprio) : undefined;
1545
+ synchronousMachine.referencePriority = prio;
1546
+ // SSH Profil
1547
+ synchronousMachine.setActivePower(p * -1); //convert to load sign system
1548
+ synchronousMachine.setReactivePower(q * -1); //convert to load sign system
1549
+ /** Set machine type */
1550
+ synchronousMachine.type = SynchronousMachineKind_1.SynchronousMachineKind.generator;
1551
+ /** Set machine operatingMode */
1552
+ synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1553
+ const maxQ = (0, parser_utils_1.isNumericI7)(i7Data.q_max) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_max) : undefined;
1554
+ const minQ = (0, parser_utils_1.isNumericI7)(i7Data.q_min) ? (0, parser_utils_1.convertToNumberI7)(i7Data.q_min) : undefined;
1555
+ synchronousMachine.maxQ = maxQ ? maxQ : undefined;
1556
+ synchronousMachine.minQ = minQ ? minQ : undefined;
1557
+ synchronousMachine.ratedS = Math.sqrt(Math.pow(p, 2) + Math.pow(q, 2));
1558
+ const usoll = +i7Data.usoll;
1559
+ synchronousMachine.ratedU = usoll;
1560
+ synchronousMachine.aggregate = true;
1561
+ /** RegulatingControl */
1562
+ let regulatingControl = undefined;
1563
+ // TODO targetDeadband: ab welcher spannung soll reguliert werden.
1564
+ switch (i7Data.spannungsgeregelt) {
1565
+ case 1: {
1566
+ regulatingControl = new RegulatingControl_1.RegulatingControl(common_utils_1.CommonUtils.generateUUID(), (0, util_create_1.createNotation)(['GEN'], 32, true));
1567
+ regulatingControl.targetValue = usoll !== undefined ? usoll : synchronousMachine.ratedU;
1568
+ regulatingControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
1569
+ regulatingControl.discrete = false;
1570
+ regulatingControl.enabled = true;
1571
+ synchronousMachine.controlEnabled = true;
1572
+ regulatingControl.addRegulatingCondEq(synchronousMachine);
1573
+ synchronousMachine.regulatingControlUUID = regulatingControl.getUUID();
1574
+ synchronousMachine.regulatingControl = regulatingControl;
1575
+ cimModel.addRegulatingControl(regulatingControl);
1576
+ break;
1577
+ }
1578
+ default: {
1579
+ synchronousMachine.controlEnabled = false;
1580
+ }
1581
+ }
1582
+ this.setTopologyEnergySourceConsumerObject(cimModel, synchronousMachine, i7Data, regulatingControl);
1583
+ cimModel.addSynchronousMachine(synchronousMachine);
1584
+ this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
1585
+ }
1586
+ catch (err) {
1587
+ this.logger.error(`Err convertEnergySourceToSynchronousMachine ${i7Data.id} ${err}`);
1588
+ }
1589
+ }
1590
+ }
1525
1591
  convertAsynchronmotor(cimModel, knotenSfIDs, defaultValuesConfig) {
1526
1592
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
1527
1593
  // Generatoren werden als GeneratingUnit und SynchronousMachine abgebildet
@@ -2801,9 +2867,6 @@ class ConverterIntegral7 {
2801
2867
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
2802
2868
  for (const i7Data of result) {
2803
2869
  try {
2804
- if (i7Data.guid === '_0c9bfad8-1f90-4974-93f1-4e7af3440040') {
2805
- console.log();
2806
- }
2807
2870
  const cn = cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2808
2871
  const cimrdfid = (0, parser_utils_1.getUUID)(i7Data.guid, this.objectMappingConfig.standardiseUuid);
2809
2872
  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);