博研联盟-一个简单而完整的UDS例子
- 格式:doc
- 大小:488.50 KB
- 文档页数:9
1:经济学家 其下属论坛 资源非常丰富,积分容易获取,每天登陆还可以领取红包和打工赚取积分,相当不错。
论坛资源采取流量限制,按照文件大小来扣取流量。
只要你稍微注意一下论坛赚取积分的方法就会发现此论坛相当不错,隆重推荐下。
2:人大经济论坛 /bbs老牌经济学论坛,资源比经济学家多一些,重复帖子比较多,获取资源比较困难,但是有一些资料经济学家没有,自从经济学家成立后较少光顾了,经济学家找不到资源的情况偶尔会去那里找找。
3:中国经济学教育与科研网 中国经济学年会主办,老牌经济学论坛,下载资源不推荐,已经落伍了。
但是里面有比较多的经济学新闻及高校动态,值得一看。
4:FT中文网 金融时报中文站,经济类新闻评论比较贴切,很有深度,每天必看的网站。
5:Economist 著名经济学杂志,对世界上的政治,经济问题提出深刻见解,不少文章免费,很多考研英语试题直接出自此杂志,值得推荐。
6:JSTOR 著名过刊网站,里面有绝大部分著名经济学期刊早期文献(3年以前),非常适合有志于经济学研究的人员光顾,国内不少高校购买了,没有权限的朋友可以去经济学家求助区求助/forum-62-1.html7:ScienceDirect 著名英文数据库,里面有不少经济学最新期刊8:World Bank /世界银行官方网站,提供最新经济学视角,特别适合发展中国家学生光顾本文来自著名的学术论坛--零点花园原帖地址:/bbs/viewthread.php?tid=8642719&fromuid=299724 本文来自著名的学术论坛--零点花园原帖地址:/bbs/viewthread.php?tid=8642719&fromuid=299724 本文来自著名的学术论坛--零点花园原帖地址:/bbs/viewthread.php?tid=8642719&fromuid=299724 本文来自著名的学术论坛--零点花园原帖地址:/bbs/viewthread.php?tid=8642719&fromuid=299724 本文来自著名的学术论坛--零点花园原帖地址:/bbs/viewthread.php?tid=8642719&fromuid=299724台湾博硕士论文网(.tw/theabs/index.jsp)推荐理由:有近10万的博士、硕士毕业论文全文可以下载;当然,下载的前提是你得搞到一个台湾身份证号来注册一个帐号。
UDS诊断全集,干货分享UDS诊断是Unified Diagnostic Services的全称,其标准是ISO14229,ISO15765,文末可获取链接。
其中:ISO14229-1定义了各诊断服务的格式,以及一些通用信息,比如7层模型;ISO14229-2定义了诊断会话中的各种时间参数,比如P2Server、P2*Server、P2Client等;ISO14229-3定义了UDS基于CAN总线的实现;ISO14229-4定义了UDS基于FlexRay总线的实现;ISO14229-5定义了UDS基于以太网协议的实现;ISO14229-6定义了UDS基于K-Line总线的实现;ISO14229-7定义了UDS基于LIN总线的实现;ISO 15765-1是诊断服务在CAN总线一些通用信息,包括7层模型,如下图所示。
ISO 15765-2是诊断服务在CAN总线上传输的实现方式ISO 15765-3是定义了UDS基于CAN总线的实现,目前被14229-3取代了;ISO 15765-4定义了基于CAN总线实现OBD通信的方式。
上述对UDS诊断标准进行简单的分析,下面就是干货分享了,包括对诊断服务的介绍,AUTOSAR架构诊断协议栈的详细介绍,最后是基于CAN的UDS刷写讲解。
UDS诊断协议诊断服务讲解1.UDS诊断帧2.UDS诊断服务—上传下载单元、Routine单元3.UDS诊断服务—已存数据传输单元、输入输出单元4.UDS诊断服务——数据传输单元5.UDS诊断服务——诊断和通信管理单元AUTOSAR中诊断协议栈讲解1.AUTOSAR的故障存储策略2.AUTOSAR DCM介绍3.诊断Dem模块介绍AUTOSAR Dem之Debounce详解4.DTC status介绍5.诊断Dem模块介绍UDS刷写1.基于CAN的刷写流程。
一个简单而完整的UDS例子假定如图所示的计算域,其中正方形边长为10,原点在正方形中心,四边均为wall。
将如下源码,写入一个UDF文件,例如MyFistUDF.c,与cas文件放在同一目录。
#include "udf.h"DEFINE_UDS_UNSTEADY(MyUnsteady,c,t,i,a pu,su){real physical_dt, vol, phi_old;physical_dt = RP_Get_Real("physical-time-step");vol = C_VOLUME(c,t);*apu = -vol / physical_dt; /*implicit part*/phi_old = C_STORAGE_R(c,t,SV_UDSI_M1(i));*su = vol*phi_old/physical_dt; /*explicit part*/}DEFINE_UDS_FLUX(MyFlux,f,t,i){real NV_VEC(unit_vec), NV_VEC(A); //声明矢量变量F_AREA(A, f, t);NV_DS(unit_vec, =, 1, 1, 1, *, 1); //单位矢量赋值return NV_DOT(unit_vec, A); //矢量点积}DEFINE_DIFFUSIVITY(MyDiff,c,t,i){return 1.0;}DEFINE_SOURCE(MySource,c,t,dS,eqn){dS[eqn]=0;return 2.0;}DEFINE_PROFILE(MyProfile,thread,index) {real x[ND_ND]; /* this will hold the position vector */real xx,yy;face_t f;begin_f_loop(f,thread){F_CENTROID(x,f,thread);xx = x[0];yy=x[1];F_PROFILE(f,thread,index)= (xx+yy); //b b b x y +=φ}end_f_loop(f,thread)}编译通过并载入启动非稳态求解器,并在Define-User-Defined-Scalars面板中添加一个UDS,选择自定义的通量和非稳态项在材料面板中,选择自定义扩散率在boundary conditions的Fluid面板中,选择自定义源项在boundary conditions的壁面边界条件面板中,选择自定义边界条件在solve-controls-solution中禁止Flow计算,只计算自定义标量迭代过程中的残差曲线,可以看出正逐渐趋向稳定采用后处理等值线面板,观察自定义标量的等值线未完全稳定时的等值线最终稳定时的等值线,可以看出是一系列45度的斜直线,与解析解相同。
前言 (2)UDS 的7种服务及肯定响应和否定响应的形式 (3)$10诊断会话 (5)$3E待机握手 (6)$27安全访问 (7)$22读数据 (8)$2E写数据 (8)$19 读DTC (9)$14清除DTC (10)统一诊断服务(Unified diagnostic services ,UDS) (一) (11)Diagnostic request的格式: (11)统一诊断服务(Unified diagnostic services ,UDS) (二) (12)Diagnostic Session Control (0x10) (13)诊断response的格式:Diagnostic Session Control (13)ECU Reset 诊断request的格式 (14)Security Access (0x27) (14)统一诊断服务(Unified diagnostic services ,UDS) (三) (14)Tester Present (0x3E) (16)Control DTC Setting (0x85) (16)Response On Event (0x86) (16)Link Control (0x87) (16)统一诊断服务(Unified diagnostic services ,UDS) (四) (17)Read Data By Identifier (0x22) (17)0x23服务的请求格式0x23 (17)统一诊断服务(Unified diagnostic services ,UDS) (五) (18)0x14:Clear Diagnostic Information (18)0x19:Read DTC Information (18)统一诊断服务(Unified diagnostic services ,UDS) (六) (19)Input Output Control By Identifier (0x2F) (19)Routine Control (0x31) (21)统一诊断服务(Unified diagnostic services ,UDS) (七) (21)Request Download (0x34): (22)Transfer Data(0x36): (22)Request Transfer Exit(0x37): (23)基于CAN总线实现的UDS诊断(DoCAN) (23)前言UDS协议即ISO14229,是Unified Diagnostic Services,统一诊断服务,是诊断服务的规范化标准,比如读取故障码应该向ECU发什么指令,读数据流又是发什么指令。
uds协议函数UDS(Unified Diagnostic Services)协议是一种用于车辆诊断的通信协议。
它定义了一系列的服务和消息格式,使得车辆的故障诊断和维修变得更加高效和便捷。
本文将介绍UDS协议的相关函数和其在车辆诊断中的应用。
UDS协议中最常用的函数包括:诊断会话控制函数、ECU重置函数、读取数据函数、写入数据函数、请求下载函数、请求上传函数、传输数据函数、请求程序次函数和请求报文函数。
诊断会话控制函数用于与车辆的诊断系统建立通信会话。
通常,诊断会话分为默认会话、扩展会话和编程会话。
默认会话是诊断系统与ECU进行通信的起始会话,用于诊断和维修过程中的大多数操作。
扩展会话在默认会话的基础上增加了一些高级功能,如安全访问权限的控制和数据记录的启动和停止。
编程会话则用于对ECU进行编程操作。
ECU重置函数用于重置车辆的某个或所有的ECU。
在诊断和编程过程中,有时需要将ECU恢复到出厂设置或重新启动ECU以应用新的设置。
读取数据函数允许诊断系统读取ECU中存储的数据。
这些数据包括故障码、传感器数据、控制单元状态等。
通过读取数据函数,诊断人员可以获取车辆的详细信息,进而判断车辆是否存在故障,并进行相应的排除和修复。
写入数据函数允许诊断系统向ECU中写入数据。
这些数据可以是校准值、配置参数等。
通过写入数据函数,诊断人员可以修改ECU的配置,以适应不同的车辆需求。
请求下载函数用于向ECU请求下载一个应用程序或数据。
这个函数通常与传输数据函数和请求程序次函数配合使用,实现对ECU的编程操作。
请求上传函数用于向ECU请求上传一个应用程序或数据。
这个函数同样也需要与传输数据函数和请求程序次函数配合使用。
传输数据函数用于在诊断系统和ECU之间传输大量的数据。
在请求下载和请求上传过程中,通常需要使用传输数据函数来实现数据的传输。
请求程序次函数用于向ECU请求执行一个应用程序。
这个函数通常与传输数据函数和请求下载函数配合使用,实现对ECU的编程操作。
uds协议参数UDS协议,全称为Unified Diagnostic Services,是ISO 14229-1标准中定义的一种用于车载通讯的诊断协议。
它允许外部测试设备(如诊断仪)与车辆控制单元(ECU)进行通信,以进行故障诊断、数据读取和配置等操作。
UDS协议的主要参数包括:1.会话参数:这些参数控制ECU的会话状态,例如默认会话、编程会话、扩展会话等。
通过改变会话参数,可以实现对ECU的不同级别的访问和控制。
2.诊断ID:每个ECU都有一个唯一的诊断ID,用于在车辆网络中识别该ECU。
诊断ID通常由制造商定义,并在诊断过程中使用。
3.数据标识符(DID):DID用于标识特定的数据记录或参数。
通过发送包含DID的请求,可以从ECU中读取或写入相应的数据。
4.服务标识符(SID):SID用于标识不同的诊断服务,例如读取故障码、清除故障码、读取数据流等。
每个SID对应一个特定的诊断操作。
5.响应标识符(RID):RID用于标识诊断响应的类型,例如肯定响应、否定响应、执行条件不满足等。
6.传输协议:UDS协议通常建立在CAN(Controller Area Network)或LIN(LocalInterconnect Network)等车载通讯协议之上。
因此,相关的通讯参数(如波特率、帧格式等)也需要考虑在内。
7.安全性参数:UDS协议还包含一些安全性相关的参数,例如安全访问级别、种子和密钥等。
这些参数用于确保只有授权的设备才能对ECU进行诊断和配置操作。
这些参数可以根据具体的车辆制造商和ECU型号有所不同。
因此,在实际应用中,需要参考相关的技术文档和规范来了解具体的参数设置和使用方法。
UDS的ECU诊断:老的V AG1551和V AG1552只支持ISO9141和少部分ISO14230车辆;V AS5051和V AS5052多支持ISO15031(EOBD)和ISO-15765(can-bus)不支持UDS,所以已经在2007年开始淘汰。
UDS: 全球统一车载电脑(ECU)自诊断服务2006 (ECU制造标准)UDS协议,也就是ISO14229协议,既可以用于CAN总线,也可以用于K线。
现货大众奥迪斯柯达UDS协议5053 VCDS908.1/10.数据线:全中文显示界面,功能更强大!最新版大众VCDS 检测软件,支持最新款大众车系。
*完全支持使用最新"Service22"识别技术的控制模块单元*支持使用最新"UDS/ODX/ASAM"诊断协议的控制模块单元.控制模块识别(包括高级识别),编码,安全访问/允许进入,以及故障码*全新的进程日志功能支持普通OBD2功能模式10*支持同时使用两个发动机控制模块的车辆,比如RS4以及W12发动机.您可以能过地址31,同时进入两个发动机控制模块,执行诸如节气门匹配(TBA)之类的操作*匹配屏幕功能增强,支持一些匹配值非常长的控制模块*高级标识功能增强,数据处理方式更灵活*全新的内部网关编码辅助,特别用于基于B8平台的奥迪车辆*标签文件修订增加升级*新的服务提醒(检修保养服务)功能*支持引导性准备就绪程序*光纤总线诊断*蓄电池编码辅助*保存和获取高级测量值块配置*与最新车型兼容性大增*全新的USB安装辅助完全可以诊断最新型大众车(包括09年),功能强大.一汽大众,上海大众,德国大众所有车型.主要功能:A.实时了解你车子的状态。
发动机工作转速节气门开度蓄电池电压等等,便于用户视情况采取维修措施。
B.读取、清除故障码C.读三组动态数据流,波形分析。
D.自动落锁,开锁和闪灯和响喇叭设置E.遥控匹配,原厂钥匙匹配F.单门解锁和四门解锁(默认)设置G.清洗匹配节气门H.新的7位PIN/SKC代码匹配所有安装mobilizer防盗系统的VW/Audi/Seat/Skoda汽车钥匙(即第三代防盗)I.公理落锁保养提醒灯光设置等等最大限度满足你DIY的心情是目前唯一支持2010新款大众车系UDS协议的数据线。
前言 (2)UDS 的7种服务及肯定响应和否定响应的形式 (2)$10诊断会话 (3)$3E待机握手 (4)$27安全访问 (4)$22读数据 (5)$2E写数据 (6)$19 读DTC (6)$14清除DTC (6)统一诊断服务 (Unified diagnostic services , UDS) (一) (7)Diagnostic request的格式: (7)统一诊断服务 (Unified diagnostic services , UDS) (二) (8)Diagnostic Session Control (0x10) (8)诊断response的格式:Diagnostic Session Control (9)ECU Reset 诊断request的格式 (9)Security Access (0x27) (9)统一诊断服务 (Unified diagnostic services , UDS) (三) (10)Tester Present (0x3E) (11)Control DTC Setting (0x85) (11)Response On Event (0x86) (11)Link Control (0x87) (12)统一诊断服务 (Unified diagnostic services , UDS) (四) (12)Read Data By Identifier (0x22) (12)0x23服务的请求格式0x23 (12)统一诊断服务 (Unified diagnostic services , UDS) (五) (13)0x14:Clear Diagnostic Information (13)0x19:Read DTC Information (13)统一诊断服务 (Unified diagnostic services , UDS) (六) (14)Input Output Control By Identifier (0x2F) (14)Routine Control (0x31) (16)统一诊断服务 (Unified diagnostic services , UDS) (七) (16)Request Download (0x34): (17)Transfer Data(0x36): (17)Request Transfer Exit(0x37): (17)基于CAN总线实现的UDS诊断(DoCAN) (18)前言UDS协议即ISO14229,是Unified Diagnostic Services,统一诊断服务,是诊断服务的规范化标准,比如读取故障码应该向ECU发什么指令,读数据流又是发什么指令。
博研联盟-一个简单而完整的U D S例子
-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
一个简单而完整的UDS 例子 gearboy
标准方程形式:
φφφψρφS x x t j j =⎪⎪⎭
⎫ ⎝⎛∂∂Γ
-∂∂+∂∂ (默认i u ρψ=) Fluent 中各项的定义如下: 名称 表达式 各项在UDS 中需要定义的量
在UDS 中对应的宏
非稳态项
t
∂∂ρφ
离散形式的非稳态项
(详细见UDF 帮助)
DEFINE_UDS_UNSTEADY
对流项 φψ j
x ∂∂ 通量 ψ
DEFINE_UDS_FLUX 扩散项
2
2j
x ∂∂Γ
-φ
扩散率 Γ
DEFINE_DIFFUSIVITY
假定需要求解方程为
2=⎪⎪⎭
⎫ ⎝
⎛
∂∂-∂∂+∂∂j j
x x t φφφ 当∞→t ,即如果计算达到稳定时,
2=⎪⎪⎭
⎫
⎝⎛
∂∂-∂∂
j j
x x φφ,此方程解析解为c y x ++=φ,其中c 为常数(假定其为0),可由边界条件确定。
因此,当解稳定时,y x +→φ,等值线为一系列45度的斜直线。
将此方程与标准方程对比发现: 名称
表达式
各项在UDS 中需要定义的量
需要在UDS 中定义的宏 非稳态项 t ∂∂φ 离散形式的非稳态项
1-∆∆+∆∆-n n t
V t V φφ DEFINE_UDS_UNSTEADY
对流项 φj
x ∂∂ 通量A I ⋅=ψ
(单位向量{
}1,1,1=I ) DEFINE_UDS_FLUX 扩散项 2
2j x ∂∂-
φ
扩散率 1=Γ
DEFINE_DIFFUSIVITY 源项 2
2
DEFINE_SOURCE 边界条件
0=c
b b b x y +=φ (b 代表边界处)
DEFINE_PROFILE
*注:源项和扩散率为常数,可以不用定义宏,但为了说明问题,仍采用宏来定义。
假定如图所示的计算域,其中正方形边长为10,原点在正方形中心,四边均为wall。
将如下源码,写入一个UDF文件,例如MyFistUDF.c,与cas文件放在同一目录。
#include "udf.h"
DEFINE_UDS_UNSTEADY(MyUnsteady,c,t,i,apu,su)
{
real physical_dt, vol, phi_old;
physical_dt = RP_Get_Real("physical-time-step");
vol = C_VOLUME(c,t);
*apu = -vol / physical_dt; /*implicit part*/
phi_old = C_STORAGE_R(c,t,SV_UDSI_M1(i));
*su = vol*phi_old/physical_dt; /*explicit part*/
}
DEFINE_UDS_FLUX(MyFlux,f,t,i)
{
real NV_VEC(unit_vec), NV_VEC(A); //声明矢量变量
F_AREA(A, f, t);
NV_DS(unit_vec, =, 1, 1, 1, *, 1); //单位矢量赋值
return NV_DOT(unit_vec, A); //矢量点积
}
DEFINE_DIFFUSIVITY(MyDiff,c,t,i)
{
return 1.0; }
DEFINE_SOURCE(MySource,c,t,dS,eqn) {
dS[eqn]=0; return 2.0; }
DEFINE_PROFILE(MyProfile,thread,index) {
real x[ND_ND]; /* this will hold the position vector */ real xx,yy; face_t f;
begin_f_loop(f,thread) {
F_CENTROID(x,f,thread); xx = x[0]; yy=x[1];
F_PROFILE(f,thread,index) = (xx+yy); //b b b x y +=φ }
end_f_loop(f,thread) }
编译通过并载入
启动非稳态求解器,并在Define-User-Defined-Scalars 面板中添加一个UDS ,选择自定义的通量和非稳态项
在材料面板中,选择自定义扩散率
在boundary conditions的Fluid面板中,选择自定义源项
在boundary conditions的壁面边界条件面板中,选择自定义边界条件
在solve-controls-solution中禁止Flow计算,只计算自定义标量
迭代过程中的残差曲线,可以看出正逐渐趋向稳定
采用后处理等值线面板,观察自定义标量的等值线
未完全稳定时的等值线
最终稳定时的等值线,可以看出是一系列45度的斜直线,与解析解相同。
但右上角顶点的值为9.9,而解析解中应为x+y=10,所以尚存在1%的误差。