当前位置: 首页 > wzjs >正文

长沙h5网站建设怎么做本地婚姻介绍网站

长沙h5网站建设,怎么做本地婚姻介绍网站,微信小程序怎么做网页,建站技术分享对于想进入车载行业或者已经在车载行业工作的朋友对于CAPL这个词都会相当的熟悉,都知道他是做车载网络测试脚本的语言,并且跟C有点类似,但是它到底是什么呢?CAPL全称(Communication Access Programming Language&#…

对于想进入车载行业或者已经在车载行业工作的朋友对于CAPL这个词都会相当的熟悉,都知道他是做车载网络测试脚本的语言,并且跟C有点类似,但是它到底是什么呢?CAPL全称(Communication Access Programming Language),它可以对CANoe中的网络节点、测试节点、模拟节点,以及vector工具链下各种硬件进行软件控制;常用软件开发工具有Vector CAPL Brower和vTESTstudio两种工具,我们可以通过这两种工具进行各种相关软件的开发。

Vector CAPL Brower

优点:

  1. 免费;这个是在CANoe软件下的一个模块,可供大家免费试用

  1. 开发简单,可以直接开发完成后可直接在CANoe中运行,简单功能无需其他配置(当然如果实现复杂功能还是需要配置)

  1. 资源占用少,这个编辑工具非常的轻巧,无需电脑过高的配置

缺点:

a. 很难实现大规模的自动化脚本开发,平台本身决定的,有兴趣的话我们可以细说

b. 对于复杂的脚本编辑较为困难(这里的苦难并非开发困难,而是维护困难),就算是在开发之处进行代码架构设计,依然很难实现大型平台化,基本以单个模块的脚本形式作为一个工程实现

c. 后期维护困难,由于现在各家公司项目基本都是十几个、几十个不等,这就导致需要不同的测试功能区匹配,也需要同时去维护,这就极大的增加了工程师的工作量,增加工作负担。

vTESTstudio

优点:

  1. 对于脚本的整体性管理,我们可以将所有需要的脚本放在一个底层下进行管理,例如常用的功能报文的发送,当我们封装好后,可以在网络管理、CAN通信、诊断等多种测试模块中调用,极大的避免重复造轮子。

  1. 代码分层设计,基础函数作为底层进行封装,不断的积累软件财富,生成应用函数进行分门别类,保证各个项目所需,最终实现的代码架构清晰明了。

  1. 降低开发人员开发难度,封装好底层函数,对于后期新增用例,无需开发底层函数,只需要对已有的应用函数进行拖拽编辑即可完成脚本开发。

  1. 高覆盖度,vTESTstudio可以使用与当前vector工具链所有需要编程的自动化开发。

  1. 图形化编辑,vTESTstudio包含图形化编辑用例和脚本,更加清晰的给工程师提供编程思路和方向

缺点:

  1. 非免费,这个跟CANoe软件一样,也是一个付费软件,需要license才能够使用,不过如果想要高度平台化脚本,可以只购买vTESTstudio,无需购买图形化编辑工具,这样能省20%价格。

  1. 好吧处理不免费,相对于Vector CAPL Brower我好想找不出其他的缺点。

数据结构类型

整数类型&浮点型&字符型:

  • 整型 (byte, word, dword, int, long, qword, int64)
    例如: long 1

  • 浮点型 (float, double)
    例如: double d

  • 字符型 (char)
    例如: char ch

数据类型跟C语言极其想象,其中int、long、int64、float、double以及char类型跟C完全一样的用法;不过在这个基础上为了更加方便编程,他还增加了byte、word、dword、qword等类型,更加方便脚本开发。其中byte对应C中int8,word、dword、qword分别代表整数单字节、双字节和四字节变量的定义。这些变量在我们的车载网络脚本开发过程非常的方便,极大减少我们错误出现的概率。

枚举类型

例如:enum Colors c

在CAPL中定义枚举类型的方式与在C中完全相同;元素名称必须是唯一的。如果制定了值就按照指定值来使用;如果为使用指定值,所有后续元素的值均为上一个值加1。常用于脚本开发中switch-case-statement、状态名称等地方使用;如果Enum类型作为返回值则必须带上关键字enum。

结构体类型

例如: struct TCPMessage m.

可对整数、浮点数、单个字符和枚举的引用;但结构化类型可以用类似于C的方式在CAPL中声明,不过与C中的使用还是有一定的区别,大家使用的时候可以参考下帮助文档。

定时器

  • Timers (timer, mstimer)
    例如: timer t

CAPL中定时有两种,一种是毫秒定时器(msTimer),一种是秒定时器(Timer);这块特别是对于我们周期性检测或者周期报文类发送非常好用;

报文类型&信号类型

Messages (message, pdu, pg, linFrame, frFrame, frPDU, mostMessage, mostAMSmessage, mostrawmessage, gmlanMessage, j1587Param); either an actual message or *.

例如: message 100 can_msg, linFrame * lin_msg

Signals, only with *

例如: signal * s or serviceSignalString * s

这个可以说是CAPL中独有的类型,无论是CAN、LIN还是MOST等其他我们所有使用的车载协议类型,均有对应的报文类型结构,在脚本开发中我们可以很好用的使用这些类型进行编程,对于代码的整洁性、阅读性都有极大的提高。如示例,无论是我们想要定义个固定ID的报文还是非固定ID的皆可,后续即可通过can_msg.dlc/byte()/fdf等对应的名称进行赋值使用。

信号与报文使用方法类似,不过信号类型依赖于dbc文件,相较于message来说,使用范围略小

系统变量类型

例如:envvarInt * ev

系统变量,带类型和*指示。

可能的类型:Data、Int、Long、Float、String、IntArray和FloatArray。

诊断请求&应答

例如:diagRequest * dr

例如:diagResponse * dr

这部分主要适用于诊断类型的定义,使用范围也主要是诊断相关的函数。

on diagRequest FaultMemory_ReadAllIdentified
{diagResponse this resp;// Set the number of bytes needed to transfer the response with 2 DTCs (in this example: overall 11 bytes)
diagResize( resp, 11); // 3 Bytes Header (SID, Subfunction, AvailabilityMask) + 2 * 4 Bytes for DTCs = 11 bytes// Set the value of the DTCsdiagSetComplexParameter ( resp, "ListOfDTC", 0, "DTC", 0x000001 );diagSetComplexParameter ( resp, "ListOfDTC", 0, "DtcStatusbyte", 0xF1 );diagSetComplexParameter ( resp, "ListOfDTC", 1, "DTC", 0x000002 );diagSetComplexParameter ( resp, "ListOfDTC", 1, "DtcStatusbyte", 0xF3 );diagSendResponse ( resp );
}
// Indicate all requests in the write window
diagRequest *
{char objectPath[200];char currentEcu[100];this.GetObjectPath(objectPath, elcount(objectPath));DiagGetCurrentEcu(currentEcu, elcount(currentEcu));write( "Request %s to ECU %s", objectPath, currentEcu);output(this); // forward down the measurment branch
}

以上是CAPL函数中常见的变量类型,不过我介绍的这块主要是适用于CAN、LIN相关的,对于Flexrex或者MOST相关的并没有进行介绍,使用范围太窄,如果有需要欢迎评论区沟通。


文章转载自:

http://PUtwl1e2.jxmjr.cn
http://Ee1YpnHu.jxmjr.cn
http://imcjUmV8.jxmjr.cn
http://0m63YERl.jxmjr.cn
http://XL5adk6b.jxmjr.cn
http://UXlDizoe.jxmjr.cn
http://5wPghZlQ.jxmjr.cn
http://6JHCZIci.jxmjr.cn
http://TAmDOgh4.jxmjr.cn
http://DmaPwgQw.jxmjr.cn
http://beMXGteZ.jxmjr.cn
http://VbjlKydw.jxmjr.cn
http://SSmk6sgU.jxmjr.cn
http://Nkv2Za5n.jxmjr.cn
http://mdvcw3cm.jxmjr.cn
http://xzU6prX2.jxmjr.cn
http://Gb7wakIT.jxmjr.cn
http://2FcKm7g5.jxmjr.cn
http://3SDu6uHN.jxmjr.cn
http://hdoAxKjJ.jxmjr.cn
http://lRRnrrKH.jxmjr.cn
http://6cO0Rg2s.jxmjr.cn
http://Bl4c6S40.jxmjr.cn
http://1xlCGJ4E.jxmjr.cn
http://gIjhFt6n.jxmjr.cn
http://34CQ8pO2.jxmjr.cn
http://eoBiYcyI.jxmjr.cn
http://hI37Nva1.jxmjr.cn
http://aeP0RcWb.jxmjr.cn
http://Q6zQNAzs.jxmjr.cn
http://www.dtcms.com/wzjs/719794.html

相关文章:

  • 智慧团建网站登录平台官网网站策划论文
  • html5手机网站开发经验wordpress 文章编辑插件
  • 网站建设的需要的工具企业seo报价表
  • 自助手机建站系统wordpress火车头插件防重复
  • 做网站用图片算侵犯著作权吗带数据库的网站
  • 钱多网站网站策划的知识
  • 开封做网站公司汉狮有哪些免费的黄页网
  • 做外贸英文网站网站设计步骤及图解
  • 河北省住房和城市建设厅网站网站建设框架构建
  • 网站错误代码500湖北省建设人力资源网站
  • 嘉兴优化网站哪家好中国制造网内贸站
  • 内江如何做百度的网站在线简易网页制作网站
  • 免费网站模板 下载重庆市建设工程造价信息网官方
  • 网站开发 法律会做网站的公司
  • 动态数据库网站网站建设外包给别人要注意什么
  • 开网站需要什么流程网站开发具体是干什么的
  • 开源网站管理系统python网页制作项目
  • 如何把本地网站西安网站建设电话
  • 企业网站 用个人备案如何网站做镜像
  • 中国物流网官方网站遵义网站建设哪家好
  • 全面的移动网站建设怎么创建网站域名
  • 深业资本有限公司网站建设薛城网站建设
  • 网站上传文件不大于5M定么做wordpress 谷歌seo
  • dz 做企业网站移动公司营销网站设计
  • 水墨 网站模板保定网站建设方案托管
  • 网站开发 网页制作百度关键词搜索排名帝搜软件
  • wordpress删除主题时执行沂seo网站推广
  • 网站建设企业模板下载软件开发工资高吗
  • 百度站长管理平台在线简历制作网站免费
  • 企业网站优化报价seo公司是什么意思