From 4982b9614516dde101c3e44c60a612b3bfd8d6fe Mon Sep 17 00:00:00 2001 From: DELL <DELL@WIN-3EOIPEE9ML1> Date: 星期三, 21 二月 2024 16:26:06 +0800 Subject: [PATCH] 新增IEDScout调试工具功能 --- iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/Report.java | 360 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 180 insertions(+), 180 deletions(-) diff --git a/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/Report.java b/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/Report.java index 9dc5023..713f222 100644 --- a/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/Report.java +++ b/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/Report.java @@ -1,180 +1,180 @@ -/* - * Copyright 2011-17 Fraunhofer ISE, energy & meteo Systems GmbH and other contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.openmuc.openiec61850; - -import java.util.List; - -public class Report { - - private final String rptId; - private final Integer sqNum; - private final Integer subSqNum; - private final boolean moreSegmentsFollow; - private final String dataSetRef; - private final Boolean bufOvfl; - private final Long confRev; - private final BdaEntryTime timeOfEntry; - private final BdaOctetString entryId; - private final boolean[] inclusionBitString; - private final List<FcModelNode> values; - private final List<BdaReasonForInclusion> reasonCodes; - - public Report(String rptId, Integer sqNum, Integer subSqNum, boolean moreSegmentsFollow, String dataSetRef, - Boolean bufOvfl, Long confRev, BdaEntryTime timeOfEntry, BdaOctetString entryId, - boolean[] inclusionBitString, List<FcModelNode> values, List<BdaReasonForInclusion> reasonCodes) { - this.rptId = rptId; - this.sqNum = sqNum; - this.subSqNum = subSqNum; - this.moreSegmentsFollow = moreSegmentsFollow; - this.dataSetRef = dataSetRef; - this.bufOvfl = bufOvfl; - this.confRev = confRev; - this.timeOfEntry = timeOfEntry; - this.entryId = entryId; - this.inclusionBitString = inclusionBitString; - this.values = values; - this.reasonCodes = reasonCodes; - } - - public String getRptId() { - return rptId; - } - - /** - * Sequence numberThe parameter MoreSegmentsFollow indicates that more report segments with the same sequence number - * follow, counted up for every {@code Report} instance generated - * - * @return the sequence number - */ - public Integer getSqNum() { - return sqNum; - } - - /** - * For the case of long reports that do not fit into one message, a single report shall be divided into subreports. - * Each segment 鈥� of one report 鈥� shall be numbered with the same sequence number and a unique SubSqNum. - * - * @return the subsequence number - */ - public Integer getSubSqNum() { - return subSqNum; - } - - /** - * The parameter MoreSegmentsFollow indicates that more report segments with the same sequence number follow - * - * @return true if more segments follow - */ - public boolean isMoreSegmentsFollow() { - return moreSegmentsFollow; - } - - public String getDataSetRef() { - return dataSetRef; - } - - /** - * The parameter BufOvfl shall indicate to the client that entries within the buffer may have been lost. The - * detection of possible loss of information occurs when a client requests a resynchronization to a non-existent - * entry or to the first entry in the queue. - * - * @return true if buffer overflow is true - */ - public Boolean getBufOvfl() { - return bufOvfl; - } - - public Long getConfRev() { - return confRev; - } - - /** - * The parameter TimeOfEntry shall specify the time when the EntryID was created - * - * @return the time of entry - */ - public BdaEntryTime getTimeOfEntry() { - return timeOfEntry; - } - - public BdaOctetString getEntryId() { - return entryId; - } - - /** - * Indicator of data set members included in the report - * - * @return the inclusion bit string as a byte array - */ - public boolean[] getInclusionBitString() { - return inclusionBitString; - } - - /** - * Gets the reasons for inclusion - * - * @return the reasons for inclusion - */ - public List<BdaReasonForInclusion> getReasonCodes() { - return reasonCodes; - } - - public List<FcModelNode> getValues() { - return values; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Report ID: ").append(rptId); - sb.append("\nData set reference: ").append(dataSetRef); - - if (sqNum != null) { - sb.append("\nSequence number: ").append(sqNum); - } - if (subSqNum != null) { - sb.append("\nSubsequence number: ").append(subSqNum); - if (moreSegmentsFollow) { - sb.append(" (more segments follow)"); - } - } - if (timeOfEntry != null) { - sb.append("\nTime of entry (unix timestamp): ").append(timeOfEntry.getTimestampValue()); - } - if (bufOvfl != null) { - sb.append("\nBuffer overflow: ").append(bufOvfl); - } - if (entryId != null) { - sb.append("\nEntry ID: ").append(HexConverter.toHexString(entryId.getValue())); - } - if (confRev != null) { - sb.append("\nConfiguration revision: ").append(confRev.toString()); - } - sb.append("\nReported data set members:"); - int index = 0; - for (FcModelNode reportedDataSetMember : values) { - sb.append("\n").append(reportedDataSetMember.toString()); - if (reasonCodes != null) { - sb.append(", reason: ").append(reasonCodes.get(index)); - } - index++; - } - - return sb.toString(); - } - -} +/* + * Copyright 2011-17 Fraunhofer ISE, energy & meteo Systems GmbH and other contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.openmuc.openiec61850; + +import java.util.List; + +public class Report { + + private final String rptId; + private final Integer sqNum; + private final Integer subSqNum; + private final boolean moreSegmentsFollow; + private final String dataSetRef; + private final Boolean bufOvfl; + private final Long confRev; + private final BdaEntryTime timeOfEntry; + private final BdaOctetString entryId; + private final boolean[] inclusionBitString; + private final List<FcModelNode> values; + private final List<BdaReasonForInclusion> reasonCodes; + + public Report(String rptId, Integer sqNum, Integer subSqNum, boolean moreSegmentsFollow, String dataSetRef, + Boolean bufOvfl, Long confRev, BdaEntryTime timeOfEntry, BdaOctetString entryId, + boolean[] inclusionBitString, List<FcModelNode> values, List<BdaReasonForInclusion> reasonCodes) { + this.rptId = rptId; + this.sqNum = sqNum; + this.subSqNum = subSqNum; + this.moreSegmentsFollow = moreSegmentsFollow; + this.dataSetRef = dataSetRef; + this.bufOvfl = bufOvfl; + this.confRev = confRev; + this.timeOfEntry = timeOfEntry; + this.entryId = entryId; + this.inclusionBitString = inclusionBitString; + this.values = values; + this.reasonCodes = reasonCodes; + } + + public String getRptId() { + return rptId; + } + + /** + * Sequence numberThe parameter MoreSegmentsFollow indicates that more report segments with the same sequence number + * follow, counted up for every {@code Report} instance generated + * + * @return the sequence number + */ + public Integer getSqNum() { + return sqNum; + } + + /** + * For the case of long reports that do not fit into one message, a single report shall be divided into subreports. + * Each segment 鈥� of one report 鈥� shall be numbered with the same sequence number and a unique SubSqNum. + * + * @return the subsequence number + */ + public Integer getSubSqNum() { + return subSqNum; + } + + /** + * The parameter MoreSegmentsFollow indicates that more report segments with the same sequence number follow + * + * @return true if more segments follow + */ + public boolean isMoreSegmentsFollow() { + return moreSegmentsFollow; + } + + public String getDataSetRef() { + return dataSetRef; + } + + /** + * The parameter BufOvfl shall indicate to the client that entries within the buffer may have been lost. The + * detection of possible loss of information occurs when a client requests a resynchronization to a non-existent + * entry or to the first entry in the queue. + * + * @return true if buffer overflow is true + */ + public Boolean getBufOvfl() { + return bufOvfl; + } + + public Long getConfRev() { + return confRev; + } + + /** + * The parameter TimeOfEntry shall specify the time when the EntryID was created + * + * @return the time of entry + */ + public BdaEntryTime getTimeOfEntry() { + return timeOfEntry; + } + + public BdaOctetString getEntryId() { + return entryId; + } + + /** + * Indicator of data set members included in the report + * + * @return the inclusion bit string as a byte array + */ + public boolean[] getInclusionBitString() { + return inclusionBitString; + } + + /** + * Gets the reasons for inclusion + * + * @return the reasons for inclusion + */ + public List<BdaReasonForInclusion> getReasonCodes() { + return reasonCodes; + } + + public List<FcModelNode> getValues() { + return values; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("Report ID: ").append(rptId); + sb.append("\nData set reference: ").append(dataSetRef); + + if (sqNum != null) { + sb.append("\nSequence number: ").append(sqNum); + } + if (subSqNum != null) { + sb.append("\nSubsequence number: ").append(subSqNum); + if (moreSegmentsFollow) { + sb.append(" (more segments follow)"); + } + } + if (timeOfEntry != null) { + sb.append("\nTime of entry (unix timestamp): ").append(timeOfEntry.getTimestampValue()); + } + if (bufOvfl != null) { + sb.append("\nBuffer overflow: ").append(bufOvfl); + } + if (entryId != null) { + sb.append("\nEntry ID: ").append(HexConverter.toHexString(entryId.getValue())); + } + if (confRev != null) { + sb.append("\nConfiguration revision: ").append(confRev.toString()); + } + sb.append("\nReported data set members:"); + int index = 0; + for (FcModelNode reportedDataSetMember : values) { + sb.append("\n").append(reportedDataSetMember.toString()); + if (reasonCodes != null) { + sb.append(", reason: ").append(reasonCodes.get(index)); + } + index++; + } + + return sb.toString(); + } + +} -- Gitblit v1.9.1