На производственной линии установлены 2 камеры Cam1 и Cam2.Они снабжены датчиками, которые сигнализируют мою программу, когда продукт касается одного из них.Эти камеры расположены одна за другой.
После Cam2 весы B установлены и снабжены также датчиком.Когда продукт прибудет туда, продукт будет взвешен и сообщит мою программу с весом.Тогда моя программа должна выполнить оценку для этого продукта на основе двух захваченных изображений и данных, полученных из B (вес).
На самом деле, один / два продукта могут поместиться между Cam1 и Cam2.а также один / два продукта могут поместиться между Cam2 и B.
Я столкнулся с некоторыми трудностями при поиске стабильного алгоритма, чтобы выяснить, принадлежат ли изображения и вес одному и тому же продукту.Есть некоторые жесткие условия, которые нельзя изменить на заводе:
- Неопределенная скорость для линии.(линия может быть остановлена по любой причине в любое время, она может ускориться / ускориться, рабочие могут перемещать ее туда, ...)
- продукт может быть удален после Cam1:
- между Cam1 и Cam2 ==> захватывается только Cam1, НО нет изображения с Cam2 и нет данных от B
- между Cam2 и B ==> захватывается Cam2 и Cam1, НО нет данных с B
- нет способа прикрепить такой читаемый чип к уникальному номеру, чтобы мы могли прочитать на Cam2 & B, чтобы убедиться в синхронности.
Эта проблема должна быть решена 1024 * программно *.У фабрики есть все препятствия, которые не позволяют мне вносить какие-либо изменения.
Мое первоначальное решение - назначить FIFO для каждой камеры, FIFO_Cam1 и FIFO_Cam2.Как только моя программа получает сигнал от одной из камер, FIFO помещает в журнал захваченное изображение продукта.Затем, когда я получаю сигнал от B, я снимаю верхнее изображение с каждого FIFO и считаю, что они принадлежат одному и тому же продукту, который имеет вес, полученный с последним сигналом.
К сожалению, мое рассмотрение может решить толькопроблема скорости (Nr. 1), но не во всех случаях (Nr. 2).
Я попытался сделать порог, когда количество продуктов, сохраненных в FIFO_Cam1, превышает 5, я сообщу строку с DESYNCHно не работает должным образом и не может решить большинство случаев.
Любая помощь или идея будут оценены!
Спасибо.