如何在Vector CANoe CAPL中访问交互式发生器模块(IG)?

时间:2017-03-01 02:24:42

标签: can-bus capl

我想访问CAPL中的IG块,例如激活/取消激活消息发送,设置信号值。但我没有找到这种capl功能。

2 个答案:

答案 0 :(得分:1)

您需要在CAPL中声明自己的消息,然后您应该使用函数"输出"在CAN上发送它。下面的示例发送ID为0x100且周期为100ms的消息。

enter code here
variables
{
  msTimer timer200ms;
  msTimer timer100ms;
  message 0x100 msg = {
    DLC = 8, 
    byte(0) = 0x00, byte(1) = 0x00, byte(2) = 0x00, byte(3) = 0x00,
    byte(4) = 0x00, byte(5) = 0x00, byte(6) = 0x00, byte(7) = 0x00 
 };
  byte myByte[8];
}

on timer timer200ms{
  int i=0, j=0;

  if(i<7){
    if(j<256){
      myByte[i] = j;
      write("frame %d have been change for %d", i, j);
      j++;
      if(j==255){
        i++;
        j=0;
      }
    }
  }
  else{
   cancelTimer(timer200ms); 
  }
}

on timer timer100ms{
    msg.byte(0) = myByte[0];
    msg.byte(1) = myByte[1];
    msg.byte(2) = myByte[2];
    msg.byte(3) = myByte[3];
    msg.byte(4) = myByte[4];
    msg.byte(5) = myByte[5];
    msg.byte(6) = myByte[6];
    msg.byte(7) = myByte[7];
    output(msg);
}

on start{
  setTimerCyclic(timer100ms, 100);
  setTimerCyclic(timer200ms, 100);
}

答案 1 :(得分:0)

您必须在按键或连接到Panel的功能上执行某些功能,IG只是一种更简单的发送消息的方式,但您无法将Capl与IG连接,因为它们是不同的节点。