/// <summary>
        /// Updates the Properties used in InternalData.
        /// </summary>
        /// <param name="data">The BControl data.</param>
        public void Refresh(BControlData data)
        {
            if (data != null)
            {
                ActiveEnergyPlus      = data.ActiveEnergyPlus;
                ActiveEnergyMinus     = data.ActiveEnergyMinus;
                ReactiveEnergyPlus    = data.ReactiveEnergyPlus;
                ReactiveEnergyMinus   = data.ReactiveEnergyMinus;
                ApparentEnergyPlus    = data.ApparentEnergyPlus;
                ApparentEnergyMinus   = data.ApparentEnergyMinus;
                ActiveEnergyPlusL1    = data.ActiveEnergyPlusL1;
                ActiveEnergyMinusL1   = data.ActiveEnergyMinusL1;
                ReactiveEnergyPlusL1  = data.ReactiveEnergyPlusL1;
                ReactiveEnergyMinusL1 = data.ReactiveEnergyMinusL1;
                ApparentEnergyPlusL1  = data.ApparentEnergyPlusL1;
                ApparentEnergyMinusL1 = data.ApparentEnergyMinusL1;
                ActiveEnergyPlusL2    = data.ActiveEnergyPlusL2;
                ActiveEnergyMinusL2   = data.ActiveEnergyMinusL2;
                ReactiveEnergyPlusL2  = data.ReactiveEnergyPlusL2;
                ReactiveEnergyMinusL2 = data.ReactiveEnergyMinusL2;
                ApparentEnergyPlusL2  = data.ApparentEnergyPlusL2;
                ApparentEnergyMinusL2 = data.ApparentEnergyMinusL2;
                ActiveEnergyPlusL3    = data.ActiveEnergyPlusL3;
                ActiveEnergyMinusL3   = data.ActiveEnergyMinusL3;
                ReactiveEnergyPlusL3  = data.ReactiveEnergyPlusL3;
                ReactiveEnergyMinusL3 = data.ReactiveEnergyMinusL3;
                ApparentEnergyPlusL3  = data.ApparentEnergyPlusL3;
                ApparentEnergyMinusL3 = data.ApparentEnergyMinusL3;
            }

            Status = data?.Status ?? Uncertain;
        }
Exemple #2
0
        /// <summary>
        /// Updates the Properties used in InternalData.
        /// </summary>
        /// <param name="data">The BControl data.</param>
        public void Refresh(BControlData data)
        {
            if (data != null)
            {
                ManufacturerID  = data.ManufacturerID;
                ProductID       = data.ProductID;
                ProductVersion  = data.ProductVersion;
                FirmwareVersion = data.FirmwareVersion;
                VendorName      = data.VendorName;
                ProductName     = data.ProductName;
                SerialNumber    = data.SerialNumber;
            }

            Status = data?.Status ?? Uncertain;
        }
        /// <summary>
        /// Updates the Properties used in InternalData.
        /// </summary>
        /// <param name="data">The BControl data.</param>
        public void Refresh(BControlData data)
        {
            if (data != null)
            {
                ActivePowerPlus      = data.ActivePowerPlus;
                ActivePowerMinus     = data.ActivePowerMinus;
                ReactivePowerPlus    = data.ReactivePowerPlus;
                ReactivePowerMinus   = data.ReactivePowerMinus;
                ApparentPowerPlus    = data.ApparentPowerPlus;
                ApparentPowerMinus   = data.ApparentPowerMinus;
                PowerFactor          = data.PowerFactor;
                LineFrequency        = data.LineFrequency;
                ActivePowerPlusL1    = data.ActivePowerPlusL1;
                ActivePowerMinusL1   = data.ActivePowerMinusL1;
                ReactivePowerPlusL1  = data.ReactivePowerPlusL1;
                ReactivePowerMinusL1 = data.ReactivePowerMinusL1;
                ApparentPowerPlusL1  = data.ApparentPowerPlusL1;
                ApparentPowerMinusL1 = data.ApparentPowerMinusL1;
                CurrentL1            = data.CurrentL1;
                VoltageL1            = data.VoltageL1;
                PowerFactorL1        = data.PowerFactorL1;
                ActivePowerPlusL2    = data.ActivePowerPlusL2;
                ActivePowerMinusL2   = data.ActivePowerMinusL2;
                ReactivePowerPlusL2  = data.ReactivePowerPlusL2;
                ReactivePowerMinusL2 = data.ReactivePowerMinusL2;
                ApparentPowerPlusL2  = data.ApparentPowerPlusL2;
                ApparentPowerMinusL2 = data.ApparentPowerMinusL2;
                CurrentL2            = data.CurrentL2;
                VoltageL2            = data.VoltageL2;
                PowerFactorL2        = data.PowerFactorL2;
                ActivePowerPlusL3    = data.ActivePowerPlusL3;
                ActivePowerMinusL3   = data.ActivePowerMinusL3;
                ReactivePowerPlusL3  = data.ReactivePowerPlusL3;
                ReactivePowerMinusL3 = data.ReactivePowerMinusL3;
                ApparentPowerPlusL3  = data.ApparentPowerPlusL3;
                ApparentPowerMinusL3 = data.ApparentPowerMinusL3;
                CurrentL3            = data.CurrentL3;
                VoltageL3            = data.VoltageL3;
                PowerFactorL3        = data.PowerFactorL3;
            }

            Status = data?.Status ?? Uncertain;
        }
        /// <summary>
        /// Updates the Properties used in InternalData.
        /// </summary>
        /// <param name="data">The BControl data.</param>
        public void Refresh(BControlData data)
        {
            if (data != null)
            {
                C_SunSpec_ID      = data.C_SunSpec_ID;
                C_SunSpec_DID1    = data.C_SunSpec_DID1;
                C_SunSpec_Length1 = data.C_SunSpec_Length1;
                C_Manufacturer    = data.C_Manufacturer;
                C_Model           = data.C_Model;
                C_Options         = data.C_Options;
                C_Version         = data.C_Version;
                C_SerialNumber    = data.C_SerialNumber;
                C_DeviceAddress   = data.C_DeviceAddress;
                C_SunSpec_DID2    = data.C_SunSpec_DID2;
                C_SunSpec_Length2 = data.C_SunSpec_Length2;
                M_AC_Current      = data.M_AC_Current;
                M_AC_Current_A    = data.M_AC_Current_A;
                M_AC_Current_B    = data.M_AC_Current_B;
                M_AC_Current_C    = data.M_AC_Current_C;
                M_AC_Current_SF   = data.M_AC_Current_SF;
                M_AC_Voltage_LN   = data.M_AC_Voltage_LN;
                M_AC_Voltage_AN   = data.M_AC_Voltage_AN;
                M_AC_Voltage_BN   = data.M_AC_Voltage_BN;
                M_AC_Voltage_CN   = data.M_AC_Voltage_CN;
                M_AC_Voltage_LL   = data.M_AC_Voltage_LL;
                M_AC_Voltage_AB   = data.M_AC_Voltage_AB;
                M_AC_Voltage_BC   = data.M_AC_Voltage_BC;
                M_AC_Voltage_CA   = data.M_AC_Voltage_CA;
                M_AC_Voltage_SF   = data.M_AC_Voltage_SF;
                M_AC_Freq         = data.M_AC_Freq;
                M_AC_Freq_SF      = data.M_AC_Freq_SF;
                M_AC_Power        = data.M_AC_Power;
                M_AC_Power_A      = data.M_AC_Power_A;
                M_AC_Power_B      = data.M_AC_Power_B;
                M_AC_Power_C      = data.M_AC_Power_C;
                M_AC_Power_SF     = data.M_AC_Power_SF;
                M_AC_VA           = data.M_AC_VA;
                M_AC_VA_A         = data.M_AC_VA_A;
                M_AC_VA_B         = data.M_AC_VA_B;
                M_AC_VA_C         = data.M_AC_VA_C;
                M_AC_VA_SF        = data.M_AC_VA_SF;
                M_AC_VAR          = data.M_AC_VAR;
                M_AC_VAR_A        = data.M_AC_VAR_A;
                M_AC_VAR_B        = data.M_AC_VAR_B;
                M_AC_VAR_C        = data.M_AC_VAR_C;
                M_AC_VAR_SF       = data.M_AC_VAR_SF;
                M_AC_PF           = data.M_AC_PF;
                M_AC_PF_A         = data.M_AC_PF_A;
                M_AC_PF_B         = data.M_AC_PF_B;
                M_AC_PF_C         = data.M_AC_PF_C;
                M_AC_PF_SF        = data.M_AC_PF_SF;
                M_Exported        = data.M_Exported;
                M_Exported_A      = data.M_Exported_A;
                M_Exported_B      = data.M_Exported_B;
                M_Exported_C      = data.M_Exported_C;
                M_Imported        = data.M_Imported;
                M_Imported_A      = data.M_Imported_A;
                M_Imported_B      = data.M_Imported_B;
                M_Imported_C      = data.M_Imported_C;
                M_Energy_W_SF     = data.M_Energy_W_SF;
                M_Exported_VA     = data.M_Exported_VA;
                M_Exported_VA_A   = data.M_Exported_VA_A;
                M_Exported_VA_B   = data.M_Exported_VA_B;
                M_Exported_VA_C   = data.M_Exported_VA_C;
                M_Imported_VA     = data.M_Imported_VA;
                M_Imported_VA_A   = data.M_Imported_VA_A;
                M_Imported_VA_B   = data.M_Imported_VA_B;
                M_Imported_VA_C   = data.M_Imported_VA_C;
                M_Energy_VA_SF    = data.M_Energy_VA_SF;
                M_Import_VARh_Q1  = data.M_Import_VARh_Q1;
                M_Import_VARh_Q1A = data.M_Import_VARh_Q1A;
                M_Import_VARh_Q1B = data.M_Import_VARh_Q1B;
                M_Import_VARh_Q1C = data.M_Import_VARh_Q1C;
                M_Import_VARh_Q2  = data.M_Import_VARh_Q2;
                M_Import_VARh_Q2A = data.M_Import_VARh_Q2A;
                M_Import_VARh_Q2B = data.M_Import_VARh_Q2B;
                M_Import_VARh_Q2C = data.M_Import_VARh_Q2C;
                M_Import_VARh_Q3  = data.M_Import_VARh_Q3;
                M_Import_VARh_Q3A = data.M_Import_VARh_Q3A;
                M_Import_VARh_Q3B = data.M_Import_VARh_Q3B;
                M_Import_VARh_Q3C = data.M_Import_VARh_Q3C;
                M_Import_VARh_Q4  = data.M_Import_VARh_Q4;
                M_Import_VARh_Q4A = data.M_Import_VARh_Q4A;
                M_Import_VARh_Q4B = data.M_Import_VARh_Q4B;
                M_Import_VARh_Q4C = data.M_Import_VARh_Q4C;
                M_Energy_VAR_SF   = data.M_Energy_VAR_SF;
                M_Events          = data.M_Events;
                C_SunSpec_DID3    = data.C_SunSpec_DID3;
                C_SunSpec_Length3 = data.C_SunSpec_Length3;
            }

            Status = data?.Status ?? Uncertain;
        }
        /// <summary>
        /// Updates all the Properties.
        /// </summary>
        /// <param name="data">The BControl data.</param>
        public void Refresh(BControlData data)
        {
            if (data != null)
            {
                // Internal immediate registers
                ActivePowerPlus      = data.ActivePowerPlus;
                ActivePowerMinus     = data.ActivePowerMinus;
                ReactivePowerPlus    = data.ReactivePowerPlus;
                ReactivePowerMinus   = data.ReactivePowerMinus;
                ApparentPowerPlus    = data.ApparentPowerPlus;
                ApparentPowerMinus   = data.ApparentPowerMinus;
                PowerFactor          = data.PowerFactor;
                LineFrequency        = data.LineFrequency;
                ActivePowerPlusL1    = data.ActivePowerPlusL1;
                ActivePowerMinusL1   = data.ActivePowerMinusL1;
                ReactivePowerPlusL1  = data.ReactivePowerPlusL1;
                ReactivePowerMinusL1 = data.ReactivePowerMinusL1;
                ApparentPowerPlusL1  = data.ApparentPowerPlusL1;
                ApparentPowerMinusL1 = data.ApparentPowerMinusL1;
                CurrentL1            = data.CurrentL1;
                VoltageL1            = data.VoltageL1;
                PowerFactorL1        = data.PowerFactorL1;
                ActivePowerPlusL2    = data.ActivePowerPlusL2;
                ActivePowerMinusL2   = data.ActivePowerMinusL2;
                ReactivePowerPlusL2  = data.ReactivePowerPlusL2;
                ReactivePowerMinusL2 = data.ReactivePowerMinusL2;
                ApparentPowerPlusL2  = data.ApparentPowerPlusL2;
                ApparentPowerMinusL2 = data.ApparentPowerMinusL2;
                CurrentL2            = data.CurrentL2;
                VoltageL2            = data.VoltageL2;
                PowerFactorL2        = data.PowerFactorL2;
                ActivePowerPlusL3    = data.ActivePowerPlusL3;
                ActivePowerMinusL3   = data.ActivePowerMinusL3;
                ReactivePowerPlusL3  = data.ReactivePowerPlusL3;
                ReactivePowerMinusL3 = data.ReactivePowerMinusL3;
                ApparentPowerPlusL3  = data.ApparentPowerPlusL3;
                ApparentPowerMinusL3 = data.ApparentPowerMinusL3;
                CurrentL3            = data.CurrentL3;
                VoltageL3            = data.VoltageL3;
                PowerFactorL3        = data.PowerFactorL3;

                //Internal energy registers(meters)
                ActiveEnergyPlus      = data.ActiveEnergyPlus;
                ActiveEnergyMinus     = data.ActiveEnergyMinus;
                ReactiveEnergyPlus    = data.ReactiveEnergyPlus;
                ReactiveEnergyMinus   = data.ReactiveEnergyMinus;
                ApparentEnergyPlus    = data.ApparentEnergyPlus;
                ApparentEnergyMinus   = data.ApparentEnergyMinus;
                ActiveEnergyPlusL1    = data.ActiveEnergyPlusL1;
                ActiveEnergyMinusL1   = data.ActiveEnergyMinusL1;
                ReactiveEnergyPlusL1  = data.ReactiveEnergyPlusL1;
                ReactiveEnergyMinusL1 = data.ReactiveEnergyMinusL1;
                ApparentEnergyPlusL1  = data.ApparentEnergyPlusL1;
                ApparentEnergyMinusL1 = data.ApparentEnergyMinusL1;
                ActiveEnergyPlusL2    = data.ActiveEnergyPlusL2;
                ActiveEnergyMinusL2   = data.ActiveEnergyMinusL2;
                ReactiveEnergyPlusL2  = data.ReactiveEnergyPlusL2;
                ReactiveEnergyMinusL2 = data.ReactiveEnergyMinusL2;
                ApparentEnergyPlusL2  = data.ApparentEnergyPlusL2;
                ApparentEnergyMinusL2 = data.ApparentEnergyMinusL2;
                ActiveEnergyPlusL3    = data.ActiveEnergyPlusL3;
                ActiveEnergyMinusL3   = data.ActiveEnergyMinusL3;
                ReactiveEnergyPlusL3  = data.ReactiveEnergyPlusL3;
                ReactiveEnergyMinusL3 = data.ReactiveEnergyMinusL3;
                ApparentEnergyPlusL3  = data.ApparentEnergyPlusL3;
                ApparentEnergyMinusL3 = data.ApparentEnergyMinusL3;

                // PnP registers
                ManufacturerID  = data.ManufacturerID;
                ProductID       = data.ProductID;
                ProductVersion  = data.ProductVersion;
                FirmwareVersion = data.FirmwareVersion;
                VendorName      = data.VendorName;
                ProductName     = data.ProductName;
                SerialNumber    = data.SerialNumber;

                // SunSpec registers
                C_SunSpec_ID      = data.C_SunSpec_ID;
                C_SunSpec_DID1    = data.C_SunSpec_DID1;
                C_SunSpec_Length1 = data.C_SunSpec_Length1;
                C_Manufacturer    = data.C_Manufacturer;
                C_Model           = data.C_Model;
                C_Options         = data.C_Options;
                C_Version         = data.C_Version;
                C_SerialNumber    = data.C_SerialNumber;
                C_DeviceAddress   = data.C_DeviceAddress;
                C_SunSpec_DID2    = data.C_SunSpec_DID2;
                C_SunSpec_Length2 = data.C_SunSpec_Length2;
                M_AC_Current      = data.M_AC_Current;
                M_AC_Current_A    = data.M_AC_Current_A;
                M_AC_Current_B    = data.M_AC_Current_B;
                M_AC_Current_C    = data.M_AC_Current_C;
                M_AC_Current_SF   = data.M_AC_Current_SF;
                M_AC_Voltage_LN   = data.M_AC_Voltage_LN;
                M_AC_Voltage_AN   = data.M_AC_Voltage_AN;
                M_AC_Voltage_BN   = data.M_AC_Voltage_BN;
                M_AC_Voltage_CN   = data.M_AC_Voltage_CN;
                M_AC_Voltage_LL   = data.M_AC_Voltage_LL;
                M_AC_Voltage_AB   = data.M_AC_Voltage_AB;
                M_AC_Voltage_BC   = data.M_AC_Voltage_BC;
                M_AC_Voltage_CA   = data.M_AC_Voltage_CA;
                M_AC_Voltage_SF   = data.M_AC_Voltage_SF;
                M_AC_Freq         = data.M_AC_Freq;
                M_AC_Freq_SF      = data.M_AC_Freq_SF;
                M_AC_Power        = data.M_AC_Power;
                M_AC_Power_A      = data.M_AC_Power_A;
                M_AC_Power_B      = data.M_AC_Power_B;
                M_AC_Power_C      = data.M_AC_Power_C;
                M_AC_Power_SF     = data.M_AC_Power_SF;
                M_AC_VA           = data.M_AC_VA;
                M_AC_VA_A         = data.M_AC_VA_A;
                M_AC_VA_B         = data.M_AC_VA_B;
                M_AC_VA_C         = data.M_AC_VA_C;
                M_AC_VA_SF        = data.M_AC_VA_SF;
                M_AC_VAR          = data.M_AC_VAR;
                M_AC_VAR_A        = data.M_AC_VAR_A;
                M_AC_VAR_B        = data.M_AC_VAR_B;
                M_AC_VAR_C        = data.M_AC_VAR_C;
                M_AC_VAR_SF       = data.M_AC_VAR_SF;
                M_AC_PF           = data.M_AC_PF;
                M_AC_PF_A         = data.M_AC_PF_A;
                M_AC_PF_B         = data.M_AC_PF_B;
                M_AC_PF_C         = data.M_AC_PF_C;
                M_AC_PF_SF        = data.M_AC_PF_SF;
                M_Exported        = data.M_Exported;
                M_Exported_A      = data.M_Exported_A;
                M_Exported_B      = data.M_Exported_B;
                M_Exported_C      = data.M_Exported_C;
                M_Imported        = data.M_Imported;
                M_Imported_A      = data.M_Imported_A;
                M_Imported_B      = data.M_Imported_B;
                M_Imported_C      = data.M_Imported_C;
                M_Energy_W_SF     = data.M_Energy_W_SF;
                M_Exported_VA     = data.M_Exported_VA;
                M_Exported_VA_A   = data.M_Exported_VA_A;
                M_Exported_VA_B   = data.M_Exported_VA_B;
                M_Exported_VA_C   = data.M_Exported_VA_C;
                M_Imported_VA     = data.M_Imported_VA;
                M_Imported_VA_A   = data.M_Imported_VA_A;
                M_Imported_VA_B   = data.M_Imported_VA_B;
                M_Imported_VA_C   = data.M_Imported_VA_C;
                M_Energy_VA_SF    = data.M_Energy_VA_SF;
                M_Import_VARh_Q1  = data.M_Import_VARh_Q1;
                M_Import_VARh_Q1A = data.M_Import_VARh_Q1A;
                M_Import_VARh_Q1B = data.M_Import_VARh_Q1B;
                M_Import_VARh_Q1C = data.M_Import_VARh_Q1C;
                M_Import_VARh_Q2  = data.M_Import_VARh_Q2;
                M_Import_VARh_Q2A = data.M_Import_VARh_Q2A;
                M_Import_VARh_Q2B = data.M_Import_VARh_Q2B;
                M_Import_VARh_Q2C = data.M_Import_VARh_Q2C;
                M_Import_VARh_Q3  = data.M_Import_VARh_Q3;
                M_Import_VARh_Q3A = data.M_Import_VARh_Q3A;
                M_Import_VARh_Q3B = data.M_Import_VARh_Q3B;
                M_Import_VARh_Q3C = data.M_Import_VARh_Q3C;
                M_Import_VARh_Q4  = data.M_Import_VARh_Q4;
                M_Import_VARh_Q4A = data.M_Import_VARh_Q4A;
                M_Import_VARh_Q4B = data.M_Import_VARh_Q4B;
                M_Import_VARh_Q4C = data.M_Import_VARh_Q4C;
                M_Energy_VAR_SF   = data.M_Energy_VAR_SF;
                M_Events          = data.M_Events;
                C_SunSpec_DID3    = data.C_SunSpec_DID3;
                C_SunSpec_Length3 = data.C_SunSpec_Length3;
            }

            Status = data?.Status ?? Uncertain;
        }