【问题标题】:How to check in CAPL if message is receiving in simulation or not?如果在模拟中接收到消息,如何检查 CAPL?
【发布时间】:2021-01-11 09:42:02
【问题描述】:

我想在 CAPL 中检查消息是否在模拟中接收,如果它没有出现在跟踪中,我想发送新消息。我尝试过使用类似的功能。我想检查特定消息是否正在接收? TestWaitForPDU();TestWaitFormessage(msg,2000) 等,但在简单配置中这些都不起作用。

我也尝试过使用 istimerActive() 或 istimerunning(),但这些函数不会检查消息是否已停止接收或传输。

我在通用节点中工作。我尝试过类似的方法

on timer tslpack
{
  int sleepack;
   long Systemtime[9];
  sleepack= isTimerActive(tslpack);
   //write("Bus Active");
    
 // write("Running Status %d",tslpack.isRunning());
 

 

        if(sleepack==1)
          {
            write("timer cancelled");
            cancelTimer(tslpack);
            Settimer(tslpack,100);
          }
          else
          {
            result=1;
        if(result ==1)
        {
         
        write("Bus Sleep");
          sleeptime=timeNow();
    
    
      
       result = 0;
       }

}

【问题讨论】:

  • 您好,欢迎来到 SO。请花点时间正确格式化您的问题,并可能添加您尝试过但无法正常工作的示例脚本。您是在测试用例中工作,还是在通用节点中工作?
  • 嗨,我在通用节点而不是测试用例中工作
  • 我写了一些类似的东西,但它不起作用
  • 开启定时器 tslpack { int sleeppack;长系统时间[9]; sleepack= isTimerActive(tslpack); //write("总线激活"); // write("运行状态 %d",tslpack.isRunning()); if(sleepack==1) { write("定时器取消");取消定时器(tslpack);设置定时器(tslpack,100); } 其他{ 结果=1; if(result ==1) { write("总线休眠");睡眠时间=时间现在();结果 = 0; }
  • 代码没有什么意义...您正在设置计时器,大部分实现没有显示。请在MCVE 上阅读此内容,也许还有关于 CAPL 的基本教程。我看不到任何努力达到预期目标,我看到随机意大利面

标签: python c can-bus capl canoe


【解决方案1】:

您提到您不是在测试节点中编写代码,而是希望在模拟节点中编写代码。显然,函数 TestWaitForPDU();TestWaitFormessage(msg,2000) 应该在测试中使用,如函数名称所示。
我想你正在等待 CAN 消息,所以我给你一个示例代码。

variables
{
  msTimer TimerToCheckMessage;
  message CAN1.0x123 TxMsg;    //Message which you want to send
}

on start
{
  setTimer(TimerToCheckMessage,103);
  TxMsg.dlc = 4;
}

on message CAN1.0x1            //Message which you want to check
{
  setTimer(TimerToCheckMessage,103);
}

on timer TimerToCheckMessage
{
  output(TxMsg);
  setTimer(TimerToCheckMessage,103);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    相关资源
    最近更新 更多