|
|
@ -47,14 +47,17 @@ namespace IEC61850
|
|
|
|
return newRCB;
|
|
|
|
return newRCB;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal void RemoveRCB(ReportControlBlock rcb) {
|
|
|
|
internal void RemoveRCB(ReportControlBlock rcb)
|
|
|
|
if (activeRCBs != null) {
|
|
|
|
{
|
|
|
|
|
|
|
|
if (activeRCBs != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
activeRCBs.Remove(rcb);
|
|
|
|
activeRCBs.Remove(rcb);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Flags]
|
|
|
|
public enum ReasonForInclusion
|
|
|
|
public enum ReasonForInclusion
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/** the element is not included in the received report */
|
|
|
|
/** the element is not included in the received report */
|
|
|
@ -67,16 +70,16 @@ namespace IEC61850
|
|
|
|
REASON_QUALITY_CHANGE = 2,
|
|
|
|
REASON_QUALITY_CHANGE = 2,
|
|
|
|
|
|
|
|
|
|
|
|
/** the element is included due to an update of the data value */
|
|
|
|
/** the element is included due to an update of the data value */
|
|
|
|
REASON_DATA_UPDATE = 3,
|
|
|
|
REASON_DATA_UPDATE = 4,
|
|
|
|
|
|
|
|
|
|
|
|
/** the element is included due to a periodic integrity report task */
|
|
|
|
/** the element is included due to a periodic integrity report task */
|
|
|
|
REASON_INTEGRITY = 4,
|
|
|
|
REASON_INTEGRITY = 8,
|
|
|
|
|
|
|
|
|
|
|
|
/** the element is included due to a general interrogation by the client */
|
|
|
|
/** the element is included due to a general interrogation by the client */
|
|
|
|
REASON_GI = 5,
|
|
|
|
REASON_GI = 16,
|
|
|
|
|
|
|
|
|
|
|
|
/** the reason for inclusion is unknown */
|
|
|
|
/** the reason for inclusion is unknown */
|
|
|
|
REASON_UNKNOWN = 6
|
|
|
|
REASON_UNKNOWN = 32
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
@ -284,7 +287,8 @@ namespace IEC61850
|
|
|
|
/// </returns>
|
|
|
|
/// </returns>
|
|
|
|
public MmsValue GetDataSetValues()
|
|
|
|
public MmsValue GetDataSetValues()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (dataSetValues == IntPtr.Zero) {
|
|
|
|
if (dataSetValues == IntPtr.Zero)
|
|
|
|
|
|
|
|
{
|
|
|
|
dataSetValues = ClientReport_getDataSetValues(self);
|
|
|
|
dataSetValues = ClientReport_getDataSetValues(self);
|
|
|
|
|
|
|
|
|
|
|
|
if (dataSetValues == IntPtr.Zero)
|
|
|
|
if (dataSetValues == IntPtr.Zero)
|
|
|
@ -307,7 +311,8 @@ namespace IEC61850
|
|
|
|
/// </param>
|
|
|
|
/// </param>
|
|
|
|
public ReasonForInclusion GetReasonForInclusion(int index)
|
|
|
|
public ReasonForInclusion GetReasonForInclusion(int index)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (values == null) {
|
|
|
|
if (values == null)
|
|
|
|
|
|
|
|
{
|
|
|
|
GetDataSetValues();
|
|
|
|
GetDataSetValues();
|
|
|
|
|
|
|
|
|
|
|
|
if (values == null)
|
|
|
|
if (values == null)
|
|
|
@ -375,7 +380,8 @@ namespace IEC61850
|
|
|
|
|
|
|
|
|
|
|
|
if (entryIdRef == IntPtr.Zero)
|
|
|
|
if (entryIdRef == IntPtr.Zero)
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
else {
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
MmsValue entryId = new MmsValue(entryIdRef);
|
|
|
|
MmsValue entryId = new MmsValue(entryIdRef);
|
|
|
|
|
|
|
|
|
|
|
|
return entryId.getOctetString();
|
|
|
|
return entryId.getOctetString();
|
|
|
|