Задача и исходные условия
Цикл может возвращать верные кадры и всё же терять буферы или использовать старые после подключения. Проверьте срок жизни и события реального SDK. Приложение содержит нейтральный псевдокод, не исполняемые вызовыDeyi.
Подготовка испытания
Условные 2000 × 1500 Mono8 дают 3 MB на кадр; 8 буферов занимают 24 MB без копий и метаданных. Задайте идентификатор прибора и новое поколение захвата после подключения.
Прочтите захват и сроки SDK до цикла. Уточните выделение, владение результатом, возврат драйверу и годность удержанных ссылок. Проверьте уведомление удаления и поток вызова. Если блокирование запрещено, координируйте остановку вне callback. Используйте стабильную документированную идентичность, не первое найденное устройство. Запишите размер, формат, полезную нагрузку, триггер и транспорт. Концептуальные названия не обещают API Deyi.
Порядок работы
- Настройте размер и формат до выделения буферов по размеру, сообщаемому SDK.
- Ограничьте ожидание, разделяя отсутствие запуска, ошибку передачи и отключение.
- Копируйте или удерживайте кадр по документированным правилам владения до освобождения результата.
- При отключении остановите обработку, верните буферы и удалите старые результаты.
- Подключайте только ожидаемый прибор, проверяйте настройки и начинайте новое поколение.
VENDOR-NEUTRAL PSEUDOCODE — conceptual operations, not SDK API names
connect(expected_device_identity)
verify_configuration_and_payload()
generation = new_generation()
while connected:
result = none
owned_image = none
try:
result = acquire_with_deadline()
if result.is_valid:
owned_image = copy_or_retain_under_documented_rules(result)
process(owned_image, generation)
else:
record_acquisition_fault(result, generation)
finally:
release_owned_image_if_present(owned_image)
release_grab_result_if_present(result)
on_coordinator_receives_device_removed:
invalidate_current_generation()
stop_and_join_workers()
return_all_buffers()
discard_old_generation_results()
reconnect_expected_device_and_verify_configuration()
generation = new_generation()Получайте с конечным сроком, проверяйте результат до данных. Отсутствие триггера, сбой передачи и удаление требуют разных путей. Назначьте поколение и кадр/событие до обработки. Копируйте или удерживайте по правилам SDK. Освобождайте при исключениях тоже. Ограничьте очередь, задайте переполнение. Рост памяти не противодавление, старый кадр не заменяет отсутствующий.
Пример протокола испытания
Это условный пример, а не результаты измерений Deyi. Замените значения собственными утверждёнными протоколами испытаний.
| Поле протокола | Принятое значение |
|---|---|
| Ёмкость очереди | 8 |
| Несжатые данные изображения | 3 MB |
| Ёмкость хранилища | 24 MB |
| Число образцов | 1000 |
Преднамеренно замедлите обработчик, сохранив настроенную частоту съёмки. Записывайте поколение захвата, номер кадра, глубину очереди, активные буферы и причину тайм-аута. Расчёт 24 МБ не включает копии; срок удержания ссылки должен разрешаться SDK. Блок finally показывает освобождение и при исключении обработки. После повторного подключения подайте запоздалый результат старого поколения и подтвердите невозможность его публикации как текущей проверки.
При удалении остановите новые задания поколения, завершите работников до освобождения используемого. Отмените или закончите операции по контракту, верните буферы, отбросьте старое. Подключите ожидаемое устройство и проверьте настройки, не defaults. Прочтите нагрузку до выделения, создайте поколение после готовности. Поздние уведомления и результаты отвергаются по поколению даже при похожих номерах. Бюджет включает копии, очереди и алгоритм.
Две схемы процесса
Стабильный захват: буферы, тайм-ауты и переподключение — 1
Захват передаёт владение обработке, возврат возможен после завершения доступа.
- Захват
- Удержать или копировать
- Обработать
- Освободить
Стабильный захват: буферы, тайм-ауты и переподключение — 2
Тайм-аут, отключение и завершение требуют разных переходов.
- Тайм-аут
- Отключение
- Завершение
Поиск неисправностей
- Рост памяти требует проверки неосвобождённых результатов и бесконечных очередей.
- Порча кадров может означать доступ после возврата буфера.
- Старые кадры после подключения требуют проверки очередей и поколений.
Приёмка и передача
Проверьте 1000 условных кадров, отключение, восстановление, завершение и медленного потребителя. Память ограничена, поколения не смешиваются, ошибки явные. 24 MB не является всей памятью.
Назначьте критерии приёмки до испытания и сохраните исходные данные. Примеры не подтверждают возможности поставляемой модели.
Принимайте длительный захват, прерывание и медленного потребителя. Записывайте буферы, очередь, память, поколения и причины. Контролируемо удалите/верните, остановите при ожидании. Подтвердите завершение, отсутствие обращения после освобождения и старых кадров. Проверьте исключение для finally и идентичность перед запуском. Тысяча кадров покрывает функцию, не длительную утечку. Передайте версию, владение, очередь, восстановление и данные; реальный код сверяйте с документацией.
Источники и технические материалы
Источники объясняют методы и ограничения руководства. Примеры проверок служат ориентиром; приёмка в производстве требует данных с ваших собственных образцов.
- Programming with pylon CBaslerПроверено
- pylon .NET SamplesBaslerПроверено
Материалы по компонентам и подбору
- Умная камера против системы технического зрения на базе PC
- GigE и промышленная камера USB3
- система машинного зрения
- machine vision software · Материал на английском
- EAN-13: приёмка на линии
- EAN-13: декодирование и правила данных
- Приёмка и интеграция контроля видимого уровня
- AI-поддержка процесса контроля видимого уровня
- Связать протоколы, изображения и номера деталей
- OCR этикетки: приёмка и контракт PLC
- OCR этикетки: нативный процесс и точное сравнение
- Приёмка комплектности открытой упаковки
- Процесс комплектности открытых пакетов с ИИ
- Определить обмен PLC–зрение через явные состояния
- Внешний вид шва и клея: приёмка линии
- Внешний вид шва и клея: правила
- SKU по цвету: приёмка и неизвестные
- SKU по цвету: правила цвета и товара
- Дефекты поверхности: приёмка и выход линии
- Дефекты поверхности: ограниченная оценка ИИ
- Испытать задержку от запуска до решения PLC под нагрузкой
- Версионирование и откат полного рецепта зрения

