我想使用 python 发送一些诊断请求。代码:
clr.AddReference('Vector.CANoe.Interop')
clr.AddReference('Vector.Diagnostics')
import CANoe
import Vector.Diagnostics
mCANoeApp = CANoe.Application()
mCANoeApp.Open("myPath")
mCANoeMeasurement = mCANoeApp.Measurement
mCANoeMeasurement.Start()
mCANoeBus = CANoe.Bus(mCANoeApp.get_Bus("Ethernet"))
MNetwork = CANoe.Networks(mCANoeApp.get_Networks(11))
net = CANoe.Network(MNetwork.get_Item(1))
devices = CANoe.Devices(net.Devices)
device = CANoe.Device(devices.get_Item("myDevice"))
我还在 CANoe 的 COM Hierarchy 中附加了以下图像。 COM Object Hierarchy 它说设备应该有一个对象诊断。但在我这边,设备没有诊断对象,只有:ApplicationSocket、AudioInterface 和 MostDisassambler。因此,我无法访问诊断对象以创建请求。
diag_ob = device.Diagnostic #isnt creating a Diag object
diag_ob.CreateRequest("Default_Start") #Error
因为我无法访问诊断对象,所以我尝试直接使用Vector.Diagnostics,这似乎无法识别测量值,我试图了解如何链接它们。
当我尝试使用时,Vector.Diagnostics.Application.GetEcu()
我收到了 NoneType 并且我的假设是该GetEcu()
方法没有看到 CANoe 打开。
你知道如何链接它们吗?