@enervance/insight-cim-model 0.0.61 → 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 (1116) hide show
  1. package/dist/analysis/analysis-neplan/digi-ons.d.ts +55 -3
  2. package/dist/analysis/analysis-neplan/digi-ons.js +108 -29
  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 +11 -44
  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 +9 -7
  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 +33 -4
  21. package/dist/constants/cim-class-names.js +192 -128
  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 +118 -39
  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/data.types.d.ts +9 -0
  41. package/dist/converter/integral7/dl-convert/db/data.types.js +14 -0
  42. package/dist/converter/integral7/dl-convert/db/data.types.js.map +1 -0
  43. package/dist/converter/integral7/dl-convert/db/database.interface.types.d.ts +125 -0
  44. package/dist/converter/integral7/dl-convert/db/database.interface.types.js +3 -0
  45. package/dist/converter/integral7/dl-convert/db/database.interface.types.js.map +1 -0
  46. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.d.ts +9 -0
  47. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.js +3 -0
  48. package/dist/converter/integral7/dl-convert/dl-converter-i7-function.types.js.map +1 -0
  49. package/dist/converter/integral7/dl-convert/dl-converter-i7.d.ts +105 -0
  50. package/dist/converter/integral7/dl-convert/dl-converter-i7.js +1427 -0
  51. package/dist/converter/integral7/dl-convert/dl-converter-i7.js.map +1 -0
  52. package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +10 -0
  53. package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +15 -2
  54. package/dist/converter/integral7/interface-i7/export-frame-i7.js +153 -74
  55. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  56. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.d.ts +6 -0
  57. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js +11 -0
  58. package/dist/converter/integral7/model/dl-utils/I7KnotenBeziehung.js.map +1 -1
  59. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.d.ts +17 -5
  60. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js +22 -0
  61. package/dist/converter/integral7/model/dl-utils/QueryObjectSsabNsg.js.map +1 -1
  62. package/dist/converter/integral7/model/dl-utils/constants.d.ts +8 -0
  63. package/dist/converter/integral7/model/dl-utils/constants.js +66 -58
  64. package/dist/converter/integral7/model/dl-utils/constants.js.map +1 -1
  65. package/dist/converter/integral7/model/dl-utils/util-functions.d.ts +39 -11
  66. package/dist/converter/integral7/model/dl-utils/util-functions.js +350 -110
  67. package/dist/converter/integral7/model/dl-utils/util-functions.js.map +1 -1
  68. package/dist/converter/integral7/model/integral/BaseClass.js +8 -0
  69. package/dist/converter/integral7/model/integral/BaseClass.js.map +1 -1
  70. package/dist/converter/integral7/model/integral/BaseClassNsg.js +7 -0
  71. package/dist/converter/integral7/model/integral/BaseClassNsg.js.map +1 -1
  72. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.d.ts +4 -0
  73. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js +6 -0
  74. package/dist/converter/integral7/model/integral/BaseClassTrafoNsg.js.map +1 -1
  75. package/dist/converter/integral7/model/integral/KnotenSo.js +6 -0
  76. package/dist/converter/integral7/model/integral/KnotenSo.js.map +1 -1
  77. package/dist/converter/integral7/model/integral/KnotenSoNsg.js +6 -0
  78. package/dist/converter/integral7/model/integral/KnotenSoNsg.js.map +1 -1
  79. package/dist/converter/integral7/model/integral/Kopfstation.d.ts +1 -1
  80. package/dist/converter/integral7/model/integral/Laengskupplung.js +6 -0
  81. package/dist/converter/integral7/model/integral/Laengskupplung.js.map +1 -1
  82. package/dist/converter/integral7/model/integral/Leitung.js +9 -0
  83. package/dist/converter/integral7/model/integral/Leitung.js.map +1 -1
  84. package/dist/converter/integral7/model/integral/LeitungNsg.js +10 -0
  85. package/dist/converter/integral7/model/integral/LeitungNsg.js.map +1 -1
  86. package/dist/converter/integral7/model/integral/Point.d.ts +7 -0
  87. package/dist/converter/integral7/model/integral/Point.js +10 -1
  88. package/dist/converter/integral7/model/integral/Point.js.map +1 -1
  89. package/dist/converter/integral7/model/integral/Schaltanlage.js +8 -3
  90. package/dist/converter/integral7/model/integral/Schaltanlage.js.map +1 -1
  91. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js +8 -1
  92. package/dist/converter/integral7/model/integral/SchaltanlageNSG.js.map +1 -1
  93. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js +7 -2
  94. package/dist/converter/integral7/model/integral/Schaltanlagenabschnitt.js.map +1 -1
  95. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js +8 -0
  96. package/dist/converter/integral7/model/integral/SchaltanlagenabschnittNsg.js.map +1 -1
  97. package/dist/converter/integral7/model/integral/Schaltfeld.js +9 -4
  98. package/dist/converter/integral7/model/integral/Schaltfeld.js.map +1 -1
  99. package/dist/converter/integral7/model/integral/SchaltfeldNsg.d.ts +8 -0
  100. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js +17 -0
  101. package/dist/converter/integral7/model/integral/SchaltfeldNsg.js.map +1 -1
  102. package/dist/converter/integral7/model/integral/Standort.js +15 -1
  103. package/dist/converter/integral7/model/integral/Standort.js.map +1 -1
  104. package/dist/converter/integral7/model/integral/StandortNsg.js +4 -1
  105. package/dist/converter/integral7/model/integral/StandortNsg.js.map +1 -1
  106. package/dist/converter/integral7/model/integral/Trafo2w.js +6 -0
  107. package/dist/converter/integral7/model/integral/Trafo2w.js.map +1 -1
  108. package/dist/converter/integral7/model/integral/Trafo2wNsg.js +5 -0
  109. package/dist/converter/integral7/model/integral/Trafo2wNsg.js.map +1 -1
  110. package/dist/converter/integral7/model/integral/Trafo3w.js +5 -0
  111. package/dist/converter/integral7/model/integral/Trafo3w.js.map +1 -1
  112. package/dist/converter/integral7/model/integral/Trafo3wNsg.d.ts +4 -0
  113. package/dist/converter/integral7/model/integral/Trafo3wNsg.js +12 -0
  114. package/dist/converter/integral7/model/integral/Trafo3wNsg.js.map +1 -1
  115. package/dist/converter/integral7/model/interfaces.d.ts +57 -0
  116. package/dist/converter/integral7/model/interfaces.js.map +1 -1
  117. package/dist/converter/integral7/sql/integral.sql.d.ts +92 -1
  118. package/dist/converter/integral7/sql/integral.sql.js +295 -173
  119. package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
  120. package/dist/converter/integral7/utils-cgmes-export.d.ts +10 -10
  121. package/dist/converter/integral7/utils-cgmes-export.js +2 -1
  122. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  123. package/dist/converter/integral7/utils-schema.js +4 -5
  124. package/dist/converter/integral7/utils-schema.js.map +1 -1
  125. package/dist/converter/integral7/utils-trafo3w.d.ts +68 -1
  126. package/dist/converter/integral7/utils-trafo3w.js +92 -4
  127. package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
  128. package/dist/converter/integral7/utils.d.ts +59 -15
  129. package/dist/converter/integral7/utils.js +319 -71
  130. package/dist/converter/integral7/utils.js.map +1 -1
  131. package/dist/data-structures/Settings.js +6 -2
  132. package/dist/data-structures/Settings.js.map +1 -1
  133. package/dist/data-structures/graph/GraphObject.js +8 -3
  134. package/dist/data-structures/graph/GraphObject.js.map +1 -1
  135. package/dist/data-structures/graph/Types.js.map +1 -1
  136. package/dist/data-structures/graph/connections/connection.js +5 -1
  137. package/dist/data-structures/graph/connections/connection.js.map +1 -1
  138. package/dist/data-structures/graph/edges/GraphEdge.js +2 -0
  139. package/dist/data-structures/graph/edges/GraphEdge.js.map +1 -1
  140. package/dist/data-structures/graph/graph-interfaces.d.ts +3 -0
  141. package/dist/data-structures/graph/graph-util.d.ts +4 -0
  142. package/dist/data-structures/graph/graph-util.js +31 -4
  143. package/dist/data-structures/graph/graph-util.js.map +1 -1
  144. package/dist/data-structures/graph/graph.d.ts +9 -3
  145. package/dist/data-structures/graph/graph.js +19 -3
  146. package/dist/data-structures/graph/graph.js.map +1 -1
  147. package/dist/data-structures/tree/GraphTree.d.ts +2 -0
  148. package/dist/data-structures/tree/GraphTree.js +13 -10
  149. package/dist/data-structures/tree/GraphTree.js.map +1 -1
  150. package/dist/data-structures/tree/GraphTreeEdge.js +6 -3
  151. package/dist/data-structures/tree/GraphTreeEdge.js.map +1 -1
  152. package/dist/data-structures/tree/GraphTreeNode.d.ts +1 -0
  153. package/dist/data-structures/tree/GraphTreeNode.js +17 -8
  154. package/dist/data-structures/tree/GraphTreeNode.js.map +1 -1
  155. package/dist/data-structures/tree/GraphTreeObject.d.ts +2 -0
  156. package/dist/data-structures/tree/GraphTreeObject.js +6 -1
  157. package/dist/data-structures/tree/GraphTreeObject.js.map +1 -1
  158. package/dist/etl/etl-neplan/et-neplan-regex.d.ts +3 -0
  159. package/dist/etl/etl-neplan/et-neplan-regex.js +3 -0
  160. package/dist/etl/etl-neplan/et-neplan-regex.js.map +1 -1
  161. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.d.ts +2 -2
  162. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js +62 -14
  163. package/dist/etl/etl-neplan/etl-neplan-contingency-analysis.js.map +1 -1
  164. package/dist/etl/etl-neplan/etl-neplan-csv.d.ts +31 -14
  165. package/dist/etl/etl-neplan/etl-neplan-csv.js +905 -419
  166. package/dist/etl/etl-neplan/etl-neplan-csv.js.map +1 -1
  167. package/dist/etl/etl-neplan/etl-neplan-feederline.d.ts +30 -4
  168. package/dist/etl/etl-neplan/etl-neplan-feederline.js +151 -33
  169. package/dist/etl/etl-neplan/etl-neplan-feederline.js.map +1 -1
  170. package/dist/etl/etl-neplan/etl-neplan-geo.d.ts +8 -7
  171. package/dist/etl/etl-neplan/etl-neplan-geo.js +108 -109
  172. package/dist/etl/etl-neplan/etl-neplan-geo.js.map +1 -1
  173. package/dist/etl/etl-neplan/etl-neplan-geo_depr.d.ts +169 -0
  174. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js +226 -0
  175. package/dist/etl/etl-neplan/etl-neplan-geo_depr.js.map +1 -1
  176. package/dist/etl/etl-neplan/etl-neplan-util.js +12 -9
  177. package/dist/etl/etl-neplan/etl-neplan-util.js.map +1 -1
  178. package/dist/etl/etl-neplan/etl-neplan.d.ts +38 -5
  179. package/dist/etl/etl-neplan/etl-neplan.js +356 -105
  180. package/dist/etl/etl-neplan/etl-neplan.js.map +1 -1
  181. package/dist/etl/etl-neplan/neplan-contingency-analysis.d.ts +3 -2
  182. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +213 -65
  183. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  184. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.d.ts +3 -2
  185. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js +6 -3
  186. package/dist/etl/etl-psdm-novagent/etl-psdm-novagent-energytypes.js.map +1 -1
  187. package/dist/factory/factory-interfaces.d.ts +8 -5
  188. package/dist/factory/object-factory.js +13 -4
  189. package/dist/factory/object-factory.js.map +1 -1
  190. package/dist/factory/sparql-factory.js +7 -0
  191. package/dist/factory/sparql-factory.js.map +1 -1
  192. package/dist/grid-validation/grid-validation.js +11 -7
  193. package/dist/grid-validation/grid-validation.js.map +1 -1
  194. package/dist/index.d.ts +52 -24
  195. package/dist/index.js +123 -62
  196. package/dist/index.js.map +1 -1
  197. package/dist/interfaces/IUUIDObject.d.ts +8 -0
  198. package/dist/interfaces/IUUIDObject.js +3 -0
  199. package/dist/interfaces/IUUIDObject.js.map +1 -0
  200. package/dist/interfaces/model/assets/IActivityRecord.d.ts +8 -0
  201. package/dist/interfaces/model/assets/IActivityRecord.js +3 -0
  202. package/dist/interfaces/model/assets/IActivityRecord.js.map +1 -0
  203. package/dist/interfaces/model/core/IFeeder.d.ts +3 -0
  204. package/dist/interfaces/model/core/IIdentifiedObject.d.ts +25 -7
  205. package/dist/interfaces/model/core/ITerminal.d.ts +1 -0
  206. package/dist/interfaces/model/operations/IOutage.d.ts +3 -0
  207. package/dist/interfaces/model/operations/ISwitchingPlan.d.ts +8 -0
  208. package/dist/interfaces/persistence.interfaces.d.ts +1 -0
  209. package/dist/interfaces/persistence.interfaces.js +16 -0
  210. package/dist/interfaces/persistence.interfaces.js.map +1 -1
  211. package/dist/interfaces/schema-settings/ShapeInfos.js +12 -0
  212. package/dist/interfaces/schema-settings/ShapeInfos.js.map +1 -1
  213. package/dist/model/alternate-models/AlternateModel.js +2 -0
  214. package/dist/model/alternate-models/AlternateModel.js.map +1 -1
  215. package/dist/model/alternate-models/AlternateModelGroup.js +1 -1
  216. package/dist/model/alternate-models/AlternateModelGroup.js.map +1 -1
  217. package/dist/model/assetinfo/AssetInfo.js +5 -4
  218. package/dist/model/assetinfo/AssetInfo.js.map +1 -1
  219. package/dist/model/assetinfo/PowerTransformerInfo.d.ts +1 -0
  220. package/dist/model/assetinfo/PowerTransformerInfo.js +2 -1
  221. package/dist/model/assetinfo/PowerTransformerInfo.js.map +1 -1
  222. package/dist/model/assetinfo/SwitchInfo.d.ts +4 -4
  223. package/dist/model/assetinfo/SwitchInfo.js +21 -22
  224. package/dist/model/assetinfo/SwitchInfo.js.map +1 -1
  225. package/dist/model/assetinfo/TapChangerInfo.d.ts +20 -1
  226. package/dist/model/assetinfo/TapChangerInfo.js +78 -37
  227. package/dist/model/assetinfo/TapChangerInfo.js.map +1 -1
  228. package/dist/model/assetinfo/TransformerEndInfo.d.ts +2 -1
  229. package/dist/model/assetinfo/TransformerEndInfo.js +16 -10
  230. package/dist/model/assetinfo/TransformerEndInfo.js.map +1 -1
  231. package/dist/model/assetinfo/WireInfo.d.ts +1 -1
  232. package/dist/model/assetinfo/WireInfo.js +12 -9
  233. package/dist/model/assetinfo/WireInfo.js.map +1 -1
  234. package/dist/model/assets/AggregateScore.d.ts +7 -0
  235. package/dist/model/assets/AggregateScore.js +43 -0
  236. package/dist/model/assets/AggregateScore.js.map +1 -1
  237. package/dist/model/assets/Analytic.d.ts +4 -4
  238. package/dist/model/assets/Analytic.js +37 -32
  239. package/dist/model/assets/Analytic.js.map +1 -1
  240. package/dist/model/assets/AnalyticScore.d.ts +9 -3
  241. package/dist/model/assets/AnalyticScore.js +22 -2
  242. package/dist/model/assets/AnalyticScore.js.map +1 -1
  243. package/dist/model/assets/Asset.d.ts +17 -11
  244. package/dist/model/assets/Asset.js +107 -81
  245. package/dist/model/assets/Asset.js.map +1 -1
  246. package/dist/model/assets/AssetContainer.js +2 -2
  247. package/dist/model/assets/AssetContainer.js.map +1 -1
  248. package/dist/model/assets/AssetDeployment.d.ts +9 -4
  249. package/dist/model/assets/AssetDeployment.js +40 -28
  250. package/dist/model/assets/AssetDeployment.js.map +1 -1
  251. package/dist/model/assets/AssetHealthEvent.d.ts +5 -4
  252. package/dist/model/assets/AssetHealthEvent.js +28 -28
  253. package/dist/model/assets/AssetHealthEvent.js.map +1 -1
  254. package/dist/model/assets/AssetOrganisationRole.d.ts +3 -3
  255. package/dist/model/assets/AssetOrganisationRole.js +7 -3
  256. package/dist/model/assets/AssetOrganisationRole.js.map +1 -1
  257. package/dist/model/assets/AssetOwner.d.ts +5 -2
  258. package/dist/model/assets/AssetOwner.js +19 -17
  259. package/dist/model/assets/AssetOwner.js.map +1 -1
  260. package/dist/model/assets/AssetUser.d.ts +5 -2
  261. package/dist/model/assets/AssetUser.js +20 -18
  262. package/dist/model/assets/AssetUser.js.map +1 -1
  263. package/dist/model/assets/DeploymentDate.js +7 -2
  264. package/dist/model/assets/DeploymentDate.js.map +1 -1
  265. package/dist/model/assets/Facility.d.ts +3 -3
  266. package/dist/model/assets/Facility.js +24 -24
  267. package/dist/model/assets/Facility.js.map +1 -1
  268. package/dist/model/assets/HealthScore.d.ts +2 -2
  269. package/dist/model/assets/HealthScore.js +22 -23
  270. package/dist/model/assets/HealthScore.js.map +1 -1
  271. package/dist/model/assets/LifecycleDate.js +15 -2
  272. package/dist/model/assets/LifecycleDate.js.map +1 -1
  273. package/dist/model/assets/Structure.js +1 -0
  274. package/dist/model/assets/Structure.js.map +1 -1
  275. package/dist/model/common/ActivityRecord.d.ts +6 -5
  276. package/dist/model/common/ActivityRecord.js +13 -4
  277. package/dist/model/common/ActivityRecord.js.map +1 -1
  278. package/dist/model/common/CoordinateSystem.d.ts +6 -4
  279. package/dist/model/common/CoordinateSystem.js +22 -20
  280. package/dist/model/common/CoordinateSystem.js.map +1 -1
  281. package/dist/model/common/Document.js +1 -0
  282. package/dist/model/common/Document.js.map +1 -1
  283. package/dist/model/common/Location.d.ts +14 -4
  284. package/dist/model/common/Location.js +80 -35
  285. package/dist/model/common/Location.js.map +1 -1
  286. package/dist/model/common/Organisation.d.ts +2 -2
  287. package/dist/model/common/Organisation.js +22 -23
  288. package/dist/model/common/Organisation.js.map +1 -1
  289. package/dist/model/common/OrganisationRole.d.ts +3 -3
  290. package/dist/model/common/OrganisationRole.js +4 -3
  291. package/dist/model/common/OrganisationRole.js.map +1 -1
  292. package/dist/model/common/PositionPoint.d.ts +6 -4
  293. package/dist/model/common/PositionPoint.js +50 -36
  294. package/dist/model/common/PositionPoint.js.map +1 -1
  295. package/dist/model/common/Status.js +5 -1
  296. package/dist/model/common/Status.js.map +1 -1
  297. package/dist/model/core/ACDCTerminal.d.ts +3 -3
  298. package/dist/model/core/ACDCTerminal.js +11 -9
  299. package/dist/model/core/ACDCTerminal.js.map +1 -1
  300. package/dist/model/core/BaseVoltage.d.ts +7 -5
  301. package/dist/model/core/BaseVoltage.js +31 -29
  302. package/dist/model/core/BaseVoltage.js.map +1 -1
  303. package/dist/model/core/Bay.d.ts +5 -4
  304. package/dist/model/core/Bay.js +35 -30
  305. package/dist/model/core/Bay.js.map +1 -1
  306. package/dist/model/core/ConductingEquipment.d.ts +7 -3
  307. package/dist/model/core/ConductingEquipment.js +30 -4
  308. package/dist/model/core/ConductingEquipment.js.map +1 -1
  309. package/dist/model/core/ConnectivityNode.d.ts +6 -3
  310. package/dist/model/core/ConnectivityNode.js +93 -56
  311. package/dist/model/core/ConnectivityNode.js.map +1 -1
  312. package/dist/model/core/ConnectivityNodeContainer.js +2 -0
  313. package/dist/model/core/ConnectivityNodeContainer.js.map +1 -1
  314. package/dist/model/core/Curve.js +17 -5
  315. package/dist/model/core/Curve.js.map +1 -1
  316. package/dist/model/core/CurveData.d.ts +6 -0
  317. package/dist/model/core/CurveData.js +19 -6
  318. package/dist/model/core/CurveData.js.map +1 -1
  319. package/dist/model/core/Equipment.d.ts +5 -3
  320. package/dist/model/core/Equipment.js +22 -10
  321. package/dist/model/core/Equipment.js.map +1 -1
  322. package/dist/model/core/EquipmentContainer.d.ts +1 -0
  323. package/dist/model/core/EquipmentContainer.js +4 -1
  324. package/dist/model/core/EquipmentContainer.js.map +1 -1
  325. package/dist/model/core/Feeder.d.ts +19 -5
  326. package/dist/model/core/Feeder.js +36 -14
  327. package/dist/model/core/Feeder.js.map +1 -1
  328. package/dist/model/core/GeographicalRegion.d.ts +1 -0
  329. package/dist/model/core/GeographicalRegion.js +3 -2
  330. package/dist/model/core/GeographicalRegion.js.map +1 -1
  331. package/dist/model/core/IdentifiedObject.d.ts +64 -6
  332. package/dist/model/core/IdentifiedObject.js +126 -25
  333. package/dist/model/core/IdentifiedObject.js.map +1 -1
  334. package/dist/model/core/PSRType.d.ts +19 -4
  335. package/dist/model/core/PSRType.js +51 -20
  336. package/dist/model/core/PSRType.js.map +1 -1
  337. package/dist/model/core/PowerSystemResource.d.ts +5 -3
  338. package/dist/model/core/PowerSystemResource.js +27 -13
  339. package/dist/model/core/PowerSystemResource.js.map +1 -1
  340. package/dist/model/core/SubGeographicalRegion.d.ts +1 -0
  341. package/dist/model/core/SubGeographicalRegion.js +6 -4
  342. package/dist/model/core/SubGeographicalRegion.js.map +1 -1
  343. package/dist/model/core/Substation.d.ts +11 -4
  344. package/dist/model/core/Substation.js +51 -35
  345. package/dist/model/core/Substation.js.map +1 -1
  346. package/dist/model/core/Terminal.d.ts +19 -5
  347. package/dist/model/core/Terminal.js +103 -51
  348. package/dist/model/core/Terminal.js.map +1 -1
  349. package/dist/model/core/VoltageLevel.d.ts +6 -4
  350. package/dist/model/core/VoltageLevel.js +48 -36
  351. package/dist/model/core/VoltageLevel.js.map +1 -1
  352. package/dist/model/dc/ACDCConverter.d.ts +11 -0
  353. package/dist/model/dc/ACDCConverter.js +47 -23
  354. package/dist/model/dc/ACDCConverter.js.map +1 -1
  355. package/dist/model/dc/ACDCConverterDCTerminal.d.ts +1 -0
  356. package/dist/model/dc/ACDCConverterDCTerminal.js +7 -3
  357. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  358. package/dist/model/dc/CsConverter.d.ts +8 -0
  359. package/dist/model/dc/CsConverter.js +37 -16
  360. package/dist/model/dc/CsConverter.js.map +1 -1
  361. package/dist/model/dc/CsOperatingModeKind.js +1 -1
  362. package/dist/model/dc/CsOperatingModeKind.js.map +1 -1
  363. package/dist/model/dc/DCBaseTerminal.js +4 -2
  364. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  365. package/dist/model/dc/DCConductingEquipment.js +1 -4
  366. package/dist/model/dc/DCConductingEquipment.js.map +1 -1
  367. package/dist/model/dc/DCConverterUnit.d.ts +1 -0
  368. package/dist/model/dc/DCConverterUnit.js +7 -3
  369. package/dist/model/dc/DCConverterUnit.js.map +1 -1
  370. package/dist/model/dc/DCEquipmentContainer.js +1 -4
  371. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  372. package/dist/model/dc/DCLine.js +21 -19
  373. package/dist/model/dc/DCLine.js.map +1 -1
  374. package/dist/model/dc/DCLineSegment.d.ts +5 -0
  375. package/dist/model/dc/DCLineSegment.js +38 -29
  376. package/dist/model/dc/DCLineSegment.js.map +1 -1
  377. package/dist/model/dc/DCNode.d.ts +2 -0
  378. package/dist/model/dc/DCNode.js +7 -3
  379. package/dist/model/dc/DCNode.js.map +1 -1
  380. package/dist/model/dc/DCTerminal.d.ts +1 -0
  381. package/dist/model/dc/DCTerminal.js +5 -2
  382. package/dist/model/dc/DCTerminal.js.map +1 -1
  383. package/dist/model/dc/VsConverter.d.ts +3 -0
  384. package/dist/model/dc/VsConverter.js +28 -16
  385. package/dist/model/dc/VsConverter.js.map +1 -1
  386. package/dist/model/diagram/Diagram.d.ts +5 -4
  387. package/dist/model/diagram/Diagram.js +39 -27
  388. package/dist/model/diagram/Diagram.js.map +1 -1
  389. package/dist/model/diagram/DiagramObject.d.ts +6 -4
  390. package/dist/model/diagram/DiagramObject.js +68 -41
  391. package/dist/model/diagram/DiagramObject.js.map +1 -1
  392. package/dist/model/diagram/DiagramObjectPoint.d.ts +5 -5
  393. package/dist/model/diagram/DiagramObjectPoint.js +62 -57
  394. package/dist/model/diagram/DiagramObjectPoint.js.map +1 -1
  395. package/dist/model/diagram/DiagramStyle.d.ts +1 -0
  396. package/dist/model/diagram/DiagramStyle.js +4 -3
  397. package/dist/model/diagram/DiagramStyle.js.map +1 -1
  398. package/dist/model/domain/ActivePower.js +3 -0
  399. package/dist/model/domain/ActivePower.js.map +1 -1
  400. package/dist/model/domain/AngleDegrees.js +3 -0
  401. package/dist/model/domain/AngleDegrees.js.map +1 -1
  402. package/dist/model/domain/ApparentPower.js +3 -0
  403. package/dist/model/domain/ApparentPower.js.map +1 -1
  404. package/dist/model/domain/Capacitance.js +3 -0
  405. package/dist/model/domain/Capacitance.js.map +1 -1
  406. package/dist/model/domain/CapacitancePerLength.js +3 -0
  407. package/dist/model/domain/CapacitancePerLength.js.map +1 -1
  408. package/dist/model/domain/ConductancePerLength.js +3 -0
  409. package/dist/model/domain/ConductancePerLength.js.map +1 -1
  410. package/dist/model/domain/CurrentFlow.js +3 -0
  411. package/dist/model/domain/CurrentFlow.js.map +1 -1
  412. package/dist/model/domain/Reactance.js +3 -0
  413. package/dist/model/domain/Reactance.js.map +1 -1
  414. package/dist/model/domain/ReactancePerLength.js +3 -0
  415. package/dist/model/domain/ReactancePerLength.js.map +1 -1
  416. package/dist/model/domain/ReactivePower.js +3 -0
  417. package/dist/model/domain/ReactivePower.js.map +1 -1
  418. package/dist/model/domain/Resistance.js +3 -0
  419. package/dist/model/domain/Resistance.js.map +1 -1
  420. package/dist/model/domain/ResistancePerLength.js +3 -0
  421. package/dist/model/domain/ResistancePerLength.js.map +1 -1
  422. package/dist/model/domain/Voltage.js +3 -0
  423. package/dist/model/domain/Voltage.js.map +1 -1
  424. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js +2 -1
  425. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/DynamicsFunctionBlock.js.map +1 -1
  426. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js +6 -0
  427. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/RotatingMachineDynamics.js.map +1 -1
  428. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js +4 -0
  429. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDetailed.js.map +1 -1
  430. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js +2 -1
  431. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineDynamics.js.map +1 -1
  432. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.d.ts +61 -0
  433. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js +88 -13
  434. package/dist/model/dynamics/standard-models/synchronous-machine-dynamics/SynchronousMachineTimeConstantReactance.js.map +1 -1
  435. package/dist/model/equivalents/EquivalentBranch.d.ts +10 -4
  436. package/dist/model/equivalents/EquivalentBranch.js +116 -94
  437. package/dist/model/equivalents/EquivalentBranch.js.map +1 -1
  438. package/dist/model/equivalents/EquivalentInjection.d.ts +1 -0
  439. package/dist/model/equivalents/EquivalentInjection.js +41 -25
  440. package/dist/model/equivalents/EquivalentInjection.js.map +1 -1
  441. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.d.ts +5 -2
  442. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +19 -17
  443. package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -1
  444. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.d.ts +5 -2
  445. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +19 -17
  446. package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -1
  447. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.d.ts +5 -2
  448. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +19 -17
  449. package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -1
  450. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.d.ts +5 -2
  451. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +19 -17
  452. package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -1
  453. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.d.ts +8 -3
  454. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js +30 -15
  455. package/dist/model/extensions/amprion/assets/AMPRIONConstructionContainer.js.map +1 -1
  456. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.d.ts +5 -2
  457. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +19 -17
  458. package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -1
  459. package/dist/model/extensions/amprion/assets/AMPRIONCountry.d.ts +5 -2
  460. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +23 -21
  461. package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -1
  462. package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +8 -3
  463. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +42 -20
  464. package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
  465. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.d.ts +5 -2
  466. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +19 -17
  467. package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -1
  468. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.d.ts +5 -2
  469. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +19 -17
  470. package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -1
  471. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.d.ts +5 -2
  472. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +19 -17
  473. package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -1
  474. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.d.ts +8 -3
  475. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js +44 -16
  476. package/dist/model/extensions/amprion/assets/AMPRIONSpanField.js.map +1 -1
  477. package/dist/model/extensions/amprion/assets/AMPRIONState.d.ts +7 -4
  478. package/dist/model/extensions/amprion/assets/AMPRIONState.js +30 -27
  479. package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -1
  480. package/dist/model/extensions/amprion/assets/AMPRIONTeam.d.ts +5 -2
  481. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js +22 -19
  482. package/dist/model/extensions/amprion/assets/AMPRIONTeam.js.map +1 -1
  483. package/dist/model/extensions/amprion/assets/AMPRIONTower.d.ts +8 -3
  484. package/dist/model/extensions/amprion/assets/AMPRIONTower.js +57 -27
  485. package/dist/model/extensions/amprion/assets/AMPRIONTower.js.map +1 -1
  486. package/dist/model/extensions/amprion/assets/AMPRIONWire.d.ts +8 -3
  487. package/dist/model/extensions/amprion/assets/AMPRIONWire.js +63 -26
  488. package/dist/model/extensions/amprion/assets/AMPRIONWire.js.map +1 -1
  489. package/dist/model/extensions/amprion/core/AMPRIONBay.d.ts +7 -3
  490. package/dist/model/extensions/amprion/core/AMPRIONBay.js +15 -10
  491. package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
  492. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +4 -0
  493. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +9 -3
  494. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  495. package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +5 -3
  496. package/dist/model/extensions/amprion/core/AMPRIONLine.js +12 -9
  497. package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
  498. package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +8 -3
  499. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +18 -11
  500. package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
  501. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.d.ts +8 -0
  502. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js +44 -0
  503. package/dist/model/extensions/amprion/operationallimits/AMPRIONMaxInstrumentalCurrentLimit.js.map +1 -0
  504. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.d.ts +8 -0
  505. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js +44 -0
  506. package/dist/model/extensions/amprion/operationallimits/AMPRIONProtectionCurrentLimit.js.map +1 -0
  507. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.d.ts +8 -0
  508. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js +44 -0
  509. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalConnectionCurrentLimit.js.map +1 -0
  510. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.d.ts +8 -0
  511. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js +44 -0
  512. package/dist/model/extensions/amprion/operationallimits/AMPRIONThermalCurrentLimit.js.map +1 -0
  513. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.d.ts +3 -3
  514. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js +51 -29
  515. package/dist/model/extensions/amprion/project/AMPRIONConstructionProject.js.map +1 -1
  516. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.d.ts +3 -3
  517. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js +11 -10
  518. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectBundle.js.map +1 -1
  519. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.d.ts +2 -2
  520. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js +6 -7
  521. package/dist/model/extensions/amprion/project/AMPRIONConstructionProjectPlan.js.map +1 -1
  522. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js +4 -2
  523. package/dist/model/extensions/amprion/project/AMPRIONErpProject.js.map +1 -1
  524. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.d.ts +3 -3
  525. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js +20 -14
  526. package/dist/model/extensions/amprion/project/AMPRIONErpProjectPhase.js.map +1 -1
  527. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js +15 -8
  528. package/dist/model/extensions/amprion/project/AMPRIONErpProjectStructure.js.map +1 -1
  529. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.d.ts +9 -4
  530. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js +14 -9
  531. package/dist/model/extensions/amprion/wires/AMPRIONACLineSegment.js.map +1 -1
  532. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.d.ts +7 -3
  533. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js +37 -31
  534. package/dist/model/extensions/amprion/wires/AMPRIONACLineSubSegment.js.map +1 -1
  535. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.d.ts +4 -0
  536. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js +8 -3
  537. package/dist/model/extensions/amprion/wires/AMPRIONSeriesCompensator.js.map +1 -1
  538. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.d.ts +9 -4
  539. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js +54 -41
  540. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerEndInfo.js.map +1 -1
  541. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.d.ts +12 -3
  542. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js +72 -37
  543. package/dist/model/extensions/enervance/assetinfo/EVPowerTransformerInfo.js.map +1 -1
  544. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.d.ts +7 -3
  545. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js +38 -32
  546. package/dist/model/extensions/enervance/assetinfo/EVStationInfo.js.map +1 -1
  547. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.d.ts +5 -4
  548. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js +28 -25
  549. package/dist/model/extensions/enervance/assetinfo/EVTapChangerInfo.js.map +1 -1
  550. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.d.ts +8 -3
  551. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js +78 -62
  552. package/dist/model/extensions/enervance/assetinfo/EVWireInfo.js.map +1 -1
  553. package/dist/model/extensions/enervance/assets/EVAnalytic.d.ts +3 -3
  554. package/dist/model/extensions/enervance/assets/EVAnalytic.js +16 -16
  555. package/dist/model/extensions/enervance/assets/EVAnalytic.js.map +1 -1
  556. package/dist/model/extensions/enervance/assets/EVImportanceKind.d.ts +7 -0
  557. package/dist/model/extensions/enervance/assets/EVImportanceKind.js +12 -0
  558. package/dist/model/extensions/enervance/assets/EVImportanceKind.js.map +1 -0
  559. package/dist/model/extensions/enervance/assets/EVImportanceScore.d.ts +2 -2
  560. package/dist/model/extensions/enervance/assets/EVImportanceScore.js +22 -23
  561. package/dist/model/extensions/enervance/assets/EVImportanceScore.js.map +1 -1
  562. package/dist/model/extensions/enervance/assets/EVIndicator.d.ts +3 -3
  563. package/dist/model/extensions/enervance/assets/EVIndicator.js +26 -25
  564. package/dist/model/extensions/enervance/assets/EVIndicator.js.map +1 -1
  565. package/dist/model/extensions/enervance/assets/EVPriorityKind.d.ts +7 -0
  566. package/dist/model/extensions/enervance/assets/EVPriorityKind.js +12 -0
  567. package/dist/model/extensions/enervance/assets/EVPriorityKind.js.map +1 -0
  568. package/dist/model/extensions/enervance/assets/EVWireObject.d.ts +19 -5
  569. package/dist/model/extensions/enervance/assets/EVWireObject.js +114 -63
  570. package/dist/model/extensions/enervance/assets/EVWireObject.js.map +1 -1
  571. package/dist/model/extensions/enervance/core/EVTerminal.d.ts +2 -2
  572. package/dist/model/extensions/enervance/core/EVTerminal.js +6 -6
  573. package/dist/model/extensions/enervance/core/EVTerminal.js.map +1 -1
  574. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.d.ts +34 -0
  575. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js +114 -0
  576. package/dist/model/extensions/enervance/generic-data-set/EVMetaObject.js.map +1 -0
  577. package/dist/model/extensions/enervance/operations/EVTerminalAction.d.ts +6 -4
  578. package/dist/model/extensions/enervance/operations/EVTerminalAction.js +34 -19
  579. package/dist/model/extensions/enervance/operations/EVTerminalAction.js.map +1 -1
  580. package/dist/model/extensions/enervance/wires/EVACLineSegment.d.ts +7 -4
  581. package/dist/model/extensions/enervance/wires/EVACLineSegment.js +44 -42
  582. package/dist/model/extensions/enervance/wires/EVACLineSegment.js.map +1 -1
  583. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.d.ts +5 -4
  584. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js +41 -37
  585. package/dist/model/extensions/enervance/wires/EVACLineSubSegment.js.map +1 -1
  586. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.d.ts +4 -0
  587. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js +15 -6
  588. package/dist/model/extensions/integral/common/INTEGRALMultiplierFactor.js.map +1 -1
  589. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.d.ts +1 -0
  590. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js +6 -3
  591. package/dist/model/extensions/integral/equivalents/INTEGRALEquivalentInjection.js.map +1 -1
  592. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.d.ts +1 -0
  593. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js +8 -4
  594. package/dist/model/extensions/integral/loadmodel/INTEGRALConformLoad.js.map +1 -1
  595. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.d.ts +1 -0
  596. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js +4 -2
  597. package/dist/model/extensions/integral/wires/INTEGRALACLineSegment.js.map +1 -1
  598. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.d.ts +1 -0
  599. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js +10 -5
  600. package/dist/model/extensions/integral/wires/INTEGRALAsynchronousMachine.js.map +1 -1
  601. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.d.ts +1 -0
  602. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js +10 -5
  603. package/dist/model/extensions/integral/wires/INTEGRALExternalNetworkInjection.js.map +1 -1
  604. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.d.ts +1 -0
  605. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js +9 -4
  606. package/dist/model/extensions/integral/wires/INTEGRALSynchronousMachine.js.map +1 -1
  607. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.d.ts +17 -7
  608. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js +71 -19
  609. package/dist/model/extensions/neplan-westnetz/assets/WNFacility.js.map +1 -1
  610. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js +2 -3
  611. package/dist/model/extensions/neplan-westnetz/assets/WNFacilityKind.js.map +1 -1
  612. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.d.ts +7 -3
  613. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js +46 -36
  614. package/dist/model/extensions/neplan-westnetz/assets/WNWireInfo.js.map +1 -1
  615. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.d.ts +12 -0
  616. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js +60 -0
  617. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOHealthScore.js.map +1 -0
  618. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.d.ts +11 -0
  619. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js +55 -0
  620. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOImportanceScore.js.map +1 -0
  621. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.d.ts +12 -0
  622. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js +60 -0
  623. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOPriority.js.map +1 -0
  624. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.d.ts +7 -0
  625. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js +12 -0
  626. package/dist/model/extensions/neplan-westnetz/assets/WNZUWOState.js.map +1 -0
  627. package/dist/model/extensions/neplan-westnetz/common/WNLocation.d.ts +10 -4
  628. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js +36 -29
  629. package/dist/model/extensions/neplan-westnetz/common/WNLocation.js.map +1 -1
  630. package/dist/model/extensions/neplan-westnetz/core/WNBay.d.ts +5 -4
  631. package/dist/model/extensions/neplan-westnetz/core/WNBay.js +34 -31
  632. package/dist/model/extensions/neplan-westnetz/core/WNBay.js.map +1 -1
  633. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.d.ts +22 -5
  634. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js +230 -101
  635. package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
  636. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.d.ts +16 -4
  637. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js +89 -34
  638. package/dist/model/extensions/neplan-westnetz/core/WNFeeder.js.map +1 -1
  639. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js +1 -1
  640. package/dist/model/extensions/neplan-westnetz/core/WNSwitchTypeKind.js.map +1 -1
  641. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.d.ts +5 -3
  642. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js +23 -19
  643. package/dist/model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode.js.map +1 -1
  644. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.d.ts +7 -4
  645. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js +18 -13
  646. package/dist/model/extensions/neplan-westnetz/operations/WNOutage.js.map +1 -1
  647. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.d.ts +4 -4
  648. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js +52 -49
  649. package/dist/model/extensions/neplan-westnetz/wires/WNACLineSegment.js.map +1 -1
  650. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.d.ts +34 -3
  651. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js +213 -137
  652. package/dist/model/extensions/neplan-westnetz/wires/WNEnergyConsumer.js.map +1 -1
  653. package/dist/model/faults/Fault.d.ts +4 -2
  654. package/dist/model/faults/Fault.js +5 -0
  655. package/dist/model/faults/Fault.js.map +1 -1
  656. package/dist/model/generation/FossilFuel.d.ts +1 -0
  657. package/dist/model/generation/FossilFuel.js +7 -3
  658. package/dist/model/generation/FossilFuel.js.map +1 -1
  659. package/dist/model/generation/GeneratingUnit.d.ts +12 -4
  660. package/dist/model/generation/GeneratingUnit.js +81 -58
  661. package/dist/model/generation/GeneratingUnit.js.map +1 -1
  662. package/dist/model/generation/HydroGeneratingUnit.d.ts +1 -0
  663. package/dist/model/generation/HydroGeneratingUnit.js +5 -2
  664. package/dist/model/generation/HydroGeneratingUnit.js.map +1 -1
  665. package/dist/model/generation/HydroPowerPlant.js +2 -2
  666. package/dist/model/generation/HydroPowerPlant.js.map +1 -1
  667. package/dist/model/generation/HydroPump.js +2 -0
  668. package/dist/model/generation/HydroPump.js.map +1 -1
  669. package/dist/model/generation/SolarGeneratingUnit.d.ts +1 -0
  670. package/dist/model/generation/SolarGeneratingUnit.js +2 -1
  671. package/dist/model/generation/SolarGeneratingUnit.js.map +1 -1
  672. package/dist/model/generation/ThermalGeneratingUnit.d.ts +1 -0
  673. package/dist/model/generation/ThermalGeneratingUnit.js +3 -2
  674. package/dist/model/generation/ThermalGeneratingUnit.js.map +1 -1
  675. package/dist/model/generation/WindGeneratingUnit.d.ts +3 -0
  676. package/dist/model/generation/WindGeneratingUnit.js +15 -11
  677. package/dist/model/generation/WindGeneratingUnit.js.map +1 -1
  678. package/dist/model/generic-data-set/ChangeSet.d.ts +9 -1
  679. package/dist/model/generic-data-set/ChangeSet.js +58 -2
  680. package/dist/model/generic-data-set/ChangeSet.js.map +1 -1
  681. package/dist/model/generic-data-set/ChangeSetMember.d.ts +34 -4
  682. package/dist/model/generic-data-set/ChangeSetMember.js +73 -4
  683. package/dist/model/generic-data-set/ChangeSetMember.js.map +1 -1
  684. package/dist/model/generic-data-set/DataSet.d.ts +10 -1
  685. package/dist/model/generic-data-set/DataSet.js +19 -0
  686. package/dist/model/generic-data-set/DataSet.js.map +1 -1
  687. package/dist/model/generic-data-set/InstanceSet.js +2 -2
  688. package/dist/model/generic-data-set/InstanceSet.js.map +1 -1
  689. package/dist/model/generic-data-set/ObjectCreation.d.ts +7 -1
  690. package/dist/model/generic-data-set/ObjectCreation.js +50 -6
  691. package/dist/model/generic-data-set/ObjectCreation.js.map +1 -1
  692. package/dist/model/generic-data-set/ObjectDeletion.d.ts +7 -1
  693. package/dist/model/generic-data-set/ObjectDeletion.js +50 -6
  694. package/dist/model/generic-data-set/ObjectDeletion.js.map +1 -1
  695. package/dist/model/generic-data-set/ObjectModification.d.ts +8 -1
  696. package/dist/model/generic-data-set/ObjectModification.js +58 -2
  697. package/dist/model/generic-data-set/ObjectModification.js.map +1 -1
  698. package/dist/model/generic-data-set/ObjectReverseModification.d.ts +8 -1
  699. package/dist/model/generic-data-set/ObjectReverseModification.js +52 -2
  700. package/dist/model/generic-data-set/ObjectReverseModification.js.map +1 -1
  701. package/dist/model/loadmodel/ConformLoad.d.ts +1 -0
  702. package/dist/model/loadmodel/ConformLoad.js +8 -5
  703. package/dist/model/loadmodel/ConformLoad.js.map +1 -1
  704. package/dist/model/loadmodel/ConformLoadGroup.js +4 -4
  705. package/dist/model/loadmodel/ConformLoadGroup.js.map +1 -1
  706. package/dist/model/loadmodel/EnergyArea.d.ts +5 -0
  707. package/dist/model/loadmodel/EnergyArea.js +5 -0
  708. package/dist/model/loadmodel/EnergyArea.js.map +1 -1
  709. package/dist/model/loadmodel/LoadArea.d.ts +6 -0
  710. package/dist/model/loadmodel/LoadArea.js +11 -5
  711. package/dist/model/loadmodel/LoadArea.js.map +1 -1
  712. package/dist/model/loadmodel/LoadGroup.js +3 -1
  713. package/dist/model/loadmodel/LoadGroup.js.map +1 -1
  714. package/dist/model/loadmodel/SubLoadArea.d.ts +7 -0
  715. package/dist/model/loadmodel/SubLoadArea.js +15 -6
  716. package/dist/model/loadmodel/SubLoadArea.js.map +1 -1
  717. package/dist/model/meas/Analog.js +4 -0
  718. package/dist/model/meas/Analog.js.map +1 -1
  719. package/dist/model/meas/Measurement.js +4 -0
  720. package/dist/model/meas/Measurement.js.map +1 -1
  721. package/dist/model/model-description/FullModel.d.ts +7 -0
  722. package/dist/model/model-description/FullModel.js +24 -0
  723. package/dist/model/model-description/FullModel.js.map +1 -0
  724. package/dist/model/model-description/Model.d.ts +23 -0
  725. package/dist/model/model-description/Model.js +86 -0
  726. package/dist/model/model-description/Model.js.map +1 -0
  727. package/dist/model/model-operations/DatasetArg.d.ts +1 -1
  728. package/dist/model/model-operations/DatasetArg.js +3 -2
  729. package/dist/model/model-operations/DatasetArg.js.map +1 -1
  730. package/dist/model/model-operations/IncrementalDatasetArg.d.ts +9 -1
  731. package/dist/model/model-operations/IncrementalDatasetArg.js +59 -2
  732. package/dist/model/model-operations/IncrementalDatasetArg.js.map +1 -1
  733. package/dist/model/model-operations/IncrementalDatasetArgDescription.d.ts +5 -0
  734. package/dist/model/model-operations/IncrementalDatasetArgDescription.js +37 -1
  735. package/dist/model/model-operations/IncrementalDatasetArgDescription.js.map +1 -1
  736. package/dist/model/model-operations/ModelOperation.d.ts +14 -2
  737. package/dist/model/model-operations/ModelOperation.js +70 -1
  738. package/dist/model/model-operations/ModelOperation.js.map +1 -1
  739. package/dist/model/model-operations/ModelOperationArg.d.ts +7 -1
  740. package/dist/model/model-operations/ModelOperationArg.js +17 -1
  741. package/dist/model/model-operations/ModelOperationArg.js.map +1 -1
  742. package/dist/model/model-operations/ModelOperationArgDescription.d.ts +4 -0
  743. package/dist/model/model-operations/ModelOperationArgDescription.js +15 -0
  744. package/dist/model/model-operations/ModelOperationArgDescription.js.map +1 -1
  745. package/dist/model/model-operations/ModelOperationDescription.d.ts +13 -1
  746. package/dist/model/model-operations/ModelOperationDescription.js +76 -2
  747. package/dist/model/model-operations/ModelOperationDescription.js.map +1 -1
  748. package/dist/model/operationallimits/CurrentLimit.d.ts +5 -4
  749. package/dist/model/operationallimits/CurrentLimit.js +26 -25
  750. package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
  751. package/dist/model/operationallimits/OperationalLimit.d.ts +3 -3
  752. package/dist/model/operationallimits/OperationalLimit.js +9 -4
  753. package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
  754. package/dist/model/operationallimits/OperationalLimitSet.d.ts +5 -4
  755. package/dist/model/operationallimits/OperationalLimitSet.js +32 -25
  756. package/dist/model/operationallimits/OperationalLimitSet.js.map +1 -1
  757. package/dist/model/operationallimits/OperationalLimitType.d.ts +3 -2
  758. package/dist/model/operationallimits/OperationalLimitType.js +28 -22
  759. package/dist/model/operationallimits/OperationalLimitType.js.map +1 -1
  760. package/dist/model/operationallimits/VoltageLimit.d.ts +1 -0
  761. package/dist/model/operationallimits/VoltageLimit.js +5 -2
  762. package/dist/model/operationallimits/VoltageLimit.js.map +1 -1
  763. package/dist/model/operations/ControlArea.d.ts +1 -0
  764. package/dist/model/operations/ControlArea.js +7 -6
  765. package/dist/model/operations/ControlArea.js.map +1 -1
  766. package/dist/model/operations/Outage.d.ts +6 -3
  767. package/dist/model/operations/Outage.js +9 -1
  768. package/dist/model/operations/Outage.js.map +1 -1
  769. package/dist/model/operations/SwitchAction.d.ts +6 -4
  770. package/dist/model/operations/SwitchAction.js +23 -18
  771. package/dist/model/operations/SwitchAction.js.map +1 -1
  772. package/dist/model/operations/SwitchingAction.d.ts +2 -2
  773. package/dist/model/operations/SwitchingAction.js +3 -0
  774. package/dist/model/operations/SwitchingAction.js.map +1 -1
  775. package/dist/model/operations/SwitchingPlan.d.ts +14 -3
  776. package/dist/model/operations/SwitchingPlan.js +27 -8
  777. package/dist/model/operations/SwitchingPlan.js.map +1 -1
  778. package/dist/model/statevariables/StateVariable.js +1 -0
  779. package/dist/model/statevariables/StateVariable.js.map +1 -1
  780. package/dist/model/statevariables/SvPowerFlow.d.ts +5 -4
  781. package/dist/model/statevariables/SvPowerFlow.js +33 -27
  782. package/dist/model/statevariables/SvPowerFlow.js.map +1 -1
  783. package/dist/model/statevariables/SvStatus.d.ts +1 -0
  784. package/dist/model/statevariables/SvStatus.js +8 -5
  785. package/dist/model/statevariables/SvStatus.js.map +1 -1
  786. package/dist/model/statevariables/SvTapStep.d.ts +1 -0
  787. package/dist/model/statevariables/SvTapStep.js +8 -4
  788. package/dist/model/statevariables/SvTapStep.js.map +1 -1
  789. package/dist/model/statevariables/SvVoltage.d.ts +4 -4
  790. package/dist/model/statevariables/SvVoltage.js +27 -23
  791. package/dist/model/statevariables/SvVoltage.js.map +1 -1
  792. package/dist/model/topology/TopologicalIsland.js +22 -20
  793. package/dist/model/topology/TopologicalIsland.js.map +1 -1
  794. package/dist/model/topology/TopologicalNode.d.ts +5 -4
  795. package/dist/model/topology/TopologicalNode.js +51 -35
  796. package/dist/model/topology/TopologicalNode.js.map +1 -1
  797. package/dist/model/wires/ACLineSegment.d.ts +9 -4
  798. package/dist/model/wires/ACLineSegment.js +85 -70
  799. package/dist/model/wires/ACLineSegment.js.map +1 -1
  800. package/dist/model/wires/AsynchronousMachine.d.ts +1 -0
  801. package/dist/model/wires/AsynchronousMachine.js +29 -18
  802. package/dist/model/wires/AsynchronousMachine.js.map +1 -1
  803. package/dist/model/wires/Breaker.d.ts +5 -4
  804. package/dist/model/wires/Breaker.js +34 -34
  805. package/dist/model/wires/Breaker.js.map +1 -1
  806. package/dist/model/wires/BusbarSection.d.ts +5 -4
  807. package/dist/model/wires/BusbarSection.js +27 -25
  808. package/dist/model/wires/BusbarSection.js.map +1 -1
  809. package/dist/model/wires/Clamp.js +10 -10
  810. package/dist/model/wires/Clamp.js.map +1 -1
  811. package/dist/model/wires/CompositeSwitch.js +1 -0
  812. package/dist/model/wires/CompositeSwitch.js.map +1 -1
  813. package/dist/model/wires/Conductor.d.ts +4 -3
  814. package/dist/model/wires/Conductor.js +6 -4
  815. package/dist/model/wires/Conductor.js.map +1 -1
  816. package/dist/model/wires/Disconnector.d.ts +5 -4
  817. package/dist/model/wires/Disconnector.js +36 -35
  818. package/dist/model/wires/Disconnector.js.map +1 -1
  819. package/dist/model/wires/EarthFaultCompensator.d.ts +1 -1
  820. package/dist/model/wires/EarthFaultCompensator.js +3 -2
  821. package/dist/model/wires/EarthFaultCompensator.js.map +1 -1
  822. package/dist/model/wires/EnergyConsumer.d.ts +9 -5
  823. package/dist/model/wires/EnergyConsumer.js +72 -49
  824. package/dist/model/wires/EnergyConsumer.js.map +1 -1
  825. package/dist/model/wires/EnergySource.d.ts +10 -5
  826. package/dist/model/wires/EnergySource.js +41 -24
  827. package/dist/model/wires/EnergySource.js.map +1 -1
  828. package/dist/model/wires/ExternalNetworkInjection.d.ts +5 -4
  829. package/dist/model/wires/ExternalNetworkInjection.js +122 -97
  830. package/dist/model/wires/ExternalNetworkInjection.js.map +1 -1
  831. package/dist/model/wires/Ground.js +14 -13
  832. package/dist/model/wires/Ground.js.map +1 -1
  833. package/dist/model/wires/GroundDisconnector.js +17 -13
  834. package/dist/model/wires/GroundDisconnector.js.map +1 -1
  835. package/dist/model/wires/GroundingImpedance.d.ts +1 -0
  836. package/dist/model/wires/GroundingImpedance.js +4 -2
  837. package/dist/model/wires/GroundingImpedance.js.map +1 -1
  838. package/dist/model/wires/Junction.d.ts +3 -2
  839. package/dist/model/wires/Junction.js +25 -24
  840. package/dist/model/wires/Junction.js.map +1 -1
  841. package/dist/model/wires/Line.d.ts +5 -4
  842. package/dist/model/wires/Line.js +33 -32
  843. package/dist/model/wires/Line.js.map +1 -1
  844. package/dist/model/wires/LinearShuntCompensator.d.ts +1 -0
  845. package/dist/model/wires/LinearShuntCompensator.js +19 -14
  846. package/dist/model/wires/LinearShuntCompensator.js.map +1 -1
  847. package/dist/model/wires/LoadBreakSwitch.d.ts +4 -4
  848. package/dist/model/wires/LoadBreakSwitch.js +34 -34
  849. package/dist/model/wires/LoadBreakSwitch.js.map +1 -1
  850. package/dist/model/wires/PetersenCoil.d.ts +4 -3
  851. package/dist/model/wires/PetersenCoil.js +50 -40
  852. package/dist/model/wires/PetersenCoil.js.map +1 -1
  853. package/dist/model/wires/PhaseTapChanger.js +3 -1
  854. package/dist/model/wires/PhaseTapChanger.js.map +1 -1
  855. package/dist/model/wires/PhaseTapChangerAsymmetrical.d.ts +1 -0
  856. package/dist/model/wires/PhaseTapChangerAsymmetrical.js +5 -3
  857. package/dist/model/wires/PhaseTapChangerAsymmetrical.js.map +1 -1
  858. package/dist/model/wires/PhaseTapChangerLinear.d.ts +1 -0
  859. package/dist/model/wires/PhaseTapChangerLinear.js +11 -7
  860. package/dist/model/wires/PhaseTapChangerLinear.js.map +1 -1
  861. package/dist/model/wires/PhaseTapChangerNonLinear.js +9 -6
  862. package/dist/model/wires/PhaseTapChangerNonLinear.js.map +1 -1
  863. package/dist/model/wires/PhaseTapChangerSymmetrical.d.ts +1 -0
  864. package/dist/model/wires/PhaseTapChangerSymmetrical.js +2 -1
  865. package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
  866. package/dist/model/wires/PhaseTapChangerTable.d.ts +1 -0
  867. package/dist/model/wires/PhaseTapChangerTable.js +5 -2
  868. package/dist/model/wires/PhaseTapChangerTable.js.map +1 -1
  869. package/dist/model/wires/PhaseTapChangerTablePoint.d.ts +1 -0
  870. package/dist/model/wires/PhaseTapChangerTablePoint.js +8 -4
  871. package/dist/model/wires/PhaseTapChangerTablePoint.js.map +1 -1
  872. package/dist/model/wires/PhaseTapChangerTabular.d.ts +1 -0
  873. package/dist/model/wires/PhaseTapChangerTabular.js +5 -2
  874. package/dist/model/wires/PhaseTapChangerTabular.js.map +1 -1
  875. package/dist/model/wires/Plant.js +1 -1
  876. package/dist/model/wires/Plant.js.map +1 -1
  877. package/dist/model/wires/PowerTransformer.d.ts +7 -5
  878. package/dist/model/wires/PowerTransformer.js +49 -48
  879. package/dist/model/wires/PowerTransformer.js.map +1 -1
  880. package/dist/model/wires/PowerTransformerEnd.d.ts +5 -4
  881. package/dist/model/wires/PowerTransformerEnd.js +69 -64
  882. package/dist/model/wires/PowerTransformerEnd.js.map +1 -1
  883. package/dist/model/wires/RatioTapChanger.d.ts +22 -0
  884. package/dist/model/wires/RatioTapChanger.js +35 -5
  885. package/dist/model/wires/RatioTapChanger.js.map +1 -1
  886. package/dist/model/wires/RatioTapChangerTable.d.ts +1 -0
  887. package/dist/model/wires/RatioTapChangerTable.js +5 -2
  888. package/dist/model/wires/RatioTapChangerTable.js.map +1 -1
  889. package/dist/model/wires/RatioTapChangerTablePoint.d.ts +1 -0
  890. package/dist/model/wires/RatioTapChangerTablePoint.js +6 -3
  891. package/dist/model/wires/RatioTapChangerTablePoint.js.map +1 -1
  892. package/dist/model/wires/ReactiveCapabilityCurve.d.ts +1 -0
  893. package/dist/model/wires/ReactiveCapabilityCurve.js +3 -2
  894. package/dist/model/wires/ReactiveCapabilityCurve.js.map +1 -1
  895. package/dist/model/wires/Recloser.js +10 -10
  896. package/dist/model/wires/Recloser.js.map +1 -1
  897. package/dist/model/wires/RegulatingCondEq.d.ts +3 -3
  898. package/dist/model/wires/RegulatingCondEq.js +10 -5
  899. package/dist/model/wires/RegulatingCondEq.js.map +1 -1
  900. package/dist/model/wires/RegulatingControl.d.ts +6 -4
  901. package/dist/model/wires/RegulatingControl.js +76 -54
  902. package/dist/model/wires/RegulatingControl.js.map +1 -1
  903. package/dist/model/wires/RotatingMachine.d.ts +3 -3
  904. package/dist/model/wires/RotatingMachine.js +33 -16
  905. package/dist/model/wires/RotatingMachine.js.map +1 -1
  906. package/dist/model/wires/SeriesCompensator.d.ts +5 -4
  907. package/dist/model/wires/SeriesCompensator.js +68 -61
  908. package/dist/model/wires/SeriesCompensator.js.map +1 -1
  909. package/dist/model/wires/ShuntCompensator.js +22 -13
  910. package/dist/model/wires/ShuntCompensator.js.map +1 -1
  911. package/dist/model/wires/StaticVarCompensator.d.ts +1 -0
  912. package/dist/model/wires/StaticVarCompensator.js +20 -13
  913. package/dist/model/wires/StaticVarCompensator.js.map +1 -1
  914. package/dist/model/wires/Switch.d.ts +6 -4
  915. package/dist/model/wires/Switch.js +64 -45
  916. package/dist/model/wires/Switch.js.map +1 -1
  917. package/dist/model/wires/SynchronousMachine.d.ts +5 -4
  918. package/dist/model/wires/SynchronousMachine.js +135 -104
  919. package/dist/model/wires/SynchronousMachine.js.map +1 -1
  920. package/dist/model/wires/TapChanger.js +32 -16
  921. package/dist/model/wires/TapChanger.js.map +1 -1
  922. package/dist/model/wires/TapChangerControl.js +2 -2
  923. package/dist/model/wires/TapChangerControl.js.map +1 -1
  924. package/dist/model/wires/TapChangerTablePoint.js +19 -12
  925. package/dist/model/wires/TapChangerTablePoint.js.map +1 -1
  926. package/dist/model/wires/TransformerEnd.d.ts +3 -3
  927. package/dist/model/wires/TransformerEnd.js +28 -9
  928. package/dist/model/wires/TransformerEnd.js.map +1 -1
  929. package/dist/model-container/enum/EVModelTypeKind.d.ts +4 -0
  930. package/dist/model-container/enum/EVModelTypeKind.js +9 -0
  931. package/dist/model-container/enum/EVModelTypeKind.js.map +1 -0
  932. package/dist/model-container/enum/EVObjectTypeKind.d.ts +143 -0
  933. package/dist/model-container/enum/EVObjectTypeKind.js +177 -0
  934. package/dist/model-container/enum/EVObjectTypeKind.js.map +1 -0
  935. package/dist/model-container/enum/EVOperationType.d.ts +4 -0
  936. package/dist/model-container/enum/EVOperationType.js +9 -0
  937. package/dist/model-container/enum/EVOperationType.js.map +1 -0
  938. package/dist/model-container/enum/EVSourceSystemKind.d.ts +8 -0
  939. package/dist/model-container/enum/EVSourceSystemKind.js +13 -0
  940. package/dist/model-container/enum/EVSourceSystemKind.js.map +1 -0
  941. package/dist/model-container/model/AMPRIONModelContainer.d.ts +101 -0
  942. package/dist/{model/extensions/amprion/model/AMPRIONModel.js → model-container/model/AMPRIONModelContainer.js} +77 -30
  943. package/dist/model-container/model/AMPRIONModelContainer.js.map +1 -0
  944. package/dist/model-container/model/EVModelContainer.d.ts +9 -0
  945. package/dist/model-container/model/EVModelContainer.js +29 -0
  946. package/dist/model-container/model/EVModelContainer.js.map +1 -0
  947. package/dist/model-container/model/EVModelsContainer.d.ts +51 -0
  948. package/dist/model-container/model/EVModelsContainer.js +268 -0
  949. package/dist/model-container/model/EVModelsContainer.js.map +1 -0
  950. package/dist/model-container/model/INTEGRALModelContainer.d.ts +14 -0
  951. package/dist/model-container/model/INTEGRALModelContainer.js +42 -0
  952. package/dist/model-container/model/INTEGRALModelContainer.js.map +1 -0
  953. package/dist/{model/model/Model.d.ts → model-container/model/ModelContainer.d.ts} +187 -90
  954. package/dist/model-container/model/ModelContainer.js +2254 -0
  955. package/dist/model-container/model/ModelContainer.js.map +1 -0
  956. package/dist/model-container/model/WNModelContainer.d.ts +12 -0
  957. package/dist/model-container/model/WNModelContainer.js +50 -0
  958. package/dist/model-container/model/WNModelContainer.js.map +1 -0
  959. package/dist/rdf/RdfBase.d.ts +10 -0
  960. package/dist/rdf/RdfBase.js +23 -0
  961. package/dist/rdf/RdfBase.js.map +1 -0
  962. package/dist/rdf/RdfClass.d.ts +20 -0
  963. package/dist/rdf/RdfClass.js +78 -0
  964. package/dist/rdf/RdfClass.js.map +1 -0
  965. package/dist/rdf/RdfEnum.d.ts +13 -0
  966. package/dist/rdf/RdfEnum.js +60 -0
  967. package/dist/rdf/RdfEnum.js.map +1 -0
  968. package/dist/rdf/RdfModel.d.ts +19 -0
  969. package/dist/rdf/RdfModel.js +64 -0
  970. package/dist/rdf/RdfModel.js.map +1 -0
  971. package/dist/rdf/RdfProperty.d.ts +20 -0
  972. package/dist/rdf/RdfProperty.js +84 -0
  973. package/dist/rdf/RdfProperty.js.map +1 -0
  974. package/dist/rdf/rdf-enums.d.ts +18 -0
  975. package/dist/rdf/rdf-enums.js +25 -0
  976. package/dist/rdf/rdf-enums.js.map +1 -0
  977. package/dist/rdf/rdf-interfaces.d.ts +4 -0
  978. package/dist/rdf/rdf-interfaces.js +3 -0
  979. package/dist/rdf/rdf-interfaces.js.map +1 -0
  980. package/dist/types/cim.types.d.ts +9 -0
  981. package/dist/types/cim.types.js +3 -0
  982. package/dist/types/cim.types.js.map +1 -0
  983. package/dist/util/collection/util-dot.js +2 -1
  984. package/dist/util/collection/util-dot.js.map +1 -1
  985. package/dist/util/collection/util-excel.d.ts +12 -0
  986. package/dist/util/collection/util-excel.js +20 -6
  987. package/dist/util/collection/util-excel.js.map +1 -1
  988. package/dist/util/collection/util-graph.d.ts +31 -1
  989. package/dist/util/collection/util-graph.js +54 -4
  990. package/dist/util/collection/util-graph.js.map +1 -1
  991. package/dist/util/collection/util-graph2tree.d.ts +26 -2
  992. package/dist/util/collection/util-graph2tree.js +138 -13
  993. package/dist/util/collection/util-graph2tree.js.map +1 -1
  994. package/dist/util/collection/util-tree.d.ts +14 -1
  995. package/dist/util/collection/util-tree.js +13 -0
  996. package/dist/util/collection/util-tree.js.map +1 -1
  997. package/dist/util/database/mysql-controller.js +8 -10
  998. package/dist/util/database/mysql-controller.js.map +1 -1
  999. package/dist/util/sparql/sparql-utils.d.ts +21 -0
  1000. package/dist/util/sparql/sparql-utils.js +34 -10
  1001. package/dist/util/sparql/sparql-utils.js.map +1 -1
  1002. package/dist/util/util-create.d.ts +19 -12
  1003. package/dist/util/util-create.js +33 -13
  1004. package/dist/util/util-create.js.map +1 -1
  1005. package/dist/util/util-search.d.ts +1 -0
  1006. package/dist/util/util-search.js +15 -1
  1007. package/dist/util/util-search.js.map +1 -1
  1008. package/dist/util/util-test.d.ts +11 -9
  1009. package/dist/util/util-test.js +171 -175
  1010. package/dist/util/util-test.js.map +1 -1
  1011. package/dist/util/util-topology.d.ts +16 -6
  1012. package/dist/util/util-topology.js +26 -1
  1013. package/dist/util/util-topology.js.map +1 -1
  1014. package/dist/util/utils.d.ts +24 -6
  1015. package/dist/util/utils.js +60 -25
  1016. package/dist/util/utils.js.map +1 -1
  1017. package/dist/util/xml/utils.parser.js +2 -2
  1018. package/dist/util/xml/utils.parser.js.map +1 -1
  1019. package/dist/util/xml/xml.parser.d.ts +2 -2
  1020. package/dist/util/xml/xml.parser.js +14 -8
  1021. package/dist/util/xml/xml.parser.js.map +1 -1
  1022. package/dist/util/xml/xml.serializer.d.ts +5 -5
  1023. package/dist/util/xml/xml.serializer.js +120 -22
  1024. package/dist/util/xml/xml.serializer.js.map +1 -1
  1025. package/dist/utils2/cim-to-db.d.ts +11 -0
  1026. package/dist/utils2/cim-to-db.js +46 -0
  1027. package/dist/utils2/cim-to-db.js.map +1 -0
  1028. package/dist/utils2/cim.model.utils.d.ts +25 -0
  1029. package/dist/utils2/cim.model.utils.js +428 -0
  1030. package/dist/utils2/cim.model.utils.js.map +1 -0
  1031. package/dist/utils2/common.utils.d.ts +33 -0
  1032. package/dist/utils2/common.utils.js +89 -0
  1033. package/dist/utils2/common.utils.js.map +1 -0
  1034. package/dist/utils2/fuseki.utils.d.ts +43 -0
  1035. package/dist/utils2/fuseki.utils.js +66 -0
  1036. package/dist/utils2/fuseki.utils.js.map +1 -0
  1037. package/dist/utils2/import.utils.d.ts +7 -0
  1038. package/dist/utils2/import.utils.js +40 -0
  1039. package/dist/utils2/import.utils.js.map +1 -0
  1040. package/dist/utils2/model.modification.utils.d.ts +139 -0
  1041. package/dist/utils2/model.modification.utils.js +545 -0
  1042. package/dist/utils2/model.modification.utils.js.map +1 -0
  1043. package/dist/utils2/parser.utils.d.ts +15 -0
  1044. package/dist/utils2/parser.utils.js +141 -0
  1045. package/dist/utils2/parser.utils.js.map +1 -0
  1046. package/dist/utils2/rdf.model.utils.d.ts +7 -0
  1047. package/dist/utils2/rdf.model.utils.js +33 -0
  1048. package/dist/utils2/rdf.model.utils.js.map +1 -0
  1049. package/dist/utils2/sparql.utils.d.ts +40 -0
  1050. package/dist/utils2/sparql.utils.js +330 -0
  1051. package/dist/utils2/sparql.utils.js.map +1 -0
  1052. package/package.json +7 -5
  1053. package/dist/config/config.utils.d.ts +0 -1
  1054. package/dist/config/config.utils.js +0 -38
  1055. package/dist/config/config.utils.js.map +0 -1
  1056. package/dist/config/default/default-load.config.d.ts +0 -1
  1057. package/dist/config/default/default-load.config.js +0 -43
  1058. package/dist/config/default/default-load.config.js.map +0 -1
  1059. package/dist/config/lew-sincal/lew-sincal-load.config.d.ts +0 -1
  1060. package/dist/config/lew-sincal/lew-sincal-load.config.js +0 -46
  1061. package/dist/config/lew-sincal/lew-sincal-load.config.js.map +0 -1
  1062. package/dist/config/power-system-datamodel/psdm-load.config.d.ts +0 -1
  1063. package/dist/config/power-system-datamodel/psdm-load.config.js +0 -48
  1064. package/dist/config/power-system-datamodel/psdm-load.config.js.map +0 -1
  1065. package/dist/config/westnetz-integral7/integral7-load.config.d.ts +0 -1
  1066. package/dist/config/westnetz-integral7/integral7-load.config.js +0 -47
  1067. package/dist/config/westnetz-integral7/integral7-load.config.js.map +0 -1
  1068. package/dist/config/westnetz-neplan/neplan-load.config.d.ts +0 -2
  1069. package/dist/config/westnetz-neplan/neplan-load.config.js +0 -97
  1070. package/dist/config/westnetz-neplan/neplan-load.config.js.map +0 -1
  1071. package/dist/constants/cim-class-definition.d.ts +0 -1
  1072. package/dist/constants/cim-class-definition.js +0 -210
  1073. package/dist/constants/cim-class-definition.js.map +0 -1
  1074. package/dist/constants/cim.sourcesystem.d.ts +0 -6
  1075. package/dist/constants/cim.sourcesystem.js +0 -11
  1076. package/dist/constants/cim.sourcesystem.js.map +0 -1
  1077. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.d.ts +0 -1
  1078. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js +0 -59
  1079. package/dist/constants/init-data/ASSET_HEALTH_EVENTS.js.map +0 -1
  1080. package/dist/constants/init-data/ASSSET_OWNER.d.ts +0 -1
  1081. package/dist/constants/init-data/ASSSET_OWNER.js +0 -24
  1082. package/dist/constants/init-data/ASSSET_OWNER.js.map +0 -1
  1083. package/dist/constants/init-data/JENA_SPARQL.d.ts +0 -11
  1084. package/dist/constants/init-data/JENA_SPARQL.js +0 -328
  1085. package/dist/constants/init-data/JENA_SPARQL.js.map +0 -1
  1086. package/dist/constants/init-data/PSR_TYPES.d.ts +0 -1
  1087. package/dist/constants/init-data/PSR_TYPES.js +0 -103
  1088. package/dist/constants/init-data/PSR_TYPES.js.map +0 -1
  1089. package/dist/constants/init-data/RZ.d.ts +0 -1
  1090. package/dist/constants/init-data/RZ.js +0 -61
  1091. package/dist/constants/init-data/RZ.js.map +0 -1
  1092. package/dist/constants/init-data/xml/settings.d.ts +0 -1
  1093. package/dist/constants/init-data/xml/settings.js +0 -70
  1094. package/dist/constants/init-data/xml/settings.js.map +0 -1
  1095. package/dist/constants/util-init.d.ts +0 -1
  1096. package/dist/constants/util-init.js +0 -17
  1097. package/dist/constants/util-init.js.map +0 -1
  1098. package/dist/converter/integral7/ConverterIntegral7.d.ts +0 -200
  1099. package/dist/converter/integral7/ConverterIntegral7.js +0 -4100
  1100. package/dist/converter/integral7/ConverterIntegral7.js.map +0 -1
  1101. package/dist/converter/integral7/converter-i7.d.ts +0 -174
  1102. package/dist/converter/integral7/converter-i7.js +0 -5433
  1103. package/dist/converter/integral7/converter-i7.js.map +0 -1
  1104. package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +0 -80
  1105. package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +0 -1
  1106. package/dist/model/extensions/enervance/model/EVModel.d.ts +0 -11
  1107. package/dist/model/extensions/enervance/model/EVModel.js +0 -45
  1108. package/dist/model/extensions/enervance/model/EVModel.js.map +0 -1
  1109. package/dist/model/extensions/integral/model/INTEGRALModel.d.ts +0 -8
  1110. package/dist/model/extensions/integral/model/INTEGRALModel.js +0 -19
  1111. package/dist/model/extensions/integral/model/INTEGRALModel.js.map +0 -1
  1112. package/dist/model/model/Model.js +0 -1206
  1113. package/dist/model/model/Model.js.map +0 -1
  1114. package/dist/util/cim.model.util.d.ts +0 -4
  1115. package/dist/util/cim.model.util.js +0 -257
  1116. package/dist/util/cim.model.util.js.map +0 -1
@@ -1,4100 +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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_eq.xml`);
112
- this.writeHeaderStart(eqProfileExportObjects.xmlWriter);
113
- const modelEQUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dl.xml`);
117
- this.writeHeaderStart(dlProfileExportObjects.xmlWriter);
118
- const modelDLUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_gl.xml`);
122
- this.writeHeaderStart(glProfileExportObjects.xmlWriter);
123
- const modelGLUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_ssh.xml`);
127
- this.writeHeaderStart(sshProfileExportObjects.xmlWriter);
128
- const modelSSHUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_dy.xml`);
132
- this.writeHeaderStart(dyProfileExportObjects.xmlWriter);
133
- const modelDYUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_sv.xml`);
137
- this.writeHeaderStart(svProfileExportObjects.xmlWriter);
138
- const modelSVUUID = __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 = utils_1.createProfileExportObjects(tempDirPath, `${gridName}_nonstandard.xml`);
142
- this.writeHeaderStart(ampI7ProfileExportObjects.xmlWriter, __1.RDF_XML.AMP_I7_PROFILE_URI);
143
- const modelAmpI7UUID = __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
- utils_2.createWriteStreamPromise(eqProfileExportObjects.writeStream),
635
- utils_2.createWriteStreamPromise(dlProfileExportObjects.writeStream),
636
- utils_2.createWriteStreamPromise(glProfileExportObjects.writeStream),
637
- utils_2.createWriteStreamPromise(sshProfileExportObjects.writeStream),
638
- utils_2.createWriteStreamPromise(svProfileExportObjects.writeStream),
639
- utils_2.createWriteStreamPromise(dyProfileExportObjects.writeStream),
640
- 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 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGION, 0, 0, []));
693
- for (const i7Data of result) {
694
- const region = new __1.GeographicalRegion(__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
- __1.createGeoregion(__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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.REGELZONE, 0, 0, []));
710
- for (const i7Data of result) {
711
- const ctrlarea = new ControlArea_1.ControlArea(__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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SUBREGION, 0, 0, []));
725
- for (const i7Data of result) {
726
- const subregion = new __1.SubGeographicalRegion(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname);
727
- let region = this.cimModel.getGeographicalRegion(this.integralID2UUID.get(i7Data.georegion));
728
- if (!region) {
729
- region = 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 = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
741
- const subRegion = 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(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
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
754
- integral_prefix_1.MITTIGER_PUNKT +
755
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
756
- const substation = new AMPRIONSubstation_1.AMPRIONSubstation(__1.getUUID(i7Data.guid), 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 = utils_1.createIfNotExitsGeoregionByName(this.cimModel, defaultValuesConfig.GeographicalRegion.name);
762
- subregion = 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(__1.generateUUID(), `Location of ${substation.name}`);
769
- location.addPowerSystemResource(substation);
770
- substation.location = location;
771
- location.coordinateSystem = coordinateSystem;
772
- const positionPoint = new __1.PositionPoint(__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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHALTANLAGE, 0, 0, standortIDs));
796
- for (const i7Data of result) {
797
- const un = 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(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.ueberpruefeZeichenkette(un.toString()) + utils_2.getName(i7Data));
801
- const baseVoltage = __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
- utils_2.ueberpruefeZeichenkette(un.toString()) +
813
- integral_prefix_1.MITTIGER_PUNKT +
814
- 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(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(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(__1.getUUID(i7Data.guid), 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
- 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(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(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.kurzname);
902
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'Abzweig', String(i7Data.id));
903
- connectivityNode.connectivityNodeContainer = vl;
904
- connectivityNode.nodeNumber = i7Data.id_psse_cape;
905
- vl.addConnectivityNode(connectivityNode);
906
- const un = utils_2.getU(i7Data.un, defaultValuesConfig.DefaultVoltage);
907
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, un);
908
- vl.baseVoltage = baseVoltage;
909
- if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && 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
- 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 = 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SAMMELSCHIENE, 0, 0, schaltanlagenAbschnittIDs));
965
- for (const i7Data of result) {
966
- const busbarSection = new __1.BusbarSection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
967
- busbarSection.ipMax = i7Data.limit_ip;
968
- busbarSection.aggregate = false;
969
- const connectivityNode = new AMPRIONConnectivityNode_1.AMPRIONConnectivityNode(__1.generateUUID(), 'ssab cn');
970
- const terminal = __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
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
983
- busbarSection.description = i7Schluessel;
984
- connectivityNode.description = i7Schluessel;
985
- if (utils_2.isNumericI7(i7Data.usoll) || (utils_2.isNumericI7(i7Data.umin)) && 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(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(__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(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(__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(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(__1.generateUUID(), 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.SCHLAUFE, 0, 0, knotenSoIDs));
1117
- for (const i7Data of result) {
1118
- const terminal = new __1.Terminal(__1.generateUUID(), 'T_Schlaufe', String(i7Data.id));
1119
- terminal.connected = 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(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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data)) : new __1.EnergyConsumer(__1.getUUID(i7Data.guid), 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 = utils_2.convertToBooleanI7(i7Data.betrieb);
1158
- __1.createSvStatus(this.cimModel, inBetrieb, conformLoad);
1159
- const powerData = 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 = __1.createConnection(this.cimModel, conformLoad, connectivityNode, __1.PhaseCode.ABC);
1165
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
1166
- if (equipmentContainer) {
1167
- conformLoad.equipmentContainerUUID = equipmentContainer.mrid;
1168
- const i7Schluesel = 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(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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.GENERATOR, 0, 0, knotenSfIDs));
1220
- for (const i7Data of result) {
1221
- const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, i7Data.nameprimaertyp);
1222
- synchronousMachine.type = __1.SynchronousMachineKind.generator;
1223
- synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1224
- if (utils_2.convertToNumberI7(i7Data.blocktrafo_1)) {
1225
- this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_1));
1226
- }
1227
- if (utils_2.convertToNumberI7(i7Data.blocktrafo_2)) {
1228
- this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_2));
1229
- }
1230
- if (utils_2.convertToNumberI7(i7Data.blocktrafo_3)) {
1231
- this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_3));
1232
- }
1233
- if (utils_2.convertToNumberI7(i7Data.blocktrafo_4)) {
1234
- this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_4));
1235
- }
1236
- if (utils_2.convertToNumberI7(i7Data.blocktrafo_5)) {
1237
- this.blocktransformatoren.push(utils_2.convertToNumberI7(i7Data.blocktrafo_5));
1238
- }
1239
- synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1240
- const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1241
- const minP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : 0;
1242
- const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1243
- const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1244
- const maxQvonPmax = utils_2.isNumericI7(i7Data.qmax_von_pmax) ? utils_2.convertToNumberI7(i7Data.qmax_von_pmax) : undefined;
1245
- const minQvonPmin = utils_2.isNumericI7(i7Data.qmin_von_pmin) ? utils_2.convertToNumberI7(i7Data.qmin_von_pmin) : undefined;
1246
- synchronousMachine.maxQ = maxQ ? maxQ : maxQvonPmax;
1247
- synchronousMachine.minQ = minQ ? minQ : minQvonPmin;
1248
- const powerData = 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 = utils_2.isNumericI7(i7Data.sr) ? 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 (!utils_2.isNumericI7(synchronousMachine.ratedS)) {
1261
- console.log();
1262
- }
1263
- const ur = utils_2.isNumericI7(i7Data.ur) ? utils_2.convertToNumberI7(i7Data.ur) : undefined;
1264
- const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1265
- synchronousMachine.ratedU = usoll ? usoll : ur;
1266
- synchronousMachine.aggregate = true;
1267
- synchronousMachine.ratedPowerFactor = utils_2.isNumericI7(i7Data.cosphir) ? utils_2.convertToNumberI7(i7Data.cosphir) : undefined;
1268
- synchronousMachine.r = utils_2.isNumericI7(i7Data.rg) ? utils_2.convertToNumberI7(i7Data.rg) : undefined;
1269
- const reactiveCapabilityCurve = new __1.ReactiveCapabilityCurve(__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(__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(__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 = utils_2.convertToBooleanI7(i7Data.betrieb);
1289
- __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1290
- const regulatingControl = new __1.RegulatingControl(__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(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1314
- if (generatingUnitConfig.fuelType) {
1315
- utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1316
- }
1317
- break;
1318
- }
1319
- case 'SolarGeneratingUnit': {
1320
- generatingUnit = new __1.SolarGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1321
- break;
1322
- }
1323
- case 'WindGeneratingUnit': {
1324
- generatingUnit = new __1.WindGeneratingUnit(__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(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1343
- break;
1344
- }
1345
- case 'HydroGeneratingUnit': {
1346
- generatingUnit = new __1.HydroGeneratingUnit(__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(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1354
- }
1355
- generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1356
- generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1357
- generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1358
- generatingUnit.nominalP = generatingUnit.maxOperatingP;
1359
- const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1360
- const fn = 50;
1361
- const pn = generatingUnit.maxOperatingP;
1362
- generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? 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 = __1.createConnection(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1368
- regulatingControl.terminalUUID = terminal.mrid;
1369
- const equipmentContainerEquip = 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(__1.generateUUID(), `smtcr_${synchronousMachine.name}`);
1391
- smtcr.enabled = utils_2.convertToBooleanI7(i7Data.betrieb);
1392
- smtcr.tpdo = utils_2.isNumericI7(i7Data.td1s) ? utils_2.convertToNumberI7(i7Data.td1s) : undefined;
1393
- smtcr.tppdo = utils_2.isNumericI7(i7Data.td2s) ? utils_2.convertToNumberI7(i7Data.td2s) : undefined;
1394
- smtcr.tpqo = utils_2.isNumericI7(i7Data.tq1s) ? utils_2.convertToNumberI7(i7Data.tq1s) : undefined;
1395
- smtcr.tppqo = utils_2.isNumericI7(i7Data.tq2s) ? utils_2.convertToNumberI7(i7Data.tq2s) : undefined;
1396
- smtcr.xDirectSync = utils_2.isNumericI7(i7Data.xdu) ? utils_2.convertToNumberI7(i7Data.xdu) : undefined;
1397
- smtcr.xDirectTrans = utils_2.isNumericI7(i7Data.xdu1s) ? utils_2.convertToNumberI7(i7Data.xdu1s) : undefined;
1398
- smtcr.xDirectSubtrans = utils_2.isNumericI7(i7Data.xdu2s) ? utils_2.convertToNumberI7(i7Data.xdu2s) : undefined;
1399
- smtcr.xQuadSync = utils_2.isNumericI7(i7Data.xqu) ? utils_2.convertToNumberI7(i7Data.xqu) : undefined;
1400
- smtcr.xQuadTrans = utils_2.isNumericI7(i7Data.xqu1s) ? utils_2.convertToNumberI7(i7Data.xqu1s) : undefined;
1401
- smtcr.xQuadSubtrans = utils_2.isNumericI7(i7Data.xqu2s) ? 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KWBLOCK, 0, 0, knotenSfIDs));
1417
- for (const i7Data of result) {
1418
- const synchronousMachine = new __1.SynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1419
- synchronousMachine.type = __1.SynchronousMachineKind.generator;
1420
- synchronousMachine.operatingMode = SynchronousMachineOperatingMode_1.SynchronousMachineOperatingMode.generator;
1421
- synchronousMachine.referencePriority = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1422
- const maxP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : 0;
1423
- const maxQ = utils_2.isNumericI7(i7Data.q_max) ? utils_2.convertToNumberI7(i7Data.q_max) : undefined;
1424
- const minQ = utils_2.isNumericI7(i7Data.q_min) ? utils_2.convertToNumberI7(i7Data.q_min) : undefined;
1425
- synchronousMachine.maxQ = maxQ;
1426
- synchronousMachine.minQ = minQ;
1427
- const sr = utils_2.isNumericI7(i7Data.srg) ? utils_2.convertToNumberI7(i7Data.srg) : undefined;
1428
- synchronousMachine.ratedS = sr;
1429
- const ur = utils_2.isNumericI7(i7Data.urg) ? utils_2.convertToNumberI7(i7Data.urg) : undefined;
1430
- synchronousMachine.ratedU = ur;
1431
- synchronousMachine.aggregate = true;
1432
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1433
- __1.createSvStatus(this.cimModel, inBetrieb, synchronousMachine);
1434
- const regulatingControl = new __1.RegulatingControl(__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(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1451
- if (generatingUnitConfig.fuelType) {
1452
- utils_2.generateFuelType(i7Data.nameprimaertyp, generatingUnitConfig.fuelType, generatingUnit, this.cimModel);
1453
- }
1454
- break;
1455
- }
1456
- case 'SolarGeneratingUnit': {
1457
- generatingUnit = new __1.SolarGeneratingUnit(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname, i7Data.nameprimaertyp);
1458
- break;
1459
- }
1460
- case 'WindGeneratingUnit': {
1461
- generatingUnit = new __1.WindGeneratingUnit(__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(__1.getUUID(''), 'Generator_' + i7Data.bezeichner, i7Data.kurzname);
1480
- break;
1481
- }
1482
- }
1483
- }
1484
- if (!generatingUnit) {
1485
- generatingUnit = new __1.GeneratingUnit(__1.getUUID(''), 'KWBlock' + i7Data.bezeichner, i7Data.kurzname);
1486
- }
1487
- generatingUnit.genControlSource = __1.GeneratorControlSource.unavailable;
1488
- generatingUnit.initialP = utils_2.isNumericI7(i7Data.p0) ? utils_2.convertToNumberI7(i7Data.p0) : undefined;
1489
- generatingUnit.maxOperatingP = utils_2.isNumericI7(i7Data.p_max) ? utils_2.convertToNumberI7(i7Data.p_max) : undefined;
1490
- generatingUnit.minOperatingP = utils_2.isNumericI7(i7Data.p_min) ? utils_2.convertToNumberI7(i7Data.p_min) : undefined;
1491
- generatingUnit.nominalP = generatingUnit.maxOperatingP;
1492
- const kr = utils_2.isNumericI7(i7Data.kr) ? utils_2.convertToNumberI7(i7Data.kr) : undefined;
1493
- const fn = 50;
1494
- const pn = generatingUnit.maxOperatingP;
1495
- generatingUnit.governorSCD = (utils_2.isNumericI7(kr) && utils_2.isNumericI7(generatingUnit.nominalP)) ? 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 = __1.createConnection(this.cimModel, synchronousMachine, connectivityNode, __1.PhaseCode.ABC);
1501
- regulatingControl.terminalUUID = terminal.mrid;
1502
- const equipmentContainerEquip = 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ERSATZQUERZWEIG, 0, 0, anschlussIDs));
1535
- for (const i7Data of result) {
1536
- const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1537
- const usoll = utils_2.isNumericI7(i7Data.usoll) ? utils_2.convertToNumberI7(i7Data.usoll) : undefined;
1538
- const kr = 0;
1539
- externalNetworkInjection.governorSCD = kr;
1540
- const prio = utils_2.isNumericI7(i7Data.einspprio) ? utils_2.convertToNumberI7(i7Data.einspprio) : undefined;
1541
- externalNetworkInjection.referencePriority = prio;
1542
- externalNetworkInjection.aggregate = true;
1543
- externalNetworkInjection.ikSecond = true;
1544
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1545
- __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
1546
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
1547
- if (connectivityNode) {
1548
- __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1549
- const equipmentContainer = 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(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.BOUNDARYINJECTION, 0, 0, knotenIDs));
1575
- for (const i7Data of result) {
1576
- const externalNetworkInjection = new __1.ExternalNetworkInjection(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1577
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1578
- __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
1579
- const einspeisePrio = utils_2.convertToNumberI7(i7Data.einspprio);
1580
- externalNetworkInjection.p = utils_2.convertToNumberI7(i7Data.p_ersatznetz) + utils_2.convertToNumberI7(i7Data.p_restnetz);
1581
- externalNetworkInjection.q = utils_2.convertToNumberI7(i7Data.q_ersatznetz) + utils_2.convertToNumberI7(i7Data.q_restnetz);
1582
- const kr = 0;
1583
- externalNetworkInjection.governorSCD = kr;
1584
- externalNetworkInjection.referencePriority = einspeisePrio;
1585
- externalNetworkInjection.maxZ0ToZ1Ratio = utils_2.convertToNumberI7(i7Data.z0_z1);
1586
- const regulatingControl = new __1.RegulatingControl(__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 = __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
1595
- regulatingControl.terminal = terminal;
1596
- terminal.addRegulatingControl(regulatingControl);
1597
- const equipmentContainer = 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 (utils_2.isNumericI7(spannung.usoll)) {
1604
- regulatingControl.targetValue = spannung.usoll;
1605
- if (utils_2.isNumericI7(spannung.umin) && utils_2.isNumericI7(spannung.umax)) {
1606
- const targetDealBand = utils_2.convertToNumberI7(spannung.umax) - 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(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(__1.getUUID(i7Data.guid), 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 = utils_2.convertToBooleanI7(i7Data.betrieb);
1645
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
1646
- const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
1647
- const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
1648
- if (spannungsregelungLokal || spannungsregelungRemote) {
1649
- const regulatingControl = new __1.RegulatingControl(__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 = __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 = 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(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(__1.getUUID(i7Data.guid), 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 = utils_2.convertToBooleanI7(i7Data.betrieb);
1695
- __1.createSvStatus(this.cimModel, inBetrieb, shunt);
1696
- const spannungsregelungLokal = utils_2.isBooleanI7(i7Data.flag_lf) ? utils_2.convertToBooleanI7(i7Data.flag_lf) : false;
1697
- const spannungsregelungRemote = utils_2.isBooleanI7(i7Data.rpv_geregelt) ? utils_2.convertToBooleanI7(i7Data.rpv_geregelt) : false;
1698
- if (spannungsregelungLokal || spannungsregelungRemote) {
1699
- const regulatingControl = new __1.RegulatingControl(__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 = __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 = 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(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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1740
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1741
- __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 = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1746
- const equipmentContainer = 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 = utils_2.createRegulatingControl(`RG_Statcom ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1758
- const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1759
- regulatingControl.targetValue = uref;
1760
- statVarCom.voltageSetPoint = uref;
1761
- const flagOS = 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(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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1788
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
1789
- __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 = __1.createConnection(this.cimModel, statVarCom, connectivityNode, __1.PhaseCode.ABC);
1794
- const equipmentContainer = 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 = utils_2.createRegulatingControl(`RG_SVC ${i7Data.id}`, inBetrieb, __1.UnitMultiplier.k, __1.RegulatingControlModeKind.voltage, this.cimModel, statVarCom);
1806
- const uref = utils_2.isNumericI7(i7Data.uref) ? utils_2.convertToNumberI7(i7Data.uref) : undefined;
1807
- regulatingControl.targetValue = uref;
1808
- statVarCom.voltageSetPoint = uref;
1809
- const flagOS = 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(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(__1.generateUUID(), utils_2.getName(i7DataSchiene), `StpSchiene_${i7DataSchiene.id}`);
1838
- const junction = new __1.Junction(__1.generateUUID(), `StpSchiene/${i7DataSchiene.id}`, `${i7DataSchiene.bezeichner}`);
1839
- const terminal = __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(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 = utils_2.isNumericI7(i7Data.imax) ? i7Data.imax : (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 = utils_2.isNumericI7(i7Data.imin) ? i7Data.imin : (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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), '', 'KD-' + i7Data.bezeichner);
1872
- if (connectivityNode)
1873
- __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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '');
1880
- groundingImpedance.r = utils_2.isNumericI7(i7Data.rne) ? i7Data.rne : (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 = utils_2.isNumericI7(i7Data.xne) ? i7Data.xne : (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
- __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(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 = utils_2.isBooleanI7(i7Data.schaltzustand) ? 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(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(__1.getUUID(i7Data.guid), 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
- 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(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(__1.generateUUID(), 'DCConverterUnit');
1973
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
1974
- if (acConnectivityNode) {
1975
- const equipmentContainer = 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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
1988
- csConverter.equipmentContainer = dcConverterUnit;
1989
- csConverter.baseS = i7Data.pr;
1990
- 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 = utils_2.convertToBooleanI7(i7Data.u_geregelt);
1997
- const regelungP = utils_2.convertToBooleanI7(i7Data.p_geregelt);
1998
- const regelungW = 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 = utils_2.convertToBooleanI7(i7Data.betrieb);
2009
- __1.createSvStatus(this.cimModel, inBetrieb, csConverter);
2010
- if (acConnectivityNode) {
2011
- __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(__1.generateUUID(), 'DCNode');
2017
- dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
2018
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(__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(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(__1.generateUUID(), 'DCConverterUnit');
2038
- const acConnectivityNode = this.cimModel.connectivityNodes.get(this.integralID2UUID.get(i7Data.anschluss));
2039
- if (acConnectivityNode) {
2040
- const equipmentContainer = 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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2053
- vsConverter.equipmentContainer = dcConverterUnit;
2054
- vsConverter.baseS = i7Data.pr;
2055
- 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 = utils_2.convertToBooleanI7(i7Data.u_geregelt);
2062
- const regelungP = utils_2.convertToBooleanI7(i7Data.p_geregelt);
2063
- const regelungW = 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 = utils_2.convertToBooleanI7(i7Data.betrieb);
2077
- __1.createSvStatus(this.cimModel, inBetrieb, vsConverter);
2078
- if (acConnectivityNode) {
2079
- __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(__1.generateUUID(), 'DCNode');
2085
- dcNode.dcEquipmentContainerUUID = dcConverterUnit.mrid;
2086
- const acDCConverterDCTerminal = new ACDCConverterDCTerminal_1.ACDCConverterDCTerminal(__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, _c;
2104
- for (const i7Data of result) {
2105
- try {
2106
- const energySource = new __1.EnergySource(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2107
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
2108
- const prio = i7Data.einspprio;
2109
- const usoll = i7Data.usoll;
2110
- __1.createSvStatus(this.cimModel, inBetrieb, energySource);
2111
- const spannungsgeregelt = utils_2.convertToBooleanI7(i7Data.spannungsgeregelt);
2112
- const powerData = 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
- __1.createConnection(this.cimModel, energySource, connectivityNode, __1.PhaseCode.ABC);
2118
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
2119
- if (equipmentContainer) {
2120
- energySource.nominalVoltage = (_c = (_b = (_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.baseVoltage) === null || _b === void 0 ? void 0 : _b.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value;
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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2149
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
2150
- const prio = i7Data.einspprio;
2151
- const usoll = i7Data.usoll;
2152
- __1.createSvStatus(this.cimModel, inBetrieb, equivalentInjection);
2153
- const powerData = 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
- __1.createConnection(this.cimModel, equivalentInjection, connectivityNode, __1.PhaseCode.ABC);
2159
- const equipmentContainer = 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(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname);
2189
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
2190
- const prio = i7Data.einspprio;
2191
- externalNetworkInjection.referencePriority = prio;
2192
- const usoll = i7Data.usoll;
2193
- __1.createSvStatus(this.cimModel, inBetrieb, externalNetworkInjection);
2194
- const powerData = 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
- __1.createConnection(this.cimModel, externalNetworkInjection, connectivityNode, __1.PhaseCode.ABC);
2200
- const equipmentContainer = 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(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(__1.getUUID(i7Data.guid), 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
- 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(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(__1.getUUID(i7Data.guid), `${i7Data.bezeichner}/${i7Data.id}`, 'JNCT', 'starre Verbindung');
2259
- const schaltzustand = utils_2.convertToBooleanI7(i7Data.schaltzustand);
2260
- const equipmentContainer = 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 = __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 = __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 = 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
- var _a;
2302
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2303
- let result;
2304
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P) && this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
2305
- result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNER, 0, 0, containerIDs));
2306
- }
2307
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P) && !(this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P))) {
2308
- result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNERFI_3P, 0, 0, containerIDs));
2309
- }
2310
- else if (!(this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) && this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNER_3P)) {
2311
- result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNER_3P, 0, 0, containerIDs));
2312
- }
2313
- else {
2314
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNER_3P} and Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2315
- result = undefined;
2316
- }
2317
- for (const i7Data of result) {
2318
- const disconnector = new __1.Disconnector(__1.getUUID(i7Data.guid), i7Data.bezeichner);
2319
- disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2320
- disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2321
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2322
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2323
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2324
- if (equipmentContainer) {
2325
- disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2326
- }
2327
- else {
2328
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen EquipmentContainer.`);
2329
- }
2330
- if (cnStart) {
2331
- __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2332
- }
2333
- else {
2334
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Anfangsknoten.`);
2335
- }
2336
- if (cnZiel) {
2337
- __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2338
- }
2339
- else {
2340
- this.logger.debug(`Disconnector ${i7Data.id} besitzt keinen Zielknoten.`);
2341
- }
2342
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2343
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2344
- if (baseVoltage) {
2345
- disconnector.baseVoltageUUID = baseVoltage.mrid;
2346
- }
2347
- this.cimModel.addDisconnector(disconnector);
2348
- this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNER_3P);
2349
- }
2350
- });
2351
- }
2352
- convertTrennerFi3f(containerIDs) {
2353
- var _a;
2354
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2355
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRENNERFI_3P)) {
2356
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRENNERFI_3P, 0, 0, containerIDs));
2357
- for (const i7Data of result) {
2358
- const disconnector = new __1.Disconnector(__1.generateUUID(), i7Data.bezeichner);
2359
- disconnector.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2360
- disconnector.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2361
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2362
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2363
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2364
- if (equipmentContainer) {
2365
- disconnector.equipmentContainerUUID = equipmentContainer.mrid;
2366
- }
2367
- else {
2368
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen EquipmentContainer.`);
2369
- }
2370
- if (cnStart) {
2371
- __1.createConnection(this.cimModel, disconnector, cnStart, __1.PhaseCode.ABC, 1);
2372
- }
2373
- else {
2374
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Anfangsknoten.`);
2375
- }
2376
- if (cnZiel) {
2377
- __1.createConnection(this.cimModel, disconnector, cnZiel, __1.PhaseCode.ABC, 2);
2378
- }
2379
- else {
2380
- this.logger.debug(`Disconnector Fi3 ${i7Data.id} besitzt keinen Zielknoten.`);
2381
- }
2382
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2383
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2384
- if (baseVoltage) {
2385
- disconnector.baseVoltageUUID = baseVoltage.mrid;
2386
- }
2387
- this.cimModel.addDisconnector(disconnector);
2388
- this.addIdMapping(i7Data.id, disconnector.mrid, integral_sql_1.Integral7TableNames.TRENNERFI_3P);
2389
- }
2390
- }
2391
- else {
2392
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRENNERFI_3P} ist nicht vorhanden.`);
2393
- }
2394
- });
2395
- }
2396
- convertLeistungsschalter(containerIDs) {
2397
- var _a;
2398
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2399
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER)) {
2400
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEISTUNGSSCHALTER, 0, 0, containerIDs));
2401
- for (const i7Data of result) {
2402
- const breaker = new __1.Breaker(__1.getUUID(i7Data.guid), utils_2.getName(i7Data));
2403
- breaker.normalOpen = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2404
- breaker.open = !utils_2.convertToBooleanI7(i7Data.schaltzustand);
2405
- const equipmentContainer = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.seliste));
2406
- const cnStart = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.aknoten));
2407
- const cnZiel = this.cimModel.getConnectivityNode(this.integralID2UUID.get(i7Data.eknoten));
2408
- if (equipmentContainer) {
2409
- breaker.equipmentContainerUUID = equipmentContainer.mrid;
2410
- }
2411
- else {
2412
- this.logger.debug(`LS ${i7Data.id} besitzt keinen EquipmentContainer.`);
2413
- }
2414
- if (cnStart) {
2415
- __1.createConnection(this.cimModel, breaker, cnStart, __1.PhaseCode.ABC, 1);
2416
- }
2417
- else {
2418
- this.logger.debug(`LS ${i7Data.id} besitzt keinen Anfangsknoten.`);
2419
- }
2420
- if (cnZiel) {
2421
- __1.createConnection(this.cimModel, breaker, cnZiel, __1.PhaseCode.ABC, 2);
2422
- }
2423
- else {
2424
- this.logger.debug(`LS ${i7Data.id} besitzt keinen Zielknoten.`);
2425
- }
2426
- const vl = this.cimModel.objects.get((_a = equipmentContainer) === null || _a === void 0 ? void 0 : _a.getVoltageLevelUUID());
2427
- const baseVoltage = this.cimModel.getBaseVoltageByUUID(vl === null || vl === void 0 ? void 0 : vl.baseVoltageUUID);
2428
- if (baseVoltage) {
2429
- breaker.baseVoltageUUID = baseVoltage.mrid;
2430
- }
2431
- this.cimModel.addBreaker(breaker);
2432
- this.addIdMapping(i7Data.id, breaker.mrid, integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER);
2433
- }
2434
- }
2435
- else {
2436
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEISTUNGSSCHALTER} ist nicht vorhanden.`);
2437
- }
2438
- });
2439
- }
2440
- convertBetriebsmitteltypenKdrossel() {
2441
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2442
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KDROSSEL)) {
2443
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KDROSSEL, 0, 0, []));
2444
- for (const i7Data of result) {
2445
- this.kdrosseltypen.set(i7Data.name, i7Data);
2446
- }
2447
- }
2448
- else {
2449
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KDROSSEL} ist nicht vorhanden.`);
2450
- }
2451
- });
2452
- }
2453
- convertBetriebsmitteltypenLeitung() {
2454
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2455
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_FREILEITUNG)) {
2456
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_FREILEITUNG, 0, 0, []));
2457
- for (const i7Data of result) {
2458
- const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2459
- this.setWireInfoProperties(typ, i7Data, 'Freileitung');
2460
- this.cimModel.addEVWireInfo(typ);
2461
- }
2462
- }
2463
- else {
2464
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_FREILEITUNG} ist nicht vorhanden.`);
2465
- }
2466
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_KABEL)) {
2467
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_KABEL, 0, 0, []));
2468
- for (const i7Data of result) {
2469
- const typ = new EVWireInfo_1.EVWireInfo(__1.generateUUID(), i7Data.name);
2470
- this.setWireInfoProperties(typ, i7Data, 'Kabel');
2471
- this.cimModel.addEVWireInfo(typ);
2472
- }
2473
- }
2474
- else {
2475
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_KABEL} ist nicht vorhanden.`);
2476
- }
2477
- });
2478
- }
2479
- convertLeitungen(limit, offset, defaultValuesConfig) {
2480
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2481
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG)) {
2482
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LEITUNG, limit, offset, []));
2483
- const leitungIDs = result.map(elem => elem.id);
2484
- let leitungStromkreisabschnitt;
2485
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2486
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STROMKREISABSCHNITT, limit, offset, leitungIDs));
2487
- }
2488
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.KABEL)) {
2489
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.KABEL, limit, offset, leitungIDs));
2490
- }
2491
- else if (this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG) && this.isTableAvailable(integral_sql_1.Integral7TableNames.FREILEITUNG)) {
2492
- leitungStromkreisabschnitt = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.FREILEITUNG, limit, offset, leitungIDs));
2493
- }
2494
- else {
2495
- leitungStromkreisabschnitt = undefined;
2496
- }
2497
- if (leitungStromkreisabschnitt) {
2498
- for (const i7Data of result) {
2499
- const stromkreisabschnitte = leitungStromkreisabschnitt.filter(elem => elem.leitung === i7Data.id);
2500
- const leitung = new Leitung_1.LeitungImpl(i7Data);
2501
- this.integralLeitungen.set(i7Data.id, leitung);
2502
- let i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
2503
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2504
- integral_prefix_1.MITTIGER_PUNKT +
2505
- utils_2.ueberpruefeZeichenkette(i7Data.kurzname) +
2506
- integral_prefix_1.MITTIGER_PUNKT +
2507
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2508
- integral_prefix_1.MITTIGER_PUNKT +
2509
- utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2510
- let name = integral_prefix_1.LEITUNG_PRAEFIX +
2511
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2512
- '-' +
2513
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2514
- '-' +
2515
- utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
2516
- const line = new AMPRIONLine_1.AMPRIONLine(__1.getUUID(i7Data.guid), name, i7Data.stkabname, i7Schluessel);
2517
- line.ukz = i7Data.ukz;
2518
- const acLineSegments = [];
2519
- for (const stk of stromkreisabschnitte) {
2520
- i7Schluessel += integral_prefix_1.LEITUNGSABSCHNITT_PRAEFIX + utils_2.ueberpruefeZeichenkette(stk.bezeichner);
2521
- name = utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2522
- '-' +
2523
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
2524
- '-' +
2525
- utils_2.ueberpruefeZeichenkette(stk.bezeichner);
2526
- const acLineSegment = new __1.ACLineSegment(__1.generateUUID(), name, i7Data.stkabname, i7Schluessel);
2527
- acLineSegment.equipmentContainerUUID = line.mrid;
2528
- line.equipmentsUUIDS.push(acLineSegment.mrid);
2529
- acLineSegments.push(acLineSegment);
2530
- this.addIdMapping(stk.id, acLineSegment.mrid, integral_sql_1.Integral7TableNames.LEITUNG);
2531
- this.cimModel.addACLineSegment(acLineSegment);
2532
- }
2533
- let tmp_sequence_number = 1;
2534
- const start = this.inmemoryObjects.get(i7Data.aknoten);
2535
- const acLineSegmentStart = acLineSegments[0];
2536
- if (start) {
2537
- const terminal = __1.createConnection(this.cimModel, acLineSegmentStart, start, __1.PhaseCode.ABC, tmp_sequence_number);
2538
- if (terminal) {
2539
- tmp_sequence_number++;
2540
- }
2541
- if (!acLineSegmentStart.baseVoltage) {
2542
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2543
- acLineSegmentStart.baseVoltage = baseVoltage;
2544
- if (!acLineSegmentStart.baseVoltage) {
2545
- const stop = true;
2546
- }
2547
- else {
2548
- this.logger.debug(`Anschlussknoten ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)} besitzt keine Spannungsangabe in Knotenspannungen Map.`);
2549
- }
2550
- }
2551
- }
2552
- else {
2553
- this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentStart.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
2554
- }
2555
- const anzahl = acLineSegments.length;
2556
- let tmp_terminal = undefined;
2557
- for (let i = 0; i < anzahl - 1; i++) {
2558
- const cn = new __1.ConnectivityNode(__1.generateUUID(), 'CN_Lt');
2559
- const acLineSegment1 = acLineSegments[i];
2560
- tmp_terminal = __1.createConnection(this.cimModel, acLineSegment1, cn, __1.PhaseCode.ABC, tmp_sequence_number);
2561
- if (tmp_terminal) {
2562
- tmp_sequence_number++;
2563
- tmp_terminal = undefined;
2564
- }
2565
- this.setACLineSegmentProperties(acLineSegments[i], stromkreisabschnitte[i]);
2566
- const acLineSegment2 = acLineSegments[i + 1];
2567
- tmp_terminal = __1.createConnection(this.cimModel, acLineSegment2, cn, __1.PhaseCode.ABC, tmp_sequence_number);
2568
- if (tmp_terminal) {
2569
- tmp_sequence_number++;
2570
- tmp_terminal = undefined;
2571
- }
2572
- cn.connectivityNodeContainerUUID = acLineSegment1.equipmentContainerUUID;
2573
- this.cimModel.addConnectivityNode(cn);
2574
- }
2575
- const target = this.inmemoryObjects.get(i7Data.eknoten);
2576
- const acLineSegmentZiel = acLineSegments[acLineSegments.length - 1];
2577
- if (target) {
2578
- const terminal = __1.createConnection(this.cimModel, acLineSegmentZiel, target, __1.PhaseCode.ABC, tmp_sequence_number);
2579
- this.setACLineSegmentProperties(acLineSegments[acLineSegments.length - 1], stromkreisabschnitte[stromkreisabschnitte.length - 1]);
2580
- if (!acLineSegmentZiel.baseVoltage) {
2581
- const baseVoltage = this.knotenSpannung.get(terminal.connectivityNodeUUID);
2582
- acLineSegmentZiel.baseVoltage = baseVoltage;
2583
- if (!acLineSegmentZiel.baseVoltage) {
2584
- const stop = true;
2585
- }
2586
- else {
2587
- this.logger.debug(`Anschlussknoten ${i7Data.eknoten} ${this.integralID2UUID.get(i7Data.eknoten)} besitzt keine Spannungsangabe in Knotenspannungen Map.`);
2588
- }
2589
- }
2590
- }
2591
- else {
2592
- this.logger.debug(`Leitung ${i7Data.id} ${acLineSegmentZiel.mrid} besitzt keinen Zielknoten.`);
2593
- }
2594
- const stkBaseVoltage = acLineSegments.find(elem => elem.baseVoltage !== undefined);
2595
- if (!stkBaseVoltage) {
2596
- this.logger.error(`Leitung ${i7Data.id} ${line.mrid}: Spannung konnte nicht bestimmt werden.`);
2597
- }
2598
- else {
2599
- for (const acLineSegment of acLineSegments) {
2600
- acLineSegment.baseVoltage = stkBaseVoltage.baseVoltage;
2601
- }
2602
- }
2603
- this.cimModel.addLine(line);
2604
- }
2605
- }
2606
- else {
2607
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.FREILEITUNG} und Tabelle ${integral_sql_1.Integral7TableNames.KABEL} ist nicht vorhanden.`);
2608
- }
2609
- }
2610
- else {
2611
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LEITUNG} ist nicht vorhanden.`);
2612
- }
2613
- });
2614
- }
2615
- convertLaengskondensatoren(limit, offset, defaultValuesConfig) {
2616
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2617
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR)) {
2618
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSKONDENSATOR, limit, offset, []));
2619
- for (const i7Data of result) {
2620
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', 'LKD-' + i7Data.bezeichner);
2621
- const start = this.inmemoryObjects.get(i7Data.aknoten);
2622
- let startTerminal;
2623
- if (start) {
2624
- startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
2625
- }
2626
- else {
2627
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
2628
- }
2629
- const target = this.inmemoryObjects.get(i7Data.eknoten);
2630
- let targetTerminal;
2631
- if (target) {
2632
- targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
2633
- }
2634
- else {
2635
- this.logger.debug(`Längskondensator ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
2636
- }
2637
- const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
2638
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
2639
- const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : undefined;
2640
- const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : undefined;
2641
- if (i > 0 && ukr > 0) {
2642
- const voltage = baseVoltage.nominalVoltage.value * 1000;
2643
- const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
2644
- seriesCompensator.x = z;
2645
- }
2646
- seriesCompensator.varistorRatedCurrent = i;
2647
- const terminal = startTerminal;
2648
- if (terminal) {
2649
- this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
2650
- }
2651
- else {
2652
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
2653
- }
2654
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
2655
- const subVlData = this.substationVoltagelevels.get(i7Data.standort);
2656
- const vlObject = getVoltageLevelByVoltage(subVlData, ur);
2657
- if (vlObject) {
2658
- seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
2659
- seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
2660
- }
2661
- else {
2662
- this.logger.debug(`Längskondensator ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
2663
- }
2664
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längskondensator');
2665
- seriesCompensator.psrTypeUUID = psrType.mrid;
2666
- this.cimModel.addSeriesCompensator(seriesCompensator);
2667
- this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
2668
- }
2669
- }
2670
- else {
2671
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR} ist nicht vorhanden.`);
2672
- }
2673
- });
2674
- }
2675
- convertDCLines(limit, offset) {
2676
- var _a, _b;
2677
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2678
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG)) {
2679
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.HGUE_LEITUNG, limit, offset, []));
2680
- for (const i7Data of result) {
2681
- const dcLine = new DCLine_1.DCLine(__1.getUUID(i7Data['guid_dcline']), 'DCLine');
2682
- const i7Schluessel = integral_prefix_1.LEITUNG_PRAEFIX +
2683
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
2684
- integral_prefix_1.MITTIGER_PUNKT +
2685
- utils_2.ueberpruefeZeichenkette(i7Data.kurzname) +
2686
- integral_prefix_1.MITTIGER_PUNKT +
2687
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner);
2688
- const dcLineSegment = new DCLineSegment_1.DCLineSegment(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
2689
- dcLineSegment.resistance = i7Data.rdc;
2690
- dcLineSegment.equipmentContainerUUID = dcLine.mrid;
2691
- const bipol = utils_2.convertToBooleanI7(i7Data.bipol);
2692
- const acDCConverterStart = this.cimModel.getObject(this.integralID2UUID.get(i7Data.anetzobjekt));
2693
- const acDCConverterTarget = this.cimModel.getObject(this.integralID2UUID.get(i7Data.enetzobjekt));
2694
- const converterUnitStart = (_a = acDCConverterStart) === null || _a === void 0 ? void 0 : _a.equipmentContainer;
2695
- const converterUnitTarget = (_b = acDCConverterTarget) === null || _b === void 0 ? void 0 : _b.equipmentContainer;
2696
- switch (bipol) {
2697
- case (true): {
2698
- converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
2699
- converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.bipolar;
2700
- }
2701
- default: {
2702
- converterUnitStart.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
2703
- converterUnitTarget.operationMode = DCConverterOperatingModeKind_1.DCConverterOperatingModeKind.monopolarGroundReturn;
2704
- }
2705
- }
2706
- const startDCNode = this.inmemoryObjects.get(i7Data.anetzobjekt);
2707
- if (startDCNode) {
2708
- const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
2709
- dcTerminal.connected = true;
2710
- dcTerminal.sequenceNumber = 1;
2711
- dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
2712
- dcTerminal.dcNodeUUID = startDCNode.mrid;
2713
- this.cimModel.addDCTerminal(dcTerminal);
2714
- }
2715
- else {
2716
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Anfangsknoten. ${i7Data.anetzobjekt} ${this.integralID2UUID.get(i7Data.anetzobjekt)}`);
2717
- }
2718
- const tartgetDCNode = this.inmemoryObjects.get(i7Data.enetzobjekt);
2719
- if (tartgetDCNode) {
2720
- const dcTerminal = new DCTerminal_1.DCTerminal(__1.generateUUID(), 'DCTerminal_HGÜ_Leitung');
2721
- dcTerminal.connected = true;
2722
- dcTerminal.sequenceNumber = 2;
2723
- dcTerminal.dCConductingEquipmentUUID = dcLineSegment.mrid;
2724
- dcTerminal.dcNodeUUID = tartgetDCNode.mrid;
2725
- this.cimModel.addDCTerminal(dcTerminal);
2726
- }
2727
- else {
2728
- this.logger.debug(`HGÜ-Leitung ${i7Data.id} ${dcLineSegment.mrid} besitzt keinen Zielknoten. ${i7Data.enetzobjekt} ${this.integralID2UUID.get(i7Data.enetzobjekt)}`);
2729
- }
2730
- this.cimModel.addDCLine(dcLine);
2731
- this.cimModel.addDCLineSegment(dcLineSegment);
2732
- this.addIdMapping(i7Data.id, dcLineSegment.mrid, integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
2733
- }
2734
- }
2735
- else {
2736
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.HGUE_LEITUNG} ist nicht vorhanden.`);
2737
- }
2738
- });
2739
- }
2740
- convertBetriebsmitteltypenTrafo() {
2741
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2742
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO2W)) {
2743
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO2W, 0, 0, []));
2744
- for (const i7Data of result) {
2745
- const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(__1.generateUUID(), i7Data.name);
2746
- typTrafo.ukr12 = i7Data.ukr;
2747
- typTrafo.pkr12 = i7Data.pkr;
2748
- typTrafo.pLeer = i7Data.p_leer;
2749
- typTrafo.iLeer = i7Data.i_leer;
2750
- const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2751
- typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2752
- this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2753
- typWicklung1.powerTransformerInfo = typTrafo;
2754
- typTrafo.addTransformerEndInfo(typWicklung1);
2755
- const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2756
- typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2757
- this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2758
- typWicklung2.powerTransformerInfo = typTrafo;
2759
- typTrafo.addTransformerEndInfo(typWicklung2);
2760
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2761
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2762
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2763
- }
2764
- }
2765
- else {
2766
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO2W} ist nicht vorhanden.`);
2767
- }
2768
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TYP_TRAFO3W)) {
2769
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TYP_TRAFO3W, 0, 0, []));
2770
- for (const i7Data of result) {
2771
- const typTrafo = new EVPowerTransformerInfo_1.EVPowerTransformerInfo(__1.generateUUID(), i7Data.name);
2772
- typTrafo.pLeer = i7Data.p_leer;
2773
- typTrafo.iLeer = i7Data.i_leer;
2774
- typTrafo.ukr12 = i7Data.ukr12;
2775
- typTrafo.ukr13 = i7Data.ukr13;
2776
- typTrafo.ukr23 = i7Data.ukr23;
2777
- typTrafo.pkr12 = i7Data.pkr12;
2778
- typTrafo.pkr13 = i7Data.pkr13;
2779
- typTrafo.pkr23 = i7Data.pkr23;
2780
- const typWicklung1 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2781
- typWicklung1.ratedS = new __1.ApparentPower(i7Data.sr1, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2782
- this.setTransformerEndInfoProperties(typWicklung1, i7Data, 1);
2783
- typWicklung1.powerTransformerInfo = typTrafo;
2784
- typTrafo.addTransformerEndInfo(typWicklung1);
2785
- const typWicklung2 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2786
- typWicklung2.ratedS = new __1.ApparentPower(i7Data.sr2, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2787
- this.setTransformerEndInfoProperties(typWicklung2, i7Data, 2);
2788
- typWicklung2.powerTransformerInfo = typTrafo;
2789
- typTrafo.addTransformerEndInfo(typWicklung2);
2790
- const typWicklung3 = new EVPowerTransformerEndInfo_1.EVPowerTransformerEndInfo(__1.generateUUID());
2791
- typWicklung3.ratedS = new __1.ApparentPower(i7Data.sr3, __1.UnitMultiplier.m, __1.UnitSymbol.VA);
2792
- this.setTransformerEndInfoProperties(typWicklung3, i7Data, 3);
2793
- typWicklung3.powerTransformerInfo = typTrafo;
2794
- typTrafo.addTransformerEndInfo(typWicklung3);
2795
- this.cimModel.addEvPowerTransformerInfo(typTrafo);
2796
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung1);
2797
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung2);
2798
- this.cimModel.addEvPowerTransformerEndInfo(typWicklung3);
2799
- }
2800
- }
2801
- else {
2802
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TYP_TRAFO3W} ist nicht vorhanden.`);
2803
- }
2804
- });
2805
- }
2806
- convertTrafo2W(limit, offset, defaultValuesConfig) {
2807
- var _a;
2808
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2809
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W)) {
2810
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO2W, limit, offset, []));
2811
- const trafoIDs = result.map(obj => obj['id']);
2812
- const sternpunktKnotenMap = new Map();
2813
- for (const elem of trafoIDs) {
2814
- sternpunktKnotenMap.set(elem, new Map());
2815
- }
2816
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoIDs.length) {
2817
- const sternpunktKnotenResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, 0, 0, trafoIDs));
2818
- for (const spKnoten of sternpunktKnotenResult) {
2819
- (_a = sternpunktKnotenMap.get(spKnoten.netzobjekt)) === null || _a === void 0 ? void 0 : _a.set(spKnoten.id, spKnoten);
2820
- }
2821
- }
2822
- for (const i7Data of result) {
2823
- const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2824
- const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2825
- const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2826
- if (this.blocktransformatoren.includes(utils_2.convertToNumberI7(i7Data.id))) {
2827
- powerTransformer.isPartOfGeneratorUnit = true;
2828
- }
2829
- else {
2830
- powerTransformer.isPartOfGeneratorUnit = false;
2831
- }
2832
- const startTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.aknoten), __1.PhaseCode.ABC, 1);
2833
- if (!startTerminal)
2834
- this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
2835
- const targetTerminal = util_create_1.getConnectedTerminal(this.cimModel, powerTransformer, this.inmemoryObjects.get(i7Data.eknoten), __1.PhaseCode.ABC, 2);
2836
- if (!targetTerminal)
2837
- this.logger.debug(`PowerTransformer2W ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Zielknoten.`);
2838
- const schaltgruppe = i7Data.schaltgr;
2839
- const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1${powerTransformer.name}`);
2840
- powerTransformerEnd1.endNumber = 1;
2841
- const pkr = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '');
2842
- const ukr = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '') / 100;
2843
- const sr = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber, false);
2844
- const ur = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd1.endNumber);
2845
- const ir1 = sr * 1000000 / (ur * 1000 * Math.sqrt(3));
2846
- const p0 = utils_2.isNumericI7(i7Data.p_leer) ? utils_2.convertToNumberI7(i7Data.p_leer) : 0;
2847
- const iLeer = utils_2.isNumericI7(i7Data.i_leer) ? utils_2.convertToNumberI7(i7Data.i_leer) : 0;
2848
- powerTransformerEnd1.r = utils_2.calculateR(ur, pkr, sr);
2849
- powerTransformerEnd1.x = utils_2.calculateX(ur, ukr, sr, powerTransformerEnd1.r);
2850
- powerTransformerEnd1.g = utils_2.calculateG(ur, p0);
2851
- powerTransformerEnd1.b = utils_2.calculateB(ur, sr, iLeer, p0);
2852
- powerTransformerEnd1.ratedU = ur;
2853
- powerTransformerEnd1.ratedS = sr;
2854
- if (powerTransformerEnd1.ratedU) {
2855
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
2856
- powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
2857
- }
2858
- else {
2859
- this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
2860
- }
2861
- const terminal = startTerminal;
2862
- const w1NeutralGrounded = sternpunktKnotenMap.has(i7Data.id) ? sternpunktKnotenMap.get(i7Data.id).has(i7Data.aknknoten1p) : false;
2863
- if (startTerminal) {
2864
- powerTransformerEnd1.terminalUUID = startTerminal.mrid;
2865
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, startTerminal.mrid, ir1);
2866
- if (w1NeutralGrounded) {
2867
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd1, startTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.aknknoten1p), i7Data.standort, defaultValuesConfig);
2868
- }
2869
- }
2870
- else {
2871
- this.logger.debug(`WicklungTrafo2W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
2872
- }
2873
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, w1NeutralGrounded);
2874
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
2875
- powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
2876
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
2877
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
2878
- const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2${powerTransformer.name}`);
2879
- powerTransformerEnd2.endNumber = 2;
2880
- const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber, false);
2881
- const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, powerTransformerEnd2.endNumber);
2882
- powerTransformerEnd2.r = 0;
2883
- powerTransformerEnd2.x = 0;
2884
- powerTransformerEnd2.ratedS = sr2;
2885
- powerTransformerEnd2.ratedU = ur2;
2886
- const ir2 = sr2 * 1000000 / (ur2 * 1000 * Math.sqrt(3));
2887
- if (powerTransformerEnd2.ratedU) {
2888
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
2889
- powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
2890
- }
2891
- else {
2892
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
2893
- }
2894
- const w2NeutralGrounded = sternpunktKnotenMap.has(i7Data.id) ? sternpunktKnotenMap.get(i7Data.id).has(i7Data.eknknoten1p) : false;
2895
- if (targetTerminal) {
2896
- powerTransformerEnd2.terminalUUID = targetTerminal.mrid;
2897
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, targetTerminal.mrid, ir2);
2898
- if (w2NeutralGrounded) {
2899
- this.convertTrafoGrounding(i7Data.id, powerTransformerEnd2, targetTerminal.connectivityNodeUUID, sternpunktKnotenMap.get(i7Data.id).get(i7Data.eknknoten1p), i7Data.standort, defaultValuesConfig);
2900
- }
2901
- }
2902
- else {
2903
- this.logger.debug(`Wicklung2W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
2904
- }
2905
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber, w2NeutralGrounded);
2906
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
2907
- if (powerTransformerEnd1.connectionKind === 'A' && powerTransformerEnd2.connectionKind === 'A') {
2908
- if (w1NeutralGrounded && !w2NeutralGrounded) {
2909
- powerTransformerEnd2.grounded = powerTransformerEnd1.grounded;
2910
- powerTransformerEnd2.rground = powerTransformerEnd1.rground;
2911
- powerTransformerEnd2.xground = powerTransformerEnd1.xground;
2912
- }
2913
- else if (!w1NeutralGrounded && w2NeutralGrounded) {
2914
- powerTransformerEnd1.grounded = powerTransformerEnd2.grounded;
2915
- powerTransformerEnd1.rground = powerTransformerEnd2.rground;
2916
- powerTransformerEnd1.xground = powerTransformerEnd2.xground;
2917
- }
2918
- }
2919
- powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
2920
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
2921
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
2922
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
2923
- const wicklungen = [1, 2];
2924
- const terminals = [startTerminal, targetTerminal];
2925
- const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
2926
- for (const wicklung of wicklungen) {
2927
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
2928
- const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
2929
- switch (i7Data.trafo_spezial) {
2930
- case (1): {
2931
- 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
- case (2): {
2935
- utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2936
- break;
2937
- }
2938
- default: {
2939
- if (winkel !== 0) {
2940
- utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2941
- }
2942
- else {
2943
- utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
2944
- }
2945
- break;
2946
- }
2947
- }
2948
- }
2949
- for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
2950
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[i];
2951
- powerTransformerEnd.endNumber = i + 1;
2952
- }
2953
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
2954
- if (substationUUID) {
2955
- powerTransformer.equipmentContainerUUID = substationUUID;
2956
- }
2957
- else {
2958
- this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
2959
- }
2960
- this.cimModel.addPowerTransformer(powerTransformer);
2961
- this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO2W);
2962
- this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
2963
- }
2964
- }
2965
- else {
2966
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO2W} ist nicht vorhanden.`);
2967
- }
2968
- });
2969
- }
2970
- convertTrafo3W(limit, offset, defaultValuesConfig) {
2971
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
2972
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3W)) {
2973
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3W, limit, offset, []));
2974
- const trafoIDs = result.map(obj => obj['id']);
2975
- const trafoWicklungen = new Map();
2976
- const trafoWicklungIDs = [];
2977
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) && trafoIDs.length) {
2978
- const wicklungenResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.TRAFO3_WICKLUNG, 0, 0, trafoIDs));
2979
- for (const wicklung of wicklungenResult) {
2980
- trafoWicklungen.set(wicklung.id, wicklung);
2981
- trafoWicklungIDs.push(wicklung.id);
2982
- }
2983
- }
2984
- else {
2985
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG} ist nicht vorhanden.`);
2986
- }
2987
- const sternpunktKnotenMap = new Map();
2988
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.STERNPUNKT_KNOTEN) && trafoWicklungIDs.length) {
2989
- const sternpunktKnotenResult = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.STERNPUNKT_KNOTEN, 0, 0, trafoWicklungIDs));
2990
- for (const spKnoten of sternpunktKnotenResult) {
2991
- sternpunktKnotenMap.set(spKnoten.netzobjekt, spKnoten);
2992
- }
2993
- }
2994
- for (const i7Data of result) {
2995
- const substationName = this.substationNames.get(this.integralID2UUID.get(i7Data.standort));
2996
- const powerTransformer = new __1.PowerTransformer(__1.getUUID(i7Data.guid), substationName + "/" + utils_2.getName(i7Data), i7Data.id + '', i7Data.bezeichner);
2997
- const powerTransformerInfo = this.cimModel.getPowerTransformerInfoByName(i7Data.nametyp);
2998
- const schaltgruppe = i7Data.schaltgr;
2999
- if (this.blocktransformatoren.includes(utils_2.convertToNumberI7(i7Data.id))) {
3000
- powerTransformer.isPartOfGeneratorUnit = true;
3001
- }
3002
- else {
3003
- powerTransformer.isPartOfGeneratorUnit = false;
3004
- }
3005
- const pkr12 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '12');
3006
- const pkr13 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '13');
3007
- const pkr23 = utils_2.getPkrTrafo(i7Data, powerTransformerInfo, '23');
3008
- const ukr12 = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '12');
3009
- const ukr13 = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '13');
3010
- const ukr23 = utils_2.getUkrTrafo(i7Data, powerTransformerInfo, '23');
3011
- const sr1 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, 1, true);
3012
- const sr2 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, 2, true);
3013
- const sr3 = utils_2.getSrTrafo(i7Data, powerTransformerInfo, 3, true);
3014
- const ur1 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 1);
3015
- const ur2 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 2);
3016
- const ur3 = utils_2.getUrTrafo(i7Data, powerTransformerInfo, 3);
3017
- const ir1 = sr1 * Math.pow(10, 6) / ((ur1 * Math.pow(10, 3)) * Math.sqrt(3));
3018
- const ir2 = sr2 * Math.pow(10, 6) / ((ur2 * Math.pow(10, 3)) * Math.sqrt(3));
3019
- const ir3 = sr3 * Math.pow(10, 6) / ((ur3 * Math.pow(10, 3)) * Math.sqrt(3));
3020
- const pLeer = utils_2.getTrafoPleer(i7Data, powerTransformerInfo);
3021
- const iLeer = utils_2.getTrafoIleer(i7Data, powerTransformerInfo);
3022
- const impedanzW1 = utils_trafo3w_1.calculateImpedanzenTrafo3W(1, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, pLeer, iLeer);
3023
- const impedanzW2 = utils_trafo3w_1.calculateImpedanzenTrafo3W(2, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
3024
- const impedanzW3 = utils_trafo3w_1.calculateImpedanzenTrafo3W(3, ur1, ur2, ur3, sr1, sr2, sr3, pkr12, pkr13, pkr23, ukr12, ukr13, ukr23, 0, 0);
3025
- const wicklung1 = trafoWicklungen.get(i7Data.trafowicklung3w1);
3026
- let terminal1, terminal2, terminal3;
3027
- if (wicklung1) {
3028
- const start = this.inmemoryObjects.get(wicklung1.aknoten);
3029
- if (start) {
3030
- terminal1 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 1);
3031
- }
3032
- else {
3033
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3034
- }
3035
- }
3036
- else {
3037
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 1 ${i7Data.trafowicklung3w1} ist nicht vorhanden.`);
3038
- }
3039
- const powerTransformerEnd1 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w1), `W1 ${powerTransformer.name}`);
3040
- powerTransformerEnd1.endNumber = 1;
3041
- powerTransformerEnd1.r = impedanzW1.r;
3042
- powerTransformerEnd1.x = impedanzW1.x;
3043
- powerTransformerEnd1.g = impedanzW1.g;
3044
- powerTransformerEnd1.b = impedanzW1.b;
3045
- powerTransformerEnd1.ratedU = ur1;
3046
- powerTransformerEnd1.ratedS = sr1;
3047
- if (powerTransformerEnd1.ratedU) {
3048
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd1.ratedU);
3049
- if (!baseVoltage) {
3050
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd1.ratedU);
3051
- }
3052
- powerTransformerEnd1.baseVoltageUUID = baseVoltage.mrid;
3053
- }
3054
- else {
3055
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Spannungsangabe.`);
3056
- }
3057
- powerTransformerEnd1.powerTransformerUUID = powerTransformer.mrid;
3058
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd1);
3059
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd1);
3060
- const w1NeutralGrounded = sternpunktKnotenMap.has(wicklung1.id);
3061
- if (terminal1) {
3062
- powerTransformerEnd1.terminalUUID = terminal1.mrid;
3063
- this.setConductingEquipmentCurrentLimit('W1 ' + powerTransformer.name, terminal1.mrid, ir1);
3064
- if (w1NeutralGrounded) {
3065
- this.convertTrafoGrounding(wicklung1.id, powerTransformerEnd1, terminal1.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung1.id), i7Data.standort, defaultValuesConfig);
3066
- }
3067
- }
3068
- else {
3069
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd1.endNumber} ${powerTransformerEnd1.mrid} besitzt keine Terminalinstanz.`);
3070
- }
3071
- powerTransformerEnd1.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd1.endNumber, w1NeutralGrounded);
3072
- powerTransformerEnd1.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd1.endNumber);
3073
- const wicklung2 = trafoWicklungen.get(i7Data.trafowicklung3w2);
3074
- if (wicklung2) {
3075
- const start = this.inmemoryObjects.get(wicklung2.aknoten);
3076
- if (start) {
3077
- terminal2 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 2);
3078
- }
3079
- else {
3080
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3081
- }
3082
- }
3083
- else {
3084
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 2 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
3085
- }
3086
- const powerTransformerEnd2 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w2), `W2 ${powerTransformer.name}`);
3087
- powerTransformerEnd2.endNumber = 2;
3088
- powerTransformerEnd2.r = impedanzW2.r;
3089
- powerTransformerEnd2.x = impedanzW2.x;
3090
- powerTransformerEnd2.g = impedanzW2.g;
3091
- powerTransformerEnd2.b = impedanzW2.b;
3092
- powerTransformerEnd2.ratedS = sr2;
3093
- powerTransformerEnd2.ratedU = ur2;
3094
- if (powerTransformerEnd2.ratedU) {
3095
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd2.ratedU);
3096
- if (!baseVoltage) {
3097
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd2.ratedU);
3098
- }
3099
- powerTransformerEnd2.baseVoltageUUID = baseVoltage.mrid;
3100
- }
3101
- else {
3102
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Spannungsangabe.`);
3103
- }
3104
- powerTransformerEnd2.powerTransformerUUID = powerTransformer.mrid;
3105
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd2);
3106
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd2);
3107
- const w2NeutralGrounded = sternpunktKnotenMap.has(wicklung2.id);
3108
- if (terminal2) {
3109
- powerTransformerEnd2.terminalUUID = terminal2.mrid;
3110
- this.setConductingEquipmentCurrentLimit('W2 ' + powerTransformer.name, terminal2.mrid, ir2);
3111
- if (w2NeutralGrounded) {
3112
- this.convertTrafoGrounding(wicklung2.id, powerTransformerEnd2, terminal2.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung2.id), i7Data.standort, defaultValuesConfig);
3113
- }
3114
- }
3115
- else {
3116
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd2.endNumber} ${powerTransformerEnd2.mrid} besitzt keine Terminalinstanz.`);
3117
- }
3118
- powerTransformerEnd2.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd2.endNumber, w2NeutralGrounded);
3119
- powerTransformerEnd2.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd2.endNumber);
3120
- if (powerTransformerEnd1.connectionKind === 'A' && powerTransformerEnd2.connectionKind === 'A') {
3121
- if (w1NeutralGrounded && !w2NeutralGrounded) {
3122
- powerTransformerEnd2.grounded = powerTransformerEnd1.grounded;
3123
- powerTransformerEnd2.rground = powerTransformerEnd1.rground;
3124
- powerTransformerEnd2.xground = powerTransformerEnd1.xground;
3125
- }
3126
- else if (!w1NeutralGrounded && w2NeutralGrounded) {
3127
- powerTransformerEnd1.grounded = powerTransformerEnd2.grounded;
3128
- powerTransformerEnd1.rground = powerTransformerEnd2.rground;
3129
- powerTransformerEnd1.xground = powerTransformerEnd2.xground;
3130
- }
3131
- }
3132
- const wicklung3 = trafoWicklungen.get(i7Data.trafowicklung3w3);
3133
- if (wicklung3) {
3134
- const start = this.inmemoryObjects.get(wicklung3.aknoten);
3135
- if (start) {
3136
- terminal3 = __1.createConnection(this.cimModel, powerTransformer, start, __1.PhaseCode.ABC, 3);
3137
- }
3138
- else {
3139
- this.logger.debug(`PowerTransformer ${i7Data.id} ${powerTransformer.mrid} besitzt keinen Anfangsknoten.`);
3140
- }
3141
- }
3142
- else {
3143
- this.logger.debug(`Trafo ${i7Data.id} Wicklung 3 ${i7Data.trafowicklung3w2} ist nicht vorhanden.`);
3144
- }
3145
- const powerTransformerEnd3 = new __1.PowerTransformerEnd(__1.getUUID(i7Data.guid_w3), `Wicklung 3 ${powerTransformer.name}`);
3146
- powerTransformerEnd3.endNumber = 3;
3147
- powerTransformerEnd3.r = impedanzW3.r;
3148
- powerTransformerEnd3.x = impedanzW3.x;
3149
- powerTransformerEnd3.g = impedanzW3.g;
3150
- powerTransformerEnd3.b = impedanzW3.b;
3151
- powerTransformerEnd3.ratedS = sr3;
3152
- powerTransformerEnd3.ratedU = ur3;
3153
- if (powerTransformerEnd3.ratedU) {
3154
- let baseVoltage = this.cimModel.getBaseVoltage(powerTransformerEnd3.ratedU);
3155
- if (!baseVoltage) {
3156
- baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, powerTransformerEnd3.ratedU);
3157
- }
3158
- powerTransformerEnd3.baseVoltageUUID = baseVoltage.mrid;
3159
- }
3160
- else {
3161
- this.logger.debug(`Wicklung3W ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Spannungsangabe.`);
3162
- }
3163
- powerTransformerEnd3.powerTransformerUUID = powerTransformer.mrid;
3164
- powerTransformer.addPowerTransformerEnd(powerTransformerEnd3);
3165
- this.cimModel.addPowerTransformerEnd(powerTransformerEnd3);
3166
- const w3NeutralGrounded = sternpunktKnotenMap.has(wicklung3.id);
3167
- if (terminal3) {
3168
- powerTransformerEnd3.terminalUUID = terminal3.mrid;
3169
- this.setConductingEquipmentCurrentLimit('W3 ' + powerTransformer.name, terminal3.mrid, ir3);
3170
- if (w3NeutralGrounded) {
3171
- this.convertTrafoGrounding(wicklung3.id, powerTransformerEnd3, terminal3.connectivityNodeUUID, sternpunktKnotenMap.get(wicklung3.id), i7Data.standort, defaultValuesConfig);
3172
- }
3173
- }
3174
- else {
3175
- this.logger.debug(`Wicklung ${i7Data.id} ${powerTransformerEnd3.endNumber} ${powerTransformerEnd3.mrid} besitzt keine Terminalinstanz.`);
3176
- }
3177
- powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber, w3NeutralGrounded);
3178
- powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
3179
- powerTransformer.sortTransformerEnd('ratedU', 'desc');
3180
- const wicklungen = powerTransformer.powerTransformerEnds.map(elem => elem.endNumber);
3181
- const terminals = [terminal1, terminal2, terminal3];
3182
- const spannungsband = yield this.getSpannungsbandTrafo2W(i7Data);
3183
- for (const wicklung of wicklungen) {
3184
- const powerTransformerEnd = powerTransformer.powerTransformerEnds[wicklung - 1];
3185
- const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${wicklung}`]);
3186
- switch (i7Data.trafo_spezial) {
3187
- case (1): {
3188
- 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
- case (2): {
3192
- utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3193
- break;
3194
- }
3195
- default: {
3196
- if (winkel !== 0) {
3197
- utils_2.createPhaseTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3198
- }
3199
- else {
3200
- utils_2.createRatioTapChanger(i7Data, powerTransformerEnd, this.cimModel, powerTransformerEnd.ratedU, terminals, this.knotenSpannungsband.get(spannungsband === null || spannungsband === void 0 ? void 0 : spannungsband.id));
3201
- }
3202
- break;
3203
- }
3204
- }
3205
- }
3206
- for (let i = 0; i < powerTransformer.powerTransformerEnds.length; i++) {
3207
- powerTransformer.powerTransformerEnds[i].endNumber = i + 1;
3208
- }
3209
- const substationUUID = this.integralID2UUID.get(i7Data.standort);
3210
- if (substationUUID) {
3211
- powerTransformer.equipmentContainerUUID = substationUUID;
3212
- const i7Schluessel = integral_prefix_1.TRAFO3WPRAEFIX_PRAEFIX +
3213
- i7Data.bezeichner;
3214
- powerTransformer.description = i7Schluessel;
3215
- }
3216
- else {
3217
- this.logger.debug(`Trafo2W ${i7Data.id} besitzt keine Umspannanlage.`);
3218
- }
3219
- this.cimModel.addPowerTransformer(powerTransformer);
3220
- this.addIdMapping(i7Data.id, powerTransformer.mrid, integral_sql_1.Integral7TableNames.TRAFO3W);
3221
- this.addTerminal2StatcomRegulatingControl(+i7Data.id, powerTransformer);
3222
- }
3223
- }
3224
- else {
3225
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.TRAFO3W} ist nicht vorhanden.`);
3226
- }
3227
- });
3228
- }
3229
- getSpannungsbandTrafo2W(i7Data) {
3230
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3231
- return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3232
- let minMaxSollResult;
3233
- const spgKnotenId = i7Data.spgreg_knoten;
3234
- let tempKnotenId = i7Data.spgreg_anschluss === 0 ? i7Data.aknoten :
3235
- (i7Data.spgreg_anschluss === 1 ? i7Data.eknoten : undefined);
3236
- if (tempKnotenId !== undefined) {
3237
- let queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF]} WHERE id = ${tempKnotenId};`);
3238
- if (queryResult.length === 1) {
3239
- const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3240
- const tabName_NetzSchaltfeld = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHALTFELD];
3241
- const tabName_NetzKnotenSf = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SF];
3242
- const sqlStatement = `SELECT ${tabName_NetzSSAB}.id, ${tabName_NetzSSAB}.umin, ${tabName_NetzSSAB}.umax, ${tabName_NetzSSAB}.usoll
3243
- FROM ${tabName_NetzSSAB}
3244
- LEFT JOIN ${tabName_NetzSchaltfeld} ON ${tabName_NetzSSAB}.saabschnitt = ${tabName_NetzSchaltfeld}.saabschnitt
3245
- LEFT JOIN ${tabName_NetzKnotenSf} ON ${tabName_NetzKnotenSf}.schaltfeld = ${tabName_NetzSchaltfeld}.id
3246
- WHERE ${tabName_NetzKnotenSf}.id = ${tempKnotenId}`;
3247
- minMaxSollResult = yield this.queryFunctionWrapper(sqlStatement);
3248
- }
3249
- else {
3250
- queryResult = yield this.queryFunctionWrapper(`SELECT id FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW]} WHERE id = ${tempKnotenId};`);
3251
- if (queryResult.length === 1) {
3252
- const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3253
- const tabName_NetzSchlaufe = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SCHLAUFE];
3254
- const tabName_NetzKnotenZw = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_ZW];
3255
- minMaxSollResult = yield this.queryFunctionWrapper(`SELECT ${tabName_NetzSo}.id, ${tabName_NetzSo}.umin, ${tabName_NetzSo}.umax, ${tabName_NetzSo}.usoll
3256
- FROM ${tabName_NetzKnotenZw}
3257
- LEFT JOIN ${tabName_NetzSchlaufe} ON
3258
- ${tabName_NetzSchlaufe}.id = ${tabName_NetzKnotenZw}.schlaufe
3259
- LEFT JOIN ${tabName_NetzSo} ON
3260
- ${tabName_NetzSchlaufe}.eknoten = ${tabName_NetzSo}.id
3261
- WHERE ${tabName_NetzKnotenZw}.id = ${tempKnotenId};`);
3262
- }
3263
- else {
3264
- minMaxSollResult = yield this.queryFunctionWrapper(`SELECT id, umin, umax, usoll FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO]} where id = ${tempKnotenId};`);
3265
- }
3266
- }
3267
- }
3268
- else if (spgKnotenId !== undefined) {
3269
- const tabName_NetzSo = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.KNOTEN_SO];
3270
- const tabName_NetzSSAB = integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.SAMMELSCHIENE];
3271
- const query = ` SELECT Voltage.id, Voltage.umin, Voltage.umax, Voltage.usoll
3272
- FROM (
3273
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSo} WHERE ${tabName_NetzSo}.id = ${spgKnotenId}
3274
- UNION
3275
- SELECT id, umin, umax, usoll FROM ${tabName_NetzSSAB} WHERE ${tabName_NetzSSAB}.id = ${spgKnotenId}) as Voltage`;
3276
- minMaxSollResult = yield this.queryFunctionWrapper(query);
3277
- }
3278
- if (minMaxSollResult && minMaxSollResult.length) {
3279
- resolve(minMaxSollResult[0]);
3280
- }
3281
- else {
3282
- resolve({ id: 0, usoll: 0, umin: 0, umax: 0 });
3283
- }
3284
- }));
3285
- });
3286
- }
3287
- convertAsynchronmotor(knotenSfIDs) {
3288
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3289
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR)) {
3290
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ASYNCHRONMOTOR, 0, 0, knotenSfIDs));
3291
- for (const i7Data of result) {
3292
- const asynchronousMachine = new __1.AsynchronousMachine(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.kurzname, 'SO-' + i7Data.ukz + integral_prefix_1.MITTIGER_PUNKT + i7Data.bezeichner);
3293
- asynchronousMachine.efficiency = i7Data.wirkungsgrad * 100;
3294
- asynchronousMachine.iaIrRatio = i7Data.ilr_ir;
3295
- asynchronousMachine.polePairNumber = i7Data.polpaarz;
3296
- asynchronousMachine.ratedMechanicalPower = i7Data.p_mech;
3297
- asynchronousMachine.ratedPowerFactor = i7Data.cos_phir;
3298
- asynchronousMachine.ratedS = i7Data.sr;
3299
- asynchronousMachine.ratedU = i7Data.ur;
3300
- asynchronousMachine.setActivePower(i7Data.p0);
3301
- asynchronousMachine.setReactivePower(i7Data.flag_ind === 1 ? i7Data.q0_ind : i7Data.q0_kap);
3302
- asynchronousMachine.controlEnabled = false;
3303
- const inBetrieb = utils_2.convertToBooleanI7(i7Data.betrieb);
3304
- __1.createSvStatus(this.cimModel, inBetrieb, asynchronousMachine);
3305
- const connectivityNode = this.cimModel.objects.get(this.integralID2UUID.get(i7Data.anschluss));
3306
- if (connectivityNode) {
3307
- __1.createConnection(this.cimModel, asynchronousMachine, connectivityNode, __1.PhaseCode.ABC);
3308
- const equipmentContainer = utils_2.determineEquipmentContainer('VoltageLevel', this.cimModel.getObject(connectivityNode.getConnectivityNodeContainerUUID()));
3309
- if (equipmentContainer) {
3310
- asynchronousMachine.equipmentContainerUUID = equipmentContainer === null || equipmentContainer === void 0 ? void 0 : equipmentContainer.mrid;
3311
- this.cimModel.addAsynchronousMachine(asynchronousMachine);
3312
- this.addIdMapping(i7Data.id, asynchronousMachine.mrid, integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR);
3313
- }
3314
- else {
3315
- this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen EquipmentContainer.`);
3316
- }
3317
- }
3318
- else {
3319
- this.logger.debug(`AsynchronousMachine ${i7Data.id} besitzt keinen ConnectivityNode.`);
3320
- }
3321
- }
3322
- }
3323
- else {
3324
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ASYNCHRONMOTOR} ist nicht vorhanden.`);
3325
- }
3326
- });
3327
- }
3328
- getAvailableTableNames(database) {
3329
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3330
- try {
3331
- const results = yield this.queryFunctionWrapper(`SHOW TABLES FROM ${database}`);
3332
- for (const table of results) {
3333
- this.availableTableNames.push(table[`Tables_in_${database}`]);
3334
- }
3335
- }
3336
- catch (e) {
3337
- console.error("ERROR:" + e);
3338
- }
3339
- });
3340
- }
3341
- convertErsatzLaengszweige(limit, offset, defaultValuesConfig) {
3342
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3343
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG)) {
3344
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.ERSATZLAENGSZWEIG, limit, offset, []));
3345
- for (const i7Data of result) {
3346
- const i7Schluessel = integral_prefix_1.ERSATZLAENGSZWEIG_PRAEFIX +
3347
- utils_2.ueberpruefeZeichenkette(i7Data.ukz) +
3348
- integral_prefix_1.MITTIGER_PUNKT +
3349
- utils_2.ueberpruefeZeichenkette(i7Data.kurzname) +
3350
- integral_prefix_1.MITTIGER_PUNKT +
3351
- utils_2.ueberpruefeZeichenkette(i7Data.bezeichner) +
3352
- integral_prefix_1.MITTIGER_PUNKT +
3353
- utils_2.ueberpruefeZeichenkette(i7Data.stkabname);
3354
- const equivalentBranch = new __1.EquivalentBranch(__1.getUUID(i7Data.guid), i7Data.bezeichner, i7Data.kurzname, i7Schluessel);
3355
- const ur1 = utils_2.getU(i7Data.ur1, defaultValuesConfig.DefaultVoltage);
3356
- const ur2 = utils_2.getU(i7Data.ur2, defaultValuesConfig.DefaultVoltage);
3357
- const baseVoltageUr1 = __1.createBaseVoltageIfNotExists(this.cimModel, ur1);
3358
- const baseVoltageUr2 = __1.createBaseVoltageIfNotExists(this.cimModel, ur2);
3359
- if (baseVoltageUr1) {
3360
- equivalentBranch.baseVoltage = baseVoltageUr1;
3361
- }
3362
- else if (baseVoltageUr2) {
3363
- equivalentBranch.baseVoltage = baseVoltageUr2;
3364
- }
3365
- const start = this.inmemoryObjects.get(i7Data.aknoten);
3366
- if (start) {
3367
- __1.createConnection(this.cimModel, equivalentBranch, start, __1.PhaseCode.ABC, 1);
3368
- }
3369
- else {
3370
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Anfangsknoten. ${i7Data.aknoten} ${this.integralID2UUID.get(i7Data.aknoten)}`);
3371
- }
3372
- const target = this.inmemoryObjects.get(i7Data.eknoten);
3373
- if (target) {
3374
- __1.createConnection(this.cimModel, equivalentBranch, target, __1.PhaseCode.ABC, 2);
3375
- }
3376
- else {
3377
- this.logger.debug(`Leitung ${i7Data.id} ${equivalentBranch.mrid} besitzt keinen Zielknoten.`);
3378
- }
3379
- this.cimModel.addEquivalentBranch(equivalentBranch);
3380
- this.addIdMapping(i7Data.id, equivalentBranch.mrid, integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
3381
- }
3382
- }
3383
- else {
3384
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG} ist nicht vorhanden.`);
3385
- }
3386
- });
3387
- }
3388
- convertLaengsdrosseln(limit, offset, defaultValuesConfig) {
3389
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3390
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL)) {
3391
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.LAENGSDROSSEL, limit, offset, []));
3392
- for (const i7Data of result) {
3393
- const seriesCompensator = new AMPRIONSeriesCompensator_1.AMPRIONSeriesCompensator(__1.getUUID(i7Data.guid), utils_2.getName(i7Data), i7Data.id + '', 'LD-' + i7Data.bezeichner);
3394
- const start = this.inmemoryObjects.get(i7Data.aknoten);
3395
- let startTerminal;
3396
- if (start) {
3397
- startTerminal = __1.createConnection(this.cimModel, seriesCompensator, start, __1.PhaseCode.ABC, 1);
3398
- }
3399
- else {
3400
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Anfangsknoten.`);
3401
- }
3402
- const target = this.inmemoryObjects.get(i7Data.eknoten);
3403
- let targetTerminal;
3404
- if (target) {
3405
- targetTerminal = __1.createConnection(this.cimModel, seriesCompensator, target, __1.PhaseCode.ABC, 2);
3406
- }
3407
- else {
3408
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keinen Zielknoten.`);
3409
- }
3410
- const ur = utils_2.getU(i7Data.ur, defaultValuesConfig.DefaultVoltage);
3411
- const baseVoltage = __1.createBaseVoltageIfNotExists(this.cimModel, ur);
3412
- const i = utils_2.isNumericI7(i7Data.ir) ? utils_2.convertToNumberI7(i7Data.ir) : defaultValuesConfig.SeriesCompensator.varistorRatedCurrent;
3413
- const ukr = utils_2.isNumericI7(i7Data.ukr) ? utils_2.convertToNumberI7(i7Data.ukr) : 0;
3414
- if (i > 0 && ukr > 0) {
3415
- const voltage = baseVoltage.nominalVoltage.value * 1000;
3416
- const z = (ukr / 100) * Math.pow(voltage, 2) / (voltage * i * Math.sqrt(3));
3417
- seriesCompensator.x = z;
3418
- }
3419
- seriesCompensator.varistorRatedCurrent = i;
3420
- const terminal = startTerminal;
3421
- if (terminal) {
3422
- this.setConductingEquipmentCurrentLimit('Rating ' + seriesCompensator.name, terminal.mrid, i);
3423
- }
3424
- else {
3425
- this.logger.debug(`Längsdrossel ${i7Data.id} ${seriesCompensator.mrid} besitzt keine Terminalinstanz.`);
3426
- }
3427
- const subVlData = this.substationVoltagelevels.get(i7Data.standort);
3428
- const vlObject = getVoltageLevelByVoltage(subVlData, ur);
3429
- if (vlObject) {
3430
- seriesCompensator.equipmentContainerUUID = vlObject.vlUUID;
3431
- seriesCompensator.baseVoltageUUID = vlObject.baseVoltageUUID;
3432
- }
3433
- else {
3434
- this.logger.debug(`Längsdrossel ${i7Data.id} besitzt kein VoltageLevel Ur ${i7Data.ur}.`);
3435
- }
3436
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, 'Längsdrossel');
3437
- seriesCompensator.psrTypeUUID = psrType.mrid;
3438
- this.cimModel.addSeriesCompensator(seriesCompensator);
3439
- this.addIdMapping(i7Data.id, seriesCompensator.mrid, integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
3440
- }
3441
- }
3442
- else {
3443
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.LAENGSDROSSEL} ist nicht vorhanden.`);
3444
- }
3445
- });
3446
- }
3447
- convertQuerzweigErgebnisData(pfResultID2querZweigID, ergebnisID, teilNr) {
3448
- return new Promise((resolve) => {
3449
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.ERG_LFL_ANSCHLUSS)) {
3450
- const whereIDs = [...pfResultID2querZweigID.keys()];
3451
- if (whereIDs.length) {
3452
- this.queryFunctionWrapper(integral_sql_1.queryResultData(ergebnisID, teilNr, whereIDs))
3453
- .then((result) => {
3454
- for (const i7Data of result) {
3455
- const conductingEquipmentUUID = this.integralID2UUID.get(pfResultID2querZweigID.get(i7Data.id));
3456
- const conductingEquipment = this.cimModel.getObject(conductingEquipmentUUID);
3457
- if (conductingEquipment.terminalsUUIDs.length) {
3458
- util_create_1.createSvPowerFlow(this.cimModel, i7Data.p, i7Data.q, conductingEquipment.terminalsUUIDs[0]);
3459
- }
3460
- }
3461
- pfResultID2querZweigID.clear();
3462
- resolve();
3463
- });
3464
- }
3465
- }
3466
- resolve();
3467
- });
3468
- }
3469
- addTerminal2StatcomRegulatingControl(i7TrafoID, powerTransformer) {
3470
- var _a, _b;
3471
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3472
- if (this.statcomRegulatingControls.has(i7TrafoID)) {
3473
- if ((_a = powerTransformer === null || powerTransformer === void 0 ? void 0 : powerTransformer.powerTransformerEnds) === null || _a === void 0 ? void 0 : _a.length) {
3474
- let voltage = 0;
3475
- let powertransfomerEnd = powerTransformer.powerTransformerEnds[0];
3476
- for (const pEnd of powerTransformer.powerTransformerEnds) {
3477
- const baseVoltage = this.cimModel.baseVoltages.get(pEnd.getBaseVoltageUUID());
3478
- if (!baseVoltage)
3479
- continue;
3480
- const v = (_b = baseVoltage.nominalVoltage) === null || _b === void 0 ? void 0 : _b.value;
3481
- if (v > voltage) {
3482
- voltage = v;
3483
- powertransfomerEnd = pEnd;
3484
- }
3485
- }
3486
- const terminalUUID = powertransfomerEnd.getTerminalUUID();
3487
- const regulatingControl = this.statcomRegulatingControls.get(i7TrafoID);
3488
- regulatingControl.terminalUUID = terminalUUID;
3489
- this.statcomRegulatingControls.delete(i7TrafoID);
3490
- this.cimModel.addRegulatingControl(regulatingControl);
3491
- }
3492
- }
3493
- });
3494
- }
3495
- convertNetzvarianten() {
3496
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3497
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NETZVARIANTEN)) {
3498
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NETZVARIANTEN, 0, 0, []));
3499
- for (const i7Data of result) {
3500
- if (i7Data.art === 2) {
3501
- const diagram = new __1.Diagram(__1.getUUID(i7Data.guid), i7Data.name, String(i7Data.id));
3502
- diagram.orientation = __1.OrientationKind.negative;
3503
- diagram.diagramStyle = this.cimModel.getDiagramStyle(__1.DIAGRAM_LAYOUT_TYPES.NODE_BREAKER);
3504
- this.cimModel.addDiagram(diagram);
3505
- this.i7SchemaID2UUID.set(i7Data.id, diagram.mrid);
3506
- }
3507
- }
3508
- }
3509
- else {
3510
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NETZVARIANTEN} ist nicht vorhanden.`);
3511
- }
3512
- });
3513
- }
3514
- convertSchemaStandorte(standortIDs) {
3515
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3516
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_STANDORT)) {
3517
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_STANDORT, 0, 0, standortIDs));
3518
- for (const i7Data of result) {
3519
- const schema = {
3520
- netzId: i7Data.standort,
3521
- variantenNr: i7Data.variantennr,
3522
- schemaId: i7Data.id,
3523
- schemaIdParent: undefined,
3524
- x: i7Data.xrel,
3525
- y: i7Data.yrel
3526
- };
3527
- this.schemaIDSchemastandort.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3528
- }
3529
- }
3530
- else {
3531
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_STANDORT} ist nicht vorhanden.`);
3532
- }
3533
- });
3534
- }
3535
- convertSchemaKnotenSo(knotenSoIDs) {
3536
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3537
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO)) {
3538
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_KNOTEN_SO, 0, 0, knotenSoIDs));
3539
- for (const i7Data of result) {
3540
- const diagramUUID = this.i7SchemaID2UUID.get(i7Data.variantennr);
3541
- const schemaStandordObject = utils_2.getSchemaValue(i7Data.variantennr, i7Data.nsgso, this.schemaIDSchemastandort);
3542
- if (!diagramUUID || !schemaStandordObject) {
3543
- continue;
3544
- }
3545
- const diagramObject = new __1.DiagramObject(__1.generateUUID(), 'Abzweig');
3546
- diagramObject.diagramUUID = diagramUUID;
3547
- if (!this.cimModel.diagrams.has(diagramUUID)) {
3548
- const d = this.cimModel.getObject(diagramUUID);
3549
- console.log();
3550
- }
3551
- diagramObject.setDiagram(this.cimModel.getDiagram(diagramUUID));
3552
- const diagramObjectPoint = new __1.DiagramObjectPoint(schemaStandordObject.x + i7Data.xrel, schemaStandordObject.y + i7Data.yrel);
3553
- diagramObjectPoint.mrid = __1.generateUUID();
3554
- diagramObjectPoint.diagramObject = diagramObject;
3555
- diagramObject.addDiagramObjectPoint(diagramObjectPoint);
3556
- this.cimModel.addDiagramObject(diagramObject);
3557
- this.cimModel.addDiagramObjectPoint(diagramObjectPoint);
3558
- const cnUUID = this.integralID2UUID.get(i7Data.knotenso);
3559
- const cn = this.cimModel.getObject(cnUUID);
3560
- if (cn) {
3561
- diagramObject.identifiedObjectUUID = cn.mrid;
3562
- }
3563
- else {
3564
- this.logger.debug(`KnotenSo/DiagramObject ${diagramObject.mrid} hat kein PSR-Objekt.`);
3565
- }
3566
- }
3567
- }
3568
- else {
3569
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_KNOTEN_SO} ist nicht vorhanden.`);
3570
- }
3571
- });
3572
- }
3573
- convertSchemaSchaltanlage(saIDs) {
3574
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3575
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE)) {
3576
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGE, 0, 0, saIDs));
3577
- for (const i7Data of result) {
3578
- const schema = {
3579
- netzId: i7Data.schaltanlage,
3580
- variantenNr: i7Data.variantennr,
3581
- schemaId: i7Data.id,
3582
- schemaIdParent: i7Data.nsgso,
3583
- x: i7Data.xrel,
3584
- y: i7Data.yrel
3585
- };
3586
- this.schemaIDSchaltanlage.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3587
- }
3588
- }
3589
- else {
3590
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGE} ist nicht vorhanden.`);
3591
- }
3592
- });
3593
- }
3594
- convertSchemaSchaltanlagenAbschnitte(schaltanlagenabschnittIDs) {
3595
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3596
- if (this.isTableAvailable(integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT)) {
3597
- const result = yield this.queryFunctionWrapper(integral_sql_1.getNetzQuery(integral_sql_1.I7Objects.NSG_SCHALTANLAGENABSCHNITT, 0, 0, schaltanlagenabschnittIDs));
3598
- for (const i7Data of result) {
3599
- const schema = {
3600
- netzId: i7Data.saabschnitt,
3601
- variantenNr: i7Data.variantennr,
3602
- schemaId: i7Data.id,
3603
- schemaIdParent: i7Data.nsgsa,
3604
- x: i7Data.xrel,
3605
- y: i7Data.yrel
3606
- };
3607
- this.schemaIDSchaltanlagenabschnitt.set({ variantenNr: i7Data.variantennr, schemaId: i7Data.id }, schema);
3608
- }
3609
- }
3610
- else {
3611
- this.logger.debug(`Tabelle ${integral_sql_1.Integral7TableNames.NSG_SCHALTANLAGENABSCHNITT} ist nicht vorhanden.`);
3612
- }
3613
- });
3614
- }
3615
- queryFunction(query, successCallback, errorCallback) {
3616
- this.mysqlConnection.query(query, (error, results, fields) => {
3617
- if (error)
3618
- errorCallback(error);
3619
- successCallback(results);
3620
- });
3621
- }
3622
- queryFunctionWrapper(query) {
3623
- return new Promise((resolve, reject) => {
3624
- this.queryFunction(query, (successResponse) => {
3625
- resolve(successResponse);
3626
- }, (errorResponse) => {
3627
- reject(errorResponse);
3628
- });
3629
- });
3630
- }
3631
- openConnection() {
3632
- this.mysqlConnection.connect();
3633
- }
3634
- init(mySqlConfig, logger) {
3635
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3636
- return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
3637
- try {
3638
- this.logger = logger;
3639
- this.initDbConnection(mySqlConfig);
3640
- this.openConnection();
3641
- yield this.getAvailableTableNames(mySqlConfig.database);
3642
- this.standortAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.STANDORT);
3643
- this.leitungsAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LEITUNG);
3644
- this.hgueLeitungsAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.HGUE_LEITUNG);
3645
- this.ersatzlaengszweigAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG);
3646
- this.laengsdrosselAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LAENGSDROSSEL);
3647
- this.laengskondensatorAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR);
3648
- this.trafo2WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO2W);
3649
- this.trafo3WAnzahl = yield this.queryObjectCount(integral_sql_1.Integral7TableNames.TRAFO3W);
3650
- yield this.queryAnschlussIDs();
3651
- yield this.querySpGeregelteKnoten();
3652
- resolve({ status: 'successful', message: 'ok' });
3653
- }
3654
- catch (e) {
3655
- reject({ status: 'error', message: e.toString() });
3656
- }
3657
- }));
3658
- });
3659
- }
3660
- initDbConnection(mySqlConfig) {
3661
- this.mysqlConnection = mysql.createConnection({
3662
- host: mySqlConfig.host,
3663
- port: mySqlConfig.port,
3664
- database: mySqlConfig.database,
3665
- user: mySqlConfig.user,
3666
- password: mySqlConfig.password,
3667
- });
3668
- }
3669
- closeConnection() {
3670
- this.mysqlConnection.end();
3671
- }
3672
- convertTrafoGrounding(trafoObjektID, powerTransformerEnd, cnUUID, stpKnoten, standortID, defaultValuesConfig) {
3673
- if (stpKnoten) {
3674
- const junctionUUID = this.stpImpModel.stpSchieneJunctionUUIDs.get(stpKnoten.schaltelement1pelem);
3675
- powerTransformerEnd.grounded = true;
3676
- powerTransformerEnd.rground = defaultValuesConfig.TransformerEnd.rground;
3677
- if (!junctionUUID) {
3678
- }
3679
- else {
3680
- const terminal = new __1.Terminal(__1.generateUUID(), 't_stp_trafo');
3681
- terminal.connectivityNodeUUID = cnUUID;
3682
- terminal.conductingEquipmentUUID = junctionUUID;
3683
- terminal.connected = true;
3684
- terminal.phases = __1.PhaseCode.N;
3685
- this.cimModel.addTerminal(terminal);
3686
- const junction = this.stpImpModel.junctions.get(junctionUUID);
3687
- if (junction)
3688
- junction.name = (junction === null || junction === void 0 ? void 0 : junction.name) + '/Trafo';
3689
- const pSpuleGroundImpedance = this.stpImpModel.junctionUUIDstpImp.get(junctionUUID);
3690
- const subVlData = this.substationVoltagelevels.get(standortID);
3691
- const vlObject = getVoltageLevelByVoltage(subVlData, powerTransformerEnd.ratedU);
3692
- if (!vlObject) {
3693
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat kein EquipmentContainer`);
3694
- }
3695
- if (junction) {
3696
- junction.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
3697
- junction.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
3698
- }
3699
- else {
3700
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine Junction ${junctionUUID}`);
3701
- }
3702
- if (pSpuleGroundImpedance) {
3703
- pSpuleGroundImpedance.baseVoltageUUID = (vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID) ? vlObject === null || vlObject === void 0 ? void 0 : vlObject.baseVoltageUUID : powerTransformerEnd.baseVoltageUUID;
3704
- pSpuleGroundImpedance.equipmentContainerUUID = vlObject === null || vlObject === void 0 ? void 0 : vlObject.vlUUID;
3705
- }
3706
- else {
3707
- this.logger.debug(`TrafoObjektID ${trafoObjektID} hat keine pSpuleGroundImpedance`);
3708
- }
3709
- }
3710
- }
3711
- }
3712
- setWireInfoProperties(object, data, type) {
3713
- object.name = data.name;
3714
- object.type = type;
3715
- object.voltage = data.un;
3716
- object.r1 = +data.r1;
3717
- object.x1 = +data.x1;
3718
- object.c1 = +data.c1;
3719
- object.r0 = +data.r0;
3720
- object.x0 = +data.x0;
3721
- object.c0 = +data.c0;
3722
- object.ratedCurrent = +data.ir;
3723
- }
3724
- setACLineSegmentProperties(acLineSegment, data) {
3725
- if (utils_2.isNumericI7(data.laenge) && data.laenge <= 0) {
3726
- data.flag_impedanzlos = 1;
3727
- }
3728
- if (utils_2.isNumericI7(data.laenge) && data.laenge > 0 && !data.flag_impedanzlos) {
3729
- acLineSegment.length = data.laenge;
3730
- }
3731
- else {
3732
- acLineSegment.length = 1;
3733
- }
3734
- const assetType = this.cimModel.getWireInfoByName(data.nametyp);
3735
- if (utils_2.isNumericI7(data.r0) && data.r0 > 0 && !data.flag_impedanzlos) {
3736
- acLineSegment.r0 = data.r0;
3737
- }
3738
- else if (assetType && !data.flag_impedanzlos) {
3739
- acLineSegment.r0 = assetType.r0 * acLineSegment.length;
3740
- }
3741
- else {
3742
- acLineSegment.r0 = 0;
3743
- }
3744
- if (utils_2.isNumericI7(data.x0) && data.x0 > 0 && !data.flag_impedanzlos) {
3745
- acLineSegment.x0 = data.x0;
3746
- }
3747
- else if (assetType && !data.flag_impedanzlos) {
3748
- acLineSegment.x0 = assetType.x0 * acLineSegment.length;
3749
- }
3750
- else {
3751
- acLineSegment.x0 = 0;
3752
- }
3753
- if (utils_2.isNumericI7(data.c0) && data.c0 > 0 && !data.flag_impedanzlos) {
3754
- acLineSegment.b0ch = utils_2.calculateBC(data.c0, 50);
3755
- }
3756
- else if (assetType && !data.flag_impedanzlos) {
3757
- acLineSegment.b0ch = utils_2.calculateBC(assetType.c0, 50) * data.laenge;
3758
- }
3759
- else {
3760
- acLineSegment.b0ch = 0;
3761
- }
3762
- if (utils_2.isNumericI7(data.c0) && data.c0 > 0 && !data.flag_impedanzlos) {
3763
- acLineSegment.g0ch = utils_2.calculateG0ch(data.r0);
3764
- }
3765
- else if (assetType && !data.flag_impedanzlos) {
3766
- acLineSegment.g0ch = utils_2.calculateG0ch(assetType.r0) * data.laenge;
3767
- }
3768
- else {
3769
- acLineSegment.g0ch = 0;
3770
- }
3771
- if (utils_2.isNumericI7(data.r1) && data.r1 > 0 && !data.flag_impedanzlos) {
3772
- acLineSegment.r = data.r1;
3773
- }
3774
- else if (assetType && !data.flag_impedanzlos) {
3775
- acLineSegment.r = assetType.r1 * data.laenge;
3776
- }
3777
- else {
3778
- acLineSegment.r = 0;
3779
- }
3780
- if (utils_2.isNumericI7(data.x1) && data.x1 > 0 && !data.flag_impedanzlos) {
3781
- acLineSegment.x = data.x1;
3782
- }
3783
- else if (assetType && !data.flag_impedanzlos) {
3784
- acLineSegment.x = assetType.x1 * data.laenge;
3785
- }
3786
- else {
3787
- acLineSegment.x = 0;
3788
- }
3789
- if (utils_2.isNumericI7(data.c1) && data.c1 > 0 && !data.flag_impedanzlos) {
3790
- acLineSegment.bch = utils_2.calculateBC(data.c1, 50);
3791
- }
3792
- else if (assetType && !data.flag_impedanzlos) {
3793
- acLineSegment.bch = utils_2.calculateBC(assetType.c1, 50) * data.laenge;
3794
- }
3795
- else {
3796
- acLineSegment.bch = 0;
3797
- }
3798
- for (const terminalUUID of acLineSegment.terminalsUUIDs) {
3799
- if (utils_2.isNumericI7(data.ir) && data.ir > 0) {
3800
- this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, data.ir);
3801
- }
3802
- else if (assetType && assetType.ratedCurrent && assetType.ratedCurrent !== 0) {
3803
- this.setConductingEquipmentCurrentLimit(acLineSegment.name, terminalUUID, assetType.ratedCurrent);
3804
- }
3805
- else {
3806
- }
3807
- }
3808
- const psrType = utils_1.createIfNotExitsPSRType(this.cimModel, data.typ);
3809
- acLineSegment.psrTypeUUID = psrType.mrid;
3810
- }
3811
- setConductingEquipmentCurrentLimit(name, terminalUUID, ir) {
3812
- const currentLimit = new __1.CurrentLimit(__1.generateUUID(), `${name}`);
3813
- this.cimModel.addCurrentLimit(currentLimit);
3814
- currentLimit.value = new __1.CurrentFlow(ir, __1.UnitMultiplier.none, __1.UnitSymbol.A);
3815
- const operationalLimitSet = new __1.OperationalLimitSet(__1.generateUUID(), `${name}`);
3816
- this.cimModel.addOperationalLimitSet(operationalLimitSet);
3817
- currentLimit.operationalLimitSetUUID = operationalLimitSet.mrid;
3818
- const operationalLimitType = this.getOperationalLimitType('patl');
3819
- currentLimit.operationalLimitTypeUUID = operationalLimitType.mrid;
3820
- operationalLimitSet.terminalUUID = terminalUUID;
3821
- }
3822
- getOperationalLimitType(name) {
3823
- let operationalLimitType = this.cimModel.getOperationalLimitTypeByName(name);
3824
- if (!operationalLimitType) {
3825
- operationalLimitType = new __1.OperationalLimitType(__1.generateUUID(), name);
3826
- operationalLimitType.direction = __1.OperationalLimitDirectionKind.absoluteValue;
3827
- operationalLimitType.limitType = __1.LimitTypeKind.patl;
3828
- this.cimModel.addOperationalLimitType(operationalLimitType);
3829
- }
3830
- return operationalLimitType;
3831
- }
3832
- setTransformerEndInfoProperties(wicklung, data, endNumber) {
3833
- const minstufe = `minstufe_s${endNumber}`;
3834
- const mittelstufe = `mittelstufe_s${endNumber}`;
3835
- const maxstufe = `maxstufe_s${endNumber}`;
3836
- const umax = `umax_s${endNumber}`;
3837
- const umin = `umin_s${endNumber}`;
3838
- const gestufte_seite = `gestufte_seite_s${endNumber}`;
3839
- const ur = `ur${endNumber}`;
3840
- wicklung.endNumber = endNumber;
3841
- wicklung.ratedU = new __1.Voltage(data[ur], __1.UnitMultiplier.k, __1.UnitSymbol.V);
3842
- wicklung.tapActive = utils_2.convertToBooleanI7(data[gestufte_seite]);
3843
- const tapChangerInfo = new TapChangerInfo_1.TapChangerInfo(__1.generateUUID(), `TapChangerInfo_${data['id']}`);
3844
- tapChangerInfo.highStep = data[maxstufe];
3845
- tapChangerInfo.lowStep = data[minstufe];
3846
- tapChangerInfo.neutralStep = data[mittelstufe];
3847
- }
3848
- writeHeaderStart(xmlWriter, profileURI) {
3849
- xmlWriter.startDocument('1.0', 'UTF-8');
3850
- xmlWriter.startElementNS(__1.RDF_XML.RDF_NS_PREFIX, 'RDF', __1.RDF_XML.RDF_NS);
3851
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.RDF_NS_PREFIX}`, __1.RDF_XML.RDF_NS);
3852
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CIM_NS_PREFIX}`, __1.RDF_XML.CIM_NS_16);
3853
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.ENTSOE_NS_PREFIX}`, __1.RDF_XML.ENTSOE_NS);
3854
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.MD_NS_PREFIX}`, __1.RDF_XML.MD_NS);
3855
- if (profileURI === __1.RDF_XML.AMP_I7_PROFILE_URI) {
3856
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.AMPRION_NS_PREFIX}`, __1.RDF_XML.AMPRION_NS);
3857
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.IPS_NS_PREFIX}`, __1.RDF_XML.IPS_NS);
3858
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.CAPE_NS_PREFIX}`, __1.RDF_XML.CAPE_NS);
3859
- utils_1.writeElementAttribute(xmlWriter, `xmlns:${__1.RDF_XML.EV_NS_PREFIX}`, __1.RDF_XML.ENERVANCE_NS);
3860
- }
3861
- }
3862
- writeHeaderEnd(xmlWriter) {
3863
- xmlWriter.endElement();
3864
- xmlWriter.endDocument();
3865
- }
3866
- objectToCIMXML(xmlWriter, values, profileName, defaultValuesConfig, logger) {
3867
- cgmes_validator_1.validateCGMESData(values, defaultValuesConfig);
3868
- for (const object of values.values()) {
3869
- object.toCIMXML(xmlWriter, profileName, logger);
3870
- }
3871
- }
3872
- objectArrayToCIMXML(xmlWriter, values, profileName) {
3873
- for (const object of values) {
3874
- object.toCIMXML(xmlWriter, profileName);
3875
- }
3876
- }
3877
- checkMemoryObject(i7ID, cimObject) {
3878
- if (this.leitungAnschlussKnotenIDs.has(i7ID)) {
3879
- this.inmemoryObjects.set(i7ID, cimObject);
3880
- return true;
3881
- }
3882
- return false;
3883
- }
3884
- isTableAvailable(tableName) {
3885
- return this.availableTableNames.indexOf(tableName) > -1 ? true : false;
3886
- }
3887
- checkRegelungsknotenTerminals(schlaufenTerminals) {
3888
- for (const terminal of schlaufenTerminals) {
3889
- const cnI7IDs = this.UUID2Integral7ID_.get(terminal.connectivityNodeUUID);
3890
- if (!cnI7IDs)
3891
- continue;
3892
- const spData = this.knotenSpannungsband.get(cnI7IDs.find(elem => elem));
3893
- if (spData) {
3894
- spData.terminals.push({ uuid: terminal.mrid, connected: terminal.connected });
3895
- }
3896
- }
3897
- }
3898
- addDefaultObjects(defaultValuesConfig) {
3899
- const loadArea = new LoadArea_1.LoadArea(__1.generateUUID(), defaultValuesConfig.LoadArea.name);
3900
- this.cimModel.addLoadArea(loadArea);
3901
- const subLoadArea = new SubLoadArea_1.SubLoadArea(__1.generateUUID(), defaultValuesConfig.SubLoadArea.name);
3902
- subLoadArea.loadArea = loadArea;
3903
- this.cimModel.addSubLoadArea(subLoadArea);
3904
- const conformLoadGroup = new ConformLoadGroup_1.ConformLoadGroup(__1.generateUUID(), defaultValuesConfig.ConformLoadGroup.name);
3905
- conformLoadGroup.subLoadArea = subLoadArea;
3906
- this.cimModel.addConformLoadGroup(conformLoadGroup);
3907
- const crsUrn = 'urn:ogc:def:crs:EPSG::4326';
3908
- const coordinateSystem = new __1.CoordinateSystem(__1.generateUUID(), this.coordinateSystemName);
3909
- coordinateSystem.crsUrn = crsUrn;
3910
- this.cimModel.addCoordinateSystem(coordinateSystem);
3911
- }
3912
- addIdMapping(i7ID, uuid, type) {
3913
- if (this.integralID2UUID.has(i7ID)) {
3914
- console.log(`ID ${i7ID} existiert bereits. Typ ${this.integralID2Type.get(i7ID)} neuer Typ ${type}`);
3915
- }
3916
- else {
3917
- this.integralID2UUID.set(i7ID, uuid);
3918
- this.integralID2Type.set(i7ID, type);
3919
- }
3920
- }
3921
- addUUIDMapping(i7ID, uuid) {
3922
- if (this.UUID2Integral7ID_.has(uuid)) {
3923
- this.UUID2Integral7ID_.get(uuid).push(i7ID);
3924
- }
3925
- else {
3926
- this.UUID2Integral7ID_.set(uuid, [i7ID]);
3927
- }
3928
- }
3929
- queryObjectCount(tableName) {
3930
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3931
- return new Promise((resolve, reject) => {
3932
- if (this.isTableAvailable(tableName)) {
3933
- this.queryFunctionWrapper(`SELECT COUNT(id)
3934
- FROM ${tableName}`).then(results => {
3935
- try {
3936
- for (const result of results) {
3937
- return resolve(Number(result[`COUNT(id)`]));
3938
- }
3939
- }
3940
- catch (e) {
3941
- return reject(0);
3942
- }
3943
- });
3944
- }
3945
- else {
3946
- return resolve(0);
3947
- }
3948
- });
3949
- });
3950
- }
3951
- queryAnschlussIDs() {
3952
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
3953
- try {
3954
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3955
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LEITUNG]}`) : [];
3956
- for (const result of results) {
3957
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3958
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3959
- }
3960
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.HGUE_LEITUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT anetzobjekt, enetzobjekt
3961
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.HGUE_LEITUNG]}`) : [];
3962
- for (const result of results) {
3963
- this.leitungAnschlussKnotenIDs.add(result[`anetzobjekt`]);
3964
- this.leitungAnschlussKnotenIDs.add(result[`enetzobjekt`]);
3965
- }
3966
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3967
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
3968
- for (const result of results) {
3969
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3970
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3971
- }
3972
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO3_WICKLUNG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3973
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO3_WICKLUNG]}`) : [];
3974
- for (const result of results) {
3975
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3976
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3977
- }
3978
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSDROSSEL) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3979
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSDROSSEL]}`) : [];
3980
- for (const result of results) {
3981
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3982
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3983
- }
3984
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.ERSATZLAENGSZWEIG) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3985
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.ERSATZLAENGSZWEIG]}`) : [];
3986
- for (const result of results) {
3987
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3988
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3989
- }
3990
- results = this.isTableAvailable(integral_sql_1.Integral7TableNames.LAENGSKONDENSATOR) ? yield this.queryFunctionWrapper(`SELECT DISTINCT aknoten, eknoten
3991
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.LAENGSKONDENSATOR]}`) : [];
3992
- for (const result of results) {
3993
- this.leitungAnschlussKnotenIDs.add(result[`aknoten`]);
3994
- this.leitungAnschlussKnotenIDs.add(result[`eknoten`]);
3995
- }
3996
- }
3997
- catch (e) {
3998
- console.error("ERROR:" + e);
3999
- }
4000
- });
4001
- }
4002
- querySpGeregelteKnoten() {
4003
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
4004
- try {
4005
- let results = this.isTableAvailable(integral_sql_1.Integral7TableNames.TRAFO2W) ? yield this.queryFunctionWrapper(`SELECT DISTINCT spgreg_knoten
4006
- FROM ${integral_sql_1.Integral7TableNames[integral_sql_1.I7Objects.TRAFO2W]}`) : [];
4007
- }
4008
- catch (e) {
4009
- console.error("ERROR:" + e);
4010
- }
4011
- });
4012
- }
4013
- }
4014
- exports.ConverterIntegral7 = ConverterIntegral7;
4015
- function getVoltageLevelByVoltage(subVlData, ur) {
4016
- let vlObject;
4017
- let abstand = 1000;
4018
- if (subVlData && subVlData.length) {
4019
- for (const vlData of subVlData) {
4020
- const abstandAkt = Math.abs(vlData.un - ur);
4021
- if (abstandAkt < abstand) {
4022
- abstand = abstandAkt;
4023
- vlObject = vlData;
4024
- }
4025
- }
4026
- }
4027
- return vlObject;
4028
- }
4029
- exports.getVoltageLevelByVoltage = getVoltageLevelByVoltage;
4030
- function validateRegulatingControls(regulatingControls, logger, type) {
4031
- for (const rg of regulatingControls.values()) {
4032
- if (!rg.name)
4033
- logger.debug(`RegulatingControl ohne Namen | ${type}`);
4034
- const terminalUUID = rg.terminal ? rg.terminal.mrid : rg.terminalUUID;
4035
- if (!terminalUUID)
4036
- logger.debug(`RegulatingControl ohne Terminal ${rg.name} | ${type}`);
4037
- }
4038
- }
4039
- function getGeoCoordinates(i7Data) {
4040
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_breite_m && i7Data.geokoor_pl_breite_s &&
4041
- i7Data.geokoor_pl_laenge_h && i7Data.geokoor_pl_laenge_m && i7Data.geokoor_pl_laenge_s) {
4042
- const lon = (((i7Data.geokoor_pl_laenge_s / 60) + i7Data.geokoor_pl_laenge_m) / 60) + i7Data.geokoor_pl_laenge_h;
4043
- const lat = (((i7Data.geokoor_pl_breite_s / 60) + i7Data.geokoor_pl_breite_m) / 60) + i7Data.geokoor_pl_breite_h;
4044
- return [String(lon), String(lat)];
4045
- }
4046
- if (i7Data.geokoor_pl_breite_h && i7Data.geokoor_pl_laenge_h) {
4047
- return [String(i7Data.geokoor_pl_laenge_h), String(i7Data.geokoor_pl_breite_h)];
4048
- }
4049
- return undefined;
4050
- }
4051
- exports.getGeoCoordinates = getGeoCoordinates;
4052
- function getValidTerminals(objects, inMemoryObjects) {
4053
- const exportTerminals = new Map();
4054
- for (const value of objects.values()) {
4055
- if (value instanceof __1.Terminal) {
4056
- const terminal = value;
4057
- if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
4058
- (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
4059
- exportTerminals.set(value.mrid, value);
4060
- }
4061
- else {
4062
- inMemoryObjects.set(value.mrid, value);
4063
- }
4064
- }
4065
- }
4066
- return exportTerminals;
4067
- }
4068
- exports.getValidTerminals = getValidTerminals;
4069
- function getValidTapChangerControls(objects) {
4070
- const exportInstances = new Map();
4071
- for (const value of objects.values()) {
4072
- if (value.terminal || value.terminalUUID) {
4073
- exportInstances.set(value.mrid, value);
4074
- }
4075
- }
4076
- return exportInstances;
4077
- }
4078
- exports.getValidTapChangerControls = getValidTapChangerControls;
4079
- function validateInMemoryObjects(objects, logger) {
4080
- const exportTerminals = new Map();
4081
- for (const entry of objects.entries()) {
4082
- const value = entry[1];
4083
- if (value instanceof __1.Terminal) {
4084
- const terminal = value;
4085
- if ((terminal.conductingEquipment || terminal.conductingEquipmentUUID) &&
4086
- (terminal.connectivityNode || terminal.connectivityNodeUUID)) {
4087
- exportTerminals.set(value.mrid, value);
4088
- }
4089
- if (!terminal.conductingEquipment && !terminal.conductingEquipmentUUID) {
4090
- logger.debug(`Terminal ohne conductingEquipment UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
4091
- }
4092
- if (!terminal.connectivityNode && !terminal.connectivityNodeUUID) {
4093
- logger.debug(`Terminal ohne connectivityNode UUID ${terminal.mrid} shortName ${terminal.shortName} ID | ${entry[0]}`);
4094
- }
4095
- }
4096
- }
4097
- return exportTerminals;
4098
- }
4099
- exports.validateInMemoryObjects = validateInMemoryObjects;
4100
- //# sourceMappingURL=ConverterIntegral7.js.map