diff --git a/docs/Arduino/memories-of-an-arduino.pdf b/docs/Arduino/memories-of-an-arduino.pdf new file mode 100644 index 0000000..b6ac4cd Binary files /dev/null and b/docs/Arduino/memories-of-an-arduino.pdf differ diff --git a/docs/PowerLogic-PM8000/genreg/PM8000_Modbus_Map_ad.h b/docs/PowerLogic-PM8000/genreg/PM8000_Modbus_Map_ad.h index d68df3c..d70d55a 100644 --- a/docs/PowerLogic-PM8000/genreg/PM8000_Modbus_Map_ad.h +++ b/docs/PowerLogic-PM8000/genreg/PM8000_Modbus_Map_ad.h @@ -7,11 +7,15 @@ struct RegisterMap }; const PROGMEM RegisterMap registers[] = { - { 1837, 1} , // Name: Year (Year) - [1837,1] as INT16U + { 30, 5} , // Name: Meter Name (DeviceName) - [30,20] as UTF8 + { 50, 5} , // Name: Meter Model (DeviceType) - [50,20] as UTF8 + { 1717, 5} , // Name: Current Version (Revision) - [1717,6] as UTF8 + { 1837, 1} , // Name: Year (Year) - [1837,1] as INT16U { 1838, 1} , // Name: Month (Month) - [1838,1] as INT16U { 1839, 1} , // Name: Day (Day) - [1839,1] as INT16U { 1840, 1} , // Name: Hour (Hour) - [1840,1] as INT16U { 1841, 1} , // Name: Minute (Minute) - [1841,1] as INT16U + { 1844, 1} , // Name: Day of Week (Day Of Week) - [1844,1] as INT16U { 2700, 2} , // Name: Active Energy Delivered (Into Load) (kWh del) - [2700,2] as FLOAT32 { 2702, 2} , // Name: Active Energy Received (Out of Load) (kWh rec) - [2702,2] as FLOAT32 { 2704, 2} , // Name: Active Energy Delivered + Received (kWh del+rec) - [2704,2] as FLOAT32 @@ -63,12 +67,18 @@ const PROGMEM RegisterMap registers[] = { { 2806, 2} , // Name: Reactive Energy Received Interval (kVARh rec int) - [2806,2] as FLOAT32 { 2808, 2} , // Name: Apparent Energy Delivered Interval (kVAh del int) - [2808,2] as FLOAT32 { 2810, 2} , // Name: Apparent Energy Received Interval (kVAh rec int) - [2810,2] as FLOAT32 + { 2830, 2} , // Name: Input Metering Accumulation Channel 01 (IM1 Consumption) - [2830,2] as FLOAT32 + { 2832, 2} , // Name: Input Metering Accumulation Channel 02 (IM2 Consumption) - [2832,2] as FLOAT32 + { 2834, 2} , // Name: Input Metering Accumulation Channel 03 (IM3 Consumption) - [2834,2] as FLOAT32 + { 2836, 2} , // Name: Input Metering Accumulation Channel 04 (IM4 Consumption) - [2836,2] as FLOAT32 + { 2838, 2} , // Name: Input Metering Accumulation Channel 05 (IM5 Consumption) - [2838,2] as FLOAT32 { 3000, 2} , // Name: Current A (I a) - [3000,2] as FLOAT32 { 3002, 2} , // Name: Current B (I b) - [3002,2] as FLOAT32 { 3004, 2} , // Name: Current C (I c) - [3004,2] as FLOAT32 { 3006, 2} , // Name: Current N (I 4) - [3006,2] as FLOAT32 { 3008, 2} , // Name: Current G (I 5) - [3008,2] as FLOAT32 { 3010, 2} , // Name: Current Avg (I avg) - [3010,2] as FLOAT32 + { 3018, 2} , // Name: Current Unbalance Worst (I unbal) - [3018,2] as FLOAT32 { 3020, 2} , // Name: Voltage A-B (Vll ab) - [3020,2] as FLOAT32 { 3022, 2} , // Name: Voltage B-C (Vll bc) - [3022,2] as FLOAT32 { 3024, 2} , // Name: Voltage C-A (Vll ca) - [3024,2] as FLOAT32 @@ -77,6 +87,7 @@ const PROGMEM RegisterMap registers[] = { { 3030, 2} , // Name: Voltage B-N (Vln b) - [3030,2] as FLOAT32 { 3032, 2} , // Name: Voltage C-N (Vln c) - [3032,2] as FLOAT32 { 3036, 2} , // Name: Voltage L-N Avg (Vln avg) - [3036,2] as FLOAT32 + { 3052, 2} , // Name: Voltage Unbalance L-N Worst (V unbal) - [3052,2] as FLOAT32 { 3054, 2} , // Name: Active Power A (kW a) - [3054,2] as FLOAT32 { 3056, 2} , // Name: Active Power B (kW b) - [3056,2] as FLOAT32 { 3058, 2} , // Name: Active Power C (kW c) - [3058,2] as FLOAT32 @@ -90,6 +101,31 @@ const PROGMEM RegisterMap registers[] = { { 3074, 2} , // Name: Apparent Power C (kVA c) - [3074,2] as FLOAT32 { 3076, 2} , // Name: Apparent Power Total (kVA tot) - [3076,2] as FLOAT32 { 3110, 2} , // Name: Frequency (Freq) - [3110,2] as FLOAT32 + { 3112, 2} , // Name: Input Metering Rate Channel 01 (IM1 Rate) - [3112,2] as FLOAT32 + { 3114, 2} , // Name: Input Metering Rate Channel 02 (IM2 Rate) - [3114,2] as FLOAT32 + { 3116, 2} , // Name: Input Metering Rate Channel 03 (IM3 Rate) - [3116,2] as FLOAT32 + { 3118, 2} , // Name: Input Metering Rate Channel 04 (IM4 Rate) - [3118,2] as FLOAT32 + { 3120, 2} , // Name: Input Metering Rate Channel 05 (IM5 Rate) - [3120,2] as FLOAT32 + { 3136, 2} , // Name: Current Capacity A (I a capacity) - [3136,2] as FLOAT32 + { 3138, 2} , // Name: Current Capacity B (I b capacity) - [3138,2] as FLOAT32 + { 3140, 2} , // Name: Current Capacity C (I c capacity) - [3140,2] as FLOAT32 + { 3142, 2} , // Name: Current Capacity avg (I avg capacity) - [3142,2] as FLOAT32 + { 3144, 2} , // Name: Power Factor A (PF sign a) - [3144,2] as FLOAT32 + { 3146, 2} , // Name: Power Factor B (PF sign b) - [3146,2] as FLOAT32 + { 3148, 2} , // Name: Power Factor C (PF sign c) - [3148,2] as FLOAT32 + { 3150, 2} , // Name: Power Factor Total (PF sign tot) - [3150,2] as FLOAT32 + { 3152, 2} , // Name: Displacement Power Factor A (Dsplcmnt PF 1) - [3152,2] as FLOAT32 + { 3154, 2} , // Name: Displacement Power Factor B (Dsplcmnt PF 2) - [3154,2] as FLOAT32 + { 3156, 2} , // Name: Displacement Power Factor C (Dsplcmnt PF 3) - [3156,2] as FLOAT32 + { 3158, 2} , // Name: Displacement Power Factor Total (Dsplcmnt PF tot) - [3158,2] as FLOAT32 + { 3160, 2} , // Name: Power Factor A Lagging (PF lag a) - [3160,2] as FLOAT32 + { 3162, 2} , // Name: Power Factor A Leading (PF lead a) - [3162,2] as FLOAT32 + { 3164, 2} , // Name: Power Factor B Lagging (PF lag b) - [3164,2] as FLOAT32 + { 3166, 2} , // Name: Power Factor B Leading (PF lead b) - [3166,2] as FLOAT32 + { 3168, 2} , // Name: Power Factor C Lagging (PF lag c) - [3168,2] as FLOAT32 + { 3170, 2} , // Name: Power Factor C Leading (PF lead c) - [3170,2] as FLOAT32 + { 3172, 2} , // Name: Power Factor Lagging (PF lag tot) - [3172,2] as FLOAT32 + { 3174, 2} , // Name: Power Factor Leading (PF lead tot) - [3174,2] as FLOAT32 { 3204, 3} , // Name: Active Energy Delivered (Into Load) (kWh del) - [3204,4] as INT64 { 3208, 3} , // Name: Active Energy Received (Out of Load) (kWh rec) - [3208,4] as INT64 { 3212, 3} , // Name: Active Energy Delivered + Received (kWh del+rec) - [3212,4] as INT64 @@ -141,6 +177,11 @@ const PROGMEM RegisterMap registers[] = { { 3482, 3} , // Name: Reactive Energy Received Interval (kVARh rec int) - [3482,4] as INT64 { 3486, 3} , // Name: Apparent Energy Delivered Interval (kVAh del int) - [3486,4] as INT64 { 3490, 3} , // Name: Apparent Energy Received Interval (kVAh rec int) - [3490,4] as INT64 + { 3570, 3} , // Name: Input Metering Accumulation Channel 01 (IM1 Consumption) - [3570,4] as INT64 + { 3574, 3} , // Name: Input Metering Accumulation Channel 02 (IM2 Consumption) - [3574,4] as INT64 + { 3578, 3} , // Name: Input Metering Accumulation Channel 03 (IM3 Consumption) - [3578,4] as INT64 + { 3582, 3} , // Name: Input Metering Accumulation Channel 04 (IM4 Consumption) - [3582,4] as INT64 + { 3602, 3} , // Name: Input Metering Accumulation Channel 05 (IM5 Consumption) - [3602,4] as INT64 { 3650, 2} , // Name: Current A Squared Hours (MU Ia^2h) - [3650,2] as FLOAT32 { 3652, 2} , // Name: Current B Square Hours (MU Ib^2h) - [3652,2] as FLOAT32 { 3654, 2} , // Name: Current C Square Hours (MU Ic^2h) - [3654,2] as FLOAT32 @@ -204,14 +245,75 @@ const PROGMEM RegisterMap registers[] = { { 4882, 2} , // Name: Apparent Energy Received Rate 2 (kVAh rec B) - [4882,2] as FLOAT32 { 4884, 2} , // Name: Apparent Energy Received Rate 3 (kVAh rec C) - [4884,2] as FLOAT32 { 4886, 2} , // Name: Apparent Energy Received Rate 4 (kVAh rec D) - [4886,2] as FLOAT32 + { 8915, 4} , // Name: Digital Input S1 Count (S1 Count) - [8915,2] as INT32U + { 8919, 4} , // Name: Digital Input S2 Count (S2 Count) - [8919,2] as INT32U + { 8923, 4} , // Name: Digital Input S3 Count (S3 Count) - [8923,2] as INT32U + { 9027, 4} , // Name: Digital Input A S1 Count (A S1 Count) - [9027,2] as INT32U + { 9029, 4} , // Name: Digital Input A S2 Count (A S2 Count) - [9029,2] as INT32U + { 9031, 4} , // Name: Digital Input A S3 Count (A S3 Count) - [9031,2] as INT32U + { 9033, 4} , // Name: Digital Input A S4 Count (A S4 Count) - [9033,2] as INT32U + { 9035, 4} , // Name: Digital Input A S5 Count (A S5 Count) - [9035,2] as INT32U + { 9037, 4} , // Name: Digital Input A S6 Count (A S6 Count) - [9037,2] as INT32U + { 9039, 4} , // Name: Digital Input B S1 Count (B S1 Count) - [9039,2] as INT32U + { 9041, 4} , // Name: Digital Input B S2 Count (B S2 Count) - [9041,2] as INT32U + { 9043, 4} , // Name: Digital Input B S3 Count (B S3 Count) - [9043,2] as INT32U + { 9045, 4} , // Name: Digital Input B S4 Count (B S4 Count) - [9045,2] as INT32U + { 9047, 4} , // Name: Digital Input B S5 Count (B S5 Count) - [9047,2] as INT32U + { 9049, 4} , // Name: Digital Input B S6 Count (B S6 Count) - [9049,2] as INT32U + { 9051, 4} , // Name: Digital Input C S1 Count (C S1 Count) - [9051,2] as INT32U + { 9053, 4} , // Name: Digital Input C S2 Count (C S2 Count) - [9053,2] as INT32U + { 9055, 4} , // Name: Digital Input C S3 Count (C S3 Count) - [9055,2] as INT32U + { 9057, 4} , // Name: Digital Input C S4 Count (C S4 Count) - [9057,2] as INT32U + { 9059, 4} , // Name: Digital Input C S5 Count (C S5 Count) - [9059,2] as INT32U + { 9061, 4} , // Name: Digital Input C S6 Count (C S6 Count) - [9061,2] as INT32U + { 9063, 4} , // Name: Digital Input D S1 Count (D S1 Count) - [9063,2] as INT32U + { 9065, 4} , // Name: Digital Input D S2 Count (D S2 Count) - [9065,2] as INT32U + { 9067, 4} , // Name: Digital Input D S3 Count (D S3 Count) - [9067,2] as INT32U + { 9069, 4} , // Name: Digital Input D S4 Count (D S4 Count) - [9069,2] as INT32U + { 9071, 4} , // Name: Digital Input D S5 Count (D S5 Count) - [9071,2] as INT32U + { 9073, 4} , // Name: Digital Input D S6 Count (D S6 Count) - [9073,2] as INT32U + { 10016, 2} , // Name: Analog input 1 Scaled Value (A A1 Scaled) - [10016,2] as FLOAT32 + { 10018, 2} , // Name: Analog input 2 Scaled Value (A A2 Scaled) - [10018,2] as FLOAT32 + { 10020, 2} , // Name: Analog input 3 Scaled Value (A A3 Scaled) - [10020,2] as FLOAT32 + { 10022, 2} , // Name: Analog input 4 Scaled Value (A A4 Scaled) - [10022,2] as FLOAT32 + { 10032, 2} , // Name: Analog input 1 Scaled Value (B A1 Scaled) - [10032,2] as FLOAT32 + { 10034, 2} , // Name: Analog input 2 Scaled Value (B A2 Scaled) - [10034,2] as FLOAT32 + { 10036, 2} , // Name: Analog input 3 Scaled Value (B A3 Scaled) - [10036,2] as FLOAT32 + { 10038, 2} , // Name: Analog input 4 Scaled Value (B A4 Scaled) - [10038,2] as FLOAT32 + { 10048, 2} , // Name: Analog input 1 Scaled Value (C A1 Scaled) - [10048,2] as FLOAT32 + { 10050, 2} , // Name: Analog input 2 Scaled Value (C A2 Scaled) - [10050,2] as FLOAT32 + { 10052, 2} , // Name: Analog input 3 Scaled Value (C A3 Scaled) - [10052,2] as FLOAT32 + { 10054, 2} , // Name: Analog input 4 Scaled Value (C A4 Scaled) - [10054,2] as FLOAT32 + { 10064, 2} , // Name: Analog input 1 Scaled Value (D A1 Scaled) - [10064,2] as FLOAT32 + { 10066, 2} , // Name: Analog input 2 Scaled Value (D A2 Scaled) - [10066,2] as FLOAT32 + { 10068, 2} , // Name: Analog input 3 Scaled Value (D A3 Scaled) - [10068,2] as FLOAT32 + { 10070, 2} , // Name: Analog input 4 Scaled Value (D A4 Scaled) - [10070,2] as FLOAT32 + { 10216, 2} , // Name: Analog output 1 Normalized Value (A Q1 Normalized) - [10216,2] as FLOAT32 + { 10218, 2} , // Name: Analog output 2 Normalized Value (A Q2 Normalized) - [10218,2] as FLOAT32 + { 10232, 2} , // Name: Analog output 1 Normalized Value (B Q1 Normalized) - [10232,2] as FLOAT32 + { 10234, 2} , // Name: Analog output 2 Normalized Value (B Q2 Normalized) - [10234,2] as FLOAT32 + { 10248, 2} , // Name: Analog output 1 Normalized Value (C Q1 Normalized) - [10248,2] as FLOAT32 + { 10250, 2} , // Name: Analog output 2 Normalized Value (C Q2 Normalized) - [10250,2] as FLOAT32 + { 10264, 2} , // Name: Analog output 1 Normalized Value (D Q1 Normalized) - [10264,2] as FLOAT32 + { 10266, 2} , // Name: Analog output 2 Normalized Value (D Q2 Normalized) - [10266,2] as FLOAT32 + { 13598, 4} , // Name: Current Disturbance (I Sg/Sw Count) - [13598,2] as INT32U + { 13600, 4} , // Name: Voltage Disturbance (V Sg/Sw Count) - [13600,2] as INT32U + { 14040, 4} , // Name: Over Current I4 (Over I 4) - [14040,2] as INT32U { 14045, 2} , // Name: Pickup Setpoint (Over I 4 High Limit) - [14045,2] as FLOAT32 { 14049, 2} , // Name: Dropout Setpoint (Over I 4 Low Limit) - [14049,2] as FLOAT32 + { 14320, 4} , // Name: Over Demand, Active Power, Last (Over kW sd) - [14320,2] as INT32U { 14325, 2} , // Name: Pickup Setpoint (Over kW sd High Limit) - [14325,2] as FLOAT32 { 14329, 2} , // Name: Dropout Setpoint (Over kW sd Low Limit) - [14329,2] as FLOAT32 + { 14520, 4} , // Name: Over Voltage Unbalance (Over V unbal) - [14520,2] as INT32U + { 14525, 2} , // Name: Pickup Setpoint (Over V unbal High Limit) - [14525,2] as FLOAT32 + { 14529, 2} , // Name: Dropout Setpoint (Over V unbal Low Limit) - [14529,2] as FLOAT32 + { 14580, 4} , // Name: Over Current A (Over I a) - [14580,2] as INT32U { 14585, 2} , // Name: Pickup Setpoint (Over I a High Limit) - [14585,2] as FLOAT32 { 14589, 2} , // Name: Dropout Setpoint (Over I a Low Limit) - [14589,2] as FLOAT32 + { 14600, 4} , // Name: Over Current B (Over I b) - [14600,2] as INT32U { 14605, 2} , // Name: Pickup Setpoint (Over I b High Limit) - [14605,2] as FLOAT32 { 14609, 2} , // Name: Dropout Setpoint (Over I b Low Limit) - [14609,2] as FLOAT32 + { 14620, 4} , // Name: Over Current C (Over I c) - [14620,2] as INT32U { 14625, 2} , // Name: Pickup Setpoint (Over I c High Limit) - [14625,2] as FLOAT32 { 14629, 2} , // Name: Dropout Setpoint (Over I c Low Limit) - [14629,2] as FLOAT32 { 21000, 2} , // Name: HS Current A (HS I a) - [21000,2] as FLOAT32 @@ -229,6 +331,8 @@ const PROGMEM RegisterMap registers[] = { { 21028, 2} , // Name: HS Voltage, B-N (HS Vln b) - [21028,2] as FLOAT32 { 21030, 2} , // Name: HS Voltage, C-N (HS Vln c) - [21030,2] as FLOAT32 { 21034, 2} , // Name: HS Voltage, L-N Average (HS Vln avg) - [21034,2] as FLOAT32 + { 21036, 2} , // Name: Current Unbalance Worst (HS I unbal) - [21036,2] as FLOAT32 + { 21038, 2} , // Name: Voltage Unbalance Worst (HS V unbal) - [21038,2] as FLOAT32 { 21040, 2} , // Name: HS Active Power A (HS kW a) - [21040,2] as FLOAT32 { 21042, 2} , // Name: HS Active Power B (HS kW b) - [21042,2] as FLOAT32 { 21044, 2} , // Name: HS Active Power C (HS kW c) - [21044,2] as FLOAT32 @@ -241,9 +345,61 @@ const PROGMEM RegisterMap registers[] = { { 21058, 2} , // Name: HS Apparent Power B (HS kVA b) - [21058,2] as FLOAT32 { 21060, 2} , // Name: HS Apparent Power C (HS kVA c) - [21060,2] as FLOAT32 { 21062, 2} , // Name: HS Apparent Power Total (HS kVA tot) - [21062,2] as FLOAT32 + { 21064, 2} , // Name: HS Power Factor A (HS PF sign a) - [21064,2] as FLOAT32 + { 21066, 2} , // Name: HS Power Factor B (HS PF sign b) - [21066,2] as FLOAT32 + { 21068, 2} , // Name: HS Power Factor C (HS PF sign c) - [21068,2] as FLOAT32 + { 21070, 2} , // Name: HS Power Factor Total (HS PF sign tot) - [21070,2] as FLOAT32 + { 21072, 2} , // Name: HS Power Factor A Lagging (HS PF lag a) - [21072,2] as FLOAT32 + { 21074, 2} , // Name: HS Power Factor A Leading (HS PF lead a) - [21074,2] as FLOAT32 + { 21076, 2} , // Name: HS Power Factor B Lagging (HS PF lag b) - [21076,2] as FLOAT32 + { 21078, 2} , // Name: HS Power Factor B Leading (HS PF lead b) - [21078,2] as FLOAT32 + { 21080, 2} , // Name: HS Power Factor C Lagging (HS PF lag c) - [21080,2] as FLOAT32 + { 21082, 2} , // Name: HS Power Factor C Leading (HS PF lead c) - [21082,2] as FLOAT32 + { 21084, 2} , // Name: HS Power Factor Lagging (HS PF lag tot) - [21084,2] as FLOAT32 + { 21086, 2} , // Name: HS Power Factor Leading (HS PF lead tot) - [21086,2] as FLOAT32 + { 21300, 2} , // Name: THD Current A (I1 THD 3s) - [21300,2] as FLOAT32 + { 21302, 2} , // Name: THD Current B (I2 THD 3s) - [21302,2] as FLOAT32 + { 21304, 2} , // Name: THD Current C (I3 THD 3s) - [21304,2] as FLOAT32 + { 21306, 2} , // Name: THD Current N (I4 THD 3s) - [21306,2] as FLOAT32 + { 21330, 2} , // Name: THD Voltage A-N (V1 THD 3s) - [21330,2] as FLOAT32 + { 21332, 2} , // Name: THD Voltage B-N (V2 THD 3s) - [21332,2] as FLOAT32 + { 21334, 2} , // Name: THD Voltage C-N (V3 THD 3s) - [21334,2] as FLOAT32 { 21358, 2} , // Name: K-Factor A (I1 K Factor) - [21358,2] as FLOAT32 { 21360, 2} , // Name: K-Factor B (I2 K Factor) - [21360,2] as FLOAT32 { 21362, 2} , // Name: K-Factor C (I3 K Factor) - [21362,2] as FLOAT32 + { 21364, 2} , // Name: Crest Factor A (I1 Crest Factor) - [21364,2] as FLOAT32 + { 21366, 2} , // Name: Crest Factor B (I2 Crest Factor) - [21366,2] as FLOAT32 + { 21368, 2} , // Name: Crest Factor C (I3 Crest Factor) - [21368,2] as FLOAT32 + { 21370, 2} , // Name: Crest Factor N (I4 Crest Factor) - [21370,2] as FLOAT32 + { 21432, 2} , // Name: Total Cap HD Current A (I1 Total Cap HD 3s) - [21432,2] as FLOAT32 + { 21434, 2} , // Name: Total Ind HD Current A (I1 Total Ind HD 3s) - [21434,2] as FLOAT32 + { 21436, 2} , // Name: Total Cap HD Current B (I2 Total Cap HD 3s) - [21436,2] as FLOAT32 + { 21438, 2} , // Name: Total Ind HD Current B (I2 Total Ind HD 3s) - [21438,2] as FLOAT32 + { 21440, 2} , // Name: Total Cap HD Current C (I3 Total Cap HD 3s) - [21440,2] as FLOAT32 + { 21442, 2} , // Name: Total Ind HD Current C (I3 Total Ind HD 3s) - [21442,2] as FLOAT32 + { 21444, 2} , // Name: Total Cap HD Current N (I4 Total Cap HD 3s) - [21444,2] as FLOAT32 + { 21446, 2} , // Name: Total Ind HD Current N (I4 Total Ind HD 3s) - [21446,2] as FLOAT32 + { 21452, 2} , // Name: Total Cap HD Voltage A (V1 Total Cap HD 3s) - [21452,2] as FLOAT32 + { 21454, 2} , // Name: Total Ind HD Voltage A (V1 Total Ind HD 3s) - [21454,2] as FLOAT32 + { 21456, 2} , // Name: Total Cap HD Voltage B (V2 Total Cap HD 3s) - [21456,2] as FLOAT32 + { 21458, 2} , // Name: Total Ind HD Voltage B (V2 Total Ind HD 3s) - [21458,2] as FLOAT32 + { 21460, 2} , // Name: Total Cap HD Voltage C (V3 Total Cap HD 3s) - [21460,2] as FLOAT32 + { 21462, 2} , // Name: Total Ind HD Voltage C (V3 Total Ind HD 3s) - [21462,2] as FLOAT32 + { 21464, 2} , // Name: Total Even HD Current A (I1 Total Even HD 3s) - [21464,2] as FLOAT32 + { 21466, 2} , // Name: Total Odd HD Current A (I1 Total Odd HD 3s) - [21466,2] as FLOAT32 + { 21468, 2} , // Name: Total Even HD Current B (I2 Total Even HD 3s) - [21468,2] as FLOAT32 + { 21470, 2} , // Name: Total Odd HD Current B (I2 Total Odd HD 3s) - [21470,2] as FLOAT32 + { 21472, 2} , // Name: Total Even HD Current C (I3 Total Even HD 3s) - [21472,2] as FLOAT32 + { 21474, 2} , // Name: Total Odd HD Current C (I3 Total Odd HD 3s) - [21474,2] as FLOAT32 + { 21476, 2} , // Name: Total Even HD Current N (I4 Total Even HD 3s) - [21476,2] as FLOAT32 + { 21478, 2} , // Name: Total Odd HD Current N (I4 Total Odd HD 3s) - [21478,2] as FLOAT32 + { 21484, 2} , // Name: Total Even HD Voltage A (V1 Total Even HD 3s) - [21484,2] as FLOAT32 + { 21486, 2} , // Name: Total Odd HD Voltage A (V1 Total Odd HD 3s) - [21486,2] as FLOAT32 + { 21488, 2} , // Name: Total Even HD Voltage B (V2 Total Even HD 3s) - [21488,2] as FLOAT32 + { 21490, 2} , // Name: Total Odd HD Voltage B (V2 Total Odd HD 3s) - [21490,2] as FLOAT32 + { 21492, 2} , // Name: Total Even HD Voltage C (V3 Total Even HD 3s) - [21492,2] as FLOAT32 + { 21494, 2} , // Name: Total Odd HD Voltage C (V3 Total Odd HD 3s) - [21494,2] as FLOAT32 + { 21678, 2} , // Name: K-Factor N (I4 K Factor) - [21678,2] as FLOAT32 { 27218, 2} , // Name: Min Current A (I a mn) - [27218,2] as FLOAT32 { 27220, 2} , // Name: Min Current B (I b mn) - [27220,2] as FLOAT32 { 27222, 2} , // Name: Min Current C (I c mn) - [27222,2] as FLOAT32 @@ -258,9 +414,19 @@ const PROGMEM RegisterMap registers[] = { { 27248, 2} , // Name: Min Voltage B-N (Vln b mn) - [27248,2] as FLOAT32 { 27250, 2} , // Name: Min Voltage C-N (Vln c mn) - [27250,2] as FLOAT32 { 27254, 2} , // Name: Min Voltage L-N Avg (Vln avg mn) - [27254,2] as FLOAT32 + { 27270, 2} , // Name: Min Voltage Unbalance L-N Worst (V unbal mn) - [27270,2] as FLOAT32 { 27278, 2} , // Name: Min Active Power Total (kW tot mn) - [27278,2] as FLOAT32 { 27286, 2} , // Name: Min Reactive Power Total (kVAR tot mn) - [27286,2] as FLOAT32 { 27294, 2} , // Name: Min Apparent Power Total (kVA tot mn) - [27294,2] as FLOAT32 + { 27322, 2} , // Name: Min Power Factor Lagging (PF lag mn) - [27322,2] as FLOAT32 + { 27324, 2} , // Name: Min Power Factor Leading (PF lead mn) - [27324,2] as FLOAT32 + { 27338, 2} , // Name: Min THD Current A (I1 THD mn) - [27338,2] as FLOAT32 + { 27340, 2} , // Name: Min THD Current B (I2 THD mn) - [27340,2] as FLOAT32 + { 27342, 2} , // Name: Min THD Current C (I3 THD mn) - [27342,2] as FLOAT32 + { 27344, 2} , // Name: Min THD Current N (I4 THD mn) - [27344,2] as FLOAT32 + { 27360, 2} , // Name: Min THD Voltage A-B (V1 THD mn) - [27360,2] as FLOAT32 + { 27362, 2} , // Name: Min THD Voltage B-C (V2 THD mn) - [27362,2] as FLOAT32 + { 27364, 2} , // Name: Min THD Voltage C-A (V3 THD mn) - [27364,2] as FLOAT32 { 27616, 2} , // Name: Min Frequency (Freq mn) - [27616,2] as FLOAT32 { 27644, 2} , // Name: Current A Low (I a low) - [27644,2] as FLOAT32 { 27646, 2} , // Name: Current B Low (I b low) - [27646,2] as FLOAT32 @@ -271,9 +437,12 @@ const PROGMEM RegisterMap registers[] = { { 27656, 2} , // Name: Voltage B-C Low (Vll bc low) - [27656,2] as FLOAT32 { 27658, 2} , // Name: Voltage C-A Low (Vll ca low) - [27658,2] as FLOAT32 { 27660, 2} , // Name: Voltage L-L Avg Low (Vll avg low) - [27660,2] as FLOAT32 + { 27670, 2} , // Name: Voltage Unbalance Low (V unbal low) - [27670,2] as FLOAT32 { 27672, 2} , // Name: Active Power Low (kW tot low) - [27672,2] as FLOAT32 { 27674, 2} , // Name: Reactive Power Low (kVAR tot low) - [27674,2] as FLOAT32 { 27676, 2} , // Name: Apparent Power Low (kVA tot low) - [27676,2] as FLOAT32 + { 27678, 2} , // Name: Power Factor Lagging Low (PF lag low) - [27678,2] as FLOAT32 + { 27680, 2} , // Name: Power Factor Leading Low (PF lead low) - [27680,2] as FLOAT32 { 27682, 2} , // Name: Frequency Low (Freq low) - [27682,2] as FLOAT32 { 27694, 2} , // Name: Max Current A (I a mx) - [27694,2] as FLOAT32 { 27696, 2} , // Name: Max Current B (I b mx) - [27696,2] as FLOAT32 @@ -289,9 +458,19 @@ const PROGMEM RegisterMap registers[] = { { 27724, 2} , // Name: Max Voltage B-N (Vln b mx) - [27724,2] as FLOAT32 { 27726, 2} , // Name: Max Voltage C-N (Vln c mx) - [27726,2] as FLOAT32 { 27730, 2} , // Name: Max Voltage L-N Avg (Vln avg mx) - [27730,2] as FLOAT32 + { 27746, 2} , // Name: Max Voltage Unbalance L-N Worst (V unbal mx) - [27746,2] as FLOAT32 { 27754, 2} , // Name: Max Active Power Total (kW tot mx) - [27754,2] as FLOAT32 { 27762, 2} , // Name: Max Reactive Power Total (kVAR tot mx) - [27762,2] as FLOAT32 { 27770, 2} , // Name: Max Apparent Power Total (kVA tot mx) - [27770,2] as FLOAT32 + { 27798, 2} , // Name: Max Power Factor Lagging (PF lag mx) - [27798,2] as FLOAT32 + { 27800, 2} , // Name: Max Power Factor Leading (PF lead mx) - [27800,2] as FLOAT32 + { 27814, 2} , // Name: Max THD Current A (I1 THD mx) - [27814,2] as FLOAT32 + { 27816, 2} , // Name: Max THD Current B (I2 THD mx) - [27816,2] as FLOAT32 + { 27818, 2} , // Name: Max THD Current C (I3 THD mx) - [27818,2] as FLOAT32 + { 27820, 2} , // Name: Max THD Current N (I4 THD mx) - [27820,2] as FLOAT32 + { 27844, 2} , // Name: Max THD Voltage A-N (V1 THD mx) - [27844,2] as FLOAT32 + { 27846, 2} , // Name: Max THD Voltage B-N (V2 THD mx) - [27846,2] as FLOAT32 + { 27848, 2} , // Name: Max THD Voltage C-N (V3 THD mx) - [27848,2] as FLOAT32 { 28092, 2} , // Name: Max Frequency (Freq mx) - [28092,2] as FLOAT32 { 28120, 2} , // Name: Current A High (I a high) - [28120,2] as FLOAT32 { 28122, 2} , // Name: Current B High (I b high) - [28122,2] as FLOAT32 @@ -302,10 +481,23 @@ const PROGMEM RegisterMap registers[] = { { 28132, 2} , // Name: Voltage B-C High (Vll bc high) - [28132,2] as FLOAT32 { 28134, 2} , // Name: Voltage C-A High (Vll ca high) - [28134,2] as FLOAT32 { 28136, 2} , // Name: Voltage L-L Avg High (Vll avg high) - [28136,2] as FLOAT32 + { 28146, 2} , // Name: Voltage Unbalance High (V unbal high) - [28146,2] as FLOAT32 + { 28148, 2} , // Name: THD Current A High (I1 THD high) - [28148,2] as FLOAT32 + { 28150, 2} , // Name: THD Current B High (I2 THD high) - [28150,2] as FLOAT32 + { 28152, 2} , // Name: THD Current C High (I3 THD high) - [28152,2] as FLOAT32 + { 28154, 2} , // Name: THD Current N High (I4 THD high) - [28154,2] as FLOAT32 + { 28156, 2} , // Name: THD Voltage V1 High (V1 THD high) - [28156,2] as FLOAT32 + { 28158, 2} , // Name: THD Voltage V2 High (V2 THD high) - [28158,2] as FLOAT32 + { 28160, 2} , // Name: THD Voltage V3 High (V3 THD high) - [28160,2] as FLOAT32 { 28162, 2} , // Name: Active Power High (kW tot high) - [28162,2] as FLOAT32 { 28164, 2} , // Name: Reactive Power High (kVAR tot high) - [28164,2] as FLOAT32 { 28166, 2} , // Name: Apparent Power High (kVA tot high) - [28166,2] as FLOAT32 + { 28168, 2} , // Name: Power Factor Lagging High (PF lag high) - [28168,2] as FLOAT32 + { 28170, 2} , // Name: Power Factor Leading High (PF lead high) - [28170,2] as FLOAT32 { 28172, 2} , // Name: Frequency High (Freq high) - [28172,2] as FLOAT32 + { 28174, 2} , // Name: Current A K Factor High (I1 K Fac high) - [28174,2] as FLOAT32 + { 28176, 2} , // Name: Current B K Factor High (I2 K Fac high) - [28176,2] as FLOAT32 + { 28178, 2} , // Name: Current C K Factor High (I3 K Fac high) - [28178,2] as FLOAT32 { 28180, 2} , // Name: Current A Mean (I a mean) - [28180,2] as FLOAT32 { 28182, 2} , // Name: Current B Mean (I b mean) - [28182,2] as FLOAT32 { 28184, 2} , // Name: Current C Mean (I c mean) - [28184,2] as FLOAT32 @@ -315,166 +507,328 @@ const PROGMEM RegisterMap registers[] = { { 28192, 2} , // Name: Voltage B-C Mean (Vll bc mean) - [28192,2] as FLOAT32 { 28194, 2} , // Name: Voltage C-A Mean (Vll ca mean) - [28194,2] as FLOAT32 { 28196, 2} , // Name: Voltage L-L Avg Mean (Vll avg mean) - [28196,2] as FLOAT32 + { 28206, 2} , // Name: Voltage Unbalance Mean (V unbal mean) - [28206,2] as FLOAT32 { 28208, 2} , // Name: Active Power Mean (kW tot mean) - [28208,2] as FLOAT32 { 28210, 2} , // Name: Reactive Power Mean (kVAR tot mean) - [28210,2] as FLOAT32 { 28212, 2} , // Name: Apparent Power Mean (kVA tot mean) - [28212,2] as FLOAT32 + { 28214, 2} , // Name: Power Factor Lagging Mean (PF lag mean) - [28214,2] as FLOAT32 + { 28216, 2} , // Name: Power Factor Leading Mean (PF lead mean) - [28216,2] as FLOAT32 { 28218, 2} , // Name: Frequency Mean (Freq mean) - [28218,2] as FLOAT32 + { 29881, 1} , // Name: Block Demand Current A # Subintervals (I a sd #SubIntvls) - [29881,1] as INT16U + { 29882, 1} , // Name: Block Demand Current A Pred Resp (I a sd Pred Resp) - [29882,1] as INT16U + { 29883, 1} , // Name: Block Demand Current A Update Rate (I a sd Update Rate) - [29883,1] as INT16U { 29884, 2} , // Name: Current A Last Demand (I a sd) - [29884,2] as FLOAT32 { 29886, 2} , // Name: Current A Predicted Demand (I a sd pred) - [29886,2] as FLOAT32 { 29888, 0} , // Name: Current A Peak Demand (I a sd mx) - [29888,6] as TIMESTAMPED_FLOAT32 + { 29895, 1} , // Name: Block Demand Current B # Subintervals (I b sd #SubIntvls) - [29895,1] as INT16U + { 29896, 1} , // Name: Block Demand Current B Pred Resp (I b sd Pred Resp) - [29896,1] as INT16U + { 29897, 1} , // Name: Block Demand Current B Update Rate (I b sd Update Rate) - [29897,1] as INT16U { 29898, 2} , // Name: Current B Last Demand (I b sd) - [29898,2] as FLOAT32 { 29900, 2} , // Name: Current B Predicted Demand (I b sd pred) - [29900,2] as FLOAT32 { 29902, 0} , // Name: Current B Peak Demand (I b sd mx) - [29902,6] as TIMESTAMPED_FLOAT32 + { 29909, 1} , // Name: Block Demand Current C # Subintervals (I c sd #SubIntvls) - [29909,1] as INT16U + { 29910, 1} , // Name: Block Demand Current C Pred Resp (I c sd Pred Resp) - [29910,1] as INT16U + { 29911, 1} , // Name: Block Demand Current C Update Rate (I c sd Update Rate) - [29911,1] as INT16U { 29912, 2} , // Name: Current C Last Demand (I c sd) - [29912,2] as FLOAT32 { 29914, 2} , // Name: Current C Predicted Demand (I c sd pred) - [29914,2] as FLOAT32 { 29916, 0} , // Name: Current C Peak Demand (I c sd mx) - [29916,6] as TIMESTAMPED_FLOAT32 + { 29923, 1} , // Name: Block Demand Current 4 # Subintervals (I 4 sd #SubIntvls) - [29923,1] as INT16U + { 29924, 1} , // Name: Block Demand Current 4 Pred Resp (I 4 sd Pred Resp) - [29924,1] as INT16U + { 29925, 1} , // Name: Block Demand Current 4 Update Rate (I 4 sd Update Rate) - [29925,1] as INT16U { 29926, 2} , // Name: Current 4 Last Demand (I 4 sd) - [29926,2] as FLOAT32 { 29928, 2} , // Name: Current 4 Predicted Demand (I 4 sd pred) - [29928,2] as FLOAT32 { 29930, 0} , // Name: Current 4 Peak Demand (I 4 sd mx) - [29930,6] as TIMESTAMPED_FLOAT32 + { 29937, 1} , // Name: Block Demand Current Avg # Subintervals (I avg sd #SubIntvls) - [29937,1] as INT16U + { 29938, 1} , // Name: Block Demand Current Avg Pred Resp (I avg sd Pred Resp) - [29938,1] as INT16U + { 29939, 1} , // Name: Block Demand Current Avg Update Rate (I avg sd Update Rate) - [29939,1] as INT16U { 29940, 2} , // Name: Current Avg Last Demand (I avg sd) - [29940,2] as FLOAT32 { 29942, 2} , // Name: Current Avg Predicted Demand (I avg sd pred) - [29942,2] as FLOAT32 { 29944, 0} , // Name: Current Avg Peak Demand (I avg sd mx) - [29944,6] as TIMESTAMPED_FLOAT32 + { 29951, 1} , // Name: Block Demand Active Power # Subintervals (kW sd d-r #SubIntvls) - [29951,1] as INT16U + { 29952, 1} , // Name: Block Demand Active Power Pred Resp (kW sd d-r Pred Resp) - [29952,1] as INT16U + { 29953, 1} , // Name: Block Demand Active Power Update Rate (kW sd d-r Update Rate) - [29953,1] as INT16U { 29954, 2} , // Name: Active Power Last Demand (kW sd del-rec) - [29954,2] as FLOAT32 { 29956, 2} , // Name: Active Power Predicted Demand (kW pr del-rec) - [29956,2] as FLOAT32 { 29958, 0} , // Name: Active Power Peak Demand (kW sd mx d-r) - [29958,6] as TIMESTAMPED_FLOAT32 + { 29965, 1} , // Name: Block Demand Active Power Del # Subintervals (kW sd del #SubIntvls) - [29965,1] as INT16U + { 29966, 1} , // Name: Block Demand Active Power Del Pred Resp (kW sd del Pred Resp) - [29966,1] as INT16U + { 29967, 1} , // Name: Block Demand Active Power Del Update Rate (kW sd del Update Rate) - [29967,1] as INT16U { 29968, 2} , // Name: Active Power Del Last Demand (kW sd del) - [29968,2] as FLOAT32 { 29970, 2} , // Name: Active Power Del Predicted Demand (kW pr del) - [29970,2] as FLOAT32 { 29972, 0} , // Name: Active Power Del Peak Demand (kW sd mx del) - [29972,6] as TIMESTAMPED_FLOAT32 + { 29979, 1} , // Name: Block Demand Active Power Rec # Subintervals (kW sd rec #SubIntvls) - [29979,1] as INT16U + { 29980, 1} , // Name: Block Demand Active Power Rec Pred Resp (kW sd rec Pred Resp) - [29980,1] as INT16U + { 29981, 1} , // Name: Block Demand Active Power Rec Update Rate (kW sd rec Update Rate) - [29981,1] as INT16U { 29982, 2} , // Name: Active Power Rec Last Demand (kW sd rec) - [29982,2] as FLOAT32 { 29984, 2} , // Name: Active Power Rec Predicted Demand (kW pr rec) - [29984,2] as FLOAT32 { 29986, 0} , // Name: Active Power Rec Peak Demand (kW sd mx rec) - [29986,6] as TIMESTAMPED_FLOAT32 + { 29993, 1} , // Name: Block Demand Active Power Total # Subintervals (kW sd d+r #SubIntvls) - [29993,1] as INT16U + { 29994, 1} , // Name: Block Demand Active Power Total Pred Resp (kW sd d+r Pred Resp) - [29994,1] as INT16U + { 29995, 1} , // Name: Block Demand Active Power Total Update Rate (kW sd d+r Update Rate) - [29995,1] as INT16U { 29996, 2} , // Name: Active Power Total Last Demand (kW sd del+rec) - [29996,2] as FLOAT32 { 29998, 2} , // Name: Active Power Total Predicted Demand (kW pr del+rec) - [29998,2] as FLOAT32 { 30000, 0} , // Name: Active Power Total Peak Demand (kW sd mx d+r) - [30000,6] as TIMESTAMPED_FLOAT32 + { 30007, 1} , // Name: Block Demand Reactive Power # Subintervals (kVAR sd d-r #SubIntvls) - [30007,1] as INT16U + { 30008, 1} , // Name: Block Demand Reactive Power Pred Resp (kVAR sd d-r Pred Resp) - [30008,1] as INT16U + { 30009, 1} , // Name: Block Demand Reactive Power Update Rate (kVAR sd d-r Update Rate) - [30009,1] as INT16U { 30010, 2} , // Name: Reactive Power Last Demand (kVAR sd del-rec) - [30010,2] as FLOAT32 { 30012, 2} , // Name: Reactive Power Predicted Demand (kVAR pr del-rec) - [30012,2] as FLOAT32 { 30014, 0} , // Name: Reactive Power Peak Demand (kVAR sd mx d-r) - [30014,6] as TIMESTAMPED_FLOAT32 + { 30021, 1} , // Name: Block Demand Reactive Power Del # Subintervals (kVAR sd del #SubIntvls) - [30021,1] as INT16U + { 30022, 1} , // Name: Block Demand Reactive Power Del Pred Resp (kVAR sd del Pred Resp) - [30022,1] as INT16U + { 30023, 1} , // Name: Block Demand Reactive Power Del Update Rate (kVAR sd del Update Rate) - [30023,1] as INT16U { 30024, 2} , // Name: Reactive Power Del Last Demand (kVAR sd del) - [30024,2] as FLOAT32 { 30026, 2} , // Name: Reactive Power Del Predicted Demand (kVAR pr del) - [30026,2] as FLOAT32 { 30028, 0} , // Name: Reactive Power Del Peak Demand (kVAR sd mx del) - [30028,6] as TIMESTAMPED_FLOAT32 + { 30035, 1} , // Name: Block Demand Reactive Power Rec # Subintervals (kVAR sd rec #SubIntvls) - [30035,1] as INT16U + { 30036, 1} , // Name: Block Demand Reactive Power Rec Pred Resp (kVAR sd rec Pred Resp) - [30036,1] as INT16U + { 30037, 1} , // Name: Block Demand Reactive Power Rec Update Rate (kVAR sd rec Update Rate) - [30037,1] as INT16U { 30038, 2} , // Name: Reactive Power Rec Last Demand (kVAR sd rec) - [30038,2] as FLOAT32 { 30040, 2} , // Name: Reactive Power Rec Predicted Demand (kVAR pr rec) - [30040,2] as FLOAT32 { 30042, 0} , // Name: Reactive Power Rec Peak Demand (kVAR sd mx rec) - [30042,6] as TIMESTAMPED_FLOAT32 + { 30049, 1} , // Name: Block Demand Reactive Power Total # Subintervals (kVAR sd d+r #SubIntvls) - [30049,1] as INT16U + { 30050, 1} , // Name: Block Demand Reactive Power Total Pred Resp (kVAR sd d+r Pred Resp) - [30050,1] as INT16U + { 30051, 1} , // Name: Block Demand Reactive Power Total Update Rate (kVAR sd d+r Update Rate) - [30051,1] as INT16U { 30052, 2} , // Name: Reactive Power Total Last Demand (kVAR sd del+rec) - [30052,2] as FLOAT32 { 30054, 2} , // Name: Reactive Power Total Predicted Demand (kVAR pr del+rec) - [30054,2] as FLOAT32 { 30056, 0} , // Name: Reactive Power Total Peak Demand (kVAR sd mx d+r) - [30056,6] as TIMESTAMPED_FLOAT32 + { 30063, 1} , // Name: Block Demand Apparent Power # Subintervals (kVA sd d-r #SubIntvls) - [30063,1] as INT16U + { 30064, 1} , // Name: Block Demand Apparent Power Pred Resp (kVA sd d-r Pred Resp) - [30064,1] as INT16U + { 30065, 1} , // Name: Block Demand Apparent Power Update Rate (kVA sd d-r Update Rate) - [30065,1] as INT16U { 30066, 2} , // Name: Apparent Power Last Demand (kVA sd del-rec) - [30066,2] as FLOAT32 { 30068, 2} , // Name: Apparent Power Predicted Demand (kVA pr del-rec) - [30068,2] as FLOAT32 { 30070, 0} , // Name: Apparent Power Peak Demand (kVA sd mx d-r) - [30070,6] as TIMESTAMPED_FLOAT32 + { 30077, 1} , // Name: Block Demand Apparent Power Del # Subintervals (kVA sd del #SubIntvls) - [30077,1] as INT16U + { 30078, 1} , // Name: Block Demand Apparent Power Del Pred Resp (kVA sd del Pred Resp) - [30078,1] as INT16U + { 30079, 1} , // Name: Block Demand Apparent Power Del Update Rate (kVA sd del Update Rate) - [30079,1] as INT16U { 30080, 2} , // Name: Apparent Power Del Last Demand (kVA sd del) - [30080,2] as FLOAT32 { 30082, 2} , // Name: Apparent Power Del Predicted Demand (kVA pr del) - [30082,2] as FLOAT32 { 30084, 0} , // Name: Apparent Power Del Peak Demand (kVA sd mx del) - [30084,6] as TIMESTAMPED_FLOAT32 + { 30091, 1} , // Name: Block Demand Apparent Power Rec # Subintervals (kVA sd rec #SubIntvls) - [30091,1] as INT16U + { 30092, 1} , // Name: Block Demand Apparent Power Rec Pred Resp (kVA sd rec Pred Resp) - [30092,1] as INT16U + { 30093, 1} , // Name: Block Demand Apparent Power Rec Update Rate (kVA sd rec Update Rate) - [30093,1] as INT16U { 30094, 2} , // Name: Apparent Power Rec Last Demand (kVA sd rec) - [30094,2] as FLOAT32 { 30096, 2} , // Name: Apparent Power Rec Predicted Demand (kVA pr rec) - [30096,2] as FLOAT32 { 30098, 0} , // Name: Apparent Power Rec Peak Demand (kVA sd mx rec) - [30098,6] as TIMESTAMPED_FLOAT32 + { 30105, 1} , // Name: Block Demand Apparent Power Total # Subintervals (kVA sd d+r #SubIntvls) - [30105,1] as INT16U + { 30106, 1} , // Name: Block Demand Apparent Power Total Pred Resp (kVA sd d+r Pred Resp) - [30106,1] as INT16U + { 30107, 1} , // Name: Block Demand Apparent Power Total Update Rate (kVA sd d+r Update Rate) - [30107,1] as INT16U { 30108, 2} , // Name: Apparent Power Total Last Demand (kVA sd del+rec) - [30108,2] as FLOAT32 { 30110, 2} , // Name: Apparent Power Total Predicted Demand (kVA pr del+rec) - [30110,2] as FLOAT32 { 30112, 0} , // Name: Apparent Power Total Peak Demand (kVA sd mx d+r) - [30112,6] as TIMESTAMPED_FLOAT32 + { 30219, 1} , // Name: Block Demand Active Power Del A # Subintervals (kW sd del A #SubIntvls) - [30219,1] as INT16U + { 30220, 1} , // Name: Block Demand Active Power Del A Pred Resp (kW sd del A Pred Resp) - [30220,1] as INT16U + { 30221, 1} , // Name: Block Demand Active Power Del A Update Rate (kW sd del A Update Rate) - [30221,1] as INT16U { 30222, 2} , // Name: Active Power Del A Last Demand (kW sd del A) - [30222,2] as FLOAT32 { 30224, 2} , // Name: Active Power Del A Predicted Demand (kW pr del A) - [30224,2] as FLOAT32 { 30226, 0} , // Name: Active Power Del A Peak Demand (kW sd mx del A) - [30226,6] as TIMESTAMPED_FLOAT32 + { 30233, 1} , // Name: Block Demand Active Power Del B # Subintervals (kW sd del B #SubIntvls) - [30233,1] as INT16U + { 30234, 1} , // Name: Block Demand Active Power Del B Pred Resp (kW sd del B Pred Resp) - [30234,1] as INT16U + { 30235, 1} , // Name: Block Demand Active Power Del B Update Rate (kW sd del B Update Rate) - [30235,1] as INT16U { 30236, 2} , // Name: Active Power Del B Last Demand (kW sd del B) - [30236,2] as FLOAT32 { 30238, 2} , // Name: Active Power Del B Predicted Demand (kW pr del B) - [30238,2] as FLOAT32 { 30240, 0} , // Name: Active Power Del B Peak Demand (kW sd mx del B) - [30240,6] as TIMESTAMPED_FLOAT32 + { 30247, 1} , // Name: Block Demand Active Power Del C # Subintervals (kW sd del C #SubIntvls) - [30247,1] as INT16U + { 30248, 1} , // Name: Block Demand Active Power Del C Pred Resp (kW sd del C Pred Resp) - [30248,1] as INT16U + { 30249, 1} , // Name: Block Demand Active Power Del C Update Rate (kW sd del C Update Rate) - [30249,1] as INT16U { 30250, 2} , // Name: Active Power Del C Last Demand (kW sd del C) - [30250,2] as FLOAT32 { 30252, 2} , // Name: Active Power Del C Predicted Demand (kW pr del C) - [30252,2] as FLOAT32 { 30254, 0} , // Name: Active Power Del C Peak Demand (kW sd mx del C) - [30254,6] as TIMESTAMPED_FLOAT32 + { 30261, 1} , // Name: Block Demand Active Power Del D # Subintervals (kW sd del D #SubIntvls) - [30261,1] as INT16U + { 30262, 1} , // Name: Block Demand Active Power Del D Pred Resp (kW sd del D Pred Resp) - [30262,1] as INT16U + { 30263, 1} , // Name: Block Demand Active Power Del D Update Rate (kW sd del D Update Rate) - [30263,1] as INT16U { 30264, 2} , // Name: Active Power Del D Last Demand (kW sd del D) - [30264,2] as FLOAT32 { 30266, 2} , // Name: Active Power Del D Predicted Demand (kW pr del D) - [30266,2] as FLOAT32 { 30268, 0} , // Name: Active Power Del D Peak Demand (kW sd mx del D) - [30268,6] as TIMESTAMPED_FLOAT32 + { 30275, 1} , // Name: Block Demand Active Power Rec A # Subintervals (kW sd rec A #SubIntvls) - [30275,1] as INT16U + { 30276, 1} , // Name: Block Demand Active Power Rec A Pred Resp (kW sd rec A Pred Resp) - [30276,1] as INT16U + { 30277, 1} , // Name: Block Demand Active Power Rec A Update Rate (kW sd rec A Update Rate) - [30277,1] as INT16U { 30278, 2} , // Name: Active Power Rec A Last Demand (kW sd rec A) - [30278,2] as FLOAT32 { 30280, 2} , // Name: Active Power Rec A Predicted Demand (kW pr rec A) - [30280,2] as FLOAT32 { 30282, 0} , // Name: Active Power Rec A Peak Demand (kW sd mx rec A) - [30282,6] as TIMESTAMPED_FLOAT32 + { 30289, 1} , // Name: Block Demand Active Power Rec B # Subintervals (kW sd rec B #SubIntvls) - [30289,1] as INT16U + { 30290, 1} , // Name: Block Demand Active Power Rec B Pred Resp (kW sd rec B Pred Resp) - [30290,1] as INT16U + { 30291, 1} , // Name: Block Demand Active Power Rec B Update Rate (kW sd rec B Update Rate) - [30291,1] as INT16U { 30292, 2} , // Name: Active Power Rec B Last Demand (kW sd rec B) - [30292,2] as FLOAT32 { 30294, 2} , // Name: Active Power Rec B Predicted Demand (kW pr rec B) - [30294,2] as FLOAT32 { 30296, 0} , // Name: Active Power Rec B Peak Demand (kW sd mx rec B) - [30296,6] as TIMESTAMPED_FLOAT32 + { 30303, 1} , // Name: Block Demand Active Power Rec C # Subintervals (kW sd rec C #SubIntvls) - [30303,1] as INT16U + { 30304, 1} , // Name: Block Demand Active Power Rec C Pred Resp (kW sd rec C Pred Resp) - [30304,1] as INT16U + { 30305, 1} , // Name: Block Demand Active Power Rec C Update Rate (kW sd rec C Update Rate) - [30305,1] as INT16U { 30306, 2} , // Name: Active Power Rec C Last Demand (kW sd rec C) - [30306,2] as FLOAT32 { 30308, 2} , // Name: Active Power Rec C Predicted Demand (kW pr rec C) - [30308,2] as FLOAT32 { 30310, 0} , // Name: Active Power Rec C Peak Demand (kW sd mx rec C) - [30310,6] as TIMESTAMPED_FLOAT32 + { 30317, 1} , // Name: Block Demand Active Power Rec D # Subintervals (kW sd rec D #SubIntvls) - [30317,1] as INT16U + { 30318, 1} , // Name: Block Demand Active Power Rec D Pred Resp (kW sd rec D Pred Resp) - [30318,1] as INT16U + { 30319, 1} , // Name: Block Demand Active Power Rec D Update Rate (kW sd rec D Update Rate) - [30319,1] as INT16U { 30320, 2} , // Name: Active Power Rec D Last Demand (kW sd rec D) - [30320,2] as FLOAT32 { 30322, 2} , // Name: Active Power Rec D Predicted Demand (kW pr rec D) - [30322,2] as FLOAT32 { 30324, 0} , // Name: Active Power Rec D Peak Demand (kW sd mx rec D) - [30324,6] as TIMESTAMPED_FLOAT32 + { 30331, 1} , // Name: Block Demand Reactive Power Del A # Subintervals (kVAR sd del A #SubIntvls) - [30331,1] as INT16U + { 30332, 1} , // Name: Block Demand Reactive Power Del A Pred Resp (kVAR sd del A Pred Resp) - [30332,1] as INT16U + { 30333, 1} , // Name: Block Demand Reactive Power Del A Update Rate (kVAR sd del A Update Rate) - [30333,1] as INT16U { 30334, 2} , // Name: Reactive Power Del A Last Demand (kVAR sd del A) - [30334,2] as FLOAT32 { 30336, 2} , // Name: Reactive Power Del A Predicted Demand (kVAR pr del A) - [30336,2] as FLOAT32 { 30338, 0} , // Name: Reactive Power Del A Peak Demand (kVAR sd mx d A) - [30338,6] as TIMESTAMPED_FLOAT32 + { 30345, 1} , // Name: Block Demand Reactive Power Del B # Subintervals (kVAR sd del B #SubIntvls) - [30345,1] as INT16U + { 30346, 1} , // Name: Block Demand Reactive Power Del B Pred Resp (kVAR sd del B Pred Resp) - [30346,1] as INT16U + { 30347, 1} , // Name: Block Demand Reactive Power Del B Update Rate (kVAR sd del B Update Rate) - [30347,1] as INT16U { 30348, 2} , // Name: Reactive Power Del B Last Demand (kVAR sd del B) - [30348,2] as FLOAT32 { 30350, 2} , // Name: Reactive Power Del B Predicted Demand (kVAR pr del B) - [30350,2] as FLOAT32 { 30352, 0} , // Name: Reactive Power Del B Peak Demand (kVAR sd mx d B) - [30352,6] as TIMESTAMPED_FLOAT32 + { 30359, 1} , // Name: Block Demand Reactive Power Del C # Subintervals (kVAR sd del C #SubIntvls) - [30359,1] as INT16U + { 30360, 1} , // Name: Block Demand Reactive Power Del C Pred Resp (kVAR sd del C Pred Resp) - [30360,1] as INT16U + { 30361, 1} , // Name: Block Demand Reactive Power Del C Update Rate (kVAR sd del C Update Rate) - [30361,1] as INT16U { 30362, 2} , // Name: Reactive Power Del C Last Demand (kVAR sd del C) - [30362,2] as FLOAT32 { 30364, 2} , // Name: Reactive Power Del C Predicted Demand (kVAR pr del C) - [30364,2] as FLOAT32 { 30366, 0} , // Name: Reactive Power Del C Peak Demand (kVAR sd mx d C) - [30366,6] as TIMESTAMPED_FLOAT32 + { 30373, 1} , // Name: Block Demand Reactive Power Del D # Subintervals (kVAR sd del D #SubIntvls) - [30373,1] as INT16U + { 30374, 1} , // Name: Block Demand Reactive Power Del D Pred Resp (kVAR sd del D Pred Resp) - [30374,1] as INT16U + { 30375, 1} , // Name: Block Demand Reactive Power Del D Update Rate (kVAR sd del D Update Rate) - [30375,1] as INT16U { 30376, 2} , // Name: Reactive Power Del D Last Demand (kVAR sd del D) - [30376,2] as FLOAT32 { 30378, 2} , // Name: Reactive Power Del D Predicted Demand (kVAR pr del D) - [30378,2] as FLOAT32 { 30380, 0} , // Name: Reactive Power Del D Peak Demand (kVAR sd mx d D) - [30380,6] as TIMESTAMPED_FLOAT32 + { 30387, 1} , // Name: Block Demand Reactive Power Rec A # Subintervals (kVAR sd rec A #SubIntvls) - [30387,1] as INT16U + { 30388, 1} , // Name: Block Demand Reactive Power Rec A Pred Resp (kVAR sd rec A Pred Resp) - [30388,1] as INT16U + { 30389, 1} , // Name: Block Demand Reactive Power Rec A Update Rate (kVAR sd rec A Update Rate) - [30389,1] as INT16U { 30390, 2} , // Name: Reactive Power Rec A Last Demand (kVAR sd rec A) - [30390,2] as FLOAT32 { 30392, 2} , // Name: Reactive Power Rec A Predicted Demand (kVAR pr rec A) - [30392,2] as FLOAT32 { 30394, 0} , // Name: Reactive Power Rec A Peak Demand (kVAR sd mx r A) - [30394,6] as TIMESTAMPED_FLOAT32 + { 30401, 1} , // Name: Block Demand Reactive Power Rec B # Subintervals (kVAR sd rec B #SubIntvls) - [30401,1] as INT16U + { 30402, 1} , // Name: Block Demand Reactive Power Rec B Pred Resp (kVAR sd rec B Pred Resp) - [30402,1] as INT16U + { 30403, 1} , // Name: Block Demand Reactive Power Rec B Update Rate (kVAR sd rec B Update Rate) - [30403,1] as INT16U { 30404, 2} , // Name: Reactive Power Rec B Last Demand (kVAR sd rec B) - [30404,2] as FLOAT32 { 30406, 2} , // Name: Reactive Power Rec B Predicted Demand (kVAR pr rec B) - [30406,2] as FLOAT32 { 30408, 0} , // Name: Reactive Power Rec B Peak Demand (kVAR sd mx r B) - [30408,6] as TIMESTAMPED_FLOAT32 + { 30415, 1} , // Name: Block Demand Reactive Power Rec C # Subintervals (kVAR sd rec C #SubIntvls) - [30415,1] as INT16U + { 30416, 1} , // Name: Block Demand Reactive Power Rec C Pred Resp (kVAR sd rec C Pred Resp) - [30416,1] as INT16U + { 30417, 1} , // Name: Block Demand Reactive Power Rec C Update Rate (kVAR sd rec C Update Rate) - [30417,1] as INT16U { 30418, 2} , // Name: Reactive Power Rec C Last Demand (kVAR sd rec C) - [30418,2] as FLOAT32 { 30420, 2} , // Name: Reactive Power Rec C Predicted Demand (kVAR pr rec C) - [30420,2] as FLOAT32 { 30422, 0} , // Name: Reactive Power Rec C Peak Demand (kVAR sd mx r C) - [30422,6] as TIMESTAMPED_FLOAT32 + { 30429, 1} , // Name: Block Demand Reactive Power Rec D # Subintervals (kVAR sd rec D #SubIntvls) - [30429,1] as INT16U + { 30430, 1} , // Name: Block Demand Reactive Power Rec D Pred Resp (kVAR sd rec D Pred Resp) - [30430,1] as INT16U + { 30431, 1} , // Name: Block Demand Reactive Power Rec D Update Rate (kVAR sd rec D Update Rate) - [30431,1] as INT16U { 30432, 2} , // Name: Reactive Power Rec D Last Demand (kVAR sd rec D) - [30432,2] as FLOAT32 { 30434, 2} , // Name: Reactive Power Rec D Predicted Demand (kVAR pr rec D) - [30434,2] as FLOAT32 { 30436, 0} , // Name: Reactive Power Rec D Peak Demand (kVAR sd mx r D) - [30436,6] as TIMESTAMPED_FLOAT32 + { 30443, 1} , // Name: Block Demand Apparent Power Del A # Subintervals (kVA sd del A #SubIntvls) - [30443,1] as INT16U + { 30444, 1} , // Name: Block Demand Apparent Power Del A Pred Resp (kVA sd del A Pred Resp) - [30444,1] as INT16U + { 30445, 1} , // Name: Block Demand Apparent Power Del A Update Rate (kVA sd del A Update Rate) - [30445,1] as INT16U { 30446, 2} , // Name: Apparent Power Del A Last Demand (kVA sd del A) - [30446,2] as FLOAT32 { 30448, 2} , // Name: Apparent Power Del A Predicted Demand (kVA pr del A) - [30448,2] as FLOAT32 { 30450, 0} , // Name: Apparent Power Del A Peak Demand (kVA sd mx del A) - [30450,6] as TIMESTAMPED_FLOAT32 + { 30457, 1} , // Name: Block Demand Apparent Power Del B # Subintervals (kVA sd del B #SubIntvls) - [30457,1] as INT16U + { 30458, 1} , // Name: Block Demand Apparent Power Del B Pred Resp (kVA sd del B Pred Resp) - [30458,1] as INT16U + { 30459, 1} , // Name: Block Demand Apparent Power Del B Update Rate (kVA sd del B Update Rate) - [30459,1] as INT16U { 30460, 2} , // Name: Apparent Power Del B Last Demand (kVA sd del B) - [30460,2] as FLOAT32 { 30462, 2} , // Name: Apparent Power Del B Predicted Demand (kVA pr del B) - [30462,2] as FLOAT32 { 30464, 0} , // Name: Apparent Power Del B Peak Demand (kVA sd mx del B) - [30464,6] as TIMESTAMPED_FLOAT32 + { 30471, 1} , // Name: Block Demand Apparent Power Del C # Subintervals (kVA sd del C #SubIntvls) - [30471,1] as INT16U + { 30472, 1} , // Name: Block Demand Apparent Power Del C Pred Resp (kVA sd del C Pred Resp) - [30472,1] as INT16U + { 30473, 1} , // Name: Block Demand Apparent Power Del C Update Rate (kVA sd del C Update Rate) - [30473,1] as INT16U { 30474, 2} , // Name: Apparent Power Del C Last Demand (kVA sd del C) - [30474,2] as FLOAT32 { 30476, 2} , // Name: Apparent Power Del C Predicted Demand (kVA pr del C) - [30476,2] as FLOAT32 { 30478, 0} , // Name: Apparent Power Del C Peak Demand (kVA sd mx del C) - [30478,6] as TIMESTAMPED_FLOAT32 + { 30485, 1} , // Name: Block Demand Apparent Power Del D # Subintervals (kVA sd del D #SubIntvls) - [30485,1] as INT16U + { 30486, 1} , // Name: Block Demand Apparent Power Del D Pred Resp (kVA sd del D Pred Resp) - [30486,1] as INT16U + { 30487, 1} , // Name: Block Demand Apparent Power Del D Update Rate (kVA sd del D Update Rate) - [30487,1] as INT16U { 30488, 2} , // Name: Apparent Power Del D Last Demand (kVA sd del D) - [30488,2] as FLOAT32 { 30490, 2} , // Name: Apparent Power Del D Predicted Demand (kVA pr del D) - [30490,2] as FLOAT32 { 30492, 0} , // Name: Apparent Power Del D Peak Demand (kVA sd mx del D) - [30492,6] as TIMESTAMPED_FLOAT32 + { 30499, 1} , // Name: Block Demand Apparent Power Rec A # Subintervals (kVA sd rec A #SubIntvls) - [30499,1] as INT16U + { 30500, 1} , // Name: Block Demand Apparent Power Rec A Pred Resp (kVA sd rec A Pred Resp) - [30500,1] as INT16U + { 30501, 1} , // Name: Block Demand Apparent Power Rec A Update Rate (kVA sd rec A Update Rate) - [30501,1] as INT16U { 30502, 2} , // Name: Apparent Power Rec A Last Demand (kVA sd rec A) - [30502,2] as FLOAT32 { 30504, 2} , // Name: Apparent Power Rec A Predicted Demand (kVA pr rec A) - [30504,2] as FLOAT32 { 30506, 0} , // Name: Apparent Power Rec A Peak Demand (kVA sd mx rec A) - [30506,6] as TIMESTAMPED_FLOAT32 + { 30513, 1} , // Name: Block Demand Apparent Power Rec B # Subintervals (kVA sd rec B #SubIntvls) - [30513,1] as INT16U + { 30514, 1} , // Name: Block Demand Apparent Power Rec B Pred Resp (kVA sd rec B Pred Resp) - [30514,1] as INT16U + { 30515, 1} , // Name: Block Demand Apparent Power Rec B Update Rate (kVA sd rec B Update Rate) - [30515,1] as INT16U { 30516, 2} , // Name: Apparent Power Rec B Last Demand (kVA sd rec B) - [30516,2] as FLOAT32 { 30518, 2} , // Name: Apparent Power Rec B Predicted Demand (kVA pr rec B) - [30518,2] as FLOAT32 { 30520, 0} , // Name: Apparent Power Rec B Peak Demand (kVA sd mx rec B) - [30520,6] as TIMESTAMPED_FLOAT32 + { 30527, 1} , // Name: Block Demand Apparent Power Rec C # Subintervals (kVA sd rec C #SubIntvls) - [30527,1] as INT16U + { 30528, 1} , // Name: Block Demand Apparent Power Rec C Pred Resp (kVA sd rec C Pred Resp) - [30528,1] as INT16U + { 30529, 1} , // Name: Block Demand Apparent Power Rec C Update Rate (kVA sd rec C Update Rate) - [30529,1] as INT16U { 30530, 2} , // Name: Apparent Power Rec C Last Demand (kVA sd rec C) - [30530,2] as FLOAT32 { 30532, 2} , // Name: Apparent Power Rec C Predicted Demand (kVA pr rec C) - [30532,2] as FLOAT32 { 30534, 0} , // Name: Apparent Power Rec C Peak Demand (kVA sd mx rec C) - [30534,6] as TIMESTAMPED_FLOAT32 + { 30541, 1} , // Name: Block Demand Apparent Power Rec D # Subintervals (kVA sd rec D #SubIntvls) - [30541,1] as INT16U + { 30542, 1} , // Name: Block Demand Apparent Power Rec D Pred Resp (kVA sd rec D Pred Resp) - [30542,1] as INT16U + { 30543, 1} , // Name: Block Demand Apparent Power Rec D Update Rate (kVA sd rec D Update Rate) - [30543,1] as INT16U { 30544, 2} , // Name: Apparent Power Rec D Last Demand (kVA sd rec D) - [30544,2] as FLOAT32 { 30546, 2} , // Name: Apparent Power Rec D Predicted Demand (kVA pr rec D) - [30546,2] as FLOAT32 { 30548, 0} , // Name: Apparent Power Rec D Peak Demand (kVA sd mx rec D) - [30548,6] as TIMESTAMPED_FLOAT32 + { 30555, 1} , // Name: Block Demand Active Power Q1 # Subintervals (kW sd Q1 #SubIntvls) - [30555,1] as INT16U + { 30556, 1} , // Name: Block Demand Active Power Q1 Pred Resp (kW sd Q1 Pred Resp) - [30556,1] as INT16U + { 30557, 1} , // Name: Block Demand Active Power Q1 Update Rate (kW sd Q1 Update Rate) - [30557,1] as INT16U { 30558, 2} , // Name: Active Power Q1 Last Demand (kW sd Q1) - [30558,2] as FLOAT32 { 30560, 2} , // Name: Active Power Q1 Predicted Demand (kW pr Q1) - [30560,2] as FLOAT32 { 30562, 0} , // Name: Active Power Q1 Peak Demand (kW sd mx Q1) - [30562,6] as TIMESTAMPED_FLOAT32 + { 30569, 1} , // Name: Block Demand Active Power Q2 # Subintervals (kW sd Q2 #SubIntvls) - [30569,1] as INT16U + { 30570, 1} , // Name: Block Demand Active Power Q2 Pred Resp (kW sd Q2 Pred Resp) - [30570,1] as INT16U + { 30571, 1} , // Name: Block Demand Active Power Q2 Update Rate (kW sd Q2 Update Rate) - [30571,1] as INT16U { 30572, 2} , // Name: Active Power Q2 Last Demand (kW sd Q2) - [30572,2] as FLOAT32 { 30574, 2} , // Name: Active Power Q2 Predicted Demand (kW pr Q2) - [30574,2] as FLOAT32 { 30576, 0} , // Name: Active Power Q2 Peak Demand (kW sd mx Q2) - [30576,6] as TIMESTAMPED_FLOAT32 + { 30583, 1} , // Name: Block Demand Active Power Q3 # Subintervals (kW sd Q3 #SubIntvls) - [30583,1] as INT16U + { 30584, 1} , // Name: Block Demand Active Power Q3 Pred Resp (kW sd Q3 Pred Resp) - [30584,1] as INT16U + { 30585, 1} , // Name: Block Demand Active Power Q3 Update Rate (kW sd Q3 Update Rate) - [30585,1] as INT16U { 30586, 2} , // Name: Active Power Q3 Last Demand (kW sd Q3) - [30586,2] as FLOAT32 { 30588, 2} , // Name: Active Power Q3 Predicted Demand (kW pr Q3) - [30588,2] as FLOAT32 { 30590, 0} , // Name: Active Power Q3 Peak Demand (kW sd mx Q3) - [30590,6] as TIMESTAMPED_FLOAT32 + { 30597, 1} , // Name: Block Demand Active Power Q4 # Subintervals (kW sd Q4 #SubIntvls) - [30597,1] as INT16U + { 30598, 1} , // Name: Block Demand Active Power Q4 Pred Resp (kW sd Q4 Pred Resp) - [30598,1] as INT16U + { 30599, 1} , // Name: Block Demand Active Power Q4 Update Rate (kW sd Q4 Update Rate) - [30599,1] as INT16U { 30600, 2} , // Name: Active Power Q4 Last Demand (kW sd Q4) - [30600,2] as FLOAT32 { 30602, 2} , // Name: Active Power Q4 Predicted Demand (kW pr Q4) - [30602,2] as FLOAT32 { 30604, 0} , // Name: Active Power Q4 Peak Demand (kW sd mx Q4) - [30604,6] as TIMESTAMPED_FLOAT32 + { 30611, 1} , // Name: Block Demand Reactive Power Q1 # Subintervals (kVAR sd Q1 #SubIntvls) - [30611,1] as INT16U + { 30612, 1} , // Name: Block Demand Reactive Power Q1 Pred Resp (kVAR sd Q1 Pred Resp) - [30612,1] as INT16U + { 30613, 1} , // Name: Block Demand Reactive Power Q1 Update Rate (kVAR sd Q1 Update Rate) - [30613,1] as INT16U { 30614, 2} , // Name: Reactive Power Q1 Last Demand (kVAR sd Q1) - [30614,2] as FLOAT32 { 30616, 2} , // Name: Reactive Power Q1 Predicted Demand (kVAR pr Q1) - [30616,2] as FLOAT32 { 30618, 0} , // Name: Reactive Power Q1 Peak Demand (kVAR sd mx Q1) - [30618,6] as TIMESTAMPED_FLOAT32 + { 30625, 1} , // Name: Block Demand Reactive Power Q2 # Subintervals (kVAR sd Q2 #SubIntvls) - [30625,1] as INT16U + { 30626, 1} , // Name: Block Demand Reactive Power Q2 Pred Resp (kVAR sd Q2 Pred Resp) - [30626,1] as INT16U + { 30627, 1} , // Name: Block Demand Reactive Power Q2 Update Rate (kVAR sd Q2 Update Rate) - [30627,1] as INT16U { 30628, 2} , // Name: Reactive Power Q2 Last Demand (kVAR sd Q2) - [30628,2] as FLOAT32 { 30630, 2} , // Name: Reactive Power Q2 Predicted Demand (kVAR pr Q2) - [30630,2] as FLOAT32 { 30632, 0} , // Name: Reactive Power Q2 Peak Demand (kVAR sd mx Q2) - [30632,6] as TIMESTAMPED_FLOAT32 + { 30639, 1} , // Name: Block Demand Reactive Power Q3 # Subintervals (kVAR sd Q3 #SubIntvls) - [30639,1] as INT16U + { 30640, 1} , // Name: Block Demand Reactive Power Q3 Pred Resp (kVAR sd Q3 Pred Resp) - [30640,1] as INT16U + { 30641, 1} , // Name: Block Demand Reactive Power Q3 Update Rate (kVAR sd Q3 Update Rate) - [30641,1] as INT16U { 30642, 2} , // Name: Reactive Power Q3 Last Demand (kVAR sd Q3) - [30642,2] as FLOAT32 { 30644, 2} , // Name: Reactive Power Q3 Predicted Demand (kVAR pr Q3) - [30644,2] as FLOAT32 { 30646, 0} , // Name: Reactive Power Q3 Peak Demand (kVAR sd mx Q3) - [30646,6] as TIMESTAMPED_FLOAT32 + { 30653, 1} , // Name: Block Demand Reactive Power Q4 # Subintervals (kVAR sd Q4 #SubIntvls) - [30653,1] as INT16U + { 30654, 1} , // Name: Block Demand Reactive Power Q4 Pred Resp (kVAR sd Q4 Pred Resp) - [30654,1] as INT16U + { 30655, 1} , // Name: Block Demand Reactive Power Q4 Update Rate (kVAR sd Q4 Update Rate) - [30655,1] as INT16U { 30656, 2} , // Name: Reactive Power Q4 Last Demand (kVAR sd Q4) - [30656,2] as FLOAT32 { 30658, 2} , // Name: Reactive Power Q4 Predicted Demand (kVAR pr Q4) - [30658,2] as FLOAT32 { 30660, 0} , // Name: Reactive Power Q4 Peak Demand (kVAR sd mx Q4) - [30660,6] as TIMESTAMPED_FLOAT32 + { 30667, 1} , // Name: Block Demand Apparent Power Q1 # Subintervals (kVA sd Q1 #SubIntvls) - [30667,1] as INT16U + { 30668, 1} , // Name: Block Demand Apparent Power Q1 Pred Resp (kVA sd Q1 Pred Resp) - [30668,1] as INT16U + { 30669, 1} , // Name: Block Demand Apparent Power Q1 Update Rate (kVA sd Q1 Update Rate) - [30669,1] as INT16U { 30670, 2} , // Name: Apparent Power Q1 Last Demand (kVA sd Q1) - [30670,2] as FLOAT32 { 30672, 2} , // Name: Apparent Power Q1 Predicted Demand (kVA pr Q1) - [30672,2] as FLOAT32 { 30674, 0} , // Name: Apparent Power Q1 Peak Demand (kVA sd mx Q1) - [30674,6] as TIMESTAMPED_FLOAT32 + { 30681, 1} , // Name: Block Demand Apparent Power Q2 # Subintervals (kVA sd Q2 #SubIntvls) - [30681,1] as INT16U + { 30682, 1} , // Name: Block Demand Apparent Power Q2 Pred Resp (kVA sd Q2 Pred Resp) - [30682,1] as INT16U + { 30683, 1} , // Name: Block Demand Apparent Power Q2 Update Rate (kVA sd Q2 Update Rate) - [30683,1] as INT16U { 30684, 2} , // Name: Apparent Power Q2 Last Demand (kVA sd Q2) - [30684,2] as FLOAT32 { 30686, 2} , // Name: Apparent Power Q2 Predicted Demand (kVA pr Q2) - [30686,2] as FLOAT32 { 30688, 0} , // Name: Apparent Power Q2 Peak Demand (kVA sd mx Q2) - [30688,6] as TIMESTAMPED_FLOAT32 + { 30695, 1} , // Name: Block Demand Apparent Power Q3 # Subintervals (kVA sd Q3 #SubIntvls) - [30695,1] as INT16U + { 30696, 1} , // Name: Block Demand Apparent Power Q3 Pred Resp (kVA sd Q3 Pred Resp) - [30696,1] as INT16U + { 30697, 1} , // Name: Block Demand Apparent Power Q3 Update Rate (kVA sd Q3 Update Rate) - [30697,1] as INT16U { 30698, 2} , // Name: Apparent Power Q3 Last Demand (kVA sd Q3) - [30698,2] as FLOAT32 { 30700, 2} , // Name: Apparent Power Q3 Predicted Demand (kVA pr Q3) - [30700,2] as FLOAT32 { 30702, 0} , // Name: Apparent Power Q3 Peak Demand (kVA sd mx Q3) - [30702,6] as TIMESTAMPED_FLOAT32 + { 30709, 1} , // Name: Block Demand Apparent Power Q4 # Subintervals (kVA sd Q4 #SubIntvls) - [30709,1] as INT16U + { 30710, 1} , // Name: Block Demand Apparent Power Q4 Pred Resp (kVA sd Q4 Pred Resp) - [30710,1] as INT16U + { 30711, 1} , // Name: Block Demand Apparent Power Q4 Update Rate (kVA sd Q4 Update Rate) - [30711,1] as INT16U { 30712, 2} , // Name: Apparent Power Q4 Last Demand (kVA sd Q4) - [30712,2] as FLOAT32 { 30714, 2} , // Name: Apparent Power Q4 Predicted Demand (kVA pr Q4) - [30714,2] as FLOAT32 { 30716, 0} , // Name: Apparent Power Q4 Peak Demand (kVA sd mx Q4) - [30716,6] as TIMESTAMPED_FLOAT32 @@ -575,9 +929,18 @@ const PROGMEM RegisterMap registers[] = { { 34412, 2} , // Name: Voltage, C-N 3 Second (150/180 Cycles) (V3 3s) - [34412,2] as FLOAT32 { 34414, 2} , // Name: Voltage, C-N 10 Minute (V3 10m) - [34414,2] as FLOAT32 { 34416, 2} , // Name: Voltage, C-N 2 Hour (V3 2hr) - [34416,2] as FLOAT32 + { 34460, 2} , // Name: Unbalance, Neg Seq 3 Second (150/180 Cycles) (NegSeqComp 3s) - [34460,2] as FLOAT32 + { 34462, 2} , // Name: Unbalance, Neg Seq 10 Minute (NegSeqComp 10m) - [34462,2] as FLOAT32 + { 34464, 2} , // Name: Unbalance, Neg Seq 2 Hour (NegSeqComp 2hr) - [34464,2] as FLOAT32 + { 34466, 2} , // Name: Unbalance, Zero Seq 3 Second (150/180 Cycles) (ZeroSeqComp 3s) - [34466,2] as FLOAT32 + { 34468, 2} , // Name: Unbalance, Zero Seq 10 Minute (ZeroSeqComp 10m) - [34468,2] as FLOAT32 + { 34470, 2} , // Name: Unbalance, Zero Seq 2 Hour (ZeroSeqComp 2hr) - [34470,2] as FLOAT32 { 34472, 2} , // Name: Power Frequency 3 Second (150/180 Cycles) (Power Frequency) - [34472,2] as FLOAT32 { 34474, 2} , // Name: Power Frequency 10 Minute (Power Freq 10m) - [34474,2] as FLOAT32 { 34476, 2} , // Name: Power Frequency 2 Hour (Power Freq 2hr) - [34476,2] as FLOAT32 + { 39401, 2} , // Name: THD Voltage A-N (V1 THD 2hr) - [39401,2] as FLOAT32 + { 39403, 2} , // Name: THD Voltage B-N (V2 THD 2hr) - [39403,2] as FLOAT32 + { 39405, 2} , // Name: THD Voltage C-N (V3 THD 2hr) - [39405,2] as FLOAT32 { 40000, 2} , // Name: Frequency 10m Mean (PQ Freq mean) - [40000,2] as FLOAT32 { 40002, 2} , // Name: Frequency 10m Low (PQ Freq low) - [40002,2] as FLOAT32 { 40004, 2} , // Name: Frequency 10m High (PQ Freq high) - [40004,2] as FLOAT32 @@ -592,8 +955,621 @@ const PROGMEM RegisterMap registers[] = { { 40022, 2} , // Name: V3 10m Mean (PQ V3 mean) - [40022,2] as FLOAT32 { 40024, 2} , // Name: V3 10m Low (PQ V3 low) - [40024,2] as FLOAT32 { 40026, 2} , // Name: V3 10m High (PQ V3 high) - [40026,2] as FLOAT32 + { 40028, 2} , // Name: THD V1 10m Mean (PQ V1 THD 10m) - [40028,2] as FLOAT32 + { 40030, 2} , // Name: THD V1 10m Low (PQ V1 THD mn) - [40030,2] as FLOAT32 + { 40032, 2} , // Name: THD V1 10m High (PQ V1 THD mx) - [40032,2] as FLOAT32 + { 40034, 2} , // Name: THD V2 10m Mean (PQ V2 THD 10m) - [40034,2] as FLOAT32 + { 40036, 2} , // Name: THD V2 10m Low (PQ V2 THD mn) - [40036,2] as FLOAT32 + { 40038, 2} , // Name: THD V2 10m High (PQ V2 THD mx) - [40038,2] as FLOAT32 + { 40040, 2} , // Name: THD V3 10m Mean (PQ V3 THD 10m) - [40040,2] as FLOAT32 + { 40042, 2} , // Name: THD V3 10m Low (PQ V3 THD mn) - [40042,2] as FLOAT32 + { 40044, 2} , // Name: THD V3 10m High (PQ V3 THD mx) - [40044,2] as FLOAT32 + { 40046, 2} , // Name: Total Even HD V1 10m Low (PQ V1 TEHD mn) - [40046,2] as FLOAT32 + { 40048, 2} , // Name: Total Even HD V1 10m High (PQ V1 TEHD mx) - [40048,2] as FLOAT32 + { 40050, 2} , // Name: Total Even HD V1 10m Mean (PQ V1 TEHD 10m) - [40050,2] as FLOAT32 + { 40052, 2} , // Name: Total Odd HD V1 10m Low (PQ V1 TOHD mn) - [40052,2] as FLOAT32 + { 40054, 2} , // Name: Total Odd HD V1 10m High (PQ V1 TOHD mx) - [40054,2] as FLOAT32 + { 40056, 2} , // Name: Total Odd HD V1 10m Mean (PQ V1 TOHD 10m) - [40056,2] as FLOAT32 + { 40058, 2} , // Name: Total Even HD V2 10m Low (PQ V2 TEHD mn) - [40058,2] as FLOAT32 + { 40060, 2} , // Name: Total Even HD V2 10m High (PQ V2 TEHD mx) - [40060,2] as FLOAT32 + { 40062, 2} , // Name: Total Even HD V2 10m Mean (PQ V2 TEHD 10m) - [40062,2] as FLOAT32 + { 40064, 2} , // Name: Total Odd HD V2 10m Low (PQ V2 TOHD mn) - [40064,2] as FLOAT32 + { 40066, 2} , // Name: Total Odd HD V2 10m High (PQ V2 TOHD mx) - [40066,2] as FLOAT32 + { 40068, 2} , // Name: Total Odd HD V2 10m Mean (PQ V2 TOHD 10m) - [40068,2] as FLOAT32 + { 40070, 2} , // Name: Total Even HD V3 10m Low (PQ V3 TEHD mn) - [40070,2] as FLOAT32 + { 40072, 2} , // Name: Total Even HD V3 10m High (PQ V3 TEHD mx) - [40072,2] as FLOAT32 + { 40074, 2} , // Name: Total Even HD V3 10m Mean (PQ V3 TEHD 10m) - [40074,2] as FLOAT32 + { 40076, 2} , // Name: Total Odd HD V3 10m Low (PQ V3 TOHD mn) - [40076,2] as FLOAT32 + { 40078, 2} , // Name: Total Odd HD V3 10m High (PQ V3 TOHD mx) - [40078,2] as FLOAT32 + { 40080, 2} , // Name: Total Odd HD V3 10m Mean (PQ V3 TOHD 10m) - [40080,2] as FLOAT32 + { 40082, 2} , // Name: Voltage unbalance 10m min (PQ Vunbal mean mn) - [40082,2] as FLOAT32 + { 40084, 2} , // Name: Voltage unbalance 10m max (PQ Vunbal mean mx) - [40084,2] as FLOAT32 + { 40086, 2} , // Name: V1 Dip min (PQ V1 Dip mn) - [40086,2] as FLOAT32 + { 40088, 2} , // Name: V2 Dip min (PQ V2 Dip mn) - [40088,2] as FLOAT32 + { 40090, 2} , // Name: V3 Dip min (PQ V3 Dip mn) - [40090,2] as FLOAT32 + { 40092, 2} , // Name: V1 Overvoltage max (PQ V1 Overvolt mx) - [40092,2] as FLOAT32 + { 40094, 2} , // Name: V2 Overvoltage max (PQ V2 Overvolt mx) - [40094,2] as FLOAT32 + { 40096, 2} , // Name: V3 Overvoltage max (PQ V3 Overvolt mx) - [40096,2] as FLOAT32 + { 40200, 1} , // Name: Freq Num Intervals Valid (Freq N) - [40200,1] as INT16U + { 40201, 1} , // Name: Freq Num Intervals Exceed 1 (Freq N1) - [40201,1] as INT16U + { 40202, 1} , // Name: Freq Num Intervals Exceed 2 (Freq N2) - [40202,1] as INT16U + { 40203, 1} , // Name: Freq Num Intervals Invalid (Freq N invld) - [40203,1] as INT16U + { 40204, 1} , // Name: Freq Num Intervals Exceed 1 / Valid (Freq N1/N) - [40204,1] as INT16U + { 40205, 1} , // Name: Freq Num Intervals Exceed 2 / Valid (Freq N2/N) - [40205,1] as INT16U + { 40206, 1} , // Name: V1 Num Intervals Valid (V1-Mag N) - [40206,1] as INT16U + { 40207, 1} , // Name: V1 Num Intervals Exceed 1 (V1-Mag N1) - [40207,1] as INT16U + { 40208, 1} , // Name: V1 Num Intervals Exceed 2 (V1-Mag N2) - [40208,1] as INT16U + { 40209, 1} , // Name: V1 Num Intervals Invalid (V1-Mag N invld) - [40209,1] as INT16U + { 40210, 1} , // Name: V1 Num Intervals Exceed 1 / Valid (V1-Mag N1/N) - [40210,1] as INT16U + { 40211, 1} , // Name: V1 Num Intervals Exceed 2 / Valid (V1-Mag N2/N) - [40211,1] as INT16U + { 40212, 1} , // Name: V2 Num Intervals Valid (V2-Mag N) - [40212,1] as INT16U + { 40213, 1} , // Name: V2 Num Intervals Exceed 1 (V2-Mag N1) - [40213,1] as INT16U + { 40214, 1} , // Name: V2 Num Intervals Exceed 2 (V2-Mag N2) - [40214,1] as INT16U + { 40215, 1} , // Name: V2 Num Intervals Invalid (V2-Mag N invld) - [40215,1] as INT16U + { 40216, 1} , // Name: V2 Num Intervals Exceed 1 / Valid (V2-Mag N1/N) - [40216,1] as INT16U + { 40217, 1} , // Name: V2 Num Intervals Exceed 2 / Valid (V2-Mag N2/N) - [40217,1] as INT16U + { 40218, 1} , // Name: V3 Num Intervals Valid (V3-Mag N) - [40218,1] as INT16U + { 40219, 1} , // Name: V3 Num Intervals Exceed 1 (V3-Mag N1) - [40219,1] as INT16U + { 40220, 1} , // Name: V3 Num Intervals Exceed 2 (V3-Mag N2) - [40220,1] as INT16U + { 40221, 1} , // Name: V3 Num Intervals Invalid (V3-Mag N invld) - [40221,1] as INT16U + { 40222, 1} , // Name: V3 Num Intervals Exceed 1 / Valid (V3-Mag N1/N) - [40222,1] as INT16U + { 40223, 1} , // Name: V3 Num Intervals Exceed 2 / Valid (V3-Mag N2/N) - [40223,1] as INT16U + { 40224, 1} , // Name: V1 Harm Num Intervals Valid (V1-Hrm N) - [40224,1] as INT16U + { 40225, 1} , // Name: V1 Harm Num Intervals Exceed 1 (V1-Hrm N1) - [40225,1] as INT16U + { 40226, 1} , // Name: V1 Harm Num Intervals Exceed 2 (V1-Hrm N2) - [40226,1] as INT16U + { 40227, 1} , // Name: V1 Harm Num Intervals Invalid (V1-Hrm N invld) - [40227,1] as INT16U + { 40228, 1} , // Name: V1 Harm Num Intervals Exceed 1 / Valid (V1-Hrm N1/N) - [40228,1] as INT16U + { 40229, 1} , // Name: V1 Harm Num Intervals Exceed 2 / Valid (V1-Hrm N2/N) - [40229,1] as INT16U + { 40230, 1} , // Name: V2 Harm Num Intervals Valid (V2-Hrm N) - [40230,1] as INT16U + { 40231, 1} , // Name: V2 Harm Num Intervals Exceed 1 (V2-Hrm N1) - [40231,1] as INT16U + { 40232, 1} , // Name: V2 Harm Num Intervals Exceed 2 (V2-Hrm N2) - [40232,1] as INT16U + { 40233, 1} , // Name: V2 Harm Num Intervals Invalid (V2-Hrm N invld) - [40233,1] as INT16U + { 40234, 1} , // Name: V2 Harm Num Intervals Exceed 1 / Valid (V2-Hrm N1/N) - [40234,1] as INT16U + { 40235, 1} , // Name: V2 Harm Num Intervals Exceed 2 / Valid (V2-Hrm N2/N) - [40235,1] as INT16U + { 40236, 1} , // Name: V3 Harm Num Intervals Valid (V3-Hrm N) - [40236,1] as INT16U + { 40237, 1} , // Name: V3 Harm Num Intervals Exceed 1 (V3-Hrm N1) - [40237,1] as INT16U + { 40238, 1} , // Name: V3 Harm Num Intervals Exceed 2 (V3-Hrm N2) - [40238,1] as INT16U + { 40239, 1} , // Name: V3 Harm Num Intervals Invalid (V3-Hrm N invld) - [40239,1] as INT16U + { 40240, 1} , // Name: V3 Harm Num Intervals Exceed 1 / Valid (V3-Hrm N1/N) - [40240,1] as INT16U + { 40241, 1} , // Name: V3 Harm Num Intervals Exceed 2 / Valid (V3-Hrm N2/N) - [40241,1] as INT16U + { 40242, 1} , // Name: Voltage Unbal Num Intervals Valid (Vunbal N) - [40242,1] as INT16U + { 40243, 1} , // Name: Voltage Unbal Num Intervals Exceeded 1 (Vunbal N1) - [40243,1] as INT16U + { 40244, 1} , // Name: Voltage Unbal Num Intervals Invalid (Vunbal N invld) - [40244,1] as INT16U + { 40245, 1} , // Name: Voltage Unbal Num Intervals Exceeded 1 / Valid (Vunbal N1/N) - [40245,1] as INT16U + { 40246, 1} , // Name: V1-Dip A1 (V1-Dip A1) - [40246,1] as INT16U + { 40247, 1} , // Name: V1-Dip B1 (V1-Dip B1) - [40247,1] as INT16U + { 40248, 1} , // Name: V1-Dip C1 (V1-Dip C1) - [40248,1] as INT16U + { 40249, 1} , // Name: V1-Dip D1 (V1-Dip D1) - [40249,1] as INT16U + { 40250, 1} , // Name: V1-Dip A2 (V1-Dip A2) - [40250,1] as INT16U + { 40251, 1} , // Name: V1-Dip B2 (V1-Dip B2) - [40251,1] as INT16U + { 40252, 1} , // Name: V1-Dip C2 (V1-Dip C2) - [40252,1] as INT16U + { 40253, 1} , // Name: V1-Dip D2 (V1-Dip D2) - [40253,1] as INT16U + { 40254, 1} , // Name: V1-Dip A3 (V1-Dip A3) - [40254,1] as INT16U + { 40255, 1} , // Name: V1-Dip B3 (V1-Dip B3) - [40255,1] as INT16U + { 40256, 1} , // Name: V1-Dip C3 (V1-Dip C3) - [40256,1] as INT16U + { 40257, 1} , // Name: V1-Dip D3 (V1-Dip D3) - [40257,1] as INT16U + { 40258, 1} , // Name: V1-Dip A4 (V1-Dip A4) - [40258,1] as INT16U + { 40259, 1} , // Name: V1-Dip B4 (V1-Dip B4) - [40259,1] as INT16U + { 40260, 1} , // Name: V1-Dip C4 (V1-Dip C4) - [40260,1] as INT16U + { 40261, 1} , // Name: V1-Dip D4 (V1-Dip D4) - [40261,1] as INT16U + { 40262, 1} , // Name: V1-Dip A5 (V1-Dip A5) - [40262,1] as INT16U + { 40263, 1} , // Name: V1-Dip B5 (V1-Dip B5) - [40263,1] as INT16U + { 40264, 1} , // Name: V1-Dip C5 (V1-Dip C5) - [40264,1] as INT16U + { 40265, 1} , // Name: V1-Dip D5 (V1-Dip D5) - [40265,1] as INT16U + { 40266, 1} , // Name: V1-Dip X1 (V1-Dip X1) - [40266,1] as INT16U + { 40267, 1} , // Name: V1-Dip X2 (V1-Dip X2) - [40267,1] as INT16U + { 40268, 1} , // Name: V1-Dip X3 (V1-Dip X3) - [40268,1] as INT16U + { 40269, 1} , // Name: V1-Dip X4 (V1-Dip X4) - [40269,1] as INT16U + { 40270, 1} , // Name: V1-Dip X5 (V1-Dip X5) - [40270,1] as INT16U + { 40271, 1} , // Name: V2-Dip A1 (V2-Dip A1) - [40271,1] as INT16U + { 40272, 1} , // Name: V2-Dip B1 (V2-Dip B1) - [40272,1] as INT16U + { 40273, 1} , // Name: V2-Dip C1 (V2-Dip C1) - [40273,1] as INT16U + { 40274, 1} , // Name: V2-Dip D1 (V2-Dip D1) - [40274,1] as INT16U + { 40275, 1} , // Name: V2-Dip A2 (V2-Dip A2) - [40275,1] as INT16U + { 40276, 1} , // Name: V2-Dip B2 (V2-Dip B2) - [40276,1] as INT16U + { 40277, 1} , // Name: V2-Dip C2 (V2-Dip C2) - [40277,1] as INT16U + { 40278, 1} , // Name: V2-Dip D2 (V2-Dip D2) - [40278,1] as INT16U + { 40279, 1} , // Name: V2-Dip A3 (V2-Dip A3) - [40279,1] as INT16U + { 40280, 1} , // Name: V2-Dip B3 (V2-Dip B3) - [40280,1] as INT16U + { 40281, 1} , // Name: V2-Dip C3 (V2-Dip C3) - [40281,1] as INT16U + { 40282, 1} , // Name: V2-Dip D3 (V2-Dip D3) - [40282,1] as INT16U + { 40283, 1} , // Name: V2-Dip A4 (V2-Dip A4) - [40283,1] as INT16U + { 40284, 1} , // Name: V2-Dip B4 (V2-Dip B4) - [40284,1] as INT16U + { 40285, 1} , // Name: V2-Dip C4 (V2-Dip C4) - [40285,1] as INT16U + { 40286, 1} , // Name: V2-Dip D4 (V2-Dip D4) - [40286,1] as INT16U + { 40287, 1} , // Name: V2-Dip A5 (V2-Dip A5) - [40287,1] as INT16U + { 40288, 1} , // Name: V2-Dip B5 (V2-Dip B5) - [40288,1] as INT16U + { 40289, 1} , // Name: V2-Dip C5 (V2-Dip C5) - [40289,1] as INT16U + { 40290, 1} , // Name: V2-Dip D5 (V2-Dip D5) - [40290,1] as INT16U + { 40291, 1} , // Name: V2-Dip X1 (V2-Dip X1) - [40291,1] as INT16U + { 40292, 1} , // Name: V2-Dip X2 (V2-Dip X2) - [40292,1] as INT16U + { 40293, 1} , // Name: V2-Dip X3 (V2-Dip X3) - [40293,1] as INT16U + { 40294, 1} , // Name: V2-Dip X4 (V2-Dip X4) - [40294,1] as INT16U + { 40295, 1} , // Name: V2-Dip X5 (V2-Dip X5) - [40295,1] as INT16U + { 40296, 1} , // Name: V3-Dip A1 (V3-Dip A1) - [40296,1] as INT16U + { 40297, 1} , // Name: V3-Dip B1 (V3-Dip B1) - [40297,1] as INT16U + { 40298, 1} , // Name: V3-Dip C1 (V3-Dip C1) - [40298,1] as INT16U + { 40299, 1} , // Name: V3-Dip D1 (V3-Dip D1) - [40299,1] as INT16U + { 40300, 1} , // Name: V3-Dip A2 (V3-Dip A2) - [40300,1] as INT16U + { 40301, 1} , // Name: V3-Dip B2 (V3-Dip B2) - [40301,1] as INT16U + { 40302, 1} , // Name: V3-Dip C2 (V3-Dip C2) - [40302,1] as INT16U + { 40303, 1} , // Name: V3-Dip D2 (V3-Dip D2) - [40303,1] as INT16U + { 40304, 1} , // Name: V3-Dip A3 (V3-Dip A3) - [40304,1] as INT16U + { 40305, 1} , // Name: V3-Dip B3 (V3-Dip B3) - [40305,1] as INT16U + { 40306, 1} , // Name: V3-Dip C3 (V3-Dip C3) - [40306,1] as INT16U + { 40307, 1} , // Name: V3-Dip D3 (V3-Dip D3) - [40307,1] as INT16U + { 40308, 1} , // Name: V3-Dip A4 (V3-Dip A4) - [40308,1] as INT16U + { 40309, 1} , // Name: V3-Dip B4 (V3-Dip B4) - [40309,1] as INT16U + { 40310, 1} , // Name: V3-Dip C4 (V3-Dip C4) - [40310,1] as INT16U + { 40311, 1} , // Name: V3-Dip D4 (V3-Dip D4) - [40311,1] as INT16U + { 40312, 1} , // Name: V3-Dip A5 (V3-Dip A5) - [40312,1] as INT16U + { 40313, 1} , // Name: V3-Dip B5 (V3-Dip B5) - [40313,1] as INT16U + { 40314, 1} , // Name: V3-Dip C5 (V3-Dip C5) - [40314,1] as INT16U + { 40315, 1} , // Name: V3-Dip D5 (V3-Dip D5) - [40315,1] as INT16U + { 40316, 1} , // Name: V3-Dip X1 (V3-Dip X1) - [40316,1] as INT16U + { 40317, 1} , // Name: V3-Dip X2 (V3-Dip X2) - [40317,1] as INT16U + { 40318, 1} , // Name: V3-Dip X3 (V3-Dip X3) - [40318,1] as INT16U + { 40319, 1} , // Name: V3-Dip X4 (V3-Dip X4) - [40319,1] as INT16U + { 40320, 1} , // Name: V3-Dip X5 (V3-Dip X5) - [40320,1] as INT16U + { 40321, 1} , // Name: V1-Ovrvlt S1 (V1-Ovrvlt S1) - [40321,1] as INT16U + { 40322, 1} , // Name: V1-Ovrvlt T1 (V1-Ovrvlt T1) - [40322,1] as INT16U + { 40323, 1} , // Name: V1-Ovrvlt S2 (V1-Ovrvlt S2) - [40323,1] as INT16U + { 40324, 1} , // Name: V1-Ovrvlt T2 (V1-Ovrvlt T2) - [40324,1] as INT16U + { 40325, 1} , // Name: V1-Ovrvlt S3 (V1-Ovrvlt S3) - [40325,1] as INT16U + { 40326, 1} , // Name: V1-Ovrvlt T3 (V1-Ovrvlt T3) - [40326,1] as INT16U + { 40327, 1} , // Name: V1-Ovrvlt S4 (V1-Ovrvlt S4) - [40327,1] as INT16U + { 40328, 1} , // Name: V1-Ovrvlt T4 (V1-Ovrvlt T4) - [40328,1] as INT16U + { 40329, 1} , // Name: V2-Ovrvlt S1 (V2-Ovrvlt S1) - [40329,1] as INT16U + { 40330, 1} , // Name: V2-Ovrvlt T1 (V2-Ovrvlt T1) - [40330,1] as INT16U + { 40331, 1} , // Name: V2-Ovrvlt S2 (V2-Ovrvlt S2) - [40331,1] as INT16U + { 40332, 1} , // Name: V2-Ovrvlt T2 (V2-Ovrvlt T2) - [40332,1] as INT16U + { 40333, 1} , // Name: V2-Ovrvlt S3 (V2-Ovrvlt S3) - [40333,1] as INT16U + { 40334, 1} , // Name: V2-Ovrvlt T3 (V2-Ovrvlt T3) - [40334,1] as INT16U + { 40335, 1} , // Name: V2-Ovrvlt S4 (V2-Ovrvlt S4) - [40335,1] as INT16U + { 40336, 1} , // Name: V2-Ovrvlt T4 (V2-Ovrvlt T4) - [40336,1] as INT16U + { 40337, 1} , // Name: V3-Ovrvlt S1 (V3-Ovrvlt S1) - [40337,1] as INT16U + { 40338, 1} , // Name: V3-Ovrvlt T1 (V3-Ovrvlt T1) - [40338,1] as INT16U + { 40339, 1} , // Name: V3-Ovrvlt S2 (V3-Ovrvlt S2) - [40339,1] as INT16U + { 40340, 1} , // Name: V3-Ovrvlt T2 (V3-Ovrvlt T2) - [40340,1] as INT16U + { 40341, 1} , // Name: V3-Ovrvlt S3 (V3-Ovrvlt S3) - [40341,1] as INT16U + { 40342, 1} , // Name: V3-Ovrvlt T3 (V3-Ovrvlt T3) - [40342,1] as INT16U + { 40343, 1} , // Name: V3-Ovrvlt S4 (V3-Ovrvlt S4) - [40343,1] as INT16U + { 40344, 1} , // Name: V3-Ovrvlt T4 (V3-Ovrvlt T4) - [40344,1] as INT16U + { 40345, 1} , // Name: V1-Intrpt N1 (V1-Intrpt N1) - [40345,1] as INT16U + { 40346, 1} , // Name: V1-Intrpt N2 (V1-Intrpt N2) - [40346,1] as INT16U + { 40347, 1} , // Name: V1-Intrpt N3 (V1-Intrpt N3) - [40347,1] as INT16U + { 40348, 1} , // Name: V2-Intrpt N1 (V2-Intrpt N1) - [40348,1] as INT16U + { 40349, 1} , // Name: V2-Intrpt N2 (V2-Intrpt N2) - [40349,1] as INT16U + { 40350, 1} , // Name: V2-Intrpt N3 (V2-Intrpt N3) - [40350,1] as INT16U + { 40351, 1} , // Name: V3-Intrpt N1 (V3-Intrpt N1) - [40351,1] as INT16U + { 40352, 1} , // Name: V3-Intrpt N2 (V3-Intrpt N2) - [40352,1] as INT16U + { 40353, 1} , // Name: V3-Intrpt N3 (V3-Intrpt N3) - [40353,1] as INT16U + { 40500, 1} , // Name: Freq Num Intervals Valid (PO Freq N) - [40500,1] as INT16U + { 40501, 1} , // Name: Freq Num Intervals Exceed 1 (PO Freq N1) - [40501,1] as INT16U + { 40502, 1} , // Name: Freq Num Intervals Exceed 2 (PO Freq N2) - [40502,1] as INT16U + { 40503, 1} , // Name: Freq Num Intervals Invalid (PO Freq N invld) - [40503,1] as INT16U + { 40504, 1} , // Name: Freq Num Intervals Exceed 1 / Valid (PO Freq N1/N) - [40504,1] as INT16U + { 40505, 1} , // Name: Freq Num Intervals Exceed 2 / Valid (PO Freq N2/N) - [40505,1] as INT16U + { 40506, 1} , // Name: V1 Num Intervals Valid (PO V1-Mag N) - [40506,1] as INT16U + { 40507, 1} , // Name: V1 Num Intervals Exceed 1 (PO V1-Mag N1) - [40507,1] as INT16U + { 40508, 1} , // Name: V1 Num Intervals Exceed 2 (PO V1-Mag N2) - [40508,1] as INT16U + { 40509, 1} , // Name: V1 Num Intervals Invalid (PO V1-Mag N invld) - [40509,1] as INT16U + { 40510, 1} , // Name: V1 Num Intervals Exceed 1 / Valid (PO V1-Mag N1/N) - [40510,1] as INT16U + { 40511, 1} , // Name: V1 Num Intervals Exceed 2 / Valid (PO V1-Mag N2/N) - [40511,1] as INT16U + { 40512, 1} , // Name: V2 Num Intervals Valid (PO V2-Mag N) - [40512,1] as INT16U + { 40513, 1} , // Name: V2 Num Intervals Exceed 1 (PO V2-Mag N1) - [40513,1] as INT16U + { 40514, 1} , // Name: V2 Num Intervals Exceed 2 (PO V2-Mag N2) - [40514,1] as INT16U + { 40515, 1} , // Name: V2 Num Intervals Invalid (PO V2-Mag N invld) - [40515,1] as INT16U + { 40516, 1} , // Name: V2 Num Intervals Exceed 1 / Valid (PO V2-Mag N1/N) - [40516,1] as INT16U + { 40517, 1} , // Name: V2 Num Intervals Exceed 2 / Valid (PO V2-Mag N2/N) - [40517,1] as INT16U + { 40518, 1} , // Name: V3 Num Intervals Valid (PO V3-Mag N) - [40518,1] as INT16U + { 40519, 1} , // Name: V3 Num Intervals Exceed 1 (PO V3-Mag N1) - [40519,1] as INT16U + { 40520, 1} , // Name: V3 Num Intervals Exceed 2 (PO V3-Mag N2) - [40520,1] as INT16U + { 40521, 1} , // Name: V3 Num Intervals Invalid (PO V3-Mag N invld) - [40521,1] as INT16U + { 40522, 1} , // Name: V3 Num Intervals Exceed 1 / Valid (PO V3-Mag N1/N) - [40522,1] as INT16U + { 40523, 1} , // Name: V3 Num Intervals Exceed 2 / Valid (PO V3-Mag N2/N) - [40523,1] as INT16U + { 40524, 1} , // Name: V1 Harm Num Intervals Valid (PO V1-Hrm N) - [40524,1] as INT16U + { 40525, 1} , // Name: V1 Harm Num Intervals Exceed 1 (PO V1-Hrm N1) - [40525,1] as INT16U + { 40526, 1} , // Name: V1 Harm Num Intervals Exceed 2 (PO V1-Hrm N2) - [40526,1] as INT16U + { 40527, 1} , // Name: V1 Harm Num Intervals Invalid (PO V1-Hrm N invld) - [40527,1] as INT16U + { 40528, 1} , // Name: V1 Harm Num Intervals Exceed 1 / Valid (PO V1-Hrm N1/N) - [40528,1] as INT16U + { 40529, 1} , // Name: V1 Harm Num Intervals Exceed 2 / Valid (PO V1-Hrm N2/N) - [40529,1] as INT16U + { 40530, 1} , // Name: V2 Harm Num Intervals Valid (PO V2-Hrm N) - [40530,1] as INT16U + { 40531, 1} , // Name: V2 Harm Num Intervals Exceed 1 (PO V2-Hrm N1) - [40531,1] as INT16U + { 40532, 1} , // Name: V2 Harm Num Intervals Exceed 2 (PO V2-Hrm N2) - [40532,1] as INT16U + { 40533, 1} , // Name: V2 Harm Num Intervals Invalid (PO V2-Hrm N invld) - [40533,1] as INT16U + { 40534, 1} , // Name: V2 Harm Num Intervals Exceed 1 / Valid (PO V2-Hrm N1/N) - [40534,1] as INT16U + { 40535, 1} , // Name: V2 Harm Num Intervals Exceed 2 / Valid (PO V2-Hrm N2/N) - [40535,1] as INT16U + { 40536, 1} , // Name: V3 Harm Num Intervals Valid (PO V3-Hrm N) - [40536,1] as INT16U + { 40537, 1} , // Name: V3 Harm Num Intervals Exceed 1 (PO V3-Hrm N1) - [40537,1] as INT16U + { 40538, 1} , // Name: V3 Harm Num Intervals Exceed 2 (PO V3-Hrm N2) - [40538,1] as INT16U + { 40539, 1} , // Name: V3 Harm Num Intervals Invalid (PO V3-Hrm N invld) - [40539,1] as INT16U + { 40540, 1} , // Name: V3 Harm Num Intervals Exceed 1 / Valid (PO V3-Hrm N1/N) - [40540,1] as INT16U + { 40541, 1} , // Name: V3 Harm Num Intervals Exceed 2 / Valid (PO V3-Hrm N2/N) - [40541,1] as INT16U + { 40542, 1} , // Name: Voltage Unbal Num Intervals Valid (PO Vunbal N) - [40542,1] as INT16U + { 40543, 1} , // Name: Voltage Unbal Num Intervals Exceeded 1 (PO Vunbal N1) - [40543,1] as INT16U + { 40544, 1} , // Name: Voltage Unbal Num Intervals Invalid (PO Vunbal N invld) - [40544,1] as INT16U + { 40545, 1} , // Name: Voltage Unbal Num Intervals Exceeded 1 / Valid (PO Vunbal N1/N) - [40545,1] as INT16U + { 40546, 1} , // Name: V1-Dip A1 (PO V1-Dip A1) - [40546,1] as INT16U + { 40547, 1} , // Name: V1-Dip B1 (PO V1-Dip B1) - [40547,1] as INT16U + { 40548, 1} , // Name: V1-Dip C1 (PO V1-Dip C1) - [40548,1] as INT16U + { 40549, 1} , // Name: V1-Dip D1 (PO V1-Dip D1) - [40549,1] as INT16U + { 40550, 1} , // Name: V1-Dip A2 (PO V1-Dip A2) - [40550,1] as INT16U + { 40551, 1} , // Name: V1-Dip B2 (PO V1-Dip B2) - [40551,1] as INT16U + { 40552, 1} , // Name: V1-Dip C2 (PO V1-Dip C2) - [40552,1] as INT16U + { 40553, 1} , // Name: V1-Dip D2 (PO V1-Dip D2) - [40553,1] as INT16U + { 40554, 1} , // Name: V1-Dip A3 (PO V1-Dip A3) - [40554,1] as INT16U + { 40555, 1} , // Name: V1-Dip B3 (PO V1-Dip B3) - [40555,1] as INT16U + { 40556, 1} , // Name: V1-Dip C3 (PO V1-Dip C3) - [40556,1] as INT16U + { 40557, 1} , // Name: V1-Dip D3 (PO V1-Dip D3) - [40557,1] as INT16U + { 40558, 1} , // Name: V1-Dip A4 (PO V1-Dip A4) - [40558,1] as INT16U + { 40559, 1} , // Name: V1-Dip B4 (PO V1-Dip B4) - [40559,1] as INT16U + { 40560, 1} , // Name: V1-Dip C4 (PO V1-Dip C4) - [40560,1] as INT16U + { 40561, 1} , // Name: V1-Dip D4 (PO V1-Dip D4) - [40561,1] as INT16U + { 40562, 1} , // Name: V1-Dip A5 (PO V1-Dip A5) - [40562,1] as INT16U + { 40563, 1} , // Name: V1-Dip B5 (PO V1-Dip B5) - [40563,1] as INT16U + { 40564, 1} , // Name: V1-Dip C5 (PO V1-Dip C5) - [40564,1] as INT16U + { 40565, 1} , // Name: V1-Dip D5 (PO V1-Dip D5) - [40565,1] as INT16U + { 40566, 1} , // Name: V1-Dip X1 (PO V1-Dip X1) - [40566,1] as INT16U + { 40567, 1} , // Name: V1-Dip X2 (PO V1-Dip X2) - [40567,1] as INT16U + { 40568, 1} , // Name: V1-Dip X3 (PO V1-Dip X3) - [40568,1] as INT16U + { 40569, 1} , // Name: V1-Dip X4 (PO V1-Dip X4) - [40569,1] as INT16U + { 40570, 1} , // Name: V1-Dip X5 (PO V1-Dip X5) - [40570,1] as INT16U + { 40571, 1} , // Name: V2-Dip A1 (PO V2-Dip A1) - [40571,1] as INT16U + { 40572, 1} , // Name: V2-Dip B1 (PO V2-Dip B1) - [40572,1] as INT16U + { 40573, 1} , // Name: V2-Dip C1 (PO V2-Dip C1) - [40573,1] as INT16U + { 40574, 1} , // Name: V2-Dip D1 (PO V2-Dip D1) - [40574,1] as INT16U + { 40575, 1} , // Name: V2-Dip A2 (PO V2-Dip A2) - [40575,1] as INT16U + { 40576, 1} , // Name: V2-Dip B2 (PO V2-Dip B2) - [40576,1] as INT16U + { 40577, 1} , // Name: V2-Dip C2 (PO V2-Dip C2) - [40577,1] as INT16U + { 40578, 1} , // Name: V2-Dip D2 (PO V2-Dip D2) - [40578,1] as INT16U + { 40579, 1} , // Name: V2-Dip A3 (PO V2-Dip A3) - [40579,1] as INT16U + { 40580, 1} , // Name: V2-Dip B3 (PO V2-Dip B3) - [40580,1] as INT16U + { 40581, 1} , // Name: V2-Dip C3 (PO V2-Dip C3) - [40581,1] as INT16U + { 40582, 1} , // Name: V2-Dip D3 (PO V2-Dip D3) - [40582,1] as INT16U + { 40583, 1} , // Name: V2-Dip A4 (PO V2-Dip A4) - [40583,1] as INT16U + { 40584, 1} , // Name: V2-Dip B4 (PO V2-Dip B4) - [40584,1] as INT16U + { 40585, 1} , // Name: V2-Dip C4 (PO V2-Dip C4) - [40585,1] as INT16U + { 40586, 1} , // Name: V2-Dip D4 (PO V2-Dip D4) - [40586,1] as INT16U + { 40587, 1} , // Name: V2-Dip A5 (PO V2-Dip A5) - [40587,1] as INT16U + { 40588, 1} , // Name: V2-Dip B5 (PO V2-Dip B5) - [40588,1] as INT16U + { 40589, 1} , // Name: V2-Dip C5 (PO V2-Dip C5) - [40589,1] as INT16U + { 40590, 1} , // Name: V2-Dip D5 (PO V2-Dip D5) - [40590,1] as INT16U + { 40591, 1} , // Name: V2-Dip X1 (PO V2-Dip X1) - [40591,1] as INT16U + { 40592, 1} , // Name: V2-Dip X2 (PO V2-Dip X2) - [40592,1] as INT16U + { 40593, 1} , // Name: V2-Dip X3 (PO V2-Dip X3) - [40593,1] as INT16U + { 40594, 1} , // Name: V2-Dip X4 (PO V2-Dip X4) - [40594,1] as INT16U + { 40595, 1} , // Name: V2-Dip X5 (PO V2-Dip X5) - [40595,1] as INT16U + { 40596, 1} , // Name: V3-Dip A1 (PO V3-Dip A1) - [40596,1] as INT16U + { 40597, 1} , // Name: V3-Dip B1 (PO V3-Dip B1) - [40597,1] as INT16U + { 40598, 1} , // Name: V3-Dip C1 (PO V3-Dip C1) - [40598,1] as INT16U + { 40599, 1} , // Name: V3-Dip D1 (PO V3-Dip D1) - [40599,1] as INT16U + { 40600, 1} , // Name: V3-Dip A2 (PO V3-Dip A2) - [40600,1] as INT16U + { 40601, 1} , // Name: V3-Dip B2 (PO V3-Dip B2) - [40601,1] as INT16U + { 40602, 1} , // Name: V3-Dip C2 (PO V3-Dip C2) - [40602,1] as INT16U + { 40603, 1} , // Name: V3-Dip D2 (PO V3-Dip D2) - [40603,1] as INT16U + { 40604, 1} , // Name: V3-Dip A3 (PO V3-Dip A3) - [40604,1] as INT16U + { 40605, 1} , // Name: V3-Dip B3 (PO V3-Dip B3) - [40605,1] as INT16U + { 40606, 1} , // Name: V3-Dip C3 (PO V3-Dip C3) - [40606,1] as INT16U + { 40607, 1} , // Name: V3-Dip D3 (PO V3-Dip D3) - [40607,1] as INT16U + { 40608, 1} , // Name: V3-Dip A4 (PO V3-Dip A4) - [40608,1] as INT16U + { 40609, 1} , // Name: V3-Dip B4 (PO V3-Dip B4) - [40609,1] as INT16U + { 40610, 1} , // Name: V3-Dip C4 (PO V3-Dip C4) - [40610,1] as INT16U + { 40611, 1} , // Name: V3-Dip D4 (PO V3-Dip D4) - [40611,1] as INT16U + { 40612, 1} , // Name: V3-Dip A5 (PO V3-Dip A5) - [40612,1] as INT16U + { 40613, 1} , // Name: V3-Dip B5 (PO V3-Dip B5) - [40613,1] as INT16U + { 40614, 1} , // Name: V3-Dip C5 (PO V3-Dip C5) - [40614,1] as INT16U + { 40615, 1} , // Name: V3-Dip D5 (PO V3-Dip D5) - [40615,1] as INT16U + { 40616, 1} , // Name: V3-Dip X1 (PO V3-Dip X1) - [40616,1] as INT16U + { 40617, 1} , // Name: V3-Dip X2 (PO V3-Dip X2) - [40617,1] as INT16U + { 40618, 1} , // Name: V3-Dip X3 (PO V3-Dip X3) - [40618,1] as INT16U + { 40619, 1} , // Name: V3-Dip X4 (PO V3-Dip X4) - [40619,1] as INT16U + { 40620, 1} , // Name: V3-Dip X5 (PO V3-Dip X5) - [40620,1] as INT16U + { 40621, 1} , // Name: V1-Ovrvlt S1 (PO V1-Ovrvlt S1) - [40621,1] as INT16U + { 40622, 1} , // Name: V1-Ovrvlt T1 (PO V1-Ovrvlt T1) - [40622,1] as INT16U + { 40623, 1} , // Name: V1-Ovrvlt S2 (PO V1-Ovrvlt S2) - [40623,1] as INT16U + { 40624, 1} , // Name: V1-Ovrvlt T2 (PO V1-Ovrvlt T2) - [40624,1] as INT16U + { 40625, 1} , // Name: V1-Ovrvlt S3 (PO V1-Ovrvlt S3) - [40625,1] as INT16U + { 40626, 1} , // Name: V1-Ovrvlt T3 (PO V1-Ovrvlt T3) - [40626,1] as INT16U + { 40627, 1} , // Name: V1-Ovrvlt S4 (PO V1-Ovrvlt S4) - [40627,1] as INT16U + { 40628, 1} , // Name: V1-Ovrvlt T4 (PO V1-Ovrvlt T4) - [40628,1] as INT16U + { 40629, 1} , // Name: V2-Ovrvlt S1 (PO V2-Ovrvlt S1) - [40629,1] as INT16U + { 40630, 1} , // Name: V2-Ovrvlt T1 (PO V2-Ovrvlt T1) - [40630,1] as INT16U + { 40631, 1} , // Name: V2-Ovrvlt S2 (PO V2-Ovrvlt S2) - [40631,1] as INT16U + { 40632, 1} , // Name: V2-Ovrvlt T2 (PO V2-Ovrvlt T2) - [40632,1] as INT16U + { 40633, 1} , // Name: V2-Ovrvlt S3 (PO V2-Ovrvlt S3) - [40633,1] as INT16U + { 40634, 1} , // Name: V2-Ovrvlt T3 (PO V2-Ovrvlt T3) - [40634,1] as INT16U + { 40635, 1} , // Name: V2-Ovrvlt S4 (PO V2-Ovrvlt S4) - [40635,1] as INT16U + { 40636, 1} , // Name: V2-Ovrvlt T4 (PO V2-Ovrvlt T4) - [40636,1] as INT16U + { 40637, 1} , // Name: V3-Ovrvlt S1 (PO V3-Ovrvlt S1) - [40637,1] as INT16U + { 40638, 1} , // Name: V3-Ovrvlt T1 (PO V3-Ovrvlt T1) - [40638,1] as INT16U + { 40639, 1} , // Name: V3-Ovrvlt S2 (PO V3-Ovrvlt S2) - [40639,1] as INT16U + { 40640, 1} , // Name: V3-Ovrvlt T2 (PO V3-Ovrvlt T2) - [40640,1] as INT16U + { 40641, 1} , // Name: V3-Ovrvlt S3 (PO V3-Ovrvlt S3) - [40641,1] as INT16U + { 40642, 1} , // Name: V3-Ovrvlt T3 (PO V3-Ovrvlt T3) - [40642,1] as INT16U + { 40643, 1} , // Name: V3-Ovrvlt S4 (PO V3-Ovrvlt S4) - [40643,1] as INT16U + { 40644, 1} , // Name: V3-Ovrvlt T4 (PO V3-Ovrvlt T4) - [40644,1] as INT16U + { 40645, 1} , // Name: V1-Intrpt N1 (PO V1-Intrpt N1) - [40645,1] as INT16U + { 40646, 1} , // Name: V1-Intrpt N2 (PO V1-Intrpt N2) - [40646,1] as INT16U + { 40647, 1} , // Name: V1-Intrpt N3 (PO V1-Intrpt N3) - [40647,1] as INT16U + { 40648, 1} , // Name: V2-Intrpt N1 (PO V2-Intrpt N1) - [40648,1] as INT16U + { 40649, 1} , // Name: V2-Intrpt N2 (PO V2-Intrpt N2) - [40649,1] as INT16U + { 40650, 1} , // Name: V2-Intrpt N3 (PO V2-Intrpt N3) - [40650,1] as INT16U + { 40651, 1} , // Name: V3-Intrpt N1 (PO V3-Intrpt N1) - [40651,1] as INT16U + { 40652, 1} , // Name: V3-Intrpt N2 (PO V3-Intrpt N2) - [40652,1] as INT16U + { 40653, 1} , // Name: V3-Intrpt N3 (PO V3-Intrpt N3) - [40653,1] as INT16U + { 52001, 1} , // Name: External Pulse 1 Trigger (N/A) - [52001,1] as INT16U + { 52002, 1} , // Name: External Pulse 2 Trigger (N/A) - [52002,1] as INT16U + { 52003, 1} , // Name: External Pulse 3 Trigger (N/A) - [52003,1] as INT16U + { 52004, 1} , // Name: External Pulse 4 Trigger (N/A) - [52004,1] as INT16U + { 52005, 1} , // Name: External Pulse 5 Trigger (N/A) - [52005,1] as INT16U + { 52006, 1} , // Name: External Pulse 6 Trigger (N/A) - [52006,1] as INT16U + { 52007, 1} , // Name: External Pulse 7 Trigger (N/A) - [52007,1] as INT16U + { 52008, 1} , // Name: External Pulse 8 Trigger (N/A) - [52008,1] as INT16U + { 52009, 1} , // Name: External Pulse 9 Trigger (N/A) - [52009,1] as INT16U + { 52010, 1} , // Name: External Pulse 10 Trigger (N/A) - [52010,1] as INT16U + { 52011, 1} , // Name: External Pulse 11 Trigger (N/A) - [52011,1] as INT16U + { 52012, 1} , // Name: External Pulse 12 Trigger (N/A) - [52012,1] as INT16U + { 52013, 1} , // Name: External Pulse 13 Trigger (N/A) - [52013,1] as INT16U + { 52014, 1} , // Name: External Pulse 14 Trigger (N/A) - [52014,1] as INT16U + { 52015, 1} , // Name: External Pulse 15 Trigger (N/A) - [52015,1] as INT16U + { 52016, 1} , // Name: External Pulse 16 Trigger (N/A) - [52016,1] as INT16U + { 52017, 1} , // Name: External Pulse 17 Trigger (N/A) - [52017,1] as INT16U + { 52018, 1} , // Name: External Pulse 18 Trigger (N/A) - [52018,1] as INT16U + { 52019, 1} , // Name: External Pulse 19 Trigger (N/A) - [52019,1] as INT16U + { 52020, 1} , // Name: External Pulse 20 Trigger (N/A) - [52020,1] as INT16U + { 52021, 1} , // Name: External Pulse 21 Trigger (N/A) - [52021,1] as INT16U + { 52022, 1} , // Name: External Pulse 22 Trigger (N/A) - [52022,1] as INT16U + { 52023, 1} , // Name: External Pulse 23 Trigger (N/A) - [52023,1] as INT16U + { 52024, 1} , // Name: External Pulse 24 Trigger (N/A) - [52024,1] as INT16U + { 52025, 1} , // Name: External Pulse 25 Trigger (N/A) - [52025,1] as INT16U + { 52026, 1} , // Name: External Pulse 26 Trigger (N/A) - [52026,1] as INT16U + { 52027, 1} , // Name: External Pulse 27 Trigger (N/A) - [52027,1] as INT16U + { 52028, 1} , // Name: External Pulse 28 Trigger (N/A) - [52028,1] as INT16U + { 52029, 1} , // Name: External Pulse 29 Trigger (N/A) - [52029,1] as INT16U + { 52030, 1} , // Name: External Pulse 30 Trigger (N/A) - [52030,1] as INT16U + { 52031, 1} , // Name: External Pulse 31 Trigger (N/A) - [52031,1] as INT16U + { 52032, 1} , // Name: External Pulse 32 Trigger (N/A) - [52032,1] as INT16U + { 52033, 1} , // Name: External Pulse 33 Trigger (N/A) - [52033,1] as INT16U + { 52034, 1} , // Name: External Pulse 34 Trigger (N/A) - [52034,1] as INT16U + { 52035, 1} , // Name: External Pulse 35 Trigger (N/A) - [52035,1] as INT16U + { 52036, 1} , // Name: External Pulse 36 Trigger (N/A) - [52036,1] as INT16U + { 52037, 1} , // Name: External Pulse 37 Trigger (N/A) - [52037,1] as INT16U + { 52038, 1} , // Name: External Pulse 38 Trigger (N/A) - [52038,1] as INT16U + { 52039, 1} , // Name: External Pulse 39 Trigger (N/A) - [52039,1] as INT16U + { 52040, 1} , // Name: External Pulse 40 Trigger (N/A) - [52040,1] as INT16U + { 52041, 1} , // Name: External Pulse 41 Trigger (N/A) - [52041,1] as INT16U + { 52042, 1} , // Name: External Pulse 42 Trigger (N/A) - [52042,1] as INT16U + { 52043, 1} , // Name: External Pulse 43 Trigger (N/A) - [52043,1] as INT16U + { 52044, 1} , // Name: External Pulse 44 Trigger (N/A) - [52044,1] as INT16U + { 52045, 1} , // Name: External Pulse 45 Trigger (N/A) - [52045,1] as INT16U + { 52046, 1} , // Name: External Pulse 46 Trigger (N/A) - [52046,1] as INT16U + { 52047, 1} , // Name: External Pulse 47 Trigger (N/A) - [52047,1] as INT16U + { 52048, 1} , // Name: External Pulse 48 Trigger (N/A) - [52048,1] as INT16U + { 52049, 1} , // Name: External Pulse 49 Trigger (N/A) - [52049,1] as INT16U + { 52050, 1} , // Name: External Pulse 50 Trigger (N/A) - [52050,1] as INT16U + { 52051, 1} , // Name: External Pulse 51 Trigger (N/A) - [52051,1] as INT16U + { 52052, 1} , // Name: External Pulse 52 Trigger (N/A) - [52052,1] as INT16U + { 52053, 1} , // Name: External Pulse 53 Trigger (N/A) - [52053,1] as INT16U + { 52054, 1} , // Name: External Pulse 54 Trigger (N/A) - [52054,1] as INT16U + { 52055, 1} , // Name: External Pulse 55 Trigger (N/A) - [52055,1] as INT16U + { 52056, 1} , // Name: External Pulse 56 Trigger (N/A) - [52056,1] as INT16U + { 52057, 1} , // Name: External Pulse 57 Trigger (N/A) - [52057,1] as INT16U + { 52058, 1} , // Name: External Pulse 58 Trigger (N/A) - [52058,1] as INT16U + { 52059, 1} , // Name: External Pulse 59 Trigger (N/A) - [52059,1] as INT16U + { 52060, 1} , // Name: External Pulse 60 Trigger (N/A) - [52060,1] as INT16U + { 52061, 1} , // Name: External Pulse 61 Trigger (N/A) - [52061,1] as INT16U + { 52062, 1} , // Name: External Pulse 62 Trigger (N/A) - [52062,1] as INT16U + { 52063, 1} , // Name: External Pulse 63 Trigger (N/A) - [52063,1] as INT16U + { 52064, 1} , // Name: External Pulse 64 Trigger (N/A) - [52064,1] as INT16U + { 52065, 1} , // Name: External Pulse 65 Trigger (N/A) - [52065,1] as INT16U + { 52066, 1} , // Name: External Pulse 66 Trigger (N/A) - [52066,1] as INT16U + { 52067, 1} , // Name: External Pulse 67 Trigger (N/A) - [52067,1] as INT16U + { 52068, 1} , // Name: External Pulse 68 Trigger (N/A) - [52068,1] as INT16U + { 52069, 1} , // Name: External Pulse 69 Trigger (N/A) - [52069,1] as INT16U + { 52070, 1} , // Name: External Pulse 70 Trigger (N/A) - [52070,1] as INT16U + { 52071, 1} , // Name: External Pulse 71 Trigger (N/A) - [52071,1] as INT16U + { 52072, 1} , // Name: External Pulse 72 Trigger (N/A) - [52072,1] as INT16U + { 52073, 1} , // Name: External Pulse 73 Trigger (N/A) - [52073,1] as INT16U + { 52074, 1} , // Name: External Pulse 74 Trigger (N/A) - [52074,1] as INT16U + { 52075, 1} , // Name: External Pulse 75 Trigger (N/A) - [52075,1] as INT16U + { 52076, 1} , // Name: External Pulse 76 Trigger (N/A) - [52076,1] as INT16U + { 52077, 1} , // Name: External Pulse 77 Trigger (N/A) - [52077,1] as INT16U + { 52078, 1} , // Name: External Pulse 78 Trigger (N/A) - [52078,1] as INT16U + { 52079, 1} , // Name: External Pulse 79 Trigger (N/A) - [52079,1] as INT16U + { 52080, 1} , // Name: External Pulse 80 Trigger (N/A) - [52080,1] as INT16U + { 52081, 1} , // Name: External Pulse 81 Trigger (N/A) - [52081,1] as INT16U + { 52082, 1} , // Name: External Pulse 82 Trigger (N/A) - [52082,1] as INT16U + { 52083, 1} , // Name: External Pulse 83 Trigger (N/A) - [52083,1] as INT16U + { 52084, 1} , // Name: External Pulse 84 Trigger (N/A) - [52084,1] as INT16U + { 52085, 1} , // Name: External Pulse 85 Trigger (N/A) - [52085,1] as INT16U + { 52086, 1} , // Name: External Pulse 86 Trigger (N/A) - [52086,1] as INT16U + { 52087, 1} , // Name: External Pulse 87 Trigger (N/A) - [52087,1] as INT16U + { 52088, 1} , // Name: External Pulse 88 Trigger (N/A) - [52088,1] as INT16U + { 52089, 1} , // Name: External Pulse 89 Trigger (N/A) - [52089,1] as INT16U + { 52090, 1} , // Name: External Pulse 90 Trigger (N/A) - [52090,1] as INT16U + { 52091, 1} , // Name: External Pulse 91 Trigger (N/A) - [52091,1] as INT16U + { 52092, 1} , // Name: External Pulse 92 Trigger (N/A) - [52092,1] as INT16U + { 52093, 1} , // Name: External Pulse 93 Trigger (N/A) - [52093,1] as INT16U + { 52094, 1} , // Name: External Pulse 94 Trigger (N/A) - [52094,1] as INT16U + { 52095, 1} , // Name: External Pulse 95 Trigger (N/A) - [52095,1] as INT16U + { 52096, 1} , // Name: External Pulse 96 Trigger (N/A) - [52096,1] as INT16U + { 52097, 1} , // Name: External Pulse 97 Trigger (N/A) - [52097,1] as INT16U + { 52098, 1} , // Name: External Pulse 98 Trigger (N/A) - [52098,1] as INT16U + { 52099, 1} , // Name: External Pulse 99 Trigger (N/A) - [52099,1] as INT16U + { 52100, 1} , // Name: External Pulse 100 Trigger (N/A) - [52100,1] as INT16U + { 52101, 1} , // Name: External Pulse 101 Trigger (N/A) - [52101,1] as INT16U + { 52102, 1} , // Name: External Pulse 102 Trigger (N/A) - [52102,1] as INT16U + { 52103, 1} , // Name: External Pulse 103 Trigger (N/A) - [52103,1] as INT16U + { 52104, 1} , // Name: External Pulse 104 Trigger (N/A) - [52104,1] as INT16U + { 52105, 1} , // Name: External Pulse 105 Trigger (N/A) - [52105,1] as INT16U + { 52106, 1} , // Name: External Pulse 106 Trigger (N/A) - [52106,1] as INT16U + { 52107, 1} , // Name: External Pulse 107 Trigger (N/A) - [52107,1] as INT16U + { 52108, 1} , // Name: External Pulse 108 Trigger (N/A) - [52108,1] as INT16U + { 52109, 1} , // Name: External Pulse 109 Trigger (N/A) - [52109,1] as INT16U + { 52110, 1} , // Name: External Pulse 110 Trigger (N/A) - [52110,1] as INT16U + { 52111, 1} , // Name: External Pulse 111 Trigger (N/A) - [52111,1] as INT16U + { 52112, 1} , // Name: External Pulse 112 Trigger (N/A) - [52112,1] as INT16U + { 52113, 1} , // Name: External Pulse 113 Trigger (N/A) - [52113,1] as INT16U + { 52114, 1} , // Name: External Pulse 114 Trigger (N/A) - [52114,1] as INT16U + { 52115, 1} , // Name: External Pulse 115 Trigger (N/A) - [52115,1] as INT16U + { 52116, 1} , // Name: External Pulse 116 Trigger (N/A) - [52116,1] as INT16U + { 52117, 1} , // Name: External Pulse 117 Trigger (N/A) - [52117,1] as INT16U + { 52118, 1} , // Name: External Pulse 118 Trigger (N/A) - [52118,1] as INT16U + { 52119, 1} , // Name: External Pulse 119 Trigger (N/A) - [52119,1] as INT16U + { 52120, 1} , // Name: External Pulse 120 Trigger (N/A) - [52120,1] as INT16U + { 52121, 1} , // Name: External Pulse 121 Trigger (N/A) - [52121,1] as INT16U + { 52122, 1} , // Name: External Pulse 122 Trigger (N/A) - [52122,1] as INT16U + { 52123, 1} , // Name: External Pulse 123 Trigger (N/A) - [52123,1] as INT16U + { 52124, 1} , // Name: External Pulse 124 Trigger (N/A) - [52124,1] as INT16U + { 52125, 1} , // Name: External Pulse 125 Trigger (N/A) - [52125,1] as INT16U + { 52126, 1} , // Name: External Pulse 126 Trigger (N/A) - [52126,1] as INT16U + { 52127, 1} , // Name: External Pulse 127 Trigger (N/A) - [52127,1] as INT16U + { 52128, 1} , // Name: External Pulse 128 Trigger (N/A) - [52128,1] as INT16U + { 52201, 1} , // Name: External Boolean 1 Switch (N/A) - [52201,1] as INT16U + { 52202, 1} , // Name: External Boolean 2 Switch (N/A) - [52202,1] as INT16U + { 52203, 1} , // Name: External Boolean 3 Switch (N/A) - [52203,1] as INT16U + { 52204, 1} , // Name: External Boolean 4 Switch (N/A) - [52204,1] as INT16U + { 52205, 1} , // Name: External Boolean 5 Switch (N/A) - [52205,1] as INT16U + { 52206, 1} , // Name: External Boolean 6 Switch (N/A) - [52206,1] as INT16U + { 52207, 1} , // Name: External Boolean 7 Switch (N/A) - [52207,1] as INT16U + { 52208, 1} , // Name: External Boolean 8 Switch (N/A) - [52208,1] as INT16U + { 52209, 1} , // Name: External Boolean 9 Switch (N/A) - [52209,1] as INT16U + { 52210, 1} , // Name: External Boolean 10 Switch (N/A) - [52210,1] as INT16U + { 52211, 1} , // Name: External Boolean 11 Switch (N/A) - [52211,1] as INT16U + { 52212, 1} , // Name: External Boolean 12 Switch (N/A) - [52212,1] as INT16U + { 52213, 1} , // Name: External Boolean 13 Switch (N/A) - [52213,1] as INT16U + { 52214, 1} , // Name: External Boolean 14 Switch (N/A) - [52214,1] as INT16U + { 52215, 1} , // Name: External Boolean 15 Switch (N/A) - [52215,1] as INT16U + { 52216, 1} , // Name: External Boolean 16 Switch (N/A) - [52216,1] as INT16U + { 52217, 1} , // Name: External Boolean 17 Switch (N/A) - [52217,1] as INT16U + { 52218, 1} , // Name: External Boolean 18 Switch (N/A) - [52218,1] as INT16U + { 52219, 1} , // Name: External Boolean 19 Switch (N/A) - [52219,1] as INT16U + { 52220, 1} , // Name: External Boolean 20 Switch (N/A) - [52220,1] as INT16U + { 52221, 1} , // Name: External Boolean 21 Switch (N/A) - [52221,1] as INT16U + { 52222, 1} , // Name: External Boolean 22 Switch (N/A) - [52222,1] as INT16U + { 52223, 1} , // Name: External Boolean 23 Switch (N/A) - [52223,1] as INT16U + { 52224, 1} , // Name: External Boolean 24 Switch (N/A) - [52224,1] as INT16U + { 52225, 1} , // Name: External Boolean 25 Switch (N/A) - [52225,1] as INT16U + { 52226, 1} , // Name: External Boolean 26 Switch (N/A) - [52226,1] as INT16U + { 52227, 1} , // Name: External Boolean 27 Switch (N/A) - [52227,1] as INT16U + { 52228, 1} , // Name: External Boolean 28 Switch (N/A) - [52228,1] as INT16U + { 52229, 1} , // Name: External Boolean 29 Switch (N/A) - [52229,1] as INT16U + { 52230, 1} , // Name: External Boolean 30 Switch (N/A) - [52230,1] as INT16U + { 52231, 1} , // Name: External Boolean 31 Switch (N/A) - [52231,1] as INT16U + { 52232, 1} , // Name: External Boolean 32 Switch (N/A) - [52232,1] as INT16U + { 52233, 1} , // Name: External Boolean 33 Switch (N/A) - [52233,1] as INT16U + { 52234, 1} , // Name: External Boolean 34 Switch (N/A) - [52234,1] as INT16U + { 52235, 1} , // Name: External Boolean 35 Switch (N/A) - [52235,1] as INT16U + { 52236, 1} , // Name: External Boolean 36 Switch (N/A) - [52236,1] as INT16U + { 52237, 1} , // Name: External Boolean 37 Switch (N/A) - [52237,1] as INT16U + { 52238, 1} , // Name: External Boolean 38 Switch (N/A) - [52238,1] as INT16U + { 52239, 1} , // Name: External Boolean 39 Switch (N/A) - [52239,1] as INT16U + { 52240, 1} , // Name: External Boolean 40 Switch (N/A) - [52240,1] as INT16U + { 52241, 1} , // Name: External Boolean 41 Switch (N/A) - [52241,1] as INT16U + { 52242, 1} , // Name: External Boolean 42 Switch (N/A) - [52242,1] as INT16U + { 52243, 1} , // Name: External Boolean 43 Switch (N/A) - [52243,1] as INT16U + { 52244, 1} , // Name: External Boolean 44 Switch (N/A) - [52244,1] as INT16U + { 52245, 1} , // Name: External Boolean 45 Switch (N/A) - [52245,1] as INT16U + { 52246, 1} , // Name: External Boolean 46 Switch (N/A) - [52246,1] as INT16U + { 52247, 1} , // Name: External Boolean 47 Switch (N/A) - [52247,1] as INT16U + { 52248, 1} , // Name: External Boolean 48 Switch (N/A) - [52248,1] as INT16U + { 52249, 1} , // Name: External Boolean 49 Switch (N/A) - [52249,1] as INT16U + { 52250, 1} , // Name: External Boolean 50 Switch (N/A) - [52250,1] as INT16U + { 52251, 1} , // Name: External Boolean 51 Switch (N/A) - [52251,1] as INT16U + { 52252, 1} , // Name: External Boolean 52 Switch (N/A) - [52252,1] as INT16U + { 52253, 1} , // Name: External Boolean 53 Switch (N/A) - [52253,1] as INT16U + { 52254, 1} , // Name: External Boolean 54 Switch (N/A) - [52254,1] as INT16U + { 52255, 1} , // Name: External Boolean 55 Switch (N/A) - [52255,1] as INT16U + { 52256, 1} , // Name: External Boolean 56 Switch (N/A) - [52256,1] as INT16U + { 52257, 1} , // Name: External Boolean 57 Switch (N/A) - [52257,1] as INT16U + { 52258, 1} , // Name: External Boolean 58 Switch (N/A) - [52258,1] as INT16U + { 52259, 1} , // Name: External Boolean 59 Switch (N/A) - [52259,1] as INT16U + { 52260, 1} , // Name: External Boolean 60 Switch (N/A) - [52260,1] as INT16U + { 52261, 1} , // Name: External Boolean 61 Switch (N/A) - [52261,1] as INT16U + { 52262, 1} , // Name: External Boolean 62 Switch (N/A) - [52262,1] as INT16U + { 52263, 1} , // Name: External Boolean 63 Switch (N/A) - [52263,1] as INT16U + { 52264, 1} , // Name: External Boolean 64 Switch (N/A) - [52264,1] as INT16U + { 52265, 1} , // Name: External Boolean 65 Switch (N/A) - [52265,1] as INT16U + { 52266, 1} , // Name: External Boolean 66 Switch (N/A) - [52266,1] as INT16U + { 52267, 1} , // Name: External Boolean 67 Switch (N/A) - [52267,1] as INT16U + { 52268, 1} , // Name: External Boolean 68 Switch (N/A) - [52268,1] as INT16U + { 52269, 1} , // Name: External Boolean 69 Switch (N/A) - [52269,1] as INT16U + { 52270, 1} , // Name: External Boolean 70 Switch (N/A) - [52270,1] as INT16U + { 52271, 1} , // Name: External Boolean 71 Switch (N/A) - [52271,1] as INT16U + { 52272, 1} , // Name: External Boolean 72 Switch (N/A) - [52272,1] as INT16U + { 52273, 1} , // Name: External Boolean 73 Switch (N/A) - [52273,1] as INT16U + { 52274, 1} , // Name: External Boolean 74 Switch (N/A) - [52274,1] as INT16U + { 52275, 1} , // Name: External Boolean 75 Switch (N/A) - [52275,1] as INT16U + { 52276, 1} , // Name: External Boolean 76 Switch (N/A) - [52276,1] as INT16U + { 52277, 1} , // Name: External Boolean 77 Switch (N/A) - [52277,1] as INT16U + { 52278, 1} , // Name: External Boolean 78 Switch (N/A) - [52278,1] as INT16U + { 52279, 1} , // Name: External Boolean 79 Switch (N/A) - [52279,1] as INT16U + { 52280, 1} , // Name: External Boolean 80 Switch (N/A) - [52280,1] as INT16U + { 52281, 1} , // Name: External Boolean 81 Switch (N/A) - [52281,1] as INT16U + { 52282, 1} , // Name: External Boolean 82 Switch (N/A) - [52282,1] as INT16U + { 52283, 1} , // Name: External Boolean 83 Switch (N/A) - [52283,1] as INT16U + { 52284, 1} , // Name: External Boolean 84 Switch (N/A) - [52284,1] as INT16U + { 52285, 1} , // Name: External Boolean 85 Switch (N/A) - [52285,1] as INT16U + { 52301, 0} , // Name: External Numeric 1 Value (N/A) - [52301,2] as INT32 + { 52303, 0} , // Name: External Numeric 2 Value (N/A) - [52303,2] as INT32 + { 52305, 0} , // Name: External Numeric 3 Value (N/A) - [52305,2] as INT32 + { 52307, 0} , // Name: External Numeric 4 Value (N/A) - [52307,2] as INT32 + { 52309, 0} , // Name: External Numeric 5 Value (N/A) - [52309,2] as INT32 + { 52311, 0} , // Name: External Numeric 6 Value (N/A) - [52311,2] as INT32 + { 52313, 0} , // Name: External Numeric 7 Value (N/A) - [52313,2] as INT32 + { 52315, 0} , // Name: External Numeric 8 Value (N/A) - [52315,2] as INT32 + { 52317, 0} , // Name: External Numeric 9 Value (N/A) - [52317,2] as INT32 + { 52319, 0} , // Name: External Numeric 10 Value (N/A) - [52319,2] as INT32 + { 52321, 0} , // Name: External Numeric 11 Value (N/A) - [52321,2] as INT32 + { 52323, 0} , // Name: External Numeric 12 Value (N/A) - [52323,2] as INT32 + { 52325, 0} , // Name: External Numeric 13 Value (N/A) - [52325,2] as INT32 + { 52327, 0} , // Name: External Numeric 14 Value (N/A) - [52327,2] as INT32 + { 52329, 0} , // Name: External Numeric 15 Value (N/A) - [52329,2] as INT32 + { 52331, 0} , // Name: External Numeric 16 Value (N/A) - [52331,2] as INT32 + { 52333, 0} , // Name: External Numeric 17 Value (N/A) - [52333,2] as INT32 + { 52335, 0} , // Name: External Numeric 18 Value (N/A) - [52335,2] as INT32 + { 52337, 0} , // Name: External Numeric 19 Value (N/A) - [52337,2] as INT32 + { 52339, 0} , // Name: External Numeric 20 Value (N/A) - [52339,2] as INT32 + { 52341, 0} , // Name: External Numeric 21 Value (N/A) - [52341,2] as INT32 + { 52343, 0} , // Name: External Numeric 22 Value (N/A) - [52343,2] as INT32 + { 52345, 0} , // Name: External Numeric 23 Value (N/A) - [52345,2] as INT32 + { 52347, 0} , // Name: External Numeric 24 Value (N/A) - [52347,2] as INT32 + { 52349, 0} , // Name: External Numeric 25 Value (N/A) - [52349,2] as INT32 + { 52351, 0} , // Name: External Numeric 26 Value (N/A) - [52351,2] as INT32 + { 52353, 0} , // Name: External Numeric 27 Value (N/A) - [52353,2] as INT32 + { 52355, 0} , // Name: External Numeric 28 Value (N/A) - [52355,2] as INT32 + { 52357, 0} , // Name: External Numeric 29 Value (N/A) - [52357,2] as INT32 + { 52359, 0} , // Name: External Numeric 30 Value (N/A) - [52359,2] as INT32 + { 52361, 0} , // Name: External Numeric 31 Value (N/A) - [52361,2] as INT32 + { 52363, 0} , // Name: External Numeric 32 Value (N/A) - [52363,2] as INT32 + { 52365, 0} , // Name: External Numeric 33 Value (N/A) - [52365,2] as INT32 + { 52367, 0} , // Name: External Numeric 34 Value (N/A) - [52367,2] as INT32 + { 52369, 0} , // Name: External Numeric 35 Value (N/A) - [52369,2] as INT32 + { 52371, 0} , // Name: External Numeric 36 Value (N/A) - [52371,2] as INT32 + { 52373, 0} , // Name: External Numeric 37 Value (N/A) - [52373,2] as INT32 + { 52375, 0} , // Name: External Numeric 38 Value (N/A) - [52375,2] as INT32 + { 52377, 0} , // Name: External Numeric 39 Value (N/A) - [52377,2] as INT32 + { 52379, 0} , // Name: External Numeric 40 Value (N/A) - [52379,2] as INT32 + { 54001, 1} , // Name: PM1 Volts Mode (N/A) - [54001,1] as INT16U + { 54002, 1} , // Name: PM1 I1Polarity (N/A) - [54002,1] as INT16U + { 54003, 1} , // Name: PM1 I2Polarity (N/A) - [54003,1] as INT16U + { 54004, 1} , // Name: PM1 I3Polarity (N/A) - [54004,1] as INT16U + { 54392, 1} , // Name: COM1 Baud Rate (N/A) - [54392,1] as INT16U { 54396, 1} , // Name: FAC1 Nominal Frequency (N/A) - [54396,1] as INT16U + { 54586, 1} , // Name: PM1 I4Polarity (N/A) - [54586,1] as INT16U + { 54587, 1} , // Name: PM1 V1Polarity (N/A) - [54587,1] as INT16U + { 54588, 1} , // Name: PM1 V2Polarity (N/A) - [54588,1] as INT16U + { 54589, 1} , // Name: PM1 V3Polarity (N/A) - [54589,1] as INT16U + { 54592, 1} , // Name: COM1 Protocol (N/A) - [54592,1] as INT16U + { 56001, 0} , // Name: PM1 PT Primary (N/A) - [56001,2] as INT32 + { 56003, 0} , // Name: PM1 PT Secondary (N/A) - [56003,2] as INT32 + { 56005, 0} , // Name: PM1 CT Primary (N/A) - [56005,2] as INT32 + { 56007, 0} , // Name: PM1 CT Secondary (N/A) - [56007,2] as INT32 + { 56009, 0} , // Name: PM1 I4 CT Primary (N/A) - [56009,2] as INT32 + { 56011, 0} , // Name: PM1 I4 CT Secondary (N/A) - [56011,2] as INT32 { 56977, 0} , // Name: COM1 RTS Delay (N/A) - [56977,2] as INT32 + { 56979, 0} , // Name: COM1 Unit ID (N/A) - [56979,2] as INT32 } ; diff --git a/docs/PowerLogic-PM8000/genreg/buildregmap2.py b/docs/PowerLogic-PM8000/genreg/buildregmap2.py index a124cc9..f1b8999 100644 --- a/docs/PowerLogic-PM8000/genreg/buildregmap2.py +++ b/docs/PowerLogic-PM8000/genreg/buildregmap2.py @@ -29,9 +29,9 @@ for d in range(1, len(data)): continue # if data[d][9] == "NONE": # continue - if data[d][4] == "---" or data[d][4] == "seconds" or data[d][4] == "degrees": + if data[d][4] == "seconds" or data[d][4] == "degrees": continue - if data[d][3] == "UTF8" or data[d][3] == "DATETIME" or data[d][3] == "BITMAP" or data[d][3] == "N/A": + if data[d][3] == "DATETIME" or data[d][3] == "BITMAP" or data[d][3] == "N/A": continue if data[d][0].find("Magnitude") >= 0: continue @@ -44,6 +44,8 @@ for d in range(1, len(data)): typeint = 3 elif data[d][3] == "INT32U": typeint = 4 + elif data[d][3] == "UTF8": + typeint = 5 #print("{} @ {}:{} ({}) Tag: {}".format(data[d][0], data[d][1] ,data[d][2] ,data[d][3],data[d][7])) diff --git a/docs/formulas.md b/docs/formulas.md new file mode 100644 index 0000000..0854145 --- /dev/null +++ b/docs/formulas.md @@ -0,0 +1,22 @@ + +# Calculations + +## LED Formula + +### LED Spec: +2.8v (forward voltage) +20ma (current) + +Vsupply = 5v (Pi Power) +Vf = 2.8v (Led Volts) +R = resistor value +If = desired current + +Vr = Vsupply - Vf +R = Vr / If + +Vr = 5V - 2.8V = 2.2V +R = 2.2V / 20mA = 110 ohms + +Make sure to add some play room, we use a 120 omhs resistor + diff --git a/firmware/modbus-sd/modbus-sd-pm8000/modbus-sd-pm8000.ino b/firmware/modbus-sd/modbus-sd-pm8000/modbus-sd-pm8000.ino index a4065ce..79470ac 100644 --- a/firmware/modbus-sd/modbus-sd-pm8000/modbus-sd-pm8000.ino +++ b/firmware/modbus-sd/modbus-sd-pm8000/modbus-sd-pm8000.ino @@ -39,18 +39,22 @@ ModbusMaster node; unsigned long lastRefreshTime = 0; bool headerWritten = false; +bool booted = false; -void flicker(uint8_t pin ,uint8_t times , uint16_t speed ) { - for (int i = 0; i < times; i++) { +void flicker(uint8_t pin, uint8_t times, uint16_t speed) +{ + for (int i = 0; i < times; i++) + { + delay(speed); digitalWrite(pin, HIGH); delay(speed); digitalWrite(pin, LOW); - delay(speed); } } void setup() { + booted = false; pinMode(LED_A_PID, OUTPUT); pinMode(LED_B_PID, OUTPUT); digitalWrite(LED_A_PID, LOW); @@ -63,7 +67,10 @@ void setup() if (!rtc.begin()) { Serial.println(F("Couldn't find RTC\n")); - flicker(LED_B_PID,4,500); //4 times on LED b is RTC Error + flicker(LED_B_PID, 4, 1000); // 4 times on LED b is RTC Error + digitalWrite(LED_B_PID, HIGH); + digitalWrite(LED_A_PID, HIGH); + return; } if (rtc.lostPower()) @@ -71,7 +78,7 @@ void setup() Serial.println(F("RTC lost power, let's set the time!\n")); // Comment out the following line once the time is set to avoid resetting on every start rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); - flicker(LED_B_PID,4,100); //4 times fast on LED b is RTC reset + flicker(LED_B_PID, 4, 500); // 6 times fast on LED b is RTC reset } Serial.print(F("Time: ")); @@ -90,8 +97,11 @@ void setup() // Initialize the SD. if (!sd.begin(SD_CONFIG)) { + flicker(LED_B_PID, 2, 1000); + digitalWrite(LED_B_PID, HIGH); sd.initErrorHalt(&Serial); - flicker(LED_B_PID,2,500); //2 Times slow, SD Card initilize error + + // 2 Times slow and stay on, SD Card initilize error return; } Serial.println(F("SD card initialized.\n")); @@ -105,7 +115,9 @@ void setup() node.begin(SLAVE_ID, modbusSerial); node.preTransmission(preTransmission); node.postTransmission(postTransmission); - flicker(LED_A_PID,2,100); + flicker(LED_B_PID, 10, 100); + digitalWrite(LED_B_PID, LOW); + booted = true; } void preTransmission() @@ -150,7 +162,7 @@ void primeFileDate() String getFilename() { DateTime now = rtc.now(); - String mb = F(""); + String mb = F("pm8k_"); mb += now.year(); mb += now.month(); mb += now.day(); @@ -163,6 +175,14 @@ String getFilename() void loop() { + if (!booted) + { + Serial.print(F("\nBoot failed, cycle ")); + + delay(10000); + digitalWrite(LED_A_PID, LOW); + return; + } delay(100); String writebuffer; @@ -182,7 +202,7 @@ void loop() Serial.print("\n"); if (!dataFile.open(filename.c_str(), FILE_WRITE)) { - flicker(LED_B_PID,6,100); //Six quick flickers. SD Card error + flicker(LED_B_PID, 6, 500); // Six quick flickers. SD Card error Serial.println(F("Failed to Open Card ")); } if (!headerWritten) @@ -191,12 +211,12 @@ void loop() for (int i = 0; i < totalReg; i++) { const uint16_t regaddr = pgm_read_word(®isters[i].regaddr); - dataFile.print("Addr @ "); + dataFile.print("@"); dataFile.print(regaddr); dataFile.print(","); } headerWritten = true; - flicker(LED_A_PID,50,10); //10 flickers, written header + flicker(LED_A_PID, 50, 10); // 10 flickers, written header } primeFileDate(); Serial.print("\n"); @@ -214,9 +234,9 @@ void loop() if (regaddr > 0) { - delay(50); //Gives the pending communication a little delay + delay(25); // Gives the pending communication a little delay uint8_t result = node.readHoldingRegisters(regaddr - 1, 2); - delay(50); //Delay the read for a little bit so that the buffer can be read + delay(25); // Delay the read for a little bit so that the buffer can be read if (result == node.ku8MBSuccess) { @@ -236,6 +256,18 @@ void loop() { dataFile.print(getRegisterInt32(node.getResponseBuffer(0), node.getResponseBuffer(1))); } + else if (regtype == 5) + { + for (uint8_t j = 0; j < 20; j++) + { + uint8_t v = node.getResponseBuffer(j); + char a = v; + if (v == 0) { + break; + } + dataFile.print(a); + } + } else { dataFile.print(F("null")); @@ -248,6 +280,7 @@ void loop() Serial.print("\n"); dataFile.print(F("E")); dataFile.print(result, HEX); + flicker(LED_B_PID, 2, 250); } dataFile.print(","); } @@ -266,7 +299,7 @@ void loop() Serial.print(F("\n\n")); - flicker(LED_A_PID,4,10); //Cycle written 4 quick flickers + flicker(LED_A_PID, 4, 100); // Cycle written 4 quick flickers } // // Check if the read was successful diff --git a/firmware/modbus-sd/modbus-sd-pm8000/register_map_pm8000.h b/firmware/modbus-sd/modbus-sd-pm8000/register_map_pm8000.h index 6a4257d..82a214d 100644 --- a/firmware/modbus-sd/modbus-sd-pm8000/register_map_pm8000.h +++ b/firmware/modbus-sd/modbus-sd-pm8000/register_map_pm8000.h @@ -8,7 +8,9 @@ struct RegisterMap }; const PROGMEM RegisterMap registers[] = { - { 1837, 1} , // Name: Year (Year) - [1837,1] as INT16U + //{ 30, 5} , // Name: Meter Name (DeviceName) - [30,20] as UTF8 + //{ 50, 5} , // Name: Meter Model (DeviceType) - [50,20] as UTF8 + { 1837, 1} , // Name: Year (Year) - [1837,1] as INT16U { 1838, 1} , // Name: Month (Month) - [1838,1] as INT16U { 1839, 1} , // Name: Day (Day) - [1839,1] as INT16U { 1840, 1} , // Name: Hour (Hour) - [1840,1] as INT16U @@ -17,53 +19,53 @@ const PROGMEM RegisterMap registers[] = { { 2702, 2} , // Name: Active Energy Received (Out of Load) (kWh rec) - [2702,2] as FLOAT32 { 2704, 2} , // Name: Active Energy Delivered + Received (kWh del+rec) - [2704,2] as FLOAT32 { 2706, 2} , // Name: Active Energy Delivered- Received (kWh del-rec) - [2706,2] as FLOAT32 -// { 2708, 2} , // Name: Reactive Energy Delivered (kVARh del) - [2708,2] as FLOAT32 -// { 2710, 2} , // Name: Reactive Energy Received (kVARh rec) - [2710,2] as FLOAT32 -// { 2712, 2} , // Name: Reactive Energy Delivered + Received (kVARh del+rec) - [2712,2] as FLOAT32 -// { 2714, 2} , // Name: Reactive Energy Delivered - Received (kVARh del-rec) - [2714,2] as FLOAT32 -// { 2716, 2} , // Name: Apparent Energy Delivered (kVAh del) - [2716,2] as FLOAT32 -// { 2718, 2} , // Name: Apparent Energy Received (kVAh rec) - [2718,2] as FLOAT32 -// { 2720, 2} , // Name: Apparent Energy Delivered + Received (kVAh del+rec) - [2720,2] as FLOAT32 -// { 2722, 2} , // Name: Apparent Energy Delivered - Received (kVAh del-rec) - [2722,2] as FLOAT32 -// { 2724, 2} , // Name: Active Energy in Quadrant I (kWh Q1) - [2724,2] as FLOAT32 -// { 2726, 2} , // Name: Active Energy in Quadrant II (kWh Q2) - [2726,2] as FLOAT32 -// { 2728, 2} , // Name: Active Energy in Quadrant III (kWh Q3) - [2728,2] as FLOAT32 -// { 2730, 2} , // Name: Active Energy in Quadrant IV (kWh Q4) - [2730,2] as FLOAT32 -// { 2732, 2} , // Name: Reactive Energy in Quadrant I (kVARh Q1) - [2732,2] as FLOAT32 -// { 2734, 2} , // Name: Reactive Energy in Quadrant II (kVARh Q2) - [2734,2] as FLOAT32 -// { 2736, 2} , // Name: Reactive Energy in Quadrant III (kVARh Q3) - [2736,2] as FLOAT32 -// { 2738, 2} , // Name: Reactive Energy in Quadrant IV (kVARh Q4) - [2738,2] as FLOAT32 -// { 2740, 2} , // Name: Apparent Energy in Quadrant I (kVAh Q1) - [2740,2] as FLOAT32 -// { 2742, 2} , // Name: Apparent Energy in Quadrant II (kVAh Q2) - [2742,2] as FLOAT32 -// { 2744, 2} , // Name: Apparent Energy in Quadrant III (kVAh Q3) - [2744,2] as FLOAT32 -// { 2746, 2} , // Name: Apparent Energy in Quadrant IV (kVAh Q4) - [2746,2] as FLOAT32 -// { 2748, 2} , // Name: Conditional Active Energy Delivered (Into Load) (Cnd kWh del) - [2748,2] as FLOAT32 -// { 2750, 2} , // Name: Conditional Active Energy Received (Out of Load) (Cnd kWh rec) - [2750,2] as FLOAT32 -// { 2754, 2} , // Name: Active Energy Delivered - Received, Conditional (Cnd kWh d-r) - [2754,2] as FLOAT32 -// { 2756, 2} , // Name: Conditional Reactive Energy In (Delivered) (Cnd kVARh del) - [2756,2] as FLOAT32 -// { 2758, 2} , // Name: Conditional Reactive Energy Out (Received) (Cnd kVARh rec) - [2758,2] as FLOAT32 -// { 2762, 2} , // Name: Reactive Energy Delivered - Received, Conditional (Cnd kVARh d-r) - [2762,2] as FLOAT32 -// { 2768, 2} , // Name: Apparent Energy Delivered + Received, Conditional (Cnd kVAh d+r) - [2768,2] as FLOAT32 -// { 2772, 2} , // Name: Active Energy Delivered , Last Complete Interval (Inc kWh del C) - [2772,2] as FLOAT32 -// { 2774, 2} , // Name: Active Energy Received , Last Complete Interval (Inc kWh rec C) - [2774,2] as FLOAT32 -// { 2776, 2} , // Name: Active Energy Delivered - Received , Last Complete Interval (Inc kWh d-r C) - [2776,2] as FLOAT32 -// { 2778, 2} , // Name: Reactive Energy Delivered , Last Complete Interval (Inc kVARh del C) - [2778,2] as FLOAT32 -// { 2780, 2} , // Name: Reactive Energy Received , Last Complete Interval (Inc kVARh rec C) - [2780,2] as FLOAT32 -// { 2782, 2} , // Name: Reactive Energy Delivered - Received , Last Complete Interval (Inc kVARh d-r C) - [2782,2] as FLOAT32 -// { 2784, 2} , // Name: Apparent Energy Delivered + Received , Last Complete Interval (Inc kVAh d+r C) - [2784,2] as FLOAT32 -// { 2786, 2} , // Name: Active Energy Delivered , Present Interval (Inc kWh del) - [2786,2] as FLOAT32 -// { 2788, 2} , // Name: Active Energy Received , Present Interval (Inc kWh rec) - [2788,2] as FLOAT32 -// { 2790, 2} , // Name: Active Energy Delivered - Received , Present Interval (Inc kWh d-r) - [2790,2] as FLOAT32 -// { 2792, 2} , // Name: Reactive Energy Delivered , Present Interval (Inc kVARh del) - [2792,2] as FLOAT32 -// { 2794, 2} , // Name: Reactive Energy Received , Present Interval (Inc kVARh rec) - [2794,2] as FLOAT32 -// { 2796, 2} , // Name: Reactive Energy Delivered - Received , Present Interval (Inc kVARh d-r) - [2796,2] as FLOAT32 -// { 2798, 2} , // Name: Apparent Energy Delivered + Received , Present Interval (Inc kVAh d+r) - [2798,2] as FLOAT32 -// { 2800, 2} , // Name: Active Energy Delivered Interval (kWh del int) - [2800,2] as FLOAT32 -// { 2802, 2} , // Name: Active Energy Received Interval (kWh rec int) - [2802,2] as FLOAT32 -// { 2804, 2} , // Name: Reactive Energy Delivered Interval (kVARh del int) - [2804,2] as FLOAT32 -// { 2806, 2} , // Name: Reactive Energy Received Interval (kVARh rec int) - [2806,2] as FLOAT32 -// { 2808, 2} , // Name: Apparent Energy Delivered Interval (kVAh del int) - [2808,2] as FLOAT32 -// { 2810, 2} , // Name: Apparent Energy Received Interval (kVAh rec int) - [2810,2] as FLOAT32 + { 2708, 2} , // Name: Reactive Energy Delivered (kVARh del) - [2708,2] as FLOAT32 + { 2710, 2} , // Name: Reactive Energy Received (kVARh rec) - [2710,2] as FLOAT32 + { 2712, 2} , // Name: Reactive Energy Delivered + Received (kVARh del+rec) - [2712,2] as FLOAT32 + { 2714, 2} , // Name: Reactive Energy Delivered - Received (kVARh del-rec) - [2714,2] as FLOAT32 + { 2716, 2} , // Name: Apparent Energy Delivered (kVAh del) - [2716,2] as FLOAT32 + { 2718, 2} , // Name: Apparent Energy Received (kVAh rec) - [2718,2] as FLOAT32 + { 2720, 2} , // Name: Apparent Energy Delivered + Received (kVAh del+rec) - [2720,2] as FLOAT32 + { 2722, 2} , // Name: Apparent Energy Delivered - Received (kVAh del-rec) - [2722,2] as FLOAT32 + { 2724, 2} , // Name: Active Energy in Quadrant I (kWh Q1) - [2724,2] as FLOAT32 + { 2726, 2} , // Name: Active Energy in Quadrant II (kWh Q2) - [2726,2] as FLOAT32 + { 2728, 2} , // Name: Active Energy in Quadrant III (kWh Q3) - [2728,2] as FLOAT32 + { 2730, 2} , // Name: Active Energy in Quadrant IV (kWh Q4) - [2730,2] as FLOAT32 + { 2732, 2} , // Name: Reactive Energy in Quadrant I (kVARh Q1) - [2732,2] as FLOAT32 + { 2734, 2} , // Name: Reactive Energy in Quadrant II (kVARh Q2) - [2734,2] as FLOAT32 + { 2736, 2} , // Name: Reactive Energy in Quadrant III (kVARh Q3) - [2736,2] as FLOAT32 + { 2738, 2} , // Name: Reactive Energy in Quadrant IV (kVARh Q4) - [2738,2] as FLOAT32 + { 2740, 2} , // Name: Apparent Energy in Quadrant I (kVAh Q1) - [2740,2] as FLOAT32 + { 2742, 2} , // Name: Apparent Energy in Quadrant II (kVAh Q2) - [2742,2] as FLOAT32 + { 2744, 2} , // Name: Apparent Energy in Quadrant III (kVAh Q3) - [2744,2] as FLOAT32 + { 2746, 2} , // Name: Apparent Energy in Quadrant IV (kVAh Q4) - [2746,2] as FLOAT32 + { 2748, 2} , // Name: Conditional Active Energy Delivered (Into Load) (Cnd kWh del) - [2748,2] as FLOAT32 + { 2750, 2} , // Name: Conditional Active Energy Received (Out of Load) (Cnd kWh rec) - [2750,2] as FLOAT32 + { 2754, 2} , // Name: Active Energy Delivered - Received, Conditional (Cnd kWh d-r) - [2754,2] as FLOAT32 + { 2756, 2} , // Name: Conditional Reactive Energy In (Delivered) (Cnd kVARh del) - [2756,2] as FLOAT32 + { 2758, 2} , // Name: Conditional Reactive Energy Out (Received) (Cnd kVARh rec) - [2758,2] as FLOAT32 + { 2762, 2} , // Name: Reactive Energy Delivered - Received, Conditional (Cnd kVARh d-r) - [2762,2] as FLOAT32 + { 2768, 2} , // Name: Apparent Energy Delivered + Received, Conditional (Cnd kVAh d+r) - [2768,2] as FLOAT32 + { 2772, 2} , // Name: Active Energy Delivered , Last Complete Interval (Inc kWh del C) - [2772,2] as FLOAT32 + { 2774, 2} , // Name: Active Energy Received , Last Complete Interval (Inc kWh rec C) - [2774,2] as FLOAT32 + { 2776, 2} , // Name: Active Energy Delivered - Received , Last Complete Interval (Inc kWh d-r C) - [2776,2] as FLOAT32 + { 2778, 2} , // Name: Reactive Energy Delivered , Last Complete Interval (Inc kVARh del C) - [2778,2] as FLOAT32 + { 2780, 2} , // Name: Reactive Energy Received , Last Complete Interval (Inc kVARh rec C) - [2780,2] as FLOAT32 + { 2782, 2} , // Name: Reactive Energy Delivered - Received , Last Complete Interval (Inc kVARh d-r C) - [2782,2] as FLOAT32 + { 2784, 2} , // Name: Apparent Energy Delivered + Received , Last Complete Interval (Inc kVAh d+r C) - [2784,2] as FLOAT32 + { 2786, 2} , // Name: Active Energy Delivered , Present Interval (Inc kWh del) - [2786,2] as FLOAT32 + { 2788, 2} , // Name: Active Energy Received , Present Interval (Inc kWh rec) - [2788,2] as FLOAT32 + { 2790, 2} , // Name: Active Energy Delivered - Received , Present Interval (Inc kWh d-r) - [2790,2] as FLOAT32 + { 2792, 2} , // Name: Reactive Energy Delivered , Present Interval (Inc kVARh del) - [2792,2] as FLOAT32 + { 2794, 2} , // Name: Reactive Energy Received , Present Interval (Inc kVARh rec) - [2794,2] as FLOAT32 + { 2796, 2} , // Name: Reactive Energy Delivered - Received , Present Interval (Inc kVARh d-r) - [2796,2] as FLOAT32 + { 2798, 2} , // Name: Apparent Energy Delivered + Received , Present Interval (Inc kVAh d+r) - [2798,2] as FLOAT32 + { 2800, 2} , // Name: Active Energy Delivered Interval (kWh del int) - [2800,2] as FLOAT32 + { 2802, 2} , // Name: Active Energy Received Interval (kWh rec int) - [2802,2] as FLOAT32 + { 2804, 2} , // Name: Reactive Energy Delivered Interval (kVARh del int) - [2804,2] as FLOAT32 + { 2806, 2} , // Name: Reactive Energy Received Interval (kVARh rec int) - [2806,2] as FLOAT32 + { 2808, 2} , // Name: Apparent Energy Delivered Interval (kVAh del int) - [2808,2] as FLOAT32 + { 2810, 2} , // Name: Apparent Energy Received Interval (kVAh rec int) - [2810,2] as FLOAT32 { 3000, 2} , // Name: Current A (I a) - [3000,2] as FLOAT32 { 3002, 2} , // Name: Current B (I b) - [3002,2] as FLOAT32 { 3004, 2} , // Name: Current C (I c) - [3004,2] as FLOAT32 @@ -81,16 +83,16 @@ const PROGMEM RegisterMap registers[] = { { 3054, 2} , // Name: Active Power A (kW a) - [3054,2] as FLOAT32 { 3056, 2} , // Name: Active Power B (kW b) - [3056,2] as FLOAT32 { 3058, 2} , // Name: Active Power C (kW c) - [3058,2] as FLOAT32 -// { 3060, 2} , // Name: Active Power Total (kW tot) - [3060,2] as FLOAT32 -// { 3062, 2} , // Name: Reactive Power A (kVAR a) - [3062,2] as FLOAT32 -// { 3064, 2} , // Name: Reactive Power B (kVAR b) - [3064,2] as FLOAT32 -// { 3066, 2} , // Name: Reactive Power C (kVAR c) - [3066,2] as FLOAT32 -// { 3068, 2} , // Name: Reactive Power Total (kVAR tot) - [3068,2] as FLOAT32 -// { 3070, 2} , // Name: Apparent Power A (kVA a) - [3070,2] as FLOAT32 -// { 3072, 2} , // Name: Apparent Power B (kVA b) - [3072,2] as FLOAT32 -// { 3074, 2} , // Name: Apparent Power C (kVA c) - [3074,2] as FLOAT32 -// { 3076, 2} , // Name: Apparent Power Total (kVA tot) - [3076,2] as FLOAT32 -// { 3110, 2} , // Name: Frequency (Freq) - [3110,2] as FLOAT32 + { 3060, 2} , // Name: Active Power Total (kW tot) - [3060,2] as FLOAT32 + { 3062, 2} , // Name: Reactive Power A (kVAR a) - [3062,2] as FLOAT32 + { 3064, 2} , // Name: Reactive Power B (kVAR b) - [3064,2] as FLOAT32 + { 3066, 2} , // Name: Reactive Power C (kVAR c) - [3066,2] as FLOAT32 + { 3068, 2} , // Name: Reactive Power Total (kVAR tot) - [3068,2] as FLOAT32 + { 3070, 2} , // Name: Apparent Power A (kVA a) - [3070,2] as FLOAT32 + { 3072, 2} , // Name: Apparent Power B (kVA b) - [3072,2] as FLOAT32 + { 3074, 2} , // Name: Apparent Power C (kVA c) - [3074,2] as FLOAT32 + { 3076, 2} , // Name: Apparent Power Total (kVA tot) - [3076,2] as FLOAT32 + { 3110, 2} , // Name: Frequency (Freq) - [3110,2] as FLOAT32 // { 3204, 3} , // Name: Active Energy Delivered (Into Load) (kWh del) - [3204,4] as INT64 // { 3208, 3} , // Name: Active Energy Received (Out of Load) (kWh rec) - [3208,4] as INT64 // { 3212, 3} , // Name: Active Energy Delivered + Received (kWh del+rec) - [3212,4] as INT64