/// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table00">Table 0 object for the current device.</param>
        /// <param name="Table2139">Table 2139 object for the current device</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  05/06/08 RCG 1.50.22 N/A    Created

        public static uint GetTableSize(CTable00 Table00, OpenWayMFGTable2139 Table2139)
        {
            uint uiTableSize = 0;

            // RECONNECT_OPTION
            uiTableSize += 1;
            // MAX_SWITCHES
            uiTableSize += 1;
            // MAX_SWITCH_PERIOD
            uiTableSize += Table00.TIMESize;
            // RANDOMIZATION_ALARM
            uiTableSize += Table00.TIMESize;
            // RESTORATION_START_DELAY
            uiTableSize += Table00.TIMESize;
            // RESTORATION_RANDOM_DELAY
            uiTableSize += Table00.TIMESize;
            // OPEN_TIME
            uiTableSize += Table00.TIMESize;
            // RETRY_ATTEMPTS
            uiTableSize += 1;
            // THRESHOLDS
            uiTableSize += Table2139.NumberOfThresholds * THRESHOLD_SIZE;

            return(uiTableSize);
        }
示例#2
0
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table0">Table 0 object for the current device.</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  06/17/09 MMD         N/A    Created

        public static uint GetTableSize(CTable00 Table0)
        {
            uint uiTableSize = 0;

            //Pulse_Weight_Normal
            uiTableSize += 2;
            //Pulse_Output_1_Quantity_Normal
            uiTableSize += 4;
            //Pulse_Weight_Alt
            uiTableSize += 2;
            //Pulse_Output_1_Quantity_Alt
            uiTableSize += 4;
            //Pulse_Weight_Test
            uiTableSize += 2;
            //Pulse_Output_1_Quantity_Test
            uiTableSize += 4;
            //Pulse_Weight_Test_Alt
            uiTableSize += 2;
            //Pulse_Output_1_Quantity_Test_Alt
            uiTableSize += 4;
            //appPowerCalcMethod
            uiTableSize += 1;
            //Dummy
            uiTableSize += 1;

            return(uiTableSize);
        }
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table00">Table 0 object for the current device.</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  05/14/09 MMD          N/A    Created

        public static uint GetTableSizeSP5(CTable00 Table00)
        {
            uint uiTableSize = 0;

            // SWITCH_STATUS_FLAG
            uiTableSize += 1;
            // REMAINING_DAILY_SWITCHED
            uiTableSize += 1;
            // ACTIVE_THRESHOLD
            uiTableSize += 1;
            // REMAING_TIME_IN_ACTIVE_TIER
            uiTableSize += Table00.TIMESize;
            // RAMAING_TIME_FOR_SWITCH_OPEN
            uiTableSize += Table00.TIMESize;
            // SL FAILSAFE REASON
            uiTableSize += 1;
            //REMAINING_TIME IN FAILSAFE MODE
            uiTableSize += Table00.TIMESize;
            //SL DISCONNECT ENABLE STATE
            uiTableSize += 1;
            //LAST DISCONNECT DUE TO SL
            uiTableSize += 1;
            //SL CURRENT DEMAND VALUE
            uiTableSize += 4;
            //SL CURRENT DEMAND VALUE
            uiTableSize += 4;

            return(uiTableSize);
        }
示例#4
0
        /// <summary>
        /// Returns the size of table 2408 based on the values in table 0
        /// </summary>
        /// <param name="Table0">The Table 0 object.</param>
        /// <returns>The size of table 2408.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        private static uint DetermineTableSize(CTable00 Table0)
        {
            uint uiTableSize = TABLE_61_HEADER_SIZE + 1;

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set1) == true)
            {
                // Table Set 1 is used
                uiTableSize += TABLE_61_SET_INFO_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set2) == true)
            {
                // Table Set 2 is used
                uiTableSize += TABLE_61_SET_INFO_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set3) == true)
            {
                // Table Set 3 is used
                uiTableSize += TABLE_61_SET_INFO_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set4) == true)
            {
                // Table Set 4 is used
                uiTableSize += TABLE_61_SET_INFO_SIZE;
            }

            return(uiTableSize);
        }
示例#5
0
        /// <summary>
        /// Determines the size of table 93
        /// </summary>
        /// <param name="table00">Standard Table 0 object for the current device.</param>
        /// <param name="table91">Standard Table 91 object for the current device.</param>
        /// <returns>The size of the table in bytes.</returns>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  02/14/07 RCG 8.00.12        Created

        private static uint DetermineTableSize(CTable00 table00, StdTable91 table91)
        {
            uint uiTableSize     = 0;
            uint uiWindowRcdSize = 0;

            // If the Bit Rate is set up to be seperately controlled this table will
            // contain the originate bit rate
            if (table91.BitRate == StdTable91.BitRateTypes.SeperatelyControlled)
            {
                // ORIGINATE_BIT_RATE : UINT32
                uiTableSize += 4;
            }

            // DIAL_DELAY : UINT8
            uiTableSize += 1;

            // Add in the Originate Phone Number record

            // PHONE_NUMBERS_RCD.PREFIX : ARRAY of CHAR
            uiTableSize += (uint)table91.PrefixLength;

            // PHONE_NUMBERS_RCD.NBR_ORIGINATE_NUMBERS : ARRAY of PHONE_NUMBER_RCD
            uiTableSize += (uint)(table91.NumberOfPhoneNumbers * table91.PhoneNumberLength);

            uiWindowRcdSize = WindowRcdSize(table00);

            // Add in the Originate Windows records

            // WINDOWS : ARRAY of WINDOW_RCD
            uiTableSize += (uint)table91.NumberOfOriginateWindows * uiWindowRcdSize;

            return(uiTableSize);
        }
示例#6
0
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="table0">The Table 0 object for the current device.</param>
        /// <param name="table2409">The Table 61 object for the current device.</param>
        /// <returns>The size of the table in bytes.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        private static uint DetermineTableSize(CTable00 table0, OpenWayMFGTable2409 table2409)
        {
            uint uiTableSize = 0;
            LPSetActualLimits SetLimits;

            if (table0.IsTableUsed((ushort)MFGLPDataSet.Set1))
            {
                SetLimits    = table2409.Set1ActualLimits;
                uiTableSize += LPSetDataSelection.Size(SetLimits.NumberOfChannels, SetLimits.IncludeScalarDivisor, true);
            }

            if (table0.IsTableUsed((ushort)MFGLPDataSet.Set2))
            {
                SetLimits    = table2409.Set2ActualLimits;
                uiTableSize += LPSetDataSelection.Size(SetLimits.NumberOfChannels, SetLimits.IncludeScalarDivisor, true);
            }

            if (table0.IsTableUsed((ushort)MFGLPDataSet.Set3))
            {
                SetLimits    = table2409.Set3ActualLimits;
                uiTableSize += LPSetDataSelection.Size(SetLimits.NumberOfChannels, SetLimits.IncludeScalarDivisor, true);
            }

            if (table0.IsTableUsed((ushort)MFGLPDataSet.Set4))
            {
                SetLimits    = table2409.Set4ActualLimits;
                uiTableSize += LPSetDataSelection.Size(SetLimits.NumberOfChannels, SetLimits.IncludeScalarDivisor, true);
            }

            return(uiTableSize);
        }
示例#7
0
        /// <summary>
        /// Returns the size of table 2408 based on the values in table 0
        /// </summary>
        /// <param name="Table0">The Table 0 object.</param>
        /// <returns>The size of table 2408.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        private static uint DetermineTableSize(CTable00 Table0)
        {
            uint uiTableSize = 0;

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set1) == true)
            {
                uiTableSize += LP_SET_STATUS_RECORD_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set2) == true)
            {
                uiTableSize += LP_SET_STATUS_RECORD_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set3) == true)
            {
                uiTableSize += LP_SET_STATUS_RECORD_SIZE;
            }

            if (Table0.IsTableUsed((ushort)MFGLPDataSet.Set4) == true)
            {
                uiTableSize += LP_SET_STATUS_RECORD_SIZE;
            }

            return(uiTableSize);
        }
示例#8
0
 /// <summary>
 /// Public Constructor to be used when creating this table.
 /// </summary>
 /// <param name="psem">The PSEM communications object for the current session.</param>
 /// <param name="table0">The table 0 object for the current device.</param>
 // Revision History
 // MM/DD/YY who Version Issue# Description
 // -------- --- ------- ------ ---------------------------------------
 // 02/06/12 MSC 2.53.36 N/A    Created
 public OpenWayMFGTable2417(CPSEM psem, CTable00 table0)
     : base(psem, 2417, TABLESIZE)
 {
     m_blnChannels = new bool[16];
     m_uiChannels  = 0;
     m_uiPhases    = 0;
 }
示例#9
0
        /// <summary>
        /// Gets the size of the table in bytes
        /// </summary>
        /// <param name="Table0">The table 0 object for the current meter</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  09/27/12 JKW 2.70.xx N/A    Created

        public static uint GetTableSize(CTable00 Table0)
        {
            //TYPE EXTENDED_FW_DL_STATUS_RCD = PACKED RECORD
            //  CRC_Status                : TEXT;
            //    Current_CRC_State       : UINT8 INDENT(4), ENUM(CURRENT_CRC_STATE_ENUM);
            //    Supplied_CRC_Value      : UINT16 INDENT(4);
            //    Calculated_CRC_Value    : UINT16 INDENT(4);

            //  Activation_Status         : TEXT NL_BEFORE;
            //    Activation_State        : UINT8 INDENT(4), ENUM(ACTIVATION_STATE_ENUM);
            //    Activation_Time         : STIME_DATE INDENT(4);

            //  Hash_Data                 : TEXT NL_BEFORE;
            //    Calculated_Hash_Code    : ARRAY[32] OF BYTE INDENT(4);

            //  For_future_needs          : TEXT NL_BEFORE;
            //    Unused                  : ARRAY[6] OF UINT8 INDENT(4);
            //END;

            uint uiTableSize = 6;

            uiTableSize += Table0.STIMESize;

            uiTableSize += 32;

            uiTableSize += 6;

            return(uiTableSize);
        }
示例#10
0
        /// <summary>
        /// Gets the size of the table in bytes
        /// </summary>
        /// <param name="Table0">The table 0 object for the current meter</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  09/22/10 RCG 2.44.04 N/A    Created

        public static uint GetTableSize(CTable00 Table0)
        {
            uint uiTableSize = 6;

            uiTableSize += Table0.LTIMESize;

            return(uiTableSize);
        }
示例#11
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="psem">The PSEM communications object for the current session.</param>
        /// <param name="Table0">The table 0 object for the current device.</param>
        /// <param name="Table21">The table 21 object for the current device.</param>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/14/10 SCW 9.70.18 N/A    Created for CENTRON II

        public MFGTable2053(CPSEM psem, CTable00 Table0, StdTable21 Table21)
            : base(psem, 2053, DetermineTableSize(Table0, Table21), TABLE_TIMEOUT)
        {
            m_Table0  = Table0;
            m_Table21 = Table21;

            m_DemandResetRegisterData = null;
        }
示例#12
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="psem">The current PSEM communications object</param>
 /// <param name="Table0"></param>
 /// <param name="Table2368"></param>
 //  Revision History
 //  MM/DD/YY Who Version Issue# Description
 //  -------- --- ------- ------ -------------------------------------------
 //  06/07/11 jrf 2.51.10 173353 Created
 //
 public OpenWayMFGTable2370(CPSEM psem, CTable00 Table0, OpenWayMFGTable2368 Table2368)
     : base(psem, 2370, GetTableSize(Table0, Table2368), TABLE_TIMEOUT)
 {
     m_iTimeFormat = Table0.TimeFormat;
     m_byPowerMonitorRecordsUsed = Table2368.PowerMonitorRecordsUsed;
     //Get the resource manager
     m_rmStrings = new ResourceManager(RESOURCE_FILE_PROJECT_STRINGS, this.GetType().Assembly);
 }
示例#13
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="psem">The PSEM object for the current session.</param>
        /// <param name="table00">The Table 0 object for the current device.</param>
        /// <param name="table91">The Table 91 object for the current device.</param>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  02/14/07 RCG 8.00.12        Created

        public StdTable93(CPSEM psem, CTable00 table00, StdTable91 table91)
            : base(psem, 93, StdTable93.DetermineTableSize(table00, table91))
        {
            m_Table00 = table00;
            m_Table91 = table91;

            // Determine the size of the WINDOW_RCD record
            m_uiWindowRcdSize = table00.STIMESize * 2 + 1;
        }
示例#14
0
        /// <summary>
        /// Gets the size of the table.
        /// </summary>
        /// <param name="Table0">The table object for table 0.</param>
        /// <returns>The size of the table in bytes.</returns>
        // MM/DD/YY who Version ID Number Description
        // -------- --- ------- -- ------ -------------------------------------------
        // 10/12/06 RCG 7.35.00    N/A    Created
        // 07/18/13 jrf 2.80.54 WR 411418 Made protected.
        //
        protected static uint GetTableSize(CTable00 Table0)
        {
            uint uiSize = 0;

            uiSize += Table0.LTIMESize; // CLOCK_CALENDAR
            uiSize += 1;                // TIME_DATE_QUAL

            return(uiSize);
        }
示例#15
0
        /// <summary>
        /// Constructor used by EDL File
        /// </summary>
        /// <param name="reader">The binary reader that contains the table data</param>
        /// <param name="table0">The table 0 object</param>
        /// <param name="table21">The table 21 object</param>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/14/10 SCW 9.70.18 N/A    Created for CENTRON II

        public MFGTable2053(PSEMBinaryReader reader, CTable00 table0, StdTable21 table21)
            : base(25, DetermineTableSize(table0, table21))
        {
            State     = TableState.Loaded;
            m_Reader  = reader;
            m_Table21 = table21;
            m_Table0  = table0;
            ParseData();
        }
示例#16
0
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table0">The Table 0 object for the current device.</param>
        /// <param name="table2409">The Table 61 object for the current device.</param>
        /// <param name="table2410"> The Table 62 object for the current device</param>
        /// <returns>The size of the table in bytes.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        private static uint DetermineTableSize(CTable00 Table0, OpenWayMFGTable2409 table2409, OpenWayMFGTable2410 table2410)
        {
            uint uiTableSize = 0;

            uiTableSize += table2409.Set4ActualLimits.NumberOfBlocks
                           * LPBlockDataRecord.Size(Table0, table2409, table2410, LPDataSet.Set4);

            return(uiTableSize);
        }
示例#17
0
 /// <summary>
 /// Constructor used to get Data from the EDL file
 /// </summary>
 /// <param name="reader"></param>
 /// <param name="Table0"></param>
 /// <param name="Table2368"></param>
 //  Revision History
 //  MM/DD/YY Who Version Issue# Description
 //  -------- --- ------- ------ -------------------------------------------
 //  06/07/11 jrf 2.51.10 173353 Created
 //
 public OpenWayMFGTable2370(PSEMBinaryReader reader, CTable00 Table0, OpenWayMFGTable2368 Table2368)
     : base(2370, GetTableSize(Table0, Table2368))
 {
     m_rmStrings   = new ResourceManager(RESOURCE_FILE_PROJECT_STRINGS, this.GetType().Assembly);
     m_iTimeFormat = Table0.TimeFormat;
     m_byPowerMonitorRecordsUsed = Table2368.PowerMonitorRecordsUsed;
     m_Reader = reader;
     ParseData();
     m_TableState = TableState.Loaded;
 }
        /// <summary>
        /// Constructor used by EDL File
        /// </summary>
        /// <param name="binaryReader">The binary reader containing the table data.</param>
        ///  <param name="table2379">The Table 2379 object for the current meter</param>
        /// <param name="table0">That Table 0 object for the current meter</param>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  08/08/11 MMD                 Created

        public OpenWayMFGTable2382(PSEMBinaryReader binaryReader, OpenWayMFGTable2379 table2379, CTable00 table0)
            : base(2379, GetTableSize(table2379, table0))
        {
            m_Table2379 = table2379;
            m_Table0    = table0;

            m_TableState = TableState.Loaded;
            m_Reader     = binaryReader;
            ParseData();
        }
示例#19
0
        /// <summary>
        /// Gets the size of the table in bytes.
        /// </summary>
        /// <param name="Table0">The table 0 object for the current device</param>
        /// <param name="Table2368">The table 2368 object for the current device</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  06/07/11 jrf 2.51.10 173353 Created
        //
        private static uint GetTableSize(CTable00 Table0, OpenWayMFGTable2368 Table2368)
        {
            uint uiNumberRecords = Table2368.PowerMonitorRecordsUsed;

            if (NUMBER_OF_MONOPHASE_RECORDS != uiNumberRecords)
            {
                uiNumberRecords = NUMBER_OF_POLYPHASE_RECORDS;
            }

            return((8 + Table0.STIMESize) * uiNumberRecords);
        }
        /// <summary>
        /// Gets the size of the table
        /// </summary>
        /// <param name="table2379">The Actual FW Download Log Table for the current meter.</param>
        /// <param name="table0">That Table 0 object for the current meter</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  08/08/11 MMD                 Created
        //  05/07/15 jrf 4.20.05 583950  Updated to retrieve the FWDL event log entry count from
        //                               the Actual FW Download Log Table (2379)
        private static uint GetTableSize(OpenWayMFGTable2379 table2379, CTable00 table0)
        {
            uint TableSize = 11;

            if (table2379 != null)
            {
                TableSize += table2379.FWDownloadEntryCount * FWDownloadLogEvent.GetEntrySize(table2379, table0.LTIMESize);
            }

            return(TableSize);
        }
示例#21
0
        /// <summary>
        /// Gets the size of the table in bytes.
        /// </summary>
        /// <param name="Table0">The Table 0 object.</param>
        /// <param name="Table51">The Table 51 object.</param>
        /// <returns>The size of the table in bytes.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ -------------------------------------------
        // 10/12/06 RCG 7.35.00 N/A    Created

        private static uint GetTableSize(CTable00 Table0, StdTable51 Table51)
        {
            uint uiSize = 0;

            // DST_TIME_EFF
            uiSize += Table0.TIMESize;
            // DST_TIME_AMT
            uiSize += 1;

            if (Table51.IsTimeZoneAvailable == true)
            {
                // TIME_ZONE_OFFSET
                uiSize += 2;
            }

            return(uiSize);
        }
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table00">Table 0 object for the current device.</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  05/06/08 RCG 1.50.22 N/A    Created

        public static uint GetTableSize(CTable00 Table00)
        {
            uint uiTableSize = 0;

            // SWITCH_STATUS_FLAG
            uiTableSize += 1;
            // REMAINING_DAILY_SWITCHED
            uiTableSize += 1;
            // ACTIVE_THRESHOLD
            uiTableSize += 1;
            // REMAING_TIME_IN_ACTIVE_TIER
            uiTableSize += Table00.TIMESize;
            // RAMAING_TIME_FOR_SWITCH_OPEN
            uiTableSize += Table00.TIMESize;

            return(uiTableSize);
        }
示例#23
0
        /// <summary>
        /// Determines the size of a Window record field
        /// </summary>
        /// <param name="table00">The table 0 object for the current device.</param>
        /// <returns>The size in bytes of the Window record.</returns>
        //  Revision History
        //  MM/DD/YY Who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------------
        //  02/21/07 RCG 8.00.12        Created

        public static uint WindowRcdSize(CTable00 table00)
        {
            uint uiWindowRcdSize = 0;

            // Determine the size of the WINDOW_RCD

            // BEGIN_WINDOW_TIME : STIME
            uiWindowRcdSize += table00.STIMESize;

            // WINDOW_DURATION : STIME
            uiWindowRcdSize += table00.STIMESize;

            // WINDOW_DAYS : DAYS_BFLD (UINT8)
            uiWindowRcdSize += 1;

            return(uiWindowRcdSize);
        }
示例#24
0
        /// <summary>
        /// Determines the size of the table.
        /// </summary>
        /// <param name="Table0">Table 0 object for the current device.</param>
        /// <returns>The size of the table in bytes</returns>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ -------------------------------------------
        //  05/05/08 RCG 1.50.22 N/A    Created

        public static uint GetTableSize(CTable00 Table0)
        {
            uint uiTableSize = 0;

            // We are going to assume that ID Format is always Char rather than BCD
            // METER_SN is ARRAY[16] OF CHAR
            uiTableSize += 16;
            // CUSTOMER_SN is ARRAY[20] OF CHAR
            uiTableSize += 20;
            // WATT_HOURS is NI_FMAT1 (FLOAT64)
            uiTableSize += 8;
            // WATT_DEMAND is NI_FMAT2 (FLOAT32)
            uiTableSize += 4;
            // TIME_STAMP is STIME_DATE
            uiTableSize += Table0.STIMESize;

            return(uiTableSize);
        }
示例#25
0
        /// <summary>
        /// Calculates the size in bytes of standard table 95
        /// </summary>
        /// <param name="table00">The table 0 object for the current device.</param>
        /// <param name="table91">The table 91 object for the current device.</param>
        /// <returns>The size of the table in bytes.</returns>

        private static uint DetermineTableSize(CTable00 table00, StdTable91 table91)
        {
            uint uiTableSize = 0;

            // If the bit rate is set up to be seperately controlled then this
            // table will contain the answer baud rate
            if (table91.BitRate == StdTable91.BitRateTypes.SeperatelyControlled)
            {
                // ANSWER_BIT_RATE : UINT32
                uiTableSize += 4;
            }

            // If the meter supports lockout parameters we need to include the lockout
            // parameters. Notice the flag is true if there are no parameters and false
            // if there are lockout parameters.
            if (table91.NoLockoutParameters == false)
            {
                // LOCKOUT_DELAY        : UINT8
                // RETRY_ATTEMPTS       : UINT8
                // RETRY_LOCKOUT_TIME   : UINT8
                uiTableSize += 3;
            }

            // NBR_RINGS : UINT8
            uiTableSize += 1;

            // If the number of answer windows is greater than zero then the meter contains
            // the field for rings outside of the call window
            if (table91.NumberOfAnswerWindows > 0)
            {
                // NBR_RINGS_OUTSIDE : UINT8
                uiTableSize += 1;
            }

            // CALLER_IDS : ARRAY of CALLER_ID_RCD
            uiTableSize += (uint)(table91.NumberOfCallerIDs * table91.CallerIDLength);

            // WINDOWS : ARRAY of WINDOW_RCD
            uiTableSize += (uint)(table91.NumberOfAnswerWindows * StdTable93.WindowRcdSize(table00));

            return(uiTableSize);
        }
示例#26
0
        /// <summary>
        /// Determines that size of the table.
        /// </summary>
        /// <param name="Table0">The table 0 object for the current device.</param>
        /// <param name="Table21">The table 21 object for the current device.</param>
        /// <returns>The size of the table in bytes.</returns>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/14/10 SCW 9.70.18 N/A    Created for CENTRON II

        private static uint DetermineTableSize(CTable00 Table0, StdTable21 Table21)
        {
            uint uiTableSize = 0;

            // End Time
            if (Table21.IncludeDateTime)
            {
                uiTableSize += Table0.STIMESize;
            }

            // Season index
            if (Table21.IncludeSeasonInfo)
            {
                uiTableSize += 1;
            }

            // Demand Reset Data
            uiTableSize += RegisterDataRecord.Size(Table0, Table21);

            return(uiTableSize);
        }
示例#27
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="psem">The PSEM Communications object for the current session</param>
        /// <param name="table0">The Table 0 object for the current device</param>
        /// <param name="table2409">The Table 2408 object for the current device</param>
        /// <param name="Table2392">The Table 2392 object for the current device</param>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        public OpenWayMFGTable2410(CPSEM psem, CTable00 table0, OpenWayMFGTable2409 table2409, OpenWayMFGTable2392 Table2392)
            : base(psem, table0, table2409, Table2392, 2410, DetermineTableSize(table0, table2409))
        {
            // This table uses a two byte format so we need to make sure this is set in order to read the table properly.
            m_UsesTwoByteFormat = true;
        }
示例#28
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="psem">The PSEM Communications object for the current session</param>
        /// <param name="table0">The Table 0 object for the current device</param>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        public OpenWayMFGTable2409(CPSEM psem, CTable00 table0)
            : base(psem, table0, 2409, DetermineTableSize(table0))
        {
        }
示例#29
0
        /// <summary>
        /// Public Constructor to be used when creating this table.
        /// </summary>
        /// <param name="psem">The PSEM communications object for the current session.</param>
        /// <param name="table0">The table 0 object for the current device.</param>
        /// <param name="table2409">The table 61 object for the current device.</param>
        /// <param name="table2410">The table 62 object for the current device.</param>
        // Revision History
        // MM/DD/YY who Version Issue# Description
        // -------- --- ------- ------ ---------------------------------------
        // 12/06/11 RCG 2.53.14 N/A    Created

        public OpenWayMFGTable2415(CPSEM psem, CTable00 table0, OpenWayMFGTable2409 table2409, OpenWayMFGTable2410 table2410)
            : base(psem, 2415, DetermineTableSize(table0, table2409, table2410), table0, table2409, table2410, LPDataSet.Set4)
        {
        }
示例#30
0
 /// <summary>
 /// Mfg Table 21 (2069) - This table defines the layout of the VQ
 /// tables in this meter.
 /// </summary>
 /// <param name="psem">The PSEM communications object.</param>
 /// <param name="Table0">The table 0 object.</param>
 // Revision History
 // MM/DD/YY who Version Issue# Description
 // -------- --- ------- ------ ---------------------------------------
 // 02/12/07 mcm 8.0.11  N/A    Created
 public MfgActualPowerQuality(CPSEM psem, CTable00 Table0)
     : base(psem, 2069, SIZE_OF_TABLE_2069)
 {
     m_Table0 = Table0;
 }