/// <summary> /// Constructor. /// </summary> /// <param name="ln">Logical Name of the object.</param> /// <param name="sn">Short Name of the object.</param> public GXDLMSRegisterMonitor(string ln, ushort sn) : base(ObjectType.RegisterMonitor, ln, sn) { this.Thresholds = new object[0]; MonitoredValue = new GXDLMSMonitoredValue(); Actions = new GXDLMSActionSet[0]; }
/// <summary> /// Constructor. /// </summary> /// <param name="ln">Logican Name of the object.</param> /// <param name="sn">Short Name of the object.</param> public GXDLMSRegisterMonitor(string ln, ushort sn) : base(ObjectType.RegisterMonitor, ln, 0) { this.Thresholds = new object[0]; MonitoredValue = new GXDLMSMonitoredValue(); Actions = new GXDLMSActionSet[0]; }
/// <summary> /// Constructor. /// </summary> public GXDLMSRegisterMonitor() : base(ObjectType.RegisterMonitor) { this.Thresholds = new object[0]; MonitoredValue = new GXDLMSMonitoredValue(); Actions = new GXDLMSActionSet[0]; }
void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e) { if (e.Index == 1) { if (e.Value is string) { LogicalName = e.Value.ToString(); } else { LogicalName = GXDLMSClient.ChangeType((byte[])e.Value, DataType.OctetString, settings.UseUtc2NormalTime).ToString(); } } else if (e.Index == 2) { Thresholds = (object[])e.Value; } else if (e.Index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(((object[])e.Value)[0]); MonitoredValue.LogicalName = GXDLMSClient.ChangeType((byte[])((object[])e.Value)[1], DataType.OctetString, settings.UseUtc2NormalTime).ToString(); MonitoredValue.AttributeIndex = Convert.ToInt32(((object[])e.Value)[2]); } else if (e.Index == 4) { Actions = null; if (e.Value != null) { List <GXDLMSActionSet> items = new List <GXDLMSActionSet>(); foreach (Object[] action_set in (Object[])e.Value) { GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[0])[0], DataType.OctetString, settings.UseUtc2NormalTime).ToString(); set.ActionUp.ScriptSelector = Convert.ToUInt16(((Object[])action_set[0])[1]); set.ActionDown.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[1])[0], DataType.OctetString, settings.UseUtc2NormalTime).ToString(); set.ActionDown.ScriptSelector = Convert.ToUInt16(((Object[])action_set[1])[1]); items.Add(set); } Actions = items.ToArray(); } } else { e.Error = ErrorCode.ReadWriteDenied; } }
void IGXDLMSBase.SetValue(int index, object value) { if (index == 1) { if (value is string) { LogicalName = value.ToString(); } else { LogicalName = GXDLMSClient.ChangeType((byte[])value, DataType.OctetString).ToString(); } } else if (index == 2) { Thresholds = (object[])value; } else if (index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(((object[])value)[0]); MonitoredValue.LogicalName = GXDLMSClient.ChangeType((byte[])((object[])value)[1], DataType.OctetString).ToString(); MonitoredValue.AttributeIndex = Convert.ToInt32(((object[])value)[2]); } else if (index == 4) { Actions = null; if (value != null) { List <GXDLMSActionSet> items = new List <GXDLMSActionSet>(); foreach (Object[] action_set in (Object[])value) { GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[0])[0], DataType.OctetString).ToString(); set.ActionUp.ScriptSelector = Convert.ToUInt16(((Object[])action_set[0])[1]); set.ActionDown.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[1])[0], DataType.OctetString).ToString(); set.ActionDown.ScriptSelector = Convert.ToUInt16(((Object[])action_set[1])[1]); items.Add(set); } Actions = items.ToArray(); } } else { throw new ArgumentException("SetValue failed. Invalid attribute index."); } }
void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e) { if (e.Index == 1) { LogicalName = GXCommon.ToLogicalName(e.Value); } else if (e.Index == 2) { Thresholds = (object[])e.Value; } else if (e.Index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(((object[])e.Value)[0]); MonitoredValue.LogicalName = GXCommon.ToLogicalName(((object[])e.Value)[1]); MonitoredValue.AttributeIndex = Convert.ToInt32(((object[])e.Value)[2]); } else if (e.Index == 4) { Actions = null; if (e.Value != null) { List <GXDLMSActionSet> items = new List <GXDLMSActionSet>(); foreach (object[] action_set in (object[])e.Value) { GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXCommon.ToLogicalName(((object[])action_set[0])[0]); set.ActionUp.ScriptSelector = Convert.ToUInt16(((object[])action_set[0])[1]); set.ActionDown.LogicalName = GXCommon.ToLogicalName(((object[])action_set[1])[0]); set.ActionDown.ScriptSelector = Convert.ToUInt16(((object[])action_set[1])[1]); items.Add(set); } Actions = items.ToArray(); } } else { e.Error = ErrorCode.ReadWriteDenied; } }
void IGXDLMSBase.SetValue(int index, object value) { if (index == 1) { if (value is string) { LogicalName = value.ToString(); } else { LogicalName = GXDLMSClient.ChangeType((byte[])value, DataType.OctetString).ToString(); } } else if (index == 2) { Thresholds = (object[]) value; } else if (index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(((object[])value)[0]); MonitoredValue.LogicalName = GXDLMSClient.ChangeType((byte[])((object[])value)[1], DataType.OctetString).ToString(); MonitoredValue.AttributeIndex = Convert.ToInt32(((object[])value)[2]); } else if (index == 4) { Actions = null; if (value != null) { List<GXDLMSActionSet> items = new List<GXDLMSActionSet>(); foreach (Object[] action_set in (Object[])value) { GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[0])[0], DataType.OctetString).ToString(); set.ActionUp.ScriptSelector = Convert.ToUInt16(((Object[])action_set[0])[1]); set.ActionDown.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[1])[0], DataType.OctetString).ToString(); set.ActionDown.ScriptSelector = Convert.ToUInt16(((Object[])action_set[1])[1]); items.Add(set); } Actions = items.ToArray(); } } else { throw new ArgumentException("SetValue failed. Invalid attribute index."); } }
void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e) { if (e.Index == 1) { LogicalName = GXCommon.ToLogicalName(e.Value); } else if (e.Index == 2) { if (e.Value != null) { List <object> arr; if (e.Value is List <object> ) { arr = (List <object>)e.Value; } else { arr = new List <object>((object[])e.Value); } Thresholds = arr.ToArray(); } else { Thresholds = new object[0]; } } else if (e.Index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } if (e.Value != null) { List <object> arr; if (e.Value is List <object> ) { arr = (List <object>)e.Value; } else { arr = new List <object>((object[])e.Value); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(arr[0]); MonitoredValue.LogicalName = GXCommon.ToLogicalName(arr[1]); MonitoredValue.AttributeIndex = Convert.ToInt32(arr[2]); } else { MonitoredValue.ObjectType = ObjectType.None; MonitoredValue.LogicalName = ""; MonitoredValue.AttributeIndex = 0; } } else if (e.Index == 4) { Actions = null; if (e.Value != null) { List <GXDLMSActionSet> items = new List <GXDLMSActionSet>(); List <object> arr, action_set, it; if (e.Value is List <object> ) { arr = (List <object>)e.Value; } else { arr = new List <object>((object[])e.Value); } foreach (object tmp in arr) { if (tmp is List <object> ) { action_set = (List <object>)tmp; } else { action_set = new List <object>((object[])tmp); } if (action_set[0] is List <object> ) { it = (List <object>)action_set[0]; } else { it = new List <object>((object[])action_set[0]); } GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXCommon.ToLogicalName(it[0]); set.ActionUp.ScriptSelector = Convert.ToUInt16(it[1]); if (action_set[1] is List <object> ) { it = (List <object>)action_set[1]; } else { it = new List <object>((object[])action_set[1]); } set.ActionDown.LogicalName = GXCommon.ToLogicalName(it[0]); set.ActionDown.ScriptSelector = Convert.ToUInt16(it[1]); items.Add(set); } Actions = items.ToArray(); } } else { e.Error = ErrorCode.ReadWriteDenied; } }
void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e) { if (e.Index == 1) { if (e.Value is string) { LogicalName = e.Value.ToString(); } else { LogicalName = GXDLMSClient.ChangeType((byte[])e.Value, DataType.OctetString).ToString(); } } else if (e.Index == 2) { Thresholds = (object[])e.Value; } else if (e.Index == 3) { if (MonitoredValue == null) { MonitoredValue = new GXDLMSMonitoredValue(); } MonitoredValue.ObjectType = (ObjectType)Convert.ToInt32(((object[])e.Value)[0]); MonitoredValue.LogicalName = GXDLMSClient.ChangeType((byte[])((object[])e.Value)[1], DataType.OctetString).ToString(); MonitoredValue.AttributeIndex = Convert.ToInt32(((object[])e.Value)[2]); } else if (e.Index == 4) { Actions = null; if (e.Value != null) { List<GXDLMSActionSet> items = new List<GXDLMSActionSet>(); foreach (Object[] action_set in (Object[])e.Value) { GXDLMSActionSet set = new GXDLMSActionSet(); set.ActionUp.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[0])[0], DataType.OctetString).ToString(); set.ActionUp.ScriptSelector = Convert.ToUInt16(((Object[])action_set[0])[1]); set.ActionDown.LogicalName = GXDLMSClient.ChangeType((byte[])((Object[])action_set[1])[0], DataType.OctetString).ToString(); set.ActionDown.ScriptSelector = Convert.ToUInt16(((Object[])action_set[1])[1]); items.Add(set); } Actions = items.ToArray(); } } else { e.Error = ErrorCode.ReadWriteDenied; } }