Попытка вызвать dll LabVIEW в python, который вызывает протокол CAN - PullRequest
2 голосов
/ 03 июня 2019

Мне было интересно, может ли кто-нибудь помочь мне разобраться в этой ошибке. Я вызываю сгенерированную в Python библиотеку LabVIEW, которая связывается с DCM по протоколу CAN.

Структура и входные параметры функции LabVIEW, вызываемой в Python, следующие:

int32_t func_1(CStr version_number, int32_t Verbose, CStr SetupFileName);

Я знаю, что dll импортируется в Python и что параметры вводятся правильно, потому что другие функции с такой же структурой имеют одинаковые входные параметры и не возвращают ошибку.

import ctypes as c

mydll = c.windll.LoadLibrary('intcan.dll') #'C:/Users/PycharmProjects/impdll/intcan.dll')

mydll.func_1(c.c_char_p('15.1.1.1'), c.c_int(0), c.c_char_p('CanDevice.xml'))

Когда я запускаю код, я получаю следующую ошибку.

Traceback (most recent call last):
  File "C:/Users/PycharmProjects/impdll/venv/tester.py", line 22, in <module>
    mydll.func_1(c.c_wchar_p('15.1.1.1'), c.c_int(0), c.c_wchar_p('CanDevice.xml'))
OSError: [WinError -529697949] Windows Error 0xe06d7363

Process finished with exit code 1
...