Проблема
Я пытаюсь вызвать общие функции CAPL (в моем случае timeNowNS), но не знаю, возможно ли это.
Что я использую?
Я использую Python 3.7 и Vector CANoe 11.0.
Подключение осуществляется с помощью .NET CANoe API. Вот как я принял библиотеки DLL.
import clr
sys.path.append("C:\Program Files\Vector CANoe 11.0\Exec64") # path to CANoe DLL Files
clr.AddReference('Vector.CANoe.Interop') # add reference to .NET DLL file
import CANoe # import namespace from DLL file
Что я пробовал?
Я успешно открыл симуляцию CANoe, запустил измерение, и у меня есть доступ к сигналам, переменным env и переменным sys.
Затем я создал объект CAPL и попытался использовать метод GetFunction для получения объекта CAPLFunction, чтобы я мог его вызвать.
def begin_can(self, sCfgFile, fPrjInitFunc = None):
self.open_can()
self.load_can_configuration(sCfgFile)
self.start_can_measurement(fPrjInitFunc)
def open_can(self):
self.mCANoeApp = CANoe.Application()
self.mCANoeMeasurement = CANoe.Measurement(self.mCANoeApp.Measurement)
self.mCANoeEnv = CANoe.Environment(self.mCANoeApp.Environment)
self.mCANoeBus = CANoe.Bus(self.mCANoeApp.get_Bus("CAN"))
self.mCANoeSys = CANoe.System(self.mCANoeApp.System)
self.mCANoeNamespaces = CANoe.Namespaces(self.mCANoeSys.Namespaces)
self.mCANoeCAPL = CANoe.CAPL(self.mCANoeApp.CAPL)
self.mCANoeCAPL.Compile()
def getFunction(self):
function1 = self.mCANoeCAPL.GetFunction('timeNowNS')
# here I tried also CANoe.CAPLFunction(self.mCANoeCAPL.GetFunction('timeNowNS'))
# but i got attribute error: doesn't exist or something like that
result = function1.Call()
Ожидаемые результаты
Я должен получить текущее время моделирования с помощью этой функции.
Фактические результаты
Используя приведенный выше код, я получаю:
**COMException**: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
at CANoe.ICAPL5.GetFunction(String Name)
Я пробовал разные варианты кода, но ничего не добился.
Возможно ли аппаратная проблема? Должен ли я сделать некоторые настройки в моделировании CANoe?
Если вам нужна дополнительная информация, спросите меня! Заранее благодарим
Обновление: я добавил фотографию своей настройки меры после добавления блока CAPL