exponenta event banner

Создание процедуры тестирования шлейфного адаптера

В рамках набора адаптеров для набора средств получения изображений мы предлагаем процедуру тестирования и автоматизированные тесты для сторонних разработчиков адаптеров и производителей камер для тестирования адаптеров и оборудования на панели инструментов. Эта процедура тестирования является частью этого пакета. Дополнительные сведения см. в разделе Тестирование адаптеров или оборудования.

После создания адаптера-заглушки в соответствии с инструкциями в разделе «Создание адаптера-заглушки» в этой документации по набору адаптеров выполните следующие действия, чтобы убедиться, что адаптер-заглушка отображается в MATLAB ®.

Процедуры испытанийОжидаемые результаты
В MATLAB зарегистрируйте адаптер с помощью следующей команды:
imaqregister('AdaptorDllName')
где 'AdaptorDllName' - имя файла DLL адаптера с полным путем к файлу.

Регистрация адаптера должна работать без каких-либо ошибок или предупреждений.

После проверки выполните следующую команду:

imaqreset
Выполните следующую команду:
imaqhwinfo
imaqhwinfo выведет список доступных адаптеров. Строящийся адаптер должен быть указан в InstalledAdaptors.
Выполните следующую команду:
imaqhwinfo('AdaptorName')
Отображаются подробные сведения о библиотеке адаптеров. AdaptorDllName должен быть полным путем к библиотеке адаптеров. На данном этапе DeviceIDs и DeviceInfo должно быть пустым (1x0).

После добавления кода перечисления устройств выполните следующие действия для проверки информации об устройстве.

Процедуры испытанийОжидаемые результаты
Выполните следующую команду:
devInfo = imaqhwinfo
   ('AdaptorName')
DeviceIDs и DeviceInfo теперь должны быть заполнены поля. DeviceIDs должно быть от 1 до N в зависимости от количества добавленных устройств. DeviceInfo является структурой MATLAB (или массивом структур, если имеется несколько устройств).
Выполните следующую команду:
devInfo(:).DeviceInfo
DeviceInfo для каждого устройства должна отображаться следующая информация:
DefaultFormat: '640x480'
DeviceFileSupported: 0
DeviceName: 'MyDevice'
DeviceID: 1
ObjectConstructor: 'videoinput
   ('mydeviceimaq', 1)'
SupportedFormats: {'640x480' 
   '320x240'}

где,

DefaultFormat - формат, для которого второй аргумент addDeviceFormat имеет значение true.

DeviceFileSupported является true (1) если устройство поддерживает файлы устройств.

DeviceName является именем устройства, как определено в createDeviceInfo.

DeviceID - идентификатор, связанный с устройством, как определено в createDeviceInfo. Это обычно 1.

ObjectConstructor - это способ создания объекта видеоинтерфейса для этого устройства в MATLAB.

SupportedFormats является массивом ячеек всех поддерживаемых форматов, определенных с помощью addDeviceFormat. Он пуст, если DeviceFileSupported является true и никакие форматы не были добавлены DeviceFormat.

После записи класса адаптера выполните следующие действия для тестирования videoinput создание и уничтожение объекта.

Процедуры испытанийОжидаемые результаты
Выполните следующую команду:
vidObj = videoinput
   ('AdaptorName')
videoinput объект должен создаваться с использованием первого найденного устройства, а формат по умолчанию без ошибок и сведения о нем должны отображаться в командной строке MATLAB. Это не сработает, если поддерживаются только файлы устройств. Детали должны быть аналогичны:
Summary of Video Input Object Using 
   'MyDevice'.
Acquisition Source(s): MyDeviceSource is 
   available.
Acquisition Parameters: 
   'MyDeviceSource' is the current selected 
       source.
   10 frames per trigger using the selected 
       source.
   '640x480' video data to be logged upon 
       start.
   Grabbing first of every 1 frame(s).
   Log data to 'memory' on trigger.
Trigger Parameters: 
   1 'immediate' trigger(s) on start.
   Status: Waiting for start.
   0 frames acquired since starting.
   0 frames available for getData.

где MyDevice - устройство подключено.

Выполните следующие команды:
delete(vidObj);
vidObj

Должно появиться следующее сообщение:

Недопустимый объект получения изображения.

Этот объект не связан ни с одним оборудованием и должен быть удален из рабочей области с помощью clear.

Выполните следующие команды:
vidObj = videoinput
   ('AdaptorName');
imaqreset;
vidObj

Должно появиться следующее сообщение:

Недопустимый объект получения изображения.

Этот объект не связан ни с одним оборудованием и должен быть удален из рабочей области с помощью clear.