@enervance/insight-cim-model 0.0.34 → 0.0.35
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.
- package/dist/config/westnetz-neplan/callbacks/cb-psr.js +17 -5
- package/dist/config/westnetz-neplan/callbacks/cb-psr.js.map +1 -1
- package/dist/config/westnetz-neplan/property-handler-westenergy.config.d.ts +19 -19
- package/dist/converter/integral7/converter-i7.d.ts +1 -0
- package/dist/converter/integral7/converter-i7.js +150 -39
- package/dist/converter/integral7/converter-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +3 -3
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +2 -0
- package/dist/converter/integral7/sql/integral.sql.js +1 -0
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/persistence-interfaces.d.ts +16 -0
- package/dist/interfaces/persistence-interfaces.js +7 -0
- package/dist/interfaces/persistence-interfaces.js.map +1 -1
- package/dist/model/assets/Asset.js +2 -1
- package/dist/model/assets/Asset.js.map +1 -1
- package/dist/model/assets/AssetDeployment.js +1 -1
- package/dist/model/assets/AssetDeployment.js.map +1 -1
- package/dist/model/assets/DeploymentDate.js +1 -1
- package/dist/model/assets/DeploymentDate.js.map +1 -1
- package/dist/model/common/Location.js +22 -22
- package/dist/model/core/PowerSystemResource.js +2 -0
- package/dist/model/core/PowerSystemResource.js.map +1 -1
- package/dist/model/core/Terminal.js +31 -31
- package/dist/model/wires/PhaseTapChangerSymmetrical.js +1 -1
- package/dist/model/wires/PhaseTapChangerSymmetrical.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +27 -27
- package/dist/util/sparql/sparql-utils.d.ts +7 -0
- package/dist/util/sparql/sparql-utils.js +63 -1
- package/dist/util/sparql/sparql-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PsrCallbacks = void 0;
|
|
4
4
|
const util_search_1 = require("../../../util/util-search");
|
|
5
|
+
const persistence_interfaces_1 = require("../../../interfaces/persistence-interfaces");
|
|
6
|
+
const sparql_utils_1 = require("../../../util/sparql/sparql-utils");
|
|
5
7
|
exports.PsrCallbacks = {
|
|
6
8
|
psrType: (cimModel, psr, data) => {
|
|
7
9
|
const tripleData = { oldTriple: '', newTriple: '' };
|
|
@@ -23,19 +25,29 @@ exports.PsrCallbacks = {
|
|
|
23
25
|
return tripleData;
|
|
24
26
|
},
|
|
25
27
|
lifeCycle: (cimModel, psr, data) => {
|
|
26
|
-
|
|
28
|
+
var _a;
|
|
29
|
+
const tripleData = sparql_utils_1.createTripleDataObject(persistence_interfaces_1.TripleDataKind.compound);
|
|
27
30
|
for (const asset of psr.assets.values()) {
|
|
28
31
|
const propName = data.propName.toLowerCase();
|
|
29
32
|
const propValue = data.propValue;
|
|
33
|
+
const assetDeploymentUUID = (_a = asset === null || asset === void 0 ? void 0 : asset.assetDeployment) === null || _a === void 0 ? void 0 : _a.mrid;
|
|
34
|
+
if (!assetDeploymentUUID)
|
|
35
|
+
continue;
|
|
36
|
+
tripleData.iri = asset.baseIRI;
|
|
37
|
+
tripleData.subject = `<${asset.baseIRI}${assetDeploymentUUID}>`;
|
|
38
|
+
tripleData.predicate = `cim:AssetDeployment.deploymentDate`;
|
|
39
|
+
tripleData.object = undefined;
|
|
40
|
+
tripleData.objectCompound = propValue;
|
|
30
41
|
switch (propName) {
|
|
31
42
|
case 'inservicedate': {
|
|
32
|
-
|
|
33
|
-
|
|
43
|
+
;
|
|
44
|
+
asset.setInServiceDate(propValue);
|
|
45
|
+
tripleData.predicateCompound = `cim:DeploymentDate.inServiceDate`;
|
|
34
46
|
break;
|
|
35
47
|
}
|
|
36
48
|
case 'installeddate': {
|
|
37
|
-
|
|
38
|
-
tripleData.
|
|
49
|
+
asset.setInstalledDate(propValue);
|
|
50
|
+
tripleData.predicateCompound = `cim:DeploymentDate.installedDate`;
|
|
39
51
|
break;
|
|
40
52
|
}
|
|
41
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cb-psr.js","sourceRoot":"","sources":["../../../../src/config/westnetz-neplan/callbacks/cb-psr.ts"],"names":[],"mappings":";;;AAIA,2DAA8D;
|
|
1
|
+
{"version":3,"file":"cb-psr.js","sourceRoot":"","sources":["../../../../src/config/westnetz-neplan/callbacks/cb-psr.ts"],"names":[],"mappings":";;;AAIA,2DAA8D;AAC9D,uFAAwF;AAExF,oEAA2E;AAI9D,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,CAAC,QAAe,EAAE,GAAwB,EAAE,IAAS,EAAc,EAAE;QAC5E,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;QAEnD,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;QACnC,MAAM,cAAc,GAAG,iCAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtF,IAAG,cAAc,EAAE;YACjB,IAAI;gBACF,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;aAC7I;YAAC,OAAO,CAAC,EAAE,GAAG;SAChB;QACD,IAAG,cAAc,EAAE;YACjB,IAAI;gBACF,MAAM,UAAU,GAAI,cAAqC,CAAC;gBAC1D,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAEnD;YAAC,OAAO,CAAC,EAAE,GAAG;SAChB;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,SAAS,EAAE,CAAC,QAAe,EAAE,GAAwB,EAAE,IAAS,EAAc,EAAE;;QAC9E,MAAM,UAAU,GAAG,qCAAsB,CAAC,uCAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,mBAAmB,SAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,IAAI,CAAC;YACzD,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,mBAAmB,GAAG,CAAC;YAChE,UAAU,CAAC,SAAS,GAAG,oCAAoC,CAAC;YAC5D,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;YAC9B,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC;YAEtC,QAAQ,QAAQ,EAAE;gBAChB,KAAK,eAAe,CAAC,CAAC;oBAAC,CAAC;oBACtB,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAClC,UAAU,CAAC,iBAAiB,GAAG,kCAAkC,CAAC;oBAElE,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAClC,UAAU,CAAC,iBAAiB,GAAG,kCAAkC,CAAC;oBAClE,MAAM;iBACP;aACF;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACO,CAAC"}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
1
|
export declare const PROPERTY_HANDLER_WESTNETZNEPLAN_CONFIG: {
|
|
2
2
|
wn_connectivity_node_s4: {
|
|
3
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
3
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
4
4
|
};
|
|
5
5
|
wn_connectivity_node_s6: {
|
|
6
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
6
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
7
7
|
};
|
|
8
8
|
wn_connectivity_node_health_score: {
|
|
9
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
9
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
10
10
|
};
|
|
11
11
|
wn_connectivity_node_importance_score: {
|
|
12
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
12
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
13
13
|
};
|
|
14
14
|
wn_connectivity_node_zuwo_analytics: {
|
|
15
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode) => import("
|
|
15
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode) => import("../..").TripleData;
|
|
16
16
|
};
|
|
17
17
|
wn_connectivity_node_kind: {
|
|
18
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
18
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
19
19
|
};
|
|
20
20
|
wn_connectivity_node_type: {
|
|
21
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
21
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
22
22
|
};
|
|
23
23
|
wn_connectivity_node_assetowner: {
|
|
24
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
24
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
25
25
|
};
|
|
26
26
|
wn_connectivity_node_assetuser: {
|
|
27
|
-
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("
|
|
27
|
+
cb: (cimModel: import("../..").Model, icn: import("../..").ConnectivityNode, data: any) => import("../..").TripleData;
|
|
28
28
|
};
|
|
29
29
|
psrType: {
|
|
30
|
-
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("
|
|
30
|
+
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("../..").TripleData;
|
|
31
31
|
};
|
|
32
32
|
inServiceDate: {
|
|
33
|
-
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("
|
|
33
|
+
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("../..").TripleData;
|
|
34
34
|
};
|
|
35
35
|
intalledDate: {
|
|
36
|
-
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("
|
|
36
|
+
cb: (cimModel: import("../..").Model, psr: import("../..").PowerSystemResource, data: any) => import("../..").TripleData;
|
|
37
37
|
};
|
|
38
38
|
wn_energyconsumer_installed: {
|
|
39
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
39
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
40
40
|
};
|
|
41
41
|
wn_energyconsumer_measured: {
|
|
42
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
42
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
43
43
|
};
|
|
44
44
|
wn_energyconsumer_contractual: {
|
|
45
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
45
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
46
46
|
};
|
|
47
47
|
wn_energyconsumer_sub_measured: {
|
|
48
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
48
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
49
49
|
};
|
|
50
50
|
wn_energyconsumer_sub_contractual: {
|
|
51
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
51
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
52
52
|
};
|
|
53
53
|
wn_energyconsumer_trafo1: {
|
|
54
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
54
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
55
55
|
};
|
|
56
56
|
wn_energyconsumer_trafo2: {
|
|
57
|
-
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("
|
|
57
|
+
cb: (cimModel: import("../..").Model, ec: import("../..").EnergyConsumer, data: any) => import("../..").TripleData;
|
|
58
58
|
};
|
|
59
59
|
};
|
|
@@ -119,6 +119,7 @@ export declare class ConverterI7 {
|
|
|
119
119
|
private addDefaultObjectsLoadModel;
|
|
120
120
|
private addDefaultObjectsGeo;
|
|
121
121
|
private setPowerTransformerEndProperties;
|
|
122
|
+
private createRatioTapChanger;
|
|
122
123
|
private createPhaseTapChanger;
|
|
123
124
|
private setTapChangerControl;
|
|
124
125
|
private convertTrafoGrounding;
|
|
@@ -112,6 +112,10 @@ const AsynchronousMachine_1 = require("../../model/wires/AsynchronousMachine");
|
|
|
112
112
|
const EquivalentBranch_1 = require("../../model/equivalents/EquivalentBranch");
|
|
113
113
|
const AMPRIONLine_1 = require("../../model/extensions/amprion/core/AMPRIONLine");
|
|
114
114
|
const ControlArea_1 = require("../../model/operations/ControlArea");
|
|
115
|
+
const PhaseTapChangerSymmetrical_1 = require("../../model/wires/PhaseTapChangerSymmetrical");
|
|
116
|
+
const RatioTapChangerTable_1 = require("../../model/wires/RatioTapChangerTable");
|
|
117
|
+
const RatioTapChanger_1 = require("../../model/wires/RatioTapChanger");
|
|
118
|
+
const TransformerControlMode_1 = require("../../model/wires/TransformerControlMode");
|
|
115
119
|
class ConverterI7 {
|
|
116
120
|
constructor() {
|
|
117
121
|
this.exportFrames = new Map();
|
|
@@ -2555,24 +2559,11 @@ class ConverterI7 {
|
|
|
2555
2559
|
const connectivityNode = cimModel.getObject(cnUUID);
|
|
2556
2560
|
for (const powerTransformerEnd of powerTransformerEnds) {
|
|
2557
2561
|
const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${powerTransformerEnd.endNumber}`]);
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
case (2): {
|
|
2564
|
-
this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
|
|
2565
|
-
break;
|
|
2566
|
-
}
|
|
2567
|
-
default: {
|
|
2568
|
-
if (winkel !== 0) {
|
|
2569
|
-
this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
|
|
2570
|
-
}
|
|
2571
|
-
else {
|
|
2572
|
-
this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
|
|
2573
|
-
}
|
|
2574
|
-
break;
|
|
2575
|
-
}
|
|
2562
|
+
if (winkel > 0) {
|
|
2563
|
+
this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband, false);
|
|
2564
|
+
}
|
|
2565
|
+
else {
|
|
2566
|
+
this.createRatioTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
|
|
2576
2567
|
}
|
|
2577
2568
|
}
|
|
2578
2569
|
cimModel.addPowerTransformerEnd(powerTransformerEnd1);
|
|
@@ -2730,6 +2721,21 @@ class ConverterI7 {
|
|
|
2730
2721
|
powerTransformerEnd3.connectionKind = utils_2.getSchaltgruppe(schaltgruppe, powerTransformerEnd3.endNumber, powerTransformerEnd3.grounded);
|
|
2731
2722
|
powerTransformerEnd3.phaseAngleClock = utils_2.getSchaltgruppeAngleClock(schaltgruppe, powerTransformerEnd3.endNumber);
|
|
2732
2723
|
this.sortTransformerEnd(powerTransformer, 'ratedU', 'desc');
|
|
2724
|
+
const terminals = [terminal1, terminal2, terminal3];
|
|
2725
|
+
const powerTransformerEnds = [powerTransformerEnd1, powerTransformerEnd2, powerTransformerEnd3];
|
|
2726
|
+
const spRegKnoten = yield this.getSpannungsbandTrafo2W(i7Data);
|
|
2727
|
+
const spannungsband = integral7.targetVoltages.get(spRegKnoten.id);
|
|
2728
|
+
const cnUUID = this.integralID2UUID.get(spRegKnoten.id);
|
|
2729
|
+
const connectivityNode = cimModel.getObject(cnUUID);
|
|
2730
|
+
for (const powerTransformerEnd of powerTransformerEnds) {
|
|
2731
|
+
const winkel = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${powerTransformerEnd.endNumber}`]);
|
|
2732
|
+
if (winkel > 0) {
|
|
2733
|
+
this.createPhaseTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband, true);
|
|
2734
|
+
}
|
|
2735
|
+
else {
|
|
2736
|
+
this.createRatioTapChanger(i7Data, powerTransformerEnd, cimModel, powerTransformerEnd.ratedU, connectivityNode, spannungsband);
|
|
2737
|
+
}
|
|
2738
|
+
}
|
|
2733
2739
|
cimModel.addPowerTransformer(powerTransformer);
|
|
2734
2740
|
cimModel.addPowerTransformerEnd(powerTransformerEnd1);
|
|
2735
2741
|
cimModel.addPowerTransformerEnd(powerTransformerEnd2);
|
|
@@ -2764,9 +2770,10 @@ class ConverterI7 {
|
|
|
2764
2770
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
2765
2771
|
const bdModelUUID = frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD);
|
|
2766
2772
|
const relevantMasFrames = masFrames.filter(elem => {
|
|
2767
|
-
const modelUUIDs
|
|
2768
|
-
|
|
2769
|
-
|
|
2773
|
+
for (const modelUUIDs of elem.dependentModels.values()) {
|
|
2774
|
+
if ((modelUUIDs === null || modelUUIDs === void 0 ? void 0 : modelUUIDs.indexOf(bdModelUUID)) > -1)
|
|
2775
|
+
return elem;
|
|
2776
|
+
}
|
|
2770
2777
|
});
|
|
2771
2778
|
const cimModel = frame.cimModel;
|
|
2772
2779
|
const substations = Array.from(cimModel.substations.values());
|
|
@@ -2811,8 +2818,8 @@ class ConverterI7 {
|
|
|
2811
2818
|
cimModel.removeObject(equipment);
|
|
2812
2819
|
}
|
|
2813
2820
|
const location = substation.location;
|
|
2814
|
-
let
|
|
2815
|
-
|
|
2821
|
+
for (let i = 0; i < connectivityNodes.length; i++) {
|
|
2822
|
+
const connectivityNode = connectivityNodes[i];
|
|
2816
2823
|
connectivityNode.connectivityNodeContainer = line;
|
|
2817
2824
|
line.addConnectivityNode(connectivityNode);
|
|
2818
2825
|
const junction = new Junction_1.Junction(utils_1.generateUUID(), `${line.name}_BD-J`, `Junction`, 'Junction for Geo');
|
|
@@ -2821,23 +2828,19 @@ class ConverterI7 {
|
|
|
2821
2828
|
junction.terminals.set(terminal.getUUID(), terminal);
|
|
2822
2829
|
terminal.conductingEquipment = junction;
|
|
2823
2830
|
line.addEquipment(junction);
|
|
2824
|
-
if (location && location.positionPoints.length
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
masFrame.cimModel.addLocation(clonedLocation);
|
|
2835
|
-
masFrame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_GL, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ_BD));
|
|
2836
|
-
}
|
|
2831
|
+
if (location && location.positionPoints.length) {
|
|
2832
|
+
const clonedLocation = new Location_1.Location(utils_1.generateUUID(), `Location_${i + 1}`);
|
|
2833
|
+
clonedLocation.addPowerSystemResource(junction);
|
|
2834
|
+
clonedLocation.coordinateSystem = location.coordinateSystem;
|
|
2835
|
+
const clonedPositionPoint = new PositionPoint_1.PositionPoint(utils_1.generateUUID(), `PositionPoint ${i + 1}`);
|
|
2836
|
+
clonedPositionPoint.xPosition = location.positionPoints[0].xPosition;
|
|
2837
|
+
clonedPositionPoint.yPosition = location.positionPoints[0].yPosition;
|
|
2838
|
+
clonedPositionPoint.location = clonedLocation;
|
|
2839
|
+
clonedLocation.addPositionPoint(clonedPositionPoint);
|
|
2840
|
+
cimModel.addLocation(clonedLocation);
|
|
2837
2841
|
}
|
|
2838
2842
|
cimModel.addTerminal(terminal);
|
|
2839
2843
|
cimModel.addJunction(junction);
|
|
2840
|
-
cnt++;
|
|
2841
2844
|
}
|
|
2842
2845
|
if (location && location.powerSystemResources.size && location.powerSystemResources.get(substation.mrid) !== undefined) {
|
|
2843
2846
|
location.powerSystemResources.delete(substation.mrid);
|
|
@@ -3477,14 +3480,122 @@ class ConverterI7 {
|
|
|
3477
3480
|
powerTransformerEnd.powerTransformer = powerTransformer;
|
|
3478
3481
|
powerTransformer.addPowerTransformerEnd(powerTransformerEnd);
|
|
3479
3482
|
}
|
|
3480
|
-
|
|
3483
|
+
createRatioTapChanger(i7Data, transformerEnd, cimModel, neutralU, connectivityNode, spannungsband) {
|
|
3484
|
+
var _a, _b;
|
|
3485
|
+
const wicklungsnummer = transformerEnd.endNumber;
|
|
3486
|
+
const gestufteSeite = i7Data[`gestufte_seite_s${wicklungsnummer}`] === 0 ? 1 : i7Data[`gestufte_seite_s${wicklungsnummer}`];
|
|
3487
|
+
if (gestufteSeite === wicklungsnummer) {
|
|
3488
|
+
const lowStep = i7Data[`minstufe_s${transformerEnd.endNumber}`];
|
|
3489
|
+
const highStep = i7Data[`maxstufe_s${transformerEnd.endNumber}`];
|
|
3490
|
+
const neutralStep = i7Data[`mittelstufe_s${transformerEnd.endNumber}`];
|
|
3491
|
+
const currentStep = i7Data[`aktstufe_s${transformerEnd.endNumber}`];
|
|
3492
|
+
const i7TapArray = utils_2.getTapChangerStepArray(lowStep, highStep);
|
|
3493
|
+
const mappedCurrentStep = i7TapArray.indexOf(currentStep) + 1;
|
|
3494
|
+
const lowerVoltageStepCount = utils_2.getTapChangerStepCount(lowStep, neutralStep);
|
|
3495
|
+
const increaseVoltageStepCount = utils_2.getTapChangerStepCount(neutralStep, highStep);
|
|
3496
|
+
const lowerVoltageStepIncrement = Math.abs(i7Data[`umin_s${transformerEnd.endNumber}`]) / lowerVoltageStepCount * -1;
|
|
3497
|
+
let increaseVoltageStepIncrement = Math.abs(i7Data[`umax_s${transformerEnd.endNumber}`]) / lowerVoltageStepCount;
|
|
3498
|
+
increaseVoltageStepIncrement = isNaN(increaseVoltageStepIncrement) ? 1 : increaseVoltageStepIncrement;
|
|
3499
|
+
const ratioTapChangerTable = new RatioTapChangerTable_1.RatioTapChangerTable(utils_1.generateUUID(), `${transformerEnd.name} W${transformerEnd.endNumber}`);
|
|
3500
|
+
for (let i = 0; i < lowerVoltageStepCount; i++) {
|
|
3501
|
+
util_create_1.createRatioTapChangerTablePoint(ratioTapChangerTable, i + 1, 1 + (lowerVoltageStepIncrement * (lowerVoltageStepCount - i)));
|
|
3502
|
+
}
|
|
3503
|
+
util_create_1.createRatioTapChangerTablePoint(ratioTapChangerTable, lowerVoltageStepCount + 1, 1);
|
|
3504
|
+
for (let i = 0; i < increaseVoltageStepCount; i++) {
|
|
3505
|
+
const step = (lowerVoltageStepCount + 1) + (i + 1);
|
|
3506
|
+
util_create_1.createRatioTapChangerTablePoint(ratioTapChangerTable, step, 1 + (increaseVoltageStepIncrement * (i + 1)));
|
|
3507
|
+
}
|
|
3508
|
+
const ratioTapChanger = new RatioTapChanger_1.RatioTapChanger(utils_1.generateUUID(), `${transformerEnd.name} W${transformerEnd.endNumber}`);
|
|
3509
|
+
ratioTapChanger.stepVoltageIncrement = increaseVoltageStepIncrement;
|
|
3510
|
+
ratioTapChanger.tculControlMode = TransformerControlMode_1.TransformerControlMode.volt;
|
|
3511
|
+
ratioTapChanger.ltcFlag = false;
|
|
3512
|
+
ratioTapChanger.lowStep = 1;
|
|
3513
|
+
ratioTapChanger.highStep = ratioTapChangerTable.ratioTapChangerTablePoints.length;
|
|
3514
|
+
ratioTapChanger.neutralStep = i7TapArray.indexOf(neutralStep) + 1;
|
|
3515
|
+
ratioTapChanger.normalStep = ratioTapChanger.neutralStep;
|
|
3516
|
+
ratioTapChanger.step = mappedCurrentStep;
|
|
3517
|
+
ratioTapChanger.transformerEnd = transformerEnd;
|
|
3518
|
+
transformerEnd.ratioTapChanger = ratioTapChanger;
|
|
3519
|
+
ratioTapChanger.neutralU = neutralU;
|
|
3520
|
+
ratioTapChanger.ratioTapChangerTableUUID = ratioTapChangerTable.mrid;
|
|
3521
|
+
ratioTapChangerTable.ratioTapChanger = ratioTapChanger;
|
|
3522
|
+
const regelung = +i7Data[`regelung_s${transformerEnd.endNumber}`];
|
|
3523
|
+
if (regelung > 0) {
|
|
3524
|
+
const tapChangerControl = new TapChangerControl_1.TapChangerControl(utils_1.generateUUID(), `${transformerEnd.name} W_${transformerEnd.endNumber}`);
|
|
3525
|
+
tapChangerControl.discrete = true;
|
|
3526
|
+
const umax = utils_2.getSpannungsband('umax', spannungsband, neutralU);
|
|
3527
|
+
const umin = utils_2.getSpannungsband('umin', spannungsband, neutralU);
|
|
3528
|
+
const usoll = utils_2.getSpannungsband('usoll', spannungsband, (umax + umin) / 2);
|
|
3529
|
+
const pVorgabe = utils_2.isNumericI7(i7Data[`p_vorgabe`]) ? +i7Data[`p_vorgabe`] : undefined;
|
|
3530
|
+
switch (regelung) {
|
|
3531
|
+
case 1: {
|
|
3532
|
+
ratioTapChanger.controlEnabled = true;
|
|
3533
|
+
tapChangerControl.enabled = true;
|
|
3534
|
+
tapChangerControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.voltage;
|
|
3535
|
+
tapChangerControl.targetValue = usoll;
|
|
3536
|
+
tapChangerControl.targetDeadband = umax - usoll;
|
|
3537
|
+
tapChangerControl.targetValueUnitMultiplier = UnitMultiplier_1.UnitMultiplier.k;
|
|
3538
|
+
break;
|
|
3539
|
+
}
|
|
3540
|
+
case 2: {
|
|
3541
|
+
ratioTapChanger.controlEnabled = true;
|
|
3542
|
+
tapChangerControl.enabled = true;
|
|
3543
|
+
tapChangerControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.activePower;
|
|
3544
|
+
tapChangerControl.targetValue = pVorgabe;
|
|
3545
|
+
tapChangerControl.targetValueUnitMultiplier = UnitMultiplier_1.UnitMultiplier.M;
|
|
3546
|
+
break;
|
|
3547
|
+
}
|
|
3548
|
+
case 3: {
|
|
3549
|
+
ratioTapChanger.controlEnabled = true;
|
|
3550
|
+
tapChangerControl.enabled = true;
|
|
3551
|
+
tapChangerControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.currentFlow;
|
|
3552
|
+
break;
|
|
3553
|
+
}
|
|
3554
|
+
case 4: {
|
|
3555
|
+
ratioTapChanger.controlEnabled = true;
|
|
3556
|
+
tapChangerControl.enabled = true;
|
|
3557
|
+
tapChangerControl.mode = RegulatingControlModeKind_1.RegulatingControlModeKind.reactivePower;
|
|
3558
|
+
tapChangerControl.targetValueUnitMultiplier = UnitMultiplier_1.UnitMultiplier.M;
|
|
3559
|
+
break;
|
|
3560
|
+
}
|
|
3561
|
+
}
|
|
3562
|
+
ratioTapChanger.tapChangerControl = tapChangerControl;
|
|
3563
|
+
tapChangerControl.addTapChanger(ratioTapChanger);
|
|
3564
|
+
cimModel.addTapChangerControl(tapChangerControl);
|
|
3565
|
+
}
|
|
3566
|
+
else {
|
|
3567
|
+
ratioTapChanger.controlEnabled = false;
|
|
3568
|
+
}
|
|
3569
|
+
if ((_a = connectivityNode === null || connectivityNode === void 0 ? void 0 : connectivityNode.terminals) === null || _a === void 0 ? void 0 : _a.size) {
|
|
3570
|
+
const terminal = [...connectivityNode.terminals.values()].find(elem => elem.connected);
|
|
3571
|
+
if (terminal)
|
|
3572
|
+
this.setTapChangerControl(ratioTapChanger, terminal);
|
|
3573
|
+
}
|
|
3574
|
+
if (!((_b = ratioTapChanger.tapChangerControl) === null || _b === void 0 ? void 0 : _b.terminal)) {
|
|
3575
|
+
this.logger.error(`Trafo ${i7Data.trafo3w}: Kein Terminal für TapChangerControl`);
|
|
3576
|
+
if (transformerEnd.phaseTapChanger) {
|
|
3577
|
+
transformerEnd.phaseTapChanger.tapChangerControl = undefined;
|
|
3578
|
+
transformerEnd.phaseTapChanger.tapChangerControlUUID = undefined;
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
cimModel.addRatioTapChanger(ratioTapChanger);
|
|
3582
|
+
cimModel.addRatioTapChangerTable(ratioTapChangerTable);
|
|
3583
|
+
}
|
|
3584
|
+
}
|
|
3585
|
+
createPhaseTapChanger(i7Data, transformerEnd, cimModel, neutralU, connectivityNode, spannungsband, is3WTransformer) {
|
|
3481
3586
|
var _a, _b;
|
|
3482
3587
|
const wicklungsnummer = transformerEnd.endNumber;
|
|
3483
3588
|
const gestufteSeite = i7Data[`gestufte_seite_s${wicklungsnummer}`] === 0 ? 1 : i7Data[`gestufte_seite_s${wicklungsnummer}`];
|
|
3484
3589
|
if (gestufteSeite === wicklungsnummer) {
|
|
3485
|
-
const spezialregelung = i7Data.trafo_spezial;
|
|
3486
3590
|
let phaseTapChanger;
|
|
3591
|
+
const spezialregelung = i7Data.trafo_spezial ? i7Data.trafo_spezial : (is3WTransformer ? 2 : undefined);
|
|
3487
3592
|
switch (spezialregelung) {
|
|
3593
|
+
case (1): {
|
|
3594
|
+
const phaseTapChangerSync = new PhaseTapChangerSymmetrical_1.PhaseTapChangerSymmetrical(utils_1.generateUUID(), `${transformerEnd.name} W_${transformerEnd.endNumber}`);
|
|
3595
|
+
phaseTapChanger = phaseTapChangerSync;
|
|
3596
|
+
cimModel.addPhaseTapChangerSymmetrical(phaseTapChangerSync);
|
|
3597
|
+
break;
|
|
3598
|
+
}
|
|
3488
3599
|
case (2): {
|
|
3489
3600
|
const phaseTapChangerAsync = new PhaseTapChangerAsymmetrical_1.PhaseTapChangerAsymmetrical(utils_1.generateUUID(), `${transformerEnd.name} W_${transformerEnd.endNumber}`);
|
|
3490
3601
|
phaseTapChangerAsync.windingConnectionAngle = utils_2.convertToNumberI7(i7Data[`uzus_winkel_s${transformerEnd.endNumber}`]);
|