@enervance/insight-cim-model 0.0.62 → 0.0.63

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 (1104) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +55 -3
  2. package/dist/analysis/analysis-neplan/digi-ons.js +101 -22
  3. package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
  4. package/dist/config/load.confings.d.ts +11 -0
  5. package/dist/config/load.confings.js +362 -0
  6. package/dist/config/load.confings.js.map +1 -0
  7. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.d.ts +9 -9
  8. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js +3 -36
  9. package/dist/config/westnetz-neplan/callbacks/cb-connectivitynode.js.map +1 -1
  10. package/dist/config/westnetz-neplan/callbacks/cb-psr.d.ts +3 -3
  11. package/dist/config/westnetz-neplan/callbacks/cb-psr.js +7 -4
  12. package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
  13. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.d.ts +2 -2
  14. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js +2 -0
  15. package/dist/config/westnetz-neplan/callbacks/cb-wnenergyconsumer.js.map +1 -1
  16. package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +19 -19
  17. package/dist/constants/cim-asset-types.d.ts +20 -0
  18. package/dist/constants/cim-asset-types.js +36 -14
  19. package/dist/constants/cim-asset-types.js.map +1 -1
  20. package/dist/constants/cim-class-names.d.ts +28 -4
  21. package/dist/constants/cim-class-names.js +192 -133
  22. package/dist/constants/cim-class-names.js.map +1 -1
  23. package/dist/constants/cim-constants.js +3 -3
  24. package/dist/constants/cim-constants.js.map +1 -1
  25. package/dist/constants/rdf-xml.js +59 -59
  26. package/dist/constants/rdf-xml.js.map +1 -1
  27. package/dist/converter/PSDM/ConverterPowerSystemDataModel.d.ts +46 -2
  28. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js +88 -9
  29. package/dist/converter/PSDM/ConverterPowerSystemDataModel.js.map +1 -1
  30. package/dist/converter/PSDM/model/FixedFeedIn.d.ts +9 -0
  31. package/dist/converter/PSDM/model/Line.d.ts +12 -0
  32. package/dist/converter/PSDM/model/LineType.d.ts +11 -0
  33. package/dist/converter/PSDM/model/Load.d.ts +12 -0
  34. package/dist/converter/PSDM/model/TimeSeriesMapping.d.ts +6 -0
  35. package/dist/converter/PSDM/model/Transformer.d.ts +11 -0
  36. package/dist/converter/PSDM/model/TransformerType.d.ts +18 -0
  37. package/dist/converter/integral7/converter.integral7.d.ts +207 -0
  38. package/dist/converter/integral7/converter.integral7.js +5530 -0
  39. package/dist/converter/integral7/converter.integral7.js.map +1 -0
  40. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +15 -0
  41. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +14 -5
  42. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +1074 -927
  43. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -1
  44. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +10 -0
  45. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +15 -2
  46. package/dist/converter/integral7/interface-i7/export-frame-i7.js +132 -53
  47. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  48. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.d.ts +6 -0
  49. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +11 -0
  50. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -1
  51. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +11 -0
  52. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +22 -0
  53. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -1
  54. package/dist/converter/integral7/model/dl-utils/constants.d.ts +8 -0
  55. package/dist/converter/integral7/model/dl-utils/constants.js +66 -58
  56. package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
  57. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +18 -5
  58. package/dist/converter/integral7/model/dl-utils/util-functions.js +210 -11
  59. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  60. package/dist/converter/integral7/model/integral/BaseClass.js +8 -0
  61. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  62. package/dist/converter/integral7/model/integral/BaseClassNsg.js +7 -0
  63. package/dist/converter/integral7/model/integral/BaseClassNsg.js.map +1 -1
  64. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.d.ts +4 -0
  65. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +6 -0
  66. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -1
  67. package/dist/converter/integral7/model/integral/KnotenSo.js +6 -0
  68. package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
  69. package/dist/converter/integral7/model/integral/KnotenSoNsg.js +6 -0
  70. package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
  71. package/dist/converter/integral7/model/integral/Laengskupplung.js +6 -0
  72. package/dist/converter/integral7/model/integral/Laengskupplung.js.map +1 -1
  73. package/dist/converter/integral7/model/integral/Leitung.js +9 -0
  74. package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
  75. package/dist/converter/integral7/model/integral/LeitungNsg.js +10 -0
  76. package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
  77. package/dist/converter/integral7/model/integral/Point.d.ts +7 -0
  78. package/dist/converter/integral7/model/integral/Point.js +10 -1
  79. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  80. package/dist/converter/integral7/model/integral/Schaltanlage.js +8 -3
  81. package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
  82. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js +8 -1
  83. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  84. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js +7 -2
  85. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
  86. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js +8 -0
  87. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
  88. package/dist/converter/integral7/model/integral/Schaltfeld.js +9 -4
  89. package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
  90. package/dist/converter/integral7/model/integral/SchaltfeldNsg.d.ts +8 -0
  91. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js +17 -0
  92. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  93. package/dist/converter/integral7/model/integral/Standort.js +15 -1
  94. package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
  95. package/dist/converter/integral7/model/integral/StandortNsg.js +4 -1
  96. package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
  97. package/dist/converter/integral7/model/integral/Trafo2w.js +6 -0
  98. package/dist/converter/integral7/model/integral/Trafo2w.js.map +1 -1
  99. package/dist/converter/integral7/model/integral/Trafo2wNsg.js +5 -0
  100. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  101. package/dist/converter/integral7/model/integral/Trafo3w.js +5 -0
  102. package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -1
  103. package/dist/converter/integral7/model/integral/Trafo3wNsg.d.ts +4 -0
  104. package/dist/converter/integral7/model/integral/Trafo3wNsg.js +12 -0
  105. package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -1
  106. package/dist/converter/integral7/model/interfaces.d.ts +30 -0
  107. package/dist/converter/integral7/sql/integral.sql.d.ts +5 -0
  108. package/dist/converter/integral7/sql/integral.sql.js +276 -255
  109. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  110. package/dist/converter/integral7/utils-cgmes-export.d.ts +10 -10
  111. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  112. package/dist/converter/integral7/utils-schema.js +1 -2
  113. package/dist/converter/integral7/utils-schema.js.map +1 -1
  114. package/dist/converter/integral7/utils-trafo3w.d.ts +66 -0
  115. package/dist/converter/integral7/utils-trafo3w.js +70 -3
  116. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  117. package/dist/converter/integral7/utils.d.ts +53 -11
  118. package/dist/converter/integral7/utils.js +262 -47
  119. package/dist/converter/integral7/utils.js.map +1 -1
  120. package/dist/data-structures/Settings.js +6 -2
  121. package/dist/data-structures/Settings.js.map +1 -1
  122. package/dist/data-structures/graph/GraphObject.js +8 -3
  123. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  124. package/dist/data-structures/graph/Types.js.map +1 -1
  125. package/dist/data-structures/graph/connections/connection.js +5 -1
  126. package/dist/data-structures/graph/connections/connection.js.map +1 -1
  127. package/dist/data-structures/graph/edges/GraphEdge.js +2 -0
  128. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  129. package/dist/data-structures/graph/graph-interfaces.d.ts +3 -0
  130. package/dist/data-structures/graph/graph-util.d.ts +4 -0
  131. package/dist/data-structures/graph/graph-util.js +29 -2
  132. package/dist/data-structures/graph/graph-util.js.map +1 -1
  133. package/dist/data-structures/graph/graph.d.ts +9 -3
  134. package/dist/data-structures/graph/graph.js +19 -3
  135. package/dist/data-structures/graph/graph.js.map +1 -1
  136. package/dist/data-structures/tree/GraphTree.d.ts +2 -0
  137. package/dist/data-structures/tree/GraphTree.js +13 -10
  138. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  139. package/dist/data-structures/tree/GraphTreeEdge.js +6 -3
  140. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  141. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -0
  142. package/dist/data-structures/tree/GraphTreeNode.js +17 -8
  143. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  144. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -0
  145. package/dist/data-structures/tree/GraphTreeObject.js +6 -1
  146. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  147. package/dist/etl/etl-neplan/et-neplan-regex.d.ts +3 -0
  148. package/dist/etl/etl-neplan/et-neplan-regex.js +3 -0
  149. package/dist/etl/etl-neplan/et-neplan-regex.js.map +1 -1
  150. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.d.ts +2 -2
  151. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js +52 -4
  152. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  153. package/dist/etl/etl-neplan/etl-neplan-csv.d.ts +31 -14
  154. package/dist/etl/etl-neplan/etl-neplan-csv.js +886 -400
  155. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  156. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +30 -4
  157. package/dist/etl/etl-neplan/etl-neplan-feederline.js +136 -18
  158. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  159. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +8 -7
  160. package/dist/etl/etl-neplan/etl-neplan-geo.js +77 -78
  161. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  162. package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +169 -0
  163. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +226 -0
  164. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js.map +1 -1
  165. package/dist/etl/etl-neplan/etl-neplan-util.js +10 -7
  166. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  167. package/dist/etl/etl-neplan/etl-neplan.d.ts +38 -5
  168. package/dist/etl/etl-neplan/etl-neplan.js +350 -99
  169. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  170. package/dist/etl/etl-neplan/neplan-contingency-analysis.d.ts +3 -2
  171. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +191 -43
  172. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  173. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.d.ts +3 -2
  174. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +5 -2
  175. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  176. package/dist/factory/factory-interfaces.d.ts +8 -5
  177. package/dist/factory/object-factory.js +13 -4
  178. package/dist/factory/object-factory.js.map +1 -1
  179. package/dist/factory/sparql-factory.js +7 -0
  180. package/dist/factory/sparql-factory.js.map +1 -1
  181. package/dist/grid-validation/grid-validation.js +8 -4
  182. package/dist/grid-validation/grid-validation.js.map +1 -1
  183. package/dist/index.d.ts +44 -23
  184. package/dist/index.js +107 -66
  185. package/dist/index.js.map +1 -1
  186. package/dist/interfaces/IUUIDObject.d.ts +8 -0
  187. package/dist/interfaces/IUUIDObject.js +3 -0
  188. package/dist/interfaces/IUUIDObject.js.map +1 -0
  189. package/dist/interfaces/model/assets/IActivityRecord.d.ts +8 -0
  190. package/dist/interfaces/model/assets/IActivityRecord.js +3 -0
  191. package/dist/interfaces/model/assets/IActivityRecord.js.map +1 -0
  192. package/dist/interfaces/model/core/IFeeder.d.ts +3 -0
  193. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +25 -7
  194. package/dist/interfaces/model/core/ITerminal.d.ts +1 -0
  195. package/dist/interfaces/model/operations/IOutage.d.ts +3 -0
  196. package/dist/interfaces/model/operations/ISwitchingPlan.d.ts +8 -0
  197. package/dist/interfaces/persistence.interfaces.d.ts +1 -0
  198. package/dist/interfaces/persistence.interfaces.js +16 -0
  199. package/dist/interfaces/persistence.interfaces.js.map +1 -1
  200. package/dist/interfaces/schema-settings/ShapeInfos.js +12 -0
  201. package/dist/interfaces/schema-settings/ShapeInfos.js.map +1 -1
  202. package/dist/model/alternate-models/AlternateModel.js +2 -0
  203. package/dist/model/alternate-models/AlternateModel.js.map +1 -1
  204. package/dist/model/alternate-models/AlternateModelGroup.js +1 -1
  205. package/dist/model/alternate-models/AlternateModelGroup.js.map +1 -1
  206. package/dist/model/assetinfo/AssetInfo.js +5 -4
  207. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  208. package/dist/model/assetinfo/PowerTransformerInfo.d.ts +1 -0
  209. package/dist/model/assetinfo/PowerTransformerInfo.js +1 -0
  210. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  211. package/dist/model/assetinfo/SwitchInfo.d.ts +4 -4
  212. package/dist/model/assetinfo/SwitchInfo.js +21 -22
  213. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  214. package/dist/model/assetinfo/TapChangerInfo.d.ts +20 -1
  215. package/dist/model/assetinfo/TapChangerInfo.js +69 -28
  216. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  217. package/dist/model/assetinfo/TransformerEndInfo.d.ts +2 -1
  218. package/dist/model/assetinfo/TransformerEndInfo.js +9 -3
  219. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  220. package/dist/model/assetinfo/WireInfo.d.ts +1 -1
  221. package/dist/model/assetinfo/WireInfo.js +3 -0
  222. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  223. package/dist/model/assets/AggregateScore.d.ts +7 -0
  224. package/dist/model/assets/AggregateScore.js +43 -0
  225. package/dist/model/assets/AggregateScore.js.map +1 -1
  226. package/dist/model/assets/Analytic.d.ts +4 -4
  227. package/dist/model/assets/Analytic.js +33 -28
  228. package/dist/model/assets/Analytic.js.map +1 -1
  229. package/dist/model/assets/AnalyticScore.d.ts +9 -3
  230. package/dist/model/assets/AnalyticScore.js +20 -0
  231. package/dist/model/assets/AnalyticScore.js.map +1 -1
  232. package/dist/model/assets/Asset.d.ts +17 -11
  233. package/dist/model/assets/Asset.js +107 -81
  234. package/dist/model/assets/Asset.js.map +1 -1
  235. package/dist/model/assets/AssetContainer.js +2 -2
  236. package/dist/model/assets/AssetContainer.js.map +1 -1
  237. package/dist/model/assets/AssetDeployment.d.ts +9 -4
  238. package/dist/model/assets/AssetDeployment.js +38 -26
  239. package/dist/model/assets/AssetDeployment.js.map +1 -1
  240. package/dist/model/assets/AssetHealthEvent.d.ts +5 -4
  241. package/dist/model/assets/AssetHealthEvent.js +28 -28
  242. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  243. package/dist/model/assets/AssetOrganisationRole.d.ts +3 -3
  244. package/dist/model/assets/AssetOrganisationRole.js +6 -2
  245. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  246. package/dist/model/assets/AssetOwner.d.ts +5 -2
  247. package/dist/model/assets/AssetOwner.js +19 -17
  248. package/dist/model/assets/AssetOwner.js.map +1 -1
  249. package/dist/model/assets/AssetUser.d.ts +5 -2
  250. package/dist/model/assets/AssetUser.js +19 -17
  251. package/dist/model/assets/AssetUser.js.map +1 -1
  252. package/dist/model/assets/DeploymentDate.js +5 -0
  253. package/dist/model/assets/DeploymentDate.js.map +1 -1
  254. package/dist/model/assets/Facility.d.ts +3 -3
  255. package/dist/model/assets/Facility.js +23 -23
  256. package/dist/model/assets/Facility.js.map +1 -1
  257. package/dist/model/assets/HealthScore.d.ts +2 -2
  258. package/dist/model/assets/HealthScore.js +22 -23
  259. package/dist/model/assets/HealthScore.js.map +1 -1
  260. package/dist/model/assets/LifecycleDate.js +13 -0
  261. package/dist/model/assets/LifecycleDate.js.map +1 -1
  262. package/dist/model/assets/Structure.js +1 -0
  263. package/dist/model/assets/Structure.js.map +1 -1
  264. package/dist/model/common/ActivityRecord.d.ts +6 -5
  265. package/dist/model/common/ActivityRecord.js +10 -1
  266. package/dist/model/common/ActivityRecord.js.map +1 -1
  267. package/dist/model/common/CoordinateSystem.d.ts +6 -4
  268. package/dist/model/common/CoordinateSystem.js +19 -17
  269. package/dist/model/common/CoordinateSystem.js.map +1 -1
  270. package/dist/model/common/Document.js +1 -0
  271. package/dist/model/common/Document.js.map +1 -1
  272. package/dist/model/common/Location.d.ts +14 -4
  273. package/dist/model/common/Location.js +75 -30
  274. package/dist/model/common/Location.js.map +1 -1
  275. package/dist/model/common/Organisation.d.ts +2 -2
  276. package/dist/model/common/Organisation.js +21 -22
  277. package/dist/model/common/Organisation.js.map +1 -1
  278. package/dist/model/common/OrganisationRole.d.ts +3 -3
  279. package/dist/model/common/OrganisationRole.js +3 -2
  280. package/dist/model/common/OrganisationRole.js.map +1 -1
  281. package/dist/model/common/PositionPoint.d.ts +6 -4
  282. package/dist/model/common/PositionPoint.js +41 -27
  283. package/dist/model/common/PositionPoint.js.map +1 -1
  284. package/dist/model/common/Status.js +4 -0
  285. package/dist/model/common/Status.js.map +1 -1
  286. package/dist/model/core/ACDCTerminal.d.ts +3 -3
  287. package/dist/model/core/ACDCTerminal.js +5 -3
  288. package/dist/model/core/ACDCTerminal.js.map +1 -1
  289. package/dist/model/core/BaseVoltage.d.ts +7 -5
  290. package/dist/model/core/BaseVoltage.js +28 -26
  291. package/dist/model/core/BaseVoltage.js.map +1 -1
  292. package/dist/model/core/Bay.d.ts +5 -4
  293. package/dist/model/core/Bay.js +32 -27
  294. package/dist/model/core/Bay.js.map +1 -1
  295. package/dist/model/core/ConductingEquipment.d.ts +7 -3
  296. package/dist/model/core/ConductingEquipment.js +27 -1
  297. package/dist/model/core/ConductingEquipment.js.map +1 -1
  298. package/dist/model/core/ConnectivityNode.d.ts +6 -3
  299. package/dist/model/core/ConnectivityNode.js +70 -33
  300. package/dist/model/core/ConnectivityNode.js.map +1 -1
  301. package/dist/model/core/ConnectivityNodeContainer.js +2 -0
  302. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  303. package/dist/model/core/Curve.js +13 -1
  304. package/dist/model/core/Curve.js.map +1 -1
  305. package/dist/model/core/CurveData.d.ts +6 -0
  306. package/dist/model/core/CurveData.js +13 -0
  307. package/dist/model/core/CurveData.js.map +1 -1
  308. package/dist/model/core/Equipment.d.ts +5 -3
  309. package/dist/model/core/Equipment.js +14 -2
  310. package/dist/model/core/Equipment.js.map +1 -1
  311. package/dist/model/core/EquipmentContainer.d.ts +1 -0
  312. package/dist/model/core/EquipmentContainer.js +4 -1
  313. package/dist/model/core/EquipmentContainer.js.map +1 -1
  314. package/dist/model/core/Feeder.d.ts +19 -5
  315. package/dist/model/core/Feeder.js +31 -9
  316. package/dist/model/core/Feeder.js.map +1 -1
  317. package/dist/model/core/GeographicalRegion.d.ts +1 -0
  318. package/dist/model/core/GeographicalRegion.js +2 -1
  319. package/dist/model/core/GeographicalRegion.js.map +1 -1
  320. package/dist/model/core/IdentifiedObject.d.ts +64 -6
  321. package/dist/model/core/IdentifiedObject.js +112 -11
  322. package/dist/model/core/IdentifiedObject.js.map +1 -1
  323. package/dist/model/core/PSRType.d.ts +19 -4
  324. package/dist/model/core/PSRType.js +50 -19
  325. package/dist/model/core/PSRType.js.map +1 -1
  326. package/dist/model/core/PowerSystemResource.d.ts +5 -3
  327. package/dist/model/core/PowerSystemResource.js +24 -10
  328. package/dist/model/core/PowerSystemResource.js.map +1 -1
  329. package/dist/model/core/SubGeographicalRegion.d.ts +1 -0
  330. package/dist/model/core/SubGeographicalRegion.js +4 -2
  331. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  332. package/dist/model/core/Substation.d.ts +11 -4
  333. package/dist/model/core/Substation.js +49 -33
  334. package/dist/model/core/Substation.js.map +1 -1
  335. package/dist/model/core/Terminal.d.ts +19 -5
  336. package/dist/model/core/Terminal.js +92 -40
  337. package/dist/model/core/Terminal.js.map +1 -1
  338. package/dist/model/core/VoltageLevel.d.ts +6 -4
  339. package/dist/model/core/VoltageLevel.js +39 -27
  340. package/dist/model/core/VoltageLevel.js.map +1 -1
  341. package/dist/model/dc/ACDCConverter.d.ts +11 -0
  342. package/dist/model/dc/ACDCConverter.js +28 -4
  343. package/dist/model/dc/ACDCConverter.js.map +1 -1
  344. package/dist/model/dc/ACDCConverterDCTerminal.d.ts +1 -0
  345. package/dist/model/dc/ACDCConverterDCTerminal.js +4 -0
  346. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  347. package/dist/model/dc/CsConverter.d.ts +8 -0
  348. package/dist/model/dc/CsConverter.js +21 -0
  349. package/dist/model/dc/CsConverter.js.map +1 -1
  350. package/dist/model/dc/CsOperatingModeKind.js +1 -1
  351. package/dist/model/dc/CsOperatingModeKind.js.map +1 -1
  352. package/dist/model/dc/DCBaseTerminal.js +2 -0
  353. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  354. package/dist/model/dc/DCConductingEquipment.js +1 -4
  355. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  356. package/dist/model/dc/DCConverterUnit.d.ts +1 -0
  357. package/dist/model/dc/DCConverterUnit.js +4 -0
  358. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  359. package/dist/model/dc/DCEquipmentContainer.js +1 -4
  360. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  361. package/dist/model/dc/DCLine.js +20 -18
  362. package/dist/model/dc/DCLine.js.map +1 -1
  363. package/dist/model/dc/DCLineSegment.d.ts +5 -0
  364. package/dist/model/dc/DCLineSegment.js +35 -26
  365. package/dist/model/dc/DCLineSegment.js.map +1 -1
  366. package/dist/model/dc/DCNode.d.ts +2 -0
  367. package/dist/model/dc/DCNode.js +5 -1
  368. package/dist/model/dc/DCNode.js.map +1 -1
  369. package/dist/model/dc/DCTerminal.d.ts +1 -0
  370. package/dist/model/dc/DCTerminal.js +3 -0
  371. package/dist/model/dc/DCTerminal.js.map +1 -1
  372. package/dist/model/dc/VsConverter.d.ts +3 -0
  373. package/dist/model/dc/VsConverter.js +12 -0
  374. package/dist/model/dc/VsConverter.js.map +1 -1
  375. package/dist/model/diagram/Diagram.d.ts +5 -4
  376. package/dist/model/diagram/Diagram.js +36 -24
  377. package/dist/model/diagram/Diagram.js.map +1 -1
  378. package/dist/model/diagram/DiagramObject.d.ts +6 -4
  379. package/dist/model/diagram/DiagramObject.js +58 -31
  380. package/dist/model/diagram/DiagramObject.js.map +1 -1
  381. package/dist/model/diagram/DiagramObjectPoint.d.ts +5 -5
  382. package/dist/model/diagram/DiagramObjectPoint.js +53 -48
  383. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  384. package/dist/model/diagram/DiagramStyle.d.ts +1 -0
  385. package/dist/model/diagram/DiagramStyle.js +2 -1
  386. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  387. package/dist/model/domain/ActivePower.js +3 -0
  388. package/dist/model/domain/ActivePower.js.map +1 -1
  389. package/dist/model/domain/AngleDegrees.js +3 -0
  390. package/dist/model/domain/AngleDegrees.js.map +1 -1
  391. package/dist/model/domain/ApparentPower.js +3 -0
  392. package/dist/model/domain/ApparentPower.js.map +1 -1
  393. package/dist/model/domain/Capacitance.js +3 -0
  394. package/dist/model/domain/Capacitance.js.map +1 -1
  395. package/dist/model/domain/CapacitancePerLength.js +3 -0
  396. package/dist/model/domain/CapacitancePerLength.js.map +1 -1
  397. package/dist/model/domain/ConductancePerLength.js +3 -0
  398. package/dist/model/domain/ConductancePerLength.js.map +1 -1
  399. package/dist/model/domain/CurrentFlow.js +3 -0
  400. package/dist/model/domain/CurrentFlow.js.map +1 -1
  401. package/dist/model/domain/Reactance.js +3 -0
  402. package/dist/model/domain/Reactance.js.map +1 -1
  403. package/dist/model/domain/ReactancePerLength.js +3 -0
  404. package/dist/model/domain/ReactancePerLength.js.map +1 -1
  405. package/dist/model/domain/ReactivePower.js +3 -0
  406. package/dist/model/domain/ReactivePower.js.map +1 -1
  407. package/dist/model/domain/Resistance.js +3 -0
  408. package/dist/model/domain/Resistance.js.map +1 -1
  409. package/dist/model/domain/ResistancePerLength.js +3 -0
  410. package/dist/model/domain/ResistancePerLength.js.map +1 -1
  411. package/dist/model/domain/Voltage.js +3 -0
  412. package/dist/model/domain/Voltage.js.map +1 -1
  413. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +1 -0
  414. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
  415. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +6 -0
  416. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -1
  417. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +4 -0
  418. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -1
  419. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +1 -0
  420. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -1
  421. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +61 -0
  422. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +75 -0
  423. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
  424. package/dist/model/equivalents/EquivalentBranch.d.ts +10 -4
  425. package/dist/model/equivalents/EquivalentBranch.js +69 -47
  426. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  427. package/dist/model/equivalents/EquivalentInjection.d.ts +1 -0
  428. package/dist/model/equivalents/EquivalentInjection.js +16 -0
  429. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  430. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.d.ts +5 -2
  431. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +19 -17
  432. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  433. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.d.ts +5 -2
  434. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +19 -17
  435. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  436. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.d.ts +5 -2
  437. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +19 -17
  438. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  439. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.d.ts +5 -2
  440. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +19 -17
  441. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  442. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +8 -3
  443. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +21 -6
  444. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -1
  445. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.d.ts +5 -2
  446. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +19 -17
  447. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  448. package/dist/model/extensions/amprion/assets/AMPRIONCountry.d.ts +5 -2
  449. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +23 -21
  450. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -1
  451. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +8 -3
  452. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +27 -5
  453. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  454. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.d.ts +5 -2
  455. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +19 -17
  456. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  457. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.d.ts +5 -2
  458. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +19 -17
  459. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  460. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.d.ts +5 -2
  461. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +19 -17
  462. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  463. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +8 -3
  464. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +33 -5
  465. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -1
  466. package/dist/model/extensions/amprion/assets/AMPRIONState.d.ts +7 -4
  467. package/dist/model/extensions/amprion/assets/AMPRIONState.js +29 -26
  468. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -1
  469. package/dist/model/extensions/amprion/assets/AMPRIONTeam.d.ts +5 -2
  470. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +20 -18
  471. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  472. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +8 -3
  473. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +40 -10
  474. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  475. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +8 -3
  476. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +42 -5
  477. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  478. package/dist/model/extensions/amprion/core/AMPRIONBay.d.ts +7 -3
  479. package/dist/model/extensions/amprion/core/AMPRIONBay.js +10 -5
  480. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  481. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +4 -0
  482. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +6 -0
  483. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  484. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -3
  485. package/dist/model/extensions/amprion/core/AMPRIONLine.js +8 -5
  486. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  487. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +8 -3
  488. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +12 -5
  489. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  490. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.d.ts +2 -2
  491. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +19 -20
  492. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +1 -1
  493. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.d.ts +2 -2
  494. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +19 -20
  495. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +1 -1
  496. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.d.ts +2 -2
  497. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +19 -20
  498. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +1 -1
  499. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.d.ts +2 -2
  500. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +19 -20
  501. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +1 -1
  502. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +3 -3
  503. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +31 -9
  504. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  505. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.d.ts +3 -3
  506. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +9 -8
  507. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  508. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.d.ts +2 -2
  509. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js +6 -7
  510. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  511. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js +2 -0
  512. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  513. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.d.ts +3 -3
  514. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +13 -7
  515. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  516. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +8 -1
  517. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  518. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +9 -4
  519. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +12 -7
  520. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  521. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.d.ts +7 -3
  522. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +37 -31
  523. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -1
  524. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.d.ts +4 -0
  525. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +5 -0
  526. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  527. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.d.ts +9 -4
  528. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +46 -33
  529. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  530. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.d.ts +4 -3
  531. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +53 -26
  532. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  533. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.d.ts +7 -3
  534. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +34 -28
  535. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  536. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.d.ts +5 -4
  537. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +25 -22
  538. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  539. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.d.ts +8 -3
  540. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +56 -40
  541. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  542. package/dist/model/extensions/enervance/assets/EVAnalytic.d.ts +3 -3
  543. package/dist/model/extensions/enervance/assets/EVAnalytic.js +15 -15
  544. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  545. package/dist/model/extensions/enervance/assets/EVImportanceKind.d.ts +7 -0
  546. package/dist/model/extensions/enervance/assets/EVImportanceKind.js +12 -0
  547. package/dist/model/extensions/enervance/assets/EVImportanceKind.js.map +1 -0
  548. package/dist/model/extensions/enervance/assets/EVImportanceScore.d.ts +2 -2
  549. package/dist/model/extensions/enervance/assets/EVImportanceScore.js +22 -23
  550. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  551. package/dist/model/extensions/enervance/assets/EVIndicator.d.ts +3 -3
  552. package/dist/model/extensions/enervance/assets/EVIndicator.js +25 -24
  553. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  554. package/dist/model/extensions/enervance/assets/EVPriorityKind.d.ts +7 -0
  555. package/dist/model/extensions/enervance/assets/EVPriorityKind.js +12 -0
  556. package/dist/model/extensions/enervance/assets/EVPriorityKind.js.map +1 -0
  557. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +19 -5
  558. package/dist/model/extensions/enervance/assets/EVWireObject.js +111 -60
  559. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  560. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +2 -2
  561. package/dist/model/extensions/enervance/core/EVTerminal.js +6 -6
  562. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  563. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.d.ts +34 -0
  564. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js +114 -0
  565. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js.map +1 -0
  566. package/dist/model/extensions/enervance/operations/EVTerminalAction.d.ts +6 -4
  567. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +31 -16
  568. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  569. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +7 -4
  570. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +44 -42
  571. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  572. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +5 -4
  573. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +39 -35
  574. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  575. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.d.ts +4 -0
  576. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +9 -0
  577. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  578. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.d.ts +1 -0
  579. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +3 -0
  580. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -1
  581. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +1 -0
  582. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +4 -0
  583. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  584. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.d.ts +1 -0
  585. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +2 -0
  586. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  587. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.d.ts +1 -0
  588. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +5 -0
  589. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  590. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.d.ts +1 -0
  591. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +5 -0
  592. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  593. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +1 -0
  594. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +5 -0
  595. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  596. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +17 -7
  597. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +70 -18
  598. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  599. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +2 -3
  600. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -1
  601. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +7 -3
  602. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +43 -33
  603. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  604. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.d.ts +12 -0
  605. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +60 -0
  606. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -0
  607. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.d.ts +11 -0
  608. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +55 -0
  609. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -0
  610. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.d.ts +12 -0
  611. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +60 -0
  612. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -0
  613. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.d.ts +7 -0
  614. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js +12 -0
  615. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js.map +1 -0
  616. package/dist/model/extensions/neplan-westnetz/common/WNLocation.d.ts +10 -4
  617. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +35 -28
  618. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  619. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +5 -4
  620. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +33 -30
  621. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  622. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +22 -5
  623. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +227 -98
  624. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  625. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +16 -4
  626. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +85 -30
  627. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  628. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +1 -1
  629. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -1
  630. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.d.ts +5 -3
  631. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +21 -17
  632. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  633. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.d.ts +7 -4
  634. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +17 -12
  635. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  636. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +4 -4
  637. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +50 -47
  638. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  639. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +34 -3
  640. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +192 -116
  641. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  642. package/dist/model/faults/Fault.d.ts +4 -2
  643. package/dist/model/faults/Fault.js +5 -0
  644. package/dist/model/faults/Fault.js.map +1 -1
  645. package/dist/model/generation/FossilFuel.d.ts +1 -0
  646. package/dist/model/generation/FossilFuel.js +4 -0
  647. package/dist/model/generation/FossilFuel.js.map +1 -1
  648. package/dist/model/generation/GeneratingUnit.d.ts +12 -4
  649. package/dist/model/generation/GeneratingUnit.js +63 -40
  650. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  651. package/dist/model/generation/HydroGeneratingUnit.d.ts +1 -0
  652. package/dist/model/generation/HydroGeneratingUnit.js +3 -0
  653. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  654. package/dist/model/generation/HydroPowerPlant.js +2 -2
  655. package/dist/model/generation/HydroPowerPlant.js.map +1 -1
  656. package/dist/model/generation/HydroPump.js +2 -0
  657. package/dist/model/generation/HydroPump.js.map +1 -1
  658. package/dist/model/generation/SolarGeneratingUnit.d.ts +1 -0
  659. package/dist/model/generation/SolarGeneratingUnit.js +1 -0
  660. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  661. package/dist/model/generation/ThermalGeneratingUnit.d.ts +1 -0
  662. package/dist/model/generation/ThermalGeneratingUnit.js +2 -1
  663. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  664. package/dist/model/generation/WindGeneratingUnit.d.ts +3 -0
  665. package/dist/model/generation/WindGeneratingUnit.js +13 -9
  666. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  667. package/dist/model/generic-data-set/ChangeSet.d.ts +9 -1
  668. package/dist/model/generic-data-set/ChangeSet.js +58 -2
  669. package/dist/model/generic-data-set/ChangeSet.js.map +1 -1
  670. package/dist/model/generic-data-set/ChangeSetMember.d.ts +34 -4
  671. package/dist/model/generic-data-set/ChangeSetMember.js +73 -4
  672. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  673. package/dist/model/generic-data-set/DataSet.d.ts +10 -1
  674. package/dist/model/generic-data-set/DataSet.js +19 -0
  675. package/dist/model/generic-data-set/DataSet.js.map +1 -1
  676. package/dist/model/generic-data-set/InstanceSet.js +2 -2
  677. package/dist/model/generic-data-set/InstanceSet.js.map +1 -1
  678. package/dist/model/generic-data-set/ObjectCreation.d.ts +7 -1
  679. package/dist/model/generic-data-set/ObjectCreation.js +50 -6
  680. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  681. package/dist/model/generic-data-set/ObjectDeletion.d.ts +7 -1
  682. package/dist/model/generic-data-set/ObjectDeletion.js +50 -6
  683. package/dist/model/generic-data-set/ObjectDeletion.js.map +1 -1
  684. package/dist/model/generic-data-set/ObjectModification.d.ts +8 -1
  685. package/dist/model/generic-data-set/ObjectModification.js +58 -2
  686. package/dist/model/generic-data-set/ObjectModification.js.map +1 -1
  687. package/dist/model/generic-data-set/ObjectReverseModification.d.ts +8 -1
  688. package/dist/model/generic-data-set/ObjectReverseModification.js +52 -2
  689. package/dist/model/generic-data-set/ObjectReverseModification.js.map +1 -1
  690. package/dist/model/loadmodel/ConformLoad.d.ts +1 -0
  691. package/dist/model/loadmodel/ConformLoad.js +6 -3
  692. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  693. package/dist/model/loadmodel/ConformLoadGroup.js +3 -3
  694. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  695. package/dist/model/loadmodel/EnergyArea.d.ts +5 -0
  696. package/dist/model/loadmodel/EnergyArea.js +5 -0
  697. package/dist/model/loadmodel/EnergyArea.js.map +1 -1
  698. package/dist/model/loadmodel/LoadArea.d.ts +6 -0
  699. package/dist/model/loadmodel/LoadArea.js +10 -4
  700. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  701. package/dist/model/loadmodel/LoadGroup.js +2 -0
  702. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  703. package/dist/model/loadmodel/SubLoadArea.d.ts +7 -0
  704. package/dist/model/loadmodel/SubLoadArea.js +13 -4
  705. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  706. package/dist/model/meas/Analog.js +4 -0
  707. package/dist/model/meas/Analog.js.map +1 -1
  708. package/dist/model/meas/Measurement.js +4 -0
  709. package/dist/model/meas/Measurement.js.map +1 -1
  710. package/dist/model/model-description/FullModel.d.ts +7 -0
  711. package/dist/model/model-description/FullModel.js +24 -0
  712. package/dist/model/model-description/FullModel.js.map +1 -0
  713. package/dist/model/model-description/Model.d.ts +23 -0
  714. package/dist/model/model-description/Model.js +86 -0
  715. package/dist/model/model-description/Model.js.map +1 -0
  716. package/dist/model/model-operations/DatasetArg.d.ts +1 -1
  717. package/dist/model/model-operations/DatasetArg.js +3 -2
  718. package/dist/model/model-operations/DatasetArg.js.map +1 -1
  719. package/dist/model/model-operations/IncrementalDatasetArg.d.ts +9 -1
  720. package/dist/model/model-operations/IncrementalDatasetArg.js +59 -2
  721. package/dist/model/model-operations/IncrementalDatasetArg.js.map +1 -1
  722. package/dist/model/model-operations/IncrementalDatasetArgDescription.d.ts +5 -0
  723. package/dist/model/model-operations/IncrementalDatasetArgDescription.js +37 -1
  724. package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +1 -1
  725. package/dist/model/model-operations/ModelOperation.d.ts +14 -2
  726. package/dist/model/model-operations/ModelOperation.js +70 -1
  727. package/dist/model/model-operations/ModelOperation.js.map +1 -1
  728. package/dist/model/model-operations/ModelOperationArg.d.ts +7 -1
  729. package/dist/model/model-operations/ModelOperationArg.js +17 -1
  730. package/dist/model/model-operations/ModelOperationArg.js.map +1 -1
  731. package/dist/model/model-operations/ModelOperationArgDescription.d.ts +4 -0
  732. package/dist/model/model-operations/ModelOperationArgDescription.js +15 -0
  733. package/dist/model/model-operations/ModelOperationArgDescription.js.map +1 -1
  734. package/dist/model/model-operations/ModelOperationDescription.d.ts +10 -2
  735. package/dist/model/model-operations/ModelOperationDescription.js +56 -17
  736. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  737. package/dist/model/operationallimits/CurrentLimit.d.ts +5 -4
  738. package/dist/model/operationallimits/CurrentLimit.js +23 -22
  739. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  740. package/dist/model/operationallimits/OperationalLimit.d.ts +3 -3
  741. package/dist/model/operationallimits/OperationalLimit.js +5 -0
  742. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  743. package/dist/model/operationallimits/OperationalLimitSet.d.ts +5 -4
  744. package/dist/model/operationallimits/OperationalLimitSet.js +28 -21
  745. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  746. package/dist/model/operationallimits/OperationalLimitType.d.ts +3 -2
  747. package/dist/model/operationallimits/OperationalLimitType.js +25 -19
  748. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  749. package/dist/model/operationallimits/VoltageLimit.d.ts +1 -0
  750. package/dist/model/operationallimits/VoltageLimit.js +3 -0
  751. package/dist/model/operationallimits/VoltageLimit.js.map +1 -1
  752. package/dist/model/operations/ControlArea.d.ts +1 -0
  753. package/dist/model/operations/ControlArea.js +5 -4
  754. package/dist/model/operations/ControlArea.js.map +1 -1
  755. package/dist/model/operations/Outage.d.ts +6 -3
  756. package/dist/model/operations/Outage.js +8 -0
  757. package/dist/model/operations/Outage.js.map +1 -1
  758. package/dist/model/operations/SwitchAction.d.ts +6 -4
  759. package/dist/model/operations/SwitchAction.js +20 -15
  760. package/dist/model/operations/SwitchAction.js.map +1 -1
  761. package/dist/model/operations/SwitchingAction.d.ts +2 -2
  762. package/dist/model/operations/SwitchingAction.js +3 -0
  763. package/dist/model/operations/SwitchingAction.js.map +1 -1
  764. package/dist/model/operations/SwitchingPlan.d.ts +14 -3
  765. package/dist/model/operations/SwitchingPlan.js +24 -5
  766. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  767. package/dist/model/statevariables/StateVariable.js +1 -0
  768. package/dist/model/statevariables/StateVariable.js.map +1 -1
  769. package/dist/model/statevariables/SvPowerFlow.d.ts +5 -4
  770. package/dist/model/statevariables/SvPowerFlow.js +29 -23
  771. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  772. package/dist/model/statevariables/SvStatus.d.ts +1 -0
  773. package/dist/model/statevariables/SvStatus.js +4 -1
  774. package/dist/model/statevariables/SvStatus.js.map +1 -1
  775. package/dist/model/statevariables/SvTapStep.d.ts +1 -0
  776. package/dist/model/statevariables/SvTapStep.js +4 -0
  777. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  778. package/dist/model/statevariables/SvVoltage.d.ts +4 -4
  779. package/dist/model/statevariables/SvVoltage.js +27 -23
  780. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  781. package/dist/model/topology/TopologicalIsland.js +22 -20
  782. package/dist/model/topology/TopologicalIsland.js.map +1 -1
  783. package/dist/model/topology/TopologicalNode.d.ts +5 -4
  784. package/dist/model/topology/TopologicalNode.js +45 -29
  785. package/dist/model/topology/TopologicalNode.js.map +1 -1
  786. package/dist/model/wires/ACLineSegment.d.ts +9 -4
  787. package/dist/model/wires/ACLineSegment.js +61 -46
  788. package/dist/model/wires/ACLineSegment.js.map +1 -1
  789. package/dist/model/wires/AsynchronousMachine.d.ts +1 -0
  790. package/dist/model/wires/AsynchronousMachine.js +11 -0
  791. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  792. package/dist/model/wires/Breaker.d.ts +5 -4
  793. package/dist/model/wires/Breaker.js +34 -34
  794. package/dist/model/wires/Breaker.js.map +1 -1
  795. package/dist/model/wires/BusbarSection.d.ts +5 -4
  796. package/dist/model/wires/BusbarSection.js +25 -23
  797. package/dist/model/wires/BusbarSection.js.map +1 -1
  798. package/dist/model/wires/Clamp.js +9 -9
  799. package/dist/model/wires/Clamp.js.map +1 -1
  800. package/dist/model/wires/CompositeSwitch.js +1 -0
  801. package/dist/model/wires/CompositeSwitch.js.map +1 -1
  802. package/dist/model/wires/Conductor.d.ts +4 -3
  803. package/dist/model/wires/Conductor.js +3 -1
  804. package/dist/model/wires/Conductor.js.map +1 -1
  805. package/dist/model/wires/Disconnector.d.ts +5 -4
  806. package/dist/model/wires/Disconnector.js +35 -34
  807. package/dist/model/wires/Disconnector.js.map +1 -1
  808. package/dist/model/wires/EarthFaultCompensator.d.ts +1 -1
  809. package/dist/model/wires/EarthFaultCompensator.js +1 -0
  810. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  811. package/dist/model/wires/EnergyConsumer.d.ts +9 -5
  812. package/dist/model/wires/EnergyConsumer.js +60 -37
  813. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  814. package/dist/model/wires/EnergySource.d.ts +10 -5
  815. package/dist/model/wires/EnergySource.js +24 -7
  816. package/dist/model/wires/EnergySource.js.map +1 -1
  817. package/dist/model/wires/ExternalNetworkInjection.d.ts +5 -4
  818. package/dist/model/wires/ExternalNetworkInjection.js +84 -59
  819. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  820. package/dist/model/wires/Ground.js +13 -12
  821. package/dist/model/wires/Ground.js.map +1 -1
  822. package/dist/model/wires/GroundDisconnector.js +16 -12
  823. package/dist/model/wires/GroundDisconnector.js.map +1 -1
  824. package/dist/model/wires/GroundingImpedance.d.ts +1 -0
  825. package/dist/model/wires/GroundingImpedance.js +2 -0
  826. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  827. package/dist/model/wires/Junction.d.ts +3 -2
  828. package/dist/model/wires/Junction.js +24 -23
  829. package/dist/model/wires/Junction.js.map +1 -1
  830. package/dist/model/wires/Line.d.ts +5 -4
  831. package/dist/model/wires/Line.js +30 -29
  832. package/dist/model/wires/Line.js.map +1 -1
  833. package/dist/model/wires/LinearShuntCompensator.d.ts +1 -0
  834. package/dist/model/wires/LinearShuntCompensator.js +8 -3
  835. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  836. package/dist/model/wires/LoadBreakSwitch.d.ts +4 -4
  837. package/dist/model/wires/LoadBreakSwitch.js +34 -34
  838. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  839. package/dist/model/wires/PetersenCoil.d.ts +4 -3
  840. package/dist/model/wires/PetersenCoil.js +41 -31
  841. package/dist/model/wires/PetersenCoil.js.map +1 -1
  842. package/dist/model/wires/PhaseTapChanger.js +2 -0
  843. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  844. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +1 -0
  845. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +2 -0
  846. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
  847. package/dist/model/wires/PhaseTapChangerLinear.d.ts +1 -0
  848. package/dist/model/wires/PhaseTapChangerLinear.js +4 -0
  849. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
  850. package/dist/model/wires/PhaseTapChangerNonLinear.js +3 -0
  851. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
  852. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +1 -0
  853. package/dist/model/wires/PhaseTapChangerSymmetrical.js +1 -0
  854. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
  855. package/dist/model/wires/PhaseTapChangerTable.d.ts +1 -0
  856. package/dist/model/wires/PhaseTapChangerTable.js +4 -1
  857. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
  858. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +1 -0
  859. package/dist/model/wires/PhaseTapChangerTablePoint.js +4 -0
  860. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
  861. package/dist/model/wires/PhaseTapChangerTabular.d.ts +1 -0
  862. package/dist/model/wires/PhaseTapChangerTabular.js +3 -0
  863. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -1
  864. package/dist/model/wires/Plant.js +1 -1
  865. package/dist/model/wires/Plant.js.map +1 -1
  866. package/dist/model/wires/PowerTransformer.d.ts +7 -5
  867. package/dist/model/wires/PowerTransformer.js +46 -45
  868. package/dist/model/wires/PowerTransformer.js.map +1 -1
  869. package/dist/model/wires/PowerTransformerEnd.d.ts +5 -4
  870. package/dist/model/wires/PowerTransformerEnd.js +50 -45
  871. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  872. package/dist/model/wires/RatioTapChanger.d.ts +22 -0
  873. package/dist/model/wires/RatioTapChanger.js +30 -0
  874. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  875. package/dist/model/wires/RatioTapChangerTable.d.ts +1 -0
  876. package/dist/model/wires/RatioTapChangerTable.js +4 -1
  877. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  878. package/dist/model/wires/RatioTapChangerTablePoint.d.ts +1 -0
  879. package/dist/model/wires/RatioTapChangerTablePoint.js +3 -0
  880. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  881. package/dist/model/wires/ReactiveCapabilityCurve.d.ts +1 -0
  882. package/dist/model/wires/ReactiveCapabilityCurve.js +2 -1
  883. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  884. package/dist/model/wires/Recloser.js +9 -9
  885. package/dist/model/wires/Recloser.js.map +1 -1
  886. package/dist/model/wires/RegulatingCondEq.d.ts +3 -3
  887. package/dist/model/wires/RegulatingCondEq.js +5 -0
  888. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  889. package/dist/model/wires/RegulatingControl.d.ts +6 -4
  890. package/dist/model/wires/RegulatingControl.js +57 -35
  891. package/dist/model/wires/RegulatingControl.js.map +1 -1
  892. package/dist/model/wires/RotatingMachine.d.ts +3 -3
  893. package/dist/model/wires/RotatingMachine.js +18 -1
  894. package/dist/model/wires/RotatingMachine.js.map +1 -1
  895. package/dist/model/wires/SeriesCompensator.d.ts +5 -4
  896. package/dist/model/wires/SeriesCompensator.js +46 -39
  897. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  898. package/dist/model/wires/ShuntCompensator.js +9 -0
  899. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  900. package/dist/model/wires/StaticVarCompensator.d.ts +1 -0
  901. package/dist/model/wires/StaticVarCompensator.js +7 -0
  902. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  903. package/dist/model/wires/Switch.d.ts +6 -4
  904. package/dist/model/wires/Switch.js +58 -39
  905. package/dist/model/wires/Switch.js.map +1 -1
  906. package/dist/model/wires/SynchronousMachine.d.ts +5 -4
  907. package/dist/model/wires/SynchronousMachine.js +91 -60
  908. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  909. package/dist/model/wires/TapChanger.js +16 -0
  910. package/dist/model/wires/TapChanger.js.map +1 -1
  911. package/dist/model/wires/TapChangerControl.js +1 -1
  912. package/dist/model/wires/TapChangerControl.js.map +1 -1
  913. package/dist/model/wires/TapChangerTablePoint.js +7 -0
  914. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  915. package/dist/model/wires/TransformerEnd.d.ts +3 -3
  916. package/dist/model/wires/TransformerEnd.js +19 -0
  917. package/dist/model/wires/TransformerEnd.js.map +1 -1
  918. package/dist/model-container/enum/EVModelTypeKind.d.ts +4 -0
  919. package/dist/model-container/enum/EVModelTypeKind.js +9 -0
  920. package/dist/model-container/enum/EVModelTypeKind.js.map +1 -0
  921. package/dist/model-container/enum/EVObjectTypeKind.d.ts +143 -0
  922. package/dist/model-container/enum/EVObjectTypeKind.js +177 -0
  923. package/dist/model-container/enum/EVObjectTypeKind.js.map +1 -0
  924. package/dist/model-container/enum/EVOperationType.d.ts +4 -0
  925. package/dist/model-container/enum/EVOperationType.js +9 -0
  926. package/dist/model-container/enum/EVOperationType.js.map +1 -0
  927. package/dist/model-container/enum/EVSourceSystemKind.d.ts +8 -0
  928. package/dist/model-container/enum/EVSourceSystemKind.js +13 -0
  929. package/dist/model-container/enum/EVSourceSystemKind.js.map +1 -0
  930. package/dist/{model/extensions/amprion/model/AMPRIONModel.d.ts → model-container/model/AMPRIONModelContainer.d.ts} +35 -30
  931. package/dist/{model/extensions/amprion/model/AMPRIONModel.js → model-container/model/AMPRIONModelContainer.js} +49 -34
  932. package/dist/model-container/model/AMPRIONModelContainer.js.map +1 -0
  933. package/dist/model-container/model/EVModelContainer.d.ts +9 -0
  934. package/dist/model-container/model/EVModelContainer.js +29 -0
  935. package/dist/model-container/model/EVModelContainer.js.map +1 -0
  936. package/dist/model-container/model/EVModelsContainer.d.ts +51 -0
  937. package/dist/model-container/model/EVModelsContainer.js +268 -0
  938. package/dist/model-container/model/EVModelsContainer.js.map +1 -0
  939. package/dist/model-container/model/INTEGRALModelContainer.d.ts +14 -0
  940. package/dist/model-container/model/INTEGRALModelContainer.js +42 -0
  941. package/dist/model-container/model/INTEGRALModelContainer.js.map +1 -0
  942. package/dist/{model/model/Model.d.ts → model-container/model/ModelContainer.d.ts} +186 -94
  943. package/dist/model-container/model/ModelContainer.js +2254 -0
  944. package/dist/model-container/model/ModelContainer.js.map +1 -0
  945. package/dist/model-container/model/WNModelContainer.d.ts +12 -0
  946. package/dist/model-container/model/WNModelContainer.js +50 -0
  947. package/dist/model-container/model/WNModelContainer.js.map +1 -0
  948. package/dist/rdf/RdfBase.d.ts +10 -0
  949. package/dist/rdf/RdfBase.js +23 -0
  950. package/dist/rdf/RdfBase.js.map +1 -0
  951. package/dist/rdf/RdfClass.d.ts +20 -0
  952. package/dist/rdf/RdfClass.js +78 -0
  953. package/dist/rdf/RdfClass.js.map +1 -0
  954. package/dist/rdf/RdfEnum.d.ts +13 -0
  955. package/dist/rdf/RdfEnum.js +60 -0
  956. package/dist/rdf/RdfEnum.js.map +1 -0
  957. package/dist/rdf/RdfModel.d.ts +19 -0
  958. package/dist/rdf/RdfModel.js +64 -0
  959. package/dist/rdf/RdfModel.js.map +1 -0
  960. package/dist/rdf/RdfProperty.d.ts +20 -0
  961. package/dist/rdf/RdfProperty.js +84 -0
  962. package/dist/rdf/RdfProperty.js.map +1 -0
  963. package/dist/rdf/rdf-enums.d.ts +18 -0
  964. package/dist/rdf/rdf-enums.js +25 -0
  965. package/dist/rdf/rdf-enums.js.map +1 -0
  966. package/dist/rdf/rdf-interfaces.d.ts +4 -0
  967. package/dist/rdf/rdf-interfaces.js +3 -0
  968. package/dist/rdf/rdf-interfaces.js.map +1 -0
  969. package/dist/types/cim.types.d.ts +9 -0
  970. package/dist/types/cim.types.js +3 -0
  971. package/dist/types/cim.types.js.map +1 -0
  972. package/dist/util/collection/util-dot.js +1 -0
  973. package/dist/util/collection/util-dot.js.map +1 -1
  974. package/dist/util/collection/util-excel.d.ts +12 -0
  975. package/dist/util/collection/util-excel.js +20 -6
  976. package/dist/util/collection/util-excel.js.map +1 -1
  977. package/dist/util/collection/util-graph.d.ts +30 -0
  978. package/dist/util/collection/util-graph.js +51 -0
  979. package/dist/util/collection/util-graph.js.map +1 -1
  980. package/dist/util/collection/util-graph2tree.d.ts +21 -0
  981. package/dist/util/collection/util-graph2tree.js +87 -17
  982. package/dist/util/collection/util-graph2tree.js.map +1 -1
  983. package/dist/util/collection/util-tree.d.ts +13 -0
  984. package/dist/util/collection/util-tree.js +13 -0
  985. package/dist/util/collection/util-tree.js.map +1 -1
  986. package/dist/util/database/mysql-controller.js +7 -9
  987. package/dist/util/database/mysql-controller.js.map +1 -1
  988. package/dist/util/sparql/sparql-utils.d.ts +21 -0
  989. package/dist/util/sparql/sparql-utils.js +34 -10
  990. package/dist/util/sparql/sparql-utils.js.map +1 -1
  991. package/dist/util/util-create.d.ts +19 -12
  992. package/dist/util/util-create.js +17 -0
  993. package/dist/util/util-create.js.map +1 -1
  994. package/dist/util/util-search.d.ts +1 -0
  995. package/dist/util/util-search.js +15 -1
  996. package/dist/util/util-search.js.map +1 -1
  997. package/dist/util/util-test.d.ts +11 -9
  998. package/dist/util/util-test.js +171 -175
  999. package/dist/util/util-test.js.map +1 -1
  1000. package/dist/util/util-topology.d.ts +16 -6
  1001. package/dist/util/util-topology.js +25 -0
  1002. package/dist/util/util-topology.js.map +1 -1
  1003. package/dist/util/utils.d.ts +24 -6
  1004. package/dist/util/utils.js +56 -21
  1005. package/dist/util/utils.js.map +1 -1
  1006. package/dist/util/xml/utils.parser.js +2 -2
  1007. package/dist/util/xml/utils.parser.js.map +1 -1
  1008. package/dist/util/xml/xml.parser.d.ts +2 -2
  1009. package/dist/util/xml/xml.parser.js +9 -3
  1010. package/dist/util/xml/xml.parser.js.map +1 -1
  1011. package/dist/util/xml/xml.serializer.d.ts +5 -5
  1012. package/dist/util/xml/xml.serializer.js +112 -14
  1013. package/dist/util/xml/xml.serializer.js.map +1 -1
  1014. package/dist/utils2/cim-to-db.d.ts +11 -0
  1015. package/dist/utils2/cim-to-db.js +46 -0
  1016. package/dist/utils2/cim-to-db.js.map +1 -0
  1017. package/dist/utils2/cim.model.utils.d.ts +25 -0
  1018. package/dist/utils2/cim.model.utils.js +428 -0
  1019. package/dist/utils2/cim.model.utils.js.map +1 -0
  1020. package/dist/utils2/common.utils.d.ts +33 -0
  1021. package/dist/utils2/common.utils.js +89 -0
  1022. package/dist/utils2/common.utils.js.map +1 -0
  1023. package/dist/utils2/fuseki.utils.d.ts +43 -0
  1024. package/dist/utils2/fuseki.utils.js +66 -0
  1025. package/dist/utils2/fuseki.utils.js.map +1 -0
  1026. package/dist/utils2/import.utils.d.ts +7 -0
  1027. package/dist/utils2/import.utils.js +40 -0
  1028. package/dist/utils2/import.utils.js.map +1 -0
  1029. package/dist/utils2/model.modification.utils.d.ts +139 -0
  1030. package/dist/utils2/model.modification.utils.js +545 -0
  1031. package/dist/utils2/model.modification.utils.js.map +1 -0
  1032. package/dist/utils2/parser.utils.d.ts +15 -0
  1033. package/dist/utils2/parser.utils.js +141 -0
  1034. package/dist/utils2/parser.utils.js.map +1 -0
  1035. package/dist/utils2/rdf.model.utils.d.ts +7 -0
  1036. package/dist/utils2/rdf.model.utils.js +33 -0
  1037. package/dist/utils2/rdf.model.utils.js.map +1 -0
  1038. package/dist/utils2/sparql.utils.d.ts +40 -0
  1039. package/dist/utils2/sparql.utils.js +330 -0
  1040. package/dist/utils2/sparql.utils.js.map +1 -0
  1041. package/package.json +8 -6
  1042. package/dist/config/config.utils.d.ts +0 -1
  1043. package/dist/config/config.utils.js +0 -38
  1044. package/dist/config/config.utils.js.map +0 -1
  1045. package/dist/config/default/default-load.config.d.ts +0 -1
  1046. package/dist/config/default/default-load.config.js +0 -43
  1047. package/dist/config/default/default-load.config.js.map +0 -1
  1048. package/dist/config/lew-sincal/lew-sincal-load.config.d.ts +0 -1
  1049. package/dist/config/lew-sincal/lew-sincal-load.config.js +0 -46
  1050. package/dist/config/lew-sincal/lew-sincal-load.config.js.map +0 -1
  1051. package/dist/config/power-system-datamodel/psdm-load.config.d.ts +0 -1
  1052. package/dist/config/power-system-datamodel/psdm-load.config.js +0 -48
  1053. package/dist/config/power-system-datamodel/psdm-load.config.js.map +0 -1
  1054. package/dist/config/westnetz-integral7/integral7-load.config.d.ts +0 -1
  1055. package/dist/config/westnetz-integral7/integral7-load.config.js +0 -47
  1056. package/dist/config/westnetz-integral7/integral7-load.config.js.map +0 -1
  1057. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +0 -2
  1058. package/dist/config/westnetz-neplan/neplan-load.config.js +0 -98
  1059. package/dist/config/westnetz-neplan/neplan-load.config.js.map +0 -1
  1060. package/dist/constants/cim-class-definition.d.ts +0 -1
  1061. package/dist/constants/cim-class-definition.js +0 -220
  1062. package/dist/constants/cim-class-definition.js.map +0 -1
  1063. package/dist/constants/cim.sourcesystem.d.ts +0 -6
  1064. package/dist/constants/cim.sourcesystem.js +0 -11
  1065. package/dist/constants/cim.sourcesystem.js.map +0 -1
  1066. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.d.ts +0 -1
  1067. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js +0 -59
  1068. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js.map +0 -1
  1069. package/dist/constants/init-data/ASSSET_OWNER.d.ts +0 -1
  1070. package/dist/constants/init-data/ASSSET_OWNER.js +0 -24
  1071. package/dist/constants/init-data/ASSSET_OWNER.js.map +0 -1
  1072. package/dist/constants/init-data/JENA_SPARQL.d.ts +0 -11
  1073. package/dist/constants/init-data/JENA_SPARQL.js +0 -328
  1074. package/dist/constants/init-data/JENA_SPARQL.js.map +0 -1
  1075. package/dist/constants/init-data/PSR_TYPES.d.ts +0 -1
  1076. package/dist/constants/init-data/PSR_TYPES.js +0 -103
  1077. package/dist/constants/init-data/PSR_TYPES.js.map +0 -1
  1078. package/dist/constants/init-data/RZ.d.ts +0 -1
  1079. package/dist/constants/init-data/RZ.js +0 -61
  1080. package/dist/constants/init-data/RZ.js.map +0 -1
  1081. package/dist/constants/init-data/xml/settings.d.ts +0 -1
  1082. package/dist/constants/init-data/xml/settings.js +0 -70
  1083. package/dist/constants/init-data/xml/settings.js.map +0 -1
  1084. package/dist/constants/util-init.d.ts +0 -1
  1085. package/dist/constants/util-init.js +0 -17
  1086. package/dist/constants/util-init.js.map +0 -1
  1087. package/dist/converter/integral7/ConverterIntegral7.d.ts +0 -200
  1088. package/dist/converter/integral7/ConverterIntegral7.js +0 -4096
  1089. package/dist/converter/integral7/ConverterIntegral7.js.map +0 -1
  1090. package/dist/converter/integral7/converter-i7.d.ts +0 -165
  1091. package/dist/converter/integral7/converter-i7.js +0 -4632
  1092. package/dist/converter/integral7/converter-i7.js.map +0 -1
  1093. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +0 -1
  1094. package/dist/model/extensions/enervance/model/EVModel.d.ts +0 -11
  1095. package/dist/model/extensions/enervance/model/EVModel.js +0 -45
  1096. package/dist/model/extensions/enervance/model/EVModel.js.map +0 -1
  1097. package/dist/model/extensions/integral/model/INTEGRALModel.d.ts +0 -8
  1098. package/dist/model/extensions/integral/model/INTEGRALModel.js +0 -19
  1099. package/dist/model/extensions/integral/model/INTEGRALModel.js.map +0 -1
  1100. package/dist/model/model/Model.js +0 -1216
  1101. package/dist/model/model/Model.js.map +0 -1
  1102. package/dist/util/cim.model.util.d.ts +0 -4
  1103. package/dist/util/cim.model.util.js +0 -257
  1104. package/dist/util/cim.model.util.js.map +0 -1
@@ -1,4096 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateInMemoryObjects = exports.getValidTapChangerControls = exports.getValidTerminals = exports.getGeoCoordinates = exports.getVoltageLevelByVoltage = exports.ConverterIntegral7 = void 0;
4
- const tslib_1 = require("tslib");
5
- const __1 = require("../..");
6
- const mysql = tslib_1.__importStar(require("mysql"));
7
- const utils_1 = require("../../util/utils");
8
- const integral_prefix_1 = require("./config/integral-prefix");
9
- const utils_2 = require("./utils");
10
- const utils_trafo3w_1 = require("./utils-trafo3w");
11
- const integral_sql_1 = require("./sql/integral.sql");
12
- const path_1 = tslib_1.__importDefault(require("path"));
13
- const fs_1 = tslib_1.__importDefault(require("fs"));
14
- const jszip_1 = tslib_1.__importDefault(require("jszip"));
15
- const Standort_1 = require("./model/integral/Standort");
16
- const Schaltanlage_1 = require("./model/integral/Schaltanlage");
17
- const Schaltanlagenabschnitt_1 = require("./model/integral/Schaltanlagenabschnitt");
18
- const Schaltfeld_1 = require("./model/integral/Schaltfeld");
19
- const KnotenSo_1 = require("./model/integral/KnotenSo");
20
- const Leitung_1 = require("./model/integral/Leitung");
21
- const TapChangerInfo_1 = require("../../model/assetinfo/TapChangerInfo");
22
- const AMPRIONBay_1 = require("../../model/extensions/amprion/core/AMPRIONBay");
23
- const AMPRIONConnectivityNode_1 = require("../../model/extensions/amprion/core/AMPRIONConnectivityNode");
24
- const AMPRIONSeriesCompensator_1 = require("../../model/extensions/amprion/wires/AMPRIONSeriesCompensator");
25
- const AMPRIONSubstation_1 = require("../../model/extensions/amprion/core/AMPRIONSubstation");
26
- const CsConverter_1 = require("../../model/dc/CsConverter");
27
- const DCConverterUnit_1 = require("../../model/dc/DCConverterUnit");
28
- const DCNode_1 = require("../../model/dc/DCNode");
29
- const DCLine_1 = require("../../model/dc/DCLine");
30
- const ACDCConverterDCTerminal_1 = require("../../model/dc/ACDCConverterDCTerminal");
31
- const DCTerminal_1 = require("../../model/dc/DCTerminal");
32
- const DCLineSegment_1 = require("../../model/dc/DCLineSegment");
33
- const DCConverterOperatingModeKind_1 = require("../../model/dc/DCConverterOperatingModeKind");
34
- const VsConverter_1 = require("../../model/dc/VsConverter");
35
- const CsOperatingModeKind_1 = require("../../model/dc/CsOperatingModeKind");
36
- const VsPpccControlKind_1 = require("../../model/dc/VsPpccControlKind");
37
- const VsQpccControlKind_1 = require("../../model/dc/VsQpccControlKind");
38
- const cgmes_validator_1 = require("../cgmes-validator");
39
- const LoadArea_1 = require("../../model/loadmodel/LoadArea");
40
- const SubLoadArea_1 = require("../../model/loadmodel/SubLoadArea");
41
- const ConformLoadGroup_1 = require("../../model/loadmodel/ConformLoadGroup");
42
- const ConformLoad_1 = require("../../model/loadmodel/ConformLoad");
43
- const LinearShuntCompensator_1 = require("../../model/wires/LinearShuntCompensator");
44
- const SynchronousMachineOperatingMode_1 = require("../../model/wires/SynchronousMachineOperatingMode");
45
- const StaticVarCompensator_1 = require("../../model/wires/StaticVarCompensator");
46
- const PetersenCoil_1 = require("../../model/wires/PetersenCoil");
47
- const GroundingImpedance_1 = require("../../model/wires/GroundingImpedance");
48
- const EVPowerTransformerEndInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo");
49
- const util_create_1 = require("../../util/util-create");
50
- const EVPowerTransformerInfo_1 = require("../../model/extensions/enervance/assetinfo/EVPowerTransformerInfo");
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 ControlArea_1 = require("../../model/operations/ControlArea");
55
- const AMPRIONLine_1 = require("../../model/extensions/amprion/core/AMPRIONLine");
56
- class ConverterIntegral7 {
57
- constructor() {
58
- this.limit = 100;
59
- this.i7SchemaID2UUID = new Map();
60
- this.integralID2UUID = new Map();
61
- this.UUID2Integral7ID_ = new Map();
62
- this.statcomRegulatingControls = new Map();
63
- this.integralID2Type = new Map();
64
- this.schaltfeldIDs = [];
65
- this.querkupplungIDs = [];
66
- this.laengskupplungIDs = [];
67
- this.knotenSoIDs = [];
68
- this.knotenSfIDs = [];
69
- this.leitungsIDs = [];
70
- this.blocktransformatoren = [];
71
- this.kdrosseltypen = new Map();
72
- this.schemaIDSchemastandort = new Map();
73
- this.schemaIDSchaltanlage = new Map();
74
- this.schemaIDSchaltanlagenabschnitt = new Map();
75
- this.integralStandorte = new Map();
76
- this.integralSchaltanlagen = new Map();
77
- this.integralSchaltanlagenAbschnitte = new Map();
78
- this.integralSchaltfelder = new Map();
79
- this.integralKnotenSo = new Map();
80
- this.integralNsgStandort = new Map();
81
- this.integralNsgSchaltanlage = new Map();
82
- this.integralNsgSchaltanlagenabschnitt = new Map();
83
- this.integralNsgSchaltfelder = new Map();
84
- this.integralNsgKnotenSo = new Map();
85
- this.integralLeitungen = new Map();
86
- this.inmemoryObjects = new Map();
87
- this.leitungAnschlussKnotenIDs = new Set();
88
- this.stpImpModel = {
89
- stpSchieneJunctionUUIDs: new Map(),
90
- stpSchieneTerminal: new Map(),
91
- junctionUUIDstpImp: new Map(),
92
- junctions: new Map(),
93
- petersenCoils: new Map(),
94
- groundingImpedances: new Map(),
95
- connectivityNodes: new Map(),
96
- terminals: new Map()
97
- };
98
- this.knotenSpannungsband = new Map();
99
- this.knotenSpannung = new Map();
100
- this.substationVoltagelevels = new Map();
101
- this.eqSpannungsBander = new Map();
102
- this.substationNames = new Map();
103
- this.coordinateSystemName = 'EPSG:4326';
104
- this.cimModel = new __1.Model();
105
- this.availableTableNames = [];
106
- }
107
- convert(objectMappingConfig, defaultValuesConfig, energyTypesConfig, tempDirPath, gridName) {
108
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
109
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
110
- try {
111
- const eqProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_eq.xml`);
112
- this.writeHeaderStart(eqProfileExportObjects.xmlWriter);
113
- const modelEQUUID = (0, __1.generateUUID)();
114
- const profilesEQ = [__1.RDF_XML.EQ_CORE_PROFILE_URI, __1.RDF_XML.EQ_SC_PROFILE_URI, __1.RDF_XML.EQ_OPER_PROFILE_URI];
115
- this.cimModel.toCIMXML(eqProfileExportObjects.xmlWriter, modelEQUUID, profilesEQ, [], __1.RDF_XML.AMP_MAS);
116
- const dlProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_dl.xml`);
117
- this.writeHeaderStart(dlProfileExportObjects.xmlWriter);
118
- const modelDLUUID = (0, __1.generateUUID)();
119
- const profilesDl = [__1.RDF_XML.DL_OPER_PROFILE_URI];
120
- this.cimModel.toCIMXML(dlProfileExportObjects.xmlWriter, modelDLUUID, profilesDl, [modelEQUUID], __1.RDF_XML.AMP_MAS);
121
- const glProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_gl.xml`);
122
- this.writeHeaderStart(glProfileExportObjects.xmlWriter);
123
- const modelGLUUID = (0, __1.generateUUID)();
124
- const profilesGl = [__1.RDF_XML.GL_OPER_PROFILE_URI];
125
- this.cimModel.toCIMXML(glProfileExportObjects.xmlWriter, modelGLUUID, profilesGl, [modelEQUUID], __1.RDF_XML.AMP_MAS);
126
- const sshProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_ssh.xml`);
127
- this.writeHeaderStart(sshProfileExportObjects.xmlWriter);
128
- const modelSSHUUID = (0, __1.generateUUID)();
129
- const profilesSSH = [__1.RDF_XML.SSH_OPER_PROFILE_URI];
130
- this.cimModel.toCIMXML(sshProfileExportObjects.xmlWriter, modelSSHUUID, profilesSSH, [modelEQUUID], __1.RDF_XML.AMP_MAS);
131
- const dyProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_dy.xml`);
132
- this.writeHeaderStart(dyProfileExportObjects.xmlWriter);
133
- const modelDYUUID = (0, __1.generateUUID)();
134
- const profilesDY = [__1.RDF_XML.DY_PROFILE_URI];
135
- this.cimModel.toCIMXML(dyProfileExportObjects.xmlWriter, modelDYUUID, profilesDY, [modelEQUUID], __1.RDF_XML.AMP_MAS);
136
- const svProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_sv.xml`);
137
- this.writeHeaderStart(svProfileExportObjects.xmlWriter);
138
- const modelSVUUID = (0, __1.generateUUID)();
139
- const profilesSV = [__1.RDF_XML.SV_OPER_PROFILE_URI];
140
- this.cimModel.toCIMXML(svProfileExportObjects.xmlWriter, modelSVUUID, profilesSV, [modelEQUUID, modelSSHUUID], __1.RDF_XML.AMP_MAS);
141
- const ampI7ProfileExportObjects = (0, utils_1.createProfileExportObjects)(tempDirPath, `${gridName}_nonstandard.xml`);
142
- this.writeHeaderStart(ampI7ProfileExportObjects.xmlWriter, __1.RDF_XML.AMP_I7_PROFILE_URI);
143
- const modelAmpI7UUID = (0, __1.generateUUID)();
144
- const profilesAmpI7UUID = [__1.RDF_XML.AMP_I7_PROFILE_URI];
145
- this.cimModel.toCIMXML(ampI7ProfileExportObjects.xmlWriter, modelAmpI7UUID, profilesAmpI7UUID, [modelEQUUID], __1.RDF_XML.AMP_MAS);
146
- this.addDefaultObjects(defaultValuesConfig);
147
- yield this.convertGeoRegionen(defaultValuesConfig);
148
- yield this.convertSubGeoRegionen(defaultValuesConfig);
149
- yield this.convertRegelzone(defaultValuesConfig);
150
- yield this.convertBetriebsmitteltypenLeitung();
151
- yield this.convertBetriebsmitteltypenTrafo();
152
- yield this.convertBetriebsmitteltypenKdrossel();
153
- yield this.convertNetzvarianten();
154
- this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.coordinateSystems, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
155
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.geographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
156
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subgeographicalRegions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
157
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.controlArea, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
158
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.loadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
159
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.subLoadAreas, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
160
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoadGroups, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
161
- this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagrams, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
162
- this.objectArrayToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramStyles, __1.RDF_XML.PROFILE_DL);
163
- const restCount = this.standortAnzahl < this.limit ? this.standortAnzahl : (this.standortAnzahl % this.limit);
164
- const intervalCount = (this.standortAnzahl - restCount) / this.limit;
165
- const numberOfIntervals = restCount > 0 ? intervalCount + 1 : intervalCount;
166
- for (let i = 0; i < numberOfIntervals; i++) {
167
- const offset = i * this.limit;
168
- const currentLimit = (i + 1 === numberOfIntervals && restCount > 0) ? restCount : this.limit;
169
- this.logger.debug(`offset ${offset} currentLimit ${currentLimit}`);
170
- yield this.convertStandorte(currentLimit, offset, defaultValuesConfig);
171
- const standortIDs = [...this.integralStandorte.keys()];
172
- yield this.covertSchaltanlagen(standortIDs, defaultValuesConfig);
173
- const schaltanlagenIDs = [...this.integralSchaltanlagen.keys()];
174
- if (schaltanlagenIDs.length > 0) {
175
- yield this.convertSchaltanlagenAbschnitte(schaltanlagenIDs);
176
- }
177
- const schaltanlagenAbschnittIDs = [...this.integralSchaltanlagenAbschnitte.keys()];
178
- if (schaltanlagenAbschnittIDs.length > 0) {
179
- yield this.convertSchaltfelder(schaltanlagenAbschnittIDs);
180
- }
181
- this.schaltfeldIDs = [...this.integralSchaltfelder.keys()];
182
- const stpSchieneID = yield this.convertSternpunktSchienen(standortIDs);
183
- yield this.convertKdrossel(stpSchieneID);
184
- yield this.convertStpSchaltelemente(stpSchieneID);
185
- if (schaltanlagenAbschnittIDs.length > 0) {
186
- yield this.convertQuerkupplungen(schaltanlagenAbschnittIDs);
187
- }
188
- if (schaltanlagenIDs.length > 0) {
189
- yield this.convertLaengskupplungen(schaltanlagenIDs);
190
- }
191
- yield this.convertKnotenSo(standortIDs, defaultValuesConfig);
192
- const knotenSoIDs = [...this.integralKnotenSo.keys()];
193
- if (this.schaltfeldIDs.length > 0) {
194
- yield this.convertKnotenSf(this.schaltfeldIDs);
195
- }
196
- if (this.querkupplungIDs.length > 0) {
197
- yield this.convertKnotenKf(this.querkupplungIDs);
198
- }
199
- if (this.laengskupplungIDs.length > 0) {
200
- yield this.convertKnotenLk(this.laengskupplungIDs);
201
- }
202
- if (knotenSoIDs.length > 0) {
203
- yield this.convertSchlaufen(knotenSoIDs);
204
- }
205
- if (schaltanlagenAbschnittIDs.length > 0) {
206
- yield this.convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs);
207
- }
208
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
209
- const querZweigID2ErgebnisLflID = yield this.convertBelastungen([...knotenSoIDs, ...this.knotenSfIDs], defaultValuesConfig, objectMappingConfig.Belastung.class);
210
- yield this.convertQuerzweigErgebnisData(querZweigID2ErgebnisLflID, 1, 0);
211
- }
212
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
213
- yield this.convertEinspeisungen([...knotenSoIDs, ...this.knotenSfIDs], objectMappingConfig.Einspeisung.class);
214
- }
215
- if (knotenSoIDs.length || this.knotenSfIDs.length > 0) {
216
- yield this.convertGeneratoren([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
217
- }
218
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
219
- yield this.convertKraftwerksbloecke([...knotenSoIDs, ...this.knotenSfIDs], energyTypesConfig);
220
- }
221
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
222
- yield this.convertErsatzQuerzweige([...knotenSoIDs, ...this.knotenSfIDs]);
223
- }
224
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
225
- yield this.convertBoundaryInjections([...knotenSoIDs, ...this.knotenSfIDs]);
226
- }
227
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
228
- yield this.convertAsynchronmotor([...knotenSoIDs, ...this.knotenSfIDs]);
229
- }
230
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
231
- yield this.convertKompensationsdrossel([...knotenSoIDs, ...this.knotenSfIDs]);
232
- }
233
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
234
- yield this.convertKompensationskondensatoren([...knotenSoIDs, ...this.knotenSfIDs]);
235
- }
236
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
237
- yield this.convertStatcom([...knotenSoIDs, ...this.knotenSfIDs]);
238
- }
239
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
240
- yield this.convertSVC([...knotenSoIDs, ...this.knotenSfIDs]);
241
- }
242
- const containerStarreVerbindungen = [...this.schaltfeldIDs, ...this.querkupplungIDs, ...this.laengskupplungIDs];
243
- if (containerStarreVerbindungen.length > 0) {
244
- yield this.convertStarreVerbindungen(containerStarreVerbindungen);
245
- }
246
- if (containerStarreVerbindungen.length > 0) {
247
- yield this.convertTrenner3f(containerStarreVerbindungen);
248
- }
249
- if (containerStarreVerbindungen.length > 0) {
250
- }
251
- if (containerStarreVerbindungen.length > 0) {
252
- yield this.convertLeistungsschalter(containerStarreVerbindungen);
253
- }
254
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
255
- yield this.convertCsConverterDC([...knotenSoIDs, ...this.knotenSfIDs]);
256
- }
257
- if (knotenSoIDs.length > 0 || this.knotenSfIDs.length > 0) {
258
- yield this.convertVsConverterDC([...knotenSoIDs, ...this.knotenSfIDs]);
259
- }
260
- yield this.convertSchemaStandorte(standortIDs);
261
- if (knotenSoIDs.length > 0) {
262
- yield this.convertSchemaKnotenSo(knotenSoIDs);
263
- }
264
- if (schaltanlagenIDs.length > 0) {
265
- yield this.convertSchemaSchaltanlage(schaltanlagenIDs);
266
- }
267
- if (schaltanlagenAbschnittIDs.length > 0) {
268
- yield this.convertSchemaSchaltanlagenAbschnitte(schaltanlagenAbschnittIDs);
269
- }
270
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
271
- this.checkRegelungsknotenTerminals([...validTerminals.values()]);
272
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
273
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.voltageLevels, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
274
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
275
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.busbarSections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
276
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.junctions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
277
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
278
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
279
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
280
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
281
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.externalNetworkInjections, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
282
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
283
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
284
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.synchronousMachine, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
285
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.asynchronousMachine, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
286
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.generatingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
287
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.thermalGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
288
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.nuclearGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
289
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.hydroGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
290
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.windGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
291
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.solarGeneratingUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
292
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.linearShuntCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
293
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
294
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, 'Allgemein');
295
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
296
- this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.fossilFuel, __1.RDF_XML.PROFILE_EQ);
297
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.reactiveCapabilityCurve, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
298
- this.objectArrayToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.curveData, __1.RDF_XML.PROFILE_EQ);
299
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
300
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
301
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
302
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
303
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
304
- this.objectToCIMXML(dlProfileExportObjects.xmlWriter, this.cimModel.diagramObjects, __1.RDF_XML.PROFILE_DL, defaultValuesConfig);
305
- this.objectToCIMXML(glProfileExportObjects.xmlWriter, this.cimModel.locations, __1.RDF_XML.PROFILE_GL, defaultValuesConfig);
306
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energyConsumers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
307
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.conformLoads, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
308
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.energySources, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
309
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.equivalentInjections, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
310
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.disconnectors, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
311
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.breakers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
312
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.synchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
313
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.asynchronousMachine, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
314
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.staticVarCompensator, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
315
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
316
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svStatus, __1.RDF_XML.PROFILE_SV);
317
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svPowerFlow, __1.RDF_XML.PROFILE_SV);
318
- this.objectArrayToCIMXML(svProfileExportObjects.xmlWriter, this.cimModel.svTapSteps, __1.RDF_XML.PROFILE_SV);
319
- this.objectToCIMXML(dyProfileExportObjects.xmlWriter, this.cimModel.synchronousMachineTimeConstantReactance, __1.RDF_XML.PROFILE_DY, defaultValuesConfig);
320
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.bays, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
321
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
322
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.substations, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
323
- this.cimModel.substations.clear();
324
- this.cimModel.voltageLevels.clear();
325
- this.cimModel.bays.clear();
326
- this.cimModel.busbarSections.clear();
327
- this.cimModel.disconnectors.clear();
328
- this.cimModel.breakers.clear();
329
- this.cimModel.energyConsumers.clear();
330
- this.cimModel.conformLoads.clear();
331
- this.cimModel.energySources.clear();
332
- this.cimModel.equivalentInjections.clear();
333
- this.cimModel.externalNetworkInjections.clear();
334
- this.cimModel.synchronousMachine.clear();
335
- this.cimModel.synchronousMachineTimeConstantReactance.clear();
336
- this.cimModel.asynchronousMachine.clear();
337
- this.cimModel.generatingUnit.clear();
338
- this.cimModel.thermalGeneratingUnit.clear();
339
- this.cimModel.nuclearGeneratingUnit.clear();
340
- this.cimModel.hydroGeneratingUnit.clear();
341
- this.cimModel.windGeneratingUnit.clear();
342
- this.cimModel.solarGeneratingUnit.clear();
343
- this.cimModel.linearShuntCompensators.clear();
344
- this.cimModel.staticVarCompensator.clear();
345
- this.cimModel.regulatingControl.clear();
346
- this.cimModel.reactiveCapabilityCurve.clear();
347
- this.cimModel.junctions.clear();
348
- this.cimModel.curveData = [];
349
- this.cimModel.fossilFuel = [];
350
- this.cimModel.connectivityNodes.clear();
351
- this.cimModel.terminals.clear();
352
- this.cimModel.diagramObjects.clear();
353
- this.cimModel.locations.clear();
354
- this.cimModel.objects.clear();
355
- this.cimModel.svStatus = [];
356
- this.cimModel.svTapSteps = [];
357
- this.querkupplungIDs = [];
358
- this.laengskupplungIDs = [];
359
- this.knotenSoIDs = [];
360
- this.knotenSfIDs = [];
361
- this.knotenSfIDs = [];
362
- this.integralStandorte.clear();
363
- this.integralSchaltanlagen.clear();
364
- this.integralSchaltanlagenAbschnitte.clear();
365
- this.integralSchaltfelder.clear();
366
- this.integralKnotenSo.clear();
367
- this.integralNsgStandort.clear();
368
- this.integralNsgSchaltanlage.clear();
369
- this.integralNsgSchaltanlagenabschnitt.clear();
370
- this.integralNsgSchaltfelder.clear();
371
- this.integralNsgKnotenSo.clear();
372
- this.eqSpannungsBander.clear();
373
- this.logger.debug(`Offset ${offset} done`);
374
- }
375
- const restCountELZ = this.ersatzlaengszweigAnzahl < this.limit ? this.ersatzlaengszweigAnzahl : (this.ersatzlaengszweigAnzahl % this.limit);
376
- const intervalCountELZ = (this.ersatzlaengszweigAnzahl - restCountELZ) / this.limit;
377
- const numberOfIntervalsELZ = restCountELZ > 0 ? intervalCountELZ + 1 : intervalCountELZ;
378
- this.logger.debug('Convert Ersatzlaengszweige ' + this.ersatzlaengszweigAnzahl);
379
- for (let i = 0; i < numberOfIntervalsELZ; i++) {
380
- const offset = i * this.limit;
381
- const currentLimit = (i + 1 === numberOfIntervalsELZ && restCountELZ > 0) ? restCountELZ : this.limit;
382
- yield this.convertErsatzLaengszweige(currentLimit, offset, defaultValuesConfig);
383
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.equivalentBranches, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
384
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
385
- this.checkRegelungsknotenTerminals([...validTerminals.values()]);
386
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
387
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
388
- this.cimModel.equivalentBranches.clear();
389
- this.cimModel.connectivityNodes.clear();
390
- this.cimModel.terminals.clear();
391
- this.cimModel.objects.clear();
392
- }
393
- const restCountLeitung = this.leitungsAnzahl < this.limit ? this.leitungsAnzahl : (this.leitungsAnzahl % this.limit);
394
- const intervalCountLeitung = (this.leitungsAnzahl - restCountLeitung) / this.limit;
395
- const numberOfIntervalsLeitung = restCountLeitung > 0 ? intervalCountLeitung + 1 : intervalCountLeitung;
396
- this.logger.debug('Convert ACLineSegments ' + this.leitungsAnzahl);
397
- for (let i = 0; i < numberOfIntervalsLeitung; i++) {
398
- const offset = i * this.limit;
399
- const currentLimit = (i + 1 === numberOfIntervalsLeitung && restCountLeitung > 0) ? restCountLeitung : this.limit;
400
- yield this.convertLeitungen(currentLimit, offset, defaultValuesConfig);
401
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
402
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
403
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
404
- this.checkRegelungsknotenTerminals([...validTerminals.values()]);
405
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
406
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
407
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
408
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.acLineSegments, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
409
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.lines, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
410
- this.cimModel.acLineSegments.clear();
411
- this.cimModel.lines.clear();
412
- this.cimModel.connectivityNodes.clear();
413
- this.cimModel.terminals.clear();
414
- this.cimModel.diagramObjects.clear();
415
- this.cimModel.objects.clear();
416
- this.integralLeitungen.clear();
417
- this.leitungsIDs = [];
418
- }
419
- const restCountHgueLeitung = this.hgueLeitungsAnzahl < this.limit ? this.hgueLeitungsAnzahl : (this.hgueLeitungsAnzahl % this.limit);
420
- const intervalCountHgueLeitung = (this.hgueLeitungsAnzahl - restCountHgueLeitung) / this.limit;
421
- const numberOfIntervalsHgueLeitung = restCountHgueLeitung > 0 ? intervalCountHgueLeitung + 1 : intervalCountHgueLeitung;
422
- this.logger.debug('Convert DCLineSegments ' + this.hgueLeitungsAnzahl);
423
- for (let i = 0; i < numberOfIntervalsHgueLeitung; i++) {
424
- const offset = i * this.limit;
425
- const currentLimit = (i + 1 === numberOfIntervalsHgueLeitung && restCountHgueLeitung > 0) ? restCountHgueLeitung : this.limit;
426
- yield this.convertDCLines(currentLimit, offset);
427
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLines, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
428
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcLineSegment, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
429
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
430
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.dcTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
431
- this.cimModel.dcLines.clear();
432
- this.cimModel.dcLineSegment.clear();
433
- this.cimModel.dcTerminals.clear();
434
- }
435
- const restCountLD = this.laengsdrosselAnzahl < this.limit ? this.laengsdrosselAnzahl : (this.laengsdrosselAnzahl % this.limit);
436
- const intervalCountLD = (this.laengsdrosselAnzahl - restCountLD) / this.limit;
437
- const numberOfIntervalsLD = restCountLD > 0 ? intervalCountLD + 1 : intervalCountLD;
438
- this.logger.debug('Convert Längsdrossel ' + this.laengsdrosselAnzahl);
439
- for (let i = 0; i < numberOfIntervalsLD; i++) {
440
- const offset = i * this.limit;
441
- const currentLimit = (i + 1 === numberOfIntervalsLD && restCountLD > 0) ? restCountLD : this.limit;
442
- yield this.convertLaengsdrosseln(currentLimit, offset, defaultValuesConfig);
443
- this.logger.debug('Export Längsdrossel ' + this.cimModel.seriesCompensators.size);
444
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
445
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
446
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
447
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
448
- this.checkRegelungsknotenTerminals([...validTerminals.values()]);
449
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
450
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
451
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
452
- this.cimModel.seriesCompensators.clear();
453
- this.cimModel.operationalLimitSets.clear();
454
- this.cimModel.currentLimits.clear();
455
- this.cimModel.terminals.clear();
456
- this.cimModel.objects.clear();
457
- }
458
- const restCountLK = this.laengskondensatorAnzahl < this.limit ? this.laengskondensatorAnzahl : (this.laengskondensatorAnzahl % this.limit);
459
- const intervalCountLK = (this.laengskondensatorAnzahl - restCountLK) / this.limit;
460
- const numberOfIntervalsLK = restCountLK > 0 ? intervalCountLK + 1 : intervalCountLK;
461
- this.logger.debug('Convert Längskondensator ' + this.laengskondensatorAnzahl);
462
- for (let i = 0; i < numberOfIntervalsLK; i++) {
463
- const offset = i * this.limit;
464
- const currentLimit = (i + 1 === numberOfIntervalsLK && restCountLK > 0) ? restCountLK : this.limit;
465
- yield this.convertLaengskondensatoren(currentLimit, offset, defaultValuesConfig);
466
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
467
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
468
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
469
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
470
- this.checkRegelungsknotenTerminals([...validTerminals.values()]);
471
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
472
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
473
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.seriesCompensators, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
474
- this.cimModel.seriesCompensators.clear();
475
- this.cimModel.operationalLimitSets.clear();
476
- this.cimModel.currentLimits.clear();
477
- this.cimModel.terminals.clear();
478
- this.cimModel.objects.clear();
479
- }
480
- const restCountTrafo2W = this.trafo2WAnzahl < this.limit ? this.trafo2WAnzahl : (this.trafo2WAnzahl % this.limit);
481
- const intervalCountTrafo2W = (this.trafo2WAnzahl - restCountTrafo2W) / this.limit;
482
- const numberOfIntervalsTrafo2W = restCountTrafo2W > 0 ? intervalCountTrafo2W + 1 : intervalCountTrafo2W;
483
- this.logger.debug('Convert Transformers');
484
- for (let i = 0; i < numberOfIntervalsTrafo2W; i++) {
485
- const offset = i * this.limit;
486
- const currentLimit = (i + 1 === numberOfIntervalsTrafo2W && restCountTrafo2W > 0) ? restCountTrafo2W : this.limit;
487
- yield this.convertTrafo2W(currentLimit, offset, defaultValuesConfig);
488
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
489
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
490
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
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);
494
- const validTapChangerControls = getValidTapChangerControls(this.cimModel.tapChangerControls);
495
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
496
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTapChangerControls, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
497
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
498
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
499
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
500
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
501
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
502
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
503
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
504
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
505
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
506
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
507
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '2W Trafo');
508
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
509
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
510
- this.cimModel.powerTransformer.clear();
511
- this.cimModel.powerTransformerEnds.clear();
512
- this.cimModel.currentLimits.clear();
513
- this.cimModel.operationalLimitSets.clear();
514
- this.cimModel.regulatingControl.clear();
515
- this.cimModel.tapChangerControls.clear();
516
- this.cimModel.ratioTapChangers.clear();
517
- this.cimModel.phaseTapChangerLinear.clear();
518
- this.cimModel.phaseTapChangerSymmetrical.clear();
519
- this.cimModel.phaseTapChangerAsymmetrical.clear();
520
- for (const table of this.cimModel.ratioTapChangerTables.values()) {
521
- table.ratioTapChangerTablePoints = [];
522
- }
523
- this.cimModel.ratioTapChangerTables.clear();
524
- this.cimModel.svTapSteps = [];
525
- this.cimModel.terminals.clear();
526
- this.cimModel.objects.clear();
527
- }
528
- const restCountTrafo3W = this.trafo3WAnzahl < this.limit ? this.trafo3WAnzahl : (this.trafo3WAnzahl % this.limit);
529
- const intervalCountTrafo3W = (this.trafo3WAnzahl - restCountTrafo3W) / this.limit;
530
- const numberOfIntervalsTrafo3W = restCountTrafo3W > 0 ? intervalCountTrafo3W + 1 : intervalCountTrafo3W;
531
- this.logger.debug('Convert Transformers3W');
532
- for (let i = 0; i < numberOfIntervalsTrafo3W; i++) {
533
- const offset = i * this.limit;
534
- const currentLimit = (i + 1 === numberOfIntervalsTrafo3W && restCountTrafo3W > 0) ? restCountTrafo3W : this.limit;
535
- yield this.convertTrafo3W(currentLimit, offset, defaultValuesConfig);
536
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformer, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
537
- this.cimModel.powerTransformer.clear();
538
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.powerTransformerEnds, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
539
- this.cimModel.powerTransformerEnds.clear();
540
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.currentLimits, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
541
- this.cimModel.currentLimits.clear();
542
- const validTerminals = getValidTerminals(this.cimModel.terminals, this.inmemoryObjects);
543
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig, this.logger);
544
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, validTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig, this.logger);
545
- this.cimModel.terminals.clear();
546
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, getValidTapChangerControls(this.cimModel.tapChangerControls), __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
547
- this.cimModel.tapChangerControls.clear();
548
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
549
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
550
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
551
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
552
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangers, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
553
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerLinear, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
554
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerSymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
555
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.phaseTapChangerAsymmetrical, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
556
- this.cimModel.ratioTapChangers.clear();
557
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.ratioTapChangerTables, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
558
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitSets, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
559
- validateRegulatingControls(this.cimModel.regulatingControl, this.logger, '3W Trafo');
560
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
561
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.regulatingControl, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
562
- this.cimModel.regulatingControl.clear();
563
- this.cimModel.operationalLimitSets.clear();
564
- for (const table of this.cimModel.ratioTapChangerTables.values()) {
565
- table.ratioTapChangerTablePoints = [];
566
- }
567
- this.cimModel.ratioTapChangerTables.clear();
568
- this.cimModel.phaseTapChangerLinear.clear();
569
- this.cimModel.phaseTapChangerSymmetrical.clear();
570
- this.cimModel.phaseTapChangerAsymmetrical.clear();
571
- this.cimModel.svTapSteps = [];
572
- this.cimModel.objects.clear();
573
- }
574
- const memoryTerminals = validateInMemoryObjects(this.inmemoryObjects, this.logger);
575
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.operationalLimitTypes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
576
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.baseVoltages, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
577
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
578
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, memoryTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
579
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcConverterUnit, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
580
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.vsConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
581
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.csConverter, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
582
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
583
- this.objectToCIMXML(sshProfileExportObjects.xmlWriter, this.cimModel.acDCConverterDCTerminals, __1.RDF_XML.PROFILE_SSH, defaultValuesConfig);
584
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.dcNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
585
- for (const junction of this.stpImpModel.junctions.values()) {
586
- if (junction.baseVoltageUUID && junction.equipmentContainerUUID) {
587
- this.cimModel.addJunction(junction);
588
- }
589
- }
590
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.junctions, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
591
- this.stpImpModel.junctions.clear();
592
- this.cimModel.junctions.clear();
593
- for (const cn of this.stpImpModel.connectivityNodes.values()) {
594
- if (cn.connectivityNodeContainerUUID) {
595
- this.cimModel.addConnectivityNode(cn);
596
- }
597
- }
598
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.connectivityNodes, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
599
- this.stpImpModel.connectivityNodes.clear();
600
- this.cimModel.connectivityNodes.clear();
601
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.stpImpModel.petersenCoils, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
602
- this.stpImpModel.petersenCoils.clear();
603
- for (const groundingImpedance of this.stpImpModel.groundingImpedances.values()) {
604
- if (groundingImpedance.baseVoltageUUID && groundingImpedance.equipmentContainerUUID) {
605
- this.cimModel.addGroundingImpedance(groundingImpedance);
606
- }
607
- }
608
- this.objectToCIMXML(eqProfileExportObjects.xmlWriter, this.cimModel.groundingImpedances, __1.RDF_XML.PROFILE_EQ, defaultValuesConfig);
609
- this.stpImpModel.groundingImpedances.clear();
610
- this.cimModel.groundingImpedances.clear();
611
- this.cimModel.dcConverterUnit.clear();
612
- this.cimModel.vsConverter.clear();
613
- this.cimModel.csConverter.clear();
614
- this.cimModel.acDCConverterDCTerminals.clear();
615
- this.cimModel.dcNodes.clear();
616
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.psrTypes, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
617
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evWireInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
618
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.cableInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
619
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.overheadWireInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
620
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evPowerTransformerInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
621
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evPowerTransformerEndInfos, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
622
- this.objectToCIMXML(ampI7ProfileExportObjects.xmlWriter, this.cimModel.evTapChangerInfo, __1.RDF_XML.PROFILE_AMPI7, defaultValuesConfig);
623
- this.cimModel.operationalLimitTypes.clear();
624
- this.cimModel.baseVoltages.clear();
625
- memoryTerminals.clear();
626
- this.writeHeaderEnd(eqProfileExportObjects.xmlWriter);
627
- this.writeHeaderEnd(dlProfileExportObjects.xmlWriter);
628
- this.writeHeaderEnd(glProfileExportObjects.xmlWriter);
629
- this.writeHeaderEnd(sshProfileExportObjects.xmlWriter);
630
- this.writeHeaderEnd(dyProfileExportObjects.xmlWriter);
631
- this.writeHeaderEnd(svProfileExportObjects.xmlWriter);
632
- this.writeHeaderEnd(ampI7ProfileExportObjects.xmlWriter);
633
- yield Promise.all([
634
- (0, utils_2.createWriteStreamPromise)(eqProfileExportObjects.writeStream),
635
- (0, utils_2.createWriteStreamPromise)(dlProfileExportObjects.writeStream),
636
- (0, utils_2.createWriteStreamPromise)(glProfileExportObjects.writeStream),
637
- (0, utils_2.createWriteStreamPromise)(sshProfileExportObjects.writeStream),
638
- (0, utils_2.createWriteStreamPromise)(svProfileExportObjects.writeStream),
639
- (0, utils_2.createWriteStreamPromise)(dyProfileExportObjects.writeStream),
640
- (0, utils_2.createWriteStreamPromise)(ampI7ProfileExportObjects.writeStream),
641
- ]);
642
- const zip = new jszip_1.default();
643
- const readStreamEq = fs_1.default.createReadStream(eqProfileExportObjects.filePath);
644
- zip.file(`${gridName}_eq.xml`, readStreamEq);
645
- const readStreamDl = fs_1.default.createReadStream(dlProfileExportObjects.filePath);
646
- zip.file(`${gridName}_dl.xml`, readStreamDl);
647
- const readStreamGl = fs_1.default.createReadStream(glProfileExportObjects.filePath);
648
- zip.file(`${gridName}_gl.xml`, readStreamGl);
649
- const readStreamSSH = fs_1.default.createReadStream(sshProfileExportObjects.filePath);
650
- zip.file(`${gridName}_ssh.xml`, readStreamSSH);
651
- const readStreamDY = fs_1.default.createReadStream(dyProfileExportObjects.filePath);
652
- zip.file(`${gridName}_dy.xml`, readStreamDY);
653
- const readStreamSV = fs_1.default.createReadStream(svProfileExportObjects.filePath);
654
- zip.file(`${gridName}_sv.xml`, readStreamSV);
655
- const readStreamAmpI7 = fs_1.default.createReadStream(ampI7ProfileExportObjects.filePath);
656
- zip.file('nonstandard.xml', readStreamAmpI7);
657
- resolve(yield (0, utils_2.generateNodeStream)(zip));
658
- }
659
- catch (e) {
660
- console.log(e);
661
- reject({ status: 'error', message: e.toString() });
662
- }
663
- }));
664
- });
665
- }
666
- release(tempDirPath) {
667
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
668
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
669
- try {
670
- this.closeConnection();
671
- this.cimModel.purgeData();
672
- if (tempDirPath) {
673
- try {
674
- fs_1.default.rmdirSync(tempDirPath, { recursive: true });
675
- this.logger.debug(`${path_1.default} is deleted!`);
676
- }
677
- catch (err) {
678
- console.error(`Error while deleting ${path_1.default}.`);
679
- }
680
- }
681
- resolve({ status: 'successful', message: 'ok' });
682
- }
683
- catch (e) {
684
- reject({ status: 'error', message: JSON.stringify(e) });
685
- }
686
- }));
687
- });
688
- }
689
- convertGeoRegionen(defaultValuesConfig) {
690
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
691
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGION)) {
692
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.REGION, 0, 0, []));
693
- for (const i7Data of result) {
694
- const region = new __1.GeographicalRegion((0, __1.getUUID)(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
695
- this.cimModel.addGeographicalRegion(region);
696
- this.addIdMapping(i7Data.id, region.mrid, integral_sql_1.Integral7TableNames.REGION);
697
- }
698
- }
699
- else {
700
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.REGION} ist nicht vorhanden.`);
701
- this.logger.debug(`Erstelle Standard Georegion ${defaultValuesConfig.GeographicalRegion.name} .`);
702
- (0, __1.createGeoregion)((0, __1.generateUUID)(), defaultValuesConfig.GeographicalRegion.name, undefined, defaultValuesConfig.GeographicalRegion.description, this.cimModel);
703
- }
704
- });
705
- }
706
- convertRegelzone(defaultValuesConfig) {
707
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
708
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.REGELZONE)) {
709
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
710
- for (const i7Data of result) {
711
- const ctrlarea = new ControlArea_1.ControlArea((0, __1.getUUID)(i7Data.guid), 'RZ_' + i7Data.bezeichner, i7Data.kurzname);
712
- this.cimModel.addControlArea(ctrlarea);
713
- this.addIdMapping(i7Data.id, ctrlarea.mrid, integral_sql_1.Integral7TableNames.REGELZONE);
714
- }
715
- }
716
- else {
717
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.REGELZONE} ist nicht vorhanden.`);
718
- }
719
- });
720
- }
721
- convertSubGeoRegionen(defaultValuesConfig) {
722
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
723
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SUBREGION)) {
724
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SUBREGION, 0, 0, []));
725
- for (const i7Data of result) {
726
- const subregion = new __1.SubGeographicalRegion((0, __1.getUUID)(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
727
- let region = this.cimModel.getGeographicalRegion(this.integralID2UUID.get(i7Data.georegion));
728
- if (!region) {
729
- region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
730
- }
731
- subregion.region = region;
732
- region.addSubGeographicalRegion(subregion);
733
- this.cimModel.addSubGeographicalRegion(subregion);
734
- this.addIdMapping(i7Data.id, subregion.mrid, integral_sql_1.Integral7TableNames.SUBREGION);
735
- }
736
- }
737
- else {
738
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SUBREGION} ist nicht vorhanden.`);
739
- this.logger.debug(`Erstelle Standard SubGeographicalRegion ${defaultValuesConfig.SubGeographicalRegion.name}.`);
740
- const region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
741
- const subRegion = (0, utils_1.createIfNotExitsSubGeoregionByName)(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
742
- subRegion.shortName = defaultValuesConfig.SubGeographicalRegion.shortName;
743
- subRegion.description = defaultValuesConfig.SubGeographicalRegion.description;
744
- }
745
- });
746
- }
747
- convertStandorte(limit, offset, defaultValuesConfig) {
748
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
749
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STANDORT)) {
750
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STANDORT, limit, offset, []));
751
- for (const i7Data of result) {
752
- const i7Schluessel = integral_prefix_1.STANDORT_PRAEFIX +
753
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
754
- integral_prefix_1.MITTIGER_PUNKT +
755
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
756
- const substation = new AMPRIONSubstation_1.AMPRIONSubstation((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.id + '', i7Schluessel, i7Data.stationsnummer);
757
- substation.ukz = i7Data.ukz;
758
- this.substationNames.set(substation.mrid, substation.name);
759
- let subregion = this.cimModel.getSubGeographicalRegion(this.integralID2UUID.get(i7Data.subgeoregion));
760
- if (!subregion) {
761
- const region = (0, utils_1.createIfNotExitsGeoregionByName)(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
762
- subregion = (0, utils_1.createIfNotExitsSubGeoregionByName)(this.cimModel, defaultValuesConfig.SubGeographicalRegion.name, region);
763
- }
764
- substation.subGeographicalRegionUUID = subregion.mrid;
765
- const coor = getGeoCoordinates(i7Data);
766
- if ((coor === null || coor === void 0 ? void 0 : coor.length) === 2) {
767
- const coordinateSystem = this.cimModel.getCoordinateSystemByName(this.coordinateSystemName);
768
- const location = new __1.Location((0, __1.generateUUID)(), `Location of ${substation.name}`);
769
- location.addPowerSystemResource(substation);
770
- substation.location = location;
771
- location.coordinateSystem = coordinateSystem;
772
- const positionPoint = new __1.PositionPoint((0, __1.generateUUID)());
773
- positionPoint.xPosition = coor[0];
774
- positionPoint.yPosition = coor[1];
775
- positionPoint.location = location;
776
- location.addPositionPoint(positionPoint);
777
- this.cimModel.addLocation(location);
778
- }
779
- this.substationVoltagelevels.set(i7Data.id, []);
780
- this.cimModel.addSubstation(substation);
781
- this.addIdMapping(i7Data.id, substation.mrid, integral_sql_1.Integral7TableNames.STANDORT);
782
- this.addUUIDMapping(i7Data.id, substation.mrid);
783
- const standort = new Standort_1.StandortImpl(i7Data);
784
- this.integralStandorte.set(i7Data.id, standort);
785
- }
786
- }
787
- else {
788
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STANDORT} ist nicht vorhanden.`);
789
- }
790
- });
791
- }
792
- covertSchaltanlagen(standortIDs, defaultValuesConfig) {
793
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
794
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGE)) {
795
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SCHALTANLAGE, 0, 0, standortIDs));
796
- for (const i7Data of result) {
797
- const un = (0, utils_2.getU)(i7Data.un, defaultValuesConfig.DefaultVoltage);
798
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
799
- const substationName = this.substationNames.get(substation.mrid);
800
- const vl = new __1.VoltageLevel((0, __1.getUUID)(i7Data.guid), substationName + "/" + (0, utils_2.ueberpruefeZeichenkette)(un.toString()) + (0, utils_2.getName)(i7Data));
801
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, un);
802
- vl.baseVoltageUUID = baseVoltage.mrid;
803
- vl.baseVoltage = baseVoltage;
804
- this.cimModel.addVoltageLevel(vl);
805
- this.addIdMapping(i7Data.id, vl.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGE);
806
- this.addUUIDMapping(i7Data.id, vl.mrid);
807
- this.eqSpannungsBander.set(vl.mrid, []);
808
- if (substation) {
809
- vl.substationUUID = substation.mrid;
810
- const i7Schluessel = substation.description +
811
- integral_prefix_1.SCHALTANLAGE_PRAEFIX +
812
- (0, utils_2.ueberpruefeZeichenkette)(un.toString()) +
813
- integral_prefix_1.MITTIGER_PUNKT +
814
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
815
- vl.description = i7Schluessel;
816
- const schaltanlage = new Schaltanlage_1.SchaltanlageImpl(i7Data);
817
- schaltanlage.addStandort(this.integralStandorte.get(schaltanlage.standortid));
818
- this.integralSchaltanlagen.set(i7Data.id, schaltanlage);
819
- const subVlData = this.substationVoltagelevels.get(i7Data.standort);
820
- subVlData.push({
821
- un: i7Data.un,
822
- vlUUID: vl.mrid,
823
- baseVoltageUUID: vl.baseVoltageUUID
824
- });
825
- }
826
- else {
827
- this.logger.debug(`VoltageLevel ${i7Data.id} ${vl.mrid} besitzt keine Umspannanlage.`);
828
- }
829
- }
830
- }
831
- else {
832
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGE} ist nicht vorhanden.`);
833
- }
834
- });
835
- }
836
- convertSchaltanlagenAbschnitte(schaltanlagenIDs) {
837
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
838
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT)) {
839
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenIDs));
840
- for (const i7Data of result) {
841
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
842
- this.addIdMapping(i7Data.id, voltageLevel.mrid, integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT);
843
- this.addUUIDMapping(i7Data.id, voltageLevel.mrid);
844
- const schaltanlagenabschnitt = new Schaltanlagenabschnitt_1.SchaltanlagenabschnittImpl(i7Data);
845
- schaltanlagenabschnitt.addSchaltanlage(this.integralSchaltanlagen.get(schaltanlagenabschnitt.schaltanlageid));
846
- this.integralSchaltanlagenAbschnitte.set(i7Data.id, schaltanlagenabschnitt);
847
- }
848
- }
849
- else {
850
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
851
- }
852
- });
853
- }
854
- convertSchaltfelder(schaltanlagenAbschnittIDs) {
855
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
856
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHALTFELD)) {
857
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SCHALTFELD, 0, 0, schaltanlagenAbschnittIDs));
858
- for (const i7Data of result) {
859
- const bay = new AMPRIONBay_1.AMPRIONBay((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data));
860
- bay.number = i7Data.feldnummer + '';
861
- bay.locationID = i7Data.ips_folder_id;
862
- const sfImpl = new Schaltfeld_1.SchaltfeldImpl(i7Data);
863
- this.integralSchaltfelder.set(i7Data.id, sfImpl);
864
- if (this.integralSchaltanlagenAbschnitte.has(sfImpl.saabschnittid)) {
865
- sfImpl.saabschnitt = this.integralSchaltanlagenAbschnitte.get(sfImpl.saabschnittid);
866
- sfImpl.saabschnitt.schaltfelder.push(sfImpl);
867
- }
868
- else {
869
- this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
870
- }
871
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
872
- if (voltageLevel) {
873
- bay.voltageLevel = voltageLevel;
874
- const i7Schluessel = voltageLevel.description +
875
- integral_prefix_1.SCHALTFELD_PRAEFIX +
876
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
877
- bay.description = i7Schluessel;
878
- }
879
- else {
880
- this.logger.debug(`Schaltfeld ${i7Data.id} besitzt keine Anlage.`);
881
- }
882
- this.cimModel.addBay(bay);
883
- this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.SCHALTFELD);
884
- }
885
- }
886
- else {
887
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHALTFELD} ist nicht vorhanden.`);
888
- }
889
- });
890
- }
891
- convertKnotenSo(standortIDs, defaultValuesConfig) {
892
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
893
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SO)) {
894
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KNOTEN_SO, 0, 0, standortIDs));
895
- for (const i7Data of result) {
896
- const object = new KnotenSo_1.KnotenSoImpl(i7Data);
897
- this.integralKnotenSo.set(i7Data.id, object);
898
- object.standort = this.integralStandorte.get(object.standortid);
899
- const substation = this.cimModel.getSubstation(this.integralID2UUID.get(i7Data.standort));
900
- const substationName = this.substationNames.get(substation.mrid);
901
- const vl = new __1.VoltageLevel((0, __1.getUUID)(i7Data.guid), substationName + "/" + (0, utils_2.getName)(i7Data), i7Data.kurzname);
902
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode((0, __1.generateUUID)(), 'Abzweig', String(i7Data.id));
903
- connectivityNode.connectivityNodeContainer = vl;
904
- connectivityNode.nodeNumber = i7Data.id_psse_cape;
905
- vl.addConnectivityNode(connectivityNode);
906
- const un = (0, utils_2.getU)(i7Data.un, defaultValuesConfig.DefaultVoltage);
907
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, un);
908
- vl.baseVoltage = baseVoltage;
909
- if ((0, utils_2.isNumericI7)(i7Data.usoll) || ((0, utils_2.isNumericI7)(i7Data.umin)) && (0, utils_2.isNumericI7)(i7Data.umax)) {
910
- this.knotenSpannungsband.set(i7Data.id, {
911
- usoll: i7Data.usoll,
912
- umin: i7Data.umin,
913
- umax: i7Data.umax,
914
- cnUUID: connectivityNode.mrid,
915
- terminals: []
916
- });
917
- }
918
- this.eqSpannungsBander.set(vl.mrid, [
919
- {
920
- usoll: i7Data.usoll,
921
- umin: i7Data.umin,
922
- umax: i7Data.umax
923
- }
924
- ]);
925
- if (substation) {
926
- vl.substation = substation;
927
- substation.addVoltageLevel(vl);
928
- const i7Schluessel = substation.description +
929
- integral_prefix_1.KNOTEN_STANDORT_PRAEFIX +
930
- i7Data.un +
931
- integral_prefix_1.MITTIGER_PUNKT +
932
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
933
- vl.description = i7Schluessel;
934
- connectivityNode.description = i7Schluessel;
935
- }
936
- else {
937
- this.logger.debug(`KnotenSo ${i7Data.id} ${vl.mrid} besitzt keine Substation.`);
938
- }
939
- const psrType = (0, utils_2.getPSRType)(this.cimModel, 'Abzweigmast');
940
- vl.psrTypeUUID = psrType === null || psrType === void 0 ? void 0 : psrType.mrid;
941
- this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SO);
942
- this.addUUIDMapping(i7Data.id, connectivityNode.mrid);
943
- this.knotenSoIDs.push(i7Data.id);
944
- this.cimModel.addVoltageLevel(vl);
945
- this.cimModel.addConnectivityNode(connectivityNode);
946
- if (baseVoltage) {
947
- this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, baseVoltage);
948
- }
949
- else {
950
- this.logger.debug(`Knotenspannung von Knoten ${i7Data.id} konnte nicht ermittelt werden.`);
951
- }
952
- this.knotenSpannung.set(connectivityNode.mrid, baseVoltage);
953
- this.checkMemoryObject(i7Data.id, connectivityNode);
954
- }
955
- }
956
- else {
957
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SO} ist nicht vorhanden.`);
958
- }
959
- });
960
- }
961
- convertSammelschienenAbschnitte(schaltanlagenAbschnittIDs) {
962
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
963
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SAMMELSCHIENE)) {
964
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SAMMELSCHIENE, 0, 0, schaltanlagenAbschnittIDs));
965
- for (const i7Data of result) {
966
- const busbarSection = new __1.BusbarSection((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
967
- busbarSection.ipMax = i7Data.limit_ip;
968
- busbarSection.aggregate = false;
969
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode((0, __1.generateUUID)(), 'ssab cn');
970
- const terminal = (0, __1.createConnection)(this.cimModel, busbarSection, connectivityNode, __1.PhaseCode.ABC, 1);
971
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
972
- connectivityNode.nodeNumber = i7Data.id_psse_cape;
973
- if (voltageLevel) {
974
- busbarSection.equipmentContainerUUID = voltageLevel.mrid;
975
- voltageLevel.addEquipment(busbarSection);
976
- connectivityNode.connectivityNodeContainerUUID = voltageLevel.mrid;
977
- voltageLevel.addConnectivityNode(connectivityNode);
978
- voltageLevel.highVoltageLimit = i7Data.umax;
979
- voltageLevel.lowVoltageLimit = i7Data.umin;
980
- const i7Schluessel = voltageLevel.description +
981
- integral_prefix_1.SAMMELSCHIENENABSCHNITT_PRAEFIX +
982
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
983
- busbarSection.description = i7Schluessel;
984
- connectivityNode.description = i7Schluessel;
985
- if ((0, utils_2.isNumericI7)(i7Data.usoll) || ((0, utils_2.isNumericI7)(i7Data.umin)) && (0, utils_2.isNumericI7)(i7Data.umax)) {
986
- this.knotenSpannungsband.set(i7Data.id, {
987
- usoll: i7Data.usoll,
988
- umin: i7Data.umin,
989
- umax: i7Data.umax,
990
- cnUUID: connectivityNode.mrid,
991
- terminals: [{ uuid: terminal.mrid, connected: terminal.connected }]
992
- });
993
- }
994
- const usollValues = this.eqSpannungsBander.get(voltageLevel.mrid);
995
- if (usollValues) {
996
- usollValues.push({
997
- usoll: i7Data.usoll,
998
- umin: i7Data.umin,
999
- umax: i7Data.umax
1000
- });
1001
- }
1002
- else {
1003
- this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt kein Objekt für Sollspannungen.');
1004
- }
1005
- }
1006
- else {
1007
- this.logger.debug('Sammelschiene ' + i7Data.id + ' besitzt keine Schaltanlage.');
1008
- }
1009
- this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.SAMMELSCHIENE);
1010
- this.addUUIDMapping(i7Data.id, busbarSection.mrid);
1011
- this.cimModel.addConnectivityNode(connectivityNode);
1012
- this.cimModel.addBusbarSection(busbarSection);
1013
- if (this.integralSchaltanlagenAbschnitte.has(i7Data.saabschnitt)) {
1014
- this.integralSchaltanlagenAbschnitte.get(i7Data.saabschnitt).ssab.push(i7Data);
1015
- }
1016
- }
1017
- }
1018
- else {
1019
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SAMMELSCHIENE} ist nicht vorhanden.`);
1020
- }
1021
- });
1022
- }
1023
- convertKnotenSf(schaltfeldIDs) {
1024
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1025
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_SF)) {
1026
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KNOTEN_SF, 0, 0, schaltfeldIDs));
1027
- for (const i7Data of result) {
1028
- const connectivityNode = new __1.ConnectivityNode((0, __1.getUUID)(i7Data.guid), 'knotensf cn', 'knotensf');
1029
- const isInmemory = this.checkMemoryObject(i7Data.id, connectivityNode);
1030
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.schaltfeld));
1031
- if (bay) {
1032
- if (isInmemory) {
1033
- connectivityNode.connectivityNodeContainerUUID = bay.getVoltageLevelUUID();
1034
- }
1035
- else {
1036
- connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1037
- }
1038
- }
1039
- else {
1040
- this.logger.debug(`KnotenSf ${i7Data.id} besitzt kein Schaltfeld.`);
1041
- }
1042
- this.knotenSfIDs.push(i7Data.id);
1043
- this.cimModel.addConnectivityNode(connectivityNode);
1044
- this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_SF);
1045
- const connectivityNodeContainer = this.cimModel.getObject(connectivityNode.connectivityNodeContainerUUID);
1046
- if (connectivityNodeContainer) {
1047
- let baseVoltage = undefined;
1048
- if (connectivityNodeContainer instanceof __1.VoltageLevel) {
1049
- baseVoltage = (connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.baseVoltage) ? connectivityNodeContainer.baseVoltage : this.cimModel.getObject(connectivityNodeContainer.baseVoltageUUID);
1050
- }
1051
- else if (connectivityNodeContainer instanceof __1.Bay) {
1052
- const vl = this.cimModel.getObject(connectivityNodeContainer.getVoltageLevelUUID());
1053
- baseVoltage = (vl === null || vl === void 0 ? void 0 : vl.baseVoltage) ? vl.baseVoltage : this.cimModel.getObject(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
1054
- }
1055
- if (baseVoltage) {
1056
- this.knotenSpannung.set(connectivityNode.mrid, baseVoltage);
1057
- }
1058
- else {
1059
- this.logger.debug(`Knotenspannung von Schaltfeld ${i7Data.id} konnte nicht ermittelt werden. Container is ${connectivityNodeContainer.constructor.name}`);
1060
- }
1061
- }
1062
- }
1063
- }
1064
- else {
1065
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_SF} ist nicht vorhanden.`);
1066
- }
1067
- });
1068
- }
1069
- convertKnotenKf(querkupplungIDs) {
1070
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1071
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_KF)) {
1072
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KNOTEN_KF, 0, 0, querkupplungIDs));
1073
- for (const i7Data of result) {
1074
- const connectivityNode = new __1.ConnectivityNode((0, __1.getUUID)(i7Data.guid), 'knotenkf cn', 'knotenkf');
1075
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.kpfeld));
1076
- if (bay) {
1077
- connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1078
- }
1079
- else {
1080
- this.logger.debug(`KnotenKf ${i7Data.id} besitzt kein Schaltfeld.`);
1081
- }
1082
- this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_KF);
1083
- this.cimModel.addConnectivityNode(connectivityNode);
1084
- }
1085
- }
1086
- else {
1087
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_KF} ist nicht vorhanden.`);
1088
- }
1089
- });
1090
- }
1091
- convertKnotenLk(laengskupplungIDs) {
1092
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1093
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_LK)) {
1094
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KNOTEN_LK, 0, 0, laengskupplungIDs));
1095
- for (const i7Data of result) {
1096
- const connectivityNode = new __1.ConnectivityNode((0, __1.generateUUID)(), (0, utils_2.getName)(i7Data), 'KnotenLk');
1097
- const bay = this.cimModel.getBay(this.integralID2UUID.get(i7Data.lkupplung));
1098
- if (bay) {
1099
- connectivityNode.connectivityNodeContainerUUID = bay.mrid;
1100
- }
1101
- else {
1102
- this.logger.debug(`KnotenLk ${i7Data.id} besitzt kein Schaltfeld.`);
1103
- }
1104
- this.addIdMapping(i7Data.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.KNOTEN_LK);
1105
- this.cimModel.addConnectivityNode(connectivityNode);
1106
- }
1107
- }
1108
- else {
1109
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_LK} ist nicht vorhanden.`);
1110
- }
1111
- });
1112
- }
1113
- convertSchlaufen(knotenSoIDs) {
1114
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1115
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SCHLAUFE)) {
1116
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SCHLAUFE, 0, 0, knotenSoIDs));
1117
- for (const i7Data of result) {
1118
- const terminal = new __1.Terminal((0, __1.generateUUID)(), 'T_Schlaufe', String(i7Data.id));
1119
- terminal.connected = (0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
1120
- terminal.phases = __1.PhaseCode.ABC;
1121
- this.addIdMapping(i7Data.id, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1122
- this.addIdMapping(i7Data.knotenzw, terminal.mrid, integral_sql_1.Integral7TableNames.SCHLAUFE);
1123
- this.inmemoryObjects.set(i7Data.id, terminal);
1124
- this.inmemoryObjects.set(i7Data.knotenzw, terminal);
1125
- const eknotenUUID = this.integralID2UUID.get(i7Data.eknoten);
1126
- if (eknotenUUID) {
1127
- terminal.connectivityNodeUUID = eknotenUUID;
1128
- const connectivityNode = this.cimModel.getConnectivityNode(eknotenUUID);
1129
- if (connectivityNode) {
1130
- this.knotenSpannung.set(connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.mrid, connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.getBaseVoltage());
1131
- }
1132
- else {
1133
- this.logger.debug(`Knotenspannung von Schlaufe ${i7Data.id} konnte nicht ermittelt werden.`);
1134
- }
1135
- }
1136
- else {
1137
- this.logger.debug(`Schlaufe ${i7Data.id} besitzt kein KnotenSO).`);
1138
- }
1139
- }
1140
- }
1141
- else {
1142
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.SCHLAUFE} ist nicht vorhanden.`);
1143
- }
1144
- });
1145
- }
1146
- convertBelastungen(knotenSfIDs, defaultValuesConfig, targetClass) {
1147
- return new Promise((resolve) => {
1148
- const querZweigID2LflID = new Map();
1149
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BELASTUNG)) {
1150
- this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.BELASTUNG, 0, 0, knotenSfIDs)).then((result) => {
1151
- for (const i7Data of result) {
1152
- const conformLoad = targetClass === __1.CIM_CLASS_NAMES.ConformLoad ? new ConformLoad_1.ConformLoad((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data)) : new __1.EnergyConsumer((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data));
1153
- if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
1154
- const conformLoadGroup = this.cimModel.getObjectByName(defaultValuesConfig.ConformLoadGroup.name, __1.CIM_CLASS_NAMES.ConformLoadGroup);
1155
- conformLoad.loadGroupUUID = conformLoadGroup.mrid;
1156
- }
1157
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1158
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, conformLoad);
1159
- const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
1160
- conformLoad.p = powerData[0];
1161
- conformLoad.q = powerData[1];
1162
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1163
- if (connectivityNode) {
1164
- const terminal = (0, __1.createConnection)(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1165
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1166
- if (equipmentContainer) {
1167
- conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
1168
- const i7Schluesel = (0, utils_2.getDescription)(equipmentContainer.getSubstation()) +
1169
- integral_prefix_1.BELASTUNG_PRAEFIX + i7Data.bezeichner;
1170
- conformLoad.description = i7Schluesel;
1171
- }
1172
- else {
1173
- this.logger.debug(`${conformLoad.constructor.name} ${i7Data.id} besitzt keinen EquipmentContainer.`);
1174
- }
1175
- }
1176
- else {
1177
- this.logger.debug(`${conformLoad.constructor.name} ${i7Data.id} besitzt keinen ConnectivityNode.`);
1178
- }
1179
- if (targetClass === __1.CIM_CLASS_NAMES.ConformLoad) {
1180
- this.cimModel.addConformLoad(conformLoad);
1181
- }
1182
- else {
1183
- this.cimModel.addEnergyConsumer(conformLoad);
1184
- }
1185
- this.addIdMapping(i7Data.id, conformLoad.mrid, integral_sql_1.Integral7TableNames.BELASTUNG);
1186
- querZweigID2LflID.set(i7Data.flussinfo3p, i7Data.id);
1187
- }
1188
- resolve(querZweigID2LflID);
1189
- });
1190
- }
1191
- });
1192
- }
1193
- convertEinspeisungen(knotenSfIDs, targetClass) {
1194
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1195
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.EINSPEISUNG)) {
1196
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.EINSPEISUNG, 0, 0, knotenSfIDs));
1197
- switch (targetClass) {
1198
- case __1.CIM_CLASS_NAMES.EquivalentInjection: {
1199
- yield this.convertEinspeisungen2EquivalentInjection(result);
1200
- break;
1201
- }
1202
- case __1.CIM_CLASS_NAMES.ExternalNetworkInjection: {
1203
- yield this.convertEinspeisungen2ExternalNetworkInjection(result);
1204
- break;
1205
- }
1206
- default: {
1207
- yield this.convertEinspeisungen2EnergySource(result);
1208
- }
1209
- }
1210
- }
1211
- else {
1212
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.EINSPEISUNG} ist nicht vorhanden.`);
1213
- }
1214
- });
1215
- }
1216
- convertGeneratoren(knotenSfIDs, energyTypesConfig) {
1217
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1218
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.GENERATOR)) {
1219
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.GENERATOR, 0, 0, knotenSfIDs));
1220
- for (const i7Data of result) {
1221
- const synchronousMachine = new __1.SynchronousMachine((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
1222
- synchronousMachine.type = __1.SynchronousMachineKind.generator;
1223
- synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1224
- if ((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_1)) {
1225
- this.blocktransformatoren.push((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_1));
1226
- }
1227
- if ((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_2)) {
1228
- this.blocktransformatoren.push((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_2));
1229
- }
1230
- if ((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_3)) {
1231
- this.blocktransformatoren.push((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_3));
1232
- }
1233
- if ((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_4)) {
1234
- this.blocktransformatoren.push((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_4));
1235
- }
1236
- if ((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_5)) {
1237
- this.blocktransformatoren.push((0, utils_2.convertToNumberI7)(i7Data.blocktrafo_5));
1238
- }
1239
- synchronousMachine.referencePriority = (0, utils_2.isNumericI7)(i7Data.einspprio) ? (0, utils_2.convertToNumberI7)(i7Data.einspprio) : undefined;
1240
- const maxP = (0, utils_2.isNumericI7)(i7Data.p_max) ? (0, utils_2.convertToNumberI7)(i7Data.p_max) : 0;
1241
- const minP = (0, utils_2.isNumericI7)(i7Data.p_min) ? (0, utils_2.convertToNumberI7)(i7Data.p_min) : 0;
1242
- const maxQ = (0, utils_2.isNumericI7)(i7Data.q_max) ? (0, utils_2.convertToNumberI7)(i7Data.q_max) : undefined;
1243
- const minQ = (0, utils_2.isNumericI7)(i7Data.q_min) ? (0, utils_2.convertToNumberI7)(i7Data.q_min) : undefined;
1244
- const maxQvonPmax = (0, utils_2.isNumericI7)(i7Data.qmax_von_pmax) ? (0, utils_2.convertToNumberI7)(i7Data.qmax_von_pmax) : undefined;
1245
- const minQvonPmin = (0, utils_2.isNumericI7)(i7Data.qmin_von_pmin) ? (0, utils_2.convertToNumberI7)(i7Data.qmin_von_pmin) : undefined;
1246
- synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
1247
- synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
1248
- const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
1249
- const p = powerData[0];
1250
- const q = powerData[1];
1251
- synchronousMachine.setActivePower(p);
1252
- synchronousMachine.setReactivePower(q);
1253
- const sr = (0, utils_2.isNumericI7)(i7Data.sr) ? (0, utils_2.convertToNumberI7)(i7Data.sr) : undefined;
1254
- if (sr && sr >= 0) {
1255
- synchronousMachine.ratedS = sr;
1256
- }
1257
- else {
1258
- synchronousMachine.ratedS = Math.sqrt(Math.pow(maxP, 2) + Math.pow(maxQvonPmax, 2));
1259
- }
1260
- if (!(0, utils_2.isNumericI7)(synchronousMachine.ratedS)) {
1261
- console.log();
1262
- }
1263
- const ur = (0, utils_2.isNumericI7)(i7Data.ur) ? (0, utils_2.convertToNumberI7)(i7Data.ur) : undefined;
1264
- const usoll = (0, utils_2.isNumericI7)(i7Data.usoll) ? (0, utils_2.convertToNumberI7)(i7Data.usoll) : undefined;
1265
- synchronousMachine.ratedU = usoll ? usoll : ur;
1266
- synchronousMachine.aggregate = true;
1267
- synchronousMachine.ratedPowerFactor = (0, utils_2.isNumericI7)(i7Data.cosphir) ? (0, utils_2.convertToNumberI7)(i7Data.cosphir) : undefined;
1268
- synchronousMachine.r = (0, utils_2.isNumericI7)(i7Data.rg) ? (0, utils_2.convertToNumberI7)(i7Data.rg) : undefined;
1269
- const reactiveCapabilityCurve = new __1.ReactiveCapabilityCurve((0, __1.generateUUID)(), 'CurveData');
1270
- reactiveCapabilityCurve.curveStyle = __1.CurveStyle.straightLineYValues;
1271
- reactiveCapabilityCurve.xUnit = __1.UnitSymbol.W;
1272
- reactiveCapabilityCurve.y1Unit = __1.UnitSymbol.VAr;
1273
- reactiveCapabilityCurve.y2Unit = __1.UnitSymbol.VAr;
1274
- const curveData1 = new __1.CurveData((0, __1.generateUUID)());
1275
- curveData1.curve = reactiveCapabilityCurve;
1276
- curveData1.xvalue = i7Data.p_min;
1277
- curveData1.y1value = i7Data.qmin_von_pmin;
1278
- curveData1.y2value = i7Data.qmax_von_pmin;
1279
- this.cimModel.addCurveData(curveData1);
1280
- const curveData2 = new __1.CurveData((0, __1.generateUUID)());
1281
- curveData2.curve = reactiveCapabilityCurve;
1282
- curveData2.xvalue = i7Data.p_max;
1283
- curveData2.y1value = i7Data.qmin_von_pmax;
1284
- curveData2.y2value = i7Data.qmax_von_pmax;
1285
- this.cimModel.addCurveData(curveData2);
1286
- this.cimModel.addReactiveCapabilityCurve(reactiveCapabilityCurve);
1287
- synchronousMachine.initialReactiveCapabilityCurveUUID = reactiveCapabilityCurve.mrid;
1288
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1289
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, synchronousMachine);
1290
- const regulatingControl = new __1.RegulatingControl((0, __1.generateUUID)(), `RC_Gen_${i7Data.id}`);
1291
- regulatingControl.targetValue = usoll;
1292
- switch (i7Data.spannungsgeregelt) {
1293
- case 1: {
1294
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1295
- regulatingControl.discrete = false;
1296
- regulatingControl.enabled = inBetrieb;
1297
- synchronousMachine.controlEnabled = inBetrieb;
1298
- break;
1299
- }
1300
- default: {
1301
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1302
- regulatingControl.discrete = false;
1303
- regulatingControl.enabled = inBetrieb;
1304
- synchronousMachine.controlEnabled = inBetrieb;
1305
- }
1306
- }
1307
- synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
1308
- const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
1309
- let generatingUnit;
1310
- if (generatingUnitConfig) {
1311
- switch (generatingUnitConfig.class) {
1312
- case 'ThermalGeneratingUnit': {
1313
- generatingUnit = new __1.ThermalGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1314
- if (generatingUnitConfig.fuelType) {
1315
- (0, utils_2.generateFuelType)(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1316
- }
1317
- break;
1318
- }
1319
- case 'SolarGeneratingUnit': {
1320
- generatingUnit = new __1.SolarGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1321
- break;
1322
- }
1323
- case 'WindGeneratingUnit': {
1324
- generatingUnit = new __1.WindGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1325
- switch (generatingUnitConfig.fuelType) {
1326
- case 'onshore': {
1327
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.onshore;
1328
- break;
1329
- }
1330
- case 'offshore': {
1331
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.offshore;
1332
- break;
1333
- }
1334
- default: {
1335
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.onshore;
1336
- break;
1337
- }
1338
- }
1339
- break;
1340
- }
1341
- case 'NuclearGeneratingUnit': {
1342
- generatingUnit = new __1.NuclearGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1343
- break;
1344
- }
1345
- case 'HydroGeneratingUnit': {
1346
- generatingUnit = new __1.HydroGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1347
- generatingUnit.energyConversionCapability = __1.HydroEnergyConversionKind.pumpAndGenerator;
1348
- break;
1349
- }
1350
- }
1351
- }
1352
- if (!generatingUnit) {
1353
- generatingUnit = new __1.GeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1354
- }
1355
- generatingUnit.initialP = (0, utils_2.isNumericI7)(i7Data.p0) ? (0, utils_2.convertToNumberI7)(i7Data.p0) : undefined;
1356
- generatingUnit.maxOperatingP = (0, utils_2.isNumericI7)(i7Data.p_max) ? (0, utils_2.convertToNumberI7)(i7Data.p_max) : undefined;
1357
- generatingUnit.minOperatingP = (0, utils_2.isNumericI7)(i7Data.p_min) ? (0, utils_2.convertToNumberI7)(i7Data.p_min) : undefined;
1358
- generatingUnit.nominalP = generatingUnit.maxOperatingP;
1359
- const kr = (0, utils_2.isNumericI7)(i7Data.kr) ? (0, utils_2.convertToNumberI7)(i7Data.kr) : undefined;
1360
- const fn = 50;
1361
- const pn = generatingUnit.maxOperatingP;
1362
- generatingUnit.governorSCD = ((0, utils_2.isNumericI7)(kr) && (0, utils_2.isNumericI7)(generatingUnit.nominalP)) ? (0, utils_2.calculateSigma)(fn, pn, kr) : undefined;
1363
- generatingUnit.addRotatingMachine(synchronousMachine);
1364
- synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1365
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1366
- if (connectivityNode) {
1367
- const terminal = (0, __1.createConnection)(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1368
- regulatingControl.terminalUUID = terminal.mrid;
1369
- const equipmentContainerEquip = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1370
- if (equipmentContainerEquip) {
1371
- synchronousMachine.equipmentContainerUUID = equipmentContainerEquip.mrid;
1372
- const i7Schluesel = integral_prefix_1.GENERATOR_PRAEFIX + i7Data.bezeichner;
1373
- synchronousMachine.description = i7Schluesel;
1374
- const vlEqipContainer = equipmentContainerEquip;
1375
- const equipmentContainergenUnitUUID = vlEqipContainer === null || vlEqipContainer === void 0 ? void 0 : vlEqipContainer.getSubstationUUID();
1376
- if (equipmentContainergenUnitUUID) {
1377
- generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1378
- }
1379
- else {
1380
- this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1381
- }
1382
- }
1383
- else {
1384
- this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1385
- }
1386
- }
1387
- else {
1388
- this.logger.debug(`Generator ${i7Data.id} besitzt keinen ConnectivityNode/Terminal Instanz.`);
1389
- }
1390
- const smtcr = new SynchronousMachineTimeConstantReactance_1.SynchronousMachineTimeConstantReactance((0, __1.generateUUID)(), `smtcr_${synchronousMachine.name}`);
1391
- smtcr.enabled = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1392
- smtcr.tpdo = (0, utils_2.isNumericI7)(i7Data.td1s) ? (0, utils_2.convertToNumberI7)(i7Data.td1s) : undefined;
1393
- smtcr.tppdo = (0, utils_2.isNumericI7)(i7Data.td2s) ? (0, utils_2.convertToNumberI7)(i7Data.td2s) : undefined;
1394
- smtcr.tpqo = (0, utils_2.isNumericI7)(i7Data.tq1s) ? (0, utils_2.convertToNumberI7)(i7Data.tq1s) : undefined;
1395
- smtcr.tppqo = (0, utils_2.isNumericI7)(i7Data.tq2s) ? (0, utils_2.convertToNumberI7)(i7Data.tq2s) : undefined;
1396
- smtcr.xDirectSync = (0, utils_2.isNumericI7)(i7Data.xdu) ? (0, utils_2.convertToNumberI7)(i7Data.xdu) : undefined;
1397
- smtcr.xDirectTrans = (0, utils_2.isNumericI7)(i7Data.xdu1s) ? (0, utils_2.convertToNumberI7)(i7Data.xdu1s) : undefined;
1398
- smtcr.xDirectSubtrans = (0, utils_2.isNumericI7)(i7Data.xdu2s) ? (0, utils_2.convertToNumberI7)(i7Data.xdu2s) : undefined;
1399
- smtcr.xQuadSync = (0, utils_2.isNumericI7)(i7Data.xqu) ? (0, utils_2.convertToNumberI7)(i7Data.xqu) : undefined;
1400
- smtcr.xQuadTrans = (0, utils_2.isNumericI7)(i7Data.xqu1s) ? (0, utils_2.convertToNumberI7)(i7Data.xqu1s) : undefined;
1401
- smtcr.xQuadSubtrans = (0, utils_2.isNumericI7)(i7Data.xqu2s) ? (0, utils_2.convertToNumberI7)(i7Data.xqu2s) : undefined;
1402
- smtcr.synchronousMachine = synchronousMachine;
1403
- synchronousMachine.synchronousMachineDynamics = smtcr;
1404
- this.cimModel.addRegulatingControl(regulatingControl);
1405
- this.cimModel.addGeneratingUnit(generatingUnit);
1406
- this.cimModel.addSynchronousMachine(synchronousMachine);
1407
- this.cimModel.addSynchronousMachineTimeConstantReactance(smtcr);
1408
- this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.GENERATOR);
1409
- }
1410
- }
1411
- });
1412
- }
1413
- convertKraftwerksbloecke(knotenSfIDs, energyTypesConfig) {
1414
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1415
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KWBLOCK)) {
1416
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KWBLOCK, 0, 0, knotenSfIDs));
1417
- for (const i7Data of result) {
1418
- const synchronousMachine = new __1.SynchronousMachine((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1419
- synchronousMachine.type = __1.SynchronousMachineKind.generator;
1420
- synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1421
- synchronousMachine.referencePriority = (0, utils_2.isNumericI7)(i7Data.einspprio) ? (0, utils_2.convertToNumberI7)(i7Data.einspprio) : undefined;
1422
- const maxP = (0, utils_2.isNumericI7)(i7Data.p_max) ? (0, utils_2.convertToNumberI7)(i7Data.p_max) : 0;
1423
- const maxQ = (0, utils_2.isNumericI7)(i7Data.q_max) ? (0, utils_2.convertToNumberI7)(i7Data.q_max) : undefined;
1424
- const minQ = (0, utils_2.isNumericI7)(i7Data.q_min) ? (0, utils_2.convertToNumberI7)(i7Data.q_min) : undefined;
1425
- synchronousMachine.maxQ = maxQ;
1426
- synchronousMachine.minQ = minQ;
1427
- const sr = (0, utils_2.isNumericI7)(i7Data.srg) ? (0, utils_2.convertToNumberI7)(i7Data.srg) : undefined;
1428
- synchronousMachine.ratedS = sr;
1429
- const ur = (0, utils_2.isNumericI7)(i7Data.urg) ? (0, utils_2.convertToNumberI7)(i7Data.urg) : undefined;
1430
- synchronousMachine.ratedU = ur;
1431
- synchronousMachine.aggregate = true;
1432
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1433
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, synchronousMachine);
1434
- const regulatingControl = new __1.RegulatingControl((0, __1.generateUUID)(), `RG_KWBlock ${i7Data.id}`);
1435
- switch (i7Data.spannungsgeregelt) {
1436
- case 1: {
1437
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1438
- break;
1439
- }
1440
- default: {
1441
- regulatingControl.mode = __1.RegulatingControlModeKind.timeScheduled;
1442
- }
1443
- }
1444
- synchronousMachine.regulatingControlUUID = regulatingControl.mrid;
1445
- const generatingUnitConfig = energyTypesConfig[i7Data.nameprimaertyp];
1446
- let generatingUnit;
1447
- if (generatingUnitConfig) {
1448
- switch (generatingUnitConfig.class) {
1449
- case 'ThermalGeneratingUnit': {
1450
- generatingUnit = new __1.ThermalGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1451
- if (generatingUnitConfig.fuelType) {
1452
- (0, utils_2.generateFuelType)(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1453
- }
1454
- break;
1455
- }
1456
- case 'SolarGeneratingUnit': {
1457
- generatingUnit = new __1.SolarGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1458
- break;
1459
- }
1460
- case 'WindGeneratingUnit': {
1461
- generatingUnit = new __1.WindGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1462
- switch (generatingUnitConfig.fuelType) {
1463
- case 'onshore': {
1464
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.onshore;
1465
- break;
1466
- }
1467
- case 'offshore': {
1468
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.offshore;
1469
- break;
1470
- }
1471
- default: {
1472
- generatingUnit.windGenUnitType = __1.WindGenUnitKind.onshore;
1473
- break;
1474
- }
1475
- }
1476
- break;
1477
- }
1478
- case 'NuclearGeneratingUnit': {
1479
- generatingUnit = new __1.NuclearGeneratingUnit((0, __1.getUUID)(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1480
- break;
1481
- }
1482
- }
1483
- }
1484
- if (!generatingUnit) {
1485
- generatingUnit = new __1.GeneratingUnit((0, __1.getUUID)(''), 'KWBlock' + i7Data.bezeichner, i7Data.kurzname);
1486
- }
1487
- generatingUnit.genControlSource = __1.GeneratorControlSource.unavailable;
1488
- generatingUnit.initialP = (0, utils_2.isNumericI7)(i7Data.p0) ? (0, utils_2.convertToNumberI7)(i7Data.p0) : undefined;
1489
- generatingUnit.maxOperatingP = (0, utils_2.isNumericI7)(i7Data.p_max) ? (0, utils_2.convertToNumberI7)(i7Data.p_max) : undefined;
1490
- generatingUnit.minOperatingP = (0, utils_2.isNumericI7)(i7Data.p_min) ? (0, utils_2.convertToNumberI7)(i7Data.p_min) : undefined;
1491
- generatingUnit.nominalP = generatingUnit.maxOperatingP;
1492
- const kr = (0, utils_2.isNumericI7)(i7Data.kr) ? (0, utils_2.convertToNumberI7)(i7Data.kr) : undefined;
1493
- const fn = 50;
1494
- const pn = generatingUnit.maxOperatingP;
1495
- generatingUnit.governorSCD = ((0, utils_2.isNumericI7)(kr) && (0, utils_2.isNumericI7)(generatingUnit.nominalP)) ? (0, utils_2.calculateSigma)(fn, pn, kr) : undefined;
1496
- generatingUnit.addRotatingMachine(synchronousMachine);
1497
- synchronousMachine.generatingUnitUUID = generatingUnit.mrid;
1498
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1499
- if (connectivityNode) {
1500
- const terminal = (0, __1.createConnection)(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1501
- regulatingControl.terminalUUID = terminal.mrid;
1502
- const equipmentContainerEquip = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1503
- if (equipmentContainerEquip) {
1504
- synchronousMachine.equipmentContainerUUID = equipmentContainerEquip.mrid;
1505
- const i7Schluesel = integral_prefix_1.GENERATOR_PRAEFIX + i7Data.bezeichner;
1506
- synchronousMachine.description = i7Schluesel;
1507
- const vlEqipContainer = equipmentContainerEquip;
1508
- const equipmentContainergenUnitUUID = vlEqipContainer === null || vlEqipContainer === void 0 ? void 0 : vlEqipContainer.getSubstationUUID();
1509
- if (equipmentContainergenUnitUUID) {
1510
- generatingUnit.equipmentContainerUUID = equipmentContainergenUnitUUID;
1511
- }
1512
- else {
1513
- this.logger.debug(`GeneratingUnit ${i7Data.id} besitzt keinen EquipmentContainer/Substation.`);
1514
- }
1515
- }
1516
- else {
1517
- this.logger.debug(`SynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
1518
- }
1519
- }
1520
- else {
1521
- this.logger.debug(`Kraftwerksblock/SynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode/Terminal`);
1522
- }
1523
- this.cimModel.addRegulatingControl(regulatingControl);
1524
- this.cimModel.addGeneratingUnit(generatingUnit);
1525
- this.cimModel.addSynchronousMachine(synchronousMachine);
1526
- this.addIdMapping(i7Data.id, synchronousMachine.mrid, integral_sql_1.Integral7TableNames.KWBLOCK);
1527
- }
1528
- }
1529
- });
1530
- }
1531
- convertErsatzQuerzweige(anschlussIDs) {
1532
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1533
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG)) {
1534
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.ERSATZQUERZWEIG, 0, 0, anschlussIDs));
1535
- for (const i7Data of result) {
1536
- const externalNetworkInjection = new __1.ExternalNetworkInjection((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1537
- const usoll = (0, utils_2.isNumericI7)(i7Data.usoll) ? (0, utils_2.convertToNumberI7)(i7Data.usoll) : undefined;
1538
- const kr = 0;
1539
- externalNetworkInjection.governorSCD = kr;
1540
- const prio = (0, utils_2.isNumericI7)(i7Data.einspprio) ? (0, utils_2.convertToNumberI7)(i7Data.einspprio) : undefined;
1541
- externalNetworkInjection.referencePriority = prio;
1542
- externalNetworkInjection.aggregate = true;
1543
- externalNetworkInjection.ikSecond = true;
1544
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1545
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, externalNetworkInjection);
1546
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1547
- if (connectivityNode) {
1548
- (0, __1.createConnection)(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1549
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1550
- if (equipmentContainer) {
1551
- externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
1552
- const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
1553
- externalNetworkInjection.description = i7Schluesel;
1554
- }
1555
- else {
1556
- this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1557
- }
1558
- }
1559
- else {
1560
- this.logger.debug(`ExternalNetworkInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1561
- }
1562
- this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1563
- this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG);
1564
- }
1565
- }
1566
- else {
1567
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZQUERZWEIG} ist nicht vorhanden.`);
1568
- }
1569
- });
1570
- }
1571
- convertBoundaryInjections(knotenIDs) {
1572
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1573
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.BOUNDARYINJECTION)) {
1574
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.BOUNDARYINJECTION, 0, 0, knotenIDs));
1575
- for (const i7Data of result) {
1576
- const externalNetworkInjection = new __1.ExternalNetworkInjection((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1577
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1578
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, externalNetworkInjection);
1579
- const einspeisePrio = (0, utils_2.convertToNumberI7)(i7Data.einspprio);
1580
- externalNetworkInjection.p = (0, utils_2.convertToNumberI7)(i7Data.p_ersatznetz) + (0, utils_2.convertToNumberI7)(i7Data.p_restnetz);
1581
- externalNetworkInjection.q = (0, utils_2.convertToNumberI7)(i7Data.q_ersatznetz) + (0, utils_2.convertToNumberI7)(i7Data.q_restnetz);
1582
- const kr = 0;
1583
- externalNetworkInjection.governorSCD = kr;
1584
- externalNetworkInjection.referencePriority = einspeisePrio;
1585
- externalNetworkInjection.maxZ0ToZ1Ratio = (0, utils_2.convertToNumberI7)(i7Data.z0_z1);
1586
- const regulatingControl = new __1.RegulatingControl((0, __1.generateUUID)(), `RG_BI_${i7Data.id}`);
1587
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1588
- regulatingControl.discrete = true;
1589
- regulatingControl.enabled = inBetrieb;
1590
- regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
1591
- externalNetworkInjection.regulatingControl = regulatingControl;
1592
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1593
- if (connectivityNode) {
1594
- const terminal = (0, __1.createConnection)(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1595
- regulatingControl.terminal = terminal;
1596
- terminal.addRegulatingControl(regulatingControl);
1597
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1598
- if (equipmentContainer) {
1599
- externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
1600
- const sollSpanungen = this.eqSpannungsBander.get(equipmentContainer.mrid);
1601
- if (sollSpanungen === null || sollSpanungen === void 0 ? void 0 : sollSpanungen.length) {
1602
- for (const spannung of sollSpanungen) {
1603
- if ((0, utils_2.isNumericI7)(spannung.usoll)) {
1604
- regulatingControl.targetValue = spannung.usoll;
1605
- if ((0, utils_2.isNumericI7)(spannung.umin) && (0, utils_2.isNumericI7)(spannung.umax)) {
1606
- const targetDealBand = (0, utils_2.convertToNumberI7)(spannung.umax) - (0, utils_2.convertToNumberI7)(spannung.usoll);
1607
- regulatingControl.targetDeadband = targetDealBand;
1608
- }
1609
- break;
1610
- }
1611
- }
1612
- }
1613
- }
1614
- else {
1615
- this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
1616
- }
1617
- }
1618
- else {
1619
- this.logger.debug(`BoundaryInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
1620
- }
1621
- this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
1622
- this.cimModel.addRegulatingControl(regulatingControl);
1623
- this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.Integral7TableNames.BOUNDARYINJECTION);
1624
- }
1625
- }
1626
- else {
1627
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.BOUNDARYINJECTION} ist nicht vorhanden.`);
1628
- }
1629
- });
1630
- }
1631
- convertKompensationsdrossel(knotenIDs) {
1632
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1633
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL)) {
1634
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KOMPENSATIONSDROSSEL, 0, 0, knotenIDs));
1635
- for (const i7Data of result) {
1636
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname, i7Data.kommentar);
1637
- if (shunt.mrid === '2e35adfe3cd04707b24e4c1df705c086') {
1638
- console.log();
1639
- }
1640
- shunt.normalSections = i7Data.aktstufe;
1641
- shunt.maximumSections = i7Data.maxstufe;
1642
- shunt.nomU = i7Data.ur;
1643
- shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
1644
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1645
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, shunt);
1646
- const spannungsregelungLokal = (0, utils_2.isBooleanI7)(i7Data.flag_lf) ? (0, utils_2.convertToBooleanI7)(i7Data.flag_lf) : false;
1647
- const spannungsregelungRemote = (0, utils_2.isBooleanI7)(i7Data.rpv_geregelt) ? (0, utils_2.convertToBooleanI7)(i7Data.rpv_geregelt) : false;
1648
- if (spannungsregelungLokal || spannungsregelungRemote) {
1649
- const regulatingControl = new __1.RegulatingControl((0, __1.generateUUID)(), `RG_Kompdrossel ${i7Data.id}`);
1650
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1651
- regulatingControl.discrete = true;
1652
- regulatingControl.targetDeadband = i7Data.uband;
1653
- regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
1654
- regulatingControl.enabled = inBetrieb;
1655
- shunt.regulatingControl = regulatingControl;
1656
- }
1657
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1658
- if (connectivityNode) {
1659
- const terminal = (0, __1.createConnection)(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
1660
- if (shunt.regulatingControl && (spannungsregelungLokal || spannungsregelungRemote)) {
1661
- shunt.regulatingControl.terminalUUID = terminal.mrid;
1662
- this.cimModel.addRegulatingControl(shunt.regulatingControl);
1663
- }
1664
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1665
- if (equipmentContainer) {
1666
- shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
1667
- this.cimModel.addLinearShuntCompensator(shunt);
1668
- this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
1669
- }
1670
- else {
1671
- this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
1672
- }
1673
- }
1674
- else {
1675
- this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
1676
- }
1677
- }
1678
- }
1679
- else {
1680
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
1681
- }
1682
- });
1683
- }
1684
- convertKompensationskondensatoren(knotenIDs) {
1685
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1686
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KOMPENSATIONSKONDENSATOR)) {
1687
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KOMPENSATIONSKONDENSATOR, 0, 0, knotenIDs));
1688
- for (const i7Data of result) {
1689
- const shunt = new LinearShuntCompensator_1.LinearShuntCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname, i7Data.kommentar);
1690
- shunt.normalSections = i7Data.aktstufe;
1691
- shunt.maximumSections = i7Data.maxstufe;
1692
- shunt.nomU = i7Data.ur;
1693
- shunt.gPerSection = i7Data.pr / Math.pow(i7Data.ur, 2);
1694
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1695
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, shunt);
1696
- const spannungsregelungLokal = (0, utils_2.isBooleanI7)(i7Data.flag_lf) ? (0, utils_2.convertToBooleanI7)(i7Data.flag_lf) : false;
1697
- const spannungsregelungRemote = (0, utils_2.isBooleanI7)(i7Data.rpv_geregelt) ? (0, utils_2.convertToBooleanI7)(i7Data.rpv_geregelt) : false;
1698
- if (spannungsregelungLokal || spannungsregelungRemote) {
1699
- const regulatingControl = new __1.RegulatingControl((0, __1.generateUUID)(), `RG_Kompkond ${i7Data.id}`);
1700
- regulatingControl.mode = __1.RegulatingControlModeKind.voltage;
1701
- regulatingControl.discrete = true;
1702
- regulatingControl.enabled = inBetrieb;
1703
- regulatingControl.targetDeadband = i7Data.uband;
1704
- regulatingControl.targetValueUnitMultiplier = __1.UnitMultiplier.k;
1705
- shunt.regulatingControl = regulatingControl;
1706
- this.cimModel.addRegulatingControl(shunt.regulatingControl);
1707
- }
1708
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1709
- if (connectivityNode) {
1710
- const terminal = (0, __1.createConnection)(this.cimModel, shunt, connectivityNode, __1.PhaseCode.ABC);
1711
- if (shunt.regulatingControl && (spannungsregelungLokal || spannungsregelungRemote)) {
1712
- shunt.regulatingControl.terminalUUID = terminal.mrid;
1713
- }
1714
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1715
- if (equipmentContainer) {
1716
- shunt.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
1717
- this.cimModel.addLinearShuntCompensator(shunt);
1718
- this.addIdMapping(i7Data.id, shunt.mrid, integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL);
1719
- }
1720
- else {
1721
- this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen EquipmentContainer.`);
1722
- }
1723
- }
1724
- else {
1725
- this.logger.debug(`LinearShuntCompensator ${i7Data.id} besitzt keinen ConnectivityNode.`);
1726
- }
1727
- }
1728
- }
1729
- else {
1730
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KOMPENSATIONSDROSSEL} ist nicht vorhanden.`);
1731
- }
1732
- });
1733
- }
1734
- convertStatcom(knotenSfIDs) {
1735
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1736
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STATCOM)) {
1737
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STATCOM, 0, 0, knotenSfIDs));
1738
- for (const i7Data of result) {
1739
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1740
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1741
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, statVarCom);
1742
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1743
- let terminal;
1744
- if (connectivityNode) {
1745
- terminal = (0, __1.createConnection)(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1746
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1747
- if (equipmentContainer) {
1748
- statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1749
- }
1750
- else {
1751
- this.logger.debug(`Statcom ${i7Data.id} besitzt keinen EquipmentContainer.`);
1752
- }
1753
- }
1754
- else {
1755
- this.logger.debug(`Statcom ${i7Data.id} besitzt keinen ConnectivityNode.`);
1756
- }
1757
- const regulatingControl = (0, utils_2.createRegulatingControl)(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1758
- const uref = (0, utils_2.isNumericI7)(i7Data.uref) ? (0, utils_2.convertToNumberI7)(i7Data.uref) : undefined;
1759
- regulatingControl.targetValue = uref;
1760
- statVarCom.voltageSetPoint = uref;
1761
- const flagOS = (0, utils_2.convertToBooleanI7)(i7Data.flag_os);
1762
- if (flagOS && i7Data.trafo) {
1763
- this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1764
- this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1765
- }
1766
- else if (terminal) {
1767
- regulatingControl.terminalUUID = terminal.mrid;
1768
- }
1769
- else {
1770
- this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1771
- this.logger.debug(`Statcom RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1772
- }
1773
- this.cimModel.addStaticVarCompensator(statVarCom);
1774
- this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.STATCOM);
1775
- }
1776
- }
1777
- else {
1778
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1779
- }
1780
- });
1781
- }
1782
- convertSVC(knotenSfIDs) {
1783
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1784
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.SVC)) {
1785
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.SVC, 0, 0, knotenSfIDs));
1786
- for (const i7Data of result) {
1787
- const statVarCom = new StaticVarCompensator_1.StaticVarCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1788
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
1789
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, statVarCom);
1790
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1791
- let terminal;
1792
- if (connectivityNode) {
1793
- terminal = (0, __1.createConnection)(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1794
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1795
- if (equipmentContainer) {
1796
- statVarCom.equipmentContainerUUID = equipmentContainer.mrid;
1797
- }
1798
- else {
1799
- this.logger.debug(`SVC ${i7Data.id} besitzt keinen EquipmentContainer.`);
1800
- }
1801
- }
1802
- else {
1803
- this.logger.debug(`SVC ${i7Data.id} besitzt keinen ConnectivityNode.`);
1804
- }
1805
- const regulatingControl = (0, utils_2.createRegulatingControl)(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1806
- const uref = (0, utils_2.isNumericI7)(i7Data.uref) ? (0, utils_2.convertToNumberI7)(i7Data.uref) : undefined;
1807
- regulatingControl.targetValue = uref;
1808
- statVarCom.voltageSetPoint = uref;
1809
- const flagOS = (0, utils_2.convertToBooleanI7)(i7Data.flag_os);
1810
- if (flagOS && i7Data.trafo) {
1811
- this.statcomRegulatingControls.set(i7Data.trafo, regulatingControl);
1812
- this.cimModel.regulatingControl.delete(regulatingControl.mrid);
1813
- }
1814
- else if (terminal) {
1815
- regulatingControl.terminalUUID = terminal.mrid;
1816
- }
1817
- else {
1818
- this.logger.debug(`SVC RegulatingControl ${i7Data.id} besitzt keinen Anschluss.`);
1819
- }
1820
- this.cimModel.addStaticVarCompensator(statVarCom);
1821
- this.addIdMapping(i7Data.id, statVarCom.mrid, integral_sql_1.Integral7TableNames.SVC);
1822
- }
1823
- }
1824
- else {
1825
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STATCOM} ist nicht vorhanden.`);
1826
- }
1827
- });
1828
- }
1829
- convertSternpunktSchienen(standortIDs) {
1830
- return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
1831
- const stpSchieneIDs = [];
1832
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE)) {
1833
- const stpSchiene = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STERNPUNKT_SCHIENE, 0, 0, standortIDs));
1834
- for (const i7DataSchiene of stpSchiene) {
1835
- try {
1836
- stpSchieneIDs.push(i7DataSchiene.id);
1837
- const connectivityNode = new __1.ConnectivityNode((0, __1.generateUUID)(), (0, utils_2.getName)(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
1838
- const junction = new __1.Junction((0, __1.generateUUID)(), `StpSchiene/${i7DataSchiene.id}`, `${i7DataSchiene.bezeichner}`);
1839
- const terminal = (0, __1.createConnection)(this.cimModel, junction, connectivityNode, __1.PhaseCode.N);
1840
- this.stpImpModel.connectivityNodes.set(connectivityNode.mrid, connectivityNode);
1841
- this.stpImpModel.junctions.set(junction.mrid, junction);
1842
- this.stpImpModel.stpSchieneJunctionUUIDs.set(i7DataSchiene.id, junction.mrid);
1843
- this.addIdMapping(i7DataSchiene.id, connectivityNode.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE);
1844
- this.stpImpModel.stpSchieneTerminal.set(i7DataSchiene.id, terminal);
1845
- }
1846
- catch (e) {
1847
- this.logger.debug(e);
1848
- }
1849
- }
1850
- }
1851
- else {
1852
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHIENE} ist nicht vorhanden.`);
1853
- }
1854
- resolve(stpSchieneIDs);
1855
- }));
1856
- }
1857
- convertKdrossel(stpSchienenID) {
1858
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1859
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
1860
- try {
1861
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ)) {
1862
- if (stpSchienenID.length) {
1863
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STERNPUNKT_IMPEDANZ, 0, 0, stpSchienenID));
1864
- for (const i7Data of result) {
1865
- const kdType = this.kdrosseltypen.get(i7Data.nametyp);
1866
- const imax = (0, utils_2.isNumericI7)(i7Data.imax) ? i7Data.imax : ((0, utils_2.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imax) ? kdType === null || kdType === void 0 ? void 0 : kdType.imax : undefined);
1867
- const imin = (0, utils_2.isNumericI7)(i7Data.imin) ? i7Data.imin : ((0, utils_2.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.imin) ? kdType === null || kdType === void 0 ? void 0 : kdType.imin : undefined);
1868
- const connectivityNode = this.stpImpModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1869
- const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get((i7Data.anschluss));
1870
- if (imax && imin) {
1871
- const petersenCoil = new PetersenCoil_1.PetersenCoil((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), '', 'KD-' + i7Data.bezeichner);
1872
- if (connectivityNode)
1873
- (0, __1.createConnection)(this.cimModel, petersenCoil, connectivityNode, __1.PhaseCode.N);
1874
- this.stpImpModel.petersenCoils.set(petersenCoil.mrid, petersenCoil);
1875
- this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, petersenCoil);
1876
- this.addIdMapping(i7Data.id, petersenCoil.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
1877
- }
1878
- else {
1879
- const groundingImpedance = new GroundingImpedance_1.GroundingImpedance((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.id + '');
1880
- groundingImpedance.r = (0, utils_2.isNumericI7)(i7Data.rne) ? i7Data.rne : ((0, utils_2.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.rne) ? kdType === null || kdType === void 0 ? void 0 : kdType.rne : undefined);
1881
- groundingImpedance.x = (0, utils_2.isNumericI7)(i7Data.xne) ? i7Data.xne : ((0, utils_2.isNumericI7)(kdType === null || kdType === void 0 ? void 0 : kdType.xne) ? kdType === null || kdType === void 0 ? void 0 : kdType.xne : undefined);
1882
- if (connectivityNode)
1883
- (0, __1.createConnection)(this.cimModel, groundingImpedance, connectivityNode, __1.PhaseCode.N);
1884
- this.stpImpModel.groundingImpedances.set(groundingImpedance.mrid, groundingImpedance);
1885
- this.stpImpModel.junctionUUIDstpImp.set(junctionUUID, groundingImpedance);
1886
- this.addIdMapping(i7Data.id, groundingImpedance.mrid, integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ);
1887
- }
1888
- }
1889
- }
1890
- else {
1891
- this.logger.debug(`Kdrossel Keine Sternpunktschienen vorhanden.`);
1892
- }
1893
- }
1894
- else {
1895
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_IMPEDANZ} ist nicht vorhanden.`);
1896
- }
1897
- }
1898
- catch (e) {
1899
- this.logger.debug(e);
1900
- }
1901
- finally {
1902
- resolve('');
1903
- }
1904
- }));
1905
- });
1906
- }
1907
- convertStpSchaltelemente(stpSchienenID) {
1908
- return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
1909
- try {
1910
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER)) {
1911
- if (stpSchienenID.length) {
1912
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STERNPUNKT_SCHALTER, 0, 0, stpSchienenID));
1913
- for (const i7Data of result) {
1914
- const terminal = this.stpImpModel.stpSchieneTerminal.get(i7Data.eknoten);
1915
- if (terminal) {
1916
- terminal.connected = (0, utils_2.isBooleanI7)(i7Data.schaltzustand) ? (0, utils_2.convertToBooleanI7)(i7Data.schaltzustand) : true;
1917
- }
1918
- this.stpImpModel.stpSchieneJunctionUUIDs.set(i7Data.id, this.stpImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
1919
- this.stpImpModel.stpSchieneJunctionUUIDs.set(i7Data.aknoten, this.stpImpModel.stpSchieneJunctionUUIDs.get(i7Data.eknoten));
1920
- }
1921
- }
1922
- else {
1923
- this.logger.debug(`StpSchaltelemente Keine Sternpunktschienen vorhanden.`);
1924
- }
1925
- }
1926
- else {
1927
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.STERNPUNKT_SCHALTER} ist nicht vorhanden.`);
1928
- }
1929
- }
1930
- catch (e) {
1931
- this.logger.debug(e);
1932
- }
1933
- finally {
1934
- resolve('');
1935
- }
1936
- }));
1937
- }
1938
- convertLaengskupplungen(schaltanlagenIDs) {
1939
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1940
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG)) {
1941
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.LAENGSKUPPLUNG, 0, 0, schaltanlagenIDs));
1942
- for (const i7Data of result) {
1943
- const bay = new AMPRIONBay_1.AMPRIONBay((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname, 'Laengskupplung');
1944
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.schaltanlage));
1945
- bay.number = i7Data.feldnummer + '';
1946
- bay.locationID = i7Data.ips_folder_id;
1947
- if (voltageLevel) {
1948
- bay.voltageLevel = voltageLevel;
1949
- const i7Schluessel = voltageLevel.description +
1950
- '/LK-' +
1951
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
1952
- bay.description = i7Schluessel;
1953
- }
1954
- else {
1955
- this.logger.debug(`Laengskupplung ${i7Data.id} besitzt keine Anlage.`);
1956
- }
1957
- this.laengskupplungIDs.push(i7Data.id);
1958
- this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG);
1959
- this.cimModel.addBay(bay);
1960
- }
1961
- }
1962
- else {
1963
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKUPPLUNG} ist nicht vorhanden.`);
1964
- }
1965
- });
1966
- }
1967
- convertCsConverterDC(knotenSfIDs) {
1968
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1969
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH)) {
1970
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.HGUE_KOPFSTATION_KLASSISCH, 0, 0, knotenSfIDs));
1971
- for (const i7Data of result) {
1972
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit((0, __1.generateUUID)(), 'DCConverterUnit');
1973
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1974
- if (acConnectivityNode) {
1975
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('Substation', this.cimModel.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()), this.cimModel);
1976
- if (equipmentContainer) {
1977
- dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
1978
- dcConverterUnit.setSubstation(equipmentContainer);
1979
- }
1980
- else {
1981
- this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
1982
- }
1983
- }
1984
- else {
1985
- this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
1986
- }
1987
- const csConverter = new CsConverter_1.CsConverter((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
1988
- csConverter.equipmentContainer = dcConverterUnit;
1989
- csConverter.baseS = i7Data.pr;
1990
- (0, utils_2.isNumericI7)(i7Data.udc) ? csConverter.ratedUdc = i7Data.udc : csConverter.ratedUdc = i7Data.ur;
1991
- csConverter.idleLoss = i7Data.p_leer;
1992
- csConverter.maxUdc = csConverter.ratedUdc * 1.05;
1993
- csConverter.minUdc = csConverter.ratedUdc * 0.95;
1994
- csConverter.resistiveLoss = 0;
1995
- csConverter.switchingLoss = 0;
1996
- const regelungU = (0, utils_2.convertToBooleanI7)(i7Data.u_geregelt);
1997
- const regelungP = (0, utils_2.convertToBooleanI7)(i7Data.p_geregelt);
1998
- const regelungW = (0, utils_2.convertToBooleanI7)(i7Data.grad_geregelt);
1999
- if (regelungU) {
2000
- csConverter.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.inverter;
2001
- }
2002
- else if (regelungP) {
2003
- csConverter.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.rectifier;
2004
- }
2005
- else {
2006
- csConverter.operatingMode = CsOperatingModeKind_1.CsOperatingModeKind.rectifier;
2007
- }
2008
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
2009
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, csConverter);
2010
- if (acConnectivityNode) {
2011
- (0, __1.createConnection)(this.cimModel, csConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
2012
- }
2013
- else {
2014
- this.logger.debug(`CsConverter ${i7Data.id} ${csConverter.mrid} besitzt keinen AC Anschluss.`);
2015
- }
2016
- const dcNode = new DCNode_1.DCNode((0, __1.generateUUID)(), 'DCNode');
2017
- dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
2018
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, __1.generateUUID)(), 'ACDCConvTerminal');
2019
- acDCConverterDCTerminal.sequenceNumber = 1;
2020
- acDCConverterDCTerminal.dCConductingEquipmentUUID = csConverter.mrid;
2021
- acDCConverterDCTerminal.dcNodeUUID = dcNode.mrid;
2022
- this.checkMemoryObject(i7Data.id, dcNode);
2023
- this.cimModel.addDCConverterUnit(dcConverterUnit);
2024
- this.cimModel.addCSConverter(csConverter);
2025
- this.cimModel.addDCNode(dcNode);
2026
- this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
2027
- this.addIdMapping(i7Data.id, csConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_KLASSISCH);
2028
- }
2029
- }
2030
- });
2031
- }
2032
- convertVsConverterDC(knotenSfIDs) {
2033
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2034
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC)) {
2035
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.HGUE_KOPFSTATION_VSC, 0, 0, knotenSfIDs));
2036
- for (const i7Data of result) {
2037
- const dcConverterUnit = new DCConverterUnit_1.DCConverterUnit((0, __1.generateUUID)(), 'DCConverterUnit');
2038
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
2039
- if (acConnectivityNode) {
2040
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('Substation', this.cimModel.getObject(acConnectivityNode.getConnectivityNodeContainerUUID()), this.cimModel);
2041
- if (equipmentContainer) {
2042
- dcConverterUnit.name = `DCConverterUnit ${equipmentContainer.name}`;
2043
- dcConverterUnit.setSubstation(equipmentContainer);
2044
- }
2045
- else {
2046
- this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen EquipmentContainer.`);
2047
- }
2048
- }
2049
- else {
2050
- this.logger.debug(`DCConverterUnit ${i7Data.id} besitzt keinen ConnectivityNode.`);
2051
- }
2052
- const vsConverter = new VsConverter_1.VsConverter((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
2053
- vsConverter.equipmentContainer = dcConverterUnit;
2054
- vsConverter.baseS = i7Data.pr;
2055
- (0, utils_2.isNumericI7)(i7Data.udc) ? vsConverter.ratedUdc = i7Data.udc : vsConverter.ratedUdc = i7Data.ur;
2056
- vsConverter.idleLoss = i7Data.p_leer;
2057
- vsConverter.maxUdc = vsConverter.ratedUdc * 1.05;
2058
- vsConverter.minUdc = vsConverter.ratedUdc * 0.95;
2059
- vsConverter.resistiveLoss = 0;
2060
- vsConverter.switchingLoss = 0;
2061
- const regelungU = (0, utils_2.convertToBooleanI7)(i7Data.u_geregelt);
2062
- const regelungP = (0, utils_2.convertToBooleanI7)(i7Data.p_geregelt);
2063
- const regelungW = (0, utils_2.convertToBooleanI7)(i7Data.grad_geregelt);
2064
- if (regelungU) {
2065
- vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
2066
- vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
2067
- }
2068
- else if (regelungP) {
2069
- vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
2070
- vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
2071
- }
2072
- else if (regelungW) {
2073
- vsConverter.pPccControl = VsPpccControlKind_1.VsPpccControlKind.pPcc;
2074
- vsConverter.qPccControl = VsQpccControlKind_1.VsQpccControlKind.powerFactorPcc;
2075
- }
2076
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
2077
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, vsConverter);
2078
- if (acConnectivityNode) {
2079
- (0, __1.createConnection)(this.cimModel, vsConverter, acConnectivityNode, __1.PhaseCode.ABC, 1);
2080
- }
2081
- else {
2082
- this.logger.debug(`VsConverter ${i7Data.id} ${vsConverter.mrid} besitzt keinen AC Anschluss.`);
2083
- }
2084
- const dcNode = new DCNode_1.DCNode((0, __1.generateUUID)(), 'DCNode');
2085
- dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
2086
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal((0, __1.generateUUID)(), 'ACDCConvTerminal');
2087
- acDCConverterDCTerminal.sequenceNumber = 1;
2088
- acDCConverterDCTerminal.dCConductingEquipmentUUID = vsConverter.mrid;
2089
- acDCConverterDCTerminal.dcNodeUUID = dcNode.mrid;
2090
- this.checkMemoryObject(i7Data.id, dcNode);
2091
- this.cimModel.addDCConverterUnit(dcConverterUnit);
2092
- this.cimModel.addVSConverter(vsConverter);
2093
- this.cimModel.addDCNode(dcNode);
2094
- this.cimModel.addACDCConverterDCTerminal(acDCConverterDCTerminal);
2095
- this.addIdMapping(i7Data.id, vsConverter.mrid, integral_sql_1.Integral7TableNames.HGUE_KOPFSTATION_VSC);
2096
- }
2097
- }
2098
- });
2099
- }
2100
- convertEinspeisungen2EnergySource(result) {
2101
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2102
- return new Promise((resolve) => {
2103
- var _a, _b;
2104
- for (const i7Data of result) {
2105
- try {
2106
- const energySource = new __1.EnergySource((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
2107
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
2108
- const prio = i7Data.einspprio;
2109
- const usoll = i7Data.usoll;
2110
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, energySource);
2111
- const spannungsgeregelt = (0, utils_2.convertToBooleanI7)(i7Data.spannungsgeregelt);
2112
- const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
2113
- energySource.activePower = powerData[0];
2114
- energySource.reactivePower = powerData[1];
2115
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2116
- if (connectivityNode) {
2117
- (0, __1.createConnection)(this.cimModel, energySource, connectivityNode, __1.PhaseCode.ABC);
2118
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2119
- if (equipmentContainer) {
2120
- energySource.nominalVoltage = (_b = (_a = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.baseVoltage) === null || _a === void 0 ? void 0 : _a.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
2121
- energySource.equipmentContainerUUID = equipmentContainer.mrid;
2122
- const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
2123
- energySource.description = i7Schluesel;
2124
- }
2125
- else {
2126
- this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen EquipmentContainer.`);
2127
- }
2128
- }
2129
- else {
2130
- this.logger.debug(`EnergySource ${i7Data.id} besitzt keinen ConnectivityNode.`);
2131
- }
2132
- this.cimModel.addEnergySource(energySource);
2133
- this.addIdMapping(i7Data.id, energySource.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
2134
- }
2135
- catch (err) {
2136
- this.logger.error(`Err convertEinspeisungen2EnergySource ${i7Data.id} ${err}`);
2137
- }
2138
- }
2139
- resolve();
2140
- });
2141
- });
2142
- }
2143
- convertEinspeisungen2EquivalentInjection(result) {
2144
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2145
- return new Promise((resolve) => {
2146
- for (const i7Data of result) {
2147
- try {
2148
- const equivalentInjection = new EquivalentInjection_1.EquivalentInjection((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
2149
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
2150
- const prio = i7Data.einspprio;
2151
- const usoll = i7Data.usoll;
2152
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, equivalentInjection);
2153
- const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
2154
- equivalentInjection.p = powerData[0];
2155
- equivalentInjection.q = powerData[1];
2156
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2157
- if (connectivityNode) {
2158
- (0, __1.createConnection)(this.cimModel, equivalentInjection, connectivityNode, __1.PhaseCode.ABC);
2159
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2160
- if (equipmentContainer) {
2161
- equivalentInjection.equipmentContainerUUID = equipmentContainer.mrid;
2162
- const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
2163
- equivalentInjection.description = i7Schluesel;
2164
- }
2165
- else {
2166
- this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
2167
- }
2168
- }
2169
- else {
2170
- this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
2171
- }
2172
- this.cimModel.addEquivalentInjection(equivalentInjection);
2173
- this.addIdMapping(i7Data.id, equivalentInjection.mrid, integral_sql_1.Integral7TableNames.EINSPEISUNG);
2174
- }
2175
- catch (err) {
2176
- this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
2177
- }
2178
- }
2179
- resolve();
2180
- });
2181
- });
2182
- }
2183
- convertEinspeisungen2ExternalNetworkInjection(result) {
2184
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2185
- return new Promise((resolve) => {
2186
- for (const i7Data of result) {
2187
- try {
2188
- const externalNetworkInjection = new __1.ExternalNetworkInjection((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname);
2189
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
2190
- const prio = i7Data.einspprio;
2191
- externalNetworkInjection.referencePriority = prio;
2192
- const usoll = i7Data.usoll;
2193
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, externalNetworkInjection);
2194
- const powerData = (0, utils_2.getActiveReactivePower)(i7Data);
2195
- externalNetworkInjection.p = powerData[0];
2196
- externalNetworkInjection.q = powerData[1];
2197
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
2198
- if (connectivityNode) {
2199
- (0, __1.createConnection)(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
2200
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2201
- if (equipmentContainer) {
2202
- externalNetworkInjection.equipmentContainerUUID = equipmentContainer.mrid;
2203
- const i7Schluesel = integral_prefix_1.EINSPEISUNG_PRAEFIX + i7Data.bezeichner;
2204
- externalNetworkInjection.description = i7Schluesel;
2205
- }
2206
- else {
2207
- this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen EquipmentContainer.`);
2208
- }
2209
- }
2210
- else {
2211
- this.logger.debug(`EquivalentInjection ${i7Data.id} besitzt keinen ConnectivityNode.`);
2212
- }
2213
- this.cimModel.addExternalNetworkInjection(externalNetworkInjection);
2214
- this.addIdMapping(i7Data.id, externalNetworkInjection.mrid, integral_sql_1.I7Objects.EINSPEISUNG);
2215
- }
2216
- catch (err) {
2217
- this.logger.error(`Err convertEinspeisungen2EquivalentInjection ${i7Data.id} ${err}`);
2218
- }
2219
- }
2220
- resolve();
2221
- });
2222
- });
2223
- }
2224
- convertQuerkupplungen(schaltanlagenAbschnittIDs) {
2225
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2226
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.QUERKUPPLUNG)) {
2227
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.QUERKUPPLUNG, 0, 0, schaltanlagenAbschnittIDs));
2228
- for (const i7Data of result) {
2229
- const bay = new AMPRIONBay_1.AMPRIONBay((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), 'Querkupplung');
2230
- bay.number = i7Data.feldnummer + '';
2231
- bay.locationID = i7Data.ips_folder_id;
2232
- const voltageLevel = this.cimModel.getVoltageLevel(this.integralID2UUID.get(i7Data.saabschnitt));
2233
- if (voltageLevel) {
2234
- bay.voltageLevel = voltageLevel;
2235
- const i7Schluessel = voltageLevel.description +
2236
- '/QK-' +
2237
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
2238
- bay.description = i7Schluessel;
2239
- }
2240
- else {
2241
- this.logger.debug(`Querkupplung ${i7Data.id} besitzt keine Anlage.`);
2242
- }
2243
- this.querkupplungIDs.push(i7Data.id);
2244
- this.cimModel.addBay(bay);
2245
- this.addIdMapping(i7Data.id, bay.mrid, integral_sql_1.Integral7TableNames.QUERKUPPLUNG);
2246
- }
2247
- }
2248
- else {
2249
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.QUERKUPPLUNG} ist nicht vorhanden.`);
2250
- }
2251
- });
2252
- }
2253
- convertStarreVerbindungen(containerIDs) {
2254
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2255
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.KNOTEN_STARR)) {
2256
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KNOTEN_STARR, 0, 0, containerIDs));
2257
- for (const i7Data of result) {
2258
- const junction = new __1.Junction((0, __1.getUUID)(i7Data.guid), `${i7Data.bezeichner}/${i7Data.id}`, 'JNCT', 'starre Verbindung');
2259
- const schaltzustand = (0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2260
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(this.integralID2UUID.get(i7Data.seliste)));
2261
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2262
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2263
- if (equipmentContainer) {
2264
- junction.equipmentContainerUUID = equipmentContainer.mrid;
2265
- }
2266
- else {
2267
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen EquipmentContainer.`);
2268
- }
2269
- if (cnStart) {
2270
- const terminal = (0, __1.createConnection)(this.cimModel, junction, cnStart, __1.PhaseCode.ABC, 1);
2271
- if (schaltzustand === false) {
2272
- terminal.connected = schaltzustand;
2273
- }
2274
- }
2275
- else {
2276
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Anfangsknoten.`);
2277
- }
2278
- if (cnZiel) {
2279
- const terminal = (0, __1.createConnection)(this.cimModel, junction, cnZiel, __1.PhaseCode.ABC, 2);
2280
- if (schaltzustand === false) {
2281
- terminal.connected = schaltzustand;
2282
- }
2283
- }
2284
- else {
2285
- this.logger.debug(`Starre verbindung ${i7Data.id} besitzt keinen Zielknoten.`);
2286
- }
2287
- const baseVoltage = (0, utils_2.getTerminalUn)(this.cimModel, junction);
2288
- if (baseVoltage) {
2289
- junction.baseVoltageUUID = baseVoltage.mrid;
2290
- }
2291
- this.addIdMapping(i7Data.id, junction.mrid, integral_sql_1.Integral7TableNames.KNOTEN_STARR);
2292
- this.cimModel.addJunction(junction);
2293
- }
2294
- }
2295
- else {
2296
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.KNOTEN_STARR} ist nicht vorhanden.`);
2297
- }
2298
- });
2299
- }
2300
- convertTrenner3f(containerIDs) {
2301
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2302
- let result;
2303
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P) && this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
2304
- result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRENNER, 0, 0, containerIDs));
2305
- }
2306
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P) && !(this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P))) {
2307
- result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRENNERFI_3P, 0, 0, containerIDs));
2308
- }
2309
- else if (!(this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) && this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
2310
- result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRENNER_3P, 0, 0, containerIDs));
2311
- }
2312
- else {
2313
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} and Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2314
- result = undefined;
2315
- }
2316
- for (const i7Data of result) {
2317
- const disconnector = new __1.Disconnector((0, __1.getUUID)(i7Data.guid), i7Data.bezeichner);
2318
- disconnector.normalOpen = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2319
- disconnector.open = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2320
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2321
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2322
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2323
- if (equipmentContainer) {
2324
- disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2325
- }
2326
- else {
2327
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2328
- }
2329
- if (cnStart) {
2330
- (0, __1.createConnection)(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2331
- }
2332
- else {
2333
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2334
- }
2335
- if (cnZiel) {
2336
- (0, __1.createConnection)(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2337
- }
2338
- else {
2339
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2340
- }
2341
- const vl = this.cimModel.objects.get(equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getVoltageLevelUUID());
2342
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2343
- if (baseVoltage) {
2344
- disconnector.baseVoltageUUID = baseVoltage.mrid;
2345
- }
2346
- this.cimModel.addDisconnector(disconnector);
2347
- this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
2348
- }
2349
- });
2350
- }
2351
- convertTrennerFi3f(containerIDs) {
2352
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2353
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
2354
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRENNERFI_3P, 0, 0, containerIDs));
2355
- for (const i7Data of result) {
2356
- const disconnector = new __1.Disconnector((0, __1.generateUUID)(), i7Data.bezeichner);
2357
- disconnector.normalOpen = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2358
- disconnector.open = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2359
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2360
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2361
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2362
- if (equipmentContainer) {
2363
- disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2364
- }
2365
- else {
2366
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2367
- }
2368
- if (cnStart) {
2369
- (0, __1.createConnection)(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2370
- }
2371
- else {
2372
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2373
- }
2374
- if (cnZiel) {
2375
- (0, __1.createConnection)(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2376
- }
2377
- else {
2378
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2379
- }
2380
- const vl = this.cimModel.objects.get(equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getVoltageLevelUUID());
2381
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2382
- if (baseVoltage) {
2383
- disconnector.baseVoltageUUID = baseVoltage.mrid;
2384
- }
2385
- this.cimModel.addDisconnector(disconnector);
2386
- this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
2387
- }
2388
- }
2389
- else {
2390
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2391
- }
2392
- });
2393
- }
2394
- convertLeistungsschalter(containerIDs) {
2395
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2396
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
2397
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, 0, 0, containerIDs));
2398
- for (const i7Data of result) {
2399
- const breaker = new __1.Breaker((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data));
2400
- breaker.normalOpen = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2401
- breaker.open = !(0, utils_2.convertToBooleanI7)(i7Data.schaltzustand);
2402
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2403
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2404
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2405
- if (equipmentContainer) {
2406
- breaker.equipmentContainerUUID = equipmentContainer.mrid;
2407
- }
2408
- else {
2409
- this.logger.debug(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
2410
- }
2411
- if (cnStart) {
2412
- (0, __1.createConnection)(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
2413
- }
2414
- else {
2415
- this.logger.debug(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
2416
- }
2417
- if (cnZiel) {
2418
- (0, __1.createConnection)(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
2419
- }
2420
- else {
2421
- this.logger.debug(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
2422
- }
2423
- const vl = this.cimModel.objects.get(equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.getVoltageLevelUUID());
2424
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2425
- if (baseVoltage) {
2426
- breaker.baseVoltageUUID = baseVoltage.mrid;
2427
- }
2428
- this.cimModel.addBreaker(breaker);
2429
- this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
2430
- }
2431
- }
2432
- else {
2433
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
2434
- }
2435
- });
2436
- }
2437
- convertBetriebsmitteltypenKdrossel() {
2438
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2439
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
2440
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TYP_KDROSSEL, 0, 0, []));
2441
- for (const i7Data of result) {
2442
- this.kdrosseltypen.set(i7Data.name, i7Data);
2443
- }
2444
- }
2445
- else {
2446
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2447
- }
2448
- });
2449
- }
2450
- convertBetriebsmitteltypenLeitung() {
2451
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2452
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG)) {
2453
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TYP_FREILEITUNG, 0, 0, []));
2454
- for (const i7Data of result) {
2455
- const typ = new EVWireInfo_1.EVWireInfo((0, __1.generateUUID)(), i7Data.name);
2456
- this.setWireInfoProperties(typ, i7Data, 'Freileitung');
2457
- this.cimModel.addEVWireInfo(typ);
2458
- }
2459
- }
2460
- else {
2461
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2462
- }
2463
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
2464
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
2465
- for (const i7Data of result) {
2466
- const typ = new EVWireInfo_1.EVWireInfo((0, __1.generateUUID)(), i7Data.name);
2467
- this.setWireInfoProperties(typ, i7Data, 'Kabel');
2468
- this.cimModel.addEVWireInfo(typ);
2469
- }
2470
- }
2471
- else {
2472
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2473
- }
2474
- });
2475
- }
2476
- convertLeitungen(limit, offset, defaultValuesConfig) {
2477
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2478
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
2479
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.LEITUNG, limit, offset, []));
2480
- const leitungIDs = result.map(elem => elem.id);
2481
- let leitungStromkreisabschnitt;
2482
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2483
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STROMKREISABSCHNITT, limit, offset, leitungIDs));
2484
- }
2485
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2486
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.KABEL, limit, offset, leitungIDs));
2487
- }
2488
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG)) {
2489
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.FREILEITUNG, limit, offset, leitungIDs));
2490
- }
2491
- else {
2492
- leitungStromkreisabschnitt = undefined;
2493
- }
2494
- if (leitungStromkreisabschnitt) {
2495
- for (const i7Data of result) {
2496
- const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
2497
- const leitung = new Leitung_1.LeitungImpl(i7Data);
2498
- this.integralLeitungen.set(i7Data.id, leitung);
2499
- let i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
2500
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
2501
- integral_prefix_1.MITTIGER_PUNKT +
2502
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname) +
2503
- integral_prefix_1.MITTIGER_PUNKT +
2504
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner) +
2505
- integral_prefix_1.MITTIGER_PUNKT +
2506
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
2507
- let name = integral_prefix_1.LEITUNG_PRAEFIX +
2508
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
2509
- '-' +
2510
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner) +
2511
- '-' +
2512
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
2513
- const line = new AMPRIONLine_1.AMPRIONLine((0, __1.getUUID)(i7Data.guid), name, i7Data.stkabname, i7Schluessel);
2514
- line.ukz = i7Data.ukz;
2515
- const acLineSegments = [];
2516
- for (const stk of stromkreisabschnitte) {
2517
- i7Schluessel += integral_prefix_1.LEITUNGSABSCHNITT_PRAEFIX + (0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
2518
- name = (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
2519
- '-' +
2520
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner) +
2521
- '-' +
2522
- (0, utils_2.ueberpruefeZeichenkette)(stk.bezeichner);
2523
- const acLineSegment = new __1.ACLineSegment((0, __1.generateUUID)(), name, i7Data.stkabname, i7Schluessel);
2524
- acLineSegment.equipmentContainerUUID = line.mrid;
2525
- line.equipmentsUUIDS.push(acLineSegment.mrid);
2526
- acLineSegments.push(acLineSegment);
2527
- this.addIdMapping(stk.id, acLineSegment.mrid, integral_sql_1.Integral7TableNames.LEITUNG);
2528
- this.cimModel.addACLineSegment(acLineSegment);
2529
- }
2530
- let tmp_sequence_number = 1;
2531
- const start = this.inmemoryObjects.get(i7Data.aknoten);
2532
- const acLineSegmentStart = acLineSegments[0];
2533
- if (start) {
2534
- const terminal = (0, __1.createConnection)(this.cimModel, acLineSegmentStart, start, __1.PhaseCode.ABC, tmp_sequence_number);
2535
- if (terminal) {
2536
- tmp_sequence_number++;
2537
- }
2538
- if (!acLineSegmentStart.baseVoltage) {
2539
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2540
- acLineSegmentStart.baseVoltage = baseVoltage;
2541
- if (!acLineSegmentStart.baseVoltage) {
2542
- const stop = true;
2543
- }
2544
- else {
2545
- this.logger.debug(`Anschlussknoten ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)} besitzt keine Spannungsangabe in Knotenspannungen Map.`);
2546
- }
2547
- }
2548
- }
2549
- else {
2550
- this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2551
- }
2552
- const anzahl = acLineSegments.length;
2553
- let tmp_terminal = undefined;
2554
- for (let i = 0; i < anzahl - 1; i++) {
2555
- const cn = new __1.ConnectivityNode((0, __1.generateUUID)(), 'CN_Lt');
2556
- const acLineSegment1 = acLineSegments[i];
2557
- tmp_terminal = (0, __1.createConnection)(this.cimModel, acLineSegment1, cn, __1.PhaseCode.ABC, tmp_sequence_number);
2558
- if (tmp_terminal) {
2559
- tmp_sequence_number++;
2560
- tmp_terminal = undefined;
2561
- }
2562
- this.setACLineSegmentProperties(acLineSegments[i], stromkreisabschnitte[i]);
2563
- const acLineSegment2 = acLineSegments[i + 1];
2564
- tmp_terminal = (0, __1.createConnection)(this.cimModel, acLineSegment2, cn, __1.PhaseCode.ABC, tmp_sequence_number);
2565
- if (tmp_terminal) {
2566
- tmp_sequence_number++;
2567
- tmp_terminal = undefined;
2568
- }
2569
- cn.connectivityNodeContainerUUID = acLineSegment1.equipmentContainerUUID;
2570
- this.cimModel.addConnectivityNode(cn);
2571
- }
2572
- const target = this.inmemoryObjects.get(i7Data.eknoten);
2573
- const acLineSegmentZiel = acLineSegments[acLineSegments.length - 1];
2574
- if (target) {
2575
- const terminal = (0, __1.createConnection)(this.cimModel, acLineSegmentZiel, target, __1.PhaseCode.ABC, tmp_sequence_number);
2576
- this.setACLineSegmentProperties(acLineSegments[acLineSegments.length - 1], stromkreisabschnitte[stromkreisabschnitte.length - 1]);
2577
- if (!acLineSegmentZiel.baseVoltage) {
2578
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2579
- acLineSegmentZiel.baseVoltage = baseVoltage;
2580
- if (!acLineSegmentZiel.baseVoltage) {
2581
- const stop = true;
2582
- }
2583
- else {
2584
- this.logger.debug(`Anschlussknoten ${i7Data.eknoten} ${this.integralID2UUID.get(i7Data.eknoten)} besitzt keine Spannungsangabe in Knotenspannungen Map.`);
2585
- }
2586
- }
2587
- }
2588
- else {
2589
- this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
2590
- }
2591
- const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
2592
- if (!stkBaseVoltage) {
2593
- this.logger.error(`Leitung ${i7Data.id} ${line.mrid}: Spannung konnte nicht bestimmt werden.`);
2594
- }
2595
- else {
2596
- for (const acLineSegment of acLineSegments) {
2597
- acLineSegment.baseVoltage = stkBaseVoltage.baseVoltage;
2598
- }
2599
- }
2600
- this.cimModel.addLine(line);
2601
- }
2602
- }
2603
- else {
2604
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.FREILEITUNG} und Tabelle ${integral_sql_1.Integral7TableNames.KABEL} ist nicht vorhanden.`);
2605
- }
2606
- }
2607
- else {
2608
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2609
- }
2610
- });
2611
- }
2612
- convertLaengskondensatoren(limit, offset, defaultValuesConfig) {
2613
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2614
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR)) {
2615
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.LAENGSKONDENSATOR, limit, offset, []));
2616
- for (const i7Data of result) {
2617
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.id + '', 'LKD-' + i7Data.bezeichner);
2618
- const start = this.inmemoryObjects.get(i7Data.aknoten);
2619
- let startTerminal;
2620
- if (start) {
2621
- startTerminal = (0, __1.createConnection)(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2622
- }
2623
- else {
2624
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2625
- }
2626
- const target = this.inmemoryObjects.get(i7Data.eknoten);
2627
- let targetTerminal;
2628
- if (target) {
2629
- targetTerminal = (0, __1.createConnection)(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2630
- }
2631
- else {
2632
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2633
- }
2634
- const ur = (0, utils_2.getU)(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2635
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, ur);
2636
- const i = (0, utils_2.isNumericI7)(i7Data.ir) ? (0, utils_2.convertToNumberI7)(i7Data.ir) : undefined;
2637
- const ukr = (0, utils_2.isNumericI7)(i7Data.ukr) ? (0, utils_2.convertToNumberI7)(i7Data.ukr) : undefined;
2638
- if (i > 0 && ukr > 0) {
2639
- const voltage = baseVoltage.nominalVoltage.value * 1000;
2640
- const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
2641
- seriesCompensator.x = z;
2642
- }
2643
- seriesCompensator.varistorRatedCurrent = i;
2644
- const terminal = startTerminal;
2645
- if (terminal) {
2646
- this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2647
- }
2648
- else {
2649
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2650
- }
2651
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
2652
- const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2653
- const vlObject = getVoltageLevelByVoltage(subVlData, ur);
2654
- if (vlObject) {
2655
- seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
2656
- seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2657
- }
2658
- else {
2659
- this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2660
- }
2661
- const psrType = (0, utils_1.createIfNotExitsPSRType)(this.cimModel, 'Längskondensator');
2662
- seriesCompensator.psrTypeUUID = psrType.mrid;
2663
- this.cimModel.addSeriesCompensator(seriesCompensator);
2664
- this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
2665
- }
2666
- }
2667
- else {
2668
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2669
- }
2670
- });
2671
- }
2672
- convertDCLines(limit, offset) {
2673
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2674
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG)) {
2675
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.HGUE_LEITUNG, limit, offset, []));
2676
- for (const i7Data of result) {
2677
- const dcLine = new DCLine_1.DCLine((0, __1.getUUID)(i7Data['guid_dcline']), 'DCLine');
2678
- const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
2679
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
2680
- integral_prefix_1.MITTIGER_PUNKT +
2681
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname) +
2682
- integral_prefix_1.MITTIGER_PUNKT +
2683
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner);
2684
- const dcLineSegment = new DCLineSegment_1.DCLineSegment((0, __1.getUUID)(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
2685
- dcLineSegment.resistance = i7Data.rdc;
2686
- dcLineSegment.equipmentContainerUUID = dcLine.mrid;
2687
- const bipol = (0, utils_2.convertToBooleanI7)(i7Data.bipol);
2688
- const acDCConverterStart = this.cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
2689
- const acDCConverterTarget = this.cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
2690
- const converterUnitStart = acDCConverterStart === null || acDCConverterStart === void 0 ? void 0 : acDCConverterStart.equipmentContainer;
2691
- const converterUnitTarget = acDCConverterTarget === null || acDCConverterTarget === void 0 ? void 0 : acDCConverterTarget.equipmentContainer;
2692
- switch (bipol) {
2693
- case (true): {
2694
- converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
2695
- converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
2696
- }
2697
- default: {
2698
- converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
2699
- converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
2700
- }
2701
- }
2702
- const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
2703
- if (startDCNode) {
2704
- const dcTerminal = new DCTerminal_1.DCTerminal((0, __1.generateUUID)(), 'DCTerminal_HGÜ_Leitung');
2705
- dcTerminal.connected = true;
2706
- dcTerminal.sequenceNumber = 1;
2707
- dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
2708
- dcTerminal.dcNodeUUID = startDCNode.mrid;
2709
- this.cimModel.addDCTerminal(dcTerminal);
2710
- }
2711
- else {
2712
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
2713
- }
2714
- const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
2715
- if (tartgetDCNode) {
2716
- const dcTerminal = new DCTerminal_1.DCTerminal((0, __1.generateUUID)(), 'DCTerminal_HGÜ_Leitung');
2717
- dcTerminal.connected = true;
2718
- dcTerminal.sequenceNumber = 2;
2719
- dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
2720
- dcTerminal.dcNodeUUID = tartgetDCNode.mrid;
2721
- this.cimModel.addDCTerminal(dcTerminal);
2722
- }
2723
- else {
2724
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
2725
- }
2726
- this.cimModel.addDCLine(dcLine);
2727
- this.cimModel.addDCLineSegment(dcLineSegment);
2728
- this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
2729
- }
2730
- }
2731
- else {
2732
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
2733
- }
2734
- });
2735
- }
2736
- convertBetriebsmitteltypenTrafo() {
2737
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2738
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO2W)) {
2739
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TYP_TRAFO2W, 0, 0, []));
2740
- for (const i7Data of result) {
2741
- const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo((0, __1.generateUUID)(), i7Data.name);
2742
- typTrafo.ukr12 = i7Data.ukr;
2743
- typTrafo.pkr12 = i7Data.pkr;
2744
- typTrafo.pLeer = i7Data.p_leer;
2745
- typTrafo.iLeer = i7Data.i_leer;
2746
- const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo((0, __1.generateUUID)());
2747
- typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2748
- this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2749
- typWicklung1.powerTransformerInfo = typTrafo;
2750
- typTrafo.addTransformerEndInfo(typWicklung1);
2751
- const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo((0, __1.generateUUID)());
2752
- typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2753
- this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2754
- typWicklung2.powerTransformerInfo = typTrafo;
2755
- typTrafo.addTransformerEndInfo(typWicklung2);
2756
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2757
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2758
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2759
- }
2760
- }
2761
- else {
2762
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2763
- }
2764
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
2765
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
2766
- for (const i7Data of result) {
2767
- const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo((0, __1.generateUUID)(), i7Data.name);
2768
- typTrafo.pLeer = i7Data.p_leer;
2769
- typTrafo.iLeer = i7Data.i_leer;
2770
- typTrafo.ukr12 = i7Data.ukr12;
2771
- typTrafo.ukr13 = i7Data.ukr13;
2772
- typTrafo.ukr23 = i7Data.ukr23;
2773
- typTrafo.pkr12 = i7Data.pkr12;
2774
- typTrafo.pkr13 = i7Data.pkr13;
2775
- typTrafo.pkr23 = i7Data.pkr23;
2776
- const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo((0, __1.generateUUID)());
2777
- typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr1, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2778
- this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2779
- typWicklung1.powerTransformerInfo = typTrafo;
2780
- typTrafo.addTransformerEndInfo(typWicklung1);
2781
- const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo((0, __1.generateUUID)());
2782
- typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr2, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2783
- this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2784
- typWicklung2.powerTransformerInfo = typTrafo;
2785
- typTrafo.addTransformerEndInfo(typWicklung2);
2786
- const typWicklung3 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo((0, __1.generateUUID)());
2787
- typWicklung3.ratedS = new __1.ApparentPower(i7Data.sr3, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2788
- this.setTransformerEndInfoProperties(typWicklung3, i7Data, 3);
2789
- typWicklung3.powerTransformerInfo = typTrafo;
2790
- typTrafo.addTransformerEndInfo(typWicklung3);
2791
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2792
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2793
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2794
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung3);
2795
- }
2796
- }
2797
- else {
2798
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2799
- }
2800
- });
2801
- }
2802
- convertTrafo2W(limit, offset, defaultValuesConfig) {
2803
- var _a;
2804
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2805
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
2806
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRAFO2W, limit, offset, []));
2807
- const trafoIDs = result.map(obj => obj['id']);
2808
- const sternpunktKnotenMap = new Map();
2809
- for (const elem of trafoIDs) {
2810
- sternpunktKnotenMap.set(elem, new Map());
2811
- }
2812
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
2813
- const sternpunktKnotenResult = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, 0, 0, trafoIDs));
2814
- for (const spKnoten of sternpunktKnotenResult) {
2815
- (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
2816
- }
2817
- }
2818
- for (const i7Data of result) {
2819
- const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2820
- const powerTransformer = new __1.PowerTransformer((0, __1.getUUID)(i7Data.guid), substationName + "/" + (0, utils_2.getName)(i7Data), i7Data.id + '', i7Data.bezeichner);
2821
- const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2822
- if (this.blocktransformatoren.includes((0, utils_2.convertToNumberI7)(i7Data.id))) {
2823
- powerTransformer.isPartOfGeneratorUnit = true;
2824
- }
2825
- else {
2826
- powerTransformer.isPartOfGeneratorUnit = false;
2827
- }
2828
- const startTerminal = (0, util_create_1.getConnectedTerminal)(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.aknoten), __1.PhaseCode.ABC, 1);
2829
- if (!startTerminal)
2830
- this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2831
- const targetTerminal = (0, util_create_1.getConnectedTerminal)(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.eknoten), __1.PhaseCode.ABC, 2);
2832
- if (!targetTerminal)
2833
- this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2834
- const schaltgruppe = i7Data.schaltgr;
2835
- const powerTransformerEnd1 = new __1.PowerTransformerEnd((0, __1.getUUID)(i7Data.guid_w1), `W1${powerTransformer.name}`);
2836
- powerTransformerEnd1.endNumber = 1;
2837
- const pkr = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '');
2838
- const ukr = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '') / 100;
2839
- const sr = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
2840
- const ur = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
2841
- const ir1 = sr * 1000000 / (ur * 1000 * Math.sqrt(3));
2842
- const p0 = (0, utils_2.isNumericI7)(i7Data.p_leer) ? (0, utils_2.convertToNumberI7)(i7Data.p_leer) : 0;
2843
- const iLeer = (0, utils_2.isNumericI7)(i7Data.i_leer) ? (0, utils_2.convertToNumberI7)(i7Data.i_leer) : 0;
2844
- powerTransformerEnd1.r = (0, utils_2.calculateR)(ur, pkr, sr);
2845
- powerTransformerEnd1.x = (0, utils_2.calculateX)(ur, ukr, sr, powerTransformerEnd1.r);
2846
- powerTransformerEnd1.g = (0, utils_2.calculateG)(ur, p0);
2847
- powerTransformerEnd1.b = (0, utils_2.calculateB)(ur, sr, iLeer, p0);
2848
- powerTransformerEnd1.ratedU = ur;
2849
- powerTransformerEnd1.ratedS = sr;
2850
- if (powerTransformerEnd1.ratedU) {
2851
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, powerTransformerEnd1.ratedU);
2852
- powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2853
- }
2854
- else {
2855
- this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2856
- }
2857
- const terminal = startTerminal;
2858
- const w1NeutralGrounded = sternpunktKnotenMap.has(i7Data.id) ? sternpunktKnotenMap.get(i7Data.id).has(i7Data.aknknoten1p) : false;
2859
- if (startTerminal) {
2860
- powerTransformerEnd1.terminalUUID = startTerminal.mrid;
2861
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, startTerminal.mrid, ir1);
2862
- if (w1NeutralGrounded) {
2863
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, startTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort, defaultValuesConfig);
2864
- }
2865
- }
2866
- else {
2867
- this.logger.debug(`WicklungTrafo2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2868
- }
2869
- powerTransformerEnd1.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd1.endNumber, w1NeutralGrounded);
2870
- powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
2871
- powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2872
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2873
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2874
- const powerTransformerEnd2 = new __1.PowerTransformerEnd((0, __1.getUUID)(i7Data.guid_w2), `W2${powerTransformer.name}`);
2875
- powerTransformerEnd2.endNumber = 2;
2876
- const sr2 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
2877
- const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
2878
- powerTransformerEnd2.r = 0;
2879
- powerTransformerEnd2.x = 0;
2880
- powerTransformerEnd2.ratedS = sr2;
2881
- powerTransformerEnd2.ratedU = ur2;
2882
- const ir2 = sr2 * 1000000 / (ur2 * 1000 * Math.sqrt(3));
2883
- if (powerTransformerEnd2.ratedU) {
2884
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, powerTransformerEnd2.ratedU);
2885
- powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2886
- }
2887
- else {
2888
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2889
- }
2890
- const w2NeutralGrounded = sternpunktKnotenMap.has(i7Data.id) ? sternpunktKnotenMap.get(i7Data.id).has(i7Data.eknknoten1p) : false;
2891
- if (targetTerminal) {
2892
- powerTransformerEnd2.terminalUUID = targetTerminal.mrid;
2893
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, targetTerminal.mrid, ir2);
2894
- if (w2NeutralGrounded) {
2895
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, targetTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort, defaultValuesConfig);
2896
- }
2897
- }
2898
- else {
2899
- this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2900
- }
2901
- powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, w2NeutralGrounded);
2902
- powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
2903
- if (powerTransformerEnd1.connectionKind === 'A' && powerTransformerEnd2.connectionKind === 'A') {
2904
- if (w1NeutralGrounded && !w2NeutralGrounded) {
2905
- powerTransformerEnd2.grounded = powerTransformerEnd1.grounded;
2906
- powerTransformerEnd2.rground = powerTransformerEnd1.rground;
2907
- powerTransformerEnd2.xground = powerTransformerEnd1.xground;
2908
- }
2909
- else if (!w1NeutralGrounded && w2NeutralGrounded) {
2910
- powerTransformerEnd1.grounded = powerTransformerEnd2.grounded;
2911
- powerTransformerEnd1.rground = powerTransformerEnd2.rground;
2912
- powerTransformerEnd1.xground = powerTransformerEnd2.xground;
2913
- }
2914
- }
2915
- powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2916
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2917
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2918
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
2919
- const wicklungen = [1, 2];
2920
- const terminals = [startTerminal, targetTerminal];
2921
- const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2922
- for (const wicklung of wicklungen) {
2923
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2924
- const winkel = (0, utils_2.convertToNumberI7)(i7Data[`uzus_winkel_s${wicklung}`]);
2925
- switch (i7Data.trafo_spezial) {
2926
- case (1): {
2927
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2928
- break;
2929
- }
2930
- case (2): {
2931
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2932
- break;
2933
- }
2934
- default: {
2935
- if (winkel !== 0) {
2936
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2937
- }
2938
- else {
2939
- (0, utils_2.createRatioTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2940
- }
2941
- break;
2942
- }
2943
- }
2944
- }
2945
- for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2946
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[i];
2947
- powerTransformerEnd.endNumber = i + 1;
2948
- }
2949
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
2950
- if (substationUUID) {
2951
- powerTransformer.equipmentContainerUUID = substationUUID;
2952
- }
2953
- else {
2954
- this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2955
- }
2956
- this.cimModel.addPowerTransformer(powerTransformer);
2957
- this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO2W);
2958
- this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2959
- }
2960
- }
2961
- else {
2962
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2963
- }
2964
- });
2965
- }
2966
- convertTrafo3W(limit, offset, defaultValuesConfig) {
2967
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2968
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
2969
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
2970
- const trafoIDs = result.map(obj => obj['id']);
2971
- const trafoWicklungen = new Map();
2972
- const trafoWicklungIDs = [];
2973
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) && trafoIDs.length) {
2974
- const wicklungenResult = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, 0, 0, trafoIDs));
2975
- for (const wicklung of wicklungenResult) {
2976
- trafoWicklungen.set(wicklung.id, wicklung);
2977
- trafoWicklungIDs.push(wicklung.id);
2978
- }
2979
- }
2980
- else {
2981
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2982
- }
2983
- const sternpunktKnotenMap = new Map();
2984
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
2985
- const sternpunktKnotenResult = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, 0, 0, trafoWicklungIDs));
2986
- for (const spKnoten of sternpunktKnotenResult) {
2987
- sternpunktKnotenMap.set(spKnoten.netzobjekt, spKnoten);
2988
- }
2989
- }
2990
- for (const i7Data of result) {
2991
- const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2992
- const powerTransformer = new __1.PowerTransformer((0, __1.getUUID)(i7Data.guid), substationName + "/" + (0, utils_2.getName)(i7Data), i7Data.id + '', i7Data.bezeichner);
2993
- const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2994
- const schaltgruppe = i7Data.schaltgr;
2995
- if (this.blocktransformatoren.includes((0, utils_2.convertToNumberI7)(i7Data.id))) {
2996
- powerTransformer.isPartOfGeneratorUnit = true;
2997
- }
2998
- else {
2999
- powerTransformer.isPartOfGeneratorUnit = false;
3000
- }
3001
- const pkr12 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '12');
3002
- const pkr13 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '13');
3003
- const pkr23 = (0, utils_2.getPkrTrafo)(i7Data, powerTransformerInfo, '23');
3004
- const ukr12 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '12');
3005
- const ukr13 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '13');
3006
- const ukr23 = (0, utils_2.getUkrTrafo)(i7Data, powerTransformerInfo, '23');
3007
- const sr1 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 1, true);
3008
- const sr2 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 2, true);
3009
- const sr3 = (0, utils_2.getSrTrafo)(i7Data, powerTransformerInfo, 3, true);
3010
- const ur1 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 1);
3011
- const ur2 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 2);
3012
- const ur3 = (0, utils_2.getUrTrafo)(i7Data, powerTransformerInfo, 3);
3013
- const ir1 = sr1 * Math.pow(10, 6) / ((ur1 * Math.pow(10, 3)) * Math.sqrt(3));
3014
- const ir2 = sr2 * Math.pow(10, 6) / ((ur2 * Math.pow(10, 3)) * Math.sqrt(3));
3015
- const ir3 = sr3 * Math.pow(10, 6) / ((ur3 * Math.pow(10, 3)) * Math.sqrt(3));
3016
- const pLeer = (0, utils_2.getTrafoPleer)(i7Data, powerTransformerInfo);
3017
- const iLeer = (0, utils_2.getTrafoIleer)(i7Data, powerTransformerInfo);
3018
- const impedanzW1 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
3019
- const impedanzW2 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(2, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
3020
- const impedanzW3 = (0, utils_trafo3w_1.calculateImpedanzenTrafo3W)(3, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
3021
- const wicklung1 = trafoWicklungen.get(i7Data.trafowicklung3w1);
3022
- let terminal1, terminal2, terminal3;
3023
- if (wicklung1) {
3024
- const start = this.inmemoryObjects.get(wicklung1.aknoten);
3025
- if (start) {
3026
- terminal1 = (0, __1.createConnection)(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
3027
- }
3028
- else {
3029
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3030
- }
3031
- }
3032
- else {
3033
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
3034
- }
3035
- const powerTransformerEnd1 = new __1.PowerTransformerEnd((0, __1.getUUID)(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
3036
- powerTransformerEnd1.endNumber = 1;
3037
- powerTransformerEnd1.r = impedanzW1.r;
3038
- powerTransformerEnd1.x = impedanzW1.x;
3039
- powerTransformerEnd1.g = impedanzW1.g;
3040
- powerTransformerEnd1.b = impedanzW1.b;
3041
- powerTransformerEnd1.ratedU = ur1;
3042
- powerTransformerEnd1.ratedS = sr1;
3043
- if (powerTransformerEnd1.ratedU) {
3044
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd1.ratedU);
3045
- if (!baseVoltage) {
3046
- baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, powerTransformerEnd1.ratedU);
3047
- }
3048
- powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
3049
- }
3050
- else {
3051
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
3052
- }
3053
- powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
3054
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
3055
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
3056
- const w1NeutralGrounded = sternpunktKnotenMap.has(wicklung1.id);
3057
- if (terminal1) {
3058
- powerTransformerEnd1.terminalUUID = terminal1.mrid;
3059
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
3060
- if (w1NeutralGrounded) {
3061
- this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort, defaultValuesConfig);
3062
- }
3063
- }
3064
- else {
3065
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
3066
- }
3067
- powerTransformerEnd1.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd1.endNumber, w1NeutralGrounded);
3068
- powerTransformerEnd1.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd1.endNumber);
3069
- const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
3070
- if (wicklung2) {
3071
- const start = this.inmemoryObjects.get(wicklung2.aknoten);
3072
- if (start) {
3073
- terminal2 = (0, __1.createConnection)(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
3074
- }
3075
- else {
3076
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3077
- }
3078
- }
3079
- else {
3080
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
3081
- }
3082
- const powerTransformerEnd2 = new __1.PowerTransformerEnd((0, __1.getUUID)(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
3083
- powerTransformerEnd2.endNumber = 2;
3084
- powerTransformerEnd2.r = impedanzW2.r;
3085
- powerTransformerEnd2.x = impedanzW2.x;
3086
- powerTransformerEnd2.g = impedanzW2.g;
3087
- powerTransformerEnd2.b = impedanzW2.b;
3088
- powerTransformerEnd2.ratedS = sr2;
3089
- powerTransformerEnd2.ratedU = ur2;
3090
- if (powerTransformerEnd2.ratedU) {
3091
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd2.ratedU);
3092
- if (!baseVoltage) {
3093
- baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, powerTransformerEnd2.ratedU);
3094
- }
3095
- powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
3096
- }
3097
- else {
3098
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
3099
- }
3100
- powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
3101
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
3102
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
3103
- const w2NeutralGrounded = sternpunktKnotenMap.has(wicklung2.id);
3104
- if (terminal2) {
3105
- powerTransformerEnd2.terminalUUID = terminal2.mrid;
3106
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
3107
- if (w2NeutralGrounded) {
3108
- this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort, defaultValuesConfig);
3109
- }
3110
- }
3111
- else {
3112
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
3113
- }
3114
- powerTransformerEnd2.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd2.endNumber, w2NeutralGrounded);
3115
- powerTransformerEnd2.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd2.endNumber);
3116
- if (powerTransformerEnd1.connectionKind === 'A' && powerTransformerEnd2.connectionKind === 'A') {
3117
- if (w1NeutralGrounded && !w2NeutralGrounded) {
3118
- powerTransformerEnd2.grounded = powerTransformerEnd1.grounded;
3119
- powerTransformerEnd2.rground = powerTransformerEnd1.rground;
3120
- powerTransformerEnd2.xground = powerTransformerEnd1.xground;
3121
- }
3122
- else if (!w1NeutralGrounded && w2NeutralGrounded) {
3123
- powerTransformerEnd1.grounded = powerTransformerEnd2.grounded;
3124
- powerTransformerEnd1.rground = powerTransformerEnd2.rground;
3125
- powerTransformerEnd1.xground = powerTransformerEnd2.xground;
3126
- }
3127
- }
3128
- const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
3129
- if (wicklung3) {
3130
- const start = this.inmemoryObjects.get(wicklung3.aknoten);
3131
- if (start) {
3132
- terminal3 = (0, __1.createConnection)(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
3133
- }
3134
- else {
3135
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3136
- }
3137
- }
3138
- else {
3139
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
3140
- }
3141
- const powerTransformerEnd3 = new __1.PowerTransformerEnd((0, __1.getUUID)(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
3142
- powerTransformerEnd3.endNumber = 3;
3143
- powerTransformerEnd3.r = impedanzW3.r;
3144
- powerTransformerEnd3.x = impedanzW3.x;
3145
- powerTransformerEnd3.g = impedanzW3.g;
3146
- powerTransformerEnd3.b = impedanzW3.b;
3147
- powerTransformerEnd3.ratedS = sr3;
3148
- powerTransformerEnd3.ratedU = ur3;
3149
- if (powerTransformerEnd3.ratedU) {
3150
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd3.ratedU);
3151
- if (!baseVoltage) {
3152
- baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, powerTransformerEnd3.ratedU);
3153
- }
3154
- powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
3155
- }
3156
- else {
3157
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
3158
- }
3159
- powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
3160
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
3161
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd3);
3162
- const w3NeutralGrounded = sternpunktKnotenMap.has(wicklung3.id);
3163
- if (terminal3) {
3164
- powerTransformerEnd3.terminalUUID = terminal3.mrid;
3165
- this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
3166
- if (w3NeutralGrounded) {
3167
- this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort, defaultValuesConfig);
3168
- }
3169
- }
3170
- else {
3171
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
3172
- }
3173
- powerTransformerEnd3.connectionKind = (0, utils_2.getSchaltgruppe)(schaltgruppe, powerTransformerEnd3.endNumber, w3NeutralGrounded);
3174
- powerTransformerEnd3.phaseAngleClock = (0, utils_2.getSchaltgruppeAngleClock)(schaltgruppe, powerTransformerEnd3.endNumber);
3175
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
3176
- const wicklungen = powerTransformer.powerTransformerEnds.map(elem => elem.endNumber);
3177
- const terminals = [terminal1, terminal2, terminal3];
3178
- const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
3179
- for (const wicklung of wicklungen) {
3180
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
3181
- const winkel = (0, utils_2.convertToNumberI7)(i7Data[`uzus_winkel_s${wicklung}`]);
3182
- switch (i7Data.trafo_spezial) {
3183
- case (1): {
3184
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3185
- break;
3186
- }
3187
- case (2): {
3188
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3189
- break;
3190
- }
3191
- default: {
3192
- if (winkel !== 0) {
3193
- (0, utils_2.createPhaseTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3194
- }
3195
- else {
3196
- (0, utils_2.createRatioTapChanger)(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3197
- }
3198
- break;
3199
- }
3200
- }
3201
- }
3202
- for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
3203
- powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
3204
- }
3205
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
3206
- if (substationUUID) {
3207
- powerTransformer.equipmentContainerUUID = substationUUID;
3208
- const i7Schluessel = integral_prefix_1.TRAFO3WPRAEFIX_PRAEFIX +
3209
- i7Data.bezeichner;
3210
- powerTransformer.description = i7Schluessel;
3211
- }
3212
- else {
3213
- this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
3214
- }
3215
- this.cimModel.addPowerTransformer(powerTransformer);
3216
- this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
3217
- this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
3218
- }
3219
- }
3220
- else {
3221
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
3222
- }
3223
- });
3224
- }
3225
- getSpannungsbandTrafo2W(i7Data) {
3226
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3227
- return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3228
- let minMaxSollResult;
3229
- const spgKnotenId = i7Data.spgreg_knoten;
3230
- let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
3231
- (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
3232
- if (tempKnotenId !== undefined) {
3233
- let queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
3234
- if (queryResult.length === 1) {
3235
- const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3236
- const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
3237
- const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
3238
- const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
3239
- FROM ${tabName_NetzSSAB}
3240
- LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
3241
- LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
3242
- WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
3243
- minMaxSollResult = yield this.queryFunctionWrapper(sqlStatement);
3244
- }
3245
- else {
3246
- queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
3247
- if (queryResult.length === 1) {
3248
- const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3249
- const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
3250
- const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
3251
- minMaxSollResult = yield this.queryFunctionWrapper(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
3252
- FROM ${tabName_NetzKnotenZw}
3253
- LEFT JOIN ${tabName_NetzSchlaufe} ON
3254
- ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
3255
- LEFT JOIN ${tabName_NetzSo} ON
3256
- ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
3257
- WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
3258
- }
3259
- else {
3260
- minMaxSollResult = yield this.queryFunctionWrapper(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
3261
- }
3262
- }
3263
- }
3264
- else if (spgKnotenId !== undefined) {
3265
- const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3266
- const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3267
- const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
3268
- FROM (
3269
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
3270
- UNION
3271
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
3272
- minMaxSollResult = yield this.queryFunctionWrapper(query);
3273
- }
3274
- if (minMaxSollResult && minMaxSollResult.length) {
3275
- resolve(minMaxSollResult[0]);
3276
- }
3277
- else {
3278
- resolve({ id: 0, usoll: 0, umin: 0, umax: 0 });
3279
- }
3280
- }));
3281
- });
3282
- }
3283
- convertAsynchronmotor(knotenSfIDs) {
3284
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3285
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR)) {
3286
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.ASYNCHRONMOTOR, 0, 0, knotenSfIDs));
3287
- for (const i7Data of result) {
3288
- const asynchronousMachine = new __1.AsynchronousMachine((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
3289
- asynchronousMachine.efficiency = i7Data.wirkungsgrad * 100;
3290
- asynchronousMachine.iaIrRatio = i7Data.ilr_ir;
3291
- asynchronousMachine.polePairNumber = i7Data.polpaarz;
3292
- asynchronousMachine.ratedMechanicalPower = i7Data.p_mech;
3293
- asynchronousMachine.ratedPowerFactor = i7Data.cos_phir;
3294
- asynchronousMachine.ratedS = i7Data.sr;
3295
- asynchronousMachine.ratedU = i7Data.ur;
3296
- asynchronousMachine.setActivePower(i7Data.p0);
3297
- asynchronousMachine.setReactivePower(i7Data.flag_ind === 1 ? i7Data.q0_ind : i7Data.q0_kap);
3298
- asynchronousMachine.controlEnabled = false;
3299
- const inBetrieb = (0, utils_2.convertToBooleanI7)(i7Data.betrieb);
3300
- (0, __1.createSvStatus)(this.cimModel, inBetrieb, asynchronousMachine);
3301
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3302
- if (connectivityNode) {
3303
- (0, __1.createConnection)(this.cimModel, asynchronousMachine, connectivityNode, __1.PhaseCode.ABC);
3304
- const equipmentContainer = (0, utils_2.determineEquipmentContainer)('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3305
- if (equipmentContainer) {
3306
- asynchronousMachine.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3307
- this.cimModel.addAsynchronousMachine(asynchronousMachine);
3308
- this.addIdMapping(i7Data.id, asynchronousMachine.mrid, integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR);
3309
- }
3310
- else {
3311
- this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3312
- }
3313
- }
3314
- else {
3315
- this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3316
- }
3317
- }
3318
- }
3319
- else {
3320
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3321
- }
3322
- });
3323
- }
3324
- getAvailableTableNames(database) {
3325
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3326
- try {
3327
- const results = yield this.queryFunctionWrapper(`SHOW TABLES FROM ${database}`);
3328
- for (const table of results) {
3329
- this.availableTableNames.push(table[`Tables_in_${database}`]);
3330
- }
3331
- }
3332
- catch (e) {
3333
- console.error("ERROR:" + e);
3334
- }
3335
- });
3336
- }
3337
- convertErsatzLaengszweige(limit, offset, defaultValuesConfig) {
3338
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3339
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG)) {
3340
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, limit, offset, []));
3341
- for (const i7Data of result) {
3342
- const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
3343
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.ukz) +
3344
- integral_prefix_1.MITTIGER_PUNKT +
3345
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.kurzname) +
3346
- integral_prefix_1.MITTIGER_PUNKT +
3347
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.bezeichner) +
3348
- integral_prefix_1.MITTIGER_PUNKT +
3349
- (0, utils_2.ueberpruefeZeichenkette)(i7Data.stkabname);
3350
- const equivalentBranch = new __1.EquivalentBranch((0, __1.getUUID)(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
3351
- const ur1 = (0, utils_2.getU)(i7Data.ur1, defaultValuesConfig.DefaultVoltage);
3352
- const ur2 = (0, utils_2.getU)(i7Data.ur2, defaultValuesConfig.DefaultVoltage);
3353
- const baseVoltageUr1 = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, ur1);
3354
- const baseVoltageUr2 = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, ur2);
3355
- if (baseVoltageUr1) {
3356
- equivalentBranch.baseVoltage = baseVoltageUr1;
3357
- }
3358
- else if (baseVoltageUr2) {
3359
- equivalentBranch.baseVoltage = baseVoltageUr2;
3360
- }
3361
- const start = this.inmemoryObjects.get(i7Data.aknoten);
3362
- if (start) {
3363
- (0, __1.createConnection)(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
3364
- }
3365
- else {
3366
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
3367
- }
3368
- const target = this.inmemoryObjects.get(i7Data.eknoten);
3369
- if (target) {
3370
- (0, __1.createConnection)(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
3371
- }
3372
- else {
3373
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
3374
- }
3375
- this.cimModel.addEquivalentBranch(equivalentBranch);
3376
- this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
3377
- }
3378
- }
3379
- else {
3380
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
3381
- }
3382
- });
3383
- }
3384
- convertLaengsdrosseln(limit, offset, defaultValuesConfig) {
3385
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3386
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {
3387
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.LAENGSDROSSEL, limit, offset, []));
3388
- for (const i7Data of result) {
3389
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator((0, __1.getUUID)(i7Data.guid), (0, utils_2.getName)(i7Data), i7Data.id + '', 'LD-' + i7Data.bezeichner);
3390
- const start = this.inmemoryObjects.get(i7Data.aknoten);
3391
- let startTerminal;
3392
- if (start) {
3393
- startTerminal = (0, __1.createConnection)(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
3394
- }
3395
- else {
3396
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
3397
- }
3398
- const target = this.inmemoryObjects.get(i7Data.eknoten);
3399
- let targetTerminal;
3400
- if (target) {
3401
- targetTerminal = (0, __1.createConnection)(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
3402
- }
3403
- else {
3404
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
3405
- }
3406
- const ur = (0, utils_2.getU)(i7Data.ur, defaultValuesConfig.DefaultVoltage);
3407
- const baseVoltage = (0, __1.createBaseVoltageIfNotExists)(this.cimModel, ur);
3408
- const i = (0, utils_2.isNumericI7)(i7Data.ir) ? (0, utils_2.convertToNumberI7)(i7Data.ir) : defaultValuesConfig.SeriesCompensator.varistorRatedCurrent;
3409
- const ukr = (0, utils_2.isNumericI7)(i7Data.ukr) ? (0, utils_2.convertToNumberI7)(i7Data.ukr) : 0;
3410
- if (i > 0 && ukr > 0) {
3411
- const voltage = baseVoltage.nominalVoltage.value * 1000;
3412
- const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
3413
- seriesCompensator.x = z;
3414
- }
3415
- seriesCompensator.varistorRatedCurrent = i;
3416
- const terminal = startTerminal;
3417
- if (terminal) {
3418
- this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
3419
- }
3420
- else {
3421
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
3422
- }
3423
- const subVlData = this.substationVoltagelevels.get(i7Data.standort);
3424
- const vlObject = getVoltageLevelByVoltage(subVlData, ur);
3425
- if (vlObject) {
3426
- seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
3427
- seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
3428
- }
3429
- else {
3430
- this.logger.debug(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
3431
- }
3432
- const psrType = (0, utils_1.createIfNotExitsPSRType)(this.cimModel, 'Längsdrossel');
3433
- seriesCompensator.psrTypeUUID = psrType.mrid;
3434
- this.cimModel.addSeriesCompensator(seriesCompensator);
3435
- this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
3436
- }
3437
- }
3438
- else {
3439
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
3440
- }
3441
- });
3442
- }
3443
- convertQuerzweigErgebnisData(pfResultID2querZweigID, ergebnisID, teilNr) {
3444
- return new Promise((resolve) => {
3445
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERG_LFL_ANSCHLUSS)) {
3446
- const whereIDs = [...pfResultID2querZweigID.keys()];
3447
- if (whereIDs.length) {
3448
- this.queryFunctionWrapper((0, integral_sql_1.queryResultData)(ergebnisID, teilNr, whereIDs))
3449
- .then((result) => {
3450
- for (const i7Data of result) {
3451
- const conductingEquipmentUUID = this.integralID2UUID.get(pfResultID2querZweigID.get(i7Data.id));
3452
- const conductingEquipment = this.cimModel.getObject(conductingEquipmentUUID);
3453
- if (conductingEquipment.terminalsUUIDs.length) {
3454
- (0, util_create_1.createSvPowerFlow)(this.cimModel, i7Data.p, i7Data.q, conductingEquipment.terminalsUUIDs[0]);
3455
- }
3456
- }
3457
- pfResultID2querZweigID.clear();
3458
- resolve();
3459
- });
3460
- }
3461
- }
3462
- resolve();
3463
- });
3464
- }
3465
- addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
3466
- var _a, _b;
3467
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3468
- if (this.statcomRegulatingControls.has(i7TrafoID)) {
3469
- if ((_a = powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds) === null || _a === void 0 ? void 0 : _a.length) {
3470
- let voltage = 0;
3471
- let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
3472
- for (const pEnd of powerTransformer.powerTransformerEnds) {
3473
- const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
3474
- if (!baseVoltage)
3475
- continue;
3476
- const v = (_b = baseVoltage.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
3477
- if (v > voltage) {
3478
- voltage = v;
3479
- powertransfomerEnd = pEnd;
3480
- }
3481
- }
3482
- const terminalUUID = powertransfomerEnd.getTerminalUUID();
3483
- const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
3484
- regulatingControl.terminalUUID = terminalUUID;
3485
- this.statcomRegulatingControls.delete(i7TrafoID);
3486
- this.cimModel.addRegulatingControl(regulatingControl);
3487
- }
3488
- }
3489
- });
3490
- }
3491
- convertNetzvarianten() {
3492
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3493
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
3494
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.NETZVARIANTEN, 0, 0, []));
3495
- for (const i7Data of result) {
3496
- if (i7Data.art === 2) {
3497
- const diagram = new __1.Diagram((0, __1.getUUID)(i7Data.guid), i7Data.name, String(i7Data.id));
3498
- diagram.orientation = __1.OrientationKind.negative;
3499
- diagram.diagramStyle = this.cimModel.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
3500
- this.cimModel.addDiagram(diagram);
3501
- this.i7SchemaID2UUID.set(i7Data.id, diagram.mrid);
3502
- }
3503
- }
3504
- }
3505
- else {
3506
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3507
- }
3508
- });
3509
- }
3510
- convertSchemaStandorte(standortIDs) {
3511
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3512
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT)) {
3513
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.NSG_STANDORT, 0, 0, standortIDs));
3514
- for (const i7Data of result) {
3515
- const schema = {
3516
- netzId: i7Data.standort,
3517
- variantenNr: i7Data.variantennr,
3518
- schemaId: i7Data.id,
3519
- schemaIdParent: undefined,
3520
- x: i7Data.xrel,
3521
- y: i7Data.yrel
3522
- };
3523
- this.schemaIDSchemastandort.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3524
- }
3525
- }
3526
- else {
3527
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
3528
- }
3529
- });
3530
- }
3531
- convertSchemaKnotenSo(knotenSoIDs) {
3532
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3533
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO)) {
3534
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.NSG_KNOTEN_SO, 0, 0, knotenSoIDs));
3535
- for (const i7Data of result) {
3536
- const diagramUUID = this.i7SchemaID2UUID.get(i7Data.variantennr);
3537
- const schemaStandordObject = (0, utils_2.getSchemaValue)(i7Data.variantennr, i7Data.nsgso, this.schemaIDSchemastandort);
3538
- if (!diagramUUID || !schemaStandordObject) {
3539
- continue;
3540
- }
3541
- const diagramObject = new __1.DiagramObject((0, __1.generateUUID)(), 'Abzweig');
3542
- diagramObject.diagramUUID = diagramUUID;
3543
- if (!this.cimModel.diagrams.has(diagramUUID)) {
3544
- const d = this.cimModel.getObject(diagramUUID);
3545
- console.log();
3546
- }
3547
- diagramObject.setDiagram(this.cimModel.getDiagram(diagramUUID));
3548
- const diagramObjectPoint = new __1.DiagramObjectPoint(schemaStandordObject.x + i7Data.xrel, schemaStandordObject.y + i7Data.yrel);
3549
- diagramObjectPoint.mrid = (0, __1.generateUUID)();
3550
- diagramObjectPoint.diagramObject = diagramObject;
3551
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
3552
- this.cimModel.addDiagramObject(diagramObject);
3553
- this.cimModel.addDiagramObjectPoint(diagramObjectPoint);
3554
- const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
3555
- const cn = this.cimModel.getObject(cnUUID);
3556
- if (cn) {
3557
- diagramObject.identifiedObjectUUID = cn.mrid;
3558
- }
3559
- else {
3560
- this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
3561
- }
3562
- }
3563
- }
3564
- else {
3565
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
3566
- }
3567
- });
3568
- }
3569
- convertSchemaSchaltanlage(saIDs) {
3570
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3571
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE)) {
3572
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, 0, 0, saIDs));
3573
- for (const i7Data of result) {
3574
- const schema = {
3575
- netzId: i7Data.schaltanlage,
3576
- variantenNr: i7Data.variantennr,
3577
- schemaId: i7Data.id,
3578
- schemaIdParent: i7Data.nsgso,
3579
- x: i7Data.xrel,
3580
- y: i7Data.yrel
3581
- };
3582
- this.schemaIDSchaltanlage.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3583
- }
3584
- }
3585
- else {
3586
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
3587
- }
3588
- });
3589
- }
3590
- convertSchemaSchaltanlagenAbschnitte(schaltanlagenabschnittIDs) {
3591
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3592
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT)) {
3593
- const result = yield this.queryFunctionWrapper((0, integral_sql_1.getNetzQuery)(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenabschnittIDs));
3594
- for (const i7Data of result) {
3595
- const schema = {
3596
- netzId: i7Data.saabschnitt,
3597
- variantenNr: i7Data.variantennr,
3598
- schemaId: i7Data.id,
3599
- schemaIdParent: i7Data.nsgsa,
3600
- x: i7Data.xrel,
3601
- y: i7Data.yrel
3602
- };
3603
- this.schemaIDSchaltanlagenabschnitt.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3604
- }
3605
- }
3606
- else {
3607
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
3608
- }
3609
- });
3610
- }
3611
- queryFunction(query, successCallback, errorCallback) {
3612
- this.mysqlConnection.query(query, (error, results, fields) => {
3613
- if (error)
3614
- errorCallback(error);
3615
- successCallback(results);
3616
- });
3617
- }
3618
- queryFunctionWrapper(query) {
3619
- return new Promise((resolve, reject) => {
3620
- this.queryFunction(query, (successResponse) => {
3621
- resolve(successResponse);
3622
- }, (errorResponse) => {
3623
- reject(errorResponse);
3624
- });
3625
- });
3626
- }
3627
- openConnection() {
3628
- this.mysqlConnection.connect();
3629
- }
3630
- init(mySqlConfig, logger) {
3631
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3632
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3633
- try {
3634
- this.logger = logger;
3635
- this.initDbConnection(mySqlConfig);
3636
- this.openConnection();
3637
- yield this.getAvailableTableNames(mySqlConfig.database);
3638
- this.standortAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.STANDORT);
3639
- this.leitungsAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LEITUNG);
3640
- this.hgueLeitungsAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3641
- this.ersatzlaengszweigAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
3642
- this.laengsdrosselAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
3643
- this.laengskondensatorAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
3644
- this.trafo2WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO2W);
3645
- this.trafo3WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO3W);
3646
- yield this.queryAnschlussIDs();
3647
- yield this.querySpGeregelteKnoten();
3648
- resolve({ status: 'successful', message: 'ok' });
3649
- }
3650
- catch (e) {
3651
- reject({ status: 'error', message: e.toString() });
3652
- }
3653
- }));
3654
- });
3655
- }
3656
- initDbConnection(mySqlConfig) {
3657
- this.mysqlConnection = mysql.createConnection({
3658
- host: mySqlConfig.host,
3659
- port: mySqlConfig.port,
3660
- database: mySqlConfig.database,
3661
- user: mySqlConfig.user,
3662
- password: mySqlConfig.password,
3663
- });
3664
- }
3665
- closeConnection() {
3666
- this.mysqlConnection.end();
3667
- }
3668
- convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID, defaultValuesConfig) {
3669
- if (stpKnoten) {
3670
- const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
3671
- powerTransformerEnd.grounded = true;
3672
- powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
3673
- if (!junctionUUID) {
3674
- }
3675
- else {
3676
- const terminal = new __1.Terminal((0, __1.generateUUID)(), 't_stp_trafo');
3677
- terminal.connectivityNodeUUID = cnUUID;
3678
- terminal.conductingEquipmentUUID = junctionUUID;
3679
- terminal.connected = true;
3680
- terminal.phases = __1.PhaseCode.N;
3681
- this.cimModel.addTerminal(terminal);
3682
- const junction = this.stpImpModel.junctions.get(junctionUUID);
3683
- if (junction)
3684
- junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
3685
- const pSpuleGroundImpedance = this.stpImpModel.junctionUUIDstpImp.get(junctionUUID);
3686
- const subVlData = this.substationVoltagelevels.get(standortID);
3687
- const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
3688
- if (!vlObject) {
3689
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
3690
- }
3691
- if (junction) {
3692
- junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
3693
- junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
3694
- }
3695
- else {
3696
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
3697
- }
3698
- if (pSpuleGroundImpedance) {
3699
- pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
3700
- pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
3701
- }
3702
- else {
3703
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
3704
- }
3705
- }
3706
- }
3707
- }
3708
- setWireInfoProperties(object, data, type) {
3709
- object.name = data.name;
3710
- object.type = type;
3711
- object.voltage = data.un;
3712
- object.r1 = +data.r1;
3713
- object.x1 = +data.x1;
3714
- object.c1 = +data.c1;
3715
- object.r0 = +data.r0;
3716
- object.x0 = +data.x0;
3717
- object.c0 = +data.c0;
3718
- object.ratedCurrent = +data.ir;
3719
- }
3720
- setACLineSegmentProperties(acLineSegment, data) {
3721
- if ((0, utils_2.isNumericI7)(data.laenge) && data.laenge <= 0) {
3722
- data.flag_impedanzlos = 1;
3723
- }
3724
- if ((0, utils_2.isNumericI7)(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
3725
- acLineSegment.length = data.laenge;
3726
- }
3727
- else {
3728
- acLineSegment.length = 1;
3729
- }
3730
- const assetType = this.cimModel.getWireInfoByName(data.nametyp);
3731
- if ((0, utils_2.isNumericI7)(data.r0) && data.r0 > 0 && !data.flag_impedanzlos) {
3732
- acLineSegment.r0 = data.r0;
3733
- }
3734
- else if (assetType && !data.flag_impedanzlos) {
3735
- acLineSegment.r0 = assetType.r0 * acLineSegment.length;
3736
- }
3737
- else {
3738
- acLineSegment.r0 = 0;
3739
- }
3740
- if ((0, utils_2.isNumericI7)(data.x0) && data.x0 > 0 && !data.flag_impedanzlos) {
3741
- acLineSegment.x0 = data.x0;
3742
- }
3743
- else if (assetType && !data.flag_impedanzlos) {
3744
- acLineSegment.x0 = assetType.x0 * acLineSegment.length;
3745
- }
3746
- else {
3747
- acLineSegment.x0 = 0;
3748
- }
3749
- if ((0, utils_2.isNumericI7)(data.c0) && data.c0 > 0 && !data.flag_impedanzlos) {
3750
- acLineSegment.b0ch = (0, utils_2.calculateBC)(data.c0, 50);
3751
- }
3752
- else if (assetType && !data.flag_impedanzlos) {
3753
- acLineSegment.b0ch = (0, utils_2.calculateBC)(assetType.c0, 50) * data.laenge;
3754
- }
3755
- else {
3756
- acLineSegment.b0ch = 0;
3757
- }
3758
- if ((0, utils_2.isNumericI7)(data.c0) && data.c0 > 0 && !data.flag_impedanzlos) {
3759
- acLineSegment.g0ch = (0, utils_2.calculateG0ch)(data.r0);
3760
- }
3761
- else if (assetType && !data.flag_impedanzlos) {
3762
- acLineSegment.g0ch = (0, utils_2.calculateG0ch)(assetType.r0) * data.laenge;
3763
- }
3764
- else {
3765
- acLineSegment.g0ch = 0;
3766
- }
3767
- if ((0, utils_2.isNumericI7)(data.r1) && data.r1 > 0 && !data.flag_impedanzlos) {
3768
- acLineSegment.r = data.r1;
3769
- }
3770
- else if (assetType && !data.flag_impedanzlos) {
3771
- acLineSegment.r = assetType.r1 * data.laenge;
3772
- }
3773
- else {
3774
- acLineSegment.r = 0;
3775
- }
3776
- if ((0, utils_2.isNumericI7)(data.x1) && data.x1 > 0 && !data.flag_impedanzlos) {
3777
- acLineSegment.x = data.x1;
3778
- }
3779
- else if (assetType && !data.flag_impedanzlos) {
3780
- acLineSegment.x = assetType.x1 * data.laenge;
3781
- }
3782
- else {
3783
- acLineSegment.x = 0;
3784
- }
3785
- if ((0, utils_2.isNumericI7)(data.c1) && data.c1 > 0 && !data.flag_impedanzlos) {
3786
- acLineSegment.bch = (0, utils_2.calculateBC)(data.c1, 50);
3787
- }
3788
- else if (assetType && !data.flag_impedanzlos) {
3789
- acLineSegment.bch = (0, utils_2.calculateBC)(assetType.c1, 50) * data.laenge;
3790
- }
3791
- else {
3792
- acLineSegment.bch = 0;
3793
- }
3794
- for (const terminalUUID of acLineSegment.terminalsUUIDs) {
3795
- if ((0, utils_2.isNumericI7)(data.ir) && data.ir > 0) {
3796
- this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, data.ir);
3797
- }
3798
- else if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3799
- this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
3800
- }
3801
- else {
3802
- }
3803
- }
3804
- const psrType = (0, utils_1.createIfNotExitsPSRType)(this.cimModel, data.typ);
3805
- acLineSegment.psrTypeUUID = psrType.mrid;
3806
- }
3807
- setConductingEquipmentCurrentLimit(name, terminalUUID, ir) {
3808
- const currentLimit = new __1.CurrentLimit((0, __1.generateUUID)(), `${name}`);
3809
- this.cimModel.addCurrentLimit(currentLimit);
3810
- currentLimit.value = new __1.CurrentFlow(ir, __1.UnitMultiplier.none, __1.UnitSymbol.A);
3811
- const operationalLimitSet = new __1.OperationalLimitSet((0, __1.generateUUID)(), `${name}`);
3812
- this.cimModel.addOperationalLimitSet(operationalLimitSet);
3813
- currentLimit.operationalLimitSetUUID = operationalLimitSet.mrid;
3814
- const operationalLimitType = this.getOperationalLimitType('patl');
3815
- currentLimit.operationalLimitTypeUUID = operationalLimitType.mrid;
3816
- operationalLimitSet.terminalUUID = terminalUUID;
3817
- }
3818
- getOperationalLimitType(name) {
3819
- let operationalLimitType = this.cimModel.getOperationalLimitTypeByName(name);
3820
- if (!operationalLimitType) {
3821
- operationalLimitType = new __1.OperationalLimitType((0, __1.generateUUID)(), name);
3822
- operationalLimitType.direction = __1.OperationalLimitDirectionKind.absoluteValue;
3823
- operationalLimitType.limitType = __1.LimitTypeKind.patl;
3824
- this.cimModel.addOperationalLimitType(operationalLimitType);
3825
- }
3826
- return operationalLimitType;
3827
- }
3828
- setTransformerEndInfoProperties(wicklung, data, endNumber) {
3829
- const minstufe = `minstufe_s${endNumber}`;
3830
- const mittelstufe = `mittelstufe_s${endNumber}`;
3831
- const maxstufe = `maxstufe_s${endNumber}`;
3832
- const umax = `umax_s${endNumber}`;
3833
- const umin = `umin_s${endNumber}`;
3834
- const gestufte_seite = `gestufte_seite_s${endNumber}`;
3835
- const ur = `ur${endNumber}`;
3836
- wicklung.endNumber = endNumber;
3837
- wicklung.ratedU = new __1.Voltage(data[ur], __1.UnitMultiplier.k, __1.UnitSymbol.V);
3838
- wicklung.tapActive = (0, utils_2.convertToBooleanI7)(data[gestufte_seite]);
3839
- const tapChangerInfo = new TapChangerInfo_1.TapChangerInfo((0, __1.generateUUID)(), `TapChangerInfo_${data['id']}`);
3840
- tapChangerInfo.highStep = data[maxstufe];
3841
- tapChangerInfo.lowStep = data[minstufe];
3842
- tapChangerInfo.neutralStep = data[mittelstufe];
3843
- }
3844
- writeHeaderStart(xmlWriter, profileURI) {
3845
- xmlWriter.startDocument('1.0', 'UTF-8');
3846
- xmlWriter.startElementNS(__1.RDF_XML.RDF_NS_PREFIX, 'RDF', __1.RDF_XML.RDF_NS);
3847
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.RDF_NS_PREFIX}`, __1.RDF_XML.RDF_NS);
3848
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.CIM_NS_PREFIX}`, __1.RDF_XML.CIM_NS_16);
3849
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.ENTSOE_NS_PREFIX}`, __1.RDF_XML.ENTSOE_NS);
3850
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.MD_NS_PREFIX}`, __1.RDF_XML.MD_NS);
3851
- if (profileURI === __1.RDF_XML.AMP_I7_PROFILE_URI) {
3852
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.AMPRION_NS_PREFIX}`, __1.RDF_XML.AMPRION_NS);
3853
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.IPS_NS_PREFIX}`, __1.RDF_XML.IPS_NS);
3854
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.CAPE_NS_PREFIX}`, __1.RDF_XML.CAPE_NS);
3855
- (0, utils_1.writeElementAttribute)(xmlWriter, `xmlns:${__1.RDF_XML.EV_NS_PREFIX}`, __1.RDF_XML.ENERVANCE_NS);
3856
- }
3857
- }
3858
- writeHeaderEnd(xmlWriter) {
3859
- xmlWriter.endElement();
3860
- xmlWriter.endDocument();
3861
- }
3862
- objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig, logger) {
3863
- (0, cgmes_validator_1.validateCGMESData)(values, defaultValuesConfig);
3864
- for (const object of values.values()) {
3865
- object.toCIMXML(xmlWriter, profileName, logger);
3866
- }
3867
- }
3868
- objectArrayToCIMXML(xmlWriter, values, profileName) {
3869
- for (const object of values) {
3870
- object.toCIMXML(xmlWriter, profileName);
3871
- }
3872
- }
3873
- checkMemoryObject(i7ID, cimObject) {
3874
- if (this.leitungAnschlussKnotenIDs.has(i7ID)) {
3875
- this.inmemoryObjects.set(i7ID, cimObject);
3876
- return true;
3877
- }
3878
- return false;
3879
- }
3880
- isTableAvailable(tableName) {
3881
- return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
3882
- }
3883
- checkRegelungsknotenTerminals(schlaufenTerminals) {
3884
- for (const terminal of schlaufenTerminals) {
3885
- const cnI7IDs = this.UUID2Integral7ID_.get(terminal.connectivityNodeUUID);
3886
- if (!cnI7IDs)
3887
- continue;
3888
- const spData = this.knotenSpannungsband.get(cnI7IDs.find(elem => elem));
3889
- if (spData) {
3890
- spData.terminals.push({ uuid: terminal.mrid, connected: terminal.connected });
3891
- }
3892
- }
3893
- }
3894
- addDefaultObjects(defaultValuesConfig) {
3895
- const loadArea = new LoadArea_1.LoadArea((0, __1.generateUUID)(), defaultValuesConfig.LoadArea.name);
3896
- this.cimModel.addLoadArea(loadArea);
3897
- const subLoadArea = new SubLoadArea_1.SubLoadArea((0, __1.generateUUID)(), defaultValuesConfig.SubLoadArea.name);
3898
- subLoadArea.loadArea = loadArea;
3899
- this.cimModel.addSubLoadArea(subLoadArea);
3900
- const conformLoadGroup = new ConformLoadGroup_1.ConformLoadGroup((0, __1.generateUUID)(), defaultValuesConfig.ConformLoadGroup.name);
3901
- conformLoadGroup.subLoadArea = subLoadArea;
3902
- this.cimModel.addConformLoadGroup(conformLoadGroup);
3903
- const crsUrn = 'urn:ogc:def:crs:EPSG::4326';
3904
- const coordinateSystem = new __1.CoordinateSystem((0, __1.generateUUID)(), this.coordinateSystemName);
3905
- coordinateSystem.crsUrn = crsUrn;
3906
- this.cimModel.addCoordinateSystem(coordinateSystem);
3907
- }
3908
- addIdMapping(i7ID, uuid, type) {
3909
- if (this.integralID2UUID.has(i7ID)) {
3910
- console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
3911
- }
3912
- else {
3913
- this.integralID2UUID.set(i7ID, uuid);
3914
- this.integralID2Type.set(i7ID, type);
3915
- }
3916
- }
3917
- addUUIDMapping(i7ID, uuid) {
3918
- if (this.UUID2Integral7ID_.has(uuid)) {
3919
- this.UUID2Integral7ID_.get(uuid).push(i7ID);
3920
- }
3921
- else {
3922
- this.UUID2Integral7ID_.set(uuid, [i7ID]);
3923
- }
3924
- }
3925
- queryObjectCount(tableName) {
3926
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3927
- return new Promise((resolve, reject) => {
3928
- if (this.isTableAvailable(tableName)) {
3929
- this.queryFunctionWrapper(`SELECT COUNT(id)
3930
- FROM ${tableName}`).then(results => {
3931
- try {
3932
- for (const result of results) {
3933
- return resolve(Number(result[`COUNT(id)`]));
3934
- }
3935
- }
3936
- catch (e) {
3937
- return reject(0);
3938
- }
3939
- });
3940
- }
3941
- else {
3942
- return resolve(0);
3943
- }
3944
- });
3945
- });
3946
- }
3947
- queryAnschlussIDs() {
3948
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3949
- try {
3950
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3951
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
3952
- for (const result of results) {
3953
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3954
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3955
- }
3956
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
3957
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
3958
- for (const result of results) {
3959
- this.leitungAnschlussKnotenIDs.add(result[`anetzobjekt`]);
3960
- this.leitungAnschlussKnotenIDs.add(result[`enetzobjekt`]);
3961
- }
3962
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3963
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
3964
- for (const result of results) {
3965
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3966
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3967
- }
3968
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3969
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
3970
- for (const result of results) {
3971
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3972
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3973
- }
3974
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3975
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
3976
- for (const result of results) {
3977
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3978
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3979
- }
3980
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3981
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
3982
- for (const result of results) {
3983
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3984
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3985
- }
3986
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3987
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
3988
- for (const result of results) {
3989
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3990
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3991
- }
3992
- }
3993
- catch (e) {
3994
- console.error("ERROR:" + e);
3995
- }
3996
- });
3997
- }
3998
- querySpGeregelteKnoten() {
3999
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
4000
- try {
4001
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT spgreg_knoten
4002
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
4003
- }
4004
- catch (e) {
4005
- console.error("ERROR:" + e);
4006
- }
4007
- });
4008
- }
4009
- }
4010
- exports.ConverterIntegral7 = ConverterIntegral7;
4011
- function getVoltageLevelByVoltage(subVlData, ur) {
4012
- let vlObject;
4013
- let abstand = 1000;
4014
- if (subVlData && subVlData.length) {
4015
- for (const vlData of subVlData) {
4016
- const abstandAkt = Math.abs(vlData.un - ur);
4017
- if (abstandAkt < abstand) {
4018
- abstand = abstandAkt;
4019
- vlObject = vlData;
4020
- }
4021
- }
4022
- }
4023
- return vlObject;
4024
- }
4025
- exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
4026
- function validateRegulatingControls(regulatingControls, logger, type) {
4027
- for (const rg of regulatingControls.values()) {
4028
- if (!rg.name)
4029
- logger.debug(`RegulatingControl ohne Namen | ${type}`);
4030
- const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
4031
- if (!terminalUUID)
4032
- logger.debug(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
4033
- }
4034
- }
4035
- function getGeoCoordinates(i7Data) {
4036
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s &&
4037
- i7Data.geokoor_pl_laenge_h && i7Data.geokoor_pl_laenge_m && i7Data.geokoor_pl_laenge_s) {
4038
- const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
4039
- const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
4040
- return [String(lon), String(lat)];
4041
- }
4042
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_h) {
4043
- return [String(i7Data.geokoor_pl_laenge_h), String(i7Data.geokoor_pl_breite_h)];
4044
- }
4045
- return undefined;
4046
- }
4047
- exports.getGeoCoordinates = getGeoCoordinates;
4048
- function getValidTerminals(objects, inMemoryObjects) {
4049
- const exportTerminals = new Map();
4050
- for (const value of objects.values()) {
4051
- if (value instanceof __1.Terminal) {
4052
- const terminal = value;
4053
- if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
4054
- (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
4055
- exportTerminals.set(value.mrid, value);
4056
- }
4057
- else {
4058
- inMemoryObjects.set(value.mrid, value);
4059
- }
4060
- }
4061
- }
4062
- return exportTerminals;
4063
- }
4064
- exports.getValidTerminals = getValidTerminals;
4065
- function getValidTapChangerControls(objects) {
4066
- const exportInstances = new Map();
4067
- for (const value of objects.values()) {
4068
- if (value.terminal || value.terminalUUID) {
4069
- exportInstances.set(value.mrid, value);
4070
- }
4071
- }
4072
- return exportInstances;
4073
- }
4074
- exports.getValidTapChangerControls = getValidTapChangerControls;
4075
- function validateInMemoryObjects(objects, logger) {
4076
- const exportTerminals = new Map();
4077
- for (const entry of objects.entries()) {
4078
- const value = entry[1];
4079
- if (value instanceof __1.Terminal) {
4080
- const terminal = value;
4081
- if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
4082
- (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
4083
- exportTerminals.set(value.mrid, value);
4084
- }
4085
- if (!terminal.conductingEquipment && !terminal.conductingEquipmentUUID) {
4086
- logger.debug(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
4087
- }
4088
- if (!terminal.connectivityNode && !terminal.connectivityNodeUUID) {
4089
- logger.debug(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
4090
- }
4091
- }
4092
- }
4093
- return exportTerminals;
4094
- }
4095
- exports.validateInMemoryObjects = validateInMemoryObjects;
4096
- //# sourceMappingURL=ConverterIntegral7.js.map