首页 > 编程知识 正文

simulink总线选信号,matlab计算流体力学编程实例

时间:2023-05-04 16:17:19 阅读:156370 作者:1285

本发明涉及汽车技术领域,特别涉及基于matlab/simulink的车载总线数据分析方法。

背景技术:

随着汽车各控制模块向自动化和智能化方向发展汽车电气系统越来越复杂传统的点对点通信方式已经不能满足现代汽车发展和现代社会对提高汽车安全、乘坐舒适度等的要求。 在汽车设计中,车载总线技术是满足这些要求的最佳解决方案,已经得到广泛应用,这些车载总线包括can、lin、flexray、以太网等网络。 各控制模块通过车载总线进行数据交换,总线上的数据包括汽车控制模块的控制指令、运行状态、故障信息等,因此对这些数据进行快速有效的分析和处理显得尤为重要。

但目前市场上主流的车载公交开发工具价格在十几万左右,在公交数据分析后的数据分析和数据计算上存在不足; 虽然常用的总线分析工具价格低廉,但功能单一(仅支持can总线消息采集和录音等基本功能),无法满足车载总线数据测量与分析、数学运算等要求。

专利号201811605371.7中公开的基于matlab的can总线消息分析方法实现了将can总线消息引入到matlab中来分析can总线的数据,但不能应用于其他总线数据的分析。 在专利号201610181331.9中公开的基于can通信的总线消息收发分析方法将can的十六进制数据直观地分析为十进制的物理值。 该方案只能解析can总线消息传递,无法完成总线消息传递数据的数学运算、算法开发。

技术实现要素:

本发明的目的是为了解决上述背景技术中提出的问题,提供一种基于matlab/simulink的车载总线数据分析方法。

本发明的技术方案如下。

一种基于matlab/simulink的车载总线数据分析方法,包括

步骤s1 )首先,选择车载总线的通信模式,根据所选择的通信模式来确定对应的分析方法;

步骤s2 )将待分析的总线消息接发加载到matlab工作区中;

步骤s3 :基于加载的总线消息接发所对应的通信规范通过对应的分析算法分析总线消息接发中所包含的参数和语义,形成矩阵[t,signal]

步骤S4 :用Simulink模块应该处理的矩阵[t,signal];

步骤s5 )根据用户需求输出、显示解析出的数据,并保存在matlab的workspace中的方便的数据的二次处理;

所有分析方法包括以下步骤。

步骤s31 )接收到总线消息数据后,鉴别目标id所有低矢量,分别制作目标id的数组;

步骤s32 :根据数组列的长度和周期创建时间数组[t],根据数组行数和总线消息循环设定simulink模块的执行时间;

步骤s33 )基于总线消息格式和总线消息规范中对总线消息大小初始值、长度、偏移、精度的要求,进行总线消息大小的实际物理值的变换,进行signal阵列signal阵列]

步骤s34 :重组分析后的数据,生成时间和信号的矩阵[t,signal];

在上述步骤s33中接收到总线消息数据时,识别目标id的所有低矢量,将总线消息数据从16进制变换为10进制。

在步骤s2,对应于总线消息的帧数据将matlab工作区分配给某些工作目录,通过对象id的行向量将相应的对象id存储在相应的工作目录中

所述步骤s5中二次处理后的数据通过excel排序输出.

本发明通过改进这里提供的基于matlab/simulink的车载总线数据分析方法,与现有技术相比,具有以下改进和优点。

同时,本发明不需要特殊的网络开发环境,使用matlabsimulink环境分析总线数据。

其二,本发明通过配置总线模式,不只支持单一总线通信,而是支持多条总线数据的分析。

其三,本发明可二次开发公交消息数据,提高了数据处理能力。

图纸的说明

以下,根据附图和实施例进一步说明本发明:

图1是本发明的车载总线数据分析方法的示意图。

图2是本发明的总线消息分析算法的示意图。

具体实施方式

具体实施方式以下,详细说明本发明,但在明确且完全地说明本发明实施方式中的权利要求后,所记载的实施方式是本发明的一部分实施方式,显然不是所有实施方式. 基于本发明的实施方式,在本领域技术人员不从事创造性工作的前提下获得的所有其它实施方式属于本发明的保护范围。

本发明通过改进在此提供基于matlab/simulink的车载总线的数据分析方法,如图1-图2所示

步骤s1 :首先,选择车载总线的通信模式,根据所选择的通信模式来确定对应的分析方法。 车载总线的通信模式有can、lin、flexray、以太网等网络,根据车载总线的通信模式有对应的分析方法。

步骤s2 )将待分析的总线消息接发加载到matlab工作区中;

步骤s3 )根据加载的公交消息对应的通信规范通过对应的分析算法分析公交消息中所包含的参数和语义,形成矩阵[t,signal],形成公交消息格式和公交消息规范

实际物理值的转换,建立矩阵[t,signal]。

步骤s4:simulink模块中读取需要处理的矩阵[t,signal];

步骤s5:将解析后的数据根据用户需求进行输出、显示、保存至matlab的workspace的便于数据的二次处理,将电压和电流相乘后对时间进行积分得到车辆耗电量等其他数据。

所有所述解析方法均包括有以下步骤:

步骤s31:接收到总线报文数据后,甄别出目标id所有的行向量,并分别创建目标id的数组,根据目标id的行向量,能快速提取需要的数据,并建立数组。

步骤s32:根据数组列的长度和周期创建时间数组[t],根据数组行数和总线报文周期设置为simulink模块运行时间,能够以最短的解析时间解析数据;

步骤s33:根据总线报文格式和总线报文规范中对总线报文初始值、长度、偏移量、精度的要求,进行总线报文实际物理值的转换,并创建signal数组[siganl],根据总线报文的各帧数据分配出若干个工作目录,并通过目标id的行向量,提取对应的signal数组[siganl]。

步骤s34:对解析后的数据进行重组,创建时间和signal的矩阵[t,signal],以待simulink模块中读取。

所述步骤s33中接收到总线报文数据后,甄别出目标id所有的行向量,并将总线报文从十六进制转换为十进制,可解析出直观的输出数据;

所述步骤s2中将matlab工作空间根据总线报文的各帧数据分配出若干个工作目录,并通过目标id的行向量,分别将目标id存储到对应的工作目录内,便于数据解析提取。

所述步骤s5中二次处理后的数据通过excel分类输出的方式输出,可用于跟踪和再现车辆运行数据、分析司机驾驶操作和车辆运行状况。

实例一:

利用车辆总线报文数据对车辆行驶时的功率进行分析,具体步骤如下:

车载总线的can通信,将can总线报文载入到matlab工作空间;

筛选总线报文中数据域中包含总电流i所对应的目标id的所有行;

通过[i]行的长度*t总线报文周期计算出t总线报文总时长,将该时长设置为simulink模块运行时间,创建i的时间数组[it]=[t总线报文周期:t总线报文周期:t总时长];

根据总线报文格式和总线报文规范中i物理值=i初始值+i总线值*精度+偏移量,实现总线报文总线值到物理值得解析,并创建数组isignal=[isiganl],合并[it]和[isignal]生成矩阵[it,isignal];同理生成总电压v所对应的矩阵[vt,vsignal];

simulink模块中通过workspace调用[it,isignal]和[vt,vsignal],将电压和电流相乘后对时间进行积分得到车辆耗电量。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现,因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。