Форум сайта python.su
Добрый день!
Разрабатываю программное обеспечение автоматических измерений (это мой первый проект на python). Есть прибор, с ним поставляется драйвер, который реализует спецификацию IVI-COM (не полностью), и “драйвер может работать в любой другой среде разработки, которая поддерживает технологию COM”. Для работы использую comtypes. В общем-то всё нормально, параметры и настройки передаются, но никак не могу получить данные с прибора.
По документации на прибор (вct примеры в документации на C++):
Имя метода: Acquisition.Channels.Item.FetchData
Описание: Извлечение данных измерительного канала.
Вид COM метода:
HRESULT FetchData( SAFEARRAY(DOUBLE)* DataArray,
DOUBLE* InitialX,
DOUBLE* XIncrement);
Python постоянно ругается на первый параметр “SAFEARRAY(DOUBLE)* DataArray”, подозреваю, что переменная, которую я передаю имеет неправильный тип. Array.array('d') пробовал, документацию на comtypes читал, в поисковиках искал…
Есть ли возможность прямо задать, что массив имеет тип SafeArray? Может есть какие-нибудь аналогичные примеры? Как использовать safearray.py в пакете comtypes?
Офлайн