xinnian12138 2024-08-07 13:50 采纳率: 0%
浏览 182
已结题

Python调用Canalyzer发报文

使用Python调用CANalyzer发送报文。目前CANalyzer已经能够运行,可以监听报文,但在发送报文时遇到问题。

img

from RunAll import *

app = CanoeSync()
total = 0
suc_total = 0
fail_total = 0
app.Start()

while not msvcrt.kbhit():
    EngineSpeed = app.get_SigVal(channel_num=1, msg_name="CemBodyFr103", sig_name="ShortDropWinDrvrDoor", bus_type="CAN")
    print(EngineSpeed)
    app.set_SigVal(channel_num=1, msg_name="CemBodyFr103", sig_name="ShortDropWinDrvrDoor", bus_type="CAN", setValue=2.0)



def Set_SigVal(self, chanel_num, msg_name, sig_name, bus_type, setValue):
        if (self.application != None):
            result = self.application.GetBus(bus_type).GetSignal(chanel_num, msg_name, sig_name)
            result.Value = setValue
        else:
            raise RuntimeError("CANoe is not Open, unable to set signal value")
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/KCSDN_1212/article/details/120435210

write打印:System 01-0083 SetSignal was called for signal 'Signal:CAN1/CAN_LEFT/CemBodyFr103/ShortDropWinDrvrDoor', but no signal driver is available.

img

  • 写回答

27条回答 默认 最新

  • 蚂蚁小兵 测试领域优质创作者 2024-08-07 17:16
    关注
    获得1.00元问题酬金

    问题很简单,就是该信号在CANoe环境中是不可获取的,也就是该信号没有被周期发送到总线上,这里你要明白,你能设置的必须是仿真节点的信号,且该信号被周期发送到总线上

    img

    评论

报告相同问题?

问题事件

  • 系统已结题 8月15日
  • 修改了问题 8月7日
  • 修改了问题 8月7日
  • 赞助了问题酬金50元 8月7日
  • 展开全部