实例讲解电动汽车VIN写入规则及Simulink建模方法(三)——VIN设置状态反馈及Simulink建模方法

目录

一、整车VIN设置状态反馈规则

二、整车VIN设置状态反馈设置策略

1、VIN设置状态判定

2、VIN设置状态反馈发送

三、整车VIN设置状态反馈Simulink建模

1、VIN设置状态判定

2、VIN设置状态反馈发送

3、整车VIN设置状态反馈设置完整Simulink模型

四、总结


一、整车VIN设置状态反馈规则

1、整车VIN码设置和参数由VIN刷写上位机发起,如果VCU在5秒内没有响应,则报通讯错误。

2、VECU_PARAMETWRFB(0x573)定义如下:

0x00:未设置

0x01:系统繁忙

0x02:正在进行

0x03:设置成功

0x04:设置失败

设置成功时VECU_PARAMETWRFB(0x573)发送0x03

校验和错误或数据超出范围或不按要求发送设置值时VECU_PARAMETWRFB(0x573)发送0x4

二、整车VIN设置状态反馈设置策略

1、VIN设置状态判定

输入信号具体计算方法参考之前发布的文章

实例讲解电动汽车VIN写入规则及Simulink建模方法(二)——VIN写入方法及Simulink建模

实例讲解电动汽车VIN写入规则及Simulink建模方法(一)——VIN校验方法及Simulink建模

1)当校验后帧号不等于8且不等于0,同时VIN写入标识位等于1,则说明VIN正在写入过程中,输出VIN设置状态为0x02 正在进行

2)若不满足条件1,判断VIN写入结果是否等于0xAA,若等于0xAA,表明禁止写入,此时输出VIN设置状态为0x01 系统繁忙

3)若也不满足条件2,判断VIN读取数值是否全为0,全为0,则说明VIN未写入,此时输出VIN设置状态为0x00 未设置

4)若也不满足条件3,判断是否在校验后帧号不等于8的情况下,满足VIN写入结果为0x00 写入成功或0x04 读取成功,或VIN读取结果为0x00 成功,说明VIN已成功写入内存,此时输出VIN设置状态为0x3 设置成功

5)若以上条件都不满足,则输出VIN设置状态为0x4 设置失败

2、VIN设置状态反馈发送

1)判定VIN设置状态后,需要将该状态反馈至上位机;根据VIN设置状态反馈规则,应通过0x573报文发送VIN设置状态至CAN总线。

2)以VIN设置状态为输入量,新建CAN打包模块,将打包后的CAN报文信息发送至Pcan及Ecan

三、整车VIN设置状态反馈Simulink建模

1、VIN设置状态判定

1)输入信号

VINWrite_Result:VIN写入结果,0x00:写入成功,0x02:写入失败,0x04:读取成功,0x08:校验失败,0xAA:禁止写入(写入结果判定由底层程序写入函数执行后判定输出结果)

VINRead_Result:VIN读取结果,0x0:成功,0x1:失败(读取结果判定由底层程序读取函数执行后判定输出结果)

ReadVIN_Value:VIN读取数值(读取数值由底层程序读取函数读取后传递至应用层作为输入信号)

VINWrite_Flg:VIN写入标识位

ChkVINFrm_Nmb:校验后VIN帧号

2)输出信号

VINSet_Fb:VIN设置状态反馈信号

3)Simulink模型

a、根据上文VIN设置状态判定策略,搭建Simulink模型,其中VIN写入结果判定是否等于0xAA,0xAA转换为十进制为170

b、读取VIN数值判定是否为空Simulink模型

2、VIN设置状态反馈发送

1)输入信号

VINSet_Fb:VIN设置状态反馈信号

2)输出信号

CAN_Pcan_CanMessage_0x573:Pcan 0x573报文

CAN_Ecan_CanMessage_0x573:Ecan 0x573报文

3)Simulink模型

CAN打包模块具体设置方法参考之前发布的《实例讲解Simulink应用层开发CAN报文解包及CAN信号设置方法》

a、将VINSet_Fb输入CAN打包模块,输出信号分别为CAN_Pcan_CanMessage_0x573及CAN_Ecan_CanMessage_0x573

b、CAN打包模块参数设置,选择0x573对应的DBC报文

3、整车VIN设置状态反馈设置完整Simulink模型

四、总结

本文介绍了一种整车VIN设置状态反馈规则,并详细介绍了VIN设置状态反馈的具体策略及Simulink建模方法。希望能给相关技术人员带来一定参考和帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 实现最短路径广度优先搜索算法

最短路径广度优先搜索算法介绍 最短路径广度优先搜索(Breadth-First Search, BFS)算法通常不直接用于寻找加权图中的最短路径,因为它在搜索过程中不会考虑边的权重。然而,在无权图中(即所有边的权重都相等&#xff09…

Lua在Nginx中的开发实践

Lua在Nginx中的开发实践 引言 在现代Web开发中,性能和可扩展性是开发者关注的关键因素。Nginx因其轻量级、高并发处理能力而成为流行的Web服务器,而Lua则是一种高效的脚本语言,广泛应用于嵌入式系统和游戏开发。将Lua与Nginx结合&#xff0…

Node.js入门——fs、path模块、URL端口号、模块化导入导出、包、npm软件包管理器

Node.js入门 1.介绍 定义:跨平台的JS运行环境,使开发者可以搭建服务器端的JS应用程序作用:使用Node.Js编写服务器端代码Node.js是基于Chrome V8引擎进行封装,Node中没有BOM和DOM 2.fs模块-读写文件 定义:封装了与…

WIFI网速不够是不是光猫的“路由模式”和“桥接模式”配置错了?

光猫(光纤调制解调器)是一种用于将光纤信号转换为数字信号的设备,通常用于家庭或企业网络中。光猫可以在不同的工作模式下运行,其中最常见的两种模式是“路由模式”和“桥接模式”。以下是这两种模式的详细解释及其优缺点。 一、路…

python发邮件附件:配置SMTP服务器与认证?

python发邮件附件技巧?Python发送多附件邮件的方法? Python作为一种强大的编程语言,提供了丰富的库和工具来实现这一功能。AokSend将深入探讨如何使用Python发邮件附件,并详细介绍配置SMTP服务器与认证的关键步骤。 python发邮件…

结合vueuse实现图片懒加载

介绍 为什么要有懒加载? 在一个网页中如果有很多张图片,那么用户初进这个页面的时候不必一次性把所有图片都加载出来,否则容易造成卡顿和浪费。应该是,用户的视图页面滑到该图片的位置,然后再把该图片加载出来。 前置…

通过阿里云Milvus与PAI搭建高效的检索增强对话系统

阿里云Milvus现已无缝集成于阿里云PAI平台,一站式赋能用户构建高性能的RAG(Retrieval-Augmented Generation)对话系统。您可以利用Milvus作为向量数据的实时存储与检索核心,高效结合PAI和LangChain技术栈,实现从理论到…

Java 设计模式 构建者模式

文章目录 1 概念2 使用方法1 创建步骤:2 使用步骤: 参考 1 概念 builder模式又叫建造者模式,属于创建型模式 作用:将一个复杂对象的构建与他的表示分离,可以一步一步构建对象,而不是使用构造函数构造一次…

第69期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

react 知识点汇总(非常全面)

React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发并维护。它的核心理念是“组件化”,即将用户界面拆分为可重用的组件。 React 的组件通常使用 JSX(JavaScript XML)。JSX 是一种 JavaScript 语法扩展,…

【PostgreSQL】实战篇——用户管理、角色和权限控制的高级用法及技巧

数据库中用户管理、角色和权限控制不仅仅是基础的安全措施,更是实现复杂应用需求和优化数据库性能的重要手段。 通过深入理解这些概念,数据库管理员可以更有效地管理用户访问、确保数据安全,并优化系统性能。以下是对这些概念的详细介绍以及…

功能安全之雨刮器开关设计

前言 随着工业和汽车领域自动化的出现,人们对功能安全的需求有增无减。所有的工业应用都有功能安全要求,尤其是在工厂自动化和控制系统中。 在汽车行业,尽管安全气囊和制动系统在多年前就具备了功能安全性,但随着电气化水平的提高…

AWS云上运维实战:提升效率、安全性与成本优化

引言 随着越来越多的企业将其基础设施迁移到云端,AWS (Amazon Web Services) 已成为领先的云计算平台之一。然而,在云环境中进行高效、安全且具有成本效益的运维仍然是一个挑战。本文将深入探讨AWS云上运维的最佳实践,涵盖自动化、监控、安全性、成本优化和灾难恢复等关键领…

HCIP——GRE和MGRE

目录 VPN GRE GRE环境的搭建 GRE的报文结构 GRE封装和解封装报文的过程 GRE配置​编辑 R1 R2 GRE实验​​​​​​​​编辑 MGRE 原理 MGRE的配置 R1 R2 R3 R4 查看映射表 抓包 MGRE环境下的RIP网络 综合练习​编辑 VPN 说到GRE,我们先来说个大…

TypeScript - type

在 TypeScript 中,type 关键字用于定义类型别名,即为一个类型创建新的名字。这种类型别名可以用于基本类型、联合类型、交叉类型、对象类型、函数类型等多种类型结构。 一.基本语法 type NewTypeName ExistingType;二.常见使用场景 1.基本类型别名 给…

自定义持久层框架------从零到一手写一个mybatis

JDBC操作问题 JDBC代码 import java.sql.*; import java.util.ArrayList; import java.util.List;public class JDBC {public static void main(String[] args) {Connection connection null;PreparedStatement preparedStatement null;ResultSet resultSet null;try {//加…

根据传入的文件流链接实现前端下载

后端传入一个下载的url,实现点击按钮,下载文件。 方式一: 通过window.open(“URL”, _blank) 方式 PS:会打开一个新的页面 import React from react;const DownloadButton () > {// window.open("URL", "_…

Http 协议和 RPC 协议有什么区别?

Http 协议和 RPC 协议有什么区别? 三个层面来述说: 从功能特性来说: HTTP是一个属于应用层的超文本传输协议,是万维网数据通信的基础,主要服务在网页端和服务端的数据传输上。 RPC是一个远程过程调用协议&#xff0…

AI+视频监控:EasyCVR安防平台赋能火电制造行业的视频智能管理方案

随着信息技术的飞速发展和智能制造的深入推进,火电制造行业作为国民经济的重要组成部分,正面临着智能化转型的迫切需求。为了提升生产效率、保障设备安全、优化管理流程,火电制造企业迫切需要引入先进的视频监控与人工智能技术。EasyCVR安防监…

TinyOS 点对基站通信

文章目录 一、前言1.1 发包的BlinkToRadio的数据包格式 二、混淆基站源码分析2.1 Makefile2.2 组件连接2.3 主逻辑代码 一、前言 1.1 发包的BlinkToRadio的数据包格式 如下,注意:AM层类型(1byte)即handlerID使可以在组件中修改的。 二、混淆基站源码…