社区
脚本语言
帖子详情
用CAPL实现CAN信号交互
杨四季豆
2019-01-17 12:38:31
需要用CAPL写一个脚本,实现实时读取CAN信号并赋值给另一个CAN信号,新人求教,(ノ˃̩̩Δ˂̩̩ )ノ另外需要持续发送报文
...全文
2934
1
打赏
收藏
用CAPL实现CAN信号交互
需要用CAPL写一个脚本,实现实时读取CAN信号并赋值给另一个CAN信号,新人求教,(ノ˃̩̩Δ˂̩̩ )ノ另外需要持续发送报文
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
陳.CHEN
2019-03-14
打赏
举报
回复
/*@!Encoding:936*/
includes
{
}
variables
{
/*RX frame*/
message NMF m_NMF; /*DBC中存在帧定义,直接声明*/
/*TX frame*/
message 0x123 kun ={dlc =8}; /*定义kun[0x123]帧:注意:此处必须制定dlc长度,否则可能会导致后续赋值存在问题*/
message 0x324 jie={dlc=8};
/*TIMER*/
msTimer Timer_TEST_10ms; /*定义10ms计时器*/
msTimer Timer_TEST_100ms; /*定义100ms计时器*/
/*variables*/
int test;
}
on start
{
setTimer(Timer_TEST_10ms,10);
setTimer(Timer_TEST_100ms,100); /*计时器属性配置*/
}
on timer Timer_TEST_10ms
{
kun.byte(0)= random(255);
kun.byte(1)= random(255);
kun.word(1)= random(1000);
kun.dword(2)=random(5000);/*赋值*/
output(kun);
setTimer(Timer_TEST_10ms,10);
}
on timer Timer_TEST_100ms
{
jie.byte(0)= random(255);
jie.byte(1)= random(255);
jie.word(1)= random(1000);
jie.dword(2)=random(5000);/*赋值*/
output(jie);
setTimer(Timer_TEST_100ms,100);
}
on message NMF
{
test = m_NMF.Inita;/*获取总线can数据:触发型*/
write("NMF_EB frame is reveived!");
}
CA
Noe之
CA
PL
编程
CA
PL
作为一门小众的、服务于Vector产品和用于特定场景的语言,就注定了它的学习资料不会很多,更不会像Python那样有大量的第三方库可用。这就造成了它:想学习难入门、想精通难深入、遇到问题难解决。 本课程结合...
如何利用
CA
PL
语言
实现
CA
N
信号
收发监控(汽车系统仿真)
**最近一段时间有几个同行小伙伴问我如何利用
CA
PL
语言开发出ECU与ECU之间的
交互
通信?** 汽车行业的小伙伴都知道,ECU与ECU之间是通过
CA
N/LIN线
信号
交互
的,从一个ECU端到另一个ECU之间是经过网关转发,基本链路就是 ECU---GW(网关)---ECU。如下如所示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020...
CA
PL
中的一种特殊类型Signal(
信号
)
故,我建议,在
ca
pl
编程中,我们尽量不要使用,
信号
,message,系统变量作为实参或形参。而且数据的读取也是按照字节的整数倍来读取的。写过DBC文件的同学,应该都知道我们设置一个车速
信号
VehicleSpeed
信号
,该
信号
起始位 2bit,位长度,12位。2:signal,并不是
CA
PL
中的数据类型,对应的message则属于
CA
PL
的数据类型,这就表明了我们是不可以直接定义一个signal类型的变量。1:
信号
表示的是
交互
层中的总线
信号
,
交互
层可以理解为
信号
的物理值和总线值之间的一个层。
CA
PL
中如何
实现
不同
CA
N通道之间的数据转发
我们在ADAS应用开发测试过程中,会遇到如下问题: 项目1使用了DBC1, 项目2使用了DBC2,但是想用项目1的工程跑到项目2的车上去,所以需要两个项目的DBC数据互转。 当工程跑在车上时,但是想修改车辆上某些输入或者输出信息,来测试工程的响应,这个时候需要一个通道接收过来,修改之后,另一个通道发出去。 以上的问题是比较常见的问题,这就需要写
CA
PL
脚本来
实现
互转,以下是通道1跟通道2的数据修改互转。 on message
CA
N2.* { message
CA
N1.* msg; if (this.d
CA
PL
基础篇-----
CA
PL
与Panel的
交互
CA
NOE
CA
PL
Panel
脚本语言
37,719
社区成员
34,238
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章