禁用消息和节点

问题描述 投票:0回答:3

是否有一组函数可以使用 CAPL 在 CANoe 模拟中禁用/启用消息?

我有一个名为 ECM_LS 的节点,它在模拟中发送消息 Engine_Test_Information_LS,并且我想编写一个禁用 ECM_LS 和 ECM_LS::Engine_Test_Information_LS 的测试。有一次我看到像disableNode()或canNodeOffline()这样的函数,但我记不太清楚了。

can-bus capl
3个回答
0
投票

您不需要禁用整个节点,您只需停止发送单个消息即可。 禁用函数是 TestDisableMsg():

  • 长 TestDisableMsg (dbMessage aMessage)
  • long TestDisableMsg (dword aMessageId)
  • long TestDisableMsg (char aMessageName[])

在您的情况下,它将是 TestDisableMsg(Engine_Test_Information_LS);

您可以使用 TestEnableMsg(Engine_Test_Information_LS); 来启用消息发送

或者如果你确实需要禁用整个节点,你可以使用 ILNodeControlStop 和 ILNodeControlStart 来重新启动:

  • long ILNodeControlStart(char aNodeName[])
  • long ILNodeControlStop(char aNodeName[])

0
投票

是的,你可以......!

如果您使用 ILconfiguration,则使用 1)网络节点中的ILDisableMsg()函数。 2)要启用,请使用ILEnablemsg()。

假设您使用的是测试模块节点 1)testDisableMsg(dbMessage aMessage);在测试模块节点中 2)testEnableMSg();再次启用该消息。

假设您使用的是普通配置(没有) 只需创建一个常量并使用 if 条件即可。如果该条件成立,则不要


0
投票
long ILNodeControlStart(char aNodeName[])
long ILNodeControlStop(char aNodeName[])

这个功能在我这边不起作用。

ILNodeControlStart(char LKDRD);
请帮助我。

© www.soinside.com 2019 - 2024. All rights reserved.