Exemple #1
0
 public override void Close()
 {
     base.Close();
     if (Media != null)
     {
         Media.Close();
     }
     if (batteryUseTimeCounter != null)
     {
         batteryUseTimeCounter.Stop();
         batteryUseTimeCounter = null;
     }
 }
Exemple #2
0
        /// <summary>
        /// In this example we have only two register objects. Battery use time counter that can be reset and CPU temperature.
        /// Battery use time counter is increased from the own thread.
        /// </summary>
        void Init()
        {
            Media.OnReceived           += new Gurux.Common.ReceivedEventHandler(OnReceived);
            Media.OnClientConnected    += new Gurux.Common.ClientConnectedEventHandler(OnClientConnected);
            Media.OnClientDisconnected += new Gurux.Common.ClientDisconnectedEventHandler(OnClientDisconnected);
            Media.OnError += new Gurux.Common.ErrorEventHandler(OnError);
            Media.Open();
            //Load added objects.
            LoadSettings();

            temperature = this.Items.FindByLN(ObjectType.Register, "0.0.96.9.0.255") as GXDLMSRegister;
            if (temperature == null)
            {
                // CPU temperature.
                temperature        = new GXDLMSRegister("0.0.96.9.0.255");
                temperature.Scaler = 1;
                temperature.Unit   = Unit.Temperature;
                temperature.Value  = 100;
                temperature.SetDataType(2, DataType.Int8);
                this.Items.Add(temperature);
            }
            // Battery use time counter
            GXDLMSRegister r = this.Items.FindByLN(ObjectType.Register, "0.0.96.6.0.255") as GXDLMSRegister;

            if (r == null)
            {
                r = new GXDLMSRegister("0.0.96.6.0.255");
                r.SetDataType(2, DataType.UInt16);
                this.Items.Add(r);
            }
            batteryUseTimeCounter = new GXBatteryUseTimeCounter(r);
            batteryUseTimeCounter.Start();
            ///////////////////////////////////////////////////////////////////////
            //Server must initialize after all objects are added.
            Initialize();
        }