基于有限状态机的直流充电桩通讯检测方案
2022-02-06张路刘海波
张路 刘海波
引言
随着新能源电动汽车产业快速发展,充电桩作为电动汽车的基础配套设施,也在全国范围内大量部署[1]。为保障充电桩安全运行,对其精确检测非常必要。国内对直流充电桩检测研究较多,陆春光等人开发了上位机软件模拟充电故障并实时监控测试信号变化,提高了充电桩的故障检测效率[2];韦浩睿等人研制了直流充电桩协议测试装置,该装置能够模拟车辆控制器,实现厂内单边测试,提高了检测覆盖度[3];朱贤文等人对引脚的电压、通断及控制情况进行全方位检测,提高了充电桩检测的实时性[4]。上述研究可大致分为两类,一类是开发软件模拟测试,另一类是使用硬件设备实测,但鲜少有文章从充电状态的角度进行研究。充电桩设备老化后容易出现充电状态误判的问题,存在很大的安全隐患。为此本文基于有限状态机理论设计充电桩通讯检测方案,使用Matlab/Simulink工具构建模型,检测通讯过程中的充电状态是否异常。
一、直流充电桩通讯过程
根据国家标准GB/T18487.1-2015可知,一个完整的充电过程包含6个阶段:物理连接阶段、低压辅助阶段、充电握手阶段、充电参数配置阶段、充电阶段和充电结束阶段[5]。物理连接阶段,将充电接口与插座插合完成线路连接;低压辅助阶段,桩端与车端互相发送握手报文,并进行绝缘监测工作[6];充电握手阶段,双方互相发送辨识报文确定必要信息;充电参数配置阶段,车端发送电池参数报文,判断能否开始充电;充电阶段,桩端根据电池充电需求实时调整电流输出;达到充电结束要求后,进入充电结束阶段,双方互相发送充电统计数据,最后桩端减小电流输出,车端断开电池开关,通讯过程结束。完整的充电桩通信报文定义见表1所列。
表1 充电通信报文
二、检测模型设计
根据充电流程中车端的执行动作,可划分为三个模块:控制模块、数据模块和电池模块。控制模块用于模拟车端的通信逻辑,监测电池充电状态,分析采集到的数据信息,判断是否符合通讯协议要求。数据模块用于通信数据的监听和收发,并根据控制模块的指令发送通信数据。电池模块用于模拟车端电池状态。结合有限状态机原理,分别对逻辑控制模块和通信数据模块进行建模[7]。
(一)逻辑控制模型设计
逻辑控制模型用来模拟通信过程中车端的控制逻辑,其状态机模型可用数学表达式描述如下:
1.QC为控制层内所有状态的集合,即 QC={q0,q1,q2,q3,q4,q5,q6,q7,q8,qi}。其中,q0至q8定义见表2所列,qi为任一中间状态。
表2 控制层状态定义表
2.∑c为层内有限个输入的集合,即
ai表示输入的正常检测信号,bi表示输入的异常检测信号。
3.δc为状态转移函数。对应的转移关系为:δc(q0,a0)=q1,δc(q1,a1)=q2,δc(q2,a2)=q3,δc(q2,b0)=q6,δc(q3,a3)=q4,δc(q3,b1)=q6,δc(q4,a4)=q5,δc(q4,b2)=q6,δc(q5,a5)=q8,δc(q5,b3)=q7,δc(q6,b4)=q7。状态转移如图1所示。
图1 逻辑控制状态转换
4.Fc为输出状态集合,Fc(qi,ai)=q7,Fc(qi,bi)=q8。
(二)通信数据模型设计
通信数据模型用来对数据处理状态进行划分,其状态机模型可用数学表达式描述如下:
1.QD为数据层内所有状态的集合,即QD=(q0,q1,q2,q3,qi),具体状态定义如下:q0为等待状态;q1为接收状态;q2为发送状态;q3为异常状态;qi为任一中间状态。
2.∑D为层内有限个输入的集合,即∑D={ai}(i=0,1,2,3...),ai由产生数据变化的事件决定,其输入的定义见表3所列。
表3 数据层输入事件
3.δD为状态转移函数。对应的转移关系为:δD(q0,a0)=q1,δD(q0,a2)=q3,δD(q1,a1)=q0,δD(q1,a4)=q2,δD(q2,a5)=q0,δD(q3,a3)=q0,状态转移如图2所示。
图2 通信数据状态转移
4.FD为输出状态集合,由状态转移函数 δ:Q×∑→Q与输入集合∑D共同决定。
三、仿真与验证
为了验证通讯检测模型的有效性和可行性,使用Matlab软件中的有限状态机工具Stateflow搭建模型进行仿真分析。
(一)仿真环境搭建
检测模型共有3个模块,分别为Control控制模块、Battery电池模块及Data数据模块。模型中的输入事件“on”、“off”模拟检测系统的启动按键,同时作为控制模块的激活条件[8];组件Constant用于输入系统的检测信号CheckSignal;在输入“On”开机事件后,控制模块接收检测信号、电池模块及数据模块的输出,实现内部控制逻辑的跳转;电池模块由Matlab中的Battery组件构成,在控制模块的指令下开始充电,实时反馈电池参数;数据模块由控制模块及检测信号驱动进行数据交互,模型仿真如图3所示。
图3 基于Simulink的检测方案模型
(二)状态机模型验证
对建立的状态机模型输入一系列检测信号,以测试模型状态的迁移变化。检测信号分别对应表1中的报文,使用数字量进行表示[9],signal=[9 10 11 12 13 14 15 16 17 18]。
输入异常检测信号signal=[9 10 18 12 17],观察输出波形可知:控制模型从空闲状态跳转到初始状态;收到9数据模型从监听状态迁移到接收状态;收到10,模型迁移到握手辨识状态;收到12跳转到监听状态;收到18迁移到参数配置状态;收到17模型检测到异常跳转到错误状态,处理异常后迁移到异常结束状态。最终控制模块输出为output1=[0 1 2 3 7 8],如图4所示,数据模块输出为output2=[0 5 7 1 8 4],如图5所示。
图4 异常信号下的控制输出
图5 异常信号下的数据输出
输入正常检测信号signal=[9 10 18 12 18 14 15 16],观察分析示波器输出波形可知:收到9到12,模型的状态迁移变化与上述相同;收到18控制模型迁移到充电状态,闭合充电开关;收到14数据模型留在发送状态;收到15或电池充满,控制模型迁移到结束充电状态;收到16迁移到正常结束状态。最终控制模块输出为output1=[0 1 2 3 4 5 6],如图6所示,数据模块输出为output2=[0 5 7 1 8 2 3 10 11 12 9],如图7所示。由输出结果可知,模型的状态转移情况与实际通讯检测过程一致,并能检测出异常信号进行相应处理,证明此状态机应用在检测系统上可实现功能要求。
图6 正常信号下的控制输出
图7 正常信号下的数据输出
结论
本文提出基于有限状态机的充电桩通讯检测方案,对充电桩的通讯检测流程进行功能划分,设计检测系统整体结构,结合有限状态机理论构建检测模型,通过Matlab/Simulink搭建仿真环境进行验证,最后的实验结果证明了该模型的有效性和可行性。