diff --git a/ConsoleStarter/ExportDb.cs b/ConsoleStarter/ExportDb.cs
index ea1fe73..8769c6d 100644
--- a/ConsoleStarter/ExportDb.cs
+++ b/ConsoleStarter/ExportDb.cs
@@ -36,7 +36,7 @@ public class ExportDb
private readonly SqlSugarClient Db = new(new ConnectionConfig
{
ConnectionString =
- "server=106.12.36.89;Database=chassis_track_swap0;Uid=remote_user;Pwd=Rszn123;Charset=utf8;",
+ "server=180.76.133.253;Port=16306;Database=huanneng_dev;Uid=root;Pwd=Rszn123;Charset=utf8;",
DbType = DbType.MySql,
IsAutoCloseConnection = true,
InitKeyType = InitKeyType.Attribute
@@ -54,5 +54,30 @@ public class ExportDb
foreach (var columnInfo in columnInfos)
Log.Info($" {columnInfo.DbColumnName}:{columnInfo.ColumnDescription}");
}
+
+ Db.DbFirst
+ .Where(it => it.Contains("charge_order"))
+ .IsCreateAttribute() //创建sqlsugar自带特性
+ .FormatFileName(ToPascalCase) //格式化文件名(文件名和表名不一样情况)
+ .FormatClassName(ToPascalCase) //格式化类名 (类名和表名不一样的情况)
+ .FormatPropertyName(ToPascalCase) //格式化属性名 (属性名和字段名不一样情况)
+ .CreateClassFile("D:\\vsproject\\hn_back_charger\\Entity\\DbModel\\Station",
+ "Entity.DbModel.Station");
+ }
+
+ static string ToPascalCase(string input)
+ {
+ if (string.IsNullOrEmpty(input))
+ return input;
+ string[] strings = input.Split("_");
+ string res = "";
+ foreach (var s in strings)
+ {
+ string first = s.First().ToString().ToUpper();
+ string te = first + s.Substring(1);
+ res += te;
+ }
+
+ return res;
}
}
\ No newline at end of file
diff --git a/Entity/DbModel/Station/ChargeOrder.cs b/Entity/DbModel/Station/ChargeOrder.cs
index 5d7a8e4..d80d0a1 100644
--- a/Entity/DbModel/Station/ChargeOrder.cs
+++ b/Entity/DbModel/Station/ChargeOrder.cs
@@ -63,6 +63,22 @@ namespace Entity.DbModel.Station
[SugarColumn(ColumnName="charger_gun_no")]
public string ChargerGunNo {get;set;}
+ ///
+ /// Desc:0:站内充电 1:站外充电
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="charge_mode")]
+ public int? ChargeMode {get;set;}
+
+ ///
+ /// Desc:1:站控启动 2:本地启动
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="start_mode")]
+ public int? StartMode {get;set;}
+
///
/// Desc:充电开始时间
/// Default:
@@ -111,6 +127,14 @@ namespace Entity.DbModel.Station
[SugarColumn(ColumnName="elec_count")]
public decimal? ElecCount {get;set;}
+ ///
+ /// Desc:交流电表量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="ac_elec_count")]
+ public decimal? AcElecCount {get;set;}
+
///
/// Desc:充电开始交流表电量
/// Default:
@@ -183,6 +207,38 @@ namespace Entity.DbModel.Station
[SugarColumn(ColumnName="valley_elec_count")]
public decimal? ValleyElecCount {get;set;}
+ ///
+ /// Desc:尖时段交流电量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="ac_sharp_elec_count")]
+ public decimal? AcSharpElecCount {get;set;}
+
+ ///
+ /// Desc:峰时段交流电量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="ac_peak_elec_count")]
+ public decimal? AcPeakElecCount {get;set;}
+
+ ///
+ /// Desc:平时段交流电量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="ac_flat_elec_count")]
+ public decimal? AcFlatElecCount {get;set;}
+
+ ///
+ /// Desc:谷时段交流电量
+ /// Default:
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="ac_valley_elec_count")]
+ public decimal? AcValleyElecCount {get;set;}
+
///
/// Desc:电价版本号
/// Default:
diff --git a/Service/Charger/Client/ChargerClient.cs b/Service/Charger/Client/ChargerClient.cs
index 4d76746..2c2b3b9 100644
--- a/Service/Charger/Client/ChargerClient.cs
+++ b/Service/Charger/Client/ChargerClient.cs
@@ -90,8 +90,10 @@ public class ChargerClient : TcpClient
/// 心跳-桩状态
///
public byte PileState { get; set; }
-
-
+ ///
+ /// 电池编码
+ ///
+ public string BatterSn { get; set; }
#region 发送指令
diff --git a/Service/Charger/Codec/Decoder.cs b/Service/Charger/Codec/Decoder.cs
index 9d97f7a..e743e90 100644
--- a/Service/Charger/Codec/Decoder.cs
+++ b/Service/Charger/Codec/Decoder.cs
@@ -116,13 +116,14 @@ public class Decoder : ByteToMessageDecoder
10 => ModelConvert.Decode(bytes),
11 => ModelConvert.Decode(bytes),
13 => ModelConvert.Decode(bytes),
+ 21 => ModelConvert.Decode(bytes),
25 => ModelConvert.Decode(bytes),
//40 => ModelConvert.Decode(bytes),
//41 => ModelConvert.Decode(bytes),
44 => ModelConvert.Decode(bytes),
//46 => ModelConvert.Decode(bytes),
- 48 => ModelConvert.Decode(bytes),
- 50 => ModelConvert.Decode(bytes),
+ 48 => ModelConvert.Decode(bytes),
+ 50 => ModelConvert.Decode(bytes),
75 => ModelConvert.Decode(bytes),
82 => ModelConvert.Decode(bytes),
@@ -202,6 +203,7 @@ public class Decoder : ByteToMessageDecoder
57 => ModelConvert.Decode(bytes),
58 => ModelConvert.Decode(bytes),
59 => ModelConvert.Decode(bytes),
+ 81 => ModelConvert.Decode(bytes),
142 => ModelConvert.Decode(bytes),
143 => ModelConvert.Decode(bytes),
144 => ModelConvert.Decode(bytes),
@@ -213,7 +215,7 @@ public class Decoder : ByteToMessageDecoder
},
#endregion
- 42 => ModelConvert.Decode(bytes),
+ 42 => ModelConvert.Decode(bytes),
11 => ModelConvert.Decode(bytes),
49 => ModelConvert.Decode(bytes),
50 => ModelConvert.Decode(bytes),
diff --git a/Service/Charger/Common/ChargerConst.cs b/Service/Charger/Common/ChargerConst.cs
index ae3cb5e..a59be89 100644
--- a/Service/Charger/Common/ChargerConst.cs
+++ b/Service/Charger/Common/ChargerConst.cs
@@ -4,6 +4,7 @@ namespace Service.Charger.Common;
public static class ChargerConst
{
+
public static readonly AttributeKey ChargerSn = AttributeKey.ValueOf("charger_sn");
public static readonly AttributeKey EqmTypeNo = AttributeKey.ValueOf("eqm_type_no");
public static readonly AttributeKey EqmCode = AttributeKey.ValueOf("eqm_code");
@@ -12,6 +13,10 @@ public static class ChargerConst
public static readonly byte[] StartChar = { 0x68 /* ,0xEE*/ };
public static readonly string AuthCode = "szhckj01";
+
+ public static readonly byte[] BatteryBasicInfo2 = { 0x00, 0xF8, 0x02 };
+ public static readonly byte[] BatteryNo = { 0x00, 0xF8, 0x81 };
+ public static readonly byte[] BatteryBasicInfo = { 0x00, 0xF8, 0x82 };
}
///
diff --git a/Service/Charger/Handler/AdjustChargeRateResHandler.cs b/Service/Charger/Handler/AdjustChargeRateResHandler.cs
new file mode 100644
index 0000000..3d5027f
--- /dev/null
+++ b/Service/Charger/Handler/AdjustChargeRateResHandler.cs
@@ -0,0 +1,28 @@
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac.Attribute;
+using log4net;
+using Service.Charger.Client;
+using Service.Charger.Msg.Charger.Resp;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 3.4.4 充放电机应答辅助控制
+ ///
+ /// 1,保存日志到log
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class AdjustChargeRateResHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(AdjustChargeRateResHandler));
+ protected override void ChannelRead0(IChannelHandlerContext ctx, AdjustChargeRateRes msg)
+ {
+ if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client))
+ {
+ Log.Info($"receive {msg} from {sn}");
+ }
+ }
+ }
+}
diff --git a/Service/Charger/Handler/ChangeChargeModeResHandler.cs b/Service/Charger/Handler/ChangeChargeModeResHandler.cs
new file mode 100644
index 0000000..48223d4
--- /dev/null
+++ b/Service/Charger/Handler/ChangeChargeModeResHandler.cs
@@ -0,0 +1,29 @@
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac.Attribute;
+using log4net;
+using Service.Charger.Client;
+using Service.Charger.Msg.Charger.Resp;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 3.4.4 充放电机应答辅助控制
+ ///
+ /// 1,保存日志到log
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class ChangeChargeModeResHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(ChangeChargeModeResHandler));
+
+ protected override void ChannelRead0(IChannelHandlerContext ctx, ChangeChargeModeRes msg)
+ {
+ if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client))
+ {
+ Log.Info($"receive {msg} from {sn}");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Handler/OfflineStopChargingResHandler.cs b/Service/Charger/Handler/OfflineStopChargingResHandler.cs
new file mode 100644
index 0000000..2fad37d
--- /dev/null
+++ b/Service/Charger/Handler/OfflineStopChargingResHandler.cs
@@ -0,0 +1,29 @@
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac.Attribute;
+using log4net;
+using Service.Charger.Client;
+using Service.Charger.Msg.Charger.Resp;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 充放电机应答监控平台掉线停止充电
+ ///
+ /// 1,保存日志到log
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class OfflineStopChargingResHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(OfflineStopChargingResHandler));
+
+ protected override void ChannelRead0(IChannelHandlerContext ctx, OfflineStopChargingRes msg)
+ {
+ if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client))
+ {
+ Log.Info($"receive {msg} from {sn}");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Handler/QueryBatteryBasicInfo2ResHandler.cs b/Service/Charger/Handler/QueryBatteryBasicInfo2ResHandler.cs
new file mode 100644
index 0000000..b5228c1
--- /dev/null
+++ b/Service/Charger/Handler/QueryBatteryBasicInfo2ResHandler.cs
@@ -0,0 +1,38 @@
+using System.Text;
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac.Attribute;
+using log4net;
+using Service.Charger.Client;
+using Service.Charger.Msg.Charger.Resp;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 3.4.4 充放电机应答辅助控制
+ ///
+ /// 1,保存日志到log
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class QueryBatteryBasicInfo2ResHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(QueryBatteryBasicInfo2ResHandler));
+
+ protected override void ChannelRead0(IChannelHandlerContext ctx, QueryBatterySnRes msg)
+ {
+ if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client))
+ {
+ StringBuilder sb = new StringBuilder(27);
+ foreach (var b in msg.BatterSnBytes)
+ {
+ sb.Append(Convert.ToChar(b));
+ }
+
+ client.BatterSn = sb.ToString();
+
+ Log.Info($"receive {msg} from {sn}");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Handler/RecordChargeHandler.cs b/Service/Charger/Handler/RecordChargeHandler.cs
new file mode 100644
index 0000000..4628e3b
--- /dev/null
+++ b/Service/Charger/Handler/RecordChargeHandler.cs
@@ -0,0 +1,60 @@
+using Autofac;
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac;
+using HybirdFrameworkCore.Autofac.Attribute;
+using HybirdFrameworkCore.Redis;
+using log4net;
+using Service.Charger.Msg.Charger.Req;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 主动上送充电记录
+ ///
+ /// 1,保存到Redis-7
+ /// 2,保存日志到log
+ /// 3,回复主动上送充电记录
+ /// 4,保存充电记录日志
+ /// 5,保存 充电记录保存到云平台记录标识
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class RecordChargeHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(RecordChargeHandler));
+ protected override void ChannelRead0(IChannelHandlerContext ctx, RecordCharge? msg)
+ {
+
+ msg.StartTime = (msg.StartYear+1900) + "-" + msg.StartMonth + "-" + msg.StartDay + " " + msg.StartHour + ":" + msg.StartMinute + ":" + msg.StartSecond;
+ msg.EndTime = (msg.EndYear+1900) + "-" + msg.EndMonth + "-" + msg.EndDay + " " + msg.EndHour + ":" + msg.EndMinute + ":" + msg.EndSecond;
+
+
+
+ float[] powersPeriods = new float[4] { 0, 0, 0, 0 }; //元素索引顺序代表值;1:尖;2:峰;3:平;4:谷
+ if (msg.FlagOfTime1 >= 1 && msg.FlagOfTime1 <= 4){powersPeriods[msg.FlagOfTime1 - 1] += msg.ChargingPowerOfTime1;}
+ if (msg.FlagOfTime2 >= 1 && msg.FlagOfTime2 <= 4){powersPeriods[msg.FlagOfTime2 - 1] += msg.ChargingPowerOfTime2;}
+ if (msg.FlagOfTime3 >= 1 && msg.FlagOfTime3 <= 4){powersPeriods[msg.FlagOfTime3 - 1] += msg.ChargingPowerOfTime3;}
+ if (msg.FlagOfTime4 >= 1 && msg.FlagOfTime4 <= 4){powersPeriods[msg.FlagOfTime4 - 1] += msg.ChargingPowerOfTime4;}
+ if (msg.FlagOfTime5 >= 1 && msg.FlagOfTime5 <= 4){powersPeriods[msg.FlagOfTime5 - 1] += msg.ChargingPowerOfTime5;}
+ if (msg.FlagOfTime6 >= 1 && msg.FlagOfTime6 <= 4){powersPeriods[msg.FlagOfTime6 - 1] += msg.ChargingPowerOfTime6;}
+ if (msg.FlagOfTime7 >= 1 && msg.FlagOfTime7 <= 4){powersPeriods[msg.FlagOfTime7 - 1] += msg.ChargingPowerOfTime7;}
+ if (msg.FlagOfTime8 >= 1 && msg.FlagOfTime8 <= 4){powersPeriods[msg.FlagOfTime8 - 1] += msg.ChargingPowerOfTime8;}
+
+ float[] acPowersPeriods = new float[4] { 0, 0, 0, 0 }; //元素索引顺序代表值;1:尖;2:峰;3:平;4:谷
+ if (msg.AcFlagOfTime1 >= 1 && msg.AcFlagOfTime1 <= 4){acPowersPeriods[msg.AcFlagOfTime1 - 1] += msg.AcChargingPowerOfTime1;}
+ if (msg.AcFlagOfTime2 >= 1 && msg.AcFlagOfTime2 <= 4){acPowersPeriods[msg.AcFlagOfTime2 - 1] += msg.AcChargingPowerOfTime2;}
+ if (msg.AcFlagOfTime3 >= 1 && msg.AcFlagOfTime3 <= 4){acPowersPeriods[msg.AcFlagOfTime3 - 1] += msg.AcChargingPowerOfTime3;}
+ if (msg.AcFlagOfTime4 >= 1 && msg.AcFlagOfTime4 <= 4){acPowersPeriods[msg.AcFlagOfTime4 - 1] += msg.AcChargingPowerOfTime4;}
+ if (msg.AcFlagOfTime5 >= 1 && msg.AcFlagOfTime5 <= 4){acPowersPeriods[msg.AcFlagOfTime5 - 1] += msg.AcChargingPowerOfTime5;}
+ if (msg.AcFlagOfTime6 >= 1 && msg.AcFlagOfTime6 <= 4){acPowersPeriods[msg.AcFlagOfTime6 - 1] += msg.AcChargingPowerOfTime6;}
+ if (msg.AcFlagOfTime7 >= 1 && msg.AcFlagOfTime7 <= 4){acPowersPeriods[msg.AcFlagOfTime7 - 1] += msg.AcChargingPowerOfTime7;}
+ if (msg.AcFlagOfTime8 >= 1 && msg.AcFlagOfTime8 <= 4){acPowersPeriods[msg.AcFlagOfTime8 - 1] += msg.AcChargingPowerOfTime8;}
+
+
+ RedisHelper redisHelper = AppInfo.Container.Resolve();
+ var hlpChannelARedis = redisHelper.GetDatabase(7);
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Handler/SetPeakVallyTimeResHandler.cs b/Service/Charger/Handler/SetPeakVallyTimeResHandler.cs
new file mode 100644
index 0000000..08b74e6
--- /dev/null
+++ b/Service/Charger/Handler/SetPeakVallyTimeResHandler.cs
@@ -0,0 +1,29 @@
+using DotNetty.Transport.Channels;
+using HybirdFrameworkCore.Autofac.Attribute;
+using log4net;
+using Service.Charger.Client;
+using Service.Charger.Msg.Charger.Resp;
+
+namespace Service.Charger.Handler
+{
+ ///
+ /// 充放电机应答监控平台掉线停止充电
+ ///
+ /// 1,保存日志到log
+ ///
+ ///
+ [Order(8)]
+ [Scope("InstancePerDependency")]
+ public class SetPeakVallyTimeResHandler : SimpleChannelInboundHandler, IBaseHandler
+ {
+ private static readonly ILog Log = LogManager.GetLogger(typeof(SetPeakVallyTimeResHandler));
+
+ protected override void ChannelRead0(IChannelHandlerContext ctx, SetPeakVallyTimeRes msg)
+ {
+ if (ClientMgr.TryGetClient(ctx.Channel, out var sn, out var client))
+ {
+ Log.Info($"receive {msg} from {sn}");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Req/RecordCharg.cs b/Service/Charger/Msg/Charger/Req/RecordCharg.cs
deleted file mode 100644
index 4c337b6..0000000
--- a/Service/Charger/Msg/Charger/Req/RecordCharg.cs
+++ /dev/null
@@ -1,802 +0,0 @@
-using HybirdFrameworkCore.Autofac.Attribute;
-
-namespace Service.Charger.Msg.Charger.Req
-{
- ///
- /// 3.5.5 主动上送充电记录
- ///
- public class RecordCharg : ASDU
- {
- ///
- /// 充电开始时间-秒
- ///
- [Property(0, 8)]
- public byte StartSecond { get; set; }
-
- ///
- /// 充电开始时间-分
- ///
- [Property(8, 8)]
- public byte StartMinute { get; set; }
-
- ///
- /// 充电开始时间-时
- ///
- [Property(16, 8)]
- public byte StartHour { get; set; }
-
- ///
- /// 充电开始时间-日
- ///
- [Property(24, 8)]
- public byte StartDay { get; set; }
-
- ///
- /// 充电开始时间-月
- ///
- [Property(32, 8)]
- public byte StartMonth { get; set; }
-
- ///
- /// 充电开始时间-年
- ///
- [Property(40, 8)]
- public byte StartYear { get; set; }
-
- ///
- /// 充电结束时间-秒
- ///
- [Property(48, 8)]
- public byte EndSecond { get; set; }
-
- ///
- /// 充电结束时间-分
- ///
- [Property(56, 8)]
- public byte EndMinute { get; set; }
-
- ///
- /// 充电结束时间-时
- ///
- [Property(64, 8)]
- public byte EndHour { get; set; }
-
- ///
- /// 充电结束时间-日
- ///
- [Property(72, 8)]
- public byte EndDay { get; set; }
-
- ///
- /// 充电结束时间-月
- ///
- [Property(80, 8)]
- public byte EndMonth { get; set; }
-
- ///
- /// 充电结束时间-年
- ///
- [Property(88, 8)]
- public byte EndYear { get; set; }
-
- ///
- /// 充电开始时间 秒-分-时-日-月-年
- ///
- public string StartTime { get; set; }
-
- ///
- /// 充电结束时间
- ///
- public string EndTime { get; set; }
-
- ///
- /// 1 枪充电前电能表数据
- ///
- [Property(96, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float FirstGunEnergyMeterDataBefore { get; set; }
-
- ///
- /// 1 枪充电后电能表数据
- ///
- [Property(128, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float FirstGunEnergyMeterDataAfter { get; set; }
-
- ///
- /// 2 枪充电前电能表数据
- ///
- [Property(160, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float SecondGunEnergyMeterDataBefore { get; set; }
-
- ///
- /// 2 枪充电后电能表数据
- ///
- [Property(192, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float SecondGunEnergyMeterDataAfter { get; set; }
-
- ///
- /// 充电电量
- ///
- [Property(224, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPower { get; set; }
-
- ///
- /// 充电前SOC
- ///
- [Property(256, 8)]
- public byte SocBefore { get; set; }
-
- ///
- /// 充电后SOC
- ///
- [Property(264, 8)]
- public byte SocAfter { get; set; }
-
- ///
- /// 充电时段数量
- ///
- [Property(272, 8)]
- public byte ChargingTimeCount { get; set; }
-
- ///
- /// 时段1 开始时间 时
- ///
- [Property(280, 8)]
- public byte StartTime1 { get; set; }
-
- ///
- /// 时段1 开始时间 分
- ///
- [Property(288, 8)]
- public byte StartTimeMinute1 { get; set; }
-
- ///
- /// 时段1 电量
- ///
- [Property(296, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime1 { get; set; }
-
- ///
- /// 时段1 标识
- ///
- [Property(328, 8)]
- public byte FlagOfTime1 { get; set; }
-
- ///
- /// 时段2 开始时间 时
- ///
- [Property(280 + 56, 8)]
- public byte StartTime2 { get; set; }
-
- ///
- /// 时段2 开始时间 分
- ///
- [Property(288 + 56, 8)]
- public byte StartTimeMinute2 { get; set; }
-
- ///
- /// 时段2 电量
- ///
- [Property(296 + 56, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime2 { get; set; }
-
- ///
- /// 时段2 标识
- ///
- [Property(328 + 56, 8)]
- public byte FlagOfTime2 { get; set; }
-
- ///
- /// 时段3 开始时间 时
- ///
- [Property(280 + 56 * 2, 8)]
- public byte StartTime3 { get; set; }
-
- ///
- /// 时段3 开始时间 分
- ///
- [Property(288 + 56 * 2, 8)]
- public byte StartTimeMinute3 { get; set; }
-
- ///
- /// 时段3 电量
- ///
- [Property(296 + 56 * 2, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime3 { get; set; }
-
- ///
- /// 时段3 标识
- ///
- [Property(328 + 56 * 2, 8)]
- public byte FlagOfTime3 { get; set; }
-
- ///
- /// 时段4 开始时间 时
- ///
- [Property(280 + 56 * 3, 8)]
- public byte StartTime4 { get; set; }
-
- ///
- /// 时段4 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute4 { get; set; }
-
- ///
- /// 时段4 电量
- ///
- [Property(296 + 56 * 3, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime4 { get; set; }
-
- ///
- /// 时段4 标识
- ///
- [Property(328 + 56 * 3, 8)]
- public byte FlagOfTime4 { get; set; }
-
- ///
- /// 时段5 开始时间 时
- ///
- [Property(280 + 56 * 4, 8)]
- public byte StartTime5 { get; set; }
-
- ///
- /// 时段5 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute5 { get; set; }
-
- ///
- /// 时段5 电量
- ///
- [Property(296 + 56 * 4, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime5 { get; set; }
-
- ///
- /// 时段5 标识
- ///
- [Property(328 + 56 * 4, 8)]
- public byte FlagOfTime5 { get; set; }
-
- ///
- /// 时段6 开始时间 时
- ///
- [Property(280 + 56 * 5, 8)]
- public byte StartTime6 { get; set; }
-
- ///
- /// 时段6 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute6 { get; set; }
-
- ///
- /// 时段6 电量
- ///
- [Property(296 + 56 * 5, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime6 { get; set; }
-
- ///
- /// 时段6 标识
- ///
- [Property(328 + 56 * 5, 8)]
- public byte FlagOfTime6 { get; set; }
-
- ///
- /// 时段7 开始时间 时
- ///
- [Property(280 + 56 * 6, 8)]
- public byte StartTime7 { get; set; }
-
- ///
- /// 时段7 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute7 { get; set; }
-
- ///
- /// 时段7 电量
- ///
- [Property(296 + 56 * 6, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime7 { get; set; }
-
- ///
- /// 时段7 标识
- ///
- [Property(328 + 56 * 6, 8)]
- public byte FlagOfTime7 { get; set; }
-
- ///
- /// 时段8 开始时间 时
- ///
- [Property(280 + 56 * 7, 8)]
- public byte StartTime8 { get; set; }
-
- ///
- /// 时段8 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute8 { get; set; }
-
- ///
- /// 时段8 电量
- ///
- [Property(296 + 56 * 7, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime8 { get; set; }
-
- ///
- /// 时段8 标识
- ///
- [Property(328 + 56 * 7, 8)]
- public byte FlagOfTime8 { get; set; }
-
- ///
- /// 时段9 开始时间 时
- ///
- [Property(280 + 56 * 8, 8)]
- public byte StartTime9 { get; set; }
-
- ///
- /// 时段9 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute9 { get; set; }
-
- ///
- /// 时段9 电量
- ///
- [Property(296 + 56 * 8, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime9 { get; set; }
-
- ///
- /// 时段9 标识
- ///
- [Property(328 + 56 * 8, 8)]
- public byte FlagOfTime9 { get; set; }
-
- ///
- /// 时段10 开始时间 时
- ///
- [Property(280 + 56 * 9, 8)]
- public byte StartTime10 { get; set; }
-
- ///
- /// 时段10 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute10 { get; set; }
-
- ///
- /// 时段10 电量
- ///
- [Property(296 + 56 * 9, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime10 { get; set; }
-
- ///
- /// 时段10 标识
- ///
- [Property(328 + 56 * 9, 8)]
- public byte FlagOfTime10 { get; set; }
-
- ///
- /// 时段11 开始时间 时
- ///
- [Property(280 + 56 * 10, 8)]
- public byte StartTime11 { get; set; }
-
- ///
- /// 时段11 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute11 { get; set; }
-
- ///
- /// 时段11 电量
- ///
- [Property(296 + 56 * 10, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime11 { get; set; }
-
- ///
- /// 时段11 标识
- ///
- [Property(328 + 56 * 10, 8)]
- public byte FlagOfTime11 { get; set; }
-
- ///
- /// 时段12 开始时间 时
- ///
- [Property(280 + 56 * 11, 8)]
- public byte StartTime12 { get; set; }
-
- ///
- /// 时段12 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute12 { get; set; }
-
- ///
- /// 时段12 电量
- ///
- [Property(296 + 56 * 11, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime12 { get; set; }
-
- ///
- /// 时段12 标识
- ///
- [Property(328 + 56 * 11, 8)]
- public byte FlagOfTime12 { get; set; }
-
- ///
- /// 时段13 开始时间 时
- ///
- [Property(280 + 56 * 12, 8)]
- public byte StartTime13 { get; set; }
-
- ///
- /// 时段13 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute13 { get; set; }
-
- ///
- /// 时段13 电量
- ///
- [Property(296 + 56 * 12, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime13 { get; set; }
-
- ///
- /// 时段13 标识
- ///
- [Property(328 + 56 * 12, 8)]
- public byte FlagOfTime13 { get; set; }
-
- ///
- /// 时段14 开始时间 时
- ///
- [Property(280 + 56 * 13, 8)]
- public byte StartTime14 { get; set; }
-
- ///
- /// 时段14 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute14 { get; set; }
-
- ///
- /// 时段14 电量
- ///
- [Property(296 + 56 * 13, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime14 { get; set; }
-
- ///
- /// 时段14 标识
- ///
- [Property(328 + 56 * 13, 8)]
- public byte FlagOfTime14 { get; set; }
-
- ///
- /// 时段15 开始时间 时
- ///
- [Property(280 + 56 * 14, 8)]
- public byte StartTime15 { get; set; }
-
- ///
- /// 时段15 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute15 { get; set; }
-
- ///
- /// 时段15 电量
- ///
- [Property(296 + 56 * 14, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime15 { get; set; }
-
- ///
- /// 时段15 标识
- ///
- [Property(328 + 56 * 14, 8)]
- public byte FlagOfTime15 { get; set; }
-
- ///
- /// 时段16 开始时间 时
- ///
- [Property(280 + 56 * 15, 8)]
- public byte StartTime16 { get; set; }
-
- ///
- /// 时段16 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute16 { get; set; }
-
- ///
- /// 时段16 电量
- ///
- [Property(296 + 56 * 15, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime16 { get; set; }
-
- ///
- /// 时段16 标识
- ///
- [Property(328 + 56 * 15, 8)]
- public byte FlagOfTime16 { get; set; }
-
- ///
- /// 时段17 开始时间 时
- ///
- [Property(280 + 56 * 16, 8)]
- public byte StartTime17 { get; set; }
-
- ///
- /// 时段17 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute17 { get; set; }
-
- ///
- /// 时段17 电量
- ///
- [Property(296 + 56 * 16, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime17 { get; set; }
-
- ///
- /// 时段17 标识
- ///
- [Property(328 + 56 * 16, 8)]
- public byte FlagOfTime17 { get; set; }
-
- ///
- /// 时段18 开始时间 时
- ///
- [Property(280 + 56 * 17, 8)]
- public byte StartTime18 { get; set; }
-
- ///
- /// 时段18 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute18 { get; set; }
-
- ///
- /// 时段18 电量
- ///
- [Property(296 + 56 * 17, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime18 { get; set; }
-
- ///
- /// 时段18 标识
- ///
- [Property(328 + 56 * 17, 8)]
- public byte FlagOfTime18 { get; set; }
-
- ///
- /// 时段19 开始时间 时
- ///
- [Property(280 + 56 * 18, 8)]
- public byte StartTime19 { get; set; }
-
- ///
- /// 时段19 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute19 { get; set; }
-
- ///
- /// 时段19 电量
- ///
- [Property(296 + 56 * 18, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime19 { get; set; }
-
- ///
- /// 时段19 标识
- ///
- [Property(328 + 56 * 18, 8)]
- public byte FlagOfTime19 { get; set; }
-
- ///
- /// 时段20 开始时间 时
- ///
- [Property(280 + 56 * 19, 8)]
- public byte StartTime20 { get; set; }
-
- ///
- /// 时段20 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute20 { get; set; }
-
- ///
- /// 时段20 电量
- ///
- [Property(296 + 56 * 19, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime20 { get; set; }
-
- ///
- /// 时段20 标识
- ///
- [Property(328 + 56 * 19, 8)]
- public byte FlagOfTime20 { get; set; }
-
- ///
- /// 时段21 开始时间 时
- ///
- [Property(280 + 56 * 20, 8)]
- public byte StartTime21 { get; set; }
-
- ///
- /// 时段21 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute21 { get; set; }
-
- ///
- /// 时段21 电量
- ///
- [Property(296 + 56 * 20, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime21 { get; set; }
-
- ///
- /// 时段21 标识
- ///
- [Property(328 + 56 * 20, 8)]
- public byte FlagOfTime21 { get; set; }
-
- ///
- /// 时段22 开始时间 时
- ///
- [Property(280 + 56 * 21, 8)]
- public byte StartTime22 { get; set; }
-
- ///
- /// 时段22 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute22 { get; set; }
-
- ///
- /// 时段22 电量
- ///
- [Property(296 + 56 * 21, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime22 { get; set; }
-
- ///
- /// 时段22 标识
- ///
- [Property(328 + 56 * 21, 8)]
- public byte FlagOfTime22 { get; set; }
-
- ///
- /// 时段23 开始时间 时
- ///
- [Property(280 + 56 * 22, 8)]
- public byte StartTime23 { get; set; }
-
- ///
- /// 时段23 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute23 { get; set; }
-
- ///
- /// 时段23 电量
- ///
- [Property(296 + 56 * 22, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime23 { get; set; }
-
- ///
- /// 时段23 标识
- ///
- [Property(328 + 56 * 22, 8)]
- public byte FlagOfTime23 { get; set; }
-
- ///
- /// 时段24 开始时间 时
- ///
- [Property(280 + 56 * 23, 8)]
- public byte StartTime24 { get; set; }
-
- ///
- /// 时段24 开始时间 分
- ///
- [Property(288 + 56 * 3, 8)]
- public byte StartTimeMinute24 { get; set; }
-
- ///
- /// 时段24 电量
- ///
- [Property(296 + 56 * 23, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float ChargingPowerOfTime24 { get; set; }
-
- ///
- /// 时段24 标识
- ///
- [Property(328 + 56 * 23, 8)]
- public byte FlagOfTime24 { get; set; }
-
- ///
- /// 充电前交流表值
- ///
- [Property(1624, 32, PropertyReadConstant.Bit, 0.01, 2)]
-
- public float AcMeterDataBefore { get; set; }
-
- ///
- /// 充电后交流表值
- ///
- [Property(1656, 32, PropertyReadConstant.Bit, 0.01, 2)]
- public float AcMeterDataAfter { get; set; }
-
- ///
- /// 启动模式
- ///
- [Property(1688, 8)]
- public byte BootMode { get; set; }
-
- ///
- /// 充电流水号
- ///
- [Property(1696, 16, PropertyReadConstant.Byte)]
- public byte[] ChargingWater { get; set; }
-
- ///
- /// 充电流水号
- ///
- public string ChargingSn { get; set; }
-
- ///
- /// 车辆 VIN
- ///
- [Property(1712, 17, PropertyReadConstant.Byte)]
- public byte[] VehicleVIN { get; set; }
-
- ///
- /// 车辆 VIN
- ///
- public string VehicleVin { get; set; }
-
- public string time01 { get; set; }
- public string time02 { get; set; }
- public string time03 { get; set; }
- public string time04 { get; set; }
- public string time05 { get; set; }
- public string time06 { get; set; }
- public string time07 { get; set; }
- public string time08 { get; set; }
- public string time09 { get; set; }
- public string time10 { get; set; }
- public string time11 { get; set; }
- public string time12 { get; set; }
- public string time13 { get; set; }
- public string time14 { get; set; }
- public string time15 { get; set; }
- public string time16 { get; set; }
- public string time17 { get; set; }
- public string time18 { get; set; }
- public string time19 { get; set; }
- public string time20 { get; set; }
- public string time21 { get; set; }
- public string time22 { get; set; }
- public string time23 { get; set; }
- public string time24 { get; set; }
-
- ///
- /// 尖时间段电量
- ///
- public float SharpPeriodPower { get; set; }
-
- ///
- /// 峰时间段电量
- ///
- public float PeakPeriodPower { get; set; }
-
- ///
- /// 平时间段电量
- ///
- public float FlatPeriodPower { get; set; }
-
- ///
- /// 谷时间段电量
- ///
- public float ValleyPeriodPower { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Req/RecordCharge.cs b/Service/Charger/Msg/Charger/Req/RecordCharge.cs
new file mode 100644
index 0000000..dd80e0f
--- /dev/null
+++ b/Service/Charger/Msg/Charger/Req/RecordCharge.cs
@@ -0,0 +1,582 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Charger.Req
+{
+ ///
+ /// 3.5.5 主动上送充电记录
+ ///
+ public class RecordCharge : ASDU
+ {
+ ///
+ /// 充电开始时间-秒
+ ///
+ [Property(0, 256, PropertyReadConstant.Byte)]
+ public string ChargerOrderNo { get; set; }
+
+ ///
+ /// 充电开始时间-秒
+ ///
+ [Property(256, 8)]
+ public byte StartSecond { get; set; }
+
+ ///
+ /// 充电开始时间-分
+ ///
+ [Property(264, 8)]
+ public byte StartMinute { get; set; }
+
+ ///
+ /// 充电开始时间-时
+ ///
+ [Property(272, 8)]
+ public byte StartHour { get; set; }
+
+ ///
+ /// 充电开始时间-日
+ ///
+ [Property(280, 8)]
+ public byte StartDay { get; set; }
+
+ ///
+ /// 充电开始时间-月
+ ///
+ [Property(288, 8)]
+ public byte StartMonth { get; set; }
+
+ ///
+ /// 充电开始时间-年
+ ///
+ [Property(296, 8)]
+ public byte StartYear { get; set; }
+
+ ///
+ /// 充电结束时间-秒
+ ///
+ [Property(304, 8)]
+ public byte EndSecond { get; set; }
+
+ ///
+ /// 充电结束时间-分
+ ///
+ [Property(312, 8)]
+ public byte EndMinute { get; set; }
+
+ ///
+ /// 充电结束时间-时
+ ///
+ [Property(320, 8)]
+ public byte EndHour { get; set; }
+
+ ///
+ /// 充电结束时间-日
+ ///
+ [Property(328, 8)]
+ public byte EndDay { get; set; }
+
+ ///
+ /// 充电结束时间-月
+ ///
+ [Property(336, 8)]
+ public byte EndMonth { get; set; }
+
+ ///
+ /// 充电结束时间-年
+ ///
+ [Property(344, 8)]
+ public byte EndYear { get; set; }
+
+ ///
+ /// 充电开始时间 秒-分-时-日-月-年
+ ///
+ public string StartTime { get; set; }
+
+ ///
+ /// 充电结束时间
+ ///
+ public string EndTime { get; set; }
+
+ ///
+ /// 1 枪充电前电能表数据
+ ///
+ [Property(352, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float FirstGunEnergyMeterDataBefore { get; set; }
+
+ ///
+ /// 1 枪充电后电能表数据
+ ///
+ [Property(384, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float FirstGunEnergyMeterDataAfter { get; set; }
+
+ ///
+ /// 2 枪充电前电能表数据
+ ///
+ [Property(416, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float SecondGunEnergyMeterDataBefore { get; set; }
+
+ ///
+ /// 2 枪充电后电能表数据
+ ///
+ [Property(448, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float SecondGunEnergyMeterDataAfter { get; set; }
+
+ ///
+ /// 充电电量
+ ///
+ [Property(480, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPower { get; set; }
+
+ ///
+ /// 充电前SOC
+ ///
+ [Property(512, 8)]
+ public byte SocBefore { get; set; }
+
+ ///
+ /// 充电后SOC
+ ///
+ [Property(520, 8)]
+ public byte SocAfter { get; set; }
+
+ ///
+ /// 充电时段数量
+ ///
+ [Property(528, 8)]
+ public byte ChargingTimeCount { get; set; }
+
+ #region 直流峰谷电
+
+ ///
+ /// 时段1 开始时间 时
+ ///
+ [Property(536, 8)]
+ public byte StartTime1 { get; set; }
+
+ ///
+ /// 时段1 开始时间 分
+ ///
+ [Property(544, 8)]
+ public byte StartTimeMinute1 { get; set; }
+
+ ///
+ /// 时段1 电量
+ ///
+ [Property(552, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime1 { get; set; }
+
+ ///
+ /// 时段1 标识
+ ///
+ [Property(584, 8)]
+ public byte FlagOfTime1 { get; set; }
+
+ ///
+ /// 时段2 开始时间 时
+ ///
+ [Property(536 + 56, 8)]
+ public byte StartTime2 { get; set; }
+
+ ///
+ /// 时段2 开始时间 分
+ ///
+ [Property(544 + 56, 8)]
+ public byte StartTimeMinute2 { get; set; }
+
+ ///
+ /// 时段2 电量
+ ///
+ [Property(552 + 56, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime2 { get; set; }
+
+ ///
+ /// 时段2 标识
+ ///
+ [Property(584 + 56, 8)]
+ public byte FlagOfTime2 { get; set; }
+
+ ///
+ /// 时段3 开始时间 时
+ ///
+ [Property(536 + 56 * 2, 8)]
+ public byte StartTime3 { get; set; }
+
+ ///
+ /// 时段3 开始时间 分
+ ///
+ [Property(544 + 56 * 2, 8)]
+ public byte StartTimeMinute3 { get; set; }
+
+ ///
+ /// 时段3 电量
+ ///
+ [Property(552 + 56 * 2, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime3 { get; set; }
+
+ ///
+ /// 时段3 标识
+ ///
+ [Property(584 + 56 * 2, 8)]
+ public byte FlagOfTime3 { get; set; }
+
+ ///
+ /// 时段4 开始时间 时
+ ///
+ [Property(536 + 56 * 3, 8)]
+ public byte StartTime4 { get; set; }
+
+ ///
+ /// 时段4 开始时间 分
+ ///
+ [Property(544 + 56 * 3, 8)]
+ public byte StartTimeMinute4 { get; set; }
+
+ ///
+ /// 时段4 电量
+ ///
+ [Property(552 + 56 * 3, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime4 { get; set; }
+
+ ///
+ /// 时段4 标识
+ ///
+ [Property(584 + 56 * 3, 8)]
+ public byte FlagOfTime4 { get; set; }
+
+ ///
+ /// 时段5 开始时间 时
+ ///
+ [Property(536 + 56 * 4, 8)]
+ public byte StartTime5 { get; set; }
+
+ ///
+ /// 时段5 开始时间 分
+ ///
+ [Property(544 + 56 * 4, 8)]
+ public byte StartTimeMinute5 { get; set; }
+
+ ///
+ /// 时段5 电量
+ ///
+ [Property(552 + 56 * 4, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime5 { get; set; }
+
+ ///
+ /// 时段5 标识
+ ///
+ [Property(584 + 56 * 4, 8)]
+ public byte FlagOfTime5 { get; set; }
+
+ ///
+ /// 时段6 开始时间 时
+ ///
+ [Property(536 + 56 * 5, 8)]
+ public byte StartTime6 { get; set; }
+
+ ///
+ /// 时段6 开始时间 分
+ ///
+ [Property(544 + 56 * 5, 8)]
+ public byte StartTimeMinute6 { get; set; }
+
+ ///
+ /// 时段6 电量
+ ///
+ [Property(552 + 56 * 5, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime6 { get; set; }
+
+ ///
+ /// 时段6 标识
+ ///
+ [Property(584 + 56 * 5, 8)]
+ public byte FlagOfTime6 { get; set; }
+
+ ///
+ /// 时段7 开始时间 时
+ ///
+ [Property(536 + 56 * 6, 8)]
+ public byte StartTime7 { get; set; }
+
+ ///
+ /// 时段7 开始时间 分
+ ///
+ [Property(544 + 56 * 6, 8)]
+ public byte StartTimeMinute7 { get; set; }
+
+ ///
+ /// 时段7 电量
+ ///
+ [Property(552 + 56 * 6, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime7 { get; set; }
+
+ ///
+ /// 时段7 标识
+ ///
+ [Property(584 + 56 * 6, 8)]
+ public byte FlagOfTime7 { get; set; }
+
+ ///
+ /// 时段8 开始时间 时
+ ///
+ [Property(536 + 56 * 7, 8)]
+ public byte StartTime8 { get; set; }
+
+ ///
+ /// 时段8 开始时间 分
+ ///
+ [Property(544 + 56 * 7, 8)]
+ public byte StartTimeMinute8 { get; set; }
+
+ ///
+ /// 时段8 电量
+ ///
+ [Property(552 + 56 * 7, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float ChargingPowerOfTime8 { get; set; }
+
+ ///
+ /// 时段8 标识
+ ///
+ [Property(584 + 56 * 7, 8)]
+ public byte FlagOfTime8 { get; set; }
+
+ #endregion
+
+ ///
+ /// 充电模式 0:站内充电 1:站外充电
+ ///
+ [Property(984, 8)]
+ public byte ChargeMode { get; set; }
+
+ ///
+ /// 启动模式 0: 站控启动 1:本地启动
+ ///
+ [Property(992, 8)]
+ public byte StartMode { get; set; }
+
+ ///
+ /// 充电前直流表值
+ ///
+ [Property(1000, 32, PropertyReadConstant.Bit, 0.01, 2)]
+
+ public float DcMeterDataBefore { get; set; }
+
+ ///
+ /// 充电后直流表值
+ ///
+ [Property(1032, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float DcMeterDataAfter { get; set; }
+
+ ///
+ /// 充电前交流表值
+ ///
+ [Property(1064, 32, PropertyReadConstant.Bit, 0.01, 2)]
+
+ public float AcMeterDataBefore { get; set; }
+
+ ///
+ /// 充电后交流表值
+ ///
+ [Property(1096, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcMeterDataAfter { get; set; }
+
+ ///
+ /// 交流表充电量
+ ///
+ [Property(1128, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcMeterElecCount { get; set; }
+
+ #region 交流峰谷电
+
+ ///
+ /// 时段1 开始时间 时
+ ///
+ [Property(1160, 8)]
+ public byte AcStartTime1 { get; set; }
+
+ ///
+ /// 时段1 开始时间 分
+ ///
+ [Property(1168, 8)]
+ public byte AcStartTimeMinute1 { get; set; }
+
+ ///
+ /// 时段1 电量
+ ///
+ [Property(1176, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime1 { get; set; }
+
+ ///
+ /// 时段1 标识
+ ///
+ [Property(1208, 8)]
+ public byte AcFlagOfTime1 { get; set; }
+
+ ///
+ /// 时段2 开始时间 时
+ ///
+ [Property(1160 + 56, 8)]
+ public byte AcStartTime2 { get; set; }
+
+ ///
+ /// 时段2 开始时间 分
+ ///
+ [Property(1168 + 56, 8)]
+ public byte AcStartTimeMinute2 { get; set; }
+
+ ///
+ /// 时段2 电量
+ ///
+ [Property(1176 + 56, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime2 { get; set; }
+
+ ///
+ /// 时段2 标识
+ ///
+ [Property(1208 + 56, 8)]
+ public byte AcFlagOfTime2 { get; set; }
+
+ ///
+ /// 时段3 开始时间 时
+ ///
+ [Property(1160 + 56 * 2, 8)]
+ public byte AcStartTime3 { get; set; }
+
+ ///
+ /// 时段3 开始时间 分
+ ///
+ [Property(1168 + 56 * 2, 8)]
+ public byte AcStartTimeMinute3 { get; set; }
+
+ ///
+ /// 时段3 电量
+ ///
+ [Property(1176 + 56 * 2, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime3 { get; set; }
+
+ ///
+ /// 时段3 标识
+ ///
+ [Property(1208 + 56 * 2, 8)]
+ public byte AcFlagOfTime3 { get; set; }
+
+ ///
+ /// 时段4 开始时间 时
+ ///
+ [Property(1160 + 56 * 3, 8)]
+ public byte AcStartTime4 { get; set; }
+
+ ///
+ /// 时段4 开始时间 分
+ ///
+ [Property(1168 + 56 * 3, 8)]
+ public byte AcStartTimeMinute4 { get; set; }
+
+ ///
+ /// 时段4 电量
+ ///
+ [Property(1176 + 56 * 3, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime4 { get; set; }
+
+ ///
+ /// 时段4 标识
+ ///
+ [Property(1208 + 56 * 3, 8)]
+ public byte AcFlagOfTime4 { get; set; }
+
+ ///
+ /// 时段5 开始时间 时
+ ///
+ [Property(1160 + 56 * 4, 8)]
+ public byte AcStartTime5 { get; set; }
+
+ ///
+ /// 时段5 开始时间 分
+ ///
+ [Property(1168 + 56 * 4, 8)]
+ public byte AcStartTimeMinute5 { get; set; }
+
+ ///
+ /// 时段5 电量
+ ///
+ [Property(1176 + 56 * 4, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime5 { get; set; }
+
+ ///
+ /// 时段5 标识
+ ///
+ [Property(1208 + 56 * 4, 8)]
+ public byte AcFlagOfTime5 { get; set; }
+
+ ///
+ /// 时段6 开始时间 时
+ ///
+ [Property(1160 + 56 * 5, 8)]
+ public byte AcStartTime6 { get; set; }
+
+ ///
+ /// 时段6 开始时间 分
+ ///
+ [Property(1168 + 56 * 5, 8)]
+ public byte AcStartTimeMinute6 { get; set; }
+
+ ///
+ /// 时段6 电量
+ ///
+ [Property(1176 + 56 * 5, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime6 { get; set; }
+
+ ///
+ /// 时段6 标识
+ ///
+ [Property(1208 + 56 * 5, 8)]
+ public byte AcFlagOfTime6 { get; set; }
+
+ ///
+ /// 时段7 开始时间 时
+ ///
+ [Property(1160 + 56 * 6, 8)]
+ public byte AcStartTime7 { get; set; }
+
+ ///
+ /// 时段7 开始时间 分
+ ///
+ [Property(1168 + 56 * 6, 8)]
+ public byte AcStartTimeMinute7 { get; set; }
+
+ ///
+ /// 时段7 电量
+ ///
+ [Property(1176 + 56 * 6, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime7 { get; set; }
+
+ ///
+ /// 时段7 标识
+ ///
+ [Property(1208 + 56 * 6, 8)]
+ public byte AcFlagOfTime7 { get; set; }
+
+ ///
+ /// 时段8 开始时间 时
+ ///
+ [Property(1160 + 56 * 7, 8)]
+ public byte AcStartTime8 { get; set; }
+
+ ///
+ /// 时段8 开始时间 分
+ ///
+ [Property(1168 + 56 * 7, 8)]
+ public byte AcStartTimeMinute8 { get; set; }
+
+ ///
+ /// 时段8 电量
+ ///
+ [Property(1176 + 56 * 7, 32, PropertyReadConstant.Bit, 0.01, 2)]
+ public float AcChargingPowerOfTime8 { get; set; }
+
+ ///
+ /// 时段8 标识
+ ///
+ [Property(1208 + 56 * 7, 8)]
+ public byte AcFlagOfTime8 { get; set; }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Resp/AdjustChargeRateRes.cs b/Service/Charger/Msg/Charger/Resp/AdjustChargeRateRes.cs
new file mode 100644
index 0000000..6baaa59
--- /dev/null
+++ b/Service/Charger/Msg/Charger/Resp/AdjustChargeRateRes.cs
@@ -0,0 +1,22 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Charger.Resp
+{
+ ///
+ /// 3.4.4 充放电机应答辅助控制
+ ///
+ public class AdjustChargeRateRes : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ ///应答结果 0: 成功 1:失败
+ ///
+ [Property(8, 8)]
+ public byte Result { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Resp/ChangeChargeModeRes.cs b/Service/Charger/Msg/Charger/Resp/ChangeChargeModeRes.cs
new file mode 100644
index 0000000..7eabaa8
--- /dev/null
+++ b/Service/Charger/Msg/Charger/Resp/ChangeChargeModeRes.cs
@@ -0,0 +1,29 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Charger.Resp
+{
+ ///
+ /// 3.4.13 响应站控设备切换站内/站外充电
+ /// 帧类型 45 记录类型 50
+ ///
+ public class ChangeChargeModeRes : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ ///应答结果 0: 成功 1:失败
+ ///
+ [Property(8, 8)]
+ public byte Result { get; set; }
+
+ ///
+ ///失败原因 0:正常1:电池包/或者充电枪未连接 0xFF:其他
+ ///
+ [Property(16, 16)]
+ public ushort FailReason { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Resp/OfflineStopChargingRes.cs b/Service/Charger/Msg/Charger/Resp/OfflineStopChargingRes.cs
index a1c88de..c758c98 100644
--- a/Service/Charger/Msg/Charger/Resp/OfflineStopChargingRes.cs
+++ b/Service/Charger/Msg/Charger/Resp/OfflineStopChargingRes.cs
@@ -3,14 +3,20 @@
namespace Service.Charger.Msg.Charger.Resp
{
///
- /// 3.4.6 充放电机应答监控平台掉线停止充电
+ /// 3.4.8 充放电机应答监控平台掉线停止充电
+ /// 帧类型 45 记录类型 44
///
public class OfflineStopChargingRes : ASDU
{
///
- /// 应答结果
+ /// 记录类型
///
[Property(0, 8)]
+ public byte RecordType { get; set; }
+ ///
+ /// 应答结果
+ ///
+ [Property(8, 8)]
public byte Result { get; set; }
}
}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Resp/QueryBatterySnRes.cs b/Service/Charger/Msg/Charger/Resp/QueryBatterySnRes.cs
new file mode 100644
index 0000000..8cca489
--- /dev/null
+++ b/Service/Charger/Msg/Charger/Resp/QueryBatterySnRes.cs
@@ -0,0 +1,46 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Charger.Resp;
+
+///
+/// 3.6.2.2 充放电机回复电池基本参数 2(PGN:0x00F802)
+///
+public class QueryBatterySnRes : ASDU
+{
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+
+ [Property(8, 24)] public byte[] Pgn { get; set; }
+
+ ///
+ /// 电池编码 长度 0 "Do not transmit this Code"
+ ///
+ [Property(32, 1)]
+ public byte BatterSnLength { get; set; }
+
+ ///
+ /// 电池厂家
+ /// 1 "CATL" , 2 "Li Shen", 3 "MGL" ,
+ /// 4 "SAMSUN", 5 "LG", 6"EVE",7"BYD"
+ ///
+ [Property(33, 1)]
+ public byte BatterFactory { get; set; }
+
+ ///
+ /// 电池编码 (SN)字符 (ASCII) 27Byte
+ /// 48 "0" 49 "1" 50 "2" 51 "3" 52 "4"
+ /// 53"5" 54 "6" 55 "7" 56 "8" 57 "9" 65
+ /// "A"66"B" 67 "C" 68"D" 69 "E" 70 "F"
+ /// 71 "G"
+ /// 72 "H" 73 "I" 74 "J" 75 "K" 76 "L"
+ /// 77"M" 78 "N" 79 "O" 80 "P" 81 "Q" 82
+ /// "R"83 "S" 84 "T" 85 "U" 86 "V" 87
+ /// "W"88 "X" 89 "Y" 90 "Z
+ ///
+ [Property(34, 27 * 8)]
+ public byte[] BatterSnBytes { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Charger/Resp/SetPeakVallyTimeRes.cs b/Service/Charger/Msg/Charger/Resp/SetPeakVallyTimeRes.cs
new file mode 100644
index 0000000..46926b9
--- /dev/null
+++ b/Service/Charger/Msg/Charger/Resp/SetPeakVallyTimeRes.cs
@@ -0,0 +1,23 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Charger.Resp
+{
+ ///
+ /// 3.4.11 监控网关响应尖峰平谷设置
+ /// 帧类型 45 记录类型 48
+ ///
+ public class SetPeakVallyTimeRes : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ /// 应答结果
+ ///
+ [Property(8, 8)]
+ public byte Result { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Host/Req/AdjustChargeRate.cs b/Service/Charger/Msg/Host/Req/AdjustChargeRate.cs
new file mode 100644
index 0000000..42a4f65
--- /dev/null
+++ b/Service/Charger/Msg/Host/Req/AdjustChargeRate.cs
@@ -0,0 +1,34 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Host.Req
+{
+ ///
+ /// 3.4.1 监控平台发送功率调节指令
+ ///
+ public class AdjustChargeRate : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ ///期望运行 功率
+ ///
+ [Property(8, 16, PropertyReadConstant.Bit, 0.1, 1)]
+ public float ChargeRate { get; set; }
+
+ public AdjustChargeRate(float chargeRate)
+ {
+ FrameTypeNo = 45;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
+
+ RecordType = 20;
+ ChargeRate = chargeRate;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Host/Req/AdjustPower.cs b/Service/Charger/Msg/Host/Req/AdjustPower.cs
index d9c2ba6..5135939 100644
--- a/Service/Charger/Msg/Host/Req/AdjustPower.cs
+++ b/Service/Charger/Msg/Host/Req/AdjustPower.cs
@@ -21,6 +21,12 @@ namespace Service.Charger.Msg.Host.Req
public AdjustPower(ushort expectPower)
{
+ FrameTypeNo = 45;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
+
RecordType = 5;
ExpectPower = expectPower;
}
diff --git a/Service/Charger/Msg/Host/Req/Auth.cs b/Service/Charger/Msg/Host/Req/Auth.cs
index a11b596..b6d4895 100644
--- a/Service/Charger/Msg/Host/Req/Auth.cs
+++ b/Service/Charger/Msg/Host/Req/Auth.cs
@@ -38,10 +38,6 @@ namespace Service.Charger.Msg.Host.Req
public Auth(ushort connseq, byte[] authcodes, byte authcodekey)
{
- PackLen = 0;
- CtlArea = 0;
- SrcAddr = 0;
-
FrameTypeNo = 45;
MsgBodyCount = 1;
TransReason = 3;
diff --git a/Service/Charger/Msg/Host/Req/Bms/QueryBattery.cs b/Service/Charger/Msg/Host/Req/Bms/QueryBattery.cs
new file mode 100644
index 0000000..dd13770
--- /dev/null
+++ b/Service/Charger/Msg/Host/Req/Bms/QueryBattery.cs
@@ -0,0 +1,40 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Host.Req.Bms
+{
+ ///
+ /// 3.4.1 监控平台发送功率调节指令
+ ///
+ public class QueryBattery : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ /// 记录类型
+ ///
+ [Property(8, 3, PropertyReadConstant.Byte)]
+ public byte[] Pgn { get; set; } = { 0x00, 0xf8, 0x2c };
+
+ ///
+ /// 记录类型
+ ///
+ [Property(32, 3, PropertyReadConstant.Byte)]
+ public byte[] QueryPgn { get; set; }
+
+ public QueryBattery(byte[] queryPgn)
+ {
+ FrameTypeNo = 46;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
+
+ RecordType = 80;
+ QueryPgn = queryPgn;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Host/Req/ChangeChargeMode.cs b/Service/Charger/Msg/Host/Req/ChangeChargeMode.cs
new file mode 100644
index 0000000..2b539a7
--- /dev/null
+++ b/Service/Charger/Msg/Host/Req/ChangeChargeMode.cs
@@ -0,0 +1,34 @@
+using HybirdFrameworkCore.Autofac.Attribute;
+
+namespace Service.Charger.Msg.Host.Req
+{
+ ///
+ /// 3.4.12 站控设备切换站内/站外充电切换
+ ///
+ public class ChangeChargeMode : ASDU
+ {
+ ///
+ /// 记录类型
+ ///
+ [Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ /// 00:无效 01:站内 02:站外
+ ///
+ [Property(8, 16)]
+ public byte ChargeMode { get; set; }
+
+ public ChangeChargeMode(byte chargeMode)
+ {
+ FrameTypeNo = 45;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
+
+ RecordType = 49;
+ ChargeMode = chargeMode;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Host/Req/OfflineStopCharging.cs b/Service/Charger/Msg/Host/Req/OfflineStopCharging.cs
index 6e799f0..2b9499b 100644
--- a/Service/Charger/Msg/Host/Req/OfflineStopCharging.cs
+++ b/Service/Charger/Msg/Host/Req/OfflineStopCharging.cs
@@ -3,20 +3,38 @@
namespace Service.Charger.Msg.Host.Req
{
///
- /// 3.4.5 监控平台下发掉线停止充电
+ /// 3.4.7 监控平台下发掉线停止充电 0:不使能 1:使能
///
public class OfflineStopCharging : ASDU
{
///
- ///应答结果 0:不使能 1:使能
+ /// 记录类型
///
[Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ ///应答结果 0:不使能 1:使能
+ ///
+ [Property(8, 8)]
public byte Result { get; set; }
///
/// 保留
///
- [Property(8, 16)]
+ [Property(16, 16)]
public ushort Remark { get; set; }
+
+ public OfflineStopCharging(byte enabled)
+ {
+ FrameTypeNo = 45;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
+
+ RecordType = 43;
+ Result = enabled;
+ }
}
}
\ No newline at end of file
diff --git a/Service/Charger/Msg/Host/Req/SetPeakValleyTime.cs b/Service/Charger/Msg/Host/Req/SetPeakValleyTime.cs
index fc2b7b9..4d4c943 100644
--- a/Service/Charger/Msg/Host/Req/SetPeakValleyTime.cs
+++ b/Service/Charger/Msg/Host/Req/SetPeakValleyTime.cs
@@ -3,462 +3,177 @@
namespace Service.Charger.Msg.Host.Req
{
///
- /// 3.4.9 站控设置尖峰平谷时间段标识
+ /// 3.4.10 站控设置尖峰平谷时间段标识
///
public class SetPeakValleyTime : ASDU
{
///
- /// 时段个数
+ /// 记录类型
///
[Property(0, 8)]
+ public byte RecordType { get; set; }
+
+ ///
+ /// 时段个数
+ ///
+ [Property(8, 8)]
public byte NumberTime { get; set; }
///
/// 时段1开始时间 时
///
- [Property(8, 8)]
+ [Property(16, 8)]
public byte StartHH1 { get; set; }
///
/// 时段1开始时间 分
///
- [Property(16, 8)]
+ [Property(24, 8)]
public byte StartMM1 { get; set; }
///
/// 时段1尖峰标识 1尖 2峰 3平 4谷
///
- [Property(40, 8)]
+ [Property(32, 8)]
public byte TimePeak1 { get; set; }
///
/// 时段2开始时间 时
///
- [Property(48, 8)]
+ [Property(40, 8)]
public byte StartHH2 { get; set; }
///
/// 时段2开始时间
///
- [Property(56, 8)]
+ [Property(48, 8)]
public byte StartMM2 { get; set; }
///
/// 时段2尖峰标识 1尖 2峰 3平 4谷
///
- [Property(80, 8)]
+ [Property(56, 8)]
public byte TimePeak2 { get; set; }
///
/// 时段3开始时间
///
- [Property(88, 8)]
+ [Property(64, 8)]
public byte StartHH3 { get; set; }
///
/// 时段3开始时间
///
- [Property(96, 8)]
+ [Property(72, 8)]
public byte StartMM3 { get; set; }
///
/// 时段3尖峰标识 1尖 2峰 3平 4谷
///
- [Property(120, 8)]
+ [Property(80, 8)]
public byte TimePeak3 { get; set; }
///
/// 时段4开始时间
///
- [Property(128, 8)]
+ [Property(88, 8)]
public byte StartHH4 { get; set; }
///
/// 时段4开始时间
///
- [Property(136, 8)]
+ [Property(96, 8)]
public byte StartMM4 { get; set; }
///
/// 时段4尖峰标识 1尖 2峰 3平 4谷
///
- [Property(160, 8)]
+ [Property(104, 8)]
public byte TimePeak4 { get; set; }
///
/// 时段5开始时间
///
- [Property(168, 8)]
+ [Property(112, 8)]
public byte StartHH5 { get; set; }
///
/// 时段5开始时间
///
- [Property(176, 8)]
+ [Property(120, 8)]
public byte StartMM5 { get; set; }
///
/// 时段5尖峰标识 1尖 2峰 3平 4谷
///
- [Property(200, 8)]
+ [Property(128, 8)]
public byte TimePeak5 { get; set; }
///
/// 时段6开始时间
///
- [Property(208, 8)]
+ [Property(136, 8)]
public byte StartHH6 { get; set; }
///
/// 时段6开始时间
///
- [Property(216, 8)]
+ [Property(144, 8)]
public byte StartMM6 { get; set; }
///
/// 时段6尖峰标识 1尖 2峰 3平 4谷
///
- [Property(240, 8)]
+ [Property(152, 8)]
public byte TimePeak6 { get; set; }
///
/// 时段7开始时间
///
- [Property(248, 8)]
+ [Property(160, 8)]
public byte StartHH7 { get; set; }
///
/// 时段7开始时间
///
- [Property(256, 8)]
+ [Property(168, 8)]
public byte StartMM7 { get; set; }
///
/// 时段7尖峰标识 1尖 2峰 3平 4谷
///
- [Property(280, 8)]
+ [Property(176, 8)]
public byte TimePeak7 { get; set; }
///
/// 时段8开始时间
///
- [Property(288, 8)]
+ [Property(184, 8)]
public byte StartHH8 { get; set; }
///
/// 时段8开始时间
///
- [Property(296, 8)]
+ [Property(192, 8)]
public byte StartMM8 { get; set; }
///
/// 时段8尖峰标识 1尖 2峰 3平 4谷
///
- [Property(320, 8)]
+ [Property(200, 8)]
public byte TimePeak8 { get; set; }
+ public SetPeakValleyTime()
+ {
+ FrameTypeNo = 45;
+ MsgBodyCount = 1;
+ TransReason = 3;
+ PublicAddr = 0;
+ MsgBodyAddr = new byte[] { 0, 0, 0 };
- ///
- /// 时段9开始时间
- ///
- [Property(328, 8)]
- public byte StartHH9 { get; set; }
-
- ///
- /// 时段9开始时间
- ///
- [Property(336, 8)]
- public byte StartMM9 { get; set; }
-
- ///
- /// 时段9尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(360, 8)]
- public byte TimePeak9 { get; set; }
-
- ///
- /// 时段10开始时间
- ///
- [Property(368, 8)]
- public byte StartHH10 { get; set; }
-
- ///
- /// 时段10开始时间
- ///
- [Property(376, 8)]
- public byte StartMM10 { get; set; }
-
- ///
- /// 时段10尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(400, 8)]
- public byte TimePeak10 { get; set; }
-
-
- ///
- /// 时段11开始时间
- ///
- [Property(408, 8)]
- public byte StartHH11 { get; set; }
-
- ///
- /// 时段11开始时间
- ///
- [Property(416, 8)]
- public byte StartMM11 { get; set; }
-
- ///
- /// 时段11尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(440, 8)]
- public byte TimePeak11 { get; set; }
-
-
- ///
- /// 时段12开始时间
- ///
- [Property(448, 8)]
- public byte StartHH12 { get; set; }
-
- ///
- /// 时段12开始时间
- ///
- [Property(456, 8)]
- public byte StartMM12 { get; set; }
-
- ///
- /// 时段12尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(480, 8)]
- public byte TimePeak12 { get; set; }
-
-
- ///
- /// 时段13开始时间
- ///
- [Property(488, 8)]
- public byte StartHH13 { get; set; }
-
- ///
- /// 时段13开始时间
- ///
- [Property(496, 8)]
- public byte StartMM13 { get; set; }
-
- ///
- /// 时段13尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(520, 8)]
- public byte TimePeak13 { get; set; }
-
-
- ///
- /// 时段14开始时间
- ///
- public byte StartHH14 { get; set; }
-
- ///
- /// 时段14开始时间
- ///
- [Property(528, 8)]
- public byte StartMM14 { get; set; }
-
- ///
- /// 时段14尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(552, 8)]
- public byte TimePeak14 { get; set; }
-
-
- ///
- /// 时段15开始时间
- ///
- [Property(560, 8)]
- public byte StartHH15 { get; set; }
-
- ///
- /// 时段15开始时间
- ///
- [Property(568, 8)]
- public byte StartMM15 { get; set; }
-
- ///
- /// 时段15尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(592, 8)]
- public byte TimePeak15 { get; set; }
-
-
- ///
- /// 时段16开始时间
- ///
- [Property(600, 8)]
- public byte StartHH16 { get; set; }
-
- ///
- /// 时段16开始时间
- ///
- [Property(608, 8)]
- public byte StartMM16 { get; set; }
-
- ///
- /// 时段16尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(632, 8)]
- public byte TimePeak16 { get; set; }
-
-
- ///
- /// 时段17开始时间
- ///
- [Property(640, 8)]
- public byte StartHH17 { get; set; }
-
- ///
- /// 时段17开始时间
- ///
- [Property(648, 8)]
- public byte StartMM17 { get; set; }
-
- ///
- /// 时段17尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(672, 8)]
- public byte TimePeak17 { get; set; }
-
-
- ///
- /// 时段18开始时间
- ///
- [Property(680, 8)]
- public byte StartHH18 { get; set; }
-
- ///
- /// 时段18开始时间
- ///
- [Property(688, 8)]
- public byte StartMM18 { get; set; }
-
- ///
- /// 时段18尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(712, 8)]
- public byte TimePeak18 { get; set; }
-
-
- ///
- /// 时段19开始时间
- ///
- [Property(720, 8)]
- public byte StartHH19 { get; set; }
-
- ///
- /// 时段19开始时间
- ///
- [Property(728, 8)]
- public byte StartMM19 { get; set; }
-
- ///
- /// 时段19尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(752, 8)]
- public byte TimePeak19 { get; set; }
-
-
- ///
- /// 时段20开始时间
- ///
- [Property(760, 8)]
- public byte StartHH20 { get; set; }
-
- ///
- /// 时段20开始时间
- ///
- [Property(768, 8)]
- public byte StartMM20 { get; set; }
-
- ///
- /// 时段20尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(792, 8)]
- public byte TimePeak20 { get; set; }
-
-
- ///
- /// 时段21开始时间
- ///
- [Property(800, 8)]
- public byte StartHH21 { get; set; }
-
- ///
- /// 时段21开始时间
- ///
- [Property(808, 8)]
- public byte StartMM21 { get; set; }
-
- ///
- /// 时段21尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(832, 8)]
- public byte TimePeak21 { get; set; }
-
-
- ///
- /// 时段22开始时间
- ///
- [Property(840, 8)]
- public byte StartHH22 { get; set; }
-
- ///
- /// 时段22开始时间
- ///
- [Property(848, 8)]
- public byte StartMM22 { get; set; }
-
- ///
- /// 时段22尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(872, 8)]
- public byte TimePeak22 { get; set; }
-
-
- ///
- /// 时段23开始时间
- ///
- [Property(880, 8)]
- public byte StartHH23 { get; set; }
-
- ///
- /// 时段23开始时间
- ///
- [Property(888, 8)]
- public byte StartMM23 { get; set; }
-
- ///
- /// 时段23尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(912, 8)]
- public byte TimePeak23 { get; set; }
-
-
- ///
- /// 时段24开始时间
- ///
- [Property(920, 8)]
- public byte StartHH24 { get; set; }
-
- ///
- /// 时段24开始时间
- ///
- [Property(928, 8)]
- public byte StartMM24 { get; set; }
-
- ///
- /// 时段24尖峰标识 1尖 2峰 3平 4谷
- ///
- [Property(952, 8)]
- public byte TimePeak24 { get; set; }
+ RecordType = 47;
+ }
}
}
\ No newline at end of file
diff --git a/WebStarter/bin/Debug/net6.0/SqlSugar.dll b/WebStarter/bin/Debug/net6.0/SqlSugar.dll
index d892921..5946740 100644
Binary files a/WebStarter/bin/Debug/net6.0/SqlSugar.dll and b/WebStarter/bin/Debug/net6.0/SqlSugar.dll differ