Replay Block - CANoe回放CAN报文log模块详细介绍

Replay Block - CANoe回放CAN报文log模块详细介绍

1. Replay Block 模块基本操作方法

  • 常需要将采集的报文log文件,比如.asc / .blf 等log文件,在台架上回放发给台架的控制器,进行模拟回放操作,Replay Block 模块就是专门进行回放操作的模块
  • 采用CANoe工具的操作方法步骤如下:

1 )建立虚拟节点

  • 建立虚拟节点,即在Simulation Setup界面的虚拟总线上插入Replay Block CAN节点:
    在这里插入图片描述

2 )导入回放的log文件

  • 导入采集报文.asc文件 : 在插入Replay Block CAN节点上点击右键,进入Configuretion界面,进入节点编辑界面

  • Source file中导入将要回放的log文件,点击...,选择文件确认导入
    在这里插入图片描述
    3) 运行回放报文

  • 点击Start运行CANoe,此时Replay节点还未工作,还需要点击Replay节点上的播放符号:三角符号,才能完成报文回放
    在这里插入图片描述

  • 回放后,从Trace窗口可以看到回放的报文
    在这里插入图片描述

2. Replay Block 模块的设置说明

2.1 General 界面设置

在这里插入图片描述
1)General

  • Replay name : Replay Block名称
  • Source file : 要回放的日志文件

2)Output modes

  • Standard :根据事件的时间戳回放事件
  • Step (不支持 FlexRay):工程启动后Replay Block默认处于暂停状态,需要按Replay三角符号播放才开始回放
  • Animated with … ms (不支持 FlexRay):不根据日志时间戳而是根据用户自定义的时间来回放log
  • Repetitive output sending mode :被激活时log会被循环回放,否则只回放一次

3)Start timing conditions

  • immediately:测量开始就立即从首次事件开始的地方回放
  • with the first event time :根据日志中首次事件出现的时间开始回放
  • after timeout of … ms :根据自定义的时间确定开始回放的时间

4)Start options

  • Start replay on measurement start :被激活时回放会从工程启动就开始,否则需要点击开始按钮或是在脚本中调用replayStarrt()方法启动

5)keys

  • Start/Stop key : 定义开始/停止按键
  • Pause/Resume key :定义暂停/恢复按键

2.2 Channel Mapping 界面设置

  • log文件中保存的可能是多路CAN信号,需要将多路CAN信号转发到CANoe工程的CAN线上来,需要在如下界面进行设置,配置将源通道映射到工程中的通道
    • Source : log文件采集的CAN路
    • Target : 工程目标CAN路
      在这里插入图片描述

2.3 CAN Options界面设置

  • 选择回放的方向:选择播放log记录的接收报文还是发送报文
    在这里插入图片描述

3. replay block模块CAPL函数简单说明

  • CAPL脚本编程中对replay block模块控制的函数如下:
函数作用示例返回值
replayStart ()启动replay模块replayStart( replayName)1:成功
0 :失败
replayStop()停止replay模块replayStop( replayName)1:成功
0 :失败
replayState()查询replay模块状态replayState( replayName)0:停止
1:运行
2:暂停
-1: 模块不存在
replaySuspend()暂停replay模块replaySuspend( replayName)1:成功
0 :失败
replayResume()恢复播放暂停的replay模块replayResume( replayName)1:成功
0 :失败

4. log文件的截取

  • 需求说明 :实车采集的log文件很大,报文数据很多,有时候需要对log文件进行截取,只播放需要的那一段报文即可
  • 思路 :打开log文件,例如记事本打开一个.asclog文件,文件存储格式如下图所示,因此可以通过时间对报文log进行截取,比如用一个简单的python脚本即可实现报文截取
    在这里插入图片描述
  • python截取脚本示例 :
"""
Describe  : can log time modify 
Autoar    : QWQ
Function  : modify can log time
----------------------------------------------------------
Version      Data              Information
v1.0       22/03/24          init creation finish
"""

if __name__ == "__main__" : 
    finput = open("E:\Python_workpace\log.asc","r")           # open input file
    foutput = open("E:\Python_workpace\logOutput.asc","w")    # open output file
 
    inputLines = finput.readlines()   # read input file datas
    time = 110                        # modify time value
    str1 = '00'
    str2 = '0'
    for inputLine in inputLines:
        head = inputLine[1:4]   # read time, get frort char
        all = inputLine[4:]
        headnum = int(head)     # if time is 001, the this value is 1, same as : 023->23, 116 -> 116
        if headnum >= 170 and headnum <= 230 :  # time filer
            headnum2 = headnum - time           # time modify
            headnumstr = str(headnum2)
            if len(headnumstr) == 1 :
                headnumstr = str1 + headnumstr
            elif len(headnumstr) == 2 :
                headnumstr = str1 + headnumstr
            outstr = ' ' + headnumstr + all
            foutput.write(outstr)              # output

感谢阅读 若有错误 敬请见谅 !!!


  • 25
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
"Canoe replay block" 是指在区块链技术中进行的一种重放攻击防范措施。重放攻击是指攻击者通过重放过去的有效交易来欺骗网络,从而获得非法利益的行为。 Canoe 是一种区块链技术中的一种防止重放攻击的机制,它通过在交易中添加额外的验证参数来保证交易的一次性有效性。当一笔交易被广播到网络中时,每个节点都会检查区块链中是否已经存在相同的交易。如果存在,则该节点会阻止交易的重放,并将其标记为无效。 Canoe replay block 机制的实现涉及两个关键步骤:一是生成交易的唯一性标识,二是在新的区块链中验证该交易是否已经存在。 为了生成交易的唯一性标识,Canoe replay block 会将交易的详细信息进行哈希计算,得到一个唯一的标识码。这个标识码被添加到交易的额外参数中,作为交易的唯一标识。 而在新的区块链中验证交易是否已经存在时,Canoe replay block 会对交易进行解析,并提取其中的唯一标识码。然后,它会在区块链中搜索是否存在相同的标识码。如果存在,则说明该交易已经被处理过,将会被阻止重放,保证了交易的有效性。如果不存在,则说明该交易是新的,可以继续进行处理。 总结来说,Canoe replay block 是一种防范重放攻击的机制,通过生成交易的唯一标识码,并在新的区块链中验证交易的唯一性,有效地阻止了重放攻击的发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园长QwQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值