diff --git a/Service/Ammeter/Client/AmmeterClient.cs b/Service/Ammeter/Client/AmmeterClient.cs new file mode 100644 index 0000000..621bc2b --- /dev/null +++ b/Service/Ammeter/Client/AmmeterClient.cs @@ -0,0 +1,46 @@ +using Common.Const; +using Entity.DbModel.Station; +using HybirdFrameworkCore.Autofac.Attribute; +using HybirdFrameworkCore.Const; +using HybirdFrameworkDriver.ModbusTcpMaster; +using log4net; +using Repository.Station; +using Service.Ammeter.Msg; +using Service.FireControl.Msg; + +namespace Service.FireControl.Client; + +[Scope] +public class AmmeterClient : ModbusTcpMaster +{ + private static readonly ILog Log = LogManager.GetLogger(typeof(AmmeterClient)); + + public AmmeterClient() + { + ReadAction = BatchRead; + Ip = "";//172.0.50.100 + Port = 502; + Duration = 1000; + AutoReConnect = true; + ByteSeq = EndingConst.ByteSeq.BA; + WordSeq= EndingConst.WordSeq.CD; + } + + private bool BatchRead(ModbusTcpMaster master) + { + bool connectResult = false; + Log.Info("Ammeter start read"); + + #region 电表 + //var bytes03 = master.Read("s=2;x=3;1", 3).Content;//0x03 + var readPowerValue = master.Read("x=3;39424", 2).Content; + if (readPowerValue != null) + { + connectResult = true; + ModbusDecoder.Decode(readPowerValue, AmmeterMgr.ACMeters, EndingConst.ByteSeq.AB, EndingConst.WordSeq.DC); + } + #endregion + return connectResult; + } + +} diff --git a/Service/Ammeter/Client/AmmeterMgr.cs b/Service/Ammeter/Client/AmmeterMgr.cs new file mode 100644 index 0000000..37f4917 --- /dev/null +++ b/Service/Ammeter/Client/AmmeterMgr.cs @@ -0,0 +1,45 @@ +using Autofac; +using HybirdFrameworkCore.Autofac; +using Service.Ammeter.Msg; +using Service.FireControl.Msg; +using Service.Plc.Client; + +namespace Service.FireControl.Client; + +public class AmmeterMgr +{ + public static ACMeters ACMeters = new ACMeters(); + + public static AmmeterClient? AmmeterClient { get; set; } + + #region MyRegion + + public static void Init() + { + if (AmmeterClient == null) + { + AmmeterClient = AppInfo.Container.Resolve(); + } + + Task.Run(() => AmmeterClient.Connect()); + } + + + /// + /// 写 + /// + /// + public static bool ResettingOn() + { + if (AmmeterClient != null) + { + return AmmeterClient.WriteValue(ACMeters.ActiveTotalEnergy); + } + + return false; + } + + + + #endregion +} \ No newline at end of file diff --git a/Service/Ammeter/Msg/ACMeters.cs b/Service/Ammeter/Msg/ACMeters.cs new file mode 100644 index 0000000..2b3b20c --- /dev/null +++ b/Service/Ammeter/Msg/ACMeters.cs @@ -0,0 +1,1065 @@ +using HybirdFrameworkDriver.ModbusTcpMaster; +using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; +using Pipelines.Sockets.Unofficial.Arenas; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Service.Ammeter.Msg +{ + public class ACMeters + { + //registerNo:地址编号 + //start:默认值为0,表示从第几个字节开始读取数据 + //length:默认值为1,表示需要读取的数据长度,单位通常是字节。 + //scale:默认值为1.0,这是一个缩放因子, + //round:默认值为0,表示是否需要对读取的结果进行四舍五入操作以及到多少位小数。 + //offset:默认值为0.0,这是一个偏移量, + //value:此参数是一个可选的初始化值, + + #region 正反有无电能 + /// + /// 当前组合有功总电能 + /// + public ModbusProperty ActiveTotalEnergy { get; set; } = new(0x0000, length: 4, scale: 0.01, round: 2); + ///当前组合有功尖电能 + public ModbusProperty ActiveSharpEnergy { get; set; } = new(0x0002, length: 4, scale: 0.01, round: 2); + /// + /// 当前组合有功峰电能 + /// + public ModbusProperty ActivePeakEnergy { get; set; } = new(0x0004, length: 4, scale: 0.01, round: 2); + /// + /// 当前组合有功平电能 + /// + public ModbusProperty ActiveFlatEnergy { get; set; } = new(0x0006, length: 4, scale: 0.01, round: 2); + /// + /// 当前组合有功谷电能 + /// + public ModbusProperty ActiveValleyEnergy { get; set; } = new(0x0008, length: 4, scale: 0.01, round: 2); + /// + /// 当前正向总有功电能 + /// + public ModbusProperty PositiveTotalActiveEnergy { get; set; } = new(0x000A, length: 4, scale: 0.01, round: 2); + /// + /// 当前正向有功尖电能 + /// + public ModbusProperty PositiveActiveSharpEnergy { get; set; } = new(0x000C, length: 4, scale: 0.01, round: 2); + //当前正向有功峰电能 + public ModbusProperty PositiveActivePeakEnergy { get; set; } = new(0x000E, length: 4, scale: 0.01, round: 2); + //当前正向有功平电能 + public ModbusProperty PositiveActiveFlatEnergy { get; set; } = new(0x0010, length: 4, scale: 0.01, round: 2); + //当前正向有功谷电能 + public ModbusProperty PositiveActiveValleyEnergy { get; set; } = new(0x0012, length: 4, scale: 0.01, round: 2); + + //当前反向总有功电能 + public ModbusProperty ReverseTotalActiveEnergy { get; set; } = new(0x0014, length: 4, scale: 0.01, round: 2); + //当前反向有功尖电能 + public ModbusProperty ReverseActiveSharpEnergy { get; set; } = new(0x0016, length: 4, scale: 0.01, round: 2); + //当前反向有功峰电能 + public ModbusProperty ReverseActivePeakEnergy { get; set; } = new(0x0018, length: 4, scale: 0.01, round: 2); + //当前反向有功平电能 + public ModbusProperty ReverseActiveFlatEnergy { get; set; } = new(0x001A, length: 4, scale: 0.01, round: 2); + //当前反向有功谷电能 + public ModbusProperty ReverseActiveValleyEnergy { get; set; } = new(0x001C, length: 4, scale: 0.01, round: 2); + + //当前组合无功总电能 + public ModbusProperty ReactiveTotalEnergy { get; set; } = new(0x001E, length: 4, scale: 0.01, round: 2); + //当前组合无功尖电能 + public ModbusProperty ReactiveSharpEnergy { get; set; } = new(0x0020, length: 4, scale: 0.01, round: 2); + //当前组合无功峰电能 + public ModbusProperty ReactivePeakEnergy { get; set; } = new(0x0022, length: 4, scale: 0.01, round: 2); + //当前组合无功平电能 + public ModbusProperty ReactiveFlatEnergy { get; set; } = new(0x0024, length: 4, scale: 0.01, round: 2); + //当前组合无功谷电能 + public ModbusProperty ReactiveValleyEnergy { get; set; } = new(0x0026, length: 4, scale: 0.01, round: 2); + + //当前正向总无功电能 + public ModbusProperty PositiveTotalReactiveEnergy { get; set; } = new(0x0028, length: 4, scale: 0.01, round: 2); + //当前正向无功尖电能 + public ModbusProperty PositiveReactiveSharpEnergy { get; set; } = new(0x002A, length: 4, scale: 0.01, round: 2); + //当前正向无功峰电能 + public ModbusProperty PositiveReactivePeakEnergy { get; set; } = new(0x002C, length: 4, scale: 0.01, round: 2); + //当前正向无功平电能 + public ModbusProperty PositiveReactiveFlatEnergy { get; set; } = new(0x002E, length: 4, scale: 0.01, round: 2); + //当前正向无功谷电能 + public ModbusProperty PositiveReactiveValleyEnergy { get; set; } = new(0x0030, length: 4, scale: 0.01, round: 2); + + //当前反向总无功电能 + public ModbusProperty ReverseTotalReactiveEnergy { get; set; } = new(0x0032, length: 4, scale: 0.01, round: 2); + //当前反向无功尖电能 + public ModbusProperty ReverseReactiveSharpEnergy { get; set; } = new(0x0034, length: 4, scale: 0.01, round: 2); + //当前反向无功峰电能 + public ModbusProperty ReverseReactivePeakEnergy { get; set; } = new(0x0036, length: 4, scale: 0.01, round: 2); + //当前反向无功平电能 + public ModbusProperty ReverseReactiveFlatEnergy { get; set; } = new(0x0038, length: 4, scale: 0.01, round: 2); + //当前反向无功谷电能 + public ModbusProperty ReverseReactiveValleyEnergy { get; set; } = new(0x003A, length: 4, scale: 0.01, round: 2); + #endregion + + #region 费率1 + //秒 + public ModbusProperty Seconds { get; set; } = new(0x003C,start:0, length: 1); + //分 + public ModbusProperty Minutes { get; set; } = new(0x003C,start:1, length: 1); + //时 + public ModbusProperty Hours { get; set; } = new(0x003D,start:0, length: 1); + //日 + public ModbusProperty Day { get; set; } = new(0x003D,start:1, length: 1); + //月 + public ModbusProperty Month { get; set; } = new(0x003E,start:0, length: 1); + //年 + public ModbusProperty Years { get; set; } = new(0x003E,start:1, length: 1); + //第一路通讯 通讯地址 + public ModbusProperty MailingAddress { get; set; } = new(0x003F,start:0, length: 1); + //波特率 + public ModbusProperty BaudRate { get; set; } = new(0x003F,start:1, length: 1); + //脉冲常数 + public ModbusProperty PulseConstant { get; set; } = new(0x0040, length: 2); + + #region 时区 + //第 1 时区时段表号 + // 时段表号: 1:第一套时段表 + //2:第二套时段表 + //3:第三套时段表 + //4:第四套时段表 + public ModbusProperty FirstZoneSegmentNumber { get; set; } = new(0x0041, start: 0, length: 1); + //第 1 时区起始日期:日 + public ModbusProperty FirstZoneDay { get; set; } = new(0x0041, start: 1, length: 1); + //第 1 时区起始日期:月 + public ModbusProperty FirstZoneMonth { get; set; } = new(0x0042, start: 0, length: 1); + //第 2 时区时段表号 + public ModbusProperty SecondZoneSegmentNumber { get; set; } = new(0x0042, start: 1, length: 1); + //第 2 时区起始日期:日 + public ModbusProperty SecondZoneDay { get; set; } = new(0x0043, start: 0, length: 1); + //第 2 时区起始日期:月 + public ModbusProperty SecondZoneMonth { get; set; } = new(0x0043, start: 1, length: 1); + //第 3 时区时段表号 + public ModbusProperty ThirdZoneSegmentNumber { get; set; } = new(0x0044, start: 0, length: 1); + //第 3 时区起始日期:日 + public ModbusProperty ThirdZoneDay { get; set; } = new(0x0044, start: 1, length: 1); + //第 3 时区起始日期:月 + public ModbusProperty ThirdZoneMonth { get; set; } = new(0x0045, start: 0, length: 1); + //第 4 时区时段表号 + public ModbusProperty FourthZoneSegmentNumber { get; set; } = new(0x0045, start: 1, length: 1); + //第 4 时区起始日期:日 + public ModbusProperty FourthZoneDay { get; set; } = new(0x0046, start: 0, length: 1); + //第 4 时区起始日期:月 + public ModbusProperty FourthZoneMonth { get; set; } = new(0x0046, start: 1, length: 1); + #endregion + + #region 第一套时段尖峰平谷 1~8时段 + //第 1 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate1 { get; set; } = new(0x0047, start: 0, length: 1); + //第 1 时段起始:分 + public ModbusProperty FirstSegmentMinutes1 { get; set; } = new(0x0047, start: 1, length: 1); + //第 1 时段起始:时 + public ModbusProperty FirstSegmentHours1 { get; set; } = new(0x0048, start: 0, length: 1); + + //第 2 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate2 { get; set; } = new(0x0048, start: 1, length: 1); + //第 2 时段起始:分 + public ModbusProperty FirstSegmentMinutes2 { get; set; } = new(0x0049, start: 0, length: 1); + //第 2 时段起始:时 + public ModbusProperty FirstSegmentHours2 { get; set; } = new(0x0049, start: 1, length: 1); + //第 3 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate3 { get; set; } = new(0x004A, start: 0, length: 1); + //第 3 时段起始:分 + public ModbusProperty FirstSegmentMinutes3 { get; set; } = new(0x004A, start: 1, length: 1); + //第 3 时段起始:时 + public ModbusProperty FirstSegmentHours3 { get; set; } = new(0x004B, start: 0, length: 1); + //第 4 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate4 { get; set; } = new(0x004B, start: 1, length: 1); + //第 4 时段起始:分 + public ModbusProperty FirstSegmentMinutes4 { get; set; } = new(0x004C, start: 0, length: 1); + //第 4 时段起始:时 + public ModbusProperty FirstSegmentHours4 { get; set; } = new(0x004C, start: 1, length: 1); + //第 5 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate5 { get; set; } = new(0x004D, start: 0, length: 1); + //第 5 时段起始:分 + public ModbusProperty FirstSegmentMinutes5 { get; set; } = new(0x004D, start: 1, length: 1); + //第 5 时段起始:时 + public ModbusProperty FirstSegmentHours5 { get; set; } = new(0x004E, start: 0, length: 1); + //第 6 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate6 { get; set; } = new(0x004E, start: 1, length: 1); + //第 6 时段起始:分 + public ModbusProperty FirstSegmentMinutes6 { get; set; } = new(0x004F, start: 0, length: 1); + //第 6 时段起始:时 + public ModbusProperty FirstSegmentHours6 { get; set; } = new(0x004F, start: 1, length: 1); + //第 7 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate7 { get; set; } = new(0x0050, start: 0, length: 1); + //第 7 时段起始:分 + public ModbusProperty FirstSegmentMinutes7 { get; set; } = new(0x0050, start: 1, length: 1); + //第 7 时段起始:时 + public ModbusProperty FirstSegmentHours7 { get; set; } = new(0x0051, start: 0, length: 1); + //第 8 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate8 { get; set; } = new(0x0051, start: 1, length: 1); + //第 8 时段起始:分 + public ModbusProperty FirstSegmentMinutes8 { get; set; } = new(0x0052, start: 0, length: 1); + //第 8 时段起始:时 + public ModbusProperty FirstSegmentHours8 { get; set; } = new(0x0052, start: 1, length: 1); + #endregion + + #region 第二套时段尖峰平谷 1~9时段 + //第 1 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate1 { get; set; } = new(0x0053, start: 0, length: 1); + //第 1 时段起始:分 + public ModbusProperty SecondSegmentMinutes1 { get; set; } = new(0x0053, start: 1, length: 1); + //第 1 时段起始:时 + public ModbusProperty SecondSegmentHours1 { get; set; } = new(0x0054, start: 0, length: 1); + + //第 2 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate2 { get; set; } = new(0x0054, start: 1, length: 1); + //第 2 时段起始:分 + public ModbusProperty SecondSegmentMinutes2 { get; set; } = new(0x0055, start: 0, length: 1); + //第 2 时段起始:时 + public ModbusProperty SecondSegmentHours2 { get; set; } = new(0x0055, start: 1, length: 1); + //第 3 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate3 { get; set; } = new(0x0056, start: 0, length: 1); + //第 3 时段起始:分 + public ModbusProperty SecondSegmentMinutes3 { get; set; } = new(0x0056, start: 1, length: 1); + //第 3 时段起始:时 + public ModbusProperty SecondSegmentHours3 { get; set; } = new(0x0057, start: 0, length: 1); + //第 4 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate4 { get; set; } = new(0x0057, start: 1, length: 1); + //第 4 时段起始:分 + public ModbusProperty SecondSegmentMinutes4 { get; set; } = new(0x0058, start: 0, length: 1); + //第 4 时段起始:时 + public ModbusProperty SecondSegmentHours4 { get; set; } = new(0x0058, start: 1, length: 1); + //第 5 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate5 { get; set; } = new(0x0059, start: 0, length: 1); + //第 5 时段起始:分 + public ModbusProperty SecondSegmentMinutes5 { get; set; } = new(0x0059, start: 1, length: 1); + //第 5 时段起始:时 + public ModbusProperty SecondSegmentHours5 { get; set; } = new(0x005A, start: 0, length: 1); + //第 6 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate6 { get; set; } = new(0x005A, start: 1, length: 1); + //第 6 时段起始:分 + public ModbusProperty SecondSegmentMinutes6 { get; set; } = new(0x005B, start: 0, length: 1); + //第 6 时段起始:时 + public ModbusProperty SecondSegmentHours6 { get; set; } = new(0x005B, start: 1, length: 1); + //第 7 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate7 { get; set; } = new(0x005C, start: 0, length: 1); + //第 7 时段起始:分 + public ModbusProperty SecondSegmentMinutes7 { get; set; } = new(0x005C, start: 1, length: 1); + //第 7 时段起始:时 + public ModbusProperty SecondSegmentHours7 { get; set; } = new(0x005D, start: 0, length: 1); + //第 8 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate8 { get; set; } = new(0x005D, start: 1, length: 1); + //第 8 时段起始:分 + public ModbusProperty SecondSegmentMinutes8 { get; set; } = new(0x005E, start: 0, length: 1); + //第 8 时段起始:时 + public ModbusProperty SecondSegmentHours8 { get; set; } = new(0x005E, start: 1, length: 1); + //第 9 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate9 { get; set; } = new(0x005F, start: 0, length: 1); + //第 9 时段起始:分 + public ModbusProperty SecondSegmentMinutes9 { get; set; } = new(0x005F, start: 1, length: 1); + //第 9 时段起始:时 + public ModbusProperty SecondSegmentHours9 { get; set; } = new(0x0060, start: 0, length: 1); + #endregion + + + #endregion + + #region 电流电压 + //A相电压 + public ModbusProperty AVoltage { get; set; } = new(0x0061, length: 2, scale: 0.1, round: 1); + //B相电压 + public ModbusProperty BVoltage { get; set; } = new(0x0062, length: 2, scale: 0.1, round: 1); + //C相电压 + public ModbusProperty CVoltage { get; set; } = new(0x0063, length: 2, scale: 0.1, round: 1); + //A相电流 + public ModbusProperty ACurrent { get; set; } = new(0x0064, length: 2, scale: 0.01, round: 2); + //B相电流 + public ModbusProperty BCurrent { get; set; } = new(0x0065, length: 2, scale: 0.01, round: 2); + //C相电流 + public ModbusProperty CCurrent { get; set; } = new(0x0066, length: 2, scale: 0.01, round: 2); + //保留1 + public ModbusProperty Reserve1 { get; set; } = new(0x0067); + //频率 + public ModbusProperty Frequency { get; set; } = new(0x0077, length: 2, scale: 0.01, round: 2); + //A-B相电压 + public ModbusProperty ABVoltage { get; set; } = new(0x0078, length: 2, scale: 0.1, round: 1); + //C-B相电压 + public ModbusProperty CBVoltage { get; set; } = new(0x0079, length: 2, scale: 0.1, round: 1); + //A-C相电压 + public ModbusProperty ACVoltage { get; set; } = new(0x007A, length: 2, scale: 0.1, round: 1); + //正向有功最大需量 + public ModbusProperty PositiveActiveMaxDemand { get; set; } = new(0x007B, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty OccurrenceTimeMinutes1 { get; set; } = new(0x007C,start:0, length: 1); + public ModbusProperty OccurrenceTimeHours1 { get; set; } = new(0x007C, start: 1, length: 1); + public ModbusProperty OccurrenceTimeDay1 { get; set; } = new(0x007D, start: 0, length: 1); + public ModbusProperty OccurrenceTimeMonth1 { get; set; } = new(0x007D, start: 1, length: 1); + //反向有功最大需量 + public ModbusProperty ReverseActiveMaxDemand { get; set; } = new(0x007E, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty OccurrenceTimeMinutes2 { get; set; } = new(0x007F, start: 0, length: 1); + public ModbusProperty OccurrenceTimeHours2 { get; set; } = new(0x007F, start: 1, length: 1); + public ModbusProperty OccurrenceTimeDay2 { get; set; } = new(0x0080, start: 0, length: 1); + public ModbusProperty OccurrenceTimeMonth2 { get; set; } = new(0x0080, start: 1, length: 1); + //正向无功最大需量 + public ModbusProperty PositiveReactiveMaxDemand { get; set; } = new(0x0081, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty OccurrenceTimeMinutes3 { get; set; } = new(0x0082, start: 0, length: 1); + public ModbusProperty OccurrenceTimeHours3 { get; set; } = new(0x0082, start: 1, length: 1); + public ModbusProperty OccurrenceTimeDay3 { get; set; } = new(0x0083, start: 0, length: 1); + public ModbusProperty OccurrenceTimeMonth3 { get; set; } = new(0x0083, start: 1, length: 1); + //反向无功最大需量 + public ModbusProperty ReverseReactiveMaxDemand { get; set; } = new(0x0084, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty OccurrenceTimeMinutes4 { get; set; } = new(0x0085, start: 0, length: 1); + public ModbusProperty OccurrenceTimeHours4 { get; set; } = new(0x0085, start: 1, length: 1); + public ModbusProperty OccurrenceTimeDay4 { get; set; } = new(0x0086, start: 0, length: 1); + public ModbusProperty OccurrenceTimeMonth4 { get; set; } = new(0x0086, start: 1, length: 1); + + //A相正向有功电能 + public ModbusProperty APositiveActiveEnergy { get; set; } = new(0x0087, length: 4, scale: 0.01, round: 2); + //B相正向有功电能 + public ModbusProperty BPositiveActiveEnergy { get; set; } = new(0x0089, length: 4, scale: 0.01, round: 2); + //C相正向有功电能 + public ModbusProperty CPositiveActiveEnergy { get; set; } = new(0x008B, length: 4, scale: 0.01, round: 2); + //电压变比 PT + public ModbusProperty VoltageChangePT { get; set; } = new(0x008D, length: 2, scale: 0.01, round: 2); + //电流变比 PT + public ModbusProperty CurrentChangePT { get; set; } = new(0x008E, length: 2, scale: 0.01, round: 2); + + //DIDO 状态、失压状态 + //A相过压 + public ModbusProperty AOvervoltage { get; set; } = new(0x008F,start:0, length: 1,type:ModbusDataType.Bit); + public ModbusProperty BOvervoltage { get; set; } = new(0x008F,start:1, length: 1,type:ModbusDataType.Bit); + public ModbusProperty COvervoltage { get; set; } = new(0x008F,start:2, length: 1,type:ModbusDataType.Bit); + //A相失压 + public ModbusProperty ADecompression { get; set; } = new(0x008F,start:3, length: 1,type:ModbusDataType.Bit); + public ModbusProperty BDecompression { get; set; } = new(0x008F,start:4, length: 1,type:ModbusDataType.Bit); + public ModbusProperty CDecompression { get; set; } = new(0x008F,start:5, length: 1,type:ModbusDataType.Bit); + //A相逆向 + public ModbusProperty AReverse { get; set; } = new(0x008F, start: 6, length: 1, type: ModbusDataType.Bit); + public ModbusProperty BReverse { get; set; } = new(0x008F, start: 7, length: 1, type: ModbusDataType.Bit); + public ModbusProperty CReverse { get; set; } = new(0x008F, start: 8, length: 1, type: ModbusDataType.Bit); + //DI状态 + public ModbusProperty DIStatus { get; set; } = new(0x008F, start: 7, length: 1, type: ModbusDataType.Bit); + //DO状态 + public ModbusProperty DOStatus { get; set; } = new(0x008F, start: 10, length: 1, type: ModbusDataType.Bit); + + //保留2 + public ModbusProperty Reserve2 { get; set; } = new(0x0090); + + //运行状态1 + public ModbusProperty RunStatus1 { get; set; } = new(0x0091, start: 0, length: 1); + //运行状态2 + public ModbusProperty RunStatus2 { get; set; } = new(0x0091, start: 1, length: 1); + //零序电流 + public ModbusProperty ZeroCurrent { get; set; } = new(0x0092, length: 2, scale: 0.01, round: 2); + //电压不平衡度 单位 0.1% + public ModbusProperty VoltageUnbalanceDegree { get; set; } = new(0x0093, length: 2); + //电流不平衡度 单位 0.1% + public ModbusProperty CurrentUnbalanceDegree { get; set; } = new(0x0094, length: 2); + + //第一路通讯 + + //校验位 0:无校验 2:偶校验 + public ModbusProperty CheckBit1 { get; set; } = new(0x0095, start: 0, length: 1); + //停止位 0:1 位停止位 ;1:2 位停止位 + public ModbusProperty StopBit1 { get; set; } = new(0x0095, start: 1, length: 1); + + //第二路通讯 + + //通讯地址 + public ModbusProperty MailingAddress2 { get; set; } = new(0x0096, start: 0, length: 1); + //波特率 + public ModbusProperty BaudRate2 { get; set; } = new(0x0096, start: 1, length: 1); + //校验位 0:无校验 2:偶校验 + public ModbusProperty CheckBit2 { get; set; } = new(0x0097, start: 0, length: 1); + //停止位 0:1 位停止位 ;1:2 位停止位 + public ModbusProperty StopBit2 { get; set; } = new(0x0097, start: 1, length: 1); + + //保留3 + public ModbusProperty Reserve3 { get; set; } = new(0x0098); + + + #endregion + + #region 第一套时段尖峰平谷 9~14时段 + //第 9 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate9 { get; set; } = new(0x00B2, start: 0, length: 1); + //第 9 时段起始:分 + public ModbusProperty FirstSegmentMinutes9 { get; set; } = new(0x00B2, start: 1, length: 1); + //第 9 时段起始:时 + public ModbusProperty FirstSegmentHours9 { get; set; } = new(0x00B3, start: 0, length: 1); + + //第 10 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate10 { get; set; } = new(0x00B3, start: 1, length: 1); + //第 10 时段起始:分 + public ModbusProperty FirstSegmentMinutes10 { get; set; } = new(0x00B4, start: 0, length: 1); + //第 10 时段起始:时 + public ModbusProperty FirstSegmentHours10 { get; set; } = new(0x00B4, start: 1, length: 1); + //第 11 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate11 { get; set; } = new(0x00B5, start: 0, length: 1); + //第 11 时段起始:分 + public ModbusProperty FirstSegmentMinutes11 { get; set; } = new(0x00B5, start: 1, length: 1); + //第 11 时段起始:时 + public ModbusProperty FirstSegmentHours11 { get; set; } = new(0x00B6, start: 0, length: 1); + //第 12 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate12 { get; set; } = new(0x00B6, start: 1, length: 1); + //第 12 时段起始:分 + public ModbusProperty FirstSegmentMinutes12 { get; set; } = new(0x00B7, start: 0, length: 1); + //第 12 时段起始:时 + public ModbusProperty FirstSegmentHours12 { get; set; } = new(0x00B7, start: 1, length: 1); + //第 13 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate13 { get; set; } = new(0x00B8, start: 0, length: 1); + //第 13 时段起始:分 + public ModbusProperty FirstSegmentMinutes13 { get; set; } = new(0x00B8, start: 1, length: 1); + //第 13 时段起始:时 + public ModbusProperty FirstSegmentHours13 { get; set; } = new(0x00B9, start: 0, length: 1); + //第 14 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FirstSegmentRate14 { get; set; } = new(0x00B9, start: 1, length: 1); + //第 14 时段起始:分 + public ModbusProperty FirstSegmentMinutes14 { get; set; } = new(0x00BA, start: 0, length: 1); + //第 14 时段起始:时 + public ModbusProperty FirstSegmentHours14 { get; set; } = new(0x00BA, start: 1, length: 1); + + #endregion + + #region 第二套时段尖峰平谷 9~14时段 + //第 9 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate_9 { get; set; } = new(0x00BB, start: 0, length: 1); + //第 9 时段起始:分 + public ModbusProperty SecondSegmentMinutes_9 { get; set; } = new(0x00BB, start: 1, length: 1); + //第 9 时段起始:时 + public ModbusProperty SecondSegmentHours_9 { get; set; } = new(0x00BC, start: 0, length: 1); + + //第 10 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate10 { get; set; } = new(0x00BC, start: 1, length: 1); + //第 10 时段起始:分 + public ModbusProperty SecondSegmentMinutes10 { get; set; } = new(0x00BD, start: 0, length: 1); + //第 10 时段起始:时 + public ModbusProperty SecondSegmentHours10 { get; set; } = new(0x00BD, start: 1, length: 1); + //第 11 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate11 { get; set; } = new(0x00BE, start: 0, length: 1); + //第 11 时段起始:分 + public ModbusProperty SecondSegmentMinutes11 { get; set; } = new(0x00BE, start: 1, length: 1); + //第 11 时段起始:时 + public ModbusProperty SecondSegmentHours11 { get; set; } = new(0x00BF, start: 0, length: 1); + //第 12 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate12 { get; set; } = new(0x00BF, start: 1, length: 1); + //第 12 时段起始:分 + public ModbusProperty SecondSegmentMinutes12 { get; set; } = new(0x00C0, start: 0, length: 1); + //第 12 时段起始:时 + public ModbusProperty SecondSegmentHours12 { get; set; } = new(0x00C0, start: 1, length: 1); + //第 13 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate13 { get; set; } = new(0x00C1, start: 0, length: 1); + //第 13 时段起始:分 + public ModbusProperty SecondSegmentMinutes13 { get; set; } = new(0x00C1, start: 1, length: 1); + //第 13 时段起始:时 + public ModbusProperty SecondSegmentHours13 { get; set; } = new(0x00C2, start: 0, length: 1); + //第 14 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty SecondSegmentRate14 { get; set; } = new(0x00C2, start: 1, length: 1); + //第 14 时段起始:分 + public ModbusProperty SecondSegmentMinutes14 { get; set; } = new(0x00C3, start: 0, length: 1); + //第 14 时段起始:时 + public ModbusProperty SecondSegmentHours14 { get; set; } = new(0x00C3, start: 1, length: 1); + //保留4 + public ModbusProperty Reserve4 { get; set; } = new(0x00C4); + #endregion + + #region 功率 + //A 相有功功率 + public ModbusProperty AActivePower { get; set; } = new(0x0164, length: 4, scale: 0.001, round: 3); + //B 相有功功率 + public ModbusProperty BActivePower { get; set; } = new(0x0166, length: 4, scale: 0.001, round: 3); + //C 相有功功率 + public ModbusProperty CActivePower { get; set; } = new(0x0168, length: 4, scale: 0.001, round: 3); + //总有功功率 + public ModbusProperty TotalActivePower { get; set; } = new(0x016A, length: 4, scale: 0.001, round: 3); + //A 相无功功率 + public ModbusProperty AReactivePower { get; set; } = new(0x016C, length: 4, scale: 0.001, round: 3); + //B 相无功功率 + public ModbusProperty BReactivePower { get; set; } = new(0x016E, length: 4, scale: 0.001, round: 3); + //C 相无功功率 + public ModbusProperty CReactivePower { get; set; } = new(0x0170, length: 4, scale: 0.001, round: 3); + //总无功功率 + public ModbusProperty TotalReactivePower { get; set; } = new(0x0172, length: 4, scale: 0.001, round: 3); + + //A 相视在功率 + public ModbusProperty AApparentPower { get; set; } = new(0x0174, length: 4, scale: 0.001, round: 3); + //B 相视在功率 + public ModbusProperty BApparentPower { get; set; } = new(0x0176, length: 4, scale: 0.001, round: 3); + //C 相视在功率 + public ModbusProperty CApparentPower { get; set; } = new(0x0178, length: 4, scale: 0.001, round: 3); + //总视在功率 + public ModbusProperty TotalApparentPower { get; set; } = new(0x017A, length: 4, scale: 0.001, round: 3); + + //A 相功率因数 + public ModbusProperty APowerFactor { get; set; } = new(0x017C, length: 2, scale: 0.001, round: 2); + //B 相功率因数 + public ModbusProperty BPowerFactor { get; set; } = new(0x017D, length: 2, scale: 0.001, round: 3); + //C 相功率因数 + public ModbusProperty CPowerFactor { get; set; } = new(0x017E, length: 2, scale: 0.001, round: 3); + //总功率因数 + public ModbusProperty TotalPowerFactor { get; set; } = new(0x017F, length: 2, scale: 0.001, round: 3); + #endregion + + #region 最大需量 + //当日正向有功最大需量 + public ModbusProperty TodayPositiveActiveMaxDemand { get; set; } = new(0x0180, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty TodayOccurrenceTimeMinutes1 { get; set; } = new(0x0181, start: 0, length: 1); + public ModbusProperty TodayOccurrenceTimeHours1 { get; set; } = new(0x0181, start: 1, length: 1); + + //当日反向有功最大需量 + public ModbusProperty TodayReverseActiveMaxDemand { get; set; } = new(0x0182, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty TodayOccurrenceTimeMinutes2 { get; set; } = new(0x0183, start: 0, length: 1); + public ModbusProperty TodayOccurrenceTimeHours2 { get; set; } = new(0x0183, start: 1, length: 1); + + //当日正向无功最大需量 + public ModbusProperty TodayPositiveReactiveMaxDemand { get; set; } = new(0x0184, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty TodayOccurrenceTimeMinutes3 { get; set; } = new(0x0185, start: 0, length: 1); + public ModbusProperty TodayOccurrenceTimeHours3 { get; set; } = new(0x0185, start: 1, length: 1); + + //当日反向无功最大需量 + public ModbusProperty TodayReverseReactiveMaxDemand { get; set; } = new(0x0186, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty TodayOccurrenceTimeMinutes4 { get; set; } = new(0x0187, start: 0, length: 1); + public ModbusProperty TodayOccurrenceTimeHours4 { get; set; } = new(0x0187, start: 1, length: 1); + + + + //昨日正向有功最大需量 + public ModbusProperty YesterdayPositiveActiveMaxDemand { get; set; } = new(0x0188, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty YesterdayOccurrenceTimeMinutes1 { get; set; } = new(0x0189, start: 0, length: 1); + public ModbusProperty YesterdayOccurrenceTimeHours1 { get; set; } = new(0x0189, start: 1, length: 1); + + //昨日反向有功最大需量 + public ModbusProperty YesterdayReverseActiveMaxDemand { get; set; } = new(0x018A, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty YesterdayOccurrenceTimeMinutes2 { get; set; } = new(0x018B, start: 0, length: 1); + public ModbusProperty YesterdayOccurrenceTimeHours2 { get; set; } = new(0x018B, start: 1, length: 1); + + //昨日正向无功最大需量 + public ModbusProperty YesterdayPositiveReactiveMaxDemand { get; set; } = new(0x018C, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty YesterdayOccurrenceTimeMinutes3 { get; set; } = new(0x018D, start: 0, length: 1); + public ModbusProperty YesterdayOccurrenceTimeHours3 { get; set; } = new(0x018D, start: 1, length: 1); + + //昨日反向无功最大需量 + public ModbusProperty YesterdayReverseReactiveMaxDemand { get; set; } = new(0x018E, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty YesterdayOccurrenceTimeMinutes4 { get; set; } = new(0x018F, start: 0, length: 1); + public ModbusProperty YesterdayOccurrenceTimeHours4 { get; set; } = new(0x018F, start: 1, length: 1); + + + //前天正向有功最大需量 + public ModbusProperty BeforePositiveActiveMaxDemand { get; set; } = new(0x0190, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty BeforeOccurrenceTimeMinutes1 { get; set; } = new(0x0191, start: 0, length: 1); + public ModbusProperty BeforeOccurrenceTimeHours1 { get; set; } = new(0x0191, start: 1, length: 1); + + //前天反向有功最大需量 + public ModbusProperty BeforeReverseActiveMaxDemand { get; set; } = new(0x0192, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty BeforeOccurrenceTimeMinutes2 { get; set; } = new(0x0193, start: 0, length: 1); + public ModbusProperty BeforeOccurrenceTimeHours2 { get; set; } = new(0x0193, start: 1, length: 1); + + //前天正向无功最大需量 + public ModbusProperty BeforePositiveReactiveMaxDemand { get; set; } = new(0x0194, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty BeforeOccurrenceTimeMinutes3 { get; set; } = new(0x0195, start: 0, length: 1); + public ModbusProperty BeforeOccurrenceTimeHours3 { get; set; } = new(0x0195, start: 1, length: 1); + + //前天反向无功最大需量 + public ModbusProperty BeforeReverseReactiveMaxDemand { get; set; } = new(0x0196, length: 2, scale: 0.001, round: 3); + //发生时间:分 + public ModbusProperty BeforeOccurrenceTimeMinutes4 { get; set; } = new(0x0197, start: 0, length: 1); + public ModbusProperty BeforeOccurrenceTimeHours4 { get; set; } = new(0x0197, start: 1, length: 1); + + + + //当前正向有功需量 + public ModbusProperty PositiveActiveDemand { get; set; } = new(0x0198, length: 2, scale: 0.001, round: 3); + //当前反向有功需量 + public ModbusProperty ReverseActiveDemand { get; set; } = new(0x0199, length: 2, scale: 0.001, round: 3); + //当前正向无功需量 + public ModbusProperty PositiveReactiveDemand { get; set; } = new(0x019A, length: 2, scale: 0.001, round: 3); + //当前反向无功需量 + public ModbusProperty ReverseReactiveDemand { get; set; } = new(0x019B, length: 2, scale: 0.001, round: 3); + //保留5 + public ModbusProperty Reserve5 { get; set; } = new(0x019C); + #endregion + + #region 极大值极小值 + //A 相电压极大值 + public ModbusProperty AVoltageMax { get; set; } = new(0x0200, length: 2, scale: 0.01, round: 2); + public ModbusProperty AVoltageMaxOccurrenceTimeMonth { get; set; } = new(0x0201, start: 0, length: 1); + public ModbusProperty AVoltageMaxOccurrenceTimeDay { get; set; } = new(0x0201, start: 1, length: 1); + public ModbusProperty AVoltageMaxOccurrenceTimeHours { get; set; } = new(0x0202, start: 0, length: 1); + //发生时间:分 + public ModbusProperty AVoltageMaxOccurrenceTimeMinutes { get; set; } = new(0x0202, start: 1, length: 1); + + //B 相电压极大值 + public ModbusProperty BVoltageMax { get; set; } = new(0x0203, length: 2, scale: 0.01, round: 2); + public ModbusProperty BVoltageMaxOccurrenceTimeMonth { get; set; } = new(0x0204, start: 0, length: 1); + public ModbusProperty BVoltageMaxOccurrenceTimeDay { get; set; } = new(0x0204, start: 1, length: 1); + + public ModbusProperty BVoltageMaxOccurrenceTimeHours { get; set; } = new(0x0205, start: 0, length: 1); + public ModbusProperty BVoltageMaxOccurrenceTimeMinutes { get; set; } = new(0x0205, start: 1, length: 1); + + //C 相电压极大值 + public ModbusProperty CVoltageMax { get; set; } = new(0x0206, length: 2, scale: 0.01, round: 2); + public ModbusProperty CVoltageMaxOccurrenceTimeMonth { get; set; } = new(0x0207, start: 1, length: 1); + public ModbusProperty CVoltageMaxOccurrenceTimeDay { get; set; } = new(0x0207, start: 1, length: 1); + public ModbusProperty CVoltageMaxOccurrenceTimeMinutes { get; set; } = new(0x0208, start: 0, length: 1); + public ModbusProperty CVoltageMaxOccurrenceTimeHours { get; set; } = new(0x0208, start: 1, length: 1); + + + //A 相电流极大值 + public ModbusProperty ACurrentMax { get; set; } = new(0x0209, length: 2, scale: 0.01, round: 2); + public ModbusProperty ACurrentMaxOccurrenceTimeMonth { get; set; } = new(0x020A, start: 0, length: 1); + public ModbusProperty ACurrentMaxOccurrenceTimeDay { get; set; } = new(0x020A, start: 1, length: 1); + public ModbusProperty ACurrentMaxOccurrenceTimeHours { get; set; } = new(0x020B, start: 0, length: 1); + public ModbusProperty ACurrentMaxOccurrenceTimeMinutes { get; set; } = new(0x020B, start: 1, length: 1); + + //B 相电流极大值 + public ModbusProperty BCurrentMax { get; set; } = new(0x020C, length: 2, scale: 0.01, round: 2); + public ModbusProperty BCurrentMaxOccurrenceTimeMonth { get; set; } = new(0x020D, start: 0, length: 1); + public ModbusProperty BCurrentMaxOccurrenceTimeDay { get; set; } = new(0x020D, start: 1, length: 1); + public ModbusProperty BCurrentMaxOccurrenceTimeHours { get; set; } = new(0x020E, start: 0, length: 1); + public ModbusProperty BCurrentMaxOccurrenceTimeMinutes { get; set; } = new(0x020E, start: 1, length: 1); + + //C 相电流极大值 + public ModbusProperty CCurrentMax { get; set; } = new(0x020F, length: 2, scale: 0.01, round: 2); + public ModbusProperty CCurrentMaxOccurrenceTimeMonth { get; set; } = new(0x0210, start: 0, length: 1); + public ModbusProperty CCurrentMaxOccurrenceTimeDay { get; set; } = new(0x0210, start: 1, length: 1); + public ModbusProperty CCurrentMaxOccurrenceTimeHours { get; set; } = new(0x0211, start: 0, length: 1); + public ModbusProperty CCurrentMaxOccurrenceTimeMinutes { get; set; } = new(0x0211, start: 1, length: 1); + + //A 相有功功率极大值 + public ModbusProperty AActivePowerMax { get; set; } = new(0x0212, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AActivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0214, start: 0, length: 1); + public ModbusProperty AActivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0214, start: 1, length: 1); + public ModbusProperty AActivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0215, start: 0, length: 1); + //发生时间:分 + public ModbusProperty AActivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0215, start: 1, length: 1); + + //B 相有功功率极大值 + public ModbusProperty BActivePowerMax { get; set; } = new(0x0216, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BActivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0218, start: 0, length: 1); + public ModbusProperty BActivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0218, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BActivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0219, start: 0, length: 1); + public ModbusProperty BActivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0219, start: 1, length: 1); + //C 相有功功率极大值 + public ModbusProperty CActivePowerMax { get; set; } = new(0x021A, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CActivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x021C, start: 1, length: 1); + public ModbusProperty CActivePowerMaxOccurrenceTimeDay { get; set; } = new(0x021C, start: 0, length: 1); + //发生时间:分 + public ModbusProperty CActivePowerMaxOccurrenceTimeHours { get; set; } = new(0x021D, start: 1, length: 1); + public ModbusProperty CActivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x021D, start: 0, length: 1); + // 总有功功率极大值 + public ModbusProperty TotalActivePowerMax { get; set; } = new(0x021E, length: 4, scale: 0.0001, round: 4); + public ModbusProperty TotalActivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0220, start: 0, length: 1); + public ModbusProperty TotalActivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0220, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalActivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0221, start: 0, length: 1); + public ModbusProperty TotalActivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0221, start: 1, length: 1); + + + //A 相无功功率极大值 + public ModbusProperty AReactivePowerMax { get; set; } = new(0x0222, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AReactivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0224, start: 0, length: 1); + public ModbusProperty AReactivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0224, start: 1, length: 1); + //发生时间:分 + public ModbusProperty AReactivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0225, start: 0, length: 1); + public ModbusProperty AReactivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0225, start: 1, length: 1); + //B 相无功功率极大值 + public ModbusProperty BReactivePowerMax { get; set; } = new(0x0226, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BReactivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0228, start: 0, length: 1); + public ModbusProperty BReactivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0228, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BReactivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0229, start: 0, length: 1); + public ModbusProperty BReactivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0229, start: 1, length: 1); + //C 相无功功率极大值 + public ModbusProperty CReactivePowerMax { get; set; } = new(0x022A, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CReactivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x022C, start: 0, length: 1); + public ModbusProperty CReactivePowerMaxOccurrenceTimeDay { get; set; } = new(0x022C, start: 1, length: 1); + //发生时间:分 + public ModbusProperty CReactivePowerMaxOccurrenceTimeHours { get; set; } = new(0x022D, start: 0, length: 1); + public ModbusProperty CReactivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x022D, start: 1, length: 1); + // 总无功功率极大值 + public ModbusProperty TotalReactivePowerMax { get; set; } = new(0x022E, length:4, scale: 0.0001, round: 4); + public ModbusProperty TotalReactivePowerMaxOccurrenceTimeMonth { get; set; } = new(0x0230, start: 0, length: 1); + public ModbusProperty TotalReactivePowerMaxOccurrenceTimeDay { get; set; } = new(0x0230, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalReactivePowerMaxOccurrenceTimeHours { get; set; } = new(0x0231, start: 0, length: 1); + public ModbusProperty TotalReactivePowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0231, start: 1, length: 1); + + + //A 相视在功率极大值 + public ModbusProperty AApparentPowerMax { get; set; } = new(0x0232, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AApparentPowerMaxOccurrenceTimeMonth { get; set; } = new(0x0234, start: 0, length: 1); + public ModbusProperty AApparentPowerMaxOccurrenceTimeDay { get; set; } = new(0x0234, start: 1, length: 1); + //发生时间:分 + public ModbusProperty AApparentPowerMaxOccurrenceTimeHours { get; set; } = new(0x0235, start: 0, length: 1); + public ModbusProperty AApparentPowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0235, start: 1, length: 1); + //B 相视在功率极大值 + public ModbusProperty BApparentPowerMax { get; set; } = new(0x0236, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BApparentPowerMaxOccurrenceTimeMonth { get; set; } = new(0x0238, start: 0, length: 1); + public ModbusProperty BApparentPowerMaxOccurrenceTimeDay { get; set; } = new(0x0238, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BApparentPowerMaxOccurrenceTimeHours { get; set; } = new(0x0239, start: 0, length: 1); + public ModbusProperty BApparentPowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0239, start: 1, length: 1); + //C 相视在功率极大值 + public ModbusProperty CApparentPowerMax { get; set; } = new(0x023A, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CApparentPowerMaxOccurrenceTimeMonth { get; set; } = new(0x023C, start: 0, length: 1); + public ModbusProperty CApparentPowerMaxOccurrenceTimeDay { get; set; } = new(0x023C, start: 1, length: 1); + //发生时间:分 + public ModbusProperty CApparentPowerMaxOccurrenceTimeHours { get; set; } = new(0x023D, start: 0, length: 1); + public ModbusProperty CApparentPowerMaxOccurrenceTimeMinutes { get; set; } = new(0x023D, start: 1, length: 1); + // 总视在功率极大值 + public ModbusProperty TotalApparentPowerMax { get; set; } = new(0x023E, length: 4, scale: 0.0001, round: 4); + public ModbusProperty TotalApparentPowerMaxOccurrenceTimeMonth { get; set; } = new(0x0240, start: 0, length: 1); + public ModbusProperty TotalApparentPowerMaxOccurrenceTimeDay { get; set; } = new(0x0240, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalApparentPowerMaxOccurrenceTimeHours { get; set; } = new(0x0241, start: 0, length: 1); + public ModbusProperty TotalApparentPowerMaxOccurrenceTimeMinutes { get; set; } = new(0x0241, start: 1, length: 1); + + + + //A 相电压极小值 + public ModbusProperty AVoltageMin { get; set; } = new(0x0242, length: 2, scale: 0.01, round: 2); + public ModbusProperty AVoltageMinOccurrenceTimeMonth { get; set; } = new(0x0243, start: 0, length: 1); + public ModbusProperty AVoltageMinOccurrenceTimeDay { get; set; } = new(0x0243, start: 1, length: 1); + public ModbusProperty AVoltageMinOccurrenceTimeHours { get; set; } = new(0x0244, start: 0, length: 1); + //发生时间:分 + public ModbusProperty AVoltageMinOccurrenceTimeMinutes { get; set; } = new(0x0244, start: 1, length: 1); + + //B 相电压极小值 + public ModbusProperty BVoltageMin { get; set; } = new(0x0245, length: 2, scale: 0.01, round: 2); + public ModbusProperty BVoltageMinOccurrenceTimeMonth { get; set; } = new(0x0246, start: 0, length: 1); + public ModbusProperty BVoltageMinOccurrenceTimeDay { get; set; } = new(0x0246, start: 1, length: 1); + + public ModbusProperty BVoltageMinOccurrenceTimeHours { get; set; } = new(0x0247, start: 0, length: 1); + public ModbusProperty BVoltageMinOccurrenceTimeMinutes { get; set; } = new(0x0247, start: 1, length: 1); + + //C 相电压极小值 + public ModbusProperty CVoltageMin { get; set; } = new(0x0248, length: 2, scale: 0.01, round: 2); + public ModbusProperty CVoltageMinOccurrenceTimeMonth { get; set; } = new(0x0249, start: 1, length: 1); + public ModbusProperty CVoltageMinOccurrenceTimeDay { get; set; } = new(0x0249, start: 1, length: 1); + public ModbusProperty CVoltageMinOccurrenceTimeMinutes { get; set; } = new(0x024A, start: 0, length: 1); + public ModbusProperty CVoltageMinOccurrenceTimeHours { get; set; } = new(0x024A, start: 1, length: 1); + + + //A 相电流极小值 + public ModbusProperty ACurrentMin { get; set; } = new(0x024B, length: 2, scale: 0.01, round: 2); + public ModbusProperty ACurrentMinOccurrenceTimeMonth { get; set; } = new(0x024C, start: 0, length: 1); + public ModbusProperty ACurrentMinOccurrenceTimeDay { get; set; } = new(0x024C, start: 1, length: 1); + public ModbusProperty ACurrentMinOccurrenceTimeHours { get; set; } = new(0x024D, start: 0, length: 1); + public ModbusProperty ACurrentMinOccurrenceTimeMinutes { get; set; } = new(0x024D, start: 1, length: 1); + + //B 相电流极小值 + public ModbusProperty BCurrentMin { get; set; } = new(0x024E, length: 2, scale: 0.01, round: 2); + public ModbusProperty BCurrentMinOccurrenceTimeMonth { get; set; } = new(0x024F, start: 0, length: 1); + public ModbusProperty BCurrentMinOccurrenceTimeDay { get; set; } = new(0x024F, start: 1, length: 1); + public ModbusProperty BCurrentMinOccurrenceTimeHours { get; set; } = new(0x0250, start: 0, length: 1); + public ModbusProperty BCurrentMinOccurrenceTimeMinutes { get; set; } = new(0x0250, start: 1, length: 1); + + //C 相电流极小值 + public ModbusProperty CCurrentMin { get; set; } = new(0x0251, length: 2, scale: 0.01, round: 2); + public ModbusProperty CCurrentMinOccurrenceTimeMonth { get; set; } = new(0x0252, start: 0, length: 1); + public ModbusProperty CCurrentMinOccurrenceTimeDay { get; set; } = new(0x0252, start: 1, length: 1); + public ModbusProperty CCurrentMinOccurrenceTimeHours { get; set; } = new(0x0253, start: 0, length: 1); + public ModbusProperty CCurrentMinOccurrenceTimeMinutes { get; set; } = new(0x0253, start: 1, length: 1); + + //A 相有功功率极小值 + public ModbusProperty AActivePowerMin { get; set; } = new(0x0254, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AActivePowerMinOccurrenceTimeMonth { get; set; } = new(0x0256, start: 0, length: 1); + public ModbusProperty AActivePowerMinOccurrenceTimeDay { get; set; } = new(0x0256, start: 1, length: 1); + public ModbusProperty AActivePowerMinOccurrenceTimeHours { get; set; } = new(0x0257, start: 0, length: 1); + //发生时间:分 + public ModbusProperty AActivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x0257, start: 1, length: 1); + + //B 相有功功率极小值 + public ModbusProperty BActivePowerMin { get; set; } = new(0x0258, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BActivePowerMinOccurrenceTimeMonth { get; set; } = new(0x025A, start: 0, length: 1); + public ModbusProperty BActivePowerMinOccurrenceTimeDay { get; set; } = new(0x025A, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BActivePowerMinOccurrenceTimeHours { get; set; } = new(0x025B, start: 0, length: 1); + public ModbusProperty BActivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x025B, start: 1, length: 1); + //C 相有功功率极小值 + public ModbusProperty CActivePowerMin { get; set; } = new(0x025C, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CActivePowerMinOccurrenceTimeMonth { get; set; } = new(0x025E, start: 1, length: 1); + public ModbusProperty CActivePowerMinOccurrenceTimeDay { get; set; } = new(0x025E, start: 0, length: 1); + //发生时间:分 + public ModbusProperty CActivePowerMinOccurrenceTimeHours { get; set; } = new(0x025F, start: 1, length: 1); + public ModbusProperty CActivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x025F, start: 0, length: 1); + // 总有功功率极小值 + public ModbusProperty TotalActivePowerMin { get; set; } = new(0x0260, length: 4, scale: 0.0001, round: 4); + public ModbusProperty TotalActivePowerMinOccurrenceTimeMonth { get; set; } = new(0x0262, start: 0, length: 1); + public ModbusProperty TotalActivePowerMinOccurrenceTimeDay { get; set; } = new(0x0262, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalActivePowerMinOccurrenceTimeHours { get; set; } = new(0x0263, start: 0, length: 1); + public ModbusProperty TotalActivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x0263, start: 1, length: 1); + + + //A 相无功功率极小值 + public ModbusProperty AReactivePowerMin { get; set; } = new(0x0264, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AReactivePowerMinOccurrenceTimeMonth { get; set; } = new(0x0266, start: 0, length: 1); + public ModbusProperty AReactivePowerMinOccurrenceTimeDay { get; set; } = new(0x0266, start: 1, length: 1); + //发生时间:分 + public ModbusProperty AReactivePowerMinOccurrenceTimeHours { get; set; } = new(0x0267, start: 0, length: 1); + public ModbusProperty AReactivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x0267, start: 1, length: 1); + //B 相无功功率极小值 + public ModbusProperty BReactivePowerMin { get; set; } = new(0x0268, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BReactivePowerMinOccurrenceTimeMonth { get; set; } = new(0x026A, start: 0, length: 1); + public ModbusProperty BReactivePowerMinOccurrenceTimeDay { get; set; } = new(0x026A, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BReactivePowerMinOccurrenceTimeHours { get; set; } = new(0x026B, start: 0, length: 1); + public ModbusProperty BReactivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x026B, start: 1, length: 1); + //C 相无功功率极小值 + public ModbusProperty CReactivePowerMin { get; set; } = new(0x026C, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CReactivePowerMinOccurrenceTimeMonth { get; set; } = new(0x026E, start: 0, length: 1); + public ModbusProperty CReactivePowerMinOccurrenceTimeDay { get; set; } = new(0x026E, start: 1, length: 1); + //发生时间:分 + public ModbusProperty CReactivePowerMinOccurrenceTimeHours { get; set; } = new(0x026F, start: 0, length: 1); + public ModbusProperty CReactivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x026F, start: 1, length: 1); + // 总无功功率极小值 + public ModbusProperty TotalReactivePowerMin { get; set; } = new(0x0270, length: 4, scale: 0.0001, round: 4); + public ModbusProperty TotalReactivePowerMinOccurrenceTimeMonth { get; set; } = new(0x0272, start: 0, length: 1); + public ModbusProperty TotalReactivePowerMinOccurrenceTimeDay { get; set; } = new(0x0272, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalReactivePowerMinOccurrenceTimeHours { get; set; } = new(0x0273, start: 0, length: 1); + public ModbusProperty TotalReactivePowerMinOccurrenceTimeMinutes { get; set; } = new(0x0273, start: 1, length: 1); + + + //A 相视在功率极小值 + public ModbusProperty AApparentPowerMin { get; set; } = new(0x0274, length: 4, scale: 0.0001, round: 4); + public ModbusProperty AApparentPowerMinOccurrenceTimeMonth { get; set; } = new(0x0276, start: 0, length: 1); + public ModbusProperty AApparentPowerMinOccurrenceTimeDay { get; set; } = new(0x0276, start: 1, length: 1); + //发生时间:分 + public ModbusProperty AApparentPowerMinOccurrenceTimeHours { get; set; } = new(0x0277, start: 0, length: 1); + public ModbusProperty AApparentPowerMinOccurrenceTimeMinutes { get; set; } = new(0x0277, start: 1, length: 1); + //B 相视在功率极小值 + public ModbusProperty BApparentPowerMin { get; set; } = new(0x0278, length: 4, scale: 0.0001, round: 4); + public ModbusProperty BApparentPowerMinOccurrenceTimeMonth { get; set; } = new(0x027A, start: 0, length: 1); + public ModbusProperty BApparentPowerMinOccurrenceTimeDay { get; set; } = new(0x027A, start: 1, length: 1); + //发生时间:分 + public ModbusProperty BApparentPowerMinOccurrenceTimeHours { get; set; } = new(0x027B, start: 0, length: 1); + public ModbusProperty BApparentPowerMinOccurrenceTimeMinutes { get; set; } = new(0x027B, start: 1, length: 1); + //C 相视在功率极小值 + public ModbusProperty CApparentPowerMin { get; set; } = new(0x027C, length: 4, scale: 0.0001, round: 4); + public ModbusProperty CApparentPowerMinOccurrenceTimeMonth { get; set; } = new(0x027E, start: 0, length: 1); + public ModbusProperty CApparentPowerMinOccurrenceTimeDay { get; set; } = new(0x027E, start: 1, length: 1); + //发生时间:分 + public ModbusProperty CApparentPowerMinOccurrenceTimeHours { get; set; } = new(0x027F, start: 0, length: 1); + public ModbusProperty CApparentPowerMinOccurrenceTimeMinutes { get; set; } = new(0x027F, start: 1, length: 1); + // 总视在功率极小值 + public ModbusProperty TotalApparentPowerMin { get; set; } = new(0x0280, length: 4, scale: 0.0001, round: 4); + public ModbusProperty TotalApparentPowerMinOccurrenceTimeMonth { get; set; } = new(0x0282, start: 0, length: 1); + public ModbusProperty TotalApparentPowerMinOccurrenceTimeDay { get; set; } = new(0x0282, start: 1, length: 1); + //发生时间:分 + public ModbusProperty TotalApparentPowerMinOccurrenceTimeHours { get; set; } = new(0x0283, start: 0, length: 1); + public ModbusProperty TotalApparentPowerMinOccurrenceTimeMinutes { get; set; } = new(0x0283, start: 1, length: 1); + + + + //保留6 + public ModbusProperty Reserve6 { get; set; } = new(0x0285); + #endregion + + + #region 第三套时段尖峰平谷 1~14时段 + //第 1 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate1 { get; set; } = new(0x0700, start: 0, length: 1); + //第 1 时段起始:分 + public ModbusProperty ThirdSegmentMinutes1 { get; set; } = new(0x0700, start: 1, length: 1); + //第 1 时段起始:时 + public ModbusProperty ThirdSegmentHours1 { get; set; } = new(0x0701, start: 0, length: 1); + + //第 2 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate2 { get; set; } = new(0x0701, start: 1, length: 1); + //第 2 时段起始:分 + public ModbusProperty ThirdSegmentMinutes2 { get; set; } = new(0x0702, start: 0, length: 1); + //第 2 时段起始:时 + public ModbusProperty ThirdSegmentHours2 { get; set; } = new(0x0702, start: 1, length: 1); + //第 3 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate3 { get; set; } = new(0x0703, start: 0, length: 1); + //第 3 时段起始:分 + public ModbusProperty ThirdSegmentMinutes3 { get; set; } = new(0x0703, start: 1, length: 1); + //第 3 时段起始:时 + public ModbusProperty ThirdSegmentHours3 { get; set; } = new(0x0704, start: 0, length: 1); + //第 4 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate4 { get; set; } = new(0x0704, start: 1, length: 1); + //第 4 时段起始:分 + public ModbusProperty ThirdSegmentMinutes4 { get; set; } = new(0x0705, start: 0, length: 1); + //第 4 时段起始:时 + public ModbusProperty ThirdSegmentHours4 { get; set; } = new(0x0705, start: 1, length: 1); + //第 5 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate5 { get; set; } = new(0x0706, start: 0, length: 1); + //第 5 时段起始:分 + public ModbusProperty ThirdSegmentMinutes5 { get; set; } = new(0x0706, start: 1, length: 1); + //第 5 时段起始:时 + public ModbusProperty ThirdSegmentHours5 { get; set; } = new(0x0707, start: 0, length: 1); + //第 6 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate6 { get; set; } = new(0x0707, start: 1, length: 1); + //第 6 时段起始:分 + public ModbusProperty ThirdSegmentMinutes6 { get; set; } = new(0x0708, start: 0, length: 1); + //第 6 时段起始:时 + public ModbusProperty ThirdSegmentHours6 { get; set; } = new(0x0708, start: 1, length: 1); + //第 7 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate7 { get; set; } = new(0x0709, start: 0, length: 1); + //第 7 时段起始:分 + public ModbusProperty ThirdSegmentMinutes7 { get; set; } = new(0x0709, start: 1, length: 1); + //第 7 时段起始:时 + public ModbusProperty ThirdSegmentHours7 { get; set; } = new(0x070A, start: 0, length: 1); + //第 8 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate8 { get; set; } = new(0x070A, start: 1, length: 1); + //第 8 时段起始:分 + public ModbusProperty ThirdSegmentMinutes8 { get; set; } = new(0x070B, start: 0, length: 1); + //第 8 时段起始:时 + public ModbusProperty ThirdSegmentHours8 { get; set; } = new(0x070B, start: 1, length: 1); + //第 9 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate9 { get; set; } = new(0x070C, start: 0, length: 1); + //第 9 时段起始:分 + public ModbusProperty ThirdSegmentMinutes9 { get; set; } = new(0x070C, start: 1, length: 1); + //第 9 时段起始:时 + public ModbusProperty ThirdSegmentHours9 { get; set; } = new(0x070D, start: 0, length: 1); + + //第 10 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate10 { get; set; } = new(0x070D, start: 1, length: 1); + //第 10 时段起始:分 + public ModbusProperty ThirdSegmentMinutes10 { get; set; } = new(0x070E, start: 0, length: 1); + //第 10 时段起始:时 + public ModbusProperty ThirdSegmentHours10 { get; set; } = new(0x070E, start: 1, length: 1); + //第 11 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate11 { get; set; } = new(0x070F, start: 0, length: 1); + //第 11 时段起始:分 + public ModbusProperty ThirdSegmentMinutes11 { get; set; } = new(0x070F, start: 1, length: 1); + //第 11 时段起始:时 + public ModbusProperty ThirdSegmentHours11 { get; set; } = new(0x0710, start: 0, length: 1); + //第 12 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate12 { get; set; } = new(0x0710, start: 1, length: 1); + //第 12 时段起始:分 + public ModbusProperty ThirdSegmentMinutes12 { get; set; } = new(0x0711, start: 0, length: 1); + //第 12 时段起始:时 + public ModbusProperty ThirdSegmentHours12 { get; set; } = new(0x0711, start: 1, length: 1); + //第 13 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate13 { get; set; } = new(0x0712, start: 0, length: 1); + //第 13 时段起始:分 + public ModbusProperty ThirdSegmentMinutes13 { get; set; } = new(0x0712, start: 1, length: 1); + //第 13 时段起始:时 + public ModbusProperty ThirdSegmentHours13 { get; set; } = new(0x0713, start: 0, length: 1); + //第 14 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty ThirdSegmentRate14 { get; set; } = new(0x0713, start: 1, length: 1); + //第 14 时段起始:分 + public ModbusProperty ThirdSegmentMinutes14 { get; set; } = new(0x0714, start: 0, length: 1); + //第 14 时段起始:时 + public ModbusProperty ThirdSegmentHours14 { get; set; } = new(0x0714, start: 1, length: 1); + #endregion + + #region 第四套时段尖峰平谷 1~14时段 + //第 1 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate1 { get; set; } = new(0x0715, start: 0, length: 1); + //第 1 时段起始:分 + public ModbusProperty FourthSegmentMinutes1 { get; set; } = new(0x0715, start: 1, length: 1); + //第 1 时段起始:时 + public ModbusProperty FourthSegmentHours1 { get; set; } = new(0x0716, start: 0, length: 1); + + //第 2 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate2 { get; set; } = new(0x0716, start: 1, length: 1); + //第 2 时段起始:分 + public ModbusProperty FourthSegmentMinutes2 { get; set; } = new(0x0717, start: 0, length: 1); + //第 2 时段起始:时 + public ModbusProperty FourthSegmentHours2 { get; set; } = new(0x0717, start: 1, length: 1); + //第 3 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate3 { get; set; } = new(0x0718, start: 0, length: 1); + //第 3 时段起始:分 + public ModbusProperty FourthSegmentMinutes3 { get; set; } = new(0x0718, start: 1, length: 1); + //第 3 时段起始:时 + public ModbusProperty FourthSegmentHours3 { get; set; } = new(0x0719, start: 0, length: 1); + //第 4 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate4 { get; set; } = new(0x0719, start: 1, length: 1); + //第 4 时段起始:分 + public ModbusProperty FourthSegmentMinutes4 { get; set; } = new(0x071A, start: 0, length: 1); + //第 4 时段起始:时 + public ModbusProperty FourthSegmentHours4 { get; set; } = new(0x071A, start: 1, length: 1); + //第 5 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate5 { get; set; } = new(0x071B, start: 0, length: 1); + //第 5 时段起始:分 + public ModbusProperty FourthSegmentMinutes5 { get; set; } = new(0x071B, start: 1, length: 1); + //第 5 时段起始:时 + public ModbusProperty FourthSegmentHours5 { get; set; } = new(0x071C, start: 0, length: 1); + //第 6 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate6 { get; set; } = new(0x071C, start: 1, length: 1); + //第 6 时段起始:分 + public ModbusProperty FourthSegmentMinutes6 { get; set; } = new(0x071D, start: 0, length: 1); + //第 6 时段起始:时 + public ModbusProperty FourthSegmentHours6 { get; set; } = new(0x071D, start: 1, length: 1); + //第 7 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate7 { get; set; } = new(0x071E, start: 0, length: 1); + //第 7 时段起始:分 + public ModbusProperty FourthSegmentMinutes7 { get; set; } = new(0x071E, start: 1, length: 1); + //第 7 时段起始:时 + public ModbusProperty FourthSegmentHours7 { get; set; } = new(0x071F, start: 0, length: 1); + //第 8 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate8 { get; set; } = new(0x071F, start: 1, length: 1); + //第 8 时段起始:分 + public ModbusProperty FourthSegmentMinutes8 { get; set; } = new(0x0720, start: 0, length: 1); + //第 8 时段起始:时 + public ModbusProperty FourthSegmentHours8 { get; set; } = new(0x0720, start: 1, length: 1); + //第 9 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate9 { get; set; } = new(0x0721, start: 0, length: 1); + //第 9 时段起始:分 + public ModbusProperty FourthSegmentMinutes9 { get; set; } = new(0x0721, start: 1, length: 1); + //第 9 时段起始:时 + public ModbusProperty FourthSegmentHours9 { get; set; } = new(0x0722, start: 0, length: 1); + + //第 10 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate10 { get; set; } = new(0x0722, start: 1, length: 1); + //第 10 时段起始:分 + public ModbusProperty FourthSegmentMinutes10 { get; set; } = new(0x0723, start: 0, length: 1); + //第 10 时段起始:时 + public ModbusProperty FourthSegmentHours10 { get; set; } = new(0x0723, start: 1, length: 1); + //第 11 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate11 { get; set; } = new(0x0724, start: 0, length: 1); + //第 11 时段起始:分 + public ModbusProperty FourthSegmentMinutes11 { get; set; } = new(0x0724, start: 1, length: 1); + //第 11 时段起始:时 + public ModbusProperty FourthSegmentHours11 { get; set; } = new(0x0725, start: 0, length: 1); + //第 12 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate12 { get; set; } = new(0x0725, start: 1, length: 1); + //第 12 时段起始:分 + public ModbusProperty FourthSegmentMinutes12 { get; set; } = new(0x0726, start: 0, length: 1); + //第 12 时段起始:时 + public ModbusProperty FourthSegmentHours12 { get; set; } = new(0x0726, start: 1, length: 1); + //第 13 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate13 { get; set; } = new(0x0727, start: 0, length: 1); + //第 13 时段起始:分 + public ModbusProperty FourthSegmentMinutes13 { get; set; } = new(0x0727, start: 1, length: 1); + //第 13 时段起始:时 + public ModbusProperty FourthSegmentHours13 { get; set; } = new(0x0728, start: 0, length: 1); + //第 14 时段费率号 0:无费率 1:尖 2:峰 3:平 4:谷 + public ModbusProperty FourthSegmentRate14 { get; set; } = new(0x0728, start: 1, length: 1); + //第 14 时段起始:分 + public ModbusProperty FourthSegmentMinutes14 { get; set; } = new(0x0729, start: 0, length: 1); + //第 14 时段起始:时 + public ModbusProperty FourthSegmentHours14 { get; set; } = new(0x0729, start: 1, length: 1); + + //保留7 + public ModbusProperty Reserve7 { get; set; } = new(0x072A); + #endregion + + #region 温度 + //T1温度 + public ModbusProperty T1Temperature { get; set; } = new(0x2000, length: 2, scale: 0.1, round: 1); + //T2温度 + public ModbusProperty T2Temperature { get; set; } = new(0x2001, length: 2, scale: 0.1, round: 1); + //T3温度 + public ModbusProperty T3Temperature { get; set; } = new(0x2002, length: 2, scale: 0.1, round: 1); + #endregion + } +} diff --git a/Service/Cloud/Client/CloudClient.cs b/Service/Cloud/Client/CloudClient.cs index 927cd08..0e97896 100644 --- a/Service/Cloud/Client/CloudClient.cs +++ b/Service/Cloud/Client/CloudClient.cs @@ -137,8 +137,11 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR private static ushort _incrementId; - private static ushort GetIncrementId() + private static int GetIncrementId() { + string s = DateTime.Now.ToString("yyMMddHHmmss"); + + if (_incrementId < 65535) { _incrementId += 1; @@ -148,7 +151,8 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR _incrementId = 1; } - return _incrementId; + + return Int32.Parse(s+_incrementId); } public void InitHandler()