added array display in DOs

v1.6
unknown 3 months ago
parent 4c39d49e20
commit 5dd6fbe8bd

@ -128,13 +128,13 @@ namespace IEC61850.SCL
if (gcb.SclGSEControl.AppID != null)
output.Write(gcb.SclGSEControl.AppID + " ");
else
output.Write("- ");
output.Write("null ");
if (gcb.SclGSEControl.DatSet != null)
output.Write(gcb.SclGSEControl.DatSet + " ");
else
output.Write("- ");
output.Write("null ");
if (gcb.SclGSEControl.ConfRev >= 0)
output.Write(gcb.SclGSEControl.ConfRev + " ");
@ -153,18 +153,18 @@ namespace IEC61850.SCL
if (gse.Mintime != null)
output.Write(gse.Mintime);
else
output.Write("-1");
output.Write("0");
output.Write(' ');
if (gse.Maxtime != null)
output.Write(gse.Maxtime);
else
output.Write("-1");
output.Write("0");
}
else
{
output.Write("-1 -1");
output.Write("0 0");
}
if (gseAddress == null)
@ -210,12 +210,12 @@ namespace IEC61850.SCL
if (smv.SclSMVControl.SmvID != null)
output.Write(smv.SclSMVControl.SmvID + " ");
else
output.Write("- ");
output.Write("null ");
if (smv.SclSMVControl.DataSet != null)
output.Write(smv.SclSMVControl.DataSet + " ");
else
output.Write("- ");
output.Write("null ");
if (smv.SclSMVControl.ConfRev >= 0)
output.Write(smv.SclSMVControl.ConfRev + " ");
@ -225,21 +225,25 @@ namespace IEC61850.SCL
if (smv.SclSMVControl.SmpMod != null)
output.Write(smv.SclSMVControl.SmpMod + " ");
else
output.Write("-1 ");
output.Write("0 ");
output.Write(smv.SclSMVControl.SmpRate + " ");
if(smv.SclSMVControl.SmpRate != -1)
output.Write(smv.SclSMVControl.SmpRate + " ");
else
output.Write("0 ");
//output.Write(smv.SclSMVControl.SmpRate + " ");
if (smv.SclSMVControl.SclSmvOpts != null)
output.Write(smv.SclSMVControl.SclSmvOpts.GetIntValue());
else
output.Write("-1");
output.Write("0");
output.Write(' ');
if (smv.SclSMVControl.Multicast)
output.Write('1');
else
output.Write("-1");
output.Write("0");
output.Write(' ');
@ -369,12 +373,9 @@ namespace IEC61850.SCL
output.WriteLine(");");
}
private void ExportDataObject(StreamWriter output, DataObject dataObject, bool isTransient)
private void exportDataObjectChild(StreamWriter output, DataObject dataObject, bool isTransient)
{
if (dataObject.IsTransiente)
isTransient = true;
foreach (DataObjectOrAttribute child in dataObject.DataObjectsAndAttributes)
{
if (child is DataObject)
@ -393,6 +394,33 @@ namespace IEC61850.SCL
}
}
}
private void ExportDataObject(StreamWriter output, DataObject dataObject, bool isTransient)
{
if (dataObject.IsTransiente)
isTransient = true;
if (dataObject.Count > 0)
{
/* data object is an array */
for (int i = 0; i < dataObject.Count; i++)
{
output.WriteLine("[" + i + "]{\n");
exportDataObjectChild(output, dataObject, isTransient);
output.Write("}\n");
}
}
else
{
exportDataObjectChild(output, dataObject, isTransient);
}
}
//private void printDataAttributeValue(StreamWriter output, DataAttribute dataAttribute, bool isTransient)

Loading…
Cancel
Save