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

htm网站制作做h5的软件有哪些

htm网站制作,做h5的软件有哪些,咨询北京国互网网站建设,做一个网站app需要多少钱文章目录 前言实现方法结构体在Simulink中的定义SignalGroup提取 总结 前言 在开发Autosar CAN通信模块时#xff0c;对于Signal Group需要建立对应的Interface,其中的数据类型实际是一个结构体#xff0c;包含Group中的Signal的数据类型定义。手动建立比较费时间#xff0… 文章目录 前言实现方法结构体在Simulink中的定义SignalGroup提取 总结 前言 在开发Autosar CAN通信模块时对于Signal Group需要建立对应的Interface,其中的数据类型实际是一个结构体包含Group中的Signal的数据类型定义。手动建立比较费时间本文介绍利用Matlab脚本自动生成SignalGroup对应的Interface 实现方法 主要方法通过正则表达式提取DBC中的SignalGroup生成BUS类型的m脚本再通过Matlab脚本建立Simulnk模型及端口建立RTE Port及mapping最后编译生成Arxml。 结构体在Simulink中的定义 在生成BUS之前首先得清楚BUS的m文件定义 手动建立一个Simulink Bus的数据类型如下所示 导出m文件如下所示 Bus Simulink.Bus; Bus.Description ; Bus.DataScope Auto; Bus.HeaderFile ; Bus.Alignment -1; Bus.PreserveElementDimensions false; saveVarsTmp{1} Simulink.BusElement; saveVarsTmp{1}.Name a; saveVarsTmp{1}.Complexity real; saveVarsTmp{1}.Dimensions 1; saveVarsTmp{1}.DataType single; saveVarsTmp{1}.Min []; saveVarsTmp{1}.Max []; saveVarsTmp{1}.DimensionsMode Fixed; saveVarsTmp{1}.SamplingMode Sample based; saveVarsTmp{1}.DocUnits ; saveVarsTmp{1}.Description ; saveVarsTmp{1}(2, 1) Simulink.BusElement; saveVarsTmp{1}(2, 1).Name a1; saveVarsTmp{1}(2, 1).Complexity real; saveVarsTmp{1}(2, 1).Dimensions 1; saveVarsTmp{1}(2, 1).DataType uint8; saveVarsTmp{1}(2, 1).Min []; saveVarsTmp{1}(2, 1).Max []; saveVarsTmp{1}(2, 1).DimensionsMode Fixed; saveVarsTmp{1}(2, 1).SamplingMode Sample based; saveVarsTmp{1}(2, 1).DocUnits ; saveVarsTmp{1}(2, 1).Description ; saveVarsTmp{1}(3, 1) Simulink.BusElement; saveVarsTmp{1}(3, 1).Name a2; saveVarsTmp{1}(3, 1).Complexity real; saveVarsTmp{1}(3, 1).Dimensions 1; saveVarsTmp{1}(3, 1).DataType single; saveVarsTmp{1}(3, 1).Min []; saveVarsTmp{1}(3, 1).Max []; saveVarsTmp{1}(3, 1).DimensionsMode Fixed; saveVarsTmp{1}(3, 1).SamplingMode Sample based; saveVarsTmp{1}(3, 1).DocUnits ; saveVarsTmp{1}(3, 1).Description ; Bus.Elements saveVarsTmp{1}; clear saveVarsTmp;上面的BUS定义了三个数据对于需要生成的M文件主要关注的是数据的排列序号第二和第三个数据定义以saveVarsTmp{1}(x, 1)开头然后是数据的Name及DataType,此处我们没有考虑Dimensions为多维DBC中都是一维 此处需要留意的是HeaderFile这个属性在后面会着重提 SignalGroup提取 Matlab有解析DBC的API函数但可惜的是不能解析出SignalGroup只能解析出Message和其中的Signal。不过利用正则表达式提取SiganlGroup也不是难事~ 记事本打开DBC查找Group可以找到SignalGroup的定义如下所示 SIG_GROUP_ 258 TestGroupName 1 : TestGroupSignal1 TestGroupSignal2 TestGroupSignal3 TestGroupSignal4; 上面的定义中数字表示的是Group所在的message id,后面跟的是Group的名称再后面跟的是1目前遇到的都是1没有查过具体的定义估计是和信号组复用相关的再后面跟的就是Signal,最后以分号结尾。 正则表达式提取文本中的SignalGroup信息m脚本如下 fid fopen(dbcfile_name,r); file_code {}; ct 1; while ~feof(fid)file_code(ct,1){fgets(fid)};ctct1; end can_signal_group_pattern1 (?SIG_GROUP_ ).;%提取信号组信息 can_signal_group regexp(file_code,can_signal_group_pattern1,match);%取信号组信息 can_signal_group(cellfun(isempty,can_signal_group))[];%去除空字符串所在行 for i 1:length(can_signal_group) can_signal_group_name{i} regexp(can_signal_group{i},\S,match); end此处can_signal_group_name包含Group中的元素按空格分开例如第一个为ID第二个为GroupName第三个为1第四个为:后面跟的是Signal GroupStruct struct(GroupName,{}, ID,{} ,...SignalName,{},DataType,{}); for i 1:length(can_signal_group_name) can_signal_group_Struct(i).GroupName can_signal_group_name{i}{1}{2};can_signal_group_Struct(i).ID can_signal_group_name{i}{1}{1};can_signal_group_pattern_fen .(?;);%用来去除最后一个分号can_signal_group_name{i}{1}{length(can_signal_group_name{i}{1})} regexp(can_signal_group_name{i}{1}{length(can_signal_group_name{i}{1})},can_signal_group_pattern_fen,match);can_signal_group_name{i}{1}{length(can_signal_group_name{i}{1})} can_signal_group_name{i}{1}{length(can_signal_group_name{i}{1})}{1};for j 5:length(can_signal_group_name{i}{1})can_signal_group_Struct(i).SignalName{j-4} can_signal_group_name{i}{1}{j};end end此处我们已经提取出了SignalGroup中的GroupNameID及其中的SignalName。其中还有一个关键信息就是Signal的数据类型。此处我们利用Matlab自带的函数提取Signal的信息 db canDatabase(dbcfile_name); for i 1:length(can_signal_group_Struct) for j 1:length(can_signal_group_Struct(i).SignalName) for a 1:length(db.MessageInfo)for b 1:length(db.MessageInfo(a).SignalInfo)if(strncmp(can_signal_group_Struct(i).SignalName{j},db.MessageInfo(a).SignalInfo(b).Name,32))can_signal_group_Struct(i).DataType{j} db.MessageInfo(a).SignalInfo(b).Class;a1;b1;break;endif(i length(can_signal_group_Struct) )break;endendif(i length(can_signal_group_Struct) )break;endendif(i length(can_signal_group_Struct) )break;endendif(i length(can_signal_group_Struct) )break;end end判断Messag的SignalName和Group中的SignalName是否一致此处只取前32个字节因为太长会导致DBC报错Group中的Name也不会全 到此我们已经提取了生成BUS所需的主要信号。 接下来就是生成M文件及后面的生成接口模型了下一次再说吧。 关于HeaderFile主要是在生成Autosar文件的时候没有配置该属性的话会报错找不到对应的Type 总结 本文介绍了DBC中Signal Group的提取在没接触Autosar软件时没有用过SignalGroupSignal成组之后一方面可以更好的管理另一方面为E2E也提供了载体。
http://www.yutouwan.com/news/457540/

相关文章:

  • 施工程找工程做哪个网站好宜兴网站建设价格信息
  • 用dw制作影视网站怎样做中国兰州网pc主站
  • 视频网站应该怎么做从手机上可以做网站吗
  • 成都网站建设seo深圳高端网站制作费用
  • 增光路网站建设少女のトゲ在线观看动漫
  • 前山网站建设wordpress二开前端
  • 沈阳网站网站建设wap网站生成小程序
  • 用备份的网站代码做网站步骤wordpress 修改文章作者
  • 做网站找哪里爆推联盟官网
  • 站长之家官网怎样自己做免费网站
  • 视觉设计类网站中国最好的网站器域名统一
  • 荆州市城市建设档案馆网站绵阳 网站 建设
  • 网站优化外链怎么做网页设计图片居中怎么设置
  • 百度统计网站企业该如何进行网站推广
  • 企业网站系统手机版12306网站是阿里做的
  • 万江营销型网站建设wordpress如何修改版权
  • 关键词爱站网佛山搭建建网站哪家好
  • vs做网站各种控件的使用微信建设网站
  • 成都建设网站首页网店推广的方法
  • wordpress 常见问题重庆百度搜索优化
  • 太原市建设工程交易中心网站大连企业公司网站建设
  • 途牛网站建设的特点建设局电话号码
  • 怎么制作php网站h5做招聘网站
  • 邹城网站建设多少钱微盟集团官网
  • 中国网站建设总部在哪里如何开展网络推广
  • 浙江网站建设公司排名加强企业门户网站建设
  • 滕州网站制作哪家好网站开发教程H5
  • 烟台网站建设开发第三方网站
  • 直接做的视频网站月坛网站建设公司
  • 佛山网站开发公司有哪些南雄市住房和城乡建设局网站