/// <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];
 }
 /// <summary> 
 /// Constructor.
 /// </summary> 
 public GXDLMSRegisterMonitor()
     : base(ObjectType.RegisterMonitor)
 {
     this.Thresholds = new object[0];            
     MonitoredValue = new GXDLMSMonitoredValue();
     Actions = new GXDLMSActionSet[0];
 }
Esempio n. 5
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;
     }
 }
Esempio n. 6
0
 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.");
     }
 }
Esempio n. 9
0
 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;
     }
 }