From a64cfda7f308dd7109305b021a305b957770611f 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 94879 -> 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 bbe56ce4cbea17c05bc486361bd25bfbfb753fe9..c60c37c84b3fb7d7285034412c8d2f17bdbabcd7 100644 GIT binary patch delta 29336 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 delta 27953 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 diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar index c85e3a6c6be22bc2813816dd1fb5514cebb820a4..7a0500195865f31f29be1a2f2af67f674745d18a 100644 GIT binary patch delta 29509 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 B?r{JB delta 27667 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 MAkd95kRa%P0NHUsEC2ui 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 + ", ";