From bef1ad21b4ddf005edff2a60895d51e4bda8072c Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Tue, 29 Sep 2020 18:22:53 +0200 Subject: [PATCH] - Java Tools: Add support to handle Services.ReportSettings@owner attribute --- .../simpleIO_direct_control.cid | 2 +- .../server_example_basic_io/static_model.c | 52 +++++++++--------- tools/model_generator/genconfig.jar | Bin 95278 -> 96983 bytes tools/model_generator/genmodel.jar | Bin 94643 -> 96982 bytes .../src/com/libiec61850/scl/model/IED.java | 12 ++++ .../libiec61850/scl/model/ReportSettings.java | 51 +++++++++++++++++ .../com/libiec61850/scl/model/Services.java | 44 +++++++++++++++ .../tools/DynamicModelGenerator.java | 23 +++++++- .../tools/StaticModelGenerator.java | 17 ++++++ 9 files changed, 172 insertions(+), 29 deletions(-) create mode 100644 tools/model_generator/src/com/libiec61850/scl/model/ReportSettings.java create mode 100644 tools/model_generator/src/com/libiec61850/scl/model/Services.java diff --git a/examples/server_example_basic_io/simpleIO_direct_control.cid b/examples/server_example_basic_io/simpleIO_direct_control.cid index fcf046b9..a0228a20 100644 --- a/examples/server_example_basic_io/simpleIO_direct_control.cid +++ b/examples/server_example_basic_io/simpleIO_direct_control.cid @@ -42,7 +42,7 @@ - + diff --git a/examples/server_example_basic_io/static_model.c b/examples/server_example_basic_io/static_model.c index 276d60da..0048197d 100644 --- a/examples/server_example_basic_io/static_model.c +++ b/examples/server_example_basic_io/static_model.c @@ -20,7 +20,7 @@ extern DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda3; DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda0 = { "GenericIO", false, - "GGIO1$ST$SPCSO1$stVal", + "GGIO1$ST$SPCSO1$stVal", -1, NULL, NULL, @@ -30,7 +30,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda0 = { DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda1 = { "GenericIO", false, - "GGIO1$ST$SPCSO2$stVal", + "GGIO1$ST$SPCSO2$stVal", -1, NULL, NULL, @@ -40,7 +40,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda1 = { DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda2 = { "GenericIO", false, - "GGIO1$ST$SPCSO3$stVal", + "GGIO1$ST$SPCSO3$stVal", -1, NULL, NULL, @@ -50,7 +50,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda2 = { DataSetEntry iedModelds_GenericIO_LLN0_Events_fcda3 = { "GenericIO", false, - "GGIO1$ST$SPCSO4$stVal", + "GGIO1$ST$SPCSO4$stVal", -1, NULL, NULL, @@ -73,7 +73,7 @@ extern DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda3; DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda0 = { "GenericIO", false, - "GGIO1$ST$SPCSO1", + "GGIO1$ST$SPCSO1", -1, NULL, NULL, @@ -83,7 +83,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda0 = { DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda1 = { "GenericIO", false, - "GGIO1$ST$SPCSO2", + "GGIO1$ST$SPCSO2", -1, NULL, NULL, @@ -93,7 +93,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda1 = { DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda2 = { "GenericIO", false, - "GGIO1$ST$SPCSO3", + "GGIO1$ST$SPCSO3", -1, NULL, NULL, @@ -103,7 +103,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda2 = { DataSetEntry iedModelds_GenericIO_LLN0_Events2_fcda3 = { "GenericIO", false, - "GGIO1$ST$SPCSO4", + "GGIO1$ST$SPCSO4", -1, NULL, NULL, @@ -130,7 +130,7 @@ extern DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda7; DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda0 = { "GenericIO", false, - "GGIO1$MX$AnIn1$mag$f", + "GGIO1$MX$AnIn1$mag$f", -1, NULL, NULL, @@ -140,7 +140,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda0 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda1 = { "GenericIO", false, - "GGIO1$MX$AnIn1$q", + "GGIO1$MX$AnIn1$q", -1, NULL, NULL, @@ -150,7 +150,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda1 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda2 = { "GenericIO", false, - "GGIO1$MX$AnIn2$mag$f", + "GGIO1$MX$AnIn2$mag$f", -1, NULL, NULL, @@ -160,7 +160,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda2 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda3 = { "GenericIO", false, - "GGIO1$MX$AnIn2$q", + "GGIO1$MX$AnIn2$q", -1, NULL, NULL, @@ -170,7 +170,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda3 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda4 = { "GenericIO", false, - "GGIO1$MX$AnIn3$mag$f", + "GGIO1$MX$AnIn3$mag$f", -1, NULL, NULL, @@ -180,7 +180,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda4 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda5 = { "GenericIO", false, - "GGIO1$MX$AnIn3$q", + "GGIO1$MX$AnIn3$q", -1, NULL, NULL, @@ -190,7 +190,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda5 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda6 = { "GenericIO", false, - "GGIO1$MX$AnIn4$mag$f", + "GGIO1$MX$AnIn4$mag$f", -1, NULL, NULL, @@ -200,7 +200,7 @@ DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda6 = { DataSetEntry iedModelds_GenericIO_LLN0_Measurements_fcda7 = { "GenericIO", false, - "GGIO1$MX$AnIn4$q", + "GGIO1$MX$AnIn4$q", -1, NULL, NULL, @@ -2012,16 +2012,16 @@ extern ReportControlBlock iedModel_GenericIO_LLN0_report7; extern ReportControlBlock iedModel_GenericIO_LLN0_report8; extern ReportControlBlock iedModel_GenericIO_LLN0_report9; -ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events1", false, "Events", 1, 24, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report1}; -ReportControlBlock iedModel_GenericIO_LLN0_report1 = {&iedModel_GenericIO_LLN0, "EventsRCBPreConf01", "Events1", false, "Events", 1, 24, 175, 50, 1000, {0x4, 0xc0, 0xa8, 0x2, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report2}; -ReportControlBlock iedModel_GenericIO_LLN0_report2 = {&iedModel_GenericIO_LLN0, "EventsBRCB01", "Events2", true, "Events", 1, 24, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report3}; -ReportControlBlock iedModel_GenericIO_LLN0_report3 = {&iedModel_GenericIO_LLN0, "EventsBRCBPreConf01", "Events2", true, "Events", 1, 24, 175, 50, 1000, {0x4, 0xc0, 0xa8, 0x2, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report4}; -ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0, "EventsIndexed01", "Events2", false, "Events", 1, 24, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report5}; -ReportControlBlock iedModel_GenericIO_LLN0_report5 = {&iedModel_GenericIO_LLN0, "EventsIndexed02", "Events2", false, "Events", 1, 24, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report6}; -ReportControlBlock iedModel_GenericIO_LLN0_report6 = {&iedModel_GenericIO_LLN0, "EventsIndexed03", "Events2", false, "Events", 1, 24, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report7}; -ReportControlBlock iedModel_GenericIO_LLN0_report7 = {&iedModel_GenericIO_LLN0, "Measurements01", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report8}; -ReportControlBlock iedModel_GenericIO_LLN0_report8 = {&iedModel_GenericIO_LLN0, "Measurements02", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report9}; -ReportControlBlock iedModel_GenericIO_LLN0_report9 = {&iedModel_GenericIO_LLN0, "Measurements03", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, NULL}; +ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events1", false, "Events", 1, 88, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report1}; +ReportControlBlock iedModel_GenericIO_LLN0_report1 = {&iedModel_GenericIO_LLN0, "EventsRCBPreConf01", "Events1", false, "Events", 1, 88, 175, 50, 1000, {0x4, 0xc0, 0xa8, 0x2, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report2}; +ReportControlBlock iedModel_GenericIO_LLN0_report2 = {&iedModel_GenericIO_LLN0, "EventsBRCB01", "Events2", true, "Events", 1, 88, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report3}; +ReportControlBlock iedModel_GenericIO_LLN0_report3 = {&iedModel_GenericIO_LLN0, "EventsBRCBPreConf01", "Events2", true, "Events", 1, 88, 175, 50, 1000, {0x4, 0xc0, 0xa8, 0x2, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report4}; +ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0, "EventsIndexed01", "Events2", false, "Events", 1, 88, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report5}; +ReportControlBlock iedModel_GenericIO_LLN0_report5 = {&iedModel_GenericIO_LLN0, "EventsIndexed02", "Events2", false, "Events", 1, 88, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report6}; +ReportControlBlock iedModel_GenericIO_LLN0_report6 = {&iedModel_GenericIO_LLN0, "EventsIndexed03", "Events2", false, "Events", 1, 88, 175, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report7}; +ReportControlBlock iedModel_GenericIO_LLN0_report7 = {&iedModel_GenericIO_LLN0, "Measurements01", "Measurements", true, "Measurements", 1, 80, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report8}; +ReportControlBlock iedModel_GenericIO_LLN0_report8 = {&iedModel_GenericIO_LLN0, "Measurements02", "Measurements", true, "Measurements", 1, 80, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &iedModel_GenericIO_LLN0_report9}; +ReportControlBlock iedModel_GenericIO_LLN0_report9 = {&iedModel_GenericIO_LLN0, "Measurements03", "Measurements", true, "Measurements", 1, 80, 239, 50, 1000, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, NULL}; diff --git a/tools/model_generator/genconfig.jar b/tools/model_generator/genconfig.jar index 6da279bbe98ee084e60f2e42dad4163e5fc435a1..5ad24fcb1263b8e55f0ed455e78783669def976b 100644 GIT binary patch delta 29336 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 R4D?r$7!EGX3VQbn_kU`=AkhE- delta 27953 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


e-I&ZeCUvD!3># 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 diff --git a/tools/model_generator/src/com/libiec61850/scl/model/IED.java b/tools/model_generator/src/com/libiec61850/scl/model/IED.java index 45936a04..a3848e3e 100644 --- a/tools/model_generator/src/com/libiec61850/scl/model/IED.java +++ b/tools/model_generator/src/com/libiec61850/scl/model/IED.java @@ -34,11 +34,14 @@ public class IED { private String name; private List accessPoints; private TypeDeclarations typeDeclarations; + private Node self; public IED(Node iedNode, TypeDeclarations typeDeclarations) throws SclParserException { this.name = ParserUtils.parseAttribute(iedNode, "name"); + self = iedNode; + List accessPointNodes = ParserUtils.getChildNodesWithTag(iedNode, "AccessPoint"); this.accessPoints = new LinkedList(); @@ -76,4 +79,13 @@ public class IED { return accessPoints.get(0); } + public Services getServices() { + Node servicesNode = ParserUtils.getChildNodeWithTag(self, "Services"); + + if (servicesNode != null) { + return new Services(servicesNode); + } + else + return null; + } } diff --git a/tools/model_generator/src/com/libiec61850/scl/model/ReportSettings.java b/tools/model_generator/src/com/libiec61850/scl/model/ReportSettings.java new file mode 100644 index 00000000..0550cb83 --- /dev/null +++ b/tools/model_generator/src/com/libiec61850/scl/model/ReportSettings.java @@ -0,0 +1,51 @@ +package com.libiec61850.scl.model; + +/* + * Copyright 2013-2020 Michael Zillgith + * + * This file is part of libIEC61850. + * + * libIEC61850 is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * libIEC61850 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with libIEC61850. If not, see . + * + * See COPYING file for the complete license text. + */ + +import org.w3c.dom.Node; + +import com.libiec61850.scl.ParserUtils; +import com.libiec61850.scl.SclParserException; + +public class ReportSettings { + + private Node self; + + public ReportSettings(Node reportSettingsNode) + { + self = reportSettingsNode; + } + + public boolean hasOwner() + { + try { + Boolean ownerValue = ParserUtils.parseBooleanAttribute(self, "owner"); + + if (ownerValue != null) + return ownerValue.booleanValue(); + else + return false; + } catch (SclParserException e) { + return false; + } + } +} diff --git a/tools/model_generator/src/com/libiec61850/scl/model/Services.java b/tools/model_generator/src/com/libiec61850/scl/model/Services.java new file mode 100644 index 00000000..309a66b5 --- /dev/null +++ b/tools/model_generator/src/com/libiec61850/scl/model/Services.java @@ -0,0 +1,44 @@ +package com.libiec61850.scl.model; + +/* + * Copyright 2013-2020 Michael Zillgith + * + * This file is part of libIEC61850. + * + * libIEC61850 is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * libIEC61850 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with libIEC61850. If not, see . + * + * See COPYING file for the complete license text. + */ + +import org.w3c.dom.Node; + +import com.libiec61850.scl.ParserUtils; + +public class Services { + + private Node self; + + public Services(Node servicesNode) { + self = servicesNode; + } + + public ReportSettings getReportSettings() + { + Node reportSettingsNode = ParserUtils.getChildNodeWithTag(self, "ReportSettings"); + + if (reportSettingsNode != null) + return new ReportSettings(reportSettingsNode); + return null; + } +} diff --git a/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java b/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java index b1e04201..44d68303 100644 --- a/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java +++ b/tools/model_generator/src/com/libiec61850/tools/DynamicModelGenerator.java @@ -50,12 +50,15 @@ import com.libiec61850.scl.model.LogControl; import com.libiec61850.scl.model.LogicalDevice; import com.libiec61850.scl.model.LogicalNode; import com.libiec61850.scl.model.ReportControlBlock; +import com.libiec61850.scl.model.ReportSettings; +import com.libiec61850.scl.model.Services; import com.libiec61850.scl.model.SettingControl; public class DynamicModelGenerator { private ConnectedAP connectedAP; private IED ied = null; + private boolean hasOwner = false; public DynamicModelGenerator(InputStream stream, String icdFile, PrintStream output, String iedName, String accessPointName) throws SclParserException { @@ -69,7 +72,17 @@ public class DynamicModelGenerator { if (ied == null) throw new SclParserException("No data model present in SCL file! Exit."); - + + Services services = ied.getServices(); + + if (services != null) { + ReportSettings rptSettings = services.getReportSettings(); + + if (rptSettings != null) { + hasOwner = rptSettings.hasOwner(); + } + } + AccessPoint accessPoint = null; if (accessPointName != null) @@ -257,7 +270,13 @@ public class DynamicModelGenerator { output.print("- "); output.print(rcb.getConfRef() + " "); - output.print(rcb.getTriggerOptions().getIntValue() + " "); + + int triggerOptions = rcb.getTriggerOptions().getIntValue(); + + if (hasOwner) + triggerOptions += 64; + + output.print(triggerOptions + " "); output.print(rcb.getOptionFields().getIntValue() + " "); diff --git a/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java b/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java index 18460784..c17b86a4 100644 --- a/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java +++ b/tools/model_generator/src/com/libiec61850/tools/StaticModelGenerator.java @@ -60,9 +60,11 @@ import com.libiec61850.scl.model.LogControl; import com.libiec61850.scl.model.LogicalDevice; import com.libiec61850.scl.model.LogicalNode; import com.libiec61850.scl.model.ReportControlBlock; +import com.libiec61850.scl.model.ReportSettings; import com.libiec61850.scl.model.RptEnabled; import com.libiec61850.scl.model.SampledValueControl; import com.libiec61850.scl.model.Server; +import com.libiec61850.scl.model.Services; import com.libiec61850.scl.model.SettingControl; import com.libiec61850.scl.model.TriggerOptions; @@ -113,6 +115,8 @@ public class StaticModelGenerator { private boolean initializeOnce; private SclParser sclParser; + + private boolean hasOwner = false; public StaticModelGenerator(InputStream stream, String icdFile, PrintStream cOut, PrintStream hOut, String outputFileName, String iedName, String accessPointName, String modelPrefix, @@ -162,6 +166,16 @@ public class StaticModelGenerator { if (ied == null) System.out.println("IED model not found in SCL file! Exit."); + + Services services = ied.getServices(); + + if (services != null) { + ReportSettings rptSettings = services.getReportSettings(); + + if (rptSettings != null) { + hasOwner = rptSettings.hasOwner(); + } + } accessPoint = null; @@ -1422,6 +1436,9 @@ public class StaticModelGenerator { if (rcb.getTriggerOptions() != null) triggerOps = rcb.getTriggerOptions().getIntValue(); + + if (hasOwner) + triggerOps += 64; rcbString += triggerOps + ", ";