void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementObject("Operator", Operator); writer.WriteElementString("Status", (int)Status); writer.WriteElementString("CircuitSwitchStatus", (int)CircuitSwitchStatus); writer.WriteElementString("PacketSwitchStatus", (int)PacketSwitchStatus); if (CellInfo != null) { writer.WriteStartElement("CellInfo"); writer.WriteElementString("CellId", CellInfo.CellId); writer.WriteElementString("LocationId", CellInfo.LocationId); writer.WriteElementString("SignalQuality", CellInfo.SignalQuality); writer.WriteElementString("Ber", CellInfo.Ber); writer.WriteEndElement(); } if (AdjacentCells != null) { writer.WriteStartElement("AdjacentCells"); foreach (AdjacentCell it in AdjacentCells) { writer.WriteStartElement("Item"); writer.WriteElementString("CellId", it.CellId); writer.WriteElementString("SignalQuality", it.SignalQuality); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementObject("CaptureTime", CaptureTime); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("PHYReference", PHYReference); if (LCPOptions != null) { writer.WriteStartElement("LCPOptions"); foreach (GXDLMSPppSetupLcpOption it in LCPOptions) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", (int)it.Type); writer.WriteElementString("Length", it.Length); writer.WriteElementObject("Data", it.Data); writer.WriteEndElement(); } writer.WriteEndElement(); } if (IPCPOptions != null) { writer.WriteStartElement("IPCPOptions"); foreach (GXDLMSPppSetupIPCPOption it in IPCPOptions) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", ((int)it.Type)); writer.WriteElementString("Length", it.Length); writer.WriteElementObject("Data", it.Data); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("UserName", GXDLMSTranslator.ToHex(UserName)); writer.WriteElementString("Password", GXDLMSTranslator.ToHex(Password)); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("Unit", (int)Unit, 2); writer.WriteElementString("Scaler", Scaler, 1, 2); writer.WriteElementObject("Value", Value, GetDataType(2), GetUIDataType(2), 3); writer.WriteElementObject("Status", Status, 4); writer.WriteElementString("CaptureTime", CaptureTime, 5); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("Unit", (int)Unit); writer.WriteElementString("Scaler", Scaler, 1); writer.WriteElementObject("Value", Value); writer.WriteElementObject("Status", Status); writer.WriteElementObject("CaptureTime", CaptureTime); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Value is string) { writer.WriteElementObject("Value", Value, GetDataType(2), GetUIDataType(2)); } else { writer.WriteElementObject("Value", Value); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementObject("CurrentAverageValue", CurrentAverageValue); writer.WriteElementObject("LastAverageValue", LastAverageValue); writer.WriteElementString("Scaler", Scaler, 1); writer.WriteElementString("Unit", (int)Unit); writer.WriteElementObject("Status", Status); writer.WriteElementString("CaptureTime", CaptureTime); writer.WriteElementString("StartTimeCurrent", StartTimeCurrent); writer.WriteElementString("Period", Period); writer.WriteElementString("NumberOfPeriods", NumberOfPeriods); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementObject("CurrentAverageValue", CurrentAverageValue, GetDataType(2), GetUIDataType(2), 2); writer.WriteElementObject("LastAverageValue", LastAverageValue, 3); writer.WriteElementString("Scaler", Scaler, 1, 4); writer.WriteElementString("Unit", (int)Unit, 5); writer.WriteElementObject("Status", Status, 6); writer.WriteElementString("CaptureTime", CaptureTime, 7); writer.WriteElementString("StartTimeCurrent", StartTimeCurrent, 8); writer.WriteElementString("Period", Period, 9); writer.WriteElementString("NumberOfPeriods", NumberOfPeriods, 10); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (MonitoredValue != null) { writer.WriteStartElement("MonitoredValue"); writer.WriteElementString("ObjectType", (int)MonitoredValue.ObjectType); writer.WriteElementString("LN", MonitoredValue.LogicalName); writer.WriteEndElement(); } writer.WriteElementObject("ThresholdActive", ThresholdActive); writer.WriteElementObject("ThresholdNormal", ThresholdNormal); writer.WriteElementObject("ThresholdEmergency", ThresholdEmergency); writer.WriteElementString("MinOverThresholdDuration", MinOverThresholdDuration); writer.WriteElementString("MinUnderThresholdDuration", MinUnderThresholdDuration); if (EmergencyProfile != null) { writer.WriteStartElement("EmergencyProfile"); writer.WriteElementString("ID", EmergencyProfile.ID); writer.WriteElementObject("Time", EmergencyProfile.ActivationTime); writer.WriteElementString("Duration", EmergencyProfile.Duration); writer.WriteEndElement(); } if (EmergencyProfileGroupIDs != null) { writer.WriteStartElement("EmergencyProfileGroupIDs"); foreach (UInt16 it in EmergencyProfileGroupIDs) { writer.WriteElementString("Value", it); } writer.WriteEndElement(); } writer.WriteElementString("Active", EmergencyProfileActive); if (ActionOverThreshold != null) { writer.WriteStartElement("ActionOverThreshold"); writer.WriteElementString("LN", ActionOverThreshold.LogicalName); writer.WriteElementString("ScriptSelector", ActionOverThreshold.ScriptSelector); writer.WriteEndElement(); } if (ActionUnderThreshold != null) { writer.WriteStartElement("ActionUnderThreshold"); writer.WriteElementString("LN", ActionUnderThreshold.LogicalName); writer.WriteElementString("ScriptSelector", ActionUnderThreshold.ScriptSelector); writer.WriteEndElement(); } }
private void SaveBlacklistTable(GXXmlWriter writer) { if (BlacklistTable != null) { writer.WriteStartElement("BlacklistTable"); foreach (GXKeyValuePair <UInt16, UInt16> it in BlacklistTable) { writer.WriteStartElement("Item"); writer.WriteElementObject("Key", it.Key); writer.WriteElementObject("Value", it.Value); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteStartElement("MonitoredValue", 2); if (MonitoredValue != null) { writer.WriteElementString("ObjectType", (int)MonitoredValue.ObjectType, 0); writer.WriteElementString("LN", MonitoredValue.LogicalName, 0); } writer.WriteEndElement(); writer.WriteElementObject("ThresholdActive", ThresholdActive, 3); writer.WriteElementObject("ThresholdNormal", ThresholdNormal, 4); writer.WriteElementObject("ThresholdEmergency", ThresholdEmergency, 5); writer.WriteElementString("MinOverThresholdDuration", MinOverThresholdDuration, 6); writer.WriteElementString("MinUnderThresholdDuration", MinUnderThresholdDuration, 7); writer.WriteStartElement("EmergencyProfile", 8); if (EmergencyProfile != null) { writer.WriteElementString("ID", EmergencyProfile.ID, 0); writer.WriteElementString("Time", EmergencyProfile.ActivationTime, 0); writer.WriteElementString("Duration", EmergencyProfile.Duration, 0); } writer.WriteEndElement(); writer.WriteStartElement("EmergencyProfileGroupIDs", 9); if (EmergencyProfileGroupIDs != null) { foreach (UInt16 it in EmergencyProfileGroupIDs) { writer.WriteElementString("Value", it, 0); } } writer.WriteEndElement(); writer.WriteElementString("Active", EmergencyProfileActive, 10); writer.WriteStartElement("ActionOverThreshold", 11); if (ActionOverThreshold != null) { writer.WriteElementString("LN", ActionOverThreshold.LogicalName, 0); writer.WriteElementString("ScriptSelector", ActionOverThreshold.ScriptSelector, 0); } writer.WriteEndElement(); writer.WriteStartElement("ActionUnderThreshold", 12); if (ActionUnderThreshold != null) { writer.WriteElementString("LN", ActionUnderThreshold.LogicalName, 0); writer.WriteElementString("ScriptSelector", ActionUnderThreshold.ScriptSelector, 0); } writer.WriteEndElement(); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (ChangedParameter != null && ChangedParameter.Target != null) { writer.WriteStartElement("ChangedParameter"); writer.WriteElementString("Type", (int)ChangedParameter.Target.ObjectType); writer.WriteElementString("LN", ChangedParameter.Target.LogicalName); writer.WriteElementString("Index", ChangedParameter.AttributeIndex); writer.WriteElementObject("Value", ChangedParameter.Value); writer.WriteEndElement(); } if (CaptureTime != null && CaptureTime != DateTime.MinValue) { writer.WriteElementString("Time", CaptureTime.ToString(CultureInfo.InvariantCulture)); } if (Parameters != null && Parameters.Count != 0) { writer.WriteStartElement("Parameters"); foreach (GXDLMSTarget it in Parameters) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", (int)it.Target.ObjectType); writer.WriteElementString("LN", it.Target.LogicalName); writer.WriteElementString("Index", it.AttributeIndex); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveBroadcastLogTable(GXXmlWriter writer) { if (BroadcastLogTable != null) { writer.WriteStartElement("BroadcastLogTable"); foreach (GXDLMSBroadcastLogTable it in BroadcastLogTable) { writer.WriteStartElement("Item"); writer.WriteElementObject("SourceAddress", it.SourceAddress); writer.WriteElementObject("SequenceNumber", it.SequenceNumber); writer.WriteElementObject("ValidTime", it.ValidTime); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteStartElement("ChangedParameter", 2); if (ChangedParameter != null && ChangedParameter.Target != null) { writer.WriteElementString("Type", (int)ChangedParameter.Target.ObjectType, 2); writer.WriteElementString("LN", ChangedParameter.Target.LogicalName, 2); writer.WriteElementString("Index", ChangedParameter.AttributeIndex, 2); writer.WriteElementObject("Value", ChangedParameter.Value, 2); } writer.WriteEndElement(); writer.WriteElementString("Time", CaptureTime, 3); writer.WriteStartElement("Parameters", 4); if (Parameters != null && Parameters.Count != 0) { foreach (GXDLMSTarget it in Parameters) { writer.WriteStartElement("Item", 4); writer.WriteElementString("Type", (int)it.Target.ObjectType, 4); writer.WriteElementString("LN", it.Target.LogicalName, 4); writer.WriteElementString("Index", it.AttributeIndex, 4); writer.WriteEndElement(); } } writer.WriteEndElement(); }
private void SaveGroupTable(GXXmlWriter writer) { if (GroupTable != null) { writer.WriteStartElement("GroupTable"); foreach (UInt16 it in GroupTable) { writer.WriteElementObject("Value", it); } writer.WriteEndElement(); } }
private void SavePrefixTable(GXXmlWriter writer) { if (PrefixTable != null) { writer.WriteStartElement("PrefixTable"); foreach (object it in PrefixTable) { writer.WriteElementObject("Value", it); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Entries != null) { writer.WriteStartElement("Entries"); foreach (GXScheduleEntry it in Entries) { writer.WriteStartElement("Item"); writer.WriteElementString("Index", it.Index); writer.WriteElementString("Enable", it.Enable); writer.WriteElementString("LogicalName", it.LogicalName); writer.WriteElementString("ScriptSelector", it.ScriptSelector); writer.WriteElementObject("SwitchTime", it.SwitchTime); writer.WriteElementString("ValidityWindow", it.ValidityWindow); writer.WriteElementString("ExecWeekdays", it.ExecWeekdays); writer.WriteElementString("ExecSpecDays", it.ExecSpecDays); writer.WriteElementObject("BeginDate", it.BeginDate); writer.WriteElementObject("EndDate", it.EndDate); writer.WriteEndElement(); } writer.WriteEndElement();//Entries } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Scripts != null) { writer.WriteStartElement("Scripts"); foreach (GXDLMSScript it in Scripts) { writer.WriteStartElement("Script"); writer.WriteElementString("ID", it.Id.ToString()); writer.WriteStartElement("Actions"); foreach (GXDLMSScriptAction a in it.Actions) { writer.WriteStartElement("Action"); writer.WriteElementString("Type", ((int)a.Type).ToString()); if (a.Target == null) { writer.WriteElementString("ObjectType", (int)ObjectType.None); writer.WriteElementString("LN", "0.0.0.0.0.0"); writer.WriteElementString("Index", "0"); writer.WriteElementString("ParameterDataType", (int)DataType.None); writer.WriteElementObject("Parameter", ""); } else { writer.WriteElementString("ObjectType", (int)a.Target.ObjectType); writer.WriteElementString("LN", a.Target.LogicalName); writer.WriteElementString("Index", a.Index); writer.WriteElementObject("Parameter", a.Parameter); } writer.WriteEndElement(); } writer.WriteEndElement(); //Actions writer.WriteEndElement(); //Script } writer.WriteEndElement(); //Scripts } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Buffer != null) { writer.WriteStartElement("Buffer"); foreach (object[] row in Buffer) { writer.WriteStartElement("Row"); foreach (object it in row) { writer.WriteElementObject("Cell", it); } writer.WriteEndElement(); } writer.WriteEndElement(); } if (CaptureObjects != null) { writer.WriteStartElement("CaptureObjects"); foreach (GXKeyValuePair <GXDLMSObject, GXDLMSCaptureObject> it in CaptureObjects) { writer.WriteStartElement("Item"); writer.WriteElementString("ObjectType", (int)it.Key.ObjectType); writer.WriteElementString("LN", it.Key.LogicalName); writer.WriteElementString("Attribute", it.Value.AttributeIndex); writer.WriteElementString("Data", it.Value.DataIndex); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("CapturePeriod", CapturePeriod); writer.WriteElementString("SortMethod", (int)SortMethod); if (SortObject != null) { writer.WriteStartElement("SortObject"); writer.WriteElementString("ObjectType", (int)SortObject.ObjectType); writer.WriteElementString("LN", SortObject.LogicalName); writer.WriteEndElement();//SortObject } writer.WriteElementString("EntriesInUse", EntriesInUse); writer.WriteElementString("ProfileEntries", ProfileEntries); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Thresholds != null) { writer.WriteStartElement("Thresholds"); foreach (Object it in Thresholds) { writer.WriteElementObject("Value", it); } writer.WriteEndElement(); } if (MonitoredValue != null) { writer.WriteStartElement("MonitoredValue"); writer.WriteElementString("ObjectType", (int)MonitoredValue.ObjectType); writer.WriteElementString("LN", MonitoredValue.LogicalName); writer.WriteElementString("Index", MonitoredValue.AttributeIndex); writer.WriteEndElement(); } if (Actions != null) { writer.WriteStartElement("Actions"); foreach (GXDLMSActionSet it in Actions) { writer.WriteStartElement("Item"); writer.WriteStartElement("Up"); writer.WriteElementString("LN", it.ActionUp.LogicalName); writer.WriteElementString("Selector", it.ActionUp.ScriptSelector); writer.WriteEndElement(); writer.WriteStartElement("Down"); writer.WriteElementString("LN", it.ActionDown.LogicalName); writer.WriteElementString("Selector", it.ActionDown.ScriptSelector); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Buffer != null) { writer.WriteStartElement("Buffer"); GXDateTime lastdt = null; int add = CapturePeriod; //Some meters are returning 0 if capture period is one hour. if (add == 0) { add = 60; } foreach (object[] row in Buffer) { writer.WriteStartElement("Row"); int pos = 0; foreach (object it in row) { GXKeyValuePair <GXDLMSObject, GXDLMSCaptureObject> c = CaptureObjects[pos]; ++pos; if (CaptureObjects != null && c.Key is GXDLMSClock && c.Value.AttributeIndex == 2) { if (it != null) { lastdt = (c.Key as GXDLMSClock).Time; } else if (lastdt != null) { lastdt = new GXDateTime(lastdt.Value.AddMinutes(add)); writer.WriteElementObject("Cell", lastdt, false); continue; } else { writer.WriteElementObject("Cell", DateTime.MinValue, false); } } writer.WriteElementObject("Cell", it, false); } writer.WriteEndElement(); } writer.WriteEndElement(); } if (CaptureObjects != null) { writer.WriteStartElement("CaptureObjects"); foreach (GXKeyValuePair <GXDLMSObject, GXDLMSCaptureObject> it in CaptureObjects) { writer.WriteStartElement("Item"); writer.WriteElementString("ObjectType", (int)it.Key.ObjectType); writer.WriteElementString("LN", it.Key.LogicalName); writer.WriteElementString("Attribute", it.Value.AttributeIndex); writer.WriteElementString("Data", it.Value.DataIndex); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("CapturePeriod", CapturePeriod); writer.WriteElementString("SortMethod", (int)SortMethod); if (SortObject != null) { writer.WriteStartElement("SortObject"); writer.WriteElementString("ObjectType", (int)SortObject.ObjectType); writer.WriteElementString("LN", SortObject.LogicalName); writer.WriteEndElement();//SortObject } writer.WriteElementString("EntriesInUse", EntriesInUse); writer.WriteElementString("ProfileEntries", ProfileEntries); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("Unit", (int)Unit); writer.WriteElementString("Scaler", Scaler, 1); writer.WriteElementObject("Value", Value, GetDataType(2), GetUIDataType(2)); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementObject("Value", Value, GetDataType(2), GetUIDataType(2), 2); }