|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace HybirdFrameworkServices
|
|
|
|
|
{
|
|
|
|
|
public class CMD202
|
|
|
|
|
{
|
|
|
|
|
/// <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>
|
|
|
|
|
/// 充电策略参数
|
|
|
|
|
/// <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; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|