You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

488 lines
12 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DotNetty.Buffers;
using HybirdFrameworkServices.ChargerManage.Msg;
8 months ago
namespace HybirdFrameworkServices
{
/**
* (CMD=202/222)
*/
public class CMD202 : BaseMsg
{
public CMD202()
{
}
//调用父类的构造函数
public CMD202(IByteBuffer byteBuffer,string clientIp) : base(byteBuffer,clientIp)
{
}
public override void ParseBody()
{
}
/// <summary>
/// 预留
/// </summary>
public ushort Reserved1 { get; set; }
/// <summary>
/// 预留
/// </summary>
public ushort Reserved2 { get; set; }
/// <summary>
/// 充电桩编码
/// </summary>
public string ASCIINum { get; set; }
/// <summary>
/// 充电枪位置类型
/// <para>1-直流</para>
/// <para>2-交流</para>
/// </summary>
public byte PosType { get; set; }
/// <summary>
/// 充电枪口
/// </summary>
public byte ChargGun { get; set; }
/// <summary>
/// 充电卡号 32
/// </summary>
public string ChargID { get; set; }
/// <summary>
/// 充电开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 充电结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 充电时间长度
/// </summary>
public uint TimeSpan { get; set; }
/// <summary>
/// 开始 SOC
/// </summary>
public byte SOCStart { get; set; }
/// <summary>
/// 结束 SOC
/// </summary>
public byte SOCEnd { get; set; }
/// <summary>
/// 充电结束原因
/// </summary>
public uint EndReason { get; set; }
/// <summary>
/// 本次充电电量
/// </summary>
public string ChargCapacityNow { get; set; }
/// <summary>
/// 充电前电表读数
/// </summary>
public string SAmmeterValue { get; set; }
/// <summary>
/// 充电后电表读数
/// </summary>
public string EAmmeterValue { get; set; }
/// <summary>
/// 本次充电金额
/// </summary>
public uint ChargeAmount { get; set; }
/// <summary>
/// 内部索引号
/// </summary>
public int IndexNum { get; set; }
/// <summary>
/// 充电前卡余额
/// </summary>
public uint CardBalance { get; set; }
/// <summary>
/// 当前充电记录索引
/// </summary>
public uint ChargRecord { get; set; }
/// <summary>
/// 总充电记录条目
/// </summary>
public uint SumChargRecord { get; set; }
/// <summary>
/// 预留
/// </summary>
public byte Reserved3 { get; set; }
/// <summary>
/// 充电策略
/// <para>0:充满为止</para>
/// <para>1:时间控制充电</para>
/// <para>2:金额控制充电</para>
/// <para>3:电量控制充电</para>
/// </summary>
public byte ChargStrategy { get; set; }
/// <summary>
/// 充电策略参数
8 months ago
/// <code>时间单位为 1 秒</code>
/// <code>金额单位为 0.01 元</code>
/// <code>电量时单位为 0.01kw</code>
/// </summary>
public string ChargStrategyPara { get; set; }
/// <summary>
/// 车辆 VIN 17
/// </summary>
public string CarVIN { get; set; }
/// <summary>
/// 车牌号
/// </summary>
public string CarID { get; set; }
/// <summary>
/// 时段 1 充电电量
/// 命令 202 报文此字段是 2 字节,
/// 命令 222 报文此字段是 4 字节
/// </summary>
public string ChargCapacity01 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity02 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity03 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity04 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity05 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity06 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity07 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity08 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity09 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity10 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity11 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity12 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity13 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity14 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity15 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity16 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity17 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity18 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity19 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity20 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity21 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity22 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity23 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity24 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity25 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity26 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity27 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity28 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity29 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity30 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity31 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity32 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity33 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity34 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity35 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity36 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity37 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity38 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity39 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity40 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity41 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity42 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity43 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity44 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity45 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity46 { get; set; }
/// <summary>
///
/// </summary>
public string ChargCapacity47 { get; set; }
/// <summary>
/// 时段 48 充电电量
/// 命令 202 报文此字段是 2 字节,
/// 命令 222 报文此字段是 4 字节
/// </summary>
public string ChargCapacity48 { get; set; }
/// <summary>
/// 启动方式
/// <para>0本地刷卡启动</para>
/// <para>1后台启动</para>
/// <para>2本地管理员启动</para>
/// <para>3远程 VIN 验证启动</para>
/// <para>4远程密码验证启动</para>
/// <para>5本地 VIN 验证启动</para>
/// <para>6迪文界面流程启动</para>
/// </summary>
public byte StartMode { get; set; }
/// <summary>
/// 充电流水号 32
/// </summary>
public string ChargSerialNum { get; set; }
/// <summary>
/// 充电服务费
/// </summary>
public uint ChargServiceCost { get; set; }
/// <summary>
/// 千分位电量
/// </summary>
public byte KilElectricity { get; set; }
/// <summary>
/// 并充标志
/// <para>0/1-单枪充电</para>
/// <para>2-单机柜双枪并充充电</para>
/// <para>3-双机柜双枪并充充电</para>
/// </summary>
public byte ParallelMark { get; set; }
/// <summary>
/// 充放电标志
///
/// 2-充电
/// 0xf1-放电
/// 非协议定义值,都表示充电
/// </summary>
public byte ChargeOrDisMark { get; set; }
/// <summary>
/// 电表加密数据
///
/// 瑞银电表解密后数据内容为:
/// 17 字节枪口识别号(BCD)
/// 4 字节计量开始时间(秒时戳, HEX)
/// 4 字节计量结束时间(秒时戳, HEX)
/// 4 字节正向充电电量(3 位小数, HEX)
/// 4 字节电表安装时间(秒时戳, HEX)
/// 1 字节端钮历史状态(0 正常1 发生过端钮盖打开时间)
/// </summary>
public string MeterEncData { get; set; }
/// <summary>
/// 电表表号 6
/// </summary>
public string MeterNum { get; set; }
/// <summary>
/// 电表协议版本
/// </summary>
public ushort MeterProVersion { get; set; }
/// <summary>
/// 加密方式
/// 当前加密方式(工厂模式下配置,抄读无任何限制)
/// <para>00:软件 AES128 加密</para>
/// <para>01:RJMU 国密 SM1(暂不支持)</para>
/// <para>02:RJMU 国密 SM4(暂不支持)</para>
/// <para>03:国网 ESAM 加密</para>
/// <para>04:ECC256 签名算法</para>
/// <para>05:其他</para>
/// </summary>
public byte EncMode { get; set; }
}
}