fixed issue in printing arrays in DAs

v1.6
unknown 3 months ago
parent 5dd6fbe8bd
commit 0214d86790

@ -553,31 +553,9 @@ namespace IEC61850.SCL
}
private void ExportDataAttribute(StreamWriter output, DataAttribute dataAttribute, bool isTransient)
{
output.Write("DA(" + dataAttribute.Name + " ");
output.Write(dataAttribute.Count + " ");
output.Write((int)dataAttribute.AttributeType + " ");
output.Write((int)dataAttribute.Fc + " ");
if (dataAttribute.Definition.TriggerOptions != null)
void printDataAttributes(StreamWriter output, DataAttribute dataAttribute, bool isTransient)
{
int trgOpsVal = dataAttribute.Definition.TriggerOptions.GetIntValue();
if (isTransient)
trgOpsVal += 128;
output.Write(trgOpsVal + " ");
}
if (dataAttribute.Definition.SAddr != null)
output.Write(dataAttribute.Definition.SAddr);
else
output.Write("0");
output.Write(")");
if (dataAttribute.AttributeType != AttributeType.CONSTRUCTED)
{
//if (value != null)
@ -685,6 +663,53 @@ namespace IEC61850.SCL
output.WriteLine("}");
}
}
private void ExportDataAttribute(StreamWriter output, DataAttribute dataAttribute, bool isTransient)
{
output.Write("DA(" + dataAttribute.Name + " ");
output.Write(dataAttribute.Count + " ");
output.Write((int)dataAttribute.AttributeType + " ");
output.Write((int)dataAttribute.Fc + " ");
if (dataAttribute.Definition.TriggerOptions != null)
{
int trgOpsVal = dataAttribute.Definition.TriggerOptions.GetIntValue();
if (isTransient)
trgOpsVal += 128;
output.Write(trgOpsVal + " ");
}
if (dataAttribute.Definition.SAddr != null)
output.Write(dataAttribute.Definition.SAddr);
else
output.Write("0");
output.Write(")");
if (dataAttribute.Count > 0)
{
output.WriteLine("{");
for (int i = 0; i < dataAttribute.Count; i++)
{
output.Write("[" + i + "]");
printDataAttributes(output, dataAttribute, isTransient);
}
output.WriteLine("}");
}
else
{
printDataAttributes(output, dataAttribute, isTransient);
}

Loading…
Cancel
Save