@enervance/insight-cim-model 0.0.29 → 0.0.31

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 (186) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +48 -1
  2. package/dist/analysis/analysis-neplan/digi-ons.js +268 -70
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  4. package/dist/constants/cim-class-definition.js +25 -0
  5. package/dist/constants/cim-class-definition.js.map +1 -1
  6. package/dist/constants/cim-class-names.d.ts +13 -0
  7. package/dist/constants/cim-class-names.js +13 -0
  8. package/dist/constants/cim-class-names.js.map +1 -1
  9. package/dist/constants/rdf-xml.d.ts +2 -2
  10. package/dist/constants/rdf-xml.js +2 -2
  11. package/dist/converter/integral7/ConverterIntegral7.d.ts +54 -56
  12. package/dist/converter/integral7/ConverterIntegral7.js +2470 -1837
  13. package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
  14. package/dist/converter/integral7/config/integral-prefix.d.ts +6 -1
  15. package/dist/converter/integral7/config/integral-prefix.js +7 -2
  16. package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
  17. package/dist/converter/integral7/converter-i7.d.ts +29 -61
  18. package/dist/converter/integral7/converter-i7.js +1231 -545
  19. package/dist/converter/integral7/converter-i7.js.map +1 -1
  20. package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +22 -0
  21. package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +3 -0
  22. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +62 -5
  23. package/dist/converter/integral7/interface-i7/data-structures-i7.js +6 -0
  24. package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
  25. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +52 -4
  26. package/dist/converter/integral7/interface-i7/export-frame-i7.js +117 -14
  27. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  28. package/dist/converter/integral7/model/interfaces.d.ts +14 -0
  29. package/dist/converter/integral7/sql/integral.sql.d.ts +8 -0
  30. package/dist/converter/integral7/sql/integral.sql.js +41 -4
  31. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  32. package/dist/converter/integral7/utils-cgmes-export.js +17 -3
  33. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  34. package/dist/converter/integral7/utils-trafo3w.js +51 -21
  35. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  36. package/dist/converter/integral7/utils.d.ts +5 -3
  37. package/dist/converter/integral7/utils.js +194 -106
  38. package/dist/converter/integral7/utils.js.map +1 -1
  39. package/dist/index.d.ts +24 -2
  40. package/dist/index.js +48 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/interfaces/model/core/IPowerSystemResource.d.ts +2 -0
  43. package/dist/interfaces/model/core/ITerminal.d.ts +2 -0
  44. package/dist/model/assetinfo/SwitchInfo.d.ts +10 -0
  45. package/dist/model/assetinfo/SwitchInfo.js +51 -0
  46. package/dist/model/assetinfo/SwitchInfo.js.map +1 -0
  47. package/dist/model/assets/Asset.js +4 -2
  48. package/dist/model/assets/Asset.js.map +1 -1
  49. package/dist/model/common/Location.js +22 -22
  50. package/dist/model/core/ConductingEquipment.d.ts +2 -0
  51. package/dist/model/core/ConductingEquipment.js +9 -0
  52. package/dist/model/core/ConductingEquipment.js.map +1 -1
  53. package/dist/model/core/ConnectivityNode.d.ts +7 -2
  54. package/dist/model/core/ConnectivityNode.js +71 -0
  55. package/dist/model/core/ConnectivityNode.js.map +1 -1
  56. package/dist/model/core/GeographicalRegion.d.ts +1 -0
  57. package/dist/model/core/GeographicalRegion.js +5 -0
  58. package/dist/model/core/GeographicalRegion.js.map +1 -1
  59. package/dist/model/core/IdentifiedObject.js +13 -9
  60. package/dist/model/core/IdentifiedObject.js.map +1 -1
  61. package/dist/model/core/PowerSystemResource.d.ts +1 -0
  62. package/dist/model/core/PowerSystemResource.js +7 -0
  63. package/dist/model/core/PowerSystemResource.js.map +1 -1
  64. package/dist/model/core/Substation.js +1 -0
  65. package/dist/model/core/Substation.js.map +1 -1
  66. package/dist/model/core/Terminal.d.ts +1 -1
  67. package/dist/model/core/Terminal.js +50 -33
  68. package/dist/model/core/Terminal.js.map +1 -1
  69. package/dist/model/dc/ACDCConverter.js +1 -2
  70. package/dist/model/dc/ACDCConverter.js.map +1 -1
  71. package/dist/model/dc/DCConductingEquipment.d.ts +2 -2
  72. package/dist/model/dc/DCConductingEquipment.js +2 -2
  73. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  74. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  75. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.d.ts +8 -0
  76. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +48 -0
  77. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -0
  78. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.d.ts +8 -0
  79. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +48 -0
  80. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -0
  81. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.d.ts +8 -0
  82. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +48 -0
  83. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -0
  84. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.d.ts +8 -0
  85. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +48 -0
  86. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -0
  87. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.d.ts +8 -0
  88. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +48 -0
  89. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -0
  90. package/dist/model/extensions/amprion/assets/AMPRIONCountry.d.ts +11 -0
  91. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +49 -0
  92. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -0
  93. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +3 -0
  94. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +16 -4
  95. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  96. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.d.ts +8 -0
  97. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +48 -0
  98. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -0
  99. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.d.ts +8 -0
  100. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +48 -0
  101. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -0
  102. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.d.ts +8 -0
  103. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +48 -0
  104. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -0
  105. package/dist/model/extensions/amprion/assets/AMPRIONState.d.ts +13 -0
  106. package/dist/model/extensions/amprion/assets/AMPRIONState.js +58 -0
  107. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -0
  108. package/dist/model/extensions/amprion/core/AMPRIONBay.d.ts +3 -2
  109. package/dist/model/extensions/amprion/core/AMPRIONBay.js +7 -4
  110. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  111. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +8 -1
  112. package/dist/model/extensions/amprion/core/AMPRIONLine.js +38 -1
  113. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  114. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +5 -2
  115. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +18 -12
  116. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  117. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +31 -0
  118. package/dist/model/extensions/amprion/model/AMPRIONModel.js +65 -3
  119. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
  120. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  121. package/dist/model/meas/Analog.d.ts +7 -0
  122. package/dist/model/meas/Analog.js +8 -0
  123. package/dist/model/meas/Analog.js.map +1 -0
  124. package/dist/model/meas/Measurement.d.ts +8 -0
  125. package/dist/model/meas/Measurement.js +8 -0
  126. package/dist/model/meas/Measurement.js.map +1 -0
  127. package/dist/model/model/Model.d.ts +11 -1
  128. package/dist/model/model/Model.js +23 -6
  129. package/dist/model/model/Model.js.map +1 -1
  130. package/dist/model/operationallimits/CurrentLimit.d.ts +2 -1
  131. package/dist/model/operationallimits/CurrentLimit.js +13 -0
  132. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  133. package/dist/model/operationallimits/OperationalLimit.js +1 -1
  134. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  135. package/dist/model/operations/ControlArea.d.ts +9 -0
  136. package/dist/model/operations/ControlArea.js +37 -0
  137. package/dist/model/operations/ControlArea.js.map +1 -0
  138. package/dist/model/operations/ControlAreaTypeKind.d.ts +5 -0
  139. package/dist/model/operations/ControlAreaTypeKind.js +10 -0
  140. package/dist/model/operations/ControlAreaTypeKind.js.map +1 -0
  141. package/dist/model/wires/ACLineSegment.js +1 -1
  142. package/dist/model/wires/Breaker.js +4 -2
  143. package/dist/model/wires/Breaker.js.map +1 -1
  144. package/dist/model/wires/EnergyConnection.d.ts +7 -0
  145. package/dist/model/wires/EnergyConnection.js +20 -0
  146. package/dist/model/wires/EnergyConnection.js.map +1 -0
  147. package/dist/model/wires/EnergyConsumer.d.ts +4 -4
  148. package/dist/model/wires/EnergyConsumer.js +5 -5
  149. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  150. package/dist/model/wires/EnergySource.d.ts +5 -2
  151. package/dist/model/wires/EnergySource.js +26 -4
  152. package/dist/model/wires/EnergySource.js.map +1 -1
  153. package/dist/model/wires/Line.js +2 -6
  154. package/dist/model/wires/Line.js.map +1 -1
  155. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  156. package/dist/model/wires/PowerTransformer.js +1 -1
  157. package/dist/model/wires/PowerTransformer.js.map +1 -1
  158. package/dist/model/wires/RotatingMachine.d.ts +2 -0
  159. package/dist/model/wires/RotatingMachine.js +6 -0
  160. package/dist/model/wires/RotatingMachine.js.map +1 -1
  161. package/dist/model/wires/TapChanger.d.ts +2 -0
  162. package/dist/model/wires/TapChanger.js +36 -8
  163. package/dist/model/wires/TapChanger.js.map +1 -1
  164. package/dist/util/collection/util-excel.js +35 -19
  165. package/dist/util/collection/util-excel.js.map +1 -1
  166. package/dist/util/collection/util-graph.d.ts +8 -1
  167. package/dist/util/collection/util-graph.js +8 -2
  168. package/dist/util/collection/util-graph.js.map +1 -1
  169. package/dist/util/collection/util-graph2tree.js +69 -1
  170. package/dist/util/collection/util-graph2tree.js.map +1 -1
  171. package/dist/util/collection/util-tree.d.ts +0 -34
  172. package/dist/util/collection/util-tree.js +1 -179
  173. package/dist/util/collection/util-tree.js.map +1 -1
  174. package/dist/util/util-create.d.ts +3 -1
  175. package/dist/util/util-create.js +51 -8
  176. package/dist/util/util-create.js.map +1 -1
  177. package/dist/util/utils.d.ts +10 -0
  178. package/dist/util/utils.js +17 -1
  179. package/dist/util/utils.js.map +1 -1
  180. package/dist/util/xml/xml.serializer.d.ts +1 -0
  181. package/dist/util/xml/xml.serializer.js +9 -9
  182. package/dist/util/xml/xml.serializer.js.map +1 -1
  183. package/package.json +2 -1
  184. package/dist/converter/integral7/interface-i7/IUkzExportConfig.d.ts +0 -5
  185. package/dist/converter/integral7/interface-i7/IUkzExportConfig.js +0 -3
  186. package/dist/converter/integral7/interface-i7/IUkzExportConfig.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSpannungsband = exports.createRegulatingControl = exports.createWriteStreamPromise = exports.getPSRType = exports.putUUIDtoI7Ids = exports.getIntegral7IDs = exports.createTempDirPath = exports.determineEquipmentContainer = exports.getSchemaValue = exports.writeZipFile = exports.generateNodeStream = exports.writeFile = exports.generateFuelType = exports.getNumber = exports.getDescription = exports.getActiveReactivePower = exports.getTapChangerStepArray = exports.getTapChangerStepCount = exports.setTapChangerControl = exports.createPhaseTapChanger = exports.createRatioTapChanger = exports.getConductingEquipmentTerminalBySecNumber = exports.getTrafoIleer = exports.getTrafoPleer = exports.calculateB = exports.calculateG = exports.calculateX = exports.calculateSigma = exports.calculateR = exports.getUrTrafo = exports.getSrTrafo = exports.getUkrTrafo = exports.getPkrTrafo = exports.getSchaltgruppeAngleClock = exports.getSchaltgruppe = exports.convertToBooleanI7 = exports.isBooleanI7 = exports.convertToNumberI7 = exports.isNumericI7 = exports.getTerminalUn = exports.getU = exports.getLine = exports.getLineByAttribute = exports.getName = exports.ueberpruefeZeichenkette = void 0;
3
+ exports.getSpannungsband = exports.createRegulatingControl = exports.createWriteStreamPromise = exports.getPSRType = exports.putUUIDtoI7Ids = exports.getIntegral7IDs = exports.createTempDirPath = exports.determineEquipmentContainer = exports.getSchemaValue = exports.writeZipFile = exports.generateNodeStream = exports.writeFile = exports.generateFuelType = exports.getNumber = exports.getDescription = exports.getActiveReactivePower = exports.getTapChangerStepArray = exports.getTapChangerStepCount = exports.setTapChangerControl = exports.createPhaseTapChanger = exports.createRatioTapChanger = exports.getConductingEquipmentTerminalBySecNumber = exports.getTrafoIleer = exports.getTrafoPleer = exports.calculateG0ch = exports.calculateBC = exports.calculateB = exports.calculateG = exports.calculateX = exports.calculateSigma = exports.calculateR = exports.getUrTrafo = exports.getSrTrafo = exports.getUkrTrafo = exports.getPkrTrafo = exports.getSchaltgruppeAngleClock = exports.getSchaltgruppe = exports.convertToBooleanI7 = exports.isBooleanI7 = exports.convertToNumberI7 = exports.isNumericI7 = exports.getTerminalUn = exports.getU = exports.getLine = exports.getLineByAttribute = exports.getName = exports.ueberpruefeZeichenkette = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const __1 = require("../..");
6
6
  const fs_1 = tslib_1.__importDefault(require("fs"));
@@ -167,178 +167,217 @@ function convertToBooleanI7(value) {
167
167
  }
168
168
  }
169
169
  exports.convertToBooleanI7 = convertToBooleanI7;
170
- function getSchaltgruppe(schaltgr, endNumber, endsRATEDVoltage) {
171
- let pos_max = endsRATEDVoltage.indexOf(Math.max(...endsRATEDVoltage));
172
- let translate = undefined;
170
+ function getSchaltgruppe(schaltgr, endNumber, isNeutralGrounded) {
173
171
  switch (schaltgr) {
174
172
  case 'DD0':
175
- if (endNumber === 1) {
176
- return __1.WindingConnection.D;
177
- }
178
- else {
179
- return __1.WindingConnection.Yn;
180
- }
173
+ return __1.WindingConnection.D;
181
174
  case 'DD6':
182
- if (endNumber === 1) {
183
- return __1.WindingConnection.D;
184
- }
185
- else {
186
- return __1.WindingConnection.Yn;
187
- }
175
+ return __1.WindingConnection.D;
188
176
  case 'DY5':
189
- if (endNumber === 1) {
190
- return __1.WindingConnection.D;
191
- }
192
- else {
193
- return __1.WindingConnection.Yn;
194
- }
195
177
  case 'DY6':
196
- if (endNumber === 1) {
197
- return __1.WindingConnection.D;
198
- }
199
- else {
200
- return __1.WindingConnection.Yn;
201
- }
202
178
  case 'DY7':
203
- if (endNumber === 1) {
204
- return __1.WindingConnection.D;
205
- }
206
- else {
207
- return __1.WindingConnection.Yn;
208
- }
209
179
  case 'DY11':
180
+ case 'DY11Y11':
210
181
  if (endNumber === 1) {
211
182
  return __1.WindingConnection.D;
212
183
  }
184
+ else if (!isNeutralGrounded) {
185
+ return __1.WindingConnection.Y;
186
+ }
213
187
  else {
214
188
  return __1.WindingConnection.Yn;
215
189
  }
190
+ case 'DZ0':
216
191
  case 'DZ6':
217
192
  if (endNumber === 1) {
218
193
  return __1.WindingConnection.D;
219
194
  }
195
+ else if (endNumber === 2 && !isNeutralGrounded) {
196
+ return __1.WindingConnection.Z;
197
+ }
220
198
  else {
221
- return __1.WindingConnection.Yn;
199
+ return __1.WindingConnection.Zn;
222
200
  }
223
201
  case 'Y0':
224
- if (endNumber === 1) {
225
- return __1.WindingConnection.Yn;
226
- }
227
- break;
228
- case 'YD5':
229
- if (endNumber === 1) {
230
- return __1.WindingConnection.Y;
202
+ return __1.WindingConnection.A;
203
+ case 'Y0D5':
204
+ if (endNumber == 1 || endNumber == 2) {
205
+ return __1.WindingConnection.A;
231
206
  }
232
207
  else {
233
208
  return __1.WindingConnection.D;
234
209
  }
210
+ case 'YD5':
211
+ case 'YD11':
235
212
  case 'YD5D5':
213
+ case 'YD11D11':
236
214
  if (endNumber === 1) {
237
- return __1.WindingConnection.Yn;
215
+ if (isNeutralGrounded) {
216
+ return __1.WindingConnection.Yn;
217
+ }
218
+ else {
219
+ return __1.WindingConnection.Y;
220
+ }
238
221
  }
239
- else if (endNumber === 2 || endNumber === 3) {
222
+ else {
240
223
  return __1.WindingConnection.D;
241
224
  }
242
- break;
243
- case 'YD11':
244
- if (endNumber === 1) {
245
- return __1.WindingConnection.Y;
225
+ case 'YD5Y0':
226
+ case 'YD5Y6':
227
+ if (endNumber === 1 || endNumber == 3) {
228
+ if (isNeutralGrounded) {
229
+ return __1.WindingConnection.Yn;
230
+ }
231
+ else {
232
+ return __1.WindingConnection.Y;
233
+ }
246
234
  }
247
235
  else {
248
236
  return __1.WindingConnection.D;
249
237
  }
250
238
  case 'YNd5':
251
- if (endNumber === 1) {
239
+ case 'YNd7d7':
240
+ if (endNumber === 1 && !isNeutralGrounded) {
241
+ return __1.WindingConnection.Y;
242
+ }
243
+ else if (endNumber === 1 && isNeutralGrounded) {
252
244
  return __1.WindingConnection.Yn;
253
245
  }
254
246
  else {
255
247
  return __1.WindingConnection.D;
256
248
  }
257
- break;
258
249
  case 'YY0':
259
- if (endNumber === 1) {
260
- return __1.WindingConnection.Y;
250
+ case 'YY6':
251
+ if (isNeutralGrounded) {
252
+ return __1.WindingConnection.Yn;
261
253
  }
262
254
  else {
263
255
  return __1.WindingConnection.Y;
264
256
  }
257
+ case 'YY0D1':
265
258
  case 'YY0D5':
259
+ case 'YY0D11':
266
260
  if (endNumber === 1 || endNumber === 2) {
267
- return __1.WindingConnection.Yn;
261
+ if (isNeutralGrounded) {
262
+ return __1.WindingConnection.Yn;
263
+ }
264
+ else {
265
+ return __1.WindingConnection.Y;
266
+ }
268
267
  }
269
268
  else {
270
269
  return __1.WindingConnection.D;
271
270
  }
272
- break;
273
- case 'YY6':
274
- if (endNumber === 1) {
275
- return __1.WindingConnection.Y;
271
+ case 'YY0Y0':
272
+ if (isNeutralGrounded) {
273
+ return __1.WindingConnection.Yn;
276
274
  }
277
275
  else {
278
276
  return __1.WindingConnection.Y;
279
277
  }
280
278
  case 'YZ5':
281
- if (endNumber === 1) {
282
- return __1.WindingConnection.Yn;
283
- }
284
- break;
285
279
  case 'YZ11':
286
280
  if (endNumber === 1) {
287
- return __1.WindingConnection.Yn;
281
+ if (isNeutralGrounded) {
282
+ return __1.WindingConnection.Yn;
283
+ }
284
+ else {
285
+ return __1.WindingConnection.Y;
286
+ }
287
+ }
288
+ else if (endNumber === 2) {
289
+ if (isNeutralGrounded) {
290
+ return __1.WindingConnection.Zn;
291
+ }
292
+ else {
293
+ return __1.WindingConnection.Z;
294
+ }
288
295
  }
289
296
  break;
290
297
  default:
291
- return;
298
+ return __1.WindingConnection.Y;
292
299
  }
293
300
  }
294
301
  exports.getSchaltgruppe = getSchaltgruppe;
295
- function getSchaltgruppeAngleClock(schaltgr, endNumber, endsRATEDVoltage) {
302
+ function getSchaltgruppeAngleClock(schaltgr, endNumber) {
296
303
  switch (schaltgr) {
304
+ case 'DD0':
305
+ case 'DZ0':
306
+ case 'Y0':
307
+ case 'YY0':
308
+ case 'YY0Y0':
309
+ return 0;
310
+ case 'YY0D1':
311
+ if (endNumber === 3) {
312
+ return 1;
313
+ }
297
314
  case 'DY5':
315
+ case 'YD5':
316
+ case 'YD5Y0':
317
+ case 'YNd5':
318
+ case 'YZ5':
319
+ if (endNumber === 2) {
320
+ return 5;
321
+ }
322
+ else {
323
+ return 0;
324
+ }
325
+ case 'DD6':
326
+ case 'DY6':
327
+ case 'DZ6':
328
+ case 'YY6':
298
329
  if (endNumber === 1) {
299
330
  return 0;
300
331
  }
301
332
  else {
333
+ return 6;
334
+ }
335
+ case 'Y0D5':
336
+ case 'YY0D5':
337
+ if (endNumber === 3) {
302
338
  return 5;
303
339
  }
304
- break;
305
- case 'YD5':
340
+ else {
341
+ return 0;
342
+ }
343
+ case 'YD5D5':
306
344
  if (endNumber === 1) {
307
345
  return 0;
308
346
  }
309
347
  else {
310
348
  return 5;
311
349
  }
312
- break;
313
- case 'YY0':
314
- return 0;
315
- break;
316
- case 'YY6':
317
- return 0;
318
- break;
319
- case 'YNd5':
350
+ case 'YD5Y6':
320
351
  if (endNumber === 1) {
321
352
  return 0;
322
353
  }
323
- else {
354
+ else if (endNumber === 2) {
324
355
  return 5;
325
356
  }
326
- break;
327
- case 'Y0':
357
+ else {
358
+ return 6;
359
+ }
360
+ case 'DY7':
361
+ case 'YNd7d7':
328
362
  if (endNumber === 1) {
329
363
  return 0;
330
364
  }
331
- break;
332
- case 'YY0D5':
365
+ else {
366
+ return 7;
367
+ }
368
+ case 'DY11':
369
+ case 'DY11Y11':
370
+ case 'YD11':
371
+ case 'YD11D11':
372
+ case 'YZ11':
373
+ return 11;
374
+ case 'YY0D11':
333
375
  if (endNumber === 3) {
334
- return 5;
376
+ return 11;
335
377
  }
336
- break;
337
- case 'YD5D5':
338
- if (endNumber === 2 || endNumber === 3) {
339
- return 5;
378
+ else {
379
+ return 0;
340
380
  }
341
- break;
342
381
  default:
343
382
  return 0;
344
383
  }
@@ -399,12 +438,17 @@ function getUrTrafo(i7Data, powerTransformerInfo, endNumber) {
399
438
  }
400
439
  exports.getUrTrafo = getUrTrafo;
401
440
  function calculateR(un, pkr, sr) {
441
+ const conversion_factor_un = Math.pow(10, 3);
442
+ const conversion_factor_pkr = Math.pow(10, 3);
443
+ const conversion_factor_sr = Math.pow(10, 6);
444
+ let ret_val = undefined;
402
445
  try {
403
- return pkr * Math.pow(un, 2) / Math.pow(sr, 2) / 1000;
446
+ ret_val = (pkr * conversion_factor_pkr) * Math.pow((un * conversion_factor_un), 2) / Math.pow((sr * conversion_factor_sr), 2);
404
447
  }
405
448
  catch (e) {
449
+ ret_val = undefined;
406
450
  }
407
- return 0;
451
+ return ret_val;
408
452
  }
409
453
  exports.calculateR = calculateR;
410
454
  function calculateSigma(fn, pn, kr) {
@@ -429,23 +473,49 @@ function calculateX(un, ukr, sr, r) {
429
473
  }
430
474
  exports.calculateX = calculateX;
431
475
  function calculateG(un, pLeer) {
476
+ const conversion_factor_un = Math.pow(10, 3);
477
+ const conversion_factor_pLeer = Math.pow(10, 3);
478
+ let ret_val = undefined;
432
479
  try {
433
- return 1000 * pLeer / Math.pow(un, 2);
480
+ ret_val = (pLeer * conversion_factor_pLeer) / Math.pow((un * conversion_factor_un), 2);
434
481
  }
435
482
  catch (e) {
483
+ ret_val = undefined;
436
484
  }
437
- return 0;
485
+ return ret_val;
438
486
  }
439
487
  exports.calculateG = calculateG;
440
488
  function calculateB(un, sr, iLeer, pLeer) {
489
+ const conversion_factor_un = Math.pow(10, 3);
490
+ const conversion_factor_sr = Math.pow(10, 6);
491
+ const conversion_factor_pLeer = Math.pow(10, 3);
492
+ const conversion_factor_iLeer = Math.pow(10, -2);
493
+ let ret_val = undefined;
441
494
  try {
442
- return 1000 * Math.sqrt(Math.pow(sr * 1000, 2) * Math.pow(iLeer, 2) - Math.pow(pLeer, 2) / Math.pow(un, 2));
495
+ ret_val = Math.sqrt(Math.pow((iLeer * conversion_factor_iLeer * sr * conversion_factor_sr) / Math.pow((un * conversion_factor_un), 2), 2) - Math.pow((pLeer * conversion_factor_pLeer) / Math.pow((un * conversion_factor_un), 2), 2));
443
496
  }
444
497
  catch (e) {
498
+ ret_val = undefined;
445
499
  }
446
- return 0;
500
+ return ret_val;
447
501
  }
448
502
  exports.calculateB = calculateB;
503
+ function calculateBC(c, f) {
504
+ const conversion_factor = Math.pow(10, -6);
505
+ let ret_val = undefined;
506
+ try {
507
+ ret_val = 2 * Math.PI * f * (c * conversion_factor);
508
+ }
509
+ catch (e) {
510
+ ret_val = undefined;
511
+ }
512
+ return ret_val;
513
+ }
514
+ exports.calculateBC = calculateBC;
515
+ function calculateG0ch(r) {
516
+ return 0;
517
+ }
518
+ exports.calculateG0ch = calculateG0ch;
449
519
  function getTrafoPleer(i7Data, powerTransformerInfo) {
450
520
  if (i7Data['p_leer'] && i7Data['p_leer'] !== 0) {
451
521
  return i7Data['p_leer'];
@@ -692,11 +762,18 @@ function getTapChangerStepArray(min, max) {
692
762
  }
693
763
  exports.getTapChangerStepArray = getTapChangerStepArray;
694
764
  function getActiveReactivePower(i7Data) {
765
+ const flag_ind = i7Data.flag_ind;
695
766
  const s0 = isNumericI7(i7Data.s0) ? convertToNumberI7(i7Data.s0) : undefined;
696
767
  const p0 = isNumericI7(i7Data.p0) ? convertToNumberI7(i7Data.p0) : undefined;
697
768
  const q0_ind = isNumericI7(i7Data.q0_ind) ? convertToNumberI7(i7Data.q0_ind) : undefined;
698
769
  const q0_kap = isNumericI7(i7Data.q0_kap) ? convertToNumberI7(i7Data.q0_kap) : undefined;
699
- const q = isNumericI7(q0_ind) ? q0_ind : q0_kap;
770
+ let q = undefined;
771
+ if (isNumericI7(q0_ind) && isNumericI7(q0_kap) && flag_ind === 1) {
772
+ q = convertToNumberI7(q0_ind) - convertToNumberI7(q0_kap);
773
+ }
774
+ else {
775
+ q = convertToNumberI7(q0_kap) - convertToNumberI7(q0_ind);
776
+ }
700
777
  let cosPhi = isNumericI7(i7Data.cos_phi) ? convertToNumberI7(i7Data.cos_phi) : 1;
701
778
  if (!(cosPhi > 0 && cosPhi <= 1)) {
702
779
  cosPhi = 1;
@@ -820,38 +897,49 @@ function getSchemaValue(variantenNr, schemaId, map) {
820
897
  return undefined;
821
898
  }
822
899
  exports.getSchemaValue = getSchemaValue;
823
- function determineEquipmentContainer(equipmentContainerType, cimModel, equipmentContainer) {
824
- var _a;
900
+ function determineEquipmentContainer(equipmentContainerType, equipmentContainer, cimModel) {
901
+ let ret_val;
825
902
  switch (equipmentContainerType) {
826
903
  case ('Bay'): {
827
- return equipmentContainer;
904
+ if (equipmentContainer instanceof __1.Bay) {
905
+ ret_val = equipmentContainer;
906
+ }
907
+ else {
908
+ ret_val = undefined;
909
+ }
910
+ break;
828
911
  }
829
912
  case ('VoltageLevel'): {
830
913
  if (equipmentContainer instanceof __1.Bay) {
831
- return cimModel.getObject(equipmentContainer.voltageLevelUUID);
914
+ ret_val = equipmentContainer.getVoltageLevel();
915
+ }
916
+ else if (equipmentContainer instanceof __1.VoltageLevel) {
917
+ ret_val = equipmentContainer;
832
918
  }
833
- return equipmentContainer;
919
+ else {
920
+ ret_val = undefined;
921
+ }
922
+ break;
834
923
  }
835
924
  case ('Substation'): {
836
925
  if (equipmentContainer instanceof __1.Bay) {
837
- const voltageLevel = cimModel.getObject(equipmentContainer.voltageLevelUUID);
838
- return cimModel.getObject(voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getSubstationUUID());
926
+ const voltageLevel = equipmentContainer.getVoltageLevel();
927
+ const subst_uuid = voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.getSubstationUUID();
928
+ ret_val = cimModel.getObject(subst_uuid);
839
929
  }
840
930
  else if (equipmentContainer instanceof __1.VoltageLevel) {
841
- return cimModel.getObject((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getSubstationUUID());
931
+ ret_val = cimModel.getObject(equipmentContainer.getSubstationUUID());
842
932
  }
843
933
  else {
844
- return equipmentContainer;
934
+ ret_val = equipmentContainer;
845
935
  }
936
+ break;
846
937
  }
847
938
  default: {
848
- return equipmentContainer;
939
+ ret_val = undefined;
849
940
  }
850
941
  }
851
- if (equipmentContainer instanceof __1.Bay) {
852
- return cimModel.getObject(equipmentContainer.voltageLevelUUID);
853
- }
854
- return equipmentContainer;
942
+ return ret_val;
855
943
  }
856
944
  exports.determineEquipmentContainer = determineEquipmentContainer;
857
945
  function createTempDirPath() {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/integral7/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/integral7/utils.ts"],"names":[],"mappings":"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"}